cmpstr 3.0.4 → 3.1.0

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 (89) hide show
  1. package/README.md +2 -1
  2. package/dist/CmpStr.esm.js +345 -90
  3. package/dist/CmpStr.esm.js.map +1 -1
  4. package/dist/CmpStr.esm.min.js +3 -3
  5. package/dist/CmpStr.esm.min.js.map +1 -1
  6. package/dist/CmpStr.umd.js +342 -89
  7. package/dist/CmpStr.umd.js.map +1 -1
  8. package/dist/CmpStr.umd.min.js +3 -3
  9. package/dist/CmpStr.umd.min.js.map +1 -1
  10. package/dist/cjs/CmpStr.cjs +41 -1
  11. package/dist/cjs/CmpStr.cjs.map +1 -1
  12. package/dist/cjs/CmpStrAsync.cjs +38 -1
  13. package/dist/cjs/CmpStrAsync.cjs.map +1 -1
  14. package/dist/cjs/index.cjs +1 -1
  15. package/dist/cjs/metric/Cosine.cjs +1 -1
  16. package/dist/cjs/metric/DamerauLevenshtein.cjs +1 -1
  17. package/dist/cjs/metric/DiceSorensen.cjs +1 -1
  18. package/dist/cjs/metric/Hamming.cjs +1 -1
  19. package/dist/cjs/metric/Jaccard.cjs +1 -1
  20. package/dist/cjs/metric/JaroWinkler.cjs +1 -1
  21. package/dist/cjs/metric/LCS.cjs +1 -1
  22. package/dist/cjs/metric/Levenshtein.cjs +1 -1
  23. package/dist/cjs/metric/Metric.cjs +1 -1
  24. package/dist/cjs/metric/NeedlemanWunsch.cjs +1 -1
  25. package/dist/cjs/metric/SmithWaterman.cjs +1 -1
  26. package/dist/cjs/metric/qGram.cjs +1 -1
  27. package/dist/cjs/phonetic/Caverphone.cjs +1 -1
  28. package/dist/cjs/phonetic/Cologne.cjs +1 -1
  29. package/dist/cjs/phonetic/Metaphone.cjs +1 -1
  30. package/dist/cjs/phonetic/Phonetic.cjs +1 -1
  31. package/dist/cjs/phonetic/Soundex.cjs +1 -1
  32. package/dist/cjs/root.cjs +13 -1
  33. package/dist/cjs/root.cjs.map +1 -1
  34. package/dist/cjs/utils/DeepMerge.cjs +1 -1
  35. package/dist/cjs/utils/DiffChecker.cjs +1 -1
  36. package/dist/cjs/utils/Filter.cjs +1 -1
  37. package/dist/cjs/utils/HashTable.cjs +1 -1
  38. package/dist/cjs/utils/Normalizer.cjs +1 -1
  39. package/dist/cjs/utils/Pool.cjs +10 -1
  40. package/dist/cjs/utils/Pool.cjs.map +1 -1
  41. package/dist/cjs/utils/Profiler.cjs +1 -1
  42. package/dist/cjs/utils/Registry.cjs +1 -1
  43. package/dist/cjs/utils/StructuredData.cjs +145 -0
  44. package/dist/cjs/utils/StructuredData.cjs.map +1 -0
  45. package/dist/cjs/utils/TextAnalyzer.cjs +1 -1
  46. package/dist/esm/CmpStr.mjs +41 -1
  47. package/dist/esm/CmpStr.mjs.map +1 -1
  48. package/dist/esm/CmpStrAsync.mjs +38 -1
  49. package/dist/esm/CmpStrAsync.mjs.map +1 -1
  50. package/dist/esm/index.mjs +1 -1
  51. package/dist/esm/metric/Cosine.mjs +1 -1
  52. package/dist/esm/metric/DamerauLevenshtein.mjs +1 -1
  53. package/dist/esm/metric/DiceSorensen.mjs +1 -1
  54. package/dist/esm/metric/Hamming.mjs +1 -1
  55. package/dist/esm/metric/Jaccard.mjs +1 -1
  56. package/dist/esm/metric/JaroWinkler.mjs +1 -1
  57. package/dist/esm/metric/LCS.mjs +1 -1
  58. package/dist/esm/metric/Levenshtein.mjs +1 -1
  59. package/dist/esm/metric/Metric.mjs +1 -1
  60. package/dist/esm/metric/NeedlemanWunsch.mjs +1 -1
  61. package/dist/esm/metric/SmithWaterman.mjs +1 -1
  62. package/dist/esm/metric/qGram.mjs +1 -1
  63. package/dist/esm/phonetic/Caverphone.mjs +1 -1
  64. package/dist/esm/phonetic/Cologne.mjs +1 -1
  65. package/dist/esm/phonetic/Metaphone.mjs +1 -1
  66. package/dist/esm/phonetic/Phonetic.mjs +1 -1
  67. package/dist/esm/phonetic/Soundex.mjs +1 -1
  68. package/dist/esm/root.mjs +7 -1
  69. package/dist/esm/root.mjs.map +1 -1
  70. package/dist/esm/utils/DeepMerge.mjs +1 -1
  71. package/dist/esm/utils/DiffChecker.mjs +1 -1
  72. package/dist/esm/utils/Filter.mjs +1 -1
  73. package/dist/esm/utils/HashTable.mjs +1 -1
  74. package/dist/esm/utils/Normalizer.mjs +1 -1
  75. package/dist/esm/utils/Pool.mjs +10 -1
  76. package/dist/esm/utils/Pool.mjs.map +1 -1
  77. package/dist/esm/utils/Profiler.mjs +1 -1
  78. package/dist/esm/utils/Registry.mjs +1 -1
  79. package/dist/esm/utils/StructuredData.mjs +143 -0
  80. package/dist/esm/utils/StructuredData.mjs.map +1 -0
  81. package/dist/esm/utils/TextAnalyzer.mjs +1 -1
  82. package/dist/types/CmpStr.d.ts +90 -8
  83. package/dist/types/CmpStrAsync.d.ts +82 -8
  84. package/dist/types/index.d.ts +3 -2
  85. package/dist/types/root.d.ts +3 -2
  86. package/dist/types/utils/Pool.d.ts +2 -2
  87. package/dist/types/utils/StructuredData.d.ts +162 -0
  88. package/dist/types/utils/Types.d.ts +35 -1
  89. package/package.json +52 -17
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 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
 
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import { Registry } from '../utils/Registry.mjs';
3
3
  import { HashTable } from '../utils/HashTable.mjs';
