cmpstr 3.2.0 → 3.2.2
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/README.md +26 -18
- package/dist/CmpStr.esm.js +490 -220
- package/dist/CmpStr.esm.min.js +2 -3
- package/dist/CmpStr.umd.js +489 -220
- package/dist/CmpStr.umd.min.js +2 -3
- package/dist/cjs/CmpStr.cjs +58 -36
- package/dist/cjs/CmpStrAsync.cjs +30 -24
- package/dist/cjs/index.cjs +1 -2
- package/dist/cjs/metric/Cosine.cjs +1 -2
- package/dist/cjs/metric/DamerauLevenshtein.cjs +1 -2
- package/dist/cjs/metric/DiceSorensen.cjs +1 -2
- package/dist/cjs/metric/Hamming.cjs +5 -4
- package/dist/cjs/metric/Jaccard.cjs +1 -2
- package/dist/cjs/metric/JaroWinkler.cjs +1 -2
- package/dist/cjs/metric/LCS.cjs +1 -2
- package/dist/cjs/metric/Levenshtein.cjs +1 -2
- package/dist/cjs/metric/Metric.cjs +57 -38
- package/dist/cjs/metric/NeedlemanWunsch.cjs +1 -2
- package/dist/cjs/metric/QGram.cjs +1 -2
- package/dist/cjs/metric/SmithWaterman.cjs +1 -2
- package/dist/cjs/phonetic/Caverphone.cjs +1 -2
- package/dist/cjs/phonetic/Cologne.cjs +1 -2
- package/dist/cjs/phonetic/Metaphone.cjs +1 -2
- package/dist/cjs/phonetic/Phonetic.cjs +55 -35
- package/dist/cjs/phonetic/Soundex.cjs +1 -2
- package/dist/cjs/root.cjs +3 -2
- package/dist/cjs/utils/DeepMerge.cjs +10 -5
- package/dist/cjs/utils/DiffChecker.cjs +1 -2
- package/dist/cjs/utils/Errors.cjs +103 -0
- package/dist/cjs/utils/Filter.cjs +56 -27
- package/dist/cjs/utils/HashTable.cjs +1 -2
- package/dist/cjs/utils/Normalizer.cjs +54 -34
- package/dist/cjs/utils/Pool.cjs +42 -18
- package/dist/cjs/utils/Profiler.cjs +1 -2
- package/dist/cjs/utils/Registry.cjs +46 -22
- package/dist/cjs/utils/StructuredData.cjs +13 -5
- package/dist/cjs/utils/TextAnalyzer.cjs +1 -2
- package/dist/esm/CmpStr.mjs +56 -32
- package/dist/esm/CmpStrAsync.mjs +26 -20
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/metric/Cosine.mjs +1 -2
- package/dist/esm/metric/DamerauLevenshtein.mjs +1 -2
- package/dist/esm/metric/DiceSorensen.mjs +1 -2
- package/dist/esm/metric/Hamming.mjs +5 -4
- package/dist/esm/metric/Jaccard.mjs +1 -2
- package/dist/esm/metric/JaroWinkler.mjs +1 -2
- package/dist/esm/metric/LCS.mjs +1 -2
- package/dist/esm/metric/Levenshtein.mjs +1 -2
- package/dist/esm/metric/Metric.mjs +59 -38
- package/dist/esm/metric/NeedlemanWunsch.mjs +1 -2
- package/dist/esm/metric/QGram.mjs +1 -2
- package/dist/esm/metric/SmithWaterman.mjs +1 -2
- package/dist/esm/phonetic/Caverphone.mjs +1 -2
- package/dist/esm/phonetic/Cologne.mjs +1 -2
- package/dist/esm/phonetic/Metaphone.mjs +1 -2
- package/dist/esm/phonetic/Phonetic.mjs +55 -35
- package/dist/esm/phonetic/Soundex.mjs +1 -2
- package/dist/esm/root.mjs +3 -2
- package/dist/esm/utils/DeepMerge.mjs +10 -5
- package/dist/esm/utils/DiffChecker.mjs +1 -2
- package/dist/esm/utils/Errors.mjs +103 -0
- package/dist/esm/utils/Filter.mjs +56 -27
- package/dist/esm/utils/HashTable.mjs +1 -2
- package/dist/esm/utils/Normalizer.mjs +54 -34
- package/dist/esm/utils/Pool.mjs +38 -18
- package/dist/esm/utils/Profiler.mjs +1 -2
- package/dist/esm/utils/Registry.mjs +46 -22
- package/dist/esm/utils/StructuredData.mjs +13 -5
- package/dist/esm/utils/TextAnalyzer.mjs +1 -2
- package/dist/types/CmpStr.d.ts +12 -6
- package/dist/types/CmpStrAsync.d.ts +6 -4
- package/dist/types/index.d.ts +3 -2
- package/dist/types/metric/Cosine.d.ts +2 -1
- package/dist/types/metric/DamerauLevenshtein.d.ts +2 -1
- package/dist/types/metric/DiceSorensen.d.ts +2 -1
- package/dist/types/metric/Hamming.d.ts +2 -1
- package/dist/types/metric/Jaccard.d.ts +2 -1
- package/dist/types/metric/JaroWinkler.d.ts +2 -1
- package/dist/types/metric/LCS.d.ts +2 -1
- package/dist/types/metric/Levenshtein.d.ts +2 -1
- package/dist/types/metric/Metric.d.ts +7 -5
- package/dist/types/metric/NeedlemanWunsch.d.ts +2 -1
- package/dist/types/metric/QGram.d.ts +2 -1
- package/dist/types/metric/SmithWaterman.d.ts +2 -1
- package/dist/types/metric/index.d.ts +1 -0
- package/dist/types/phonetic/Caverphone.d.ts +2 -1
- package/dist/types/phonetic/Cologne.d.ts +2 -1
- package/dist/types/phonetic/Metaphone.d.ts +2 -1
- package/dist/types/phonetic/Phonetic.d.ts +4 -1
- package/dist/types/phonetic/Soundex.d.ts +2 -1
- package/dist/types/phonetic/index.d.ts +1 -0
- package/dist/types/root.d.ts +2 -1
- package/dist/types/utils/DeepMerge.d.ts +3 -2
- package/dist/types/utils/DiffChecker.d.ts +2 -1
- package/dist/types/utils/Errors.d.ts +137 -0
- package/dist/types/utils/Filter.d.ts +33 -22
- package/dist/types/utils/HashTable.d.ts +2 -1
- package/dist/types/utils/Normalizer.d.ts +5 -1
- package/dist/types/utils/Pool.d.ts +4 -1
- package/dist/types/utils/Profiler.d.ts +3 -2
- package/dist/types/utils/Registry.d.ts +5 -4
- package/dist/types/utils/StructuredData.d.ts +5 -2
- package/dist/types/utils/TextAnalyzer.d.ts +2 -1
- package/dist/types/utils/Types.d.ts +34 -2
- package/package.json +10 -7
- package/dist/CmpStr.esm.js.map +0 -1
- package/dist/CmpStr.esm.min.js.map +0 -1
- package/dist/CmpStr.umd.js.map +0 -1
- package/dist/CmpStr.umd.min.js.map +0 -1
- package/dist/cjs/CmpStr.cjs.map +0 -1
- package/dist/cjs/CmpStrAsync.cjs.map +0 -1
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/metric/Cosine.cjs.map +0 -1
- package/dist/cjs/metric/DamerauLevenshtein.cjs.map +0 -1
- package/dist/cjs/metric/DiceSorensen.cjs.map +0 -1
- package/dist/cjs/metric/Hamming.cjs.map +0 -1
- package/dist/cjs/metric/Jaccard.cjs.map +0 -1
- package/dist/cjs/metric/JaroWinkler.cjs.map +0 -1
- package/dist/cjs/metric/LCS.cjs.map +0 -1
- package/dist/cjs/metric/Levenshtein.cjs.map +0 -1
- package/dist/cjs/metric/Metric.cjs.map +0 -1
- package/dist/cjs/metric/NeedlemanWunsch.cjs.map +0 -1
- package/dist/cjs/metric/QGram.cjs.map +0 -1
- package/dist/cjs/metric/SmithWaterman.cjs.map +0 -1
- package/dist/cjs/phonetic/Caverphone.cjs.map +0 -1
- package/dist/cjs/phonetic/Cologne.cjs.map +0 -1
- package/dist/cjs/phonetic/Metaphone.cjs.map +0 -1
- package/dist/cjs/phonetic/Phonetic.cjs.map +0 -1
- package/dist/cjs/phonetic/Soundex.cjs.map +0 -1
- package/dist/cjs/root.cjs.map +0 -1
- package/dist/cjs/utils/DeepMerge.cjs.map +0 -1
- package/dist/cjs/utils/DiffChecker.cjs.map +0 -1
- package/dist/cjs/utils/Filter.cjs.map +0 -1
- package/dist/cjs/utils/HashTable.cjs.map +0 -1
- package/dist/cjs/utils/Normalizer.cjs.map +0 -1
- package/dist/cjs/utils/Pool.cjs.map +0 -1
- package/dist/cjs/utils/Profiler.cjs.map +0 -1
- package/dist/cjs/utils/Registry.cjs.map +0 -1
- package/dist/cjs/utils/StructuredData.cjs.map +0 -1
- package/dist/cjs/utils/TextAnalyzer.cjs.map +0 -1
- package/dist/esm/CmpStr.mjs.map +0 -1
- package/dist/esm/CmpStrAsync.mjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/metric/Cosine.mjs.map +0 -1
- package/dist/esm/metric/DamerauLevenshtein.mjs.map +0 -1
- package/dist/esm/metric/DiceSorensen.mjs.map +0 -1
- package/dist/esm/metric/Hamming.mjs.map +0 -1
- package/dist/esm/metric/Jaccard.mjs.map +0 -1
- package/dist/esm/metric/JaroWinkler.mjs.map +0 -1
- package/dist/esm/metric/LCS.mjs.map +0 -1
- package/dist/esm/metric/Levenshtein.mjs.map +0 -1
- package/dist/esm/metric/Metric.mjs.map +0 -1
- package/dist/esm/metric/NeedlemanWunsch.mjs.map +0 -1
- package/dist/esm/metric/QGram.mjs.map +0 -1
- package/dist/esm/metric/SmithWaterman.mjs.map +0 -1
- package/dist/esm/phonetic/Caverphone.mjs.map +0 -1
- package/dist/esm/phonetic/Cologne.mjs.map +0 -1
- package/dist/esm/phonetic/Metaphone.mjs.map +0 -1
- package/dist/esm/phonetic/Phonetic.mjs.map +0 -1
- package/dist/esm/phonetic/Soundex.mjs.map +0 -1
- package/dist/esm/root.mjs.map +0 -1
- package/dist/esm/utils/DeepMerge.mjs.map +0 -1
- package/dist/esm/utils/DiffChecker.mjs.map +0 -1
- package/dist/esm/utils/Filter.mjs.map +0 -1
- package/dist/esm/utils/HashTable.mjs.map +0 -1
- package/dist/esm/utils/Normalizer.mjs.map +0 -1
- package/dist/esm/utils/Pool.mjs.map +0 -1
- package/dist/esm/utils/Profiler.mjs.map +0 -1
- package/dist/esm/utils/Registry.mjs.map +0 -1
- package/dist/esm/utils/StructuredData.mjs.map +0 -1
- package/dist/esm/utils/TextAnalyzer.mjs.map +0 -1
|
@@ -9,10 +9,37 @@
|
|
|
9
9
|
* All interfaces are designed for extensibility and clarity, supporting both internal
|
|
10
10
|
* implementation and external usage in user code.
|
|
11
11
|
*
|
|
12
|
-
* @module Utils
|
|
12
|
+
* @module Utils
|
|
13
|
+
* @name Types
|
|
13
14
|
* @author Paul Köhler (komed3)
|
|
14
15
|
* @license MIT
|
|
15
16
|
*/
|
|
17
|
+
/**
|
|
18
|
+
* ================================================================================
|
|
19
|
+
* ERROR HANDLING
|
|
20
|
+
* ================================================================================
|
|
21
|
+
*
|
|
22
|
+
* Types for standardized error classes and structured error metadata.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Metadata attached to a CmpStr error.
|
|
26
|
+
*/
|
|
27
|
+
export type CmpStrErrorMeta = Record<string, any> | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Structured format for CmpStr errors when serialized to JSON.
|
|
30
|
+
*/
|
|
31
|
+
export interface CmpStrErrorJSON {
|
|
32
|
+
name: string;
|
|
33
|
+
code: string;
|
|
34
|
+
message: string;
|
|
35
|
+
meta?: CmpStrErrorMeta;
|
|
36
|
+
when: string;
|
|
37
|
+
cause?: {
|
|
38
|
+
name: string;
|
|
39
|
+
message: string;
|
|
40
|
+
stack?: string;
|
|
41
|
+
} | unknown;
|
|
42
|
+
}
|
|
16
43
|
/**
|
|
17
44
|
* ================================================================================
|
|
18
45
|
* PROFILER & POOL UTILITIES
|
|
@@ -88,6 +115,11 @@ export type NormalizerFn = (input: string) => string;
|
|
|
88
115
|
* Each character or substring corresponds to a specific normalization operation.
|
|
89
116
|
*/
|
|
90
117
|
export type NormalizeFlags = string;
|
|
118
|
+
/**
|
|
119
|
+
* FilterHooks enumerates the supported filter hook names.
|
|
120
|
+
* Allows for custom string keys as well.
|
|
121
|
+
*/
|
|
122
|
+
export type FilterHooks = 'input' | (string & {});
|
|
91
123
|
/**
|
|
92
124
|
* FilterFn defines the signature for a filter function.
|
|
93
125
|
* It takes a string and returns the filtered string.
|
|
@@ -422,7 +454,7 @@ export interface CmpStrOptions {
|
|
|
422
454
|
*/
|
|
423
455
|
export interface StructuredDataResult<T = any, R = MetricRaw> {
|
|
424
456
|
obj: T;
|
|
425
|
-
key:
|
|
457
|
+
key: keyof T;
|
|
426
458
|
result: CmpStrResult;
|
|
427
459
|
raw?: R;
|
|
428
460
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "cmpstr",
|
|
3
3
|
"description": "CmpStr is a lightweight, fast and well performing package for calculating string similarity",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "3.2.
|
|
5
|
+
"version": "3.2.2",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "komed3 (Paul Köhler)",
|
|
8
8
|
"email": "webmaster@komed3.de",
|
|
@@ -93,21 +93,24 @@
|
|
|
93
93
|
"test": "vitest run",
|
|
94
94
|
"build": "rollup -c && tsc --project tsconfig.declaration.json",
|
|
95
95
|
"lint": "tsc --project tsconfig.lint.json",
|
|
96
|
-
"clean": "rm -rf dist"
|
|
96
|
+
"clean": "rm -rf dist",
|
|
97
|
+
"docs": "typedoc --logLevel Verbose --options typedoc.json"
|
|
97
98
|
},
|
|
98
99
|
"devDependencies": {
|
|
99
|
-
"@rollup/plugin-commonjs": "^29.0.
|
|
100
|
+
"@rollup/plugin-commonjs": "^29.0.2",
|
|
100
101
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
101
|
-
"@rollup/plugin-terser": "^0.
|
|
102
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
102
103
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
103
|
-
"@types/node": "^25.0
|
|
104
|
+
"@types/node": "^25.4.0",
|
|
104
105
|
"package-verify": "^1.0.3",
|
|
105
106
|
"prettier": "^3.8.1",
|
|
106
|
-
"rollup": "^4.
|
|
107
|
+
"rollup": "^4.59.0",
|
|
107
108
|
"rollup-plugin-cleanup": "^3.2.1",
|
|
108
109
|
"rollup-plugin-prettier": "^4.1.2",
|
|
109
110
|
"tslib": "^2.8.1",
|
|
111
|
+
"typedoc": "^0.28.17",
|
|
112
|
+
"typedoc-github-theme": "^0.4.0",
|
|
110
113
|
"typescript": "^5.9.3",
|
|
111
|
-
"vitest": "^4.0.
|
|
114
|
+
"vitest": "^4.0.18"
|
|
112
115
|
}
|
|
113
116
|
}
|