cmpstr 3.0.3 → 3.0.4

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.
Files changed (127) hide show
  1. package/dist/CmpStr.esm.js +2228 -4944
  2. package/dist/CmpStr.esm.js.map +1 -1
  3. package/dist/CmpStr.esm.min.js +1 -1
  4. package/dist/CmpStr.umd.js +2348 -5040
  5. package/dist/CmpStr.umd.js.map +1 -1
  6. package/dist/CmpStr.umd.min.js +1 -1
  7. package/dist/cjs/CmpStr.cjs +1 -405
  8. package/dist/cjs/CmpStr.cjs.map +1 -1
  9. package/dist/cjs/CmpStrAsync.cjs +1 -221
  10. package/dist/cjs/CmpStrAsync.cjs.map +1 -1
  11. package/dist/cjs/index.cjs +1 -1
  12. package/dist/cjs/metric/Cosine.cjs +1 -56
  13. package/dist/cjs/metric/Cosine.cjs.map +1 -1
  14. package/dist/cjs/metric/DamerauLevenshtein.cjs +2 -64
  15. package/dist/cjs/metric/DamerauLevenshtein.cjs.map +1 -1
  16. package/dist/cjs/metric/DiceSorensen.cjs +1 -56
  17. package/dist/cjs/metric/DiceSorensen.cjs.map +1 -1
  18. package/dist/cjs/metric/Hamming.cjs +2 -51
  19. package/dist/cjs/metric/Hamming.cjs.map +1 -1
  20. package/dist/cjs/metric/Jaccard.cjs +1 -48
  21. package/dist/cjs/metric/Jaccard.cjs.map +1 -1
  22. package/dist/cjs/metric/JaroWinkler.cjs +1 -53
  23. package/dist/cjs/metric/JaroWinkler.cjs.map +1 -1
  24. package/dist/cjs/metric/LCS.cjs +1 -54
  25. package/dist/cjs/metric/LCS.cjs.map +1 -1
  26. package/dist/cjs/metric/Levenshtein.cjs +2 -60
  27. package/dist/cjs/metric/Levenshtein.cjs.map +1 -1
  28. package/dist/cjs/metric/Metric.cjs +1 -261
  29. package/dist/cjs/metric/Metric.cjs.map +1 -1
  30. package/dist/cjs/metric/NeedlemanWunsch.cjs +4 -56
  31. package/dist/cjs/metric/NeedlemanWunsch.cjs.map +1 -1
  32. package/dist/cjs/metric/SmithWaterman.cjs +4 -58
  33. package/dist/cjs/metric/SmithWaterman.cjs.map +1 -1
  34. package/dist/cjs/metric/qGram.cjs +1 -55
  35. package/dist/cjs/metric/qGram.cjs.map +1 -1
  36. package/dist/cjs/phonetic/Caverphone.cjs +1 -78
  37. package/dist/cjs/phonetic/Caverphone.cjs.map +1 -1
  38. package/dist/cjs/phonetic/Cologne.cjs +1 -43
  39. package/dist/cjs/phonetic/Cologne.cjs.map +1 -1
  40. package/dist/cjs/phonetic/Metaphone.cjs +1 -76
  41. package/dist/cjs/phonetic/Metaphone.cjs.map +1 -1
  42. package/dist/cjs/phonetic/Phonetic.cjs +1 -261
  43. package/dist/cjs/phonetic/Phonetic.cjs.map +1 -1
  44. package/dist/cjs/phonetic/Soundex.cjs +1 -47
  45. package/dist/cjs/phonetic/Soundex.cjs.map +1 -1
  46. package/dist/cjs/root.cjs +37 -0
  47. package/dist/cjs/root.cjs.map +1 -0
  48. package/dist/cjs/utils/DeepMerge.cjs +8 -75
  49. package/dist/cjs/utils/DeepMerge.cjs.map +1 -1
  50. package/dist/cjs/utils/DiffChecker.cjs +2 -190
  51. package/dist/cjs/utils/DiffChecker.cjs.map +1 -1
  52. package/dist/cjs/utils/Filter.cjs +1 -112
  53. package/dist/cjs/utils/Filter.cjs.map +1 -1
  54. package/dist/cjs/utils/HashTable.cjs +1 -99
  55. package/dist/cjs/utils/HashTable.cjs.map +1 -1
  56. package/dist/cjs/utils/Normalizer.cjs +3 -94
  57. package/dist/cjs/utils/Normalizer.cjs.map +1 -1
  58. package/dist/cjs/utils/Pool.cjs +1 -105
  59. package/dist/cjs/utils/Pool.cjs.map +1 -1
  60. package/dist/cjs/utils/Profiler.cjs +1 -133
  61. package/dist/cjs/utils/Profiler.cjs.map +1 -1
  62. package/dist/cjs/utils/Registry.cjs +1 -89
  63. package/dist/cjs/utils/Registry.cjs.map +1 -1
  64. package/dist/cjs/utils/TextAnalyzer.cjs +1 -180
  65. package/dist/cjs/utils/TextAnalyzer.cjs.map +1 -1
  66. package/dist/esm/CmpStr.mjs +1 -405
  67. package/dist/esm/CmpStr.mjs.map +1 -1
  68. package/dist/esm/CmpStrAsync.mjs +1 -221
  69. package/dist/esm/CmpStrAsync.mjs.map +1 -1
  70. package/dist/esm/index.mjs +1 -1
  71. package/dist/esm/metric/Cosine.mjs +1 -56
  72. package/dist/esm/metric/Cosine.mjs.map +1 -1
  73. package/dist/esm/metric/DamerauLevenshtein.mjs +2 -64
  74. package/dist/esm/metric/DamerauLevenshtein.mjs.map +1 -1
  75. package/dist/esm/metric/DiceSorensen.mjs +1 -56
  76. package/dist/esm/metric/DiceSorensen.mjs.map +1 -1
  77. package/dist/esm/metric/Hamming.mjs +2 -51
  78. package/dist/esm/metric/Hamming.mjs.map +1 -1
  79. package/dist/esm/metric/Jaccard.mjs +1 -48
  80. package/dist/esm/metric/Jaccard.mjs.map +1 -1
  81. package/dist/esm/metric/JaroWinkler.mjs +1 -53
  82. package/dist/esm/metric/JaroWinkler.mjs.map +1 -1
  83. package/dist/esm/metric/LCS.mjs +1 -54
  84. package/dist/esm/metric/LCS.mjs.map +1 -1
  85. package/dist/esm/metric/Levenshtein.mjs +2 -60
  86. package/dist/esm/metric/Levenshtein.mjs.map +1 -1
  87. package/dist/esm/metric/Metric.mjs +1 -261
  88. package/dist/esm/metric/Metric.mjs.map +1 -1
  89. package/dist/esm/metric/NeedlemanWunsch.mjs +4 -56
  90. package/dist/esm/metric/NeedlemanWunsch.mjs.map +1 -1
  91. package/dist/esm/metric/SmithWaterman.mjs +4 -58
  92. package/dist/esm/metric/SmithWaterman.mjs.map +1 -1
  93. package/dist/esm/metric/qGram.mjs +1 -55
  94. package/dist/esm/metric/qGram.mjs.map +1 -1
  95. package/dist/esm/phonetic/Caverphone.mjs +1 -78
  96. package/dist/esm/phonetic/Caverphone.mjs.map +1 -1
  97. package/dist/esm/phonetic/Cologne.mjs +1 -43
  98. package/dist/esm/phonetic/Cologne.mjs.map +1 -1
  99. package/dist/esm/phonetic/Metaphone.mjs +1 -76
  100. package/dist/esm/phonetic/Metaphone.mjs.map +1 -1
  101. package/dist/esm/phonetic/Phonetic.mjs +1 -261
  102. package/dist/esm/phonetic/Phonetic.mjs.map +1 -1
  103. package/dist/esm/phonetic/Soundex.mjs +1 -47
  104. package/dist/esm/phonetic/Soundex.mjs.map +1 -1
  105. package/dist/esm/root.mjs +29 -0
  106. package/dist/esm/root.mjs.map +1 -0
  107. package/dist/esm/utils/DeepMerge.mjs +8 -76
  108. package/dist/esm/utils/DeepMerge.mjs.map +1 -1
  109. package/dist/esm/utils/DiffChecker.mjs +2 -190
  110. package/dist/esm/utils/DiffChecker.mjs.map +1 -1
  111. package/dist/esm/utils/Filter.mjs +1 -112
  112. package/dist/esm/utils/Filter.mjs.map +1 -1
  113. package/dist/esm/utils/HashTable.mjs +1 -99
  114. package/dist/esm/utils/HashTable.mjs.map +1 -1
  115. package/dist/esm/utils/Normalizer.mjs +3 -94
  116. package/dist/esm/utils/Normalizer.mjs.map +1 -1
  117. package/dist/esm/utils/Pool.mjs +1 -105
  118. package/dist/esm/utils/Pool.mjs.map +1 -1
  119. package/dist/esm/utils/Profiler.mjs +1 -133
  120. package/dist/esm/utils/Profiler.mjs.map +1 -1
  121. package/dist/esm/utils/Registry.mjs +1 -89
  122. package/dist/esm/utils/Registry.mjs.map +1 -1
  123. package/dist/esm/utils/TextAnalyzer.mjs +1 -180
  124. package/dist/esm/utils/TextAnalyzer.mjs.map +1 -1
  125. package/dist/types/index.d.ts +2 -2
  126. package/dist/types/root.d.ts +38 -0
  127. package/package.json +14 -8