4
4
  import { Profiler } from '../utils/Profiler.mjs';
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 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
 
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 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
 
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 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
 
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import {
3
3
  PhoneticRegistry,
4
4
  PhoneticMappingRegistry,
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import {
3
3
  PhoneticRegistry,
4
4
  PhoneticMappingRegistry,
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import {
3
3
  PhoneticRegistry,
4
4
  PhoneticMappingRegistry,
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import { merge } from '../utils/DeepMerge.mjs';
3
3
  import { Registry } from '../utils/Registry.mjs';
4
4
  import { HashTable } from '../utils/HashTable.mjs';
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import {
3
3
  PhoneticRegistry,
4
4
  PhoneticMappingRegistry,
package/dist/esm/root.mjs CHANGED
@@ -1,4 +1,9 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
+ export { CmpStr } from './CmpStr.mjs';
3
+ export { CmpStrAsync } from './CmpStrAsync.mjs';
4
+ export { DiffChecker } from './utils/DiffChecker.mjs';
5
+ export { Normalizer } from './utils/Normalizer.mjs';
6
+ export { TextAnalyzer } from './utils/TextAnalyzer.mjs';
2
7
  import './metric/Cosine.mjs';
3
8
  import './metric/DamerauLevenshtein.mjs';
4
9
  import './metric/DiceSorensen.mjs';
@@ -26,4 +31,5 @@ export { Filter } from './utils/Filter.mjs';
26
31
  export { HashTable } from './utils/HashTable.mjs';
27
32
  export { Pool } from './utils/Pool.mjs';
28
33
  export { Profiler } from './utils/Profiler.mjs';
34
+ export { StructuredData } from './utils/StructuredData.mjs';
29
35
  //# sourceMappingURL=root.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"root.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  const parse = (p) =>
3
3
  p
4
4
  .replace(/\[(\d+)]/g, '.$1')
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class DiffChecker {
3
3
  a;
4
4
  b;
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class Filter {
3
3
  static filters = new Map();
4
4
  static find(hook, id) {
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class Hasher {
3
3
  static FNV_PRIME = 0x01000193;
4
4
  static HASH_OFFSET = 0x811c9dc5;
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  import { HashTable } from './HashTable.mjs';
3
3
 
4
4
  class Normalizer {
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class RingPool {
3
3
  maxSize;
4
4
  buffers = [];
@@ -45,12 +45,19 @@ class Pool {
45
45
  maxItemSize: 1024,
46
46
  allowOversize: false
47
47
  },
48
+ 'string[]': {
49
+ type: 'string[]',
50
+ maxSize: 4,
51
+ maxItemSize: 1024,
52
+ allowOversize: false
53
+ },
48
54
  set: { type: 'set', maxSize: 8, maxItemSize: 0, allowOversize: false },
49
55
  map: { type: 'map', maxSize: 8, maxItemSize: 0, allowOversize: false }
50
56
  };
51
57
  static POOLS = {
52
58
  uint16: new RingPool(32),
53
59
  'number[]': new RingPool(16),
60
+ 'string[]': new RingPool(4),
54
61
  set: new RingPool(8),
55
62
  map: new RingPool(8)
56
63
  };
@@ -60,6 +67,8 @@ class Pool {
60
67
  return new Uint16Array(size);
61
68
  case 'number[]':
62
69
  return new Array(size).fill(0);
70
+ case 'string[]':
71
+ return new Array(size);
63
72
  case 'set':
64
73
  return new Set();
65
74
  case 'map':
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.mjs","sources":["../../../src/utils/Pool.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pool.mjs","sources":["../../../src/utils/Pool.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class Profiler {
3
3
  static ENV;
4
4
  static instance;
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  const registry = Object.create(null);
3
3
  const factory = Object.create(null);
4
4
  function Registry(reg, ctor) {
@@ -0,0 +1,143 @@
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
+ import { Pool } from './Pool.mjs';
3
+
4
+ class StructuredData {
5
+ static create(data, key) {
6
+ return new StructuredData(data, key);
7
+ }
8
+ data;
9
+ key;
10
+ constructor(data, key) {
11
+ this.data = data;
12
+ this.key = key;
13
+ }
14
+ extractFrom(arr, key) {
15
+ const result = Pool.acquire('string[]', arr.length);
16
+ for (let i = 0; i < arr.length; i++) {
17
+ const val = arr[i][key];
18
+ result[i] = typeof val === 'string' ? val : String(val ?? '');
19
+ }
20
+ return result;
21
+ }
22
+ extract() {
23
+ return this.extractFrom(this.data, this.key);
24
+ }
25
+ isMetricResult(v) {
26
+ return (
27
+ typeof v === 'object' && v !== null && 'a' in v && 'b' in v && 'res' in v
28
+ );
29
+ }
30
+ isCmpStrResult(v) {
31
+ return (
32
+ typeof v === 'object' &&
33
+ v !== null &&
34
+ 'source' in v &&
35
+ 'target' in v &&
36
+ 'match' in v
37
+ );
38
+ }
39
+ normalizeResults(results) {
40
+ if (!Array.isArray(results) || results.length === 0) return [];
41
+ const first = results[0];
42
+ if (this.isMetricResult(first)) return results;
43
+ if (this.isCmpStrResult(first))
44
+ return results.map((r) => ({
45
+ metric: 'unknown',
46
+ a: r.source,
47
+ b: r.target,
48
+ res: r.match,
49
+ raw: r.raw
50
+ }));
51
+ return [];
52
+ }
53
+ rebuild(results, sourceData, extractedStrings, removeZero, objectsOnly) {
54
+ const output = new Array(results.length);
55
+ let out = 0;
56
+ for (let i = 0; i < results.length; i++) {
57
+ const result = results[i];
58
+ if (removeZero && result.res === 0) continue;
59
+ let dataIndex =
60
+ result.b && extractedStrings.length
61
+ ? extractedStrings.indexOf(result.b)
62
+ : i;
63
+ if (dataIndex < 0 || dataIndex >= sourceData.length) dataIndex = i;
64
+ const sourceObj = sourceData[dataIndex];
65
+ if (objectsOnly) output[out++] = sourceObj;
66
+ else
67
+ output[out++] = {
68
+ obj: sourceObj,
69
+ key: this.key,
70
+ result: {
71
+ source: result.a,
72
+ target: extractedStrings[dataIndex] || result.b,
73
+ match: result.res
74
+ },
75
+ ...(result.raw ? { raw: result.raw } : null)
76
+ };
77
+ }
78
+ output.length = out;
79
+ return output;
80
+ }
81
+ sort(results, sort) {
82
+ if (!sort || results.length <= 1) return results;
83
+ const asc = sort === 'asc';
84
+ return results.sort((a, b) => (asc ? a.res - b.res : b.res - a.res));
85
+ }
86
+ performLookup(fn, extractedStrings, opt) {
87
+ return this.rebuild(
88
+ this.sort(this.normalizeResults(fn()), opt?.sort),
89
+ this.data,
90
+ extractedStrings,
91
+ opt?.removeZero,
92
+ opt?.objectsOnly
93
+ );
94
+ }
95
+ async performLookupAsync(fn, extractedStrings, opt) {
96
+ return this.rebuild(
97
+ this.sort(this.normalizeResults(await fn()), opt?.sort),
98
+ this.data,
99
+ extractedStrings,
100
+ opt?.removeZero,
101
+ opt?.objectsOnly
102
+ );
103
+ }
104
+ lookup(fn, query, opt) {
105
+ const b = this.extract();
106
+ try {
107
+ return this.performLookup(() => fn(query, b, opt), b, opt);
108
+ } finally {
109
+ Pool.release('string[]', b, b.length);
110
+ }
111
+ }
112
+ lookupPairs(fn, other, otherKey, opt) {
113
+ const a = this.extract();
114
+ const b = this.extractFrom(other, otherKey);
115
+ try {
116
+ return this.performLookup(() => fn(a, b, opt), a, opt);
117
+ } finally {
118
+ Pool.release('string[]', a, a.length);
119
+ Pool.release('string[]', b, b.length);
120
+ }
121
+ }
122
+ async lookupAsync(fn, query, opt) {
123
+ const b = this.extract();
124
+ try {
125
+ return await this.performLookupAsync(() => fn(query, b, opt), b, opt);
126
+ } finally {
127
+ Pool.release('string[]', b, b.length);
128
+ }
129
+ }
130
+ async lookupPairsAsync(fn, other, otherKey, opt) {
131
+ const a = this.extract();
132
+ const b = this.extractFrom(other, otherKey);
133
+ try {
134
+ return await this.performLookupAsync(() => fn(a, b, opt), a, opt);
135
+ } finally {
136
+ Pool.release('string[]', a, a.length);
137
+ Pool.release('string[]', b, b.length);
138
+ }
139
+ }
140
+ }
141
+
142
+ export { StructuredData };
143
+ //# sourceMappingURL=StructuredData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructuredData.mjs","sources":["../../../src/utils/StructuredData.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // CmpStr v3.0.4 build-74e65a5-250915 by Paul Köhler @komed3 / MIT License
1
+ // CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
2
2
  class TextAnalyzer {
3
3
  text;
4
4
  words = [];
@@ -12,6 +12,7 @@
12
12
  * - Flexible normalization and filtering pipeline for all inputs
13
13
  * - Batch, pairwise, and single string comparison with detailed results
14
14
  * - Phonetic indexing and phonetic-aware search and comparison
15
+ * - Structured data comparison by extracting properties from objects
15
16
  * - Text analysis and unified diff utilities
16
17
  * - Full TypeScript type safety and extensibility
17
18
  *
@@ -19,11 +20,12 @@
19
20
  * @author Paul Köhler (komed3)
20
21
  * @license MIT
21
22
  */
22
- import type { CmpStrOptions, CmpStrProcessors, CmpStrResult, NormalizeFlags, DiffOptions, PhoneticOptions, MetricRaw, MetricInput, MetricMode, MetricResult, MetricResultSingle, MetricResultBatch } from './utils/Types';
23
+ import type { CmpStrOptions, CmpStrProcessors, CmpStrResult, NormalizeFlags, DiffOptions, PhoneticOptions, MetricRaw, MetricInput, MetricMode, MetricResult, MetricResultSingle, MetricResultBatch, StructuredDataBatchResult, StructuredDataOptions } from './utils/Types';
23
24
  import { TextAnalyzer } from './utils/TextAnalyzer';
24
25
  import { DiffChecker } from './utils/DiffChecker';
25
26
  import { Normalizer } from './utils/Normalizer';
26
27
  import { Filter } from './utils/Filter';
28
+ import { StructuredData } from './utils/StructuredData';
27
29
  import { Metric } from './metric';
28
30
  import { Phonetic } from './phonetic';
29
31
  /**
@@ -207,6 +209,15 @@ export declare class CmpStr<R = MetricRaw> {
207
209
  algo: string;
208
210
  opt?: PhoneticOptions;
209
211
  }): MetricInput;
212
+ /**
213
+ * Creates a instance for processing structured data.
214
+ *
215
+ * @template T - The type of objects in the data array
216
+ * @param {T[]} data - The array of structured objects
217
+ * @param {keyof T} key - The property key to compare
218
+ * @returns {StructuredData<T, R>} - The lookup instance
219
+ */
220
+ protected structured<T = any>(data: T[], key: keyof T): StructuredData<T, R>;
210
221
  /**
211
222
  * Computes the metric result for the given inputs, applying normalization and
212
223
  * filtering as configured.
@@ -362,7 +373,7 @@ export declare class CmpStr<R = MetricRaw> {
362
373
  * @param {CmpStrOptions} [opt] - Optional options
363
374
  * @returns {T} - The metric result
364
375
  */
365
- test<T extends CmpStrResult | MetricResultSingle<R>>(a: string, b: string, opt?: CmpStrOptions): T;
376
+ test<T extends CmpStrResult | MetricResultSingle<R> = any>(a: string, b: string, opt?: CmpStrOptions): T;
366
377
  /**
367
378
  * Performs a single metric comparison and returns only the numeric score.
368
379
  *
@@ -382,7 +393,7 @@ export declare class CmpStr<R = MetricRaw> {
382
393
  * @param {CmpStrOptions} [opt] - Optional options
383
394
  * @returns {T} - The batch metric results
384
395
  */
385
- batchTest<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, opt?: CmpStrOptions): T;
396
+ batchTest<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, opt?: CmpStrOptions): T;
386
397
  /**
387
398
  * Performs a batch metric comparison and returns results sorted by score.
388
399
  *
@@ -393,7 +404,7 @@ export declare class CmpStr<R = MetricRaw> {
393
404
  * @param {CmpStrOptions} [opt] - Optional options
394
405
  * @returns {T} - The sorted batch results
395
406
  */
396
- batchSorted<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, dir?: 'desc' | 'asc', opt?: CmpStrOptions): T;
407
+ batchSorted<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, dir?: 'desc' | 'asc', opt?: CmpStrOptions): T;
397
408
  /**
398
409
  * Performs a pairwise metric comparison between source and target strings
399
410
  * or array of strings.
@@ -407,7 +418,7 @@ export declare class CmpStr<R = MetricRaw> {
407
418
  * @param {CmpStrOptions} [opt] - Optional options
408
419
  * @returns {T} - The pairwise metric results
409
420
  */
410
- pairs<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, opt?: CmpStrOptions): T;
421
+ pairs<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, opt?: CmpStrOptions): T;
411
422
  /**
412
423
  * Performs a batch comparison and returns only results above the threshold.
413
424
  *
@@ -418,7 +429,7 @@ export declare class CmpStr<R = MetricRaw> {
418
429
  * @param {CmpStrOptions} [opt] - Optional options
419
430
  * @returns {T} - The filtered batch results
420
431
  */
421
- match<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, threshold: number, opt?: CmpStrOptions): T;
432
+ match<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, threshold: number, opt?: CmpStrOptions): T;
422
433
  /**
423
434
  * Returns the n closest matches from a batch comparison.
424
435
  *
@@ -429,7 +440,7 @@ export declare class CmpStr<R = MetricRaw> {
429
440
  * @param {CmpStrOptions} [opt] - Optional options
430
441
  * @returns {T} - The closest matches
431
442
  */
432
- closest<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, n?: number, opt?: CmpStrOptions): T;
443
+ closest<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, n?: number, opt?: CmpStrOptions): T;
433
444
  /**
434
445
  * Returns the n furthest matches from a batch comparison.
435
446
  *
@@ -440,7 +451,7 @@ export declare class CmpStr<R = MetricRaw> {
440
451
  * @param {CmpStrOptions} [opt] - Optional options
441
452
  * @returns {T} - The furthest matches
442
453
  */
443
- furthest<T extends CmpStrResult[] | MetricResultBatch<R>>(a: MetricInput, b: MetricInput, n?: number, opt?: CmpStrOptions): T;
454
+ furthest<T extends CmpStrResult[] | MetricResultBatch<R> = any>(a: MetricInput, b: MetricInput, n?: number, opt?: CmpStrOptions): T;
444
455
  /**
445
456
  * Performs a normalized and filtered substring search.
446
457
  *
@@ -469,4 +480,75 @@ export declare class CmpStr<R = MetricRaw> {
469
480
  * @returns {string} - The phonetic index as a string
470
481
  */
471
482
  phoneticIndex(input: string, algo?: string, opt?: PhoneticOptions): string;
483
+ /**
484
+ * ---------------------------------------------------------------------------------
485
+ * Public methods for structured data comparison
486
+ * ---------------------------------------------------------------------------------
487
+ *
488
+ * These methods provide interfaces for comparing arrays of structured objects
489
+ * by extracting and comparing specific properties.
490
+ */
491
+ /**
492
+ * Performs a batch comparison against structured data by extracting
493
+ * a specific property and returning results with original objects attached.
494
+ *
495
+ * @template T - The type of objects in the data array
496
+ * @param {string} query - The query string to compare against
497
+ * @param {T[]} data - The array of structured objects
498
+ * @param {keyof T} key - The property key to extract for comparison
499
+ * @param {StructuredDataOptions} [opt] - Optional lookup options
500
+ * @returns {StructuredDataBatchResult<T, R>|T[]} - Batch results with original objects
501
+ */
502
+ structuredLookup<T = any>(query: string, data: T[], key: keyof T, opt?: StructuredDataOptions): StructuredDataBatchResult<T, R> | T[];
503
+ /**
504
+ * Performs a batch comparison and returns only results above the threshold
505
+ * for structured data.
506
+ *
507
+ * @template T - The type of objects in the data array
508
+ * @param {string} query - The query string to compare against
509
+ * @param {T[]} data - The array of structured objects
510
+ * @param {keyof T} key - The property key to extract for comparison
511
+ * @param {number} threshold - The similarity threshold (0..1)
512
+ * @param {StructuredDataOptions} [opt] - Optional lookup options
513
+ * @returns {StructuredDataBatchResult<T, R>|T[]} - Filtered batch results with objects
514
+ */
515
+ structuredMatch<T = any>(query: string, data: T[], key: keyof T, threshold: number, opt?: StructuredDataOptions): StructuredDataBatchResult<T, R> | T[];
516
+ /**
517
+ * Returns the n closest matches from a batch comparison of structured data.
518
+ *
519
+ * @template T - The type of objects in the data array
520
+ * @param {string} query - The query string to compare against
521
+ * @param {T[]} data - The array of structured objects
522
+ * @param {keyof T} key - The property key to extract for comparison
523
+ * @param {number} [n=1] - Number of closest matches
524
+ * @param {StructuredDataOptions} [opt] - Optional lookup options
525
+ * @returns {StructuredDataBatchResult<T, R>|T[]} - Closest matches with objects
526
+ */
527
+ structuredClosest<T = any>(query: string, data: T[], key: keyof T, n?: number, opt?: StructuredDataOptions): StructuredDataBatchResult<T, R> | T[];
528
+ /**
529
+ * Returns the n furthest matches from a batch comparison of structured data.
530
+ *
531
+ * @template T - The type of objects in the data array
532
+ * @param {string} query - The query string to compare against
533
+ * @param {T[]} data - The array of structured objects
534
+ * @param {keyof T} key - The property key to extract for comparison
535
+ * @param {number} [n=1] - Number of furthest matches
536
+ * @param {StructuredDataOptions} [opt] - Optional lookup options
537
+ * @returns {StructuredDataBatchResult<T, R>|T[]} - Furthest matches with objects
538
+ */
539
+ structuredFurthest<T = any>(query: string, data: T[], key: keyof T, n?: number, opt?: StructuredDataOptions): StructuredDataBatchResult<T, R> | T[];
540
+ /**
541
+ * Performs a pairwise comparison between two arrays of structured objects
542
+ * by extracting specific properties and returning results with original objects attached.
543
+ *
544
+ * @template T - The type of objects in the arrays
545
+ * @template O - The type of objects in the other array
546
+ * @param {T[]} data - The array of structured objects
547
+ * @param {keyof T} key - The property key to extract for comparison
548
+ * @param {O[]} other - The other array of structured objects
549
+ * @param {keyof O} otherKey - The property key to extract from other array
550
+ * @param {StructuredDataOptions} [opt] - Optional lookup options
551
+ * @returns {StructuredDataBatchResult<T, R>|T[]} - Pairwise results with original objects
552
+ */
553
+ structuredPairs<T = any, O = any>(data: T[], key: keyof T, other: O[], otherKey: keyof O, opt?: StructuredDataOptions): StructuredDataBatchResult<T, R> | T[];
472
554
  }