cry-search 2.0.3 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +8 -2
- package/README.md +53 -0
- package/UNIVERSE.md +12 -0
- package/dist/common/numeric/createSearchArrayMetadata.d.ts +10 -0
- package/dist/common/numeric/createSearchArrayMetadata.d.ts.map +1 -1
- package/dist/common/numeric/matchMany.d.ts +109 -0
- package/dist/common/numeric/matchMany.d.ts.map +1 -0
- package/dist/common/numeric/prepareQueryVariants.d.ts +24 -0
- package/dist/common/numeric/prepareQueryVariants.d.ts.map +1 -1
- package/dist/common/numeric/searchAndRank.d.ts.map +1 -1
- package/dist/common/numeric/searchInData.d.ts.map +1 -1
- package/dist/common/numeric/syncSearchArrayMetadata.d.ts.map +1 -1
- package/dist/common/numeric/updateSearchMetadata.d.ts.map +1 -1
- package/dist/index.cjs +312 -113
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +312 -113
- package/dist/types/index.d.ts +65 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/vet/data/enote.d.ts +40 -0
- package/dist/vet/data/enote.d.ts.map +1 -0
- package/dist/vet/data/znamke.gen.d.ts +41 -0
- package/dist/vet/data/znamke.gen.d.ts.map +1 -0
- package/dist/vet/index.cjs +2534 -0
- package/dist/vet/index.d.cts +24 -0
- package/dist/vet/index.d.ts +24 -0
- package/dist/vet/index.d.ts.map +1 -0
- package/dist/vet/index.js +2492 -0
- package/dist/vet/normalizatorji.d.ts +104 -0
- package/dist/vet/normalizatorji.d.ts.map +1 -0
- package/dist/vet/ocena.d.ts +46 -0
- package/dist/vet/ocena.d.ts.map +1 -0
- package/dist/vet/spec.d.ts +35 -0
- package/dist/vet/spec.d.ts.map +1 -0
- package/dist/vet/uparjanje.d.ts +87 -0
- package/dist/vet/uparjanje.d.ts.map +1 -0
- package/package.json +29 -11
package/dist/index.cjs
CHANGED
|
@@ -39,70 +39,74 @@ var __export = (target, all) => {
|
|
|
39
39
|
// src/index.ts
|
|
40
40
|
var exports_src = {};
|
|
41
41
|
__export(exports_src, {
|
|
42
|
-
|
|
43
|
-
upsertLinkedItem: () => upsertLinkedItemNumeric,
|
|
44
|
-
updateSearchMetadataBatch: () => updateSearchMetadataBatchNumeric,
|
|
45
|
-
updateSearchMetadata: () => updateSearchMetadataNumeric,
|
|
46
|
-
tokens: () => tokens,
|
|
47
|
-
tokenize: () => tokenize,
|
|
48
|
-
syncSearchArrayMetadataWithPrevious: () => syncSearchArrayMetadataNumericWithPrevious,
|
|
49
|
-
syncSearchArrayMetadata: () => syncSearchArrayMetadataNumeric,
|
|
50
|
-
syncLinkedItemsForPrimary: () => syncLinkedItemsForPrimaryNumeric,
|
|
51
|
-
searchableDataToArray: () => searchableDataToArray,
|
|
52
|
-
searchInDataWithLimit: () => searchInDataReturnIdsWithLimitNumeric,
|
|
53
|
-
searchInDataReturnObjects: () => searchInDataReturnObjectsNumeric,
|
|
54
|
-
searchInDataReturnIds: () => searchInDataReturnIdsNumeric,
|
|
55
|
-
searchInData: () => searchInDataReturnIdsNumeric,
|
|
56
|
-
searchAndRankNumeric: () => searchAndRankNumeric,
|
|
57
|
-
searchAndRank: () => searchAndRankNumeric,
|
|
58
|
-
scoreOrderAndPresence: () => scoreOrderAndPresence,
|
|
59
|
-
scoreOne: () => scoreOne,
|
|
60
|
-
scoreBag: () => scoreBag,
|
|
61
|
-
sanitiseString: () => sanitiseString,
|
|
62
|
-
resolvePhoneQueryNormalizer: () => resolvePhoneQueryNormalizer,
|
|
63
|
-
resetTokenRegistry: () => resetTokenRegistry,
|
|
64
|
-
removePrimaryItem: () => removePrimaryItemNumeric,
|
|
65
|
-
removeLinkedItem: () => removeLinkedItemNumeric,
|
|
66
|
-
removeFromSearchMetadataBatch: () => removeFromSearchMetadataBatchNumeric,
|
|
67
|
-
removeFromSearchMetadata: () => removeFromSearchMetadataNumeric,
|
|
68
|
-
registerToken: () => registerToken,
|
|
69
|
-
preprocessString: () => preprocessString,
|
|
70
|
-
prepareStringForSearch: () => prepareStringForSearch,
|
|
71
|
-
prepareQueryTokens: () => prepareQueryTokens,
|
|
72
|
-
prepareObjectForSearch: () => prepareObjectForSearchNumeric,
|
|
73
|
-
orderedTokenize: () => orderedTokenize,
|
|
74
|
-
normalizeDates: () => normalizeDates,
|
|
75
|
-
matchTokenInSortedListNumeric: () => matchTokenInSortedListNumeric,
|
|
76
|
-
matchPreparedTokenInSortedList: () => matchPreparedTokenInSortedList,
|
|
77
|
-
isDeletedOrBlocked: () => isDeletedOrBlocked,
|
|
78
|
-
getTokenCount: () => getTokenCount,
|
|
79
|
-
getTokenById: () => getTokenById,
|
|
80
|
-
getOrCreateTokenId: () => getOrCreateTokenId,
|
|
81
|
-
findTokenId: () => findTokenId,
|
|
82
|
-
findInLinkedArraysSimpleNumeric: () => findInLinkedArraysSimpleNumeric,
|
|
83
|
-
findInLinkedArraysNumeric: () => findInLinkedArraysNumeric,
|
|
84
|
-
encodeTokenWithMode: () => encodeTokenWithMode,
|
|
85
|
-
defaultQueryPhoneNormalizer: () => defaultQueryPhoneNormalizer,
|
|
86
|
-
defaultPhoneNormalizer: () => defaultPhoneNormalizer,
|
|
87
|
-
decodeTokenId: () => decodeTokenId,
|
|
88
|
-
decodeMatchMode: () => decodeMatchMode,
|
|
89
|
-
createTokensMap: () => createTokensMap,
|
|
90
|
-
createSearchLinkedMetadata: () => createSearchLinkedMetadataNumeric,
|
|
91
|
-
createSearchArrayMetadata: () => createSearchArrayMetadataNumeric,
|
|
92
|
-
compareTokenized: () => compareTokenized,
|
|
93
|
-
clearTokensMap: () => clearTokensMap,
|
|
94
|
-
binarySearchUint32: () => binarySearchUint32,
|
|
95
|
-
arrayToSearchableData: () => arrayToSearchableData,
|
|
96
|
-
allTokensMatchNumeric: () => allTokensMatchNumeric,
|
|
97
|
-
allPreparedTokensMatch: () => allPreparedTokensMatch,
|
|
98
|
-
TOKEN_ID_MASK: () => TOKEN_ID_MASK,
|
|
99
|
-
SearchUniverse: () => SearchUniverse,
|
|
100
|
-
PREFIX_TO_MATCH_MODE: () => PREFIX_TO_MATCH_MODE,
|
|
101
|
-
MATCH_MODE_PREFIXES: () => MATCH_MODE_PREFIXES,
|
|
102
|
-
MATCH_MODE_BITS: () => MATCH_MODE_BITS,
|
|
103
|
-
DEFAULT_SEARCH_OPTS: () => DEFAULT_SEARCH_OPTS,
|
|
42
|
+
AugmentedMetadata: () => AugmentedMetadata,
|
|
104
43
|
DEFAULT_PHONE_FIELDS: () => DEFAULT_PHONE_FIELDS,
|
|
105
|
-
|
|
44
|
+
DEFAULT_SEARCH_OPTS: () => DEFAULT_SEARCH_OPTS,
|
|
45
|
+
MATCH_MODE_BITS: () => MATCH_MODE_BITS,
|
|
46
|
+
MATCH_MODE_PREFIXES: () => MATCH_MODE_PREFIXES,
|
|
47
|
+
PREFIX_TO_MATCH_MODE: () => PREFIX_TO_MATCH_MODE,
|
|
48
|
+
SearchUniverse: () => SearchUniverse,
|
|
49
|
+
TOKEN_ID_MASK: () => TOKEN_ID_MASK,
|
|
50
|
+
allPreparedTokensMatch: () => allPreparedTokensMatch,
|
|
51
|
+
allTokensMatchNumeric: () => allTokensMatchNumeric,
|
|
52
|
+
arrayToSearchableData: () => arrayToSearchableData,
|
|
53
|
+
binarySearchUint32: () => binarySearchUint32,
|
|
54
|
+
clearTokensMap: () => clearTokensMap,
|
|
55
|
+
compareTokenized: () => compareTokenized,
|
|
56
|
+
createSearchArrayMetadata: () => createSearchArrayMetadataNumeric,
|
|
57
|
+
createSearchLinkedMetadata: () => createSearchLinkedMetadataNumeric,
|
|
58
|
+
createTokensMap: () => createTokensMap,
|
|
59
|
+
decodeMatchMode: () => decodeMatchMode,
|
|
60
|
+
decodeTokenId: () => decodeTokenId,
|
|
61
|
+
defaultPhoneNormalizer: () => defaultPhoneNormalizer,
|
|
62
|
+
defaultQueryPhoneNormalizer: () => defaultQueryPhoneNormalizer,
|
|
63
|
+
encodeTokenWithMode: () => encodeTokenWithMode,
|
|
64
|
+
findInLinkedArraysNumeric: () => findInLinkedArraysNumeric,
|
|
65
|
+
findInLinkedArraysSimpleNumeric: () => findInLinkedArraysSimpleNumeric,
|
|
66
|
+
findTokenId: () => findTokenId,
|
|
67
|
+
getOrCreateTokenId: () => getOrCreateTokenId,
|
|
68
|
+
getTokenById: () => getTokenById,
|
|
69
|
+
getTokenCount: () => getTokenCount,
|
|
70
|
+
isDeletedOrBlocked: () => isDeletedOrBlocked,
|
|
71
|
+
itemClasses: () => itemClasses,
|
|
72
|
+
matchMany: () => matchMany,
|
|
73
|
+
matchManySync: () => matchManySync,
|
|
74
|
+
matchPreparedTokenInSortedList: () => matchPreparedTokenInSortedList,
|
|
75
|
+
matchTokenInSortedListNumeric: () => matchTokenInSortedListNumeric,
|
|
76
|
+
normalizeDates: () => normalizeDates,
|
|
77
|
+
normalizeQueryWithOpts: () => normalizeQueryWithOpts,
|
|
78
|
+
orderedTokenize: () => orderedTokenize,
|
|
79
|
+
prepareObjectForSearch: () => prepareObjectForSearchNumeric,
|
|
80
|
+
prepareQueryTokens: () => prepareQueryTokens,
|
|
81
|
+
prepareStringForSearch: () => prepareStringForSearch,
|
|
82
|
+
preprocessString: () => preprocessString,
|
|
83
|
+
registerToken: () => registerToken,
|
|
84
|
+
removeFromSearchMetadata: () => removeFromSearchMetadataNumeric,
|
|
85
|
+
removeFromSearchMetadataBatch: () => removeFromSearchMetadataBatchNumeric,
|
|
86
|
+
removeLinkedItem: () => removeLinkedItemNumeric,
|
|
87
|
+
removePrimaryItem: () => removePrimaryItemNumeric,
|
|
88
|
+
resetTokenRegistry: () => resetTokenRegistry,
|
|
89
|
+
resolvePhoneQueryNormalizer: () => resolvePhoneQueryNormalizer,
|
|
90
|
+
sanitiseString: () => sanitiseString,
|
|
91
|
+
scoreBag: () => scoreBag,
|
|
92
|
+
scoreOne: () => scoreOne,
|
|
93
|
+
scoreOrderAndPresence: () => scoreOrderAndPresence,
|
|
94
|
+
searchAndRank: () => searchAndRankNumeric,
|
|
95
|
+
searchAndRankNumeric: () => searchAndRankNumeric,
|
|
96
|
+
searchInData: () => searchInDataReturnIdsNumeric,
|
|
97
|
+
searchInDataReturnIds: () => searchInDataReturnIdsNumeric,
|
|
98
|
+
searchInDataReturnObjects: () => searchInDataReturnObjectsNumeric,
|
|
99
|
+
searchInDataWithLimit: () => searchInDataReturnIdsWithLimitNumeric,
|
|
100
|
+
searchableDataToArray: () => searchableDataToArray,
|
|
101
|
+
syncLinkedItemsForPrimary: () => syncLinkedItemsForPrimaryNumeric,
|
|
102
|
+
syncSearchArrayMetadata: () => syncSearchArrayMetadataNumeric,
|
|
103
|
+
syncSearchArrayMetadataWithPrevious: () => syncSearchArrayMetadataNumericWithPrevious,
|
|
104
|
+
tokenize: () => tokenize,
|
|
105
|
+
tokens: () => tokens,
|
|
106
|
+
updateSearchMetadata: () => updateSearchMetadataNumeric,
|
|
107
|
+
updateSearchMetadataBatch: () => updateSearchMetadataBatchNumeric,
|
|
108
|
+
upsertLinkedItem: () => upsertLinkedItemNumeric,
|
|
109
|
+
upsertPrimaryItem: () => upsertPrimaryItemNumeric
|
|
106
110
|
});
|
|
107
111
|
module.exports = __toCommonJS(exports_src);
|
|
108
112
|
|
|
@@ -534,6 +538,38 @@ function extractStringsFromValue(value, results) {
|
|
|
534
538
|
}
|
|
535
539
|
}
|
|
536
540
|
}
|
|
541
|
+
function applyValueNormalizers(value, field, normalizers) {
|
|
542
|
+
let text = value;
|
|
543
|
+
const classes = {};
|
|
544
|
+
if (!normalizers?.length)
|
|
545
|
+
return { text, classes };
|
|
546
|
+
for (const normalizer of normalizers) {
|
|
547
|
+
if (normalizer.fields && !normalizer.fields.includes(field))
|
|
548
|
+
continue;
|
|
549
|
+
const izhod = normalizer.fn(text, field);
|
|
550
|
+
if (izhod === undefined)
|
|
551
|
+
continue;
|
|
552
|
+
if (typeof izhod === "string") {
|
|
553
|
+
text = izhod;
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
556
|
+
text = izhod.text;
|
|
557
|
+
for (const [kljuc, vrednost] of Object.entries(izhod.classes ?? {})) {
|
|
558
|
+
const seznam = Array.isArray(vrednost) ? vrednost : [vrednost];
|
|
559
|
+
const obstojeci = classes[kljuc] ?? [];
|
|
560
|
+
for (const v of seznam) {
|
|
561
|
+
if (v != null && v !== "" && !obstojeci.includes(String(v)))
|
|
562
|
+
obstojeci.push(String(v));
|
|
563
|
+
}
|
|
564
|
+
classes[kljuc] = obstojeci;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
return { text, classes };
|
|
568
|
+
}
|
|
569
|
+
function itemClasses(metadata, id) {
|
|
570
|
+
const zapis = metadata.classes?.get(id);
|
|
571
|
+
return zapis && Object.keys(zapis).length ? zapis : undefined;
|
|
572
|
+
}
|
|
537
573
|
function prepareObjectForSearchNumeric(obj, spec, tokensMap) {
|
|
538
574
|
if (isDeletedOrBlocked(obj)) {
|
|
539
575
|
return;
|
|
@@ -541,11 +577,12 @@ function prepareObjectForSearchNumeric(obj, spec, tokensMap) {
|
|
|
541
577
|
if (spec?.enrichSearchObjectFn) {
|
|
542
578
|
spec.enrichSearchObjectFn(obj, spec.searchContext);
|
|
543
579
|
}
|
|
544
|
-
const
|
|
580
|
+
const classes = {};
|
|
581
|
+
const sorted = spec?.extractSearchableStringFn ? buildSortedFromExtractFn(obj, spec.extractSearchableStringFn, tokensMap) : buildSortedFromFields(obj, spec, tokensMap, classes);
|
|
545
582
|
if (sorted === undefined)
|
|
546
583
|
return;
|
|
547
|
-
const firstN = spec?.keyFields && spec.keyFields.length > 0 ? buildFirstNFromKeyFields(obj, spec.keyFields, spec.firstTokensN ?? DEFAULT_FIRST_TOKENS_N, spec.phoneFields ?? DEFAULT_PHONE_FIELDS, tokensMap) : undefined;
|
|
548
|
-
return { sorted, firstN };
|
|
584
|
+
const firstN = spec?.keyFields && spec.keyFields.length > 0 ? buildFirstNFromKeyFields(obj, spec.keyFields, spec.firstTokensN ?? DEFAULT_FIRST_TOKENS_N, spec.phoneFields ?? DEFAULT_PHONE_FIELDS, tokensMap, spec.valueNormalizers) : undefined;
|
|
585
|
+
return Object.keys(classes).length ? { sorted, firstN, classes } : { sorted, firstN };
|
|
549
586
|
}
|
|
550
587
|
function buildSortedFromExtractFn(obj, extractFn, tokensMap) {
|
|
551
588
|
const str = extractFn(obj);
|
|
@@ -553,7 +590,7 @@ function buildSortedFromExtractFn(obj, extractFn, tokensMap) {
|
|
|
553
590
|
return;
|
|
554
591
|
return prepareStringForSearchNumeric(str, tokensMap).sorted;
|
|
555
592
|
}
|
|
556
|
-
function buildSortedFromFields(obj, spec, tokensMap) {
|
|
593
|
+
function buildSortedFromFields(obj, spec, tokensMap, classesOut = {}) {
|
|
557
594
|
const allTokens = [];
|
|
558
595
|
const fieldMatchModes = spec?.fieldMatchModes;
|
|
559
596
|
const fieldsToSearch = spec?.searchInFields ?? Object.keys(obj);
|
|
@@ -586,7 +623,19 @@ function buildSortedFromFields(obj, spec, tokensMap) {
|
|
|
586
623
|
}
|
|
587
624
|
if (fieldStrings.length === 0)
|
|
588
625
|
continue;
|
|
589
|
-
const
|
|
626
|
+
const normalizirane = spec?.valueNormalizers?.length ? fieldStrings.map((s) => applyValueNormalizers(s, keyStr, spec.valueNormalizers)) : undefined;
|
|
627
|
+
const fieldText = normalizirane ? normalizirane.map((n) => n.text).join(" ") : fieldStrings.join(" ");
|
|
628
|
+
if (normalizirane) {
|
|
629
|
+
for (const n of normalizirane) {
|
|
630
|
+
for (const [kljuc, vrednosti] of Object.entries(n.classes)) {
|
|
631
|
+
const obstojeci = classesOut[kljuc] ?? [];
|
|
632
|
+
for (const v of vrednosti)
|
|
633
|
+
if (!obstojeci.includes(v))
|
|
634
|
+
obstojeci.push(v);
|
|
635
|
+
classesOut[kljuc] = obstojeci;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
590
639
|
const datesNormalized = normalizeDates(fieldText);
|
|
591
640
|
const preprocessed = preprocessString(datesNormalized);
|
|
592
641
|
const sanitised = sanitiseString(preprocessed);
|
|
@@ -604,7 +653,7 @@ function buildSortedFromFields(obj, spec, tokensMap) {
|
|
|
604
653
|
const uniqueTokens = [...new Set(allTokens)].sort((a, b) => a - b);
|
|
605
654
|
return new Uint32Array(uniqueTokens);
|
|
606
655
|
}
|
|
607
|
-
function buildFirstNFromKeyFields(obj, keyFields, n, phoneFields, tokensMap) {
|
|
656
|
+
function buildFirstNFromKeyFields(obj, keyFields, n, phoneFields, tokensMap, normalizers) {
|
|
608
657
|
const strings = [];
|
|
609
658
|
const phoneFieldPaths = new Set(phoneFields);
|
|
610
659
|
for (const field of keyFields) {
|
|
@@ -614,7 +663,9 @@ function buildFirstNFromKeyFields(obj, keyFields, n, phoneFields, tokensMap) {
|
|
|
614
663
|
const value = isDotNotation(keyStr) ? getValueByPath(obj, keyStr) : obj[field];
|
|
615
664
|
if (value == null)
|
|
616
665
|
continue;
|
|
617
|
-
|
|
666
|
+
const zacasno = [];
|
|
667
|
+
extractStringsFromValue(value, zacasno);
|
|
668
|
+
strings.push(...normalizers?.length ? zacasno.map((s) => applyValueNormalizers(s, keyStr, normalizers).text) : zacasno);
|
|
618
669
|
}
|
|
619
670
|
if (strings.length === 0)
|
|
620
671
|
return;
|
|
@@ -643,6 +694,9 @@ function createSearchArrayMetadataNumeric(data, spec) {
|
|
|
643
694
|
if (result.firstN !== undefined) {
|
|
644
695
|
metadata.unsorted.set(id, result.firstN);
|
|
645
696
|
}
|
|
697
|
+
if (result.classes !== undefined) {
|
|
698
|
+
(metadata.classes ??= new Map).set(id, result.classes);
|
|
699
|
+
}
|
|
646
700
|
}
|
|
647
701
|
}
|
|
648
702
|
return metadata;
|
|
@@ -678,6 +732,7 @@ function updateSearchMetadataNumeric(metadata, objectId, obj, spec, tokensMap) {
|
|
|
678
732
|
if (result === undefined) {
|
|
679
733
|
metadata.sorted.delete(objectId);
|
|
680
734
|
metadata.unsorted.delete(objectId);
|
|
735
|
+
metadata.classes?.delete(objectId);
|
|
681
736
|
return false;
|
|
682
737
|
}
|
|
683
738
|
metadata.sorted.set(objectId, result.sorted);
|
|
@@ -686,6 +741,11 @@ function updateSearchMetadataNumeric(metadata, objectId, obj, spec, tokensMap) {
|
|
|
686
741
|
} else {
|
|
687
742
|
metadata.unsorted.delete(objectId);
|
|
688
743
|
}
|
|
744
|
+
if (result.classes !== undefined) {
|
|
745
|
+
(metadata.classes ??= new Map).set(objectId, result.classes);
|
|
746
|
+
} else {
|
|
747
|
+
metadata.classes?.delete(objectId);
|
|
748
|
+
}
|
|
689
749
|
return true;
|
|
690
750
|
}
|
|
691
751
|
function updateSearchMetadataBatchNumeric(metadata, batch, spec) {
|
|
@@ -914,20 +974,49 @@ function allTokensMatchNumeric(searchTokenStrs, targetTokens, opts) {
|
|
|
914
974
|
}
|
|
915
975
|
|
|
916
976
|
// src/common/numeric/prepareQueryVariants.ts
|
|
977
|
+
function normalizeQueryWithOpts(query, opts) {
|
|
978
|
+
const normalizers = opts?.queryNormalizers;
|
|
979
|
+
if (!normalizers?.length)
|
|
980
|
+
return { text: query, classes: {} };
|
|
981
|
+
let text = query;
|
|
982
|
+
const classes = {};
|
|
983
|
+
for (const normalizer of normalizers) {
|
|
984
|
+
const fn = typeof normalizer === "function" ? normalizer : normalizer.fn;
|
|
985
|
+
const izhod = fn(text, "");
|
|
986
|
+
if (izhod === undefined)
|
|
987
|
+
continue;
|
|
988
|
+
if (typeof izhod === "string") {
|
|
989
|
+
text = izhod;
|
|
990
|
+
continue;
|
|
991
|
+
}
|
|
992
|
+
text = izhod.text;
|
|
993
|
+
for (const [kljuc, vrednost] of Object.entries(izhod.classes ?? {})) {
|
|
994
|
+
const seznam = Array.isArray(vrednost) ? vrednost : [vrednost];
|
|
995
|
+
const obstojeci = classes[kljuc] ?? [];
|
|
996
|
+
for (const v of seznam) {
|
|
997
|
+
if (v != null && v !== "" && !obstojeci.includes(String(v)))
|
|
998
|
+
obstojeci.push(String(v));
|
|
999
|
+
}
|
|
1000
|
+
classes[kljuc] = obstojeci;
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
return { text, classes };
|
|
1004
|
+
}
|
|
917
1005
|
function prepareQueryVariants(query, opts) {
|
|
918
|
-
const
|
|
1006
|
+
const { text: normalizirano, classes } = normalizeQueryWithOpts(query, opts);
|
|
1007
|
+
const rawTokenStrs = prepareStringForSearch(normalizirano);
|
|
919
1008
|
const rawTokens = prepareQueryTokens(rawTokenStrs);
|
|
920
1009
|
const normalizers = opts?.phoneQueryNormalizers ?? [defaultQueryPhoneNormalizer];
|
|
921
1010
|
const seenPhones = new Set;
|
|
922
1011
|
const phoneTokens = [];
|
|
923
1012
|
for (const normalizer of normalizers) {
|
|
924
|
-
const normalized = validateNormalizedPhone(normalizer(
|
|
1013
|
+
const normalized = validateNormalizedPhone(normalizer(normalizirano), "Phone query normalizer");
|
|
925
1014
|
if (normalized === undefined || seenPhones.has(normalized))
|
|
926
1015
|
continue;
|
|
927
1016
|
seenPhones.add(normalized);
|
|
928
1017
|
phoneTokens.push(prepareQueryTokens([normalized]));
|
|
929
1018
|
}
|
|
930
|
-
return { rawTokenStrs, rawTokens, phoneTokens };
|
|
1019
|
+
return { rawTokenStrs, rawTokens, phoneTokens, classes };
|
|
931
1020
|
}
|
|
932
1021
|
|
|
933
1022
|
// src/common/numeric/scoring.ts
|
|
@@ -1046,12 +1135,13 @@ function searchInDataReturnObjectsNumeric(query, metadata, data, opts) {
|
|
|
1046
1135
|
return results;
|
|
1047
1136
|
}
|
|
1048
1137
|
function searchInDataReturnIdsWithLimitNumeric(query, metadata, limit, opts) {
|
|
1049
|
-
const {
|
|
1138
|
+
const { rawTokens, phoneTokens } = prepareQueryVariants(query, opts);
|
|
1050
1139
|
const phoneCandidates = findMatchingCandidates(metadata, phoneTokens, opts);
|
|
1051
1140
|
const candidates = phoneCandidates.length > 0 ? phoneCandidates : findMatchingCandidates(metadata, rawTokens.length > 0 ? [rawTokens] : [], opts);
|
|
1052
1141
|
if (candidates.length === 0)
|
|
1053
1142
|
return [];
|
|
1054
|
-
const
|
|
1143
|
+
const qText = normalizeQueryWithOpts(query, opts).text;
|
|
1144
|
+
const qTokens = orderedTokenize(qText);
|
|
1055
1145
|
const hasUnsorted = metadata.unsorted.size > 0;
|
|
1056
1146
|
if (!hasUnsorted) {
|
|
1057
1147
|
if (limit === Infinity || limit >= candidates.length)
|
|
@@ -1070,7 +1160,7 @@ function searchInDataReturnIdsWithLimitNumeric(query, metadata, limit, opts) {
|
|
|
1070
1160
|
for (let j = 0;j < unsortedIds.length; j++) {
|
|
1071
1161
|
itemTokens[j] = tokens[unsortedIds[j]] ?? "";
|
|
1072
1162
|
}
|
|
1073
|
-
scored[i] = { id, score: scoreOne(
|
|
1163
|
+
scored[i] = { id, score: scoreOne(qText, qTokens, itemTokens), order: i };
|
|
1074
1164
|
}
|
|
1075
1165
|
scored.sort((a, b) => {
|
|
1076
1166
|
if (a.score !== b.score)
|
|
@@ -1522,10 +1612,16 @@ function applyPreparedTokens(metadata, id, result) {
|
|
|
1522
1612
|
} else {
|
|
1523
1613
|
metadata.unsorted.delete(id);
|
|
1524
1614
|
}
|
|
1615
|
+
if (result.classes !== undefined) {
|
|
1616
|
+
(metadata.classes ??= new Map).set(id, result.classes);
|
|
1617
|
+
} else {
|
|
1618
|
+
metadata.classes?.delete(id);
|
|
1619
|
+
}
|
|
1525
1620
|
}
|
|
1526
1621
|
function deletePreparedTokens(metadata, id) {
|
|
1527
1622
|
metadata.sorted.delete(id);
|
|
1528
1623
|
metadata.unsorted.delete(id);
|
|
1624
|
+
metadata.classes?.delete(id);
|
|
1529
1625
|
}
|
|
1530
1626
|
function syncSearchArrayMetadataNumeric(metadata, newData, spec) {
|
|
1531
1627
|
const result = {
|
|
@@ -1615,6 +1711,146 @@ function syncSearchArrayMetadataNumericWithPrevious(metadata, previousData, newD
|
|
|
1615
1711
|
clearTokensMap(tokensMap);
|
|
1616
1712
|
return result;
|
|
1617
1713
|
}
|
|
1714
|
+
// src/common/numeric/searchAndRank.ts
|
|
1715
|
+
function tokenIdsToStrings(tokenIds) {
|
|
1716
|
+
if (tokenIds === undefined)
|
|
1717
|
+
return;
|
|
1718
|
+
const out = new Array(tokenIds.length);
|
|
1719
|
+
for (let i = 0;i < tokenIds.length; i++) {
|
|
1720
|
+
out[i] = tokens[tokenIds[i]] ?? "";
|
|
1721
|
+
}
|
|
1722
|
+
return out;
|
|
1723
|
+
}
|
|
1724
|
+
function searchAndRankNumeric(query, data, metadata, options) {
|
|
1725
|
+
const { primaryTextFn, exactKeysFn, limit, opts } = options;
|
|
1726
|
+
const ids = searchInDataReturnIdsNumeric(query, metadata, opts);
|
|
1727
|
+
if (ids.length === 0)
|
|
1728
|
+
return [];
|
|
1729
|
+
const qText = normalizeQueryWithOpts(query, opts).text;
|
|
1730
|
+
const qTokens = orderedTokenize(qText);
|
|
1731
|
+
const scored = [];
|
|
1732
|
+
for (const id of ids) {
|
|
1733
|
+
const item = data.get(id);
|
|
1734
|
+
if (!item)
|
|
1735
|
+
continue;
|
|
1736
|
+
const itemTokens = tokenIdsToStrings(metadata.unsorted.get(id)) ?? orderedTokenize(primaryTextFn(item) || "");
|
|
1737
|
+
const exactKeys = exactKeysFn?.(item);
|
|
1738
|
+
const score = scoreOne(qText, qTokens, itemTokens, exactKeys);
|
|
1739
|
+
scored.push({ id, item, score });
|
|
1740
|
+
}
|
|
1741
|
+
scored.sort((x, y) => {
|
|
1742
|
+
if (y.score !== x.score)
|
|
1743
|
+
return y.score - x.score;
|
|
1744
|
+
const xText = primaryTextFn(x.item) || "";
|
|
1745
|
+
const yText = primaryTextFn(y.item) || "";
|
|
1746
|
+
return xText.localeCompare(yText);
|
|
1747
|
+
});
|
|
1748
|
+
if (limit === undefined || limit === Infinity || limit >= scored.length)
|
|
1749
|
+
return scored;
|
|
1750
|
+
return scored.slice(0, limit);
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
// src/common/numeric/matchMany.ts
|
|
1754
|
+
function naSezname(classes) {
|
|
1755
|
+
if (!classes)
|
|
1756
|
+
return;
|
|
1757
|
+
const out = {};
|
|
1758
|
+
for (const [kljuc, vrednost] of Object.entries(classes)) {
|
|
1759
|
+
const seznam = Array.isArray(vrednost) ? vrednost.map(String) : [String(vrednost)];
|
|
1760
|
+
if (seznam.length)
|
|
1761
|
+
out[kljuc] = seznam;
|
|
1762
|
+
}
|
|
1763
|
+
return Object.keys(out).length ? out : undefined;
|
|
1764
|
+
}
|
|
1765
|
+
function matchOne(prepared, query, indeks, options, porabljeni) {
|
|
1766
|
+
const { queryOf, idOf, limit = 3, minScore = 0, rank, accept, opts } = options;
|
|
1767
|
+
const retrievalLimit = options.retrievalLimit ?? Math.max(20, limit * 4);
|
|
1768
|
+
const primaryTextOf = options.primaryTextOf ?? ((item) => item["naziv"]);
|
|
1769
|
+
const vhod = queryOf(query);
|
|
1770
|
+
const text = typeof vhod === "string" ? vhod : vhod.text;
|
|
1771
|
+
const queryClasses = typeof vhod === "string" ? undefined : naSezname(vhod.classes);
|
|
1772
|
+
const id = idOf ? idOf(query, indeks) : String(query["_id"] ?? query["id"] ?? indeks);
|
|
1773
|
+
const poisciKandidate = (besedilo, razredi) => {
|
|
1774
|
+
if (!besedilo.trim())
|
|
1775
|
+
return { kandidati: [], zadetkov: 0 };
|
|
1776
|
+
const zadetki = searchAndRankNumeric(besedilo, prepared.data, prepared.metadata, {
|
|
1777
|
+
primaryTextFn: primaryTextOf,
|
|
1778
|
+
...options.exactKeysOf ? { exactKeysFn: options.exactKeysOf } : {},
|
|
1779
|
+
...opts ? { opts } : {},
|
|
1780
|
+
limit: retrievalLimit
|
|
1781
|
+
});
|
|
1782
|
+
const poizvedbaZaDomeno = { text: besedilo, ...razredi ? { classes: razredi } : {} };
|
|
1783
|
+
const najdeni = [];
|
|
1784
|
+
for (const zadetek of zadetki) {
|
|
1785
|
+
const classes = itemClasses(prepared.metadata, zadetek.id);
|
|
1786
|
+
const kandidat = {
|
|
1787
|
+
id: zadetek.id,
|
|
1788
|
+
item: zadetek.item,
|
|
1789
|
+
...classes ? { classes } : {}
|
|
1790
|
+
};
|
|
1791
|
+
if (accept && !accept(kandidat, poizvedbaZaDomeno))
|
|
1792
|
+
continue;
|
|
1793
|
+
const ocena = rank ? rank(kandidat, poizvedbaZaDomeno) : zadetek.score;
|
|
1794
|
+
if (ocena < minScore)
|
|
1795
|
+
continue;
|
|
1796
|
+
if (porabljeni?.has(zadetek.id))
|
|
1797
|
+
continue;
|
|
1798
|
+
najdeni.push({ id: zadetek.id, item: zadetek.item, score: ocena, ...classes ? { classes } : {} });
|
|
1799
|
+
}
|
|
1800
|
+
najdeni.sort((a, b) => {
|
|
1801
|
+
if (b.score !== a.score)
|
|
1802
|
+
return b.score - a.score;
|
|
1803
|
+
return (primaryTextOf(a.item) ?? "").localeCompare(primaryTextOf(b.item) ?? "");
|
|
1804
|
+
});
|
|
1805
|
+
if (najdeni.length > limit)
|
|
1806
|
+
najdeni.length = limit;
|
|
1807
|
+
return { kandidati: najdeni, zadetkov: zadetki.length };
|
|
1808
|
+
};
|
|
1809
|
+
let { kandidati, zadetkov } = poisciKandidate(text, queryClasses);
|
|
1810
|
+
const poskusiAlternative = kandidati.length === 0 && (options.alternativneLeCeNiZadetkov ? zadetkov === 0 : true);
|
|
1811
|
+
if (poskusiAlternative && options.alternativnePoizvedbe) {
|
|
1812
|
+
for (const alternativa of options.alternativnePoizvedbe(query)) {
|
|
1813
|
+
const altBesedilo = typeof alternativa === "string" ? alternativa : alternativa.text;
|
|
1814
|
+
if (!altBesedilo?.trim() || altBesedilo === text)
|
|
1815
|
+
continue;
|
|
1816
|
+
const altRazredi = typeof alternativa === "string" ? undefined : naSezname(alternativa.classes);
|
|
1817
|
+
({ kandidati } = poisciKandidate(altBesedilo, altRazredi));
|
|
1818
|
+
if (kandidati.length)
|
|
1819
|
+
break;
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
if (porabljeni) {
|
|
1823
|
+
for (const kandidat of kandidati)
|
|
1824
|
+
porabljeni.add(kandidat.id);
|
|
1825
|
+
}
|
|
1826
|
+
return {
|
|
1827
|
+
id,
|
|
1828
|
+
...queryClasses ? { queryClasses } : {},
|
|
1829
|
+
kandidati
|
|
1830
|
+
};
|
|
1831
|
+
}
|
|
1832
|
+
function matchManySync(prepared, queries, options) {
|
|
1833
|
+
const porabljeni = options.samoEnolicno ? new Set : undefined;
|
|
1834
|
+
const izhod = new Array(queries.length);
|
|
1835
|
+
for (let indeks = 0;indeks < queries.length; indeks++) {
|
|
1836
|
+
izhod[indeks] = matchOne(prepared, queries[indeks], indeks, options, porabljeni);
|
|
1837
|
+
}
|
|
1838
|
+
return izhod;
|
|
1839
|
+
}
|
|
1840
|
+
async function* matchMany(prepared, queries, options) {
|
|
1841
|
+
const kos = options.kos ?? 50;
|
|
1842
|
+
const porabljeni = options.samoEnolicno ? new Set : undefined;
|
|
1843
|
+
let kosZbirka = [];
|
|
1844
|
+
for (let indeks = 0;indeks < queries.length; indeks++) {
|
|
1845
|
+
kosZbirka.push(matchOne(prepared, queries[indeks], indeks, options, porabljeni));
|
|
1846
|
+
if (kosZbirka.length >= kos) {
|
|
1847
|
+
yield kosZbirka;
|
|
1848
|
+
kosZbirka = [];
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
if (kosZbirka.length)
|
|
1852
|
+
yield kosZbirka;
|
|
1853
|
+
}
|
|
1618
1854
|
// src/common/numeric/updateSearchLinkedMetadata.ts
|
|
1619
1855
|
function tokensEqual2(a, b) {
|
|
1620
1856
|
if (a.length !== b.length)
|
|
@@ -1767,43 +2003,6 @@ function syncLinkedItemsForPrimaryNumeric(linked, primaryId, newLinkedItems, for
|
|
|
1767
2003
|
clearTokensMap(tokensMap);
|
|
1768
2004
|
return result;
|
|
1769
2005
|
}
|
|
1770
|
-
// src/common/numeric/searchAndRank.ts
|
|
1771
|
-
function tokenIdsToStrings(tokenIds) {
|
|
1772
|
-
if (tokenIds === undefined)
|
|
1773
|
-
return;
|
|
1774
|
-
const out = new Array(tokenIds.length);
|
|
1775
|
-
for (let i = 0;i < tokenIds.length; i++) {
|
|
1776
|
-
out[i] = tokens[tokenIds[i]] ?? "";
|
|
1777
|
-
}
|
|
1778
|
-
return out;
|
|
1779
|
-
}
|
|
1780
|
-
function searchAndRankNumeric(query, data, metadata, options) {
|
|
1781
|
-
const { primaryTextFn, exactKeysFn, limit, opts } = options;
|
|
1782
|
-
const ids = searchInDataReturnIdsNumeric(query, metadata, opts);
|
|
1783
|
-
if (ids.length === 0)
|
|
1784
|
-
return [];
|
|
1785
|
-
const qTokens = orderedTokenize(query);
|
|
1786
|
-
const scored = [];
|
|
1787
|
-
for (const id of ids) {
|
|
1788
|
-
const item = data.get(id);
|
|
1789
|
-
if (!item)
|
|
1790
|
-
continue;
|
|
1791
|
-
const itemTokens = tokenIdsToStrings(metadata.unsorted.get(id)) ?? orderedTokenize(primaryTextFn(item) || "");
|
|
1792
|
-
const exactKeys = exactKeysFn?.(item);
|
|
1793
|
-
const score = scoreOne(query, qTokens, itemTokens, exactKeys);
|
|
1794
|
-
scored.push({ id, item, score });
|
|
1795
|
-
}
|
|
1796
|
-
scored.sort((x, y) => {
|
|
1797
|
-
if (y.score !== x.score)
|
|
1798
|
-
return y.score - x.score;
|
|
1799
|
-
const xText = primaryTextFn(x.item) || "";
|
|
1800
|
-
const yText = primaryTextFn(y.item) || "";
|
|
1801
|
-
return xText.localeCompare(yText);
|
|
1802
|
-
});
|
|
1803
|
-
if (limit === undefined || limit === Infinity || limit >= scored.length)
|
|
1804
|
-
return scored;
|
|
1805
|
-
return scored.slice(0, limit);
|
|
1806
|
-
}
|
|
1807
2006
|
// src/common/SearchUniverse.ts
|
|
1808
2007
|
function tokensEqual3(a, b) {
|
|
1809
2008
|
if (a.length !== b.length)
|
package/dist/index.d.cts
CHANGED
|
@@ -14,13 +14,17 @@ export { normalizeDates } from './utils/normalizeDates';
|
|
|
14
14
|
export { compareTokenized } from './utils/compareTokenized';
|
|
15
15
|
export { defaultPhoneNormalizer, defaultQueryPhoneNormalizer, resolvePhoneQueryNormalizer, } from './utils/phoneNormalization';
|
|
16
16
|
export { tokens, getTokenCount, getTokenById, findTokenId, registerToken, getOrCreateTokenId, createTokensMap, clearTokensMap, resetTokenRegistry, } from './utils/tokenRegistry';
|
|
17
|
-
export { createSearchArrayMetadataNumeric as createSearchArrayMetadata, prepareObjectForSearchNumeric as prepareObjectForSearch, encodeTokenWithMode, decodeTokenId, decodeMatchMode, TOKEN_ID_MASK, MATCH_MODE_BITS, MATCH_MODE_PREFIXES, PREFIX_TO_MATCH_MODE, isDeletedOrBlocked,
|
|
17
|
+
export { createSearchArrayMetadataNumeric as createSearchArrayMetadata, prepareObjectForSearchNumeric as prepareObjectForSearch, encodeTokenWithMode, decodeTokenId, decodeMatchMode, TOKEN_ID_MASK, MATCH_MODE_BITS, MATCH_MODE_PREFIXES, PREFIX_TO_MATCH_MODE, isDeletedOrBlocked,
|
|
18
|
+
/** Domenski razredi elementa (`spec.valueNormalizers`). */
|
|
19
|
+
itemClasses, } from './common/numeric/createSearchArrayMetadata';
|
|
18
20
|
export { createSearchLinkedMetadataNumeric as createSearchLinkedMetadata, type NumericLinkedSearchMetadataWithData, } from './common/numeric/createSearchLinkedMetadata';
|
|
19
21
|
export { updateSearchMetadataNumeric as updateSearchMetadata, updateSearchMetadataBatchNumeric as updateSearchMetadataBatch, removeFromSearchMetadataNumeric as removeFromSearchMetadata, removeFromSearchMetadataBatchNumeric as removeFromSearchMetadataBatch, } from './common/numeric/updateSearchMetadata';
|
|
20
22
|
export { searchInDataReturnIdsNumeric as searchInData, searchInDataReturnIdsNumeric as searchInDataReturnIds, searchInDataReturnObjectsNumeric as searchInDataReturnObjects, searchInDataReturnIdsWithLimitNumeric as searchInDataWithLimit, } from './common/numeric/searchInData';
|
|
21
23
|
export { findInLinkedArraysNumeric, findInLinkedArraysSimpleNumeric, } from './common/numeric/findInLinkedArrays';
|
|
22
24
|
export { AugmentedMetadata } from './common/numeric/AugmentedMetadata';
|
|
23
25
|
export { syncSearchArrayMetadataNumeric as syncSearchArrayMetadata, syncSearchArrayMetadataNumericWithPrevious as syncSearchArrayMetadataWithPrevious, } from './common/numeric/syncSearchArrayMetadata';
|
|
26
|
+
export { normalizeQueryWithOpts } from './common/numeric/prepareQueryVariants';
|
|
27
|
+
export { matchMany, matchManySync, type MatchManyKandidat, type MatchManyOptions, type MatchManyRezultat, type PreparedCollection, } from './common/numeric/matchMany';
|
|
24
28
|
export { upsertPrimaryItemNumeric as upsertPrimaryItem, removePrimaryItemNumeric as removePrimaryItem, upsertLinkedItemNumeric as upsertLinkedItem, removeLinkedItemNumeric as removeLinkedItem, syncLinkedItemsForPrimaryNumeric as syncLinkedItemsForPrimary, } from './common/numeric/updateSearchLinkedMetadata';
|
|
25
29
|
export { matchTokenInSortedListNumeric, allTokensMatchNumeric, binarySearchUint32, prepareQueryTokens, matchPreparedTokenInSortedList, allPreparedTokensMatch, type PreparedQueryToken, } from './utils/matchTokenNumeric';
|
|
26
30
|
export { searchAndRankNumeric as searchAndRank, searchAndRankNumeric, scoreOne, scoreOrderAndPresence, scoreBag, orderedTokenize, type ScoredResult, type SearchAndRankOptions, type OrderAndPresenceWeights, } from './common/numeric/searchAndRank';
|
package/dist/index.d.ts
CHANGED
|
@@ -14,13 +14,17 @@ export { normalizeDates } from './utils/normalizeDates';
|
|
|
14
14
|
export { compareTokenized } from './utils/compareTokenized';
|
|
15
15
|
export { defaultPhoneNormalizer, defaultQueryPhoneNormalizer, resolvePhoneQueryNormalizer, } from './utils/phoneNormalization';
|
|
16
16
|
export { tokens, getTokenCount, getTokenById, findTokenId, registerToken, getOrCreateTokenId, createTokensMap, clearTokensMap, resetTokenRegistry, } from './utils/tokenRegistry';
|
|
17
|
-
export { createSearchArrayMetadataNumeric as createSearchArrayMetadata, prepareObjectForSearchNumeric as prepareObjectForSearch, encodeTokenWithMode, decodeTokenId, decodeMatchMode, TOKEN_ID_MASK, MATCH_MODE_BITS, MATCH_MODE_PREFIXES, PREFIX_TO_MATCH_MODE, isDeletedOrBlocked,
|
|
17
|
+
export { createSearchArrayMetadataNumeric as createSearchArrayMetadata, prepareObjectForSearchNumeric as prepareObjectForSearch, encodeTokenWithMode, decodeTokenId, decodeMatchMode, TOKEN_ID_MASK, MATCH_MODE_BITS, MATCH_MODE_PREFIXES, PREFIX_TO_MATCH_MODE, isDeletedOrBlocked,
|
|
18
|
+
/** Domenski razredi elementa (`spec.valueNormalizers`). */
|
|
19
|
+
itemClasses, } from './common/numeric/createSearchArrayMetadata';
|
|
18
20
|
export { createSearchLinkedMetadataNumeric as createSearchLinkedMetadata, type NumericLinkedSearchMetadataWithData, } from './common/numeric/createSearchLinkedMetadata';
|
|
19
21
|
export { updateSearchMetadataNumeric as updateSearchMetadata, updateSearchMetadataBatchNumeric as updateSearchMetadataBatch, removeFromSearchMetadataNumeric as removeFromSearchMetadata, removeFromSearchMetadataBatchNumeric as removeFromSearchMetadataBatch, } from './common/numeric/updateSearchMetadata';
|
|
20
22
|
export { searchInDataReturnIdsNumeric as searchInData, searchInDataReturnIdsNumeric as searchInDataReturnIds, searchInDataReturnObjectsNumeric as searchInDataReturnObjects, searchInDataReturnIdsWithLimitNumeric as searchInDataWithLimit, } from './common/numeric/searchInData';
|
|
21
23
|
export { findInLinkedArraysNumeric, findInLinkedArraysSimpleNumeric, } from './common/numeric/findInLinkedArrays';
|
|
22
24
|
export { AugmentedMetadata } from './common/numeric/AugmentedMetadata';
|
|
23
25
|
export { syncSearchArrayMetadataNumeric as syncSearchArrayMetadata, syncSearchArrayMetadataNumericWithPrevious as syncSearchArrayMetadataWithPrevious, } from './common/numeric/syncSearchArrayMetadata';
|
|
26
|
+
export { normalizeQueryWithOpts } from './common/numeric/prepareQueryVariants';
|
|
27
|
+
export { matchMany, matchManySync, type MatchManyKandidat, type MatchManyOptions, type MatchManyRezultat, type PreparedCollection, } from './common/numeric/matchMany';
|
|
24
28
|
export { upsertPrimaryItemNumeric as upsertPrimaryItem, removePrimaryItemNumeric as removePrimaryItem, upsertLinkedItemNumeric as upsertLinkedItem, removeLinkedItemNumeric as removeLinkedItem, syncLinkedItemsForPrimaryNumeric as syncLinkedItemsForPrimary, } from './common/numeric/updateSearchLinkedMetadata';
|
|
25
29
|
export { matchTokenInSortedListNumeric, allTokensMatchNumeric, binarySearchUint32, prepareQueryTokens, matchPreparedTokenInSortedList, allPreparedTokensMatch, type PreparedQueryToken, } from './utils/matchTokenNumeric';
|
|
26
30
|
export { searchAndRankNumeric as searchAndRank, searchAndRankNumeric, scoreOne, scoreOrderAndPresence, scoreBag, orderedTokenize, type ScoredResult, type SearchAndRankOptions, type OrderAndPresenceWeights, } from './common/numeric/searchAndRank';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;GAGG;AAKH,YAAY,EAEV,EAAE,EACF,WAAW,EACX,qBAAqB,EACrB,cAAc,EAEd,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EAEpB,UAAU,EAEV,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,EAE1B,oBAAoB,EAEpB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,6BAA6B,EAE7B,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,qBAAqB,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,gCAAgC,IAAI,yBAAyB,EAC7D,6BAA6B,IAAI,sBAAsB,EACvD,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|