@simplysm/core-common 13.0.76 → 13.0.78

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/primitive.ts"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAkBvB,SAAS,oBAAoB,OAA6D;AAC/F,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,WAAY,QAAO;AACxC,QAAM,IAAI,cAAc,uBAAuB,EAAE,MAAM,OAAO,MAAM,CAAC;AACvE;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAkBvB,SAAS,QAAQ,OAA6D;AACnF,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,WAAY,QAAO;AACxC,QAAM,IAAI,cAAc,uBAAuB,EAAE,MAAM,OAAO,MAAM,CAAC;AACvE;",
5
5
  "names": []
6
6
  }
@@ -14,10 +14,10 @@
14
14
  * - `"라"`: 이라/라 (ira/ra - copula particle)
15
15
  *
16
16
  * @example
17
- * koreanGetSuffix("Apple", "을") // "를"
18
- * koreanGetSuffix("책", "이") // "이"
17
+ * getKoreanSuffix("Apple", "을") // "를"
18
+ * getKoreanSuffix("책", "이") // "이"
19
19
  */
20
- export declare function koreanGetSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
20
+ export declare function getKoreanSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
21
21
  /**
22
22
  * Convert full-width characters to half-width characters
23
23
  *
@@ -29,24 +29,24 @@ export declare function koreanGetSuffix(text: string, type: "을" | "은" | "이
29
29
  * - Full-width parentheses (() → ())
30
30
  *
31
31
  * @example
32
- * strReplaceFullWidth("A123") // "A123"
33
- * strReplaceFullWidth("(株)") // "(株)"
32
+ * replaceFullWidth("A123") // "A123"
33
+ * replaceFullWidth("(株)") // "(株)"
34
34
  */
35
- export declare function strReplaceFullWidth(str: string): string;
35
+ export declare function replaceFullWidth(str: string): string;
36
36
  /**
37
37
  * Convert to PascalCase
38
38
  * @example "hello-world" → "HelloWorld"
39
39
  * @example "hello_world" → "HelloWorld"
40
40
  * @example "hello.world" → "HelloWorld"
41
41
  */
42
- export declare function strToPascalCase(str: string): string;
42
+ export declare function toPascalCase(str: string): string;
43
43
  /**
44
44
  * Convert to camelCase
45
45
  * @example "hello-world" → "helloWorld"
46
46
  * @example "hello_world" → "helloWorld"
47
47
  * @example "HelloWorld" → "helloWorld"
48
48
  */
49
- export declare function strToCamelCase(str: string): string;
49
+ export declare function toCamelCase(str: string): string;
50
50
  /**
51
51
  * Convert to kebab-case
52
52
  *
@@ -57,7 +57,7 @@ export declare function strToCamelCase(str: string): string;
57
57
  * @example "Hello-World" → "hello--world" (existing separators are preserved)
58
58
  * @example "XMLParser" → "x-m-l-parser" (consecutive uppercase letters are separated)
59
59
  */
60
- export declare function strToKebabCase(str: string): string;
60
+ export declare function toKebabCase(str: string): string;
61
61
  /**
62
62
  * Convert to snake_case
63
63
  *
@@ -68,7 +68,7 @@ export declare function strToKebabCase(str: string): string;
68
68
  * @example "Hello_World" → "hello__world" (existing separators are preserved)
69
69
  * @example "XMLParser" → "x_m_l_parser" (consecutive uppercase letters are separated)
70
70
  */
71
- export declare function strToSnakeCase(str: string): string;
71
+ export declare function toSnakeCase(str: string): string;
72
72
  /**
73
73
  * Check if string is undefined or empty (type guard)
74
74
  *
@@ -77,7 +77,7 @@ export declare function strToSnakeCase(str: string): string;
77
77
  *
78
78
  * @example
79
79
  * const name: string | undefined = getValue();
80
- * if (strIsNullOrEmpty(name)) {
80
+ * if (isNullOrEmpty(name)) {
81
81
  * // name: "" | undefined
82
82
  * console.log("Name is empty");
83
83
  * } else {
@@ -85,7 +85,7 @@ export declare function strToSnakeCase(str: string): string;
85
85
  * console.log(`Name: ${name}`);
86
86
  * }
87
87
  */
88
- export declare function strIsNullOrEmpty(str: string | undefined): str is "" | undefined;
88
+ export declare function isNullOrEmpty(str: string | undefined): str is "" | undefined;
89
89
  /**
90
90
  * Insert a string at a specific position
91
91
  *
@@ -95,9 +95,9 @@ export declare function strIsNullOrEmpty(str: string | undefined): str is "" | u
95
95
  * @returns A new string with the insertion applied
96
96
  *
97
97
  * @example
98
- * strInsert("Hello World", 5, ","); // "Hello, World"
99
- * strInsert("abc", 0, "X"); // "Xabc"
100
- * strInsert("abc", 3, "X"); // "abcX"
98
+ * insert("Hello World", 5, ","); // "Hello, World"
99
+ * insert("abc", 0, "X"); // "Xabc"
100
+ * insert("abc", 3, "X"); // "abcX"
101
101
  */
102
- export declare function strInsert(str: string, index: number, insertString: string): string;
102
+ export declare function insert(str: string, index: number, insertString: string): string;
103
103
  //# sourceMappingURL=str.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/utils/str.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC5C,MAAM,CAwBR;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAElF"}
1
+ {"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/utils/str.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC5C,MAAM,CAwBR;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,CAE5E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE/E"}
package/dist/utils/str.js CHANGED
@@ -7,7 +7,7 @@ const suffixTable = {
7
7
  \uB85C: { t: "\uC73C\uB85C", f: "\uB85C" },
8
8
  \uB77C: { t: "\uC774\uB77C", f: "\uB77C" }
9
9
  };
10
- function koreanGetSuffix(text, type) {
10
+ function getKoreanSuffix(text, type) {
11
11
  const table = suffixTable;
12
12
  if (text.length === 0) {
13
13
  return table[type].f;
@@ -91,38 +91,38 @@ const fullWidthCharMap = {
91
91
  "\uFF08": "("
92
92
  };
93
93
  const fullWidthCharRegex = new RegExp(`[${Object.keys(fullWidthCharMap).join("")}]`, "g");
94
- function strReplaceFullWidth(str) {
94
+ function replaceFullWidth(str) {
95
95
  return str.replace(fullWidthCharRegex, (char) => fullWidthCharMap[char] ?? char);
96
96
  }
97
- function strToPascalCase(str) {
97
+ function toPascalCase(str) {
98
98
  return str.replace(/[-._][a-z]/g, (m) => m[1].toUpperCase()).replace(/^[a-z]/, (m) => m.toUpperCase());
99
99
  }
100
- function strToCamelCase(str) {
100
+ function toCamelCase(str) {
101
101
  return str.replace(/[-._][a-z]/g, (m) => m[1].toUpperCase()).replace(/^[A-Z]/, (m) => m.toLowerCase());
102
102
  }
103
- function strToKebabCase(str) {
103
+ function toKebabCase(str) {
104
104
  return toCaseWithSeparator(str, "-");
105
105
  }
106
- function strToSnakeCase(str) {
106
+ function toSnakeCase(str) {
107
107
  return toCaseWithSeparator(str, "_");
108
108
  }
109
109
  function toCaseWithSeparator(str, separator) {
110
110
  return str.replace(/^[A-Z]/, (m) => m.toLowerCase()).replace(/[-_]?[A-Z]/g, (m) => separator + m.toLowerCase());
111
111
  }
112
- function strIsNullOrEmpty(str) {
112
+ function isNullOrEmpty(str) {
113
113
  return str == null || str === "";
114
114
  }
115
- function strInsert(str, index, insertString) {
115
+ function insert(str, index, insertString) {
116
116
  return str.substring(0, index) + insertString + str.substring(index);
117
117
  }
118
118
  export {
119
- koreanGetSuffix,
120
- strInsert,
121
- strIsNullOrEmpty,
122
- strReplaceFullWidth,
123
- strToCamelCase,
124
- strToKebabCase,
125
- strToPascalCase,
126
- strToSnakeCase
119
+ getKoreanSuffix,
120
+ insert,
121
+ isNullOrEmpty,
122
+ replaceFullWidth,
123
+ toCamelCase,
124
+ toKebabCase,
125
+ toPascalCase,
126
+ toSnakeCase
127
127
  };
128
128
  //# sourceMappingURL=str.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/str.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -26,7 +26,7 @@ type Transferable = ArrayBuffer;
26
26
  * worker.postMessage(result, transferList);
27
27
  *
28
28
  * // Receive data from Worker
29
- * const decoded = transferableDecode(event.data);
29
+ * const decoded = decode(event.data);
30
30
  */
31
31
  /**
32
32
  * Convert objects using Simplysm types to plain objects
@@ -34,7 +34,7 @@ type Transferable = ArrayBuffer;
34
34
  *
35
35
  * @throws TypeError if circular reference is detected
36
36
  */
37
- export declare function transferableEncode(obj: unknown): {
37
+ export declare function encode(obj: unknown): {
38
38
  result: unknown;
39
39
  transferList: Transferable[];
40
40
  };
@@ -42,6 +42,6 @@ export declare function transferableEncode(obj: unknown): {
42
42
  * Convert serialized objects to objects using Simplysm types
43
43
  * Deserialize data received from a Worker
44
44
  */
45
- export declare function transferableDecode(obj: unknown): unknown;
45
+ export declare function decode(obj: unknown): unknown;
46
46
  export {};
47
47
  //# sourceMappingURL=transferable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferable.d.ts","sourceRoot":"","sources":["../../src/utils/transferable.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,KAAK,YAAY,GAAG,WAAW,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAMA;AAoJD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA2ExD"}
1
+ {"version":3,"file":"transferable.d.ts","sourceRoot":"","sources":["../../src/utils/transferable.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,KAAK,YAAY,GAAG,WAAW,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAMA;AAoJD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA2E5C"}
@@ -2,7 +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 { Uuid } from "../types/uuid.js";
5
- function transferableEncode(obj) {
5
+ function encode(obj) {
6
6
  const transferList = [];
7
7
  const ancestors = /* @__PURE__ */ new Set();
8
8
  const cache = /* @__PURE__ */ new Map();
@@ -108,7 +108,7 @@ function encodeImpl(obj, transferList, path, ancestors, cache) {
108
108
  }
109
109
  }
110
110
  }
111
- function transferableDecode(obj) {
111
+ function decode(obj) {
112
112
  if (obj == null) return obj;
113
113
  if (typeof obj === "object" && "__type__" in obj && "data" in obj) {
114
114
  const typed = obj;
@@ -128,25 +128,25 @@ function transferableDecode(obj) {
128
128
  err.name = errorData.name;
129
129
  err.stack = errorData.stack;
130
130
  if (errorData.code !== void 0) err.code = errorData.code;
131
- if (errorData.cause !== void 0) err.cause = transferableDecode(errorData.cause);
132
- if (errorData.detail !== void 0) err.detail = transferableDecode(errorData.detail);
131
+ if (errorData.cause !== void 0) err.cause = decode(errorData.cause);
132
+ if (errorData.detail !== void 0) err.detail = decode(errorData.detail);
133
133
  return err;
134
134
  }
135
135
  }
136
136
  if (Array.isArray(obj)) {
137
- return obj.map((item) => transferableDecode(item));
137
+ return obj.map((item) => decode(item));
138
138
  }
139
139
  if (obj instanceof Map) {
140
140
  const newMap = /* @__PURE__ */ new Map();
141
141
  for (const [k, v] of obj) {
142
- newMap.set(transferableDecode(k), transferableDecode(v));
142
+ newMap.set(decode(k), decode(v));
143
143
  }
144
144
  return newMap;
145
145
  }
146
146
  if (obj instanceof Set) {
147
147
  const newSet = /* @__PURE__ */ new Set();
148
148
  for (const v of obj) {
149
- newSet.add(transferableDecode(v));
149
+ newSet.add(decode(v));
150
150
  }
151
151
  return newSet;
152
152
  }
@@ -154,14 +154,14 @@ function transferableDecode(obj) {
154
154
  const record = obj;
155
155
  const result = {};
156
156
  for (const key of Object.keys(record)) {
157
- result[key] = transferableDecode(record[key]);
157
+ result[key] = decode(record[key]);
158
158
  }
159
159
  return result;
160
160
  }
161
161
  return obj;
162
162
  }
163
163
  export {
164
- transferableDecode,
165
- transferableEncode
164
+ decode,
165
+ encode
166
166
  };
167
167
  //# sourceMappingURL=transferable.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/transferable.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AA0Cd,SAAS,OAAO,KAGrB;AACA,QAAM,eAA+B,CAAC;AACtC,QAAM,YAAY,oBAAI,IAAY;AAClC,QAAM,QAAQ,oBAAI,IAAqB;AACvC,QAAM,SAAS,WAAW,KAAK,cAAc,CAAC,GAAG,WAAW,KAAK;AACjE,SAAO,EAAE,QAAQ,aAAa;AAChC;AAEA,SAAS,WACP,KACA,cACA,MACA,WACA,OACS;AACT,MAAI,OAAO,KAAM,QAAO;AAGxB,MAAI,OAAO,QAAQ,UAAU;AAE3B,QAAI,UAAU,IAAI,GAAG,GAAG;AACtB,YAAM,cAAc,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,IAAI;AACvD,YAAM,IAAI,UAAU,gCAAgC,WAAW,EAAE;AAAA,IACnE;AAGA,UAAM,SAAS,MAAM,IAAI,GAAG;AAC5B,QAAI,WAAW,OAAW,QAAO;AAGjC,cAAU,IAAI,GAAG;AAAA,EACnB;AAEA,MAAI;AAEJ,MAAI;AAEF,QAAI,eAAe,YAAY;AAG7B,YAAM,sBACJ,OAAO,sBAAsB,eAAe,IAAI,kBAAkB;AACpE,YAAM,SAAS,IAAI;AACnB,UAAI,CAAC,uBAAuB,CAAC,aAAa,SAAS,MAAM,GAAG;AAC1D,qBAAa,KAAK,MAAM;AAAA,MAC1B;AACA,eAAS;AAAA,IACX,WAES,eAAe,MAAM;AAC5B,eAAS,EAAE,UAAU,QAAQ,MAAM,IAAI,QAAQ,EAAE;AAAA,IACnD,WAAW,eAAe,UAAU;AAClC,eAAS,EAAE,UAAU,YAAY,MAAM,IAAI,KAAK;AAAA,IAClD,WAAW,eAAe,UAAU;AAClC,eAAS,EAAE,UAAU,YAAY,MAAM,IAAI,KAAK;AAAA,IAClD,WAAW,eAAe,MAAM;AAC9B,eAAS,EAAE,UAAU,QAAQ,MAAM,IAAI,KAAK;AAAA,IAC9C,WAAW,eAAe,MAAM;AAC9B,eAAS,EAAE,UAAU,QAAQ,MAAM,IAAI,SAAS,EAAE;AAAA,IACpD,WAAW,eAAe,QAAQ;AAChC,eAAS,EAAE,UAAU,UAAU,MAAM,EAAE,QAAQ,IAAI,QAAQ,OAAO,IAAI,MAAM,EAAE;AAAA,IAChF,WAAW,eAAe,OAAO;AAC/B,YAAM,SAAS;AAIf,eAAS;AAAA,QACP,UAAU;AAAA,QACV,MAAM;AAAA,UACJ,MAAM,OAAO;AAAA,UACb,SAAS,OAAO;AAAA,UAChB,OAAO,OAAO;AAAA,UACd,GAAI,OAAO,SAAS,SAAY,EAAE,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,UACzD,GAAI,OAAO,WAAW,SAClB;AAAA,YACE,QAAQ;AAAA,cACN,OAAO;AAAA,cACP;AAAA,cACA,CAAC,GAAG,MAAM,QAAQ;AAAA,cAClB;AAAA,cACA;AAAA,YACF;AAAA,UACF,IACA,CAAC;AAAA,UACL,GAAI,OAAO,UAAU,SACjB;AAAA,YACE,OAAO,WAAW,OAAO,OAAO,cAAc,CAAC,GAAG,MAAM,OAAO,GAAG,WAAW,KAAK;AAAA,UACpF,IACA,CAAC;AAAA,QACP;AAAA,MACF;AAAA,IACF,WAES,MAAM,QAAQ,GAAG,GAAG;AAC3B,eAAS,IAAI;AAAA,QAAI,CAAC,MAAM,QACtB,WAAW,MAAM,cAAc,CAAC,GAAG,MAAM,GAAG,GAAG,WAAW,KAAK;AAAA,MACjE;AAAA,IACF,WAES,eAAe,KAAK;AAC3B,UAAI,MAAM;AACV,eAAS,IAAI;AAAA,QACX,MAAM,KAAK,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AACxC,gBAAM,UAAU,CAAC,GAAG,MAAM,OAAO,GAAG,OAAO;AAC3C,gBAAM,YAAY,CAAC,GAAG,MAAM,OAAO,GAAG,SAAS;AAC/C;AACA,iBAAO;AAAA,YACL,WAAW,GAAG,cAAc,SAAS,WAAW,KAAK;AAAA,YACrD,WAAW,GAAG,cAAc,WAAW,WAAW,KAAK;AAAA,UACzD;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,WAES,eAAe,KAAK;AAC3B,UAAI,MAAM;AACV,eAAS,IAAI;AAAA,QACX,MAAM,KAAK,GAAG,EAAE;AAAA,UAAI,CAAC,MACnB,WAAW,GAAG,cAAc,CAAC,GAAG,MAAM,OAAO,KAAK,GAAG,GAAG,WAAW,KAAK;AAAA,QAC1E;AAAA,MACF;AAAA,IACF,WAES,OAAO,QAAQ,UAAU;AAChC,YAAM,MAA+B,CAAC;AACtC,YAAM,SAAS;AACf,iBAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAI,GAAG,IAAI,WAAW,OAAO,GAAG,GAAG,cAAc,CAAC,GAAG,MAAM,GAAG,GAAG,WAAW,KAAK;AAAA,MACnF;AACA,eAAS;AAAA,IACX,OAEK;AACH,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,QAAQ,UAAU;AAC3B,YAAM,IAAI,KAAK,MAAM;AAAA,IACvB;AAEA,WAAO;AAAA,EACT,UAAE;AAEA,QAAI,OAAO,QAAQ,UAAU;AAC3B,gBAAU,OAAO,GAAG;AAAA,IACtB;AAAA,EACF;AACF;AAUO,SAAS,OAAO,KAAuB;AAC5C,MAAI,OAAO,KAAM,QAAO;AAGxB,MAAI,OAAO,QAAQ,YAAY,cAAc,OAAO,UAAU,KAAK;AACjE,UAAM,QAAQ;AACd,UAAM,OAAO,MAAM;AAEnB,QAAI,MAAM,aAAa,UAAU,OAAO,SAAS,SAAU,QAAO,IAAI,KAAK,IAAI;AAC/E,QAAI,MAAM,aAAa,cAAc,OAAO,SAAS,SAAU,QAAO,IAAI,SAAS,IAAI;AACvF,QAAI,MAAM,aAAa,cAAc,OAAO,SAAS,SAAU,QAAO,IAAI,SAAS,IAAI;AACvF,QAAI,MAAM,aAAa,UAAU,OAAO,SAAS,SAAU,QAAO,IAAI,KAAK,IAAI;AAC/E,QAAI,MAAM,aAAa,UAAU,OAAO,SAAS,SAAU,QAAO,IAAI,KAAK,IAAI;AAC/E,QAAI,MAAM,aAAa,YAAY,OAAO,SAAS,YAAY,SAAS,MAAM;AAC5E,YAAM,YAAY;AAClB,aAAO,IAAI,OAAO,UAAU,QAAQ,UAAU,KAAK;AAAA,IACrD;AACA,QAAI,MAAM,aAAa,WAAW,OAAO,SAAS,YAAY,SAAS,MAAM;AAC3E,YAAM,YAAY;AAQlB,YAAM,MAAM,IAAI,MAAM,UAAU,OAAO;AAKvC,UAAI,OAAO,UAAU;AACrB,UAAI,QAAQ,UAAU;AAEtB,UAAI,UAAU,SAAS,OAAW,KAAI,OAAO,UAAU;AACvD,UAAI,UAAU,UAAU,OAAW,CAAC,IAAc,QAAQ,OAAO,UAAU,KAAK;AAChF,UAAI,UAAU,WAAW,OAAW,KAAI,SAAS,OAAO,UAAU,MAAM;AACxE,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC;AAAA,EACvC;AAGA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAsB;AACzC,eAAW,CAAC,GAAG,CAAC,KAAK,KAAK;AACxB,aAAO,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAAA,IACjC;AACA,WAAO;AAAA,EACT;AAGA,MAAI,eAAe,KAAK;AACtB,UAAM,SAAS,oBAAI,IAAa;AAChC,eAAW,KAAK,KAAK;AACnB,aAAO,IAAI,OAAO,CAAC,CAAC;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,QAAQ,UAAU;AAC3B,UAAM,SAAS;AACf,UAAM,SAAkC,CAAC;AACzC,eAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,aAAO,GAAG,IAAI,OAAO,OAAO,GAAG,CAAC;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -10,10 +10,10 @@
10
10
  * await waitUntil(() => someCondition, 100, 3);
11
11
  * @throws TimeoutError when maximum number of attempts is exceeded
12
12
  */
13
- export declare function waitUntil(forwarder: () => boolean | Promise<boolean>, milliseconds?: number, maxCount?: number): Promise<void>;
13
+ export declare function until(forwarder: () => boolean | Promise<boolean>, milliseconds?: number, maxCount?: number): Promise<void>;
14
14
  /**
15
15
  * Wait for a specified amount of time
16
16
  * @param millisecond Wait time (ms)
17
17
  */
18
- export declare function waitTime(millisecond: number): Promise<void>;
18
+ export declare function time(millisecond: number): Promise<void>;
19
19
  //# sourceMappingURL=wait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/utils/wait.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/utils/wait.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CACzB,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
@@ -1,19 +1,19 @@
1
1
  import { TimeoutError } from "../errors/timeout-error.js";
2
- async function waitUntil(forwarder, milliseconds, maxCount) {
2
+ async function until(forwarder, milliseconds, maxCount) {
3
3
  let count = 0;
4
4
  while (!await forwarder()) {
5
5
  count++;
6
6
  if (maxCount !== void 0 && count >= maxCount) {
7
7
  throw new TimeoutError(count);
8
8
  }
9
- await waitTime(milliseconds ?? 100);
9
+ await time(milliseconds ?? 100);
10
10
  }
11
11
  }
12
- async function waitTime(millisecond) {
12
+ async function time(millisecond) {
13
13
  return new Promise((resolve) => setTimeout(resolve, millisecond));
14
14
  }
15
15
  export {
16
- waitTime,
17
- waitUntil
16
+ time,
17
+ until
18
18
  };
19
19
  //# sourceMappingURL=wait.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/wait.ts"],
4
- "mappings": "AAGA,SAAS,oBAAoB;AAc7B,eAAsB,UACpB,WACA,cACA,UACe;AACf,MAAI,QAAQ;AACZ,SAAO,CAAE,MAAM,UAAU,GAAI;AAC3B;AACA,QAAI,aAAa,UAAa,SAAS,UAAU;AAC/C,YAAM,IAAI,aAAa,KAAK;AAAA,IAC9B;AAEA,UAAM,SAAS,gBAAgB,GAAG;AAAA,EACpC;AACF;AAMA,eAAsB,SAAS,aAAoC;AACjE,SAAO,IAAI,QAAc,CAAC,YAAY,WAAW,SAAS,WAAW,CAAC;AACxE;",
4
+ "mappings": "AAGA,SAAS,oBAAoB;AAc7B,eAAsB,MACpB,WACA,cACA,UACe;AACf,MAAI,QAAQ;AACZ,SAAO,CAAE,MAAM,UAAU,GAAI;AAC3B;AACA,QAAI,aAAa,UAAa,SAAS,UAAU;AAC/C,YAAM,IAAI,aAAa,KAAK;AAAA,IAC9B;AAEA,UAAM,KAAK,gBAAgB,GAAG;AAAA,EAChC;AACF;AAMA,eAAsB,KAAK,aAAoC;AAC7D,SAAO,IAAI,QAAc,CAAC,YAAY,WAAW,SAAS,WAAW,CAAC;AACxE;",
5
5
  "names": []
6
6
  }
@@ -15,7 +15,7 @@ import type { XmlBuilderOptions } from "fast-xml-parser";
15
15
  * xmlParse('<root id="1"><item>hello</item></root>');
16
16
  * // { root: { $: { id: "1" }, item: [{ _: "hello" }] } }
17
17
  */
18
- export declare function xmlParse(str: string, options?: {
18
+ export declare function parse(str: string, options?: {
19
19
  stripTagPrefix?: boolean;
20
20
  }): unknown;
21
21
  /**
@@ -32,5 +32,5 @@ export declare function xmlParse(str: string, options?: {
32
32
  * });
33
33
  * // '<root id="1"><item>hello</item><item>world</item></root>'
34
34
  */
35
- export declare function xmlStringify(obj: unknown, options?: XmlBuilderOptions): string;
35
+ export declare function stringify(obj: unknown, options?: XmlBuilderOptions): string;
36
36
  //# sourceMappingURL=xml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAcrF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAS9E"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAclF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAS3E"}
package/dist/utils/xml.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { XMLBuilder, XMLParser } from "fast-xml-parser";
2
- function xmlParse(str, options) {
2
+ function parse(str, options) {
3
3
  const result = new XMLParser({
4
4
  ignoreAttributes: false,
5
5
  attributeNamePrefix: "",
@@ -14,7 +14,7 @@ function xmlParse(str, options) {
14
14
  }).parse(str);
15
15
  return (options == null ? void 0 : options.stripTagPrefix) ? stripTagPrefix(result) : result;
16
16
  }
17
- function xmlStringify(obj, options) {
17
+ function stringify(obj, options) {
18
18
  return new XMLBuilder({
19
19
  ignoreAttributes: false,
20
20
  attributeNamePrefix: "",
@@ -46,7 +46,7 @@ function stripTagPrefix(obj) {
46
46
  return obj;
47
47
  }
48
48
  export {
49
- xmlParse,
50
- xmlStringify
49
+ parse,
50
+ stringify
51
51
  };
52
52
  //# sourceMappingURL=xml.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/xml.ts"],
4
- "mappings": "AAIA,SAAS,YAAY,iBAAiB;AAiB/B,SAAS,SAAS,KAAa,SAAiD;AACrF,QAAM,SAAS,IAAI,UAAU;AAAA,IAC3B,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS,CAAC,UAAkB,OAAe,aAAsB,gBAAyB;AACxF,aAAO,CAAC,eAAe,MAAM,MAAM,GAAG,EAAE,SAAS;AAAA,IACnD;AAAA,EACF,CAAC,EAAE,MAAM,GAAG;AACZ,UAAO,mCAAS,kBAAiB,eAAe,MAAM,IAAI;AAC5D;AAoBO,SAAS,aAAa,KAAc,SAAqC;AAC9E,SAAO,IAAI,WAAW;AAAA,IACpB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,2BAA2B;AAAA,IAC3B,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC,EAAE,MAAM,GAAG;AACd;AAYA,SAAS,eAAe,KAAuB;AAC7C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC;AAAA,EAC/C;AAEA,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,SAAkC,CAAC;AACzC,UAAM,SAAS;AAEf,eAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAM,QAAQ,OAAO,GAAG;AAGxB,UAAI,QAAQ,KAAK;AACf,eAAO,GAAG,IAAI;AAAA,MAChB,OAAO;AAEL,cAAM,aAAa,IAAI,QAAQ,GAAG;AAClC,cAAM,WAAW,eAAe,KAAK,IAAI,MAAM,aAAa,CAAC,IAAI;AACjE,eAAO,QAAQ,IAAI,eAAe,KAAK;AAAA,MACzC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
4
+ "mappings": "AAIA,SAAS,YAAY,iBAAiB;AAiB/B,SAAS,MAAM,KAAa,SAAiD;AAClF,QAAM,SAAS,IAAI,UAAU;AAAA,IAC3B,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS,CAAC,UAAkB,OAAe,aAAsB,gBAAyB;AACxF,aAAO,CAAC,eAAe,MAAM,MAAM,GAAG,EAAE,SAAS;AAAA,IACnD;AAAA,EACF,CAAC,EAAE,MAAM,GAAG;AACZ,UAAO,mCAAS,kBAAiB,eAAe,MAAM,IAAI;AAC5D;AAoBO,SAAS,UAAU,KAAc,SAAqC;AAC3E,SAAO,IAAI,WAAW;AAAA,IACpB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,2BAA2B;AAAA,IAC3B,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC,EAAE,MAAM,GAAG;AACd;AAYA,SAAS,eAAe,KAAuB;AAC7C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC;AAAA,EAC/C;AAEA,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,SAAkC,CAAC;AACzC,UAAM,SAAS;AAEf,eAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAM,QAAQ,OAAO,GAAG;AAGxB,UAAI,QAAQ,KAAK;AACf,eAAO,GAAG,IAAI;AAAA,MAChB,OAAO;AAEL,cAAM,aAAa,IAAI,QAAQ,GAAG;AAClC,cAAM,WAAW,eAAe,KAAK,IAAI,MAAM,aAAa,CAAC,IAAI;AACjE,eAAO,QAAQ,IAAI,eAAe,KAAK;AAAA,MACzC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -77,4 +77,4 @@ export declare class ZipArchive {
77
77
  */
78
78
  [Symbol.asyncDispose](): Promise<void>;
79
79
  }
80
- //# sourceMappingURL=sd-zip.d.ts.map
80
+ //# sourceMappingURL=zip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../src/utils/zip.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,CAA6D;IAE9E;;;OAGG;gBACS,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK;YAUjB,WAAW;IAQzB;;;OAGG;IACG,UAAU,CACd,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,GACxD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAoD1C;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAwBvD;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAM3C;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAiBhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7C"}
@@ -156,4 +156,4 @@ class ZipArchive {
156
156
  export {
157
157
  ZipArchive
158
158
  };
159
- //# sourceMappingURL=sd-zip.js.map
159
+ //# sourceMappingURL=zip.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/zip/sd-zip.ts"],
3
+ "sources": ["../../src/utils/zip.ts"],
4
4
  "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/core-common",
3
- "version": "13.0.76",
3
+ "version": "13.0.78",
4
4
  "description": "Simplysm package - Core module (common)",
5
5
  "author": "simplysm",
6
6
  "license": "Apache-2.0",
@@ -6,6 +6,7 @@ import { DateTime } from "../types/date-time";
6
6
  import { DateOnly } from "../types/date-only";
7
7
  import { Time } from "../types/time";
8
8
  import { ArgumentError } from "../errors/argument-error";
9
+ import { equal } from "../utils/obj";
9
10
  import type { ComparableType } from "./arr-ext.types";
10
11
 
11
12
  /**
@@ -54,3 +55,88 @@ export function compareForOrder(pp: ComparableType, pn: ComparableType, desc: bo
54
55
  type2: typeof cpn,
55
56
  });
56
57
  }
58
+
59
+ /**
60
+ * Returns a Set of indices to KEEP (i.e., first occurrence of each unique item).
61
+ * Handles all deduplication strategies: matchAddress, keyFn, and default type-based.
62
+ */
63
+ export function getDistinctIndices<TItem>(
64
+ items: readonly TItem[],
65
+ options?: boolean | { matchAddress?: boolean; keyFn?: (item: TItem) => string | number },
66
+ ): Set<number> {
67
+ const opts = typeof options === "boolean" ? { matchAddress: options } : (options ?? {});
68
+ const result = new Set<number>();
69
+
70
+ // matchAddress: Set-based O(n)
71
+ if (opts.matchAddress === true) {
72
+ const seen = new Set<TItem>();
73
+ for (let i = 0; i < items.length; i++) {
74
+ if (!seen.has(items[i])) {
75
+ seen.add(items[i]);
76
+ result.add(i);
77
+ }
78
+ }
79
+ return result;
80
+ }
81
+
82
+ // keyFn provided: custom key-based O(n)
83
+ if (opts.keyFn) {
84
+ const seen = new Set<string | number>();
85
+ for (let i = 0; i < items.length; i++) {
86
+ const key = opts.keyFn(items[i]);
87
+ if (!seen.has(key)) {
88
+ seen.add(key);
89
+ result.add(i);
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+
95
+ // Default: type-based processing with edge cases
96
+ const seen = new Map<string, TItem>();
97
+ const seenRefs = new Set<symbol | ((...args: unknown[]) => unknown)>();
98
+
99
+ for (let i = 0; i < items.length; i++) {
100
+ const item = items[i];
101
+
102
+ if (item === null || typeof item !== "object") {
103
+ const type = typeof item;
104
+
105
+ if (type === "symbol" || type === "function") {
106
+ const ref = item as symbol | ((...args: unknown[]) => unknown);
107
+ if (!seenRefs.has(ref)) {
108
+ seenRefs.add(ref);
109
+ result.add(i);
110
+ }
111
+ continue;
112
+ }
113
+
114
+ let key = type + ":";
115
+ if (Object.is(item, -0)) {
116
+ key += "-0";
117
+ } else {
118
+ key += String(item);
119
+ }
120
+
121
+ if (!seen.has(key)) {
122
+ seen.set(key, item);
123
+ result.add(i);
124
+ }
125
+ continue;
126
+ }
127
+
128
+ // Objects: deep comparison (O(n²) — only add if no duplicate found in already-kept items)
129
+ let hasDuplicate = false;
130
+ for (const keptIdx of result) {
131
+ if (equal(items[keptIdx], item)) {
132
+ hasDuplicate = true;
133
+ break;
134
+ }
135
+ }
136
+ if (!hasDuplicate) {
137
+ result.add(i);
138
+ }
139
+ }
140
+
141
+ return result;
142
+ }