@simplysm/core-common 13.0.99 → 14.0.1

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 (181) hide show
  1. package/dist/common.types.d.ts +14 -14
  2. package/dist/common.types.js +2 -1
  3. package/dist/common.types.js.map +1 -6
  4. package/dist/env.d.ts +5 -0
  5. package/dist/env.d.ts.map +1 -1
  6. package/dist/env.js +12 -8
  7. package/dist/env.js.map +1 -6
  8. package/dist/errors/argument-error.d.ts +10 -10
  9. package/dist/errors/argument-error.d.ts.map +1 -1
  10. package/dist/errors/argument-error.js +31 -14
  11. package/dist/errors/argument-error.js.map +1 -6
  12. package/dist/errors/not-implemented-error.d.ts +8 -8
  13. package/dist/errors/not-implemented-error.js +30 -12
  14. package/dist/errors/not-implemented-error.js.map +1 -6
  15. package/dist/errors/sd-error.d.ts +10 -10
  16. package/dist/errors/sd-error.d.ts.map +1 -1
  17. package/dist/errors/sd-error.js +45 -24
  18. package/dist/errors/sd-error.js.map +1 -6
  19. package/dist/errors/timeout-error.d.ts +10 -10
  20. package/dist/errors/timeout-error.js +34 -15
  21. package/dist/errors/timeout-error.js.map +1 -6
  22. package/dist/extensions/arr-ext.d.ts +2 -2
  23. package/dist/extensions/arr-ext.helpers.d.ts +10 -10
  24. package/dist/extensions/arr-ext.helpers.js +112 -89
  25. package/dist/extensions/arr-ext.helpers.js.map +1 -6
  26. package/dist/extensions/arr-ext.js +458 -422
  27. package/dist/extensions/arr-ext.js.map +1 -6
  28. package/dist/extensions/arr-ext.types.d.ts +57 -57
  29. package/dist/extensions/arr-ext.types.d.ts.map +1 -1
  30. package/dist/extensions/arr-ext.types.js +6 -1
  31. package/dist/extensions/arr-ext.types.js.map +1 -6
  32. package/dist/extensions/map-ext.d.ts +16 -16
  33. package/dist/extensions/map-ext.js +27 -22
  34. package/dist/extensions/map-ext.js.map +1 -6
  35. package/dist/extensions/set-ext.d.ts +11 -11
  36. package/dist/extensions/set-ext.js +32 -25
  37. package/dist/extensions/set-ext.js.map +1 -6
  38. package/dist/features/debounce-queue.d.ts +17 -17
  39. package/dist/features/debounce-queue.js +98 -70
  40. package/dist/features/debounce-queue.js.map +1 -6
  41. package/dist/features/event-emitter.d.ts +20 -20
  42. package/dist/features/event-emitter.js +101 -78
  43. package/dist/features/event-emitter.js.map +1 -6
  44. package/dist/features/serial-queue.d.ts +11 -11
  45. package/dist/features/serial-queue.js +78 -57
  46. package/dist/features/serial-queue.js.map +1 -6
  47. package/dist/globals.d.ts +4 -4
  48. package/dist/globals.js +9 -1
  49. package/dist/globals.js.map +1 -6
  50. package/dist/index.js +28 -27
  51. package/dist/index.js.map +1 -6
  52. package/dist/types/date-only.d.ts +64 -64
  53. package/dist/types/date-only.d.ts.map +1 -1
  54. package/dist/types/date-only.js +263 -252
  55. package/dist/types/date-only.js.map +1 -6
  56. package/dist/types/date-time.d.ts +36 -36
  57. package/dist/types/date-time.d.ts.map +1 -1
  58. package/dist/types/date-time.js +196 -288
  59. package/dist/types/date-time.js.map +1 -6
  60. package/dist/types/lazy-gc-map.d.ts +26 -26
  61. package/dist/types/lazy-gc-map.d.ts.map +1 -1
  62. package/dist/types/lazy-gc-map.js +202 -159
  63. package/dist/types/lazy-gc-map.js.map +1 -6
  64. package/dist/types/time.d.ts +23 -23
  65. package/dist/types/time.d.ts.map +1 -1
  66. package/dist/types/time.js +169 -158
  67. package/dist/types/time.js.map +1 -6
  68. package/dist/types/uuid.d.ts +11 -11
  69. package/dist/types/uuid.d.ts.map +1 -1
  70. package/dist/types/uuid.js +95 -70
  71. package/dist/types/uuid.js.map +1 -6
  72. package/dist/utils/bytes.d.ts +17 -17
  73. package/dist/utils/bytes.js +137 -81
  74. package/dist/utils/bytes.js.map +1 -6
  75. package/dist/utils/date-format.d.ts +40 -40
  76. package/dist/utils/date-format.js +187 -101
  77. package/dist/utils/date-format.js.map +1 -6
  78. package/dist/utils/error.d.ts +4 -4
  79. package/dist/utils/error.js +11 -6
  80. package/dist/utils/error.js.map +1 -6
  81. package/dist/utils/json.d.ts +19 -19
  82. package/dist/utils/json.js +187 -135
  83. package/dist/utils/json.js.map +1 -6
  84. package/dist/utils/num.d.ts +20 -20
  85. package/dist/utils/num.js +76 -34
  86. package/dist/utils/num.js.map +1 -6
  87. package/dist/utils/obj.d.ts +111 -111
  88. package/dist/utils/obj.d.ts.map +1 -1
  89. package/dist/utils/obj.js +706 -496
  90. package/dist/utils/obj.js.map +1 -6
  91. package/dist/utils/path.d.ts +10 -10
  92. package/dist/utils/path.js +35 -18
  93. package/dist/utils/path.js.map +1 -6
  94. package/dist/utils/primitive.d.ts +5 -5
  95. package/dist/utils/primitive.js +34 -14
  96. package/dist/utils/primitive.js.map +1 -6
  97. package/dist/utils/str.d.ts +38 -38
  98. package/dist/utils/str.js +217 -113
  99. package/dist/utils/str.js.map +1 -6
  100. package/dist/utils/template-strings.d.ts +26 -26
  101. package/dist/utils/template-strings.js +113 -40
  102. package/dist/utils/template-strings.js.map +1 -6
  103. package/dist/utils/transferable.d.ts +18 -18
  104. package/dist/utils/transferable.js +218 -151
  105. package/dist/utils/transferable.js.map +1 -6
  106. package/dist/utils/wait.d.ts +9 -9
  107. package/dist/utils/wait.js +30 -15
  108. package/dist/utils/wait.js.map +1 -6
  109. package/dist/utils/xml.d.ts +13 -13
  110. package/dist/utils/xml.js +84 -46
  111. package/dist/utils/xml.js.map +1 -6
  112. package/dist/utils/zip.d.ts +22 -22
  113. package/dist/utils/zip.js +172 -148
  114. package/dist/utils/zip.js.map +1 -6
  115. package/package.json +5 -7
  116. package/src/common.types.ts +14 -14
  117. package/src/env.ts +9 -1
  118. package/src/errors/argument-error.ts +15 -15
  119. package/src/errors/not-implemented-error.ts +9 -9
  120. package/src/errors/sd-error.ts +12 -12
  121. package/src/errors/timeout-error.ts +12 -12
  122. package/src/extensions/arr-ext.helpers.ts +16 -16
  123. package/src/extensions/arr-ext.ts +35 -35
  124. package/src/extensions/arr-ext.types.ts +57 -57
  125. package/src/extensions/map-ext.ts +16 -16
  126. package/src/extensions/set-ext.ts +11 -11
  127. package/src/features/debounce-queue.ts +23 -23
  128. package/src/features/event-emitter.ts +25 -25
  129. package/src/features/serial-queue.ts +13 -13
  130. package/src/globals.ts +4 -4
  131. package/src/index.ts +5 -5
  132. package/src/types/date-only.ts +84 -83
  133. package/src/types/date-time.ts +43 -42
  134. package/src/types/lazy-gc-map.ts +44 -44
  135. package/src/types/time.ts +29 -29
  136. package/src/types/uuid.ts +15 -15
  137. package/src/utils/bytes.ts +35 -35
  138. package/src/utils/date-format.ts +59 -59
  139. package/src/utils/error.ts +4 -4
  140. package/src/utils/json.ts +41 -41
  141. package/src/utils/num.ts +20 -20
  142. package/src/utils/obj.ts +138 -138
  143. package/src/utils/path.ts +10 -10
  144. package/src/utils/primitive.ts +6 -6
  145. package/src/utils/str.ts +48 -48
  146. package/src/utils/template-strings.ts +29 -29
  147. package/src/utils/transferable.ts +38 -38
  148. package/src/utils/wait.ts +10 -10
  149. package/src/utils/xml.ts +19 -19
  150. package/src/utils/zip.ts +25 -25
  151. package/README.md +0 -160
  152. package/docs/errors.md +0 -119
  153. package/docs/extensions.md +0 -387
  154. package/docs/features.md +0 -143
  155. package/docs/types.md +0 -287
  156. package/docs/utils.md +0 -757
  157. package/tests/errors/errors.spec.ts +0 -80
  158. package/tests/extensions/array-extension.spec.ts +0 -654
  159. package/tests/extensions/map-extension.spec.ts +0 -117
  160. package/tests/extensions/set-extension.spec.ts +0 -67
  161. package/tests/types/date-only.spec.ts +0 -533
  162. package/tests/types/date-time.spec.ts +0 -246
  163. package/tests/types/lazy-gc-map.spec.ts +0 -606
  164. package/tests/types/time.spec.ts +0 -428
  165. package/tests/types/uuid.spec.ts +0 -74
  166. package/tests/utils/bytes-utils.spec.ts +0 -197
  167. package/tests/utils/date-format.spec.ts +0 -350
  168. package/tests/utils/debounce-queue.spec.ts +0 -226
  169. package/tests/utils/json.spec.ts +0 -400
  170. package/tests/utils/number.spec.ts +0 -136
  171. package/tests/utils/object.spec.ts +0 -810
  172. package/tests/utils/path.spec.ts +0 -70
  173. package/tests/utils/primitive.spec.ts +0 -43
  174. package/tests/utils/sd-event-emitter.spec.ts +0 -189
  175. package/tests/utils/serial-queue.spec.ts +0 -305
  176. package/tests/utils/string.spec.ts +0 -265
  177. package/tests/utils/template-strings.spec.ts +0 -48
  178. package/tests/utils/transferable.spec.ts +0 -639
  179. package/tests/utils/wait.spec.ts +0 -123
  180. package/tests/utils/xml.spec.ts +0 -146
  181. package/tests/utils/zip.spec.ts +0 -221
