Socket
Socket
Sign inDemoInstall

@fluid-topics/ft-wc-utils

Package Overview
Dependencies
Maintainers
0
Versions
237
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fluid-topics/ft-wc-utils - npm Package Compare versions

Comparing version 1.1.54 to 1.1.55

8

build/ClusteringHelper.d.ts
import { FtMetadata, FtMetadataDescriptor, FtSearchResultClusterEntry } from "@fluid-topics/public-api";
import { Optional } from "./generic-types";
export interface FlatMetadata {
key: string;
value: string;
label: string;
value: Optional<string>;
displayValue: string;

@@ -18,7 +20,9 @@ }

static extractResultMetadata(result: FtSearchResultClusterEntry): FlatMetadata[];
static extractResultMetadata(result: FtSearchResultClusterEntry, key: string): Optional<FlatMetadata>;
static flattenMetadata(metadata: FtMetadata): FlatMetadata;
computeClustersItemsForMetadata(key: string, locale: string): ClusterItem[];
computeClustersItemsForMetadata(key: string, locale: string, undefinedDisplayValue?: string): ClusterItem[];
private compareMetadata;
getMetadataDescriptor(key: string): FtMetadataDescriptor | undefined;
private findBestResultForMetadataValue;
private countMatchingMetadata;
}

@@ -8,5 +8,6 @@ export class ClusteringHelper {

}
static extractResultMetadata(result) {
static extractResultMetadata(result, key) {
var _a, _b;
return ((_b = (_a = result === null || result === void 0 ? void 0 : result.map) !== null && _a !== void 0 ? _a : result === null || result === void 0 ? void 0 : result.document) !== null && _b !== void 0 ? _b : result === null || result === void 0 ? void 0 : result.topic).metadata.map(m => ClusteringHelper.flattenMetadata(m));
let flatMetadata = ((_b = (_a = result === null || result === void 0 ? void 0 : result.map) !== null && _a !== void 0 ? _a : result === null || result === void 0 ? void 0 : result.document) !== null && _b !== void 0 ? _b : result === null || result === void 0 ? void 0 : result.topic).metadata.map(m => ClusteringHelper.flattenMetadata(m));
return key == null ? flatMetadata : flatMetadata.find(m => m.key === key);
}

@@ -26,14 +27,27 @@ static flattenMetadata(metadata) {

});
return { key: metadata.key, value: values.join(", "), displayValue: displayValues.join(", ") };
return {
key: metadata.key,
label: metadata.label,
value: values.join(", "),
displayValue: displayValues.join(", ")
};
}
else {
const value = metadata.values.join(", ");
return { key: metadata.key, value: value, displayValue: value };
return {
key: metadata.key,
label: metadata.label,
value: value,
displayValue: value
};
}
}
computeClustersItemsForMetadata(key, locale) {
let currentResultMetadataTargeted = ClusteringHelper.extractResultMetadata(this.selectedResult).find(m => m.key === key);
computeClustersItemsForMetadata(key, locale, undefinedDisplayValue = "No value") {
var _a, _b;
let currentResultMetadataTargeted = ClusteringHelper.extractResultMetadata(this.selectedResult, key);
let metadataLabel = (_a = currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.label) !== null && _a !== void 0 ? _a : (_b = this.getMetadataDescriptor(key)) === null || _b === void 0 ? void 0 : _b.label;
const otherValues = this.allResults
.flatMap(result => ClusteringHelper.extractResultMetadata(result).filter(m => m.key === key))
.filter(m => !(m.key === (currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.key) && m.value === (currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.value)))
.map(result => ClusteringHelper.extractResultMetadata(result, key))
.map(m => m !== null && m !== void 0 ? m : { key: key, label: metadataLabel, value: undefined, displayValue: undefinedDisplayValue })
.filter(m => m.value != (currentResultMetadataTargeted === null || currentResultMetadataTargeted === void 0 ? void 0 : currentResultMetadataTargeted.value))
.filter((flatMeta, index, array) => array.findIndex(i => i.value === flatMeta.value) === index); // for unicity

@@ -46,3 +60,9 @@ return otherValues.map(meta => ({

compareMetadata(a, b, key, locale) {
let descriptor = this.metadataDescriptors.find((descriptor) => key == descriptor.key);
if (a == null) {
return -1;
}
if (b == null) {
return 1;
}
let descriptor = this.getMetadataDescriptor(key);
let sortRule = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.sortRule) || "NONE";

@@ -56,5 +76,8 @@ let reverseOrder = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.reverseSort) || false;

}
getMetadataDescriptor(key) {
return this.metadataDescriptors.find((descriptor) => key == descriptor.key);
}
findBestResultForMetadataValue(key, value) {
const resultsMatchingRequiredValue = this.allResults
.filter(result => ClusteringHelper.extractResultMetadata(result).find(em => em.key === key && em.value === value));
.filter(result => { var _a; return ((_a = ClusteringHelper.extractResultMetadata(result, key)) === null || _a === void 0 ? void 0 : _a.value) == value; });
let currentResultMetadata = ClusteringHelper.extractResultMetadata(this.selectedResult)

@@ -61,0 +84,0 @@ .filter(m => this.clusteringMetadata.has(m.key));

{
"name": "@fluid-topics/ft-wc-utils",
"version": "1.1.54",
"version": "1.1.55",
"description": "Internal web components tools",

@@ -27,3 +27,3 @@ "author": "Fluid Topics <devtopics@antidot.net>",

},
"gitHead": "b8c7a07061df6fb5c3c03d96879eda48fb73e5c8"
"gitHead": "f548a38dc05ea47ac4e94d97fe62625fc9297fcc"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc