@simplysm/core-common 13.0.76 → 13.0.77

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 (126) hide show
  1. package/README.md +64 -21
  2. package/dist/extensions/arr-ext.d.ts +1 -1
  3. package/dist/extensions/arr-ext.d.ts.map +1 -1
  4. package/dist/extensions/arr-ext.helpers.d.ts +8 -0
  5. package/dist/extensions/arr-ext.helpers.d.ts.map +1 -1
  6. package/dist/extensions/arr-ext.helpers.js +65 -0
  7. package/dist/extensions/arr-ext.helpers.js.map +2 -2
  8. package/dist/extensions/arr-ext.js +16 -124
  9. package/dist/extensions/arr-ext.js.map +2 -2
  10. package/dist/extensions/arr-ext.types.d.ts +40 -32
  11. package/dist/extensions/arr-ext.types.d.ts.map +1 -1
  12. package/dist/extensions/map-ext.js.map +1 -1
  13. package/dist/extensions/set-ext.js.map +1 -1
  14. package/dist/features/event-emitter.d.ts +4 -4
  15. package/dist/features/event-emitter.d.ts.map +1 -1
  16. package/dist/features/event-emitter.js.map +1 -1
  17. package/dist/features/serial-queue.js +2 -2
  18. package/dist/features/serial-queue.js.map +1 -1
  19. package/dist/index.d.ts +13 -13
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +27 -13
  22. package/dist/index.js.map +1 -1
  23. package/dist/types/date-only.js +2 -2
  24. package/dist/types/date-only.js.map +1 -1
  25. package/dist/types/date-time.js +2 -2
  26. package/dist/types/date-time.js.map +1 -1
  27. package/dist/types/time.js +2 -2
  28. package/dist/types/time.js.map +1 -1
  29. package/dist/types/uuid.d.ts +2 -2
  30. package/dist/types/uuid.d.ts.map +1 -1
  31. package/dist/types/uuid.js +1 -1
  32. package/dist/types/uuid.js.map +1 -1
  33. package/dist/utils/bytes.d.ts +10 -10
  34. package/dist/utils/bytes.d.ts.map +1 -1
  35. package/dist/utils/bytes.js +10 -10
  36. package/dist/utils/bytes.js.map +1 -1
  37. package/dist/utils/date-format.d.ts +1 -1
  38. package/dist/utils/date-format.d.ts.map +1 -1
  39. package/dist/utils/date-format.js +2 -2
  40. package/dist/utils/date-format.js.map +1 -1
  41. package/dist/utils/error.d.ts +1 -1
  42. package/dist/utils/error.d.ts.map +1 -1
  43. package/dist/utils/error.js +2 -2
  44. package/dist/utils/error.js.map +1 -1
  45. package/dist/utils/json.d.ts +4 -2
  46. package/dist/utils/json.d.ts.map +1 -1
  47. package/dist/utils/json.js +9 -9
  48. package/dist/utils/json.js.map +1 -1
  49. package/dist/utils/num.d.ts +10 -10
  50. package/dist/utils/num.d.ts.map +1 -1
  51. package/dist/utils/num.js +11 -11
  52. package/dist/utils/num.js.map +1 -1
  53. package/dist/utils/obj.d.ts +40 -40
  54. package/dist/utils/obj.d.ts.map +1 -1
  55. package/dist/utils/obj.js +102 -99
  56. package/dist/utils/obj.js.map +1 -1
  57. package/dist/utils/path.d.ts +3 -3
  58. package/dist/utils/path.d.ts.map +1 -1
  59. package/dist/utils/path.js +6 -6
  60. package/dist/utils/path.js.map +1 -1
  61. package/dist/utils/primitive.d.ts +1 -1
  62. package/dist/utils/primitive.d.ts.map +1 -1
  63. package/dist/utils/primitive.js +2 -2
  64. package/dist/utils/primitive.js.map +1 -1
  65. package/dist/utils/str.d.ts +16 -16
  66. package/dist/utils/str.d.ts.map +1 -1
  67. package/dist/utils/str.js +16 -16
  68. package/dist/utils/str.js.map +1 -1
  69. package/dist/utils/transferable.d.ts +3 -3
  70. package/dist/utils/transferable.d.ts.map +1 -1
  71. package/dist/utils/transferable.js +10 -10
  72. package/dist/utils/transferable.js.map +1 -1
  73. package/dist/utils/wait.d.ts +2 -2
  74. package/dist/utils/wait.d.ts.map +1 -1
  75. package/dist/utils/wait.js +5 -5
  76. package/dist/utils/wait.js.map +1 -1
  77. package/dist/utils/xml.d.ts +2 -2
  78. package/dist/utils/xml.d.ts.map +1 -1
  79. package/dist/utils/xml.js +4 -4
  80. package/dist/utils/xml.js.map +1 -1
  81. package/dist/{zip/sd-zip.d.ts → utils/zip.d.ts} +1 -1
  82. package/dist/utils/zip.d.ts.map +1 -0
  83. package/dist/{zip/sd-zip.js → utils/zip.js} +1 -1
  84. package/dist/{zip/sd-zip.js.map → utils/zip.js.map} +1 -1
  85. package/package.json +1 -1
  86. package/src/extensions/arr-ext.helpers.ts +86 -0
  87. package/src/extensions/arr-ext.ts +22 -170
  88. package/src/extensions/arr-ext.types.ts +76 -48
  89. package/src/extensions/map-ext.ts +3 -3
  90. package/src/extensions/set-ext.ts +2 -2
  91. package/src/features/event-emitter.ts +6 -6
  92. package/src/features/serial-queue.ts +2 -2
  93. package/src/index.ts +16 -16
  94. package/src/types/date-only.ts +2 -2
  95. package/src/types/date-time.ts +2 -2
  96. package/src/types/time.ts +2 -2
  97. package/src/types/uuid.ts +2 -2
  98. package/src/utils/bytes.ts +15 -15
  99. package/src/utils/date-format.ts +1 -1
  100. package/src/utils/error.ts +1 -1
  101. package/src/utils/json.ts +9 -7
  102. package/src/utils/num.ts +15 -15
  103. package/src/utils/obj.ts +119 -116
  104. package/src/utils/path.ts +3 -3
  105. package/src/utils/primitive.ts +1 -1
  106. package/src/utils/str.ts +16 -16
  107. package/src/utils/transferable.ts +9 -9
  108. package/src/utils/wait.ts +3 -3
  109. package/src/utils/xml.ts +2 -2
  110. package/tests/extensions/array-extension.spec.ts +7 -5
  111. package/tests/types/uuid.spec.ts +4 -4
  112. package/tests/utils/bytes-utils.spec.ts +42 -49
  113. package/tests/utils/date-format.spec.ts +89 -88
  114. package/tests/utils/debounce-queue.spec.ts +3 -1
  115. package/tests/utils/json.spec.ts +61 -68
  116. package/tests/utils/number.spec.ts +41 -46
  117. package/tests/utils/object.spec.ts +120 -139
  118. package/tests/utils/path.spec.ts +19 -19
  119. package/tests/utils/primitive.spec.ts +12 -12
  120. package/tests/utils/string.spec.ts +66 -74
  121. package/tests/utils/transferable.spec.ts +55 -62
  122. package/tests/utils/wait.spec.ts +10 -10
  123. package/tests/utils/xml.spec.ts +25 -25
  124. package/dist/zip/sd-zip.d.ts.map +0 -1
  125. /package/src/{zip/sd-zip.ts → utils/zip.ts} +0 -0
  126. /package/tests/{zip/sd-zip.spec.ts → utils/zip.spec.ts} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @simplysm/core-common
2
2
 
3
- Common utility package providing environment variables, array extensions, error classes, date/time types, async features, and a wide range of utility functions. Works in both browser and Node.js environments.
3
+ Common utility package providing environment variables, array/map/set extensions, error classes, date/time types, async features, and a wide range of utility namespaces. Works in both browser and Node.js environments.
4
4
 
5
5
  ## Installation
6
6
 
@@ -11,6 +11,8 @@ pnpm add @simplysm/core-common
11
11
  ## Table of Contents
12
12
 
13
13
  - [Array Extensions](#array-extensions)
14
+ - [Map Extensions](#map-extensions)
15
+ - [Set Extensions](#set-extensions)
14
16
  - [Types](#types)
15
17
  - [Utils](#utils)
16
18
  - [Features](#features)
@@ -31,14 +33,53 @@ Prototype extensions added to `Array` and `ReadonlyArray` as a side effect of im
31
33
  | [`first`](docs/array-extensions.md#readonly-array-methods) | First matching element |
32
34
  | [`last`](docs/array-extensions.md#readonly-array-methods) | Last matching element |
33
35
  | [`filterExists`](docs/array-extensions.md#readonly-array-methods) | Removes `null`/`undefined` entries |
36
+ | [`filterAsync`](docs/array-extensions.md#readonly-array-methods) | Async filter (sequential) |
37
+ | [`ofType`](docs/array-extensions.md#readonly-array-methods) | Filter by primitive type string or constructor |
38
+ | [`mapAsync`](docs/array-extensions.md#readonly-array-methods) | Async map (sequential) |
39
+ | [`mapMany`](docs/array-extensions.md#readonly-array-methods) / [`mapManyAsync`](docs/array-extensions.md#readonly-array-methods) | Flatten with optional transform |
40
+ | [`parallelAsync`](docs/array-extensions.md#readonly-array-methods) | Parallel async map (`Promise.all`) |
34
41
  | [`groupBy`](docs/array-extensions.md#readonly-array-methods) | Groups elements by key |
35
- | [`toMap`](docs/array-extensions.md#readonly-array-methods) | Converts to `Map` |
42
+ | [`toMap`](docs/array-extensions.md#readonly-array-methods) / [`toMapAsync`](docs/array-extensions.md#readonly-array-methods) | Converts to `Map` |
43
+ | [`toArrayMap`](docs/array-extensions.md#readonly-array-methods) | Converts to `Map` where values are arrays |
44
+ | [`toSetMap`](docs/array-extensions.md#readonly-array-methods) | Converts to `Map` where values are sets |
45
+ | [`toMapValues`](docs/array-extensions.md#readonly-array-methods) | Groups by key then reduces each group |
46
+ | [`toObject`](docs/array-extensions.md#readonly-array-methods) | Converts to plain `Record<string, V>` |
36
47
  | [`toTree`](docs/array-extensions.md#readonly-array-methods) | Builds a tree from a flat list |
37
48
  | [`distinct`](docs/array-extensions.md#readonly-array-methods) | Returns unique elements |
38
49
  | [`orderBy`](docs/array-extensions.md#readonly-array-methods) / [`orderByDesc`](docs/array-extensions.md#readonly-array-methods) | Sorted copy (ascending/descending) |
39
50
  | [`diffs`](docs/array-extensions.md#readonly-array-methods) / [`oneWayDiffs`](docs/array-extensions.md#readonly-array-methods) | Array diff comparison |
40
- | [`insert`](docs/array-extensions.md#mutable-array-methods) / [`remove`](docs/array-extensions.md#mutable-array-methods) / [`toggle`](docs/array-extensions.md#mutable-array-methods) | In-place mutation helpers |
41
- | [`ArrayDiffsResult`](docs/array-extensions.md#related-types) / [`TreeArray`](docs/array-extensions.md#related-types) | Related TypeScript types |
51
+ | [`merge`](docs/array-extensions.md#readonly-array-methods) | Merge two arrays using diffs |
52
+ | [`sum`](docs/array-extensions.md#readonly-array-methods) / [`min`](docs/array-extensions.md#readonly-array-methods) / [`max`](docs/array-extensions.md#readonly-array-methods) | Aggregation helpers |
53
+ | [`shuffle`](docs/array-extensions.md#readonly-array-methods) | Returns a new randomly shuffled array |
54
+ | [`distinctThis`](docs/array-extensions.md#mutable-array-methods) / [`orderByThis`](docs/array-extensions.md#mutable-array-methods) / [`orderByDescThis`](docs/array-extensions.md#mutable-array-methods) | In-place sort/dedup |
55
+ | [`insert`](docs/array-extensions.md#mutable-array-methods) / [`remove`](docs/array-extensions.md#mutable-array-methods) / [`toggle`](docs/array-extensions.md#mutable-array-methods) / [`clear`](docs/array-extensions.md#mutable-array-methods) | In-place mutation helpers |
56
+ | [`ArrayDiffsResult`](docs/array-extensions.md#related-types) / [`ArrayOneWayDiffResult`](docs/array-extensions.md#related-types) / [`TreeArray`](docs/array-extensions.md#related-types) / [`ComparableType`](docs/array-extensions.md#related-types) | Related TypeScript types |
57
+
58
+ ---
59
+
60
+ ## Map Extensions
61
+
62
+ Prototype extensions added to `Map` as a side effect of importing from this package.
63
+
64
+ [Full documentation](docs/utils.md#map-extensions-side-effect)
65
+
66
+ | Symbol | Description |
67
+ |--------|-------------|
68
+ | `getOrCreate` | Return existing value or set and return a new value via factory |
69
+ | `update` | Update value in place using a transform function |
70
+
71
+ ---
72
+
73
+ ## Set Extensions
74
+
75
+ Prototype extensions added to `Set` as a side effect of importing from this package.
76
+
77
+ [Full documentation](docs/utils.md#set-extensions-side-effect)
78
+
79
+ | Symbol | Description |
80
+ |--------|-------------|
81
+ | `adds` | Add multiple values at once |
82
+ | `toggle` | Remove if present, add if absent; optional forced direction |
42
83
 
43
84
  ---
44
85
 
@@ -55,34 +96,36 @@ Immutable value types and utility type aliases. All support parsing, formatting,
55
96
  | [`DateTime`](docs/types.md#datetime) | Immutable date-time (millisecond precision, local timezone) |
56
97
  | [`DateOnly`](docs/types.md#dateonly) | Immutable date without time; includes week-sequence helpers |
57
98
  | [`Time`](docs/types.md#time) | Immutable time without date; 24-hour wrap normalization |
58
- | [`Bytes`](docs/types.md#primitive-types) / [`PrimitiveType`](docs/types.md#primitive-types) | Primitive type aliases |
59
- | [`DeepPartial`](docs/types.md#utility-types) / [`ObjUndefToOptional`](docs/types.md#utility-types) | TypeScript utility types |
99
+ | [`Bytes`](docs/types.md#primitive-types) / [`PrimitiveType`](docs/types.md#primitive-types) / [`PrimitiveTypeStr`](docs/types.md#primitive-types) / [`PrimitiveTypeMap`](docs/types.md#primitive-types) | Primitive type aliases |
100
+ | [`DeepPartial`](docs/types.md#utility-types) / [`Type`](docs/types.md#utility-types) | TypeScript utility types |
101
+ | [`UndefToOptional`](docs/types.md#utility-types) / [`OptionalToUndef`](docs/types.md#utility-types) | Optional/undefined conversion types |
102
+ | [`EqualOptions`](docs/types.md#utility-types) / [`MergeOptions`](docs/types.md#utility-types) / [`Merge3KeyOptions`](docs/types.md#utility-types) | Option types for `obj.*` utilities |
103
+ | [`DtNormalizedMonth`](docs/types.md#utility-types) | Return type of `dt.normalizeMonth` |
60
104
 
61
105
  ---
62
106
 
63
107
  ## Utils
64
108
 
65
- Pure utility functions for common tasks: formatting, parsing, transformation, and I/O encoding.
109
+ Pure utility namespaces for common tasks: formatting, parsing, transformation, and I/O encoding.
66
110
 
67
111
  [Full documentation](docs/utils.md)
68
112
 
69
113
  | Symbol | Description |
70
114
  |--------|-------------|
71
115
  | [`env`](docs/utils.md#env) | Global environment object from `process.env` |
72
- | [`formatDate`](docs/utils.md#formatedateformatstring-args) | C#-style date/time format string renderer |
73
- | [`bytesConcat`](docs/utils.md#bytes-utilities) / [`bytesToHex`](docs/utils.md#bytes-utilities) / [`bytesFromBase64`](docs/utils.md#bytes-utilities) | Binary encoding helpers |
74
- | [`jsonStringify`](docs/utils.md#json-utilities) / [`jsonParse`](docs/utils.md#json-utilities) | JSON with support for `DateTime`, `Uuid`, `Set`, `Map`, etc. |
75
- | [`numFormat`](docs/utils.md#number-utilities) / [`numParseInt`](docs/utils.md#number-utilities) | Number formatting and parsing |
76
- | [`objClone`](docs/utils.md#object-utilities) / [`objEqual`](docs/utils.md#object-utilities) / [`objMerge`](docs/utils.md#object-utilities) | Deep clone, equality, and merge |
77
- | [`objGetChainValue`](docs/utils.md#object-utilities) / [`objSetChainValue`](docs/utils.md#object-utilities) | Dot-path chain access |
78
- | [`strToPascalCase`](docs/utils.md#string-utilities) / [`strToKebabCase`](docs/utils.md#string-utilities) | String case conversion |
79
- | [`koreanGetSuffix`](docs/utils.md#string-utilities) | Korean grammatical particle helper |
80
- | [`js`](docs/utils.md#template-string-tags) / [`ts`](docs/utils.md#template-string-tags) / [`tsql`](docs/utils.md#template-string-tags) | Template literal syntax-highlighting tags |
81
- | [`transferableEncode`](docs/utils.md#transferable-utilities) / [`transferableDecode`](docs/utils.md#transferable-utilities) | Web Worker transfer helpers |
82
- | [`waitUntil`](docs/utils.md#wait-utilities) / [`waitTime`](docs/utils.md#wait-utilities) | Async wait primitives |
83
- | [`xmlParse`](docs/utils.md#xml-utilities) / [`xmlStringify`](docs/utils.md#xml-utilities) | XML serialization |
84
- | [`pathJoin`](docs/utils.md#path-utilities) / [`pathBasename`](docs/utils.md#path-utilities) | POSIX path helpers (browser/Capacitor) |
85
- | [`errorMessage`](docs/utils.md#error-utility) | Safe error-to-string conversion |
116
+ | [`dt`](docs/utils.md#dt--date-utilities) | Date/time formatting and normalization (`dt.format`, `dt.normalizeMonth`, `dt.convert12To24`) |
117
+ | [`bytes`](docs/utils.md#bytes--binary-utilities) | Binary encoding helpers (`concat`, `toHex`, `fromHex`, `toBase64`, `fromBase64`) |
118
+ | [`json`](docs/utils.md#json--json-utilities) | JSON with support for `DateTime`, `Uuid`, `Set`, `Map`, etc. (`stringify`, `parse`) |
119
+ | [`num`](docs/utils.md#num--number-utilities) | Number formatting and parsing (`parseInt`, `parseFloat`, `parseRoundedInt`, `format`, `isNullOrEmpty`) |
120
+ | [`obj`](docs/utils.md#obj--object-utilities) | Deep clone, equality, merge, chain path access, key utilities |
121
+ | [`primitive`](docs/utils.md#primitive--primitive-type-utility) | Infer `PrimitiveTypeStr` from a value at runtime |
122
+ | [`str`](docs/utils.md#str--string-utilities) | String case conversion, Korean particle, full-width conversion, null check, insert |
123
+ | [`path`](docs/utils.md#path--path-utilities) | POSIX path helpers (`join`, `basename`, `extname`) |
124
+ | [`xml`](docs/utils.md#xml--xml-utilities) | XML serialization (`parse`, `stringify`) |
125
+ | [`wait`](docs/utils.md#wait--wait-utilities) | Async wait primitives (`until`, `time`) |
126
+ | [`transfer`](docs/utils.md#transfer--transferable-utilities) | Web Worker transfer helpers (`encode`, `decode`) |
127
+ | [`err`](docs/utils.md#err--error-utility) | Safe error-to-string conversion (`message`) |
128
+ | [`js`](docs/utils.md#template-string-tags) / [`ts`](docs/utils.md#template-string-tags) / [`html`](docs/utils.md#template-string-tags) / [`tsql`](docs/utils.md#template-string-tags) / [`mysql`](docs/utils.md#template-string-tags) / [`pgsql`](docs/utils.md#template-string-tags) | Template literal syntax-highlighting tags |
86
129
 
87
130
  ---
88
131
 
@@ -11,5 +11,5 @@ declare global {
11
11
  interface Array<T> extends ReadonlyArrayExt<T>, MutableArrayExt<T> {
12
12
  }
13
13
  }
14
- export type { ArrayDiffsResult, ArrayDiffs2Result, TreeArray, ComparableType, } from "./arr-ext.types";
14
+ export type { ArrayDiffsResult, ArrayOneWayDiffResult, TreeArray, ComparableType, } from "./arr-ext.types";
15
15
  //# sourceMappingURL=arr-ext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arr-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,WAAW,CAAC;AAUnB,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAywBzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;KAAG;IACzD,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;KAAG;CACtE;AAID,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,cAAc,GACf,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"arr-ext.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,WAAW,CAAC;AAUnB,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAqnBzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;KAAG;IACzD,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;KAAG;CACtE;AAID,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,cAAc,GACf,MAAM,iBAAiB,CAAC"}
@@ -16,4 +16,12 @@ export declare function toComparable(value: ComparableType): string | number | b
16
16
  * @note null/undefined values are sorted first in ascending, last in descending
17
17
  */
18
18
  export declare function compareForOrder(pp: ComparableType, pn: ComparableType, desc: boolean): number;
19
+ /**
20
+ * Returns a Set of indices to KEEP (i.e., first occurrence of each unique item).
21
+ * Handles all deduplication strategies: matchAddress, keyFn, and default type-based.
22
+ */
23
+ export declare function getDistinctIndices<TItem>(items: readonly TItem[], options?: boolean | {
24
+ matchAddress?: boolean;
25
+ keyFn?: (item: TItem) => string | number;
26
+ }): Set<number>;
19
27
  //# sourceMappingURL=arr-ext.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arr-ext.helpers.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAKzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CA0B7F"}
1
+ {"version":3,"file":"arr-ext.helpers.d.ts","sourceRoot":"","sources":["../../src/extensions/arr-ext.helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAKzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CA0B7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EACtC,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,OAAO,CAAC,EAAE,OAAO,GAAG;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,CAAA;CAAE,GACvF,GAAG,CAAC,MAAM,CAAC,CA4Eb"}
@@ -2,6 +2,7 @@ import { DateTime } from "../types/date-time.js";
2
2
  import { DateOnly } from "../types/date-only.js";
3
3
  import { Time } from "../types/time.js";
4
4
  import { ArgumentError } from "../errors/argument-error.js";
5
+ import { equal } from "../utils/obj.js";
5
6
  function toComparable(value) {
6
7
  if (value instanceof DateOnly || value instanceof DateTime || value instanceof Time) {
7
8
  return value.tick;
@@ -31,8 +32,72 @@ function compareForOrder(pp, pn, desc) {
31
32
  type2: typeof cpn
32
33
  });
33
34
  }
35
+ function getDistinctIndices(items, options) {
36
+ const opts = typeof options === "boolean" ? { matchAddress: options } : options ?? {};
37
+ const result = /* @__PURE__ */ new Set();
38
+ if (opts.matchAddress === true) {
39
+ const seen2 = /* @__PURE__ */ new Set();
40
+ for (let i = 0; i < items.length; i++) {
41
+ if (!seen2.has(items[i])) {
42
+ seen2.add(items[i]);
43
+ result.add(i);
44
+ }
45
+ }
46
+ return result;
47
+ }
48
+ if (opts.keyFn) {
49
+ const seen2 = /* @__PURE__ */ new Set();
50
+ for (let i = 0; i < items.length; i++) {
51
+ const key = opts.keyFn(items[i]);
52
+ if (!seen2.has(key)) {
53
+ seen2.add(key);
54
+ result.add(i);
55
+ }
56
+ }
57
+ return result;
58
+ }
59
+ const seen = /* @__PURE__ */ new Map();
60
+ const seenRefs = /* @__PURE__ */ new Set();
61
+ for (let i = 0; i < items.length; i++) {
62
+ const item = items[i];
63
+ if (item === null || typeof item !== "object") {
64
+ const type = typeof item;
65
+ if (type === "symbol" || type === "function") {
66
+ const ref = item;
67
+ if (!seenRefs.has(ref)) {
68
+ seenRefs.add(ref);
69
+ result.add(i);
70
+ }
71
+ continue;
72
+ }
73
+ let key = type + ":";
74
+ if (Object.is(item, -0)) {
75
+ key += "-0";
76
+ } else {
77
+ key += String(item);
78
+ }
79
+ if (!seen.has(key)) {
80
+ seen.set(key, item);
81
+ result.add(i);
82
+ }
83
+ continue;
84
+ }
85
+ let hasDuplicate = false;
86
+ for (const keptIdx of result) {
87
+ if (equal(items[keptIdx], item)) {
88
+ hasDuplicate = true;
89
+ break;
90
+ }
91
+ }
92
+ if (!hasDuplicate) {
93
+ result.add(i);
94
+ }
95
+ }
96
+ return result;
97
+ }
34
98
  export {
35
99
  compareForOrder,
100
+ getDistinctIndices,
36
101
  toComparable
37
102
  };
38
103
  //# sourceMappingURL=arr-ext.helpers.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/extensions/arr-ext.helpers.ts"],
4
- "mappings": "AAIA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAMvB,SAAS,aAAa,OAA8D;AACzF,MAAI,iBAAiB,YAAY,iBAAiB,YAAY,iBAAiB,MAAM;AACnF,WAAO,MAAM;AAAA,EACf;AACA,SAAO;AACT;AAWO,SAAS,gBAAgB,IAAoB,IAAoB,MAAuB;AAC7F,QAAM,MAAM,aAAa,EAAE;AAC3B,QAAM,MAAM,aAAa,EAAE;AAE3B,MAAI,QAAQ,IAAK,QAAO;AACxB,MAAI,OAAO,KAAM,QAAO,OAAO,IAAI;AACnC,MAAI,OAAO,KAAM,QAAO,OAAO,KAAK;AAEpC,MAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,UAAU;AACtD,WAAO,OAAO,IAAI,cAAc,GAAG,IAAI,IAAI,cAAc,GAAG;AAAA,EAC9D;AACA,MAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,UAAU;AACtD,QAAI,MAAM;AACR,aAAO,MAAM,MAAM,KAAK,MAAM,MAAM,IAAI;AAAA,IAC1C;AACA,WAAO,MAAM,MAAM,KAAK,MAAM,MAAM,IAAI;AAAA,EAC1C;AACA,MAAI,OAAO,QAAQ,aAAa,OAAO,QAAQ,WAAW;AAExD,WAAO,MAAO,OAAO,IAAI,KAAM,OAAO,KAAK;AAAA,EAC7C;AAEA,QAAM,IAAI,cAAc,sCAAsC;AAAA,IAC5D,OAAO,OAAO;AAAA,IACd,OAAO,OAAO;AAAA,EAChB,CAAC;AACH;",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["seen"]
6
6
  }
@@ -1,12 +1,12 @@
1
1
  import "./map-ext.js";
2
- import { objClone, objEqual, objMerge } from "../utils/obj.js";
2
+ import { clone, equal, merge } from "../utils/obj.js";
3
3
  import { DateTime } from "../types/date-time.js";
4
4
  import { DateOnly } from "../types/date-only.js";
5
5
  import { Time } from "../types/time.js";
6
6
  import { Uuid } from "../types/uuid.js";
7
7
  import { ArgumentError } from "../errors/argument-error.js";
8
8
  import { SdError } from "../errors/sd-error.js";
9
- import { compareForOrder } from "./arr-ext.helpers.js";
9
+ import { compareForOrder, getDistinctIndices } from "./arr-ext.helpers.js";
10
10
  const arrayReadonlyExtensions = {
11
11
  single(predicate) {
12
12
  const arr = predicate !== void 0 ? this.filter(predicate) : this;
@@ -110,7 +110,7 @@ const arrayReadonlyExtensions = {
110
110
  }
111
111
  continue;
112
112
  }
113
- const existsRecord = result.find((item) => objEqual(item.key, keyObj));
113
+ const existsRecord = result.find((item) => equal(item.key, keyObj));
114
114
  if (existsRecord !== void 0) {
115
115
  existsRecord.values.push(valueObj);
116
116
  } else {
@@ -198,7 +198,7 @@ const arrayReadonlyExtensions = {
198
198
  const childrenMap = this.toArrayMap((item) => item[parentKey]);
199
199
  const fn = (items) => {
200
200
  return items.map((item) => ({
201
- ...objClone(item),
201
+ ...clone(item),
202
202
  children: fn(childrenMap.get(item[key]) ?? [])
203
203
  }));
204
204
  };
@@ -206,50 +206,8 @@ const arrayReadonlyExtensions = {
206
206
  return fn(rootItems);
207
207
  },
208
208
  distinct(options) {
209
- const opts = typeof options === "boolean" ? { matchAddress: options } : options ?? {};
210
- if (opts.matchAddress === true) return [...new Set(this)];
211
- if (opts.keyFn) {
212
- const seen2 = /* @__PURE__ */ new Set();
213
- const result2 = [];
214
- for (const item of this) {
215
- const key = opts.keyFn(item);
216
- if (!seen2.has(key)) {
217
- seen2.add(key);
218
- result2.push(item);
219
- }
220
- }
221
- return result2;
222
- }
223
- const seen = /* @__PURE__ */ new Map();
224
- const seenRefs = /* @__PURE__ */ new Set();
225
- const result = [];
226
- for (const item of this) {
227
- if (item === null || typeof item !== "object") {
228
- const type = typeof item;
229
- if (type === "symbol" || type === "function") {
230
- if (!seenRefs.has(item)) {
231
- seenRefs.add(item);
232
- result.push(item);
233
- }
234
- continue;
235
- }
236
- let key = type + ":";
237
- if (Object.is(item, -0)) {
238
- key += "-0";
239
- } else {
240
- key += String(item);
241
- }
242
- if (!seen.has(key)) {
243
- seen.set(key, item);
244
- result.push(item);
245
- }
246
- continue;
247
- }
248
- if (!result.some((item1) => objEqual(item1, item))) {
249
- result.push(item);
250
- }
251
- }
252
- return result;
209
+ const keptIndices = getDistinctIndices(this, options);
210
+ return Array.from(keptIndices).map((i) => this[i]);
253
211
  },
254
212
  orderBy(selector) {
255
213
  return [...this].sort((p, n) => {
@@ -290,7 +248,7 @@ const arrayReadonlyExtensions = {
290
248
  let sameKeyTarget;
291
249
  for (const targetItem of uncheckedTarget) {
292
250
  if (!uncheckedTargetSet.has(targetItem)) continue;
293
- if (objEqual(targetItem, sourceItem, excludeOpts)) {
251
+ if (equal(targetItem, sourceItem, excludeOpts)) {
294
252
  sameTarget = targetItem;
295
253
  break;
296
254
  }
@@ -335,7 +293,7 @@ const arrayReadonlyExtensions = {
335
293
  diffs.push({ type: "create", item, orgItem: void 0 });
336
294
  continue;
337
295
  }
338
- if (objEqual(orgItem, item, {
296
+ if (equal(orgItem, item, {
339
297
  topLevelExcludes: options == null ? void 0 : options.excludes,
340
298
  topLevelIncludes: options == null ? void 0 : options.includes
341
299
  })) {
@@ -350,7 +308,7 @@ const arrayReadonlyExtensions = {
350
308
  },
351
309
  merge(target, options) {
352
310
  const diffs = this.diffs(target, options);
353
- const result = objClone(this);
311
+ const result = clone(this);
354
312
  const sourceIndexMap = /* @__PURE__ */ new Map();
355
313
  for (let i = 0; i < this.length; i++) {
356
314
  sourceIndexMap.set(this[i], i);
@@ -361,7 +319,7 @@ const arrayReadonlyExtensions = {
361
319
  if (sourceIndex === void 0) {
362
320
  throw new SdError("Unexpected error: source item not found in merge.");
363
321
  }
364
- result[sourceIndex] = objMerge(diff.source, diff.target);
322
+ result[sourceIndex] = merge(diff.source, diff.target);
365
323
  } else if (diff.target !== void 0) {
366
324
  result.push(diff.target);
367
325
  }
@@ -425,81 +383,15 @@ const arrayReadonlyExtensions = {
425
383
  };
426
384
  const arrayMutableExtensions = {
427
385
  distinctThis(options) {
428
- const opts = typeof options === "boolean" ? { matchAddress: options } : options ?? {};
429
- if (opts.matchAddress === true) {
430
- const seen2 = /* @__PURE__ */ new Set();
431
- const toRemove = [];
432
- for (let i = 0; i < this.length; i++) {
433
- if (seen2.has(this[i])) {
434
- toRemove.push(i);
435
- } else {
436
- seen2.add(this[i]);
437
- }
438
- }
439
- for (let i = toRemove.length - 1; i >= 0; i--) {
440
- this.splice(toRemove[i], 1);
441
- }
442
- return this;
443
- }
444
- if (opts.keyFn) {
445
- const seen2 = /* @__PURE__ */ new Set();
446
- const toRemove = [];
447
- for (let i = 0; i < this.length; i++) {
448
- const key = opts.keyFn(this[i]);
449
- if (seen2.has(key)) {
450
- toRemove.push(i);
451
- } else {
452
- seen2.add(key);
453
- }
454
- }
455
- for (let i = toRemove.length - 1; i >= 0; i--) {
456
- this.splice(toRemove[i], 1);
457
- }
458
- return this;
459
- }
460
- const seen = /* @__PURE__ */ new Map();
461
- const seenRefs = /* @__PURE__ */ new Set();
462
- const toRemoveSet = /* @__PURE__ */ new Set();
386
+ const keptIndices = getDistinctIndices(this, options);
387
+ const indicesToRemove = [];
463
388
  for (let i = 0; i < this.length; i++) {
464
- const item = this[i];
465
- if (item === null || typeof item !== "object") {
466
- const type = typeof item;
467
- if (type === "symbol" || type === "function") {
468
- if (seenRefs.has(item)) {
469
- toRemoveSet.add(i);
470
- } else {
471
- seenRefs.add(item);
472
- }
473
- continue;
474
- }
475
- let key = type + ":";
476
- if (Object.is(item, -0)) {
477
- key += "-0";
478
- } else {
479
- key += String(item);
480
- }
481
- if (seen.has(key)) {
482
- toRemoveSet.add(i);
483
- } else {
484
- seen.set(key, item);
485
- }
486
- continue;
487
- }
488
- let hasDuplicateBefore = false;
489
- for (let j = 0; j < i; j++) {
490
- if (toRemoveSet.has(j)) continue;
491
- if (objEqual(this[j], item)) {
492
- hasDuplicateBefore = true;
493
- break;
494
- }
495
- }
496
- if (hasDuplicateBefore) {
497
- toRemoveSet.add(i);
389
+ if (!keptIndices.has(i)) {
390
+ indicesToRemove.push(i);
498
391
  }
499
392
  }
500
- const toRemoveArr = Array.from(toRemoveSet).sort((a, b) => b - a);
501
- for (const idx of toRemoveArr) {
502
- this.splice(idx, 1);
393
+ for (let i = indicesToRemove.length - 1; i >= 0; i--) {
394
+ this.splice(indicesToRemove[i], 1);
503
395
  }
504
396
  return this;
505
397
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/extensions/arr-ext.ts"],
4
- "mappings": "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",
5
- "names": ["seen", "result"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }