Socket
Socket
Sign inDemoInstall

@fluid-topics/ft-wc-utils

Package Overview
Dependencies
Maintainers
2
Versions
238
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.39 to 1.1.40

5

build/ClusteringHelper.d.ts

@@ -21,5 +21,4 @@ import { FtMetadata, FtMetadataDescriptor, FtSearchResultClusterEntry } from "@fluid-topics/public-api";

private compareMetadata;
private findMatchingResult;
private findResultMatchingMetadata;
private resultMatchesMetadata;
private findBestResultForMetadataValue;
private countMatchingMetadata;
}

40

build/ClusteringHelper.js

@@ -33,8 +33,10 @@ export class ClusteringHelper {

computeClustersItemsForMetadata(key, locale) {
const metadataValues = this.allResults
let currentResultMetadataTargeted = ClusteringHelper.extractResultMetadata(this.selectedResult).find(m => m.key === key);
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)))
.filter((flatMeta, index, array) => array.findIndex(i => i.value === flatMeta.value) === index); // for unicity
return metadataValues.map(flatMeta => ({
result: this.findMatchingResult(key, flatMeta.value),
metadata: flatMeta
return otherValues.map(meta => ({
result: this.findBestResultForMetadataValue(key, meta.value),
metadata: meta
})).sort((a, b) => this.compareMetadata(a.metadata.value, b.metadata.value, key, locale));

@@ -52,16 +54,26 @@ }

}
findMatchingResult(key, value) {
var _a, _b;
findBestResultForMetadataValue(key, value) {
const resultsMatchingRequiredValue = this.allResults
.filter(result => ClusteringHelper.extractResultMetadata(result).find(em => em.key === key && em.value === value));
let currentResultMetadata = ClusteringHelper.extractResultMetadata(this.selectedResult)
.filter(m => this.clusteringMetadata.has(m.key));
let newExpectedMetadata = [...currentResultMetadata.filter(m => m.key !== key), { key, value, displayValue: value }];
return (_b = (_a = this.findResultMatchingMetadata(newExpectedMetadata)) !== null && _a !== void 0 ? _a : this.findResultMatchingMetadata([{ key, value, displayValue: value }])) !== null && _b !== void 0 ? _b : this.allResults[0];
let wishedMetadata = [...currentResultMetadata.filter(m => m.key !== key)];
let bestResultForMetadataValue = resultsMatchingRequiredValue[0];
let bestResultScore = this.countMatchingMetadata(resultsMatchingRequiredValue[0], wishedMetadata);
for (let i = 1; i < resultsMatchingRequiredValue.length; i++) {
let currentNumberMetadataMatching = this.countMatchingMetadata(resultsMatchingRequiredValue[i], wishedMetadata);
if (currentNumberMetadataMatching > bestResultScore) {
bestResultScore = currentNumberMetadataMatching;
bestResultForMetadataValue = resultsMatchingRequiredValue[i];
if (currentNumberMetadataMatching > wishedMetadata.length) {
return bestResultForMetadataValue;
}
}
}
return bestResultForMetadataValue;
}
findResultMatchingMetadata(metadata) {
return this.allResults.find(entry => this.resultMatchesMetadata(entry, metadata));
countMatchingMetadata(result, expectedMetadata) {
return ClusteringHelper.extractResultMetadata(result)
.filter(m => expectedMetadata.some(em => em.key === m.key && em.value === m.value)).length;
}
resultMatchesMetadata(result, expectedMetadata) {
let resultMetadata = ClusteringHelper.extractResultMetadata(result);
return expectedMetadata.every(em => resultMetadata.some(rm => rm.key == em.key && rm.value == em.value));
}
}
{
"name": "@fluid-topics/ft-wc-utils",
"version": "1.1.39",
"version": "1.1.40",
"description": "Internal web components tools",

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

},
"gitHead": "a9b7f979a6e94b58571a61de90a4b2655800690d"
"gitHead": "ef5d1fb82ff388535e7a81aa3e8ffdb53c7591b4"
}

Sorry, the diff of this file is too big to display

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