@@ -1 +1 @@
1
- {"version":3,"file":"CmpStr.mjs","sources":["../../src/CmpStr.ts"],"sourcesContent":[null],"names":["DeepMerge.merge","DeepMerge.set","DeepMerge.rmv","DeepMerge.get"],"mappings":"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"}
1
+ {"version":3,"file":"CmpStr.mjs","sources":["../../src/CmpStr.ts"],"sourcesContent":[null],"names":["DeepMerge.merge","DeepMerge.set","DeepMerge.rmv","DeepMerge.get"],"mappings":"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"}
@@ -1,115 +1,30 @@
1
- // CmpStr v3.0.3 build-462b952-250813 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
2
2
  import { CmpStr } from './CmpStr.mjs';
3
3
  import { Normalizer } from './utils/Normalizer.mjs';
4
4
  import { Filter } from './utils/Filter.mjs';
5
5
  import { factory } from './utils/Registry.mjs';
6
6
 
7
- /**
8
- * CmpStrAsync Asynchronous API
9
- * src/CmpStrAsync.ts
10
- *
11
- * The CmpStrAsync class provides a fully asynchronous, Promise-based interface for
12
- * advanced string comparison, similarity measurement, phonetic indexing, filtering
13
- * and normalization. It extends the CmpStr class and overrides all relevant methods
14
- * to support non-blocking, scalable, and I/O-friendly workloads.
15
- *
16
- * Features:
17
- * - Asynchronous normalization, filtering, and metric computation
18
- * - Async batch, pairwise, and single string comparison with detailed results
19
- * - Async phonetic indexing and phonetic-aware search and comparison
20
- * - Full compatibility with the synchronous CmpStr API
21
- * - Designed for large-scale, high-performance, and server-side applications
22
- *
23
- * @module CmpStrAsync
24
- * @author Paul Köhler (komed3)
25
- * @license MIT
26
- */
27
- /**
28
- * The CmpStrAsync class provides a fully asynchronous API for string comparison,
29
- * phonetic indexing, filtering and normalization.
30
- *
31
- * @template R - The type of the metric result, defaults to MetricRaw
32
- */
33
7
  class CmpStrAsync extends CmpStr {
34
- /**
35
- * --------------------------------------------------------------------------------
36
- * Instanciate the CmpStrAsync class
37
- * --------------------------------------------------------------------------------
38
- *
39
- * Methods to create a new CmpStrAsync instance with the given options.
40
- * Using the static `create` method is recommended to ensure proper instantiation.
41
- */
42
- /**
43
- * Creates a new CmpStrAsync instance with the given options.
44
- *
45
- * @param {string|CmpStrOptions} [opt] - Optional serialized or options object
46
- * @returns {CmpStrAsync<R>} - A new CmpStrAsync instance
47
- */
48
8
  static create(opt) {
49
9
  return new CmpStrAsync(opt);
50
10
  }
51
- /**
52
- * Creates a new CmpStrAsync instance calliing the super constructor.
53
- *
54
- * @param {string|CmpStrOptions} [opt] - Optional serialized or options object
55
- */
56
11
  constructor(opt) {
57
12
  super(opt);
58
13
  }
59
- /**
60
- * ---------------------------------------------------------------------------------
61
- * Protected asynchronously utility methods for internal use
62
- * ---------------------------------------------------------------------------------
63
- *
64
- * These methods provide asynchronous normalization, filtering, and metric
65
- * computation capabilities, allowing for non-blocking operations.
66
- */
67
- /**
68
- * Asynchronously normalizes the input string or array using the configured or provided flags.
69
- *
70
- * @param {MetricInput} input - The input string or array
71
- * @param {NormalizeFlags} [flags] - Normalization flags
72
- * @returns {Promise<MetricInput>} - The normalized input
73
- */
74
14
  async normalizeAsync(input, flags) {
75
15
  return Normalizer.normalizeAsync(input, flags ?? this.options.flags ?? '');
76
16
  }
77
- /**
78
- * Asynchronously applies all active filters to the input string or array.
79
- *
80
- * @param {MetricInput} input - The input string or array
81
- * @param {string} [hook='input'] - The filter hook
82
- * @returns {Promise<MetricInput>} - The filtered string(s)
83
- */
84
17
  async filterAsync(input, hook) {
85
18
  return Filter.applyAsync(hook, input);
86
19
  }
87
- /**
88
- * Asynchronously prepares the input by normalizing and filtering.
89
- *
90
- * @param {MetricInput} [input] - The input string or array
91
- * @param {CmpStrOptions} [opt] - Optional options to use
92
- * @returns {Promise<MetricInput>} - The prepared input
93
- */
94
20
  async prepareAsync(input, opt) {
95
21
  const { flags, processors } = opt ?? this.options;
96
- // Normalize the input using flags (i.e., 'itw')
97
22
  if (flags?.length) input = await this.normalizeAsync(input, flags);
98
- // Filter the input using hooked up filters
99
23
  input = await this.filterAsync(input, 'input');
100
- // Apply phonetic processors if configured
101
24
  if (processors?.phonetic)
102
25
  input = await this.indexAsync(input, processors.phonetic);
103
26
  return input;
104
27
  }
105
- /**
106
- * Asynchronously computes the phonetic index for the given input using
107
- * the specified phonetic algorithm.
108
- *
109
- * @param {MetricInput} input - The input string or array
110
- * @param {{ algo: string, opt?: PhoneticOptions }} options - The phonetic algorithm and options
111
- * @returns {Promise<MetricInput>} - The phonetic index for the given input
112
- */
113
28
  async indexAsync(input, { algo, opt }) {
114
29
  this.assert('phonetic', algo);
115
30
  const phonetic = factory.phonetic(algo, opt);
@@ -122,26 +37,11 @@ class CmpStrAsync extends CmpStr {
122
37
  )
123
38
  : phonetic.getIndexAsync(input).then((r) => r.join(delimiter));
124
39
  }
125
- /**
126
- * Asynchronously computes the metric result for the given inputs, applying
127
- * normalization and filtering as configured.
128
- *
129
- * @template T - The type of the metric result
130
- * @param {MetricInput} a - The first input string or array
131
- * @param {MetricInput} b - The second input string or array
132
- * @param {CmpStrOptions} [opt] - Optional options to use
133
- * @param {MetricMode} [mode='single'] - The metric mode to use
134
- * @param {boolean} [raw=false] - Whether to return raw results
135
- * @param {boolean} [skip=false] - Whether to skip normalization and filtering
136
- * @returns {Promise<T>} - The computed metric result
137
- */
138
40
  async computeAsync(a, b, opt, mode, raw, skip) {
139
41
  const resolved = this.resolveOptions(opt);
140
42
  this.assert('metric', resolved.metric);
141
- // Prepare the input
142
43
  const A = skip ? a : await this.prepareAsync(a, resolved);
143
44
  const B = skip ? b : await this.prepareAsync(b, resolved);
144
- // If the inputs are empty and safeEmpty is enabled, return an empty array
145
45
  if (
146
46
  resolved.safeEmpty &&
147
47
  ((Array.isArray(A) && A.length === 0) ||
@@ -151,71 +51,21 @@ class CmpStrAsync extends CmpStr {
151
51
  ) {
152
52
  return [];
153
53
  }
154
- // Get the metric class
155
54
  const metric = factory.metric(resolved.metric, A, B, resolved.opt);
156
- // Pass the original inputs to the metric
157
55
  if (resolved.output !== 'prep') metric.setOriginal(a, b);
158
- // Compute the metric result
159
56
  await metric.runAsync(mode);
160
- // Post-process the results and concat the original inputs
161
57
  const result = this.postProcess(metric.getResults(), resolved);
162
- // Resolve and return the result based on the raw flag
163
58
  return this.output(result, raw ?? resolved.raw);
164
59
  }
165
- /**
166
- * ---------------------------------------------------------------------------------
167
- * Public asynchronously core methods for string comparison
168
- * ---------------------------------------------------------------------------------
169
- *
170
- * These methods provide the asynchronous core functionality for string comparison,
171
- * phonetic indexing and text search, allowing for non-blocking operations.
172
- */
173
- /**
174
- * Asynchronously performs a single metric comparison.
175
- *
176
- * @template T - The type of the metric result
177
- * @param {string} a - The source string
178
- * @param {string} b - The target string
179
- * @param {CmpStrOptions} [opt] - Optional options
180
- * @returns {Promise<T>} - The metric result
181
- */
182
60
  async testAsync(a, b, opt) {
183
61
  return this.computeAsync(a, b, opt, 'single');
184
62
  }
185
- /**
186
- * Asynchronously performs a single metric comparison returning the numeric score.
187
- *
188
- * @param {string} a - The source string
189
- * @param {string} b - The target string
190
- * @param {CmpStrOptions} [opt] - Optional options
191
- * @returns {Promise<number>} - The similarity score (0..1)
192
- */
193
63
  async compareAsync(a, b, opt) {
194
64
  return (await this.computeAsync(a, b, opt, 'single', true)).res;
195
65
  }
196
- /**
197
- * Asynchronously performs a batch metric comparison between source and target
198
- * strings or array of strings.
199
- *
200
- * @template T - The type of the metric result
201
- * @param {MetricInput} a - The source string or array of strings
202
- * @param {MetricInput} b - The target string or array of strings
203
- * @param {CmpStrOptions} [opt] - Optional options
204
- * @returns {Promise<T>} - The batch metric results
205
- */
206
66
  async batchTestAsync(a, b, opt) {
207
67
  return this.computeAsync(a, b, opt, 'batch');
208
68
  }
209
- /**
210
- * Asynchronously performs a batch metric comparison and returns results sorted by score.
211
- *
212
- * @template T - The type of the metric result
213
- * @param {MetricInput} a - The source string or array of strings
214
- * @param {MetricInput} b - The target string or array of strings
215
- * @param {'desc'|'asc'} [dir='desc'] - Sort direction (desc, asc)
216
- * @param {CmpStrOptions} [opt] - Optional options
217
- * @returns {Promise<T>} - The sorted batch results
218
- */
219
69
  async batchSortedAsync(a, b, dir = 'desc', opt) {
220
70
  const res = await this.computeAsync(a, b, opt, 'batch', true);
221
71
  return this.output(
@@ -223,32 +73,9 @@ class CmpStrAsync extends CmpStr {
223
73
  opt?.raw ?? this.options.raw
224
74
  );
225
75
  }
226
- /**
227
- * Asynchronously performs a pairwise metric comparison between source and target
228
- * strings or array of strings.
229
- *
230
- * @template T - The type of the metric result
231
- * Input arrays needs of the same length to perform pairwise comparison,
232
- * otherwise the method will throw an error.
233
- *
234
- * @param {MetricInput} a - The source string or array of strings
235
- * @param {MetricInput} b - The target string or array of strings
236
- * @param {CmpStrOptions} [opt] - Optional options
237
- * @returns {Promise<T>} - The pairwise metric results
238
- */
239
76
  async pairsAsync(a, b, opt) {
240
77
  return this.computeAsync(a, b, opt, 'pairwise');
241
78
  }
242
- /**
243
- * Asynchronously performs a batch comparison and returns only results above the threshold.
244
- *
245
- * @template T - The type of the metric result
246
- * @param {MetricInput} a - The source string or array of strings
247
- * @param {MetricInput} b - The target string or array of strings
248
- * @param {number} threshold - The similarity threshold (0..1)
249
- * @param {CmpStrOptions} [opt] - Optional options
250
- * @returns {Promise<T>} - The filtered batch results
251
- */
252
79
  async matchAsync(a, b, threshold, opt) {
253
80
  const res = await this.computeAsync(a, b, opt, 'batch', true);
254
81
  return this.output(
@@ -256,56 +83,18 @@ class CmpStrAsync extends CmpStr {
256
83
  opt?.raw ?? this.options.raw
257
84
  );
258
85
  }
259
- /**
260
- * Asynchronously returns the n closest matches from a batch comparison.
261
- *
262
- * @template T - The type of the metric result
263
- * @param {MetricInput} a - The source string or array of strings
264
- * @param {MetricInput} b - The target string or array of strings
265
- * @param {number} [n=1] - Number of closest matches
266
- * @param {CmpStrOptions} [opt] - Optional options
267
- * @returns {Promise<T>} - The closest matches
268
- */
269
86
  async closestAsync(a, b, n = 1, opt) {
270
87
  return (await this.batchSortedAsync(a, b, 'desc', opt)).slice(0, n);
271
88
  }
272
- /**
273
- * Asynchronously returns the n furthest matches from a batch comparison.
274
- *
275
- * @template T - The type of the metric result
276
- * @param {MetricInput} a - The source string or array of strings
277
- * @param {MetricInput} b - The target string or array of strings
278
- * @param {number} [n=1] - Number of furthest matches
279
- * @param {CmpStrOptions} [opt] - Optional options
280
- * @returns {Promise<T>} - The furthest matches
281
- */
282
89
  async furthestAsync(a, b, n = 1, opt) {
283
90
  return (await this.batchSortedAsync(a, b, 'asc', opt)).slice(0, n);
284
91
  }
285
- /**
286
- * Asynchronously performs a normalized and filtered substring search.
287
- *
288
- * @param {string} needle - The search string
289
- * @param {string[]} haystack - The array to search in
290
- * @param {NormalizeFlags} [flags] - Normalization flags
291
- * @param {CmpStrProcessors} [processors] - Pre-processors to apply
292
- * @returns {Promise<string[]>} - Array of matching entries
293
- */
294
92
  async searchAsync(needle, haystack, flags, processors) {
295
93
  const resolved = this.resolveOptions({ flags, processors });
296
- // Prepare the needle and haystack, normalizing and filtering them
297
94
  const test = await this.prepareAsync(needle, resolved);
298
95
  const hstk = await this.prepareAsync(haystack, resolved);
299
- // Filter the haystack based on the normalized test string
300
96
  return haystack.filter((_, i) => hstk[i].includes(test));
301
97
  }
302
- /**
303
- * Asynchronously computes a similarity matrix for the given input array.
304
- *
305
- * @param {string[]} input - The input array
306
- * @param {CmpStrOptions} [opt] - Optional options
307
- * @returns {Promise<number[][]>} - The similarity matrix
308
- */
309
98
  async matrixAsync(input, opt) {
310
99
  input = await this.prepareAsync(input, this.resolveOptions(opt));
311
100
  return Promise.all(
@@ -322,15 +111,6 @@ class CmpStrAsync extends CmpStr {
322
111
  )
323
112
  );
324
113
  }
325
- /**
326
- * Asynchronously computes the phonetic index for a string using the
327
- * configured or given algorithm.
328
- *
329
- * @param {string} [input] - The input string
330
- * @param {string} [algo] - The phonetic algorithm to use
331
- * @param {PhoneticOptions} [opt] - Optional phonetic options
332
- * @returns {Promise<string>} - The phonetic index as a string
333
- */
334
114
  async phoneticIndexAsync(input, algo, opt) {
335
115
  const { algo: a, opt: o } = this.options.processors?.phonetic ?? {};
336
116
  return this.indexAsync(input, { algo: algo ?? a, opt: opt ?? o });
@@ -1 +1 @@
1
- {"version":3,"file":"CmpStrAsync.mjs","sources":["../../src/CmpStrAsync.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmpStrAsync.mjs","sources":["../../src/CmpStrAsync.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.3 build-462b952-250813 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
2
2
  export { CmpStr } from './CmpStr.mjs';
3
3
  export { CmpStrAsync } from './CmpStrAsync.mjs';
4
4
  export { DiffChecker } from './utils/DiffChecker.mjs';
@@ -1,88 +1,34 @@
1
- // CmpStr v3.0.3 build-462b952-250813 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
2
2
  import { MetricRegistry, Metric } from './Metric.mjs';
3
3
  import { Pool } from '../utils/Pool.mjs';
4
4
 
5
- /**
6
- * Cosine Similarity
7
- * src/metric/Cosine.ts
8
- *
9
- * @see https://en.wikipedia.org/wiki/Cosine_similarity
10
- *
11
- * Cosine similarity is a metric used to measure how similar two vectors are, regardless
12
- * of their magnitude. In text analysis, it is commonly used to compare documents or
13
- * strings by representing them as term frequency vectors and computing the cosine of
14
- * the angle between these vectors.
15
- *
16
- * The result is a value between 0 and 1, where 1 means the vectors are identical and
17
- * 0 means they are orthogonal (no similarity).
18
- *
19
- * @module Metric/CosineSimilarity
20
- * @author Paul Köhler (komed3)
21
- * @license MIT
22
- */
23
- /**
24
- * CosineSimilarity class extends the Metric class to implement the Cosine similarity algorithm.
25
- */
26
5
  class CosineSimilarity extends Metric {
27
- /**
28
- * Constructor for the CosineSimilarity class.
29
- *
30
- * Initializes the Cosine similarity metric with two input strings or
31
- * arrays of strings and optional options.
32
- *
33
- * @param {MetricInput} a - First input string or array of strings
34
- * @param {MetricInput} b - Second input string or array of strings
35
- * @param {MetricOptions} [opt] - Options for the metric computation
36
- */
37
6
  constructor(a, b, opt = {}) {
38
- // Call the parent Metric constructor with the metric name and inputs
39
- // Metric is symmetrical
40
7
  super('cosine', a, b, opt, true);
41
8
  }
42
- /**
43
- * Calculates the term frequency vector for a given string.
44
- *
45
- * @param {string} str - The input string
46
- * @param {string} delimiter - The delimiter to split terms
47
- * @return {Map<string, number>} - Term frequency object
48
- */
49
9
  _termFreq(str, delimiter) {
50
10
  const terms = str.split(delimiter);
51
11
  const freq = Pool.acquire('map', terms.length);
52
12
  for (const term of terms) freq.set(term, (freq.get(term) || 0) + 1);
53
13
  return freq;
54
14
  }
55
- /**
56
- * Calculates the Cosine similarity between two strings.
57
- *
58
- * @param {string} a - First string
59
- * @param {string} b - Second string
60
- * @return {MetricCompute<CosineRaw>} - Object containing the similarity result and raw values
61
- */
62
15
  compute(a, b) {
63
- // Get delimiter from options or use default (space)
64
16
  const { delimiter = ' ' } = this.options;
65
- // Compute term frequency vectors
66
17
  const termsA = this._termFreq(a, delimiter);
67
18
  const termsB = this._termFreq(b, delimiter);
68
- // Calculate dot product and magnitudes
69
19
  let dotProduct = 0,
70
20
  magnitudeA = 0,
71
21
  magnitudeB = 0;
72
- // Iterate over terms in A for dotProduct and magnitudeA
73
22
  for (const [term, freqA] of termsA) {
74
23
  const freqB = termsB.get(term) || 0;
75
24
  dotProduct += freqA * freqB;
76
25
  magnitudeA += freqA * freqA;
77
26
  }
78
- // Iterate over terms in B for magnitudeB
79
27
  for (const freqB of termsB.values()) magnitudeB += freqB * freqB;
80
28
  magnitudeA = Math.sqrt(magnitudeA);
81
29
  magnitudeB = Math.sqrt(magnitudeB);
82
- // Release maps back to the pool
83
30
  Pool.release('map', termsA, termsA.size);
84
31
  Pool.release('map', termsB, termsB.size);
85
- // Return the result as a MetricCompute object
86
32
  return {
87
33
  res:
88
34
  magnitudeA && magnitudeB
@@ -92,7 +38,6 @@ class CosineSimilarity extends Metric {
92
38
  };
93
39
  }
94
40
  }
95
- // Register the Cosine similarity in the metric registry
96
41
  MetricRegistry.add('cosine', CosineSimilarity);
97
42
 
98
43
  export { CosineSimilarity };