@@ -1,117 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import "../../src/extensions/map-ext";
3
-
4
- describe("Map prototype extensions", () => {
5
- //#region getOrCreate
6
-
7
- describe("getOrCreate()", () => {
8
- it("Sets and returns value directly if key not exists", () => {
9
- const map = new Map<string, number>();
10
-
11
- const result = map.getOrCreate("key", 100);
12
-
13
- expect(result).toBe(100);
14
- expect(map.get("key")).toBe(100);
15
- expect(map.size).toBe(1);
16
- });
17
-
18
- it("Calls factory function and sets value if key not exists", () => {
19
- const map = new Map<string, number[]>();
20
- let factoryCalled = false;
21
-
22
- const result = map.getOrCreate("key", () => {
23
- factoryCalled = true;
24
- return [1, 2, 3];
25
- });
26
-
27
- expect(factoryCalled).toBe(true);
28
- expect(result).toEqual([1, 2, 3]);
29
- expect(map.get("key")).toEqual([1, 2, 3]);
30
- });
31
-
32
- it("Returns existing value if key exists, factory not called", () => {
33
- const map = new Map<string, number>();
34
- map.set("key", 50);
35
- let factoryCalled = false;
36
-
37
- const result = map.getOrCreate("key", () => {
38
- factoryCalled = true;
39
- return 100;
40
- });
41
-
42
- expect(factoryCalled).toBe(false);
43
- expect(result).toBe(50);
44
- expect(map.get("key")).toBe(50);
45
- });
46
-
47
- it("Can set empty array as default value", () => {
48
- const map = new Map<string, number[]>();
49
-
50
- const arr = map.getOrCreate("key", []);
51
- arr.push(1, 2, 3);
52
-
53
- expect(map.get("key")).toEqual([1, 2, 3]);
54
- });
55
-
56
- it("Can create complex object with factory function", () => {
57
- const map = new Map<string, { count: number; items: string[] }>();
58
-
59
- const obj = map.getOrCreate("key", () => ({ count: 0, items: [] }));
60
- obj.count++;
61
- obj.items.push("item1");
62
-
63
- expect(map.get("key")).toEqual({ count: 1, items: ["item1"] });
64
- });
65
-
66
- it("Wraps function value in factory when V type is function", () => {
67
- const map = new Map<string, () => number>();
68
- const fn = () => 42;
69
-
70
- // Function value must be wrapped in factory to store
71
- const result = map.getOrCreate("key", () => fn);
72
-
73
- expect(result).toBe(fn);
74
- expect(result()).toBe(42);
75
- expect(map.get("key")).toBe(fn);
76
- });
77
- });
78
-
79
- //#endregion
80
-
81
- //#region update
82
-
83
- describe("update()", () => {
84
- it("Updates value of existing key", () => {
85
- const map = new Map<string, number>();
86
- map.set("key", 10);
87
-
88
- map.update("key", (v) => (v ?? 0) + 5);
89
-
90
- expect(map.get("key")).toBe(15);
91
- });
92
-
93
- it("Passes undefined for non-existing key", () => {
94
- const map = new Map<string, number>();
95
- let receivedValue: number | undefined;
96
-
97
- map.update("key", (v) => {
98
- receivedValue = v;
99
- return 100;
100
- });
101
-
102
- expect(receivedValue).toBeUndefined();
103
- expect(map.get("key")).toBe(100);
104
- });
105
-
106
- it("Replaces value with callback return value", () => {
107
- const map = new Map<string, string>();
108
- map.set("key", "hello");
109
-
110
- map.update("key", (v) => (v ?? "") + " world");
111
-
112
- expect(map.get("key")).toBe("hello world");
113
- });
114
- });
115
-
116
- //#endregion
117
- });
@@ -1,67 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import "../../src/extensions/set-ext";
3
-
4
- describe("Set prototype extensions", () => {
5
- //#region adds
6
-
7
- describe("adds()", () => {
8
- it("Adds multiple items at once", () => {
9
- const set = new Set([1, 2, 3]);
10
- const result = set.adds(4, 5, 6);
11
-
12
- expect(result).toBe(set); // returns original
13
- expect(set.size).toBe(6);
14
- expect(set.has(4)).toBe(true);
15
- expect(set.has(5)).toBe(true);
16
- expect(set.has(6)).toBe(true);
17
- });
18
-
19
- it("Automatically removes duplicate items", () => {
20
- const set = new Set([1, 2, 3]);
21
- set.adds(2, 3, 4);
22
-
23
- expect(set.size).toBe(4); // 1, 2, 3, 4
24
- });
25
- });
26
-
27
- //#endregion
28
-
29
- //#region toggle
30
-
31
- describe("toggle()", () => {
32
- it("Adds item if not exists", () => {
33
- const set = new Set([1, 2, 3]);
34
- const result = set.toggle(4);
35
-
36
- expect(result).toBe(set); // returns original
37
- expect(set.has(4)).toBe(true);
38
- expect(set.size).toBe(4);
39
- });
40
-
41
- it("Removes item if exists", () => {
42
- const set = new Set([1, 2, 3]);
43
- set.toggle(2);
44
-
45
- expect(set.has(2)).toBe(false);
46
- expect(set.size).toBe(2);
47
- });
48
-
49
- it("Force adds with addOrDel='add'", () => {
50
- const set = new Set([1, 2, 3]);
51
- set.toggle(2, "add"); // already exists but add option
52
-
53
- expect(set.has(2)).toBe(true);
54
- expect(set.size).toBe(3); // unchanged
55
- });
56
-
57
- it("Force removes with addOrDel='del'", () => {
58
- const set = new Set([1, 2, 3]);
59
- set.toggle(4, "del"); // not exists but del option
60
-
61
- expect(set.has(4)).toBe(false);
62
- expect(set.size).toBe(3); // unchanged
63
- });
64
- });
65
-
66
- //#endregion
67
- });