Skip to content

Commit 3604b5f

Browse files
committed
Marketplace API: Fix issue with searching on tags that contain spaces or other symbols.
1 parent c5fdbad commit 3604b5f

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

lib/api/search.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -414,19 +414,19 @@ class Search {
414414

415415
if (!this.requireMaster(args, callback)) return;
416416

417-
var includesAllCI = function(haystack, needles) {
418-
// case-insensitive string version of Tools.includesAll
419-
const normalizedHaystack = haystack.map(s => s.toLowerCase());
420-
return needles.every(n =>
421-
normalizedHaystack.includes(n.toLowerCase())
422-
);
423-
};
424-
425417
var crammify = function(text) {
426418
// lower-case alphanumeric, strip everything else off
427419
return String(text).replace(/\W+/g, '').toLowerCase();
428420
};
429421

422+
var includesAllCrammified = function(haystack, needles) {
423+
// crammified string version of Tools.includesAll
424+
const normalizedHaystack = haystack.map(s => crammify(s));
425+
return needles.every(n =>
426+
normalizedHaystack.includes(crammify(n))
427+
);
428+
};
429+
430430
if (!marketplace || !marketplace.metadata_url) marketplace = {
431431
"enabled": true,
432432
"metadata_url": "https://raw.githubusercontent.com/pixlcore/xyops-marketplace/refs/heads/main/marketplace.json",
@@ -541,8 +541,8 @@ class Search {
541541
if (params.plugin_type && (row.plugin_type != params.plugin_type)) return false;
542542
if (params.license && (row.license.toLowerCase() != params.license.toLowerCase())) return false;
543543
if (params.author && (crammify(row.author) != crammify(params.author))) return false;
544-
if (params.tags && !includesAllCI(row.tags, params.tags)) return false;
545-
if (params.requires && !includesAllCI(row.requires, params.requires)) return false;
544+
if (params.tags && !includesAllCrammified(row.tags, params.tags)) return false;
545+
if (params.requires && !includesAllCrammified(row.requires, params.requires)) return false;
546546
return true;
547547
} );
548548

0 commit comments

Comments
 (0)