@igorjs/pure-ts 0.7.5 → 0.7.7

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 (142) hide show
  1. package/README.md +39 -745
  2. package/dist/async/cache.d.ts +1 -6
  3. package/dist/async/cache.d.ts.map +1 -1
  4. package/dist/async/cache.js.map +1 -1
  5. package/dist/async/circuit-breaker.d.ts +1 -6
  6. package/dist/async/circuit-breaker.d.ts.map +1 -1
  7. package/dist/async/circuit-breaker.js.map +1 -1
  8. package/dist/async/index.d.ts +21 -2
  9. package/dist/async/index.d.ts.map +1 -1
  10. package/dist/async/index.js +6 -2
  11. package/dist/async/index.js.map +1 -1
  12. package/dist/async/lazy.d.ts +6 -42
  13. package/dist/async/lazy.d.ts.map +1 -1
  14. package/dist/async/lazy.js.map +1 -1
  15. package/dist/async/pool.d.ts +1 -5
  16. package/dist/async/pool.d.ts.map +1 -1
  17. package/dist/async/pool.js +3 -3
  18. package/dist/async/pool.js.map +1 -1
  19. package/dist/async/rate-limiter.d.ts +1 -6
  20. package/dist/async/rate-limiter.d.ts.map +1 -1
  21. package/dist/async/rate-limiter.js.map +1 -1
  22. package/dist/async/retry.d.ts +7 -9
  23. package/dist/async/retry.d.ts.map +1 -1
  24. package/dist/async/retry.js.map +1 -1
  25. package/dist/async/semaphore.d.ts +2 -7
  26. package/dist/async/semaphore.d.ts.map +1 -1
  27. package/dist/async/semaphore.js.map +1 -1
  28. package/dist/async/stream.d.ts +1 -5
  29. package/dist/async/stream.d.ts.map +1 -1
  30. package/dist/async/stream.js +6 -6
  31. package/dist/async/stream.js.map +1 -1
  32. package/dist/async/task-like.d.ts +30 -0
  33. package/dist/async/task-like.d.ts.map +1 -0
  34. package/dist/async/task-like.js +13 -0
  35. package/dist/async/task-like.js.map +1 -0
  36. package/dist/async/task.d.ts +8 -62
  37. package/dist/async/task.d.ts.map +1 -1
  38. package/dist/async/task.js +1 -1
  39. package/dist/async/task.js.map +1 -1
  40. package/dist/async/timer.d.ts +1 -6
  41. package/dist/async/timer.d.ts.map +1 -1
  42. package/dist/async/timer.js +4 -4
  43. package/dist/async/timer.js.map +1 -1
  44. package/dist/client.d.ts +6 -7
  45. package/dist/client.d.ts.map +1 -1
  46. package/dist/client.js +2 -2
  47. package/dist/client.js.map +1 -1
  48. package/dist/core/index.d.ts +1 -1
  49. package/dist/core/index.d.ts.map +1 -1
  50. package/dist/core/index.js +1 -1
  51. package/dist/core/index.js.map +1 -1
  52. package/dist/core/option.d.ts +26 -68
  53. package/dist/core/option.d.ts.map +1 -1
  54. package/dist/core/option.js +7 -20
  55. package/dist/core/option.js.map +1 -1
  56. package/dist/core/pipe.d.ts +13 -0
  57. package/dist/core/pipe.d.ts.map +1 -1
  58. package/dist/core/pipe.js.map +1 -1
  59. package/dist/core/result.d.ts +45 -90
  60. package/dist/core/result.d.ts.map +1 -1
  61. package/dist/core/result.js +9 -65
  62. package/dist/core/result.js.map +1 -1
  63. package/dist/data/adt.d.ts +1 -2
  64. package/dist/data/adt.d.ts.map +1 -1
  65. package/dist/data/codec.d.ts +4 -3
  66. package/dist/data/codec.d.ts.map +1 -1
  67. package/dist/data/codec.js.map +1 -1
  68. package/dist/data/index.d.ts +12 -0
  69. package/dist/data/index.d.ts.map +1 -1
  70. package/dist/data/index.js +3 -0
  71. package/dist/data/index.js.map +1 -1
  72. package/dist/data/internals.d.ts +2 -2
  73. package/dist/data/internals.d.ts.map +1 -1
  74. package/dist/data/list.d.ts +1 -1
  75. package/dist/data/non-empty-list.d.ts +1 -1
  76. package/dist/data/record.d.ts +1 -2
  77. package/dist/data/record.d.ts.map +1 -1
  78. package/dist/data/record.js.map +1 -1
  79. package/dist/data/stable-vec.d.ts +116 -0
  80. package/dist/data/stable-vec.d.ts.map +1 -0
  81. package/dist/data/stable-vec.js +184 -0
  82. package/dist/data/stable-vec.js.map +1 -0
  83. package/dist/index.d.ts +26 -9
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +6 -4
  86. package/dist/index.js.map +1 -1
  87. package/dist/io/compression.d.ts +1 -6
  88. package/dist/io/compression.d.ts.map +1 -1
  89. package/dist/io/compression.js +3 -3
  90. package/dist/io/compression.js.map +1 -1
  91. package/dist/io/crypto.d.ts +1 -5
  92. package/dist/io/crypto.d.ts.map +1 -1
  93. package/dist/io/crypto.js +2 -2
  94. package/dist/io/crypto.js.map +1 -1
  95. package/dist/io/dns.d.ts +3 -7
  96. package/dist/io/dns.d.ts.map +1 -1
  97. package/dist/io/dns.js +3 -3
  98. package/dist/io/dns.js.map +1 -1
  99. package/dist/io/file.d.ts +1 -5
  100. package/dist/io/file.d.ts.map +1 -1
  101. package/dist/io/file.js +13 -13
  102. package/dist/io/file.js.map +1 -1
  103. package/dist/io/index.d.ts +11 -1
  104. package/dist/io/index.d.ts.map +1 -1
  105. package/dist/io/index.js +1 -0
  106. package/dist/io/index.js.map +1 -1
  107. package/dist/io/net.d.ts +1 -6
  108. package/dist/io/net.d.ts.map +1 -1
  109. package/dist/io/net.js +6 -6
  110. package/dist/io/net.js.map +1 -1
  111. package/dist/io/subprocess.d.ts +1 -6
  112. package/dist/io/subprocess.d.ts.map +1 -1
  113. package/dist/io/subprocess.js +4 -4
  114. package/dist/io/subprocess.js.map +1 -1
  115. package/dist/program.d.ts +137 -25
  116. package/dist/program.d.ts.map +1 -1
  117. package/dist/program.js +23 -5
  118. package/dist/program.js.map +1 -1
  119. package/dist/runtime/config.d.ts +4 -5
  120. package/dist/runtime/config.d.ts.map +1 -1
  121. package/dist/runtime/index.d.ts +17 -0
  122. package/dist/runtime/index.d.ts.map +1 -1
  123. package/dist/runtime/index.js +1 -0
  124. package/dist/runtime/index.js.map +1 -1
  125. package/dist/runtime/logger.d.ts +22 -6
  126. package/dist/runtime/logger.d.ts.map +1 -1
  127. package/dist/runtime/logger.js.map +1 -1
  128. package/dist/runtime/platform.d.ts +2 -2
  129. package/dist/runtime/platform.d.ts.map +1 -1
  130. package/dist/runtime/platform.js.map +1 -1
  131. package/dist/runtime/process.d.ts +4 -2
  132. package/dist/runtime/process.d.ts.map +1 -1
  133. package/dist/runtime/process.js.map +1 -1
  134. package/dist/types/error.d.ts +34 -61
  135. package/dist/types/error.d.ts.map +1 -1
  136. package/dist/types/error.js.map +1 -1
  137. package/dist/types/index.d.ts +11 -0
  138. package/dist/types/index.d.ts.map +1 -1
  139. package/dist/types/index.js.map +1 -1
  140. package/dist/types/nominal.d.ts +1 -3
  141. package/dist/types/nominal.d.ts.map +1 -1
  142. package/package.json +1 -1
@@ -0,0 +1,184 @@
1
+ /**
2
+ * @module stable-vec
3
+ *
4
+ * A dense, index-stable collection backed by typed arrays.
5
+ *
6
+ * Standard arrays invalidate indices when elements are removed (splice
7
+ * shifts everything after the gap). StableVec solves this by assigning
8
+ * each element a **handle** — a (index, generation) pair that remains
9
+ * valid even after other elements are inserted or removed.
10
+ *
11
+ * Internally, data is kept contiguous: removal swaps the target with the
12
+ * last element, keeping the backing store dense for cache-friendly iteration.
13
+ * A generation counter per slot detects stale handles (use-after-free).
14
+ * Freed slots are reused via an implicit free list.
15
+ *
16
+ * **Time complexities:**
17
+ * - `insert`: O(1) amortized
18
+ * - `remove`: O(1) — swap-with-last
19
+ * - `get` by handle: O(1) — one indirection + generation check
20
+ * - `iterate`: O(n) over dense data, no gaps
21
+ *
22
+ * **When to use:**
23
+ * - Long-lived collections with frequent insert/remove
24
+ * - External code holds handles that must survive mutations
25
+ * - Cache-friendly iteration matters (game loops, simulations, ECS)
26
+ *
27
+ * **When NOT to use:**
28
+ * - Short-lived, process-once arrays (just use a plain array)
29
+ * - Ordered collections (removal reorders via swap)
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const vec = StableVec.create<{ x: number; y: number }>();
34
+ * const h1 = vec.insert({ x: 1, y: 2 });
35
+ * const h2 = vec.insert({ x: 3, y: 4 });
36
+ *
37
+ * vec.get(h1); // Some({ x: 1, y: 2 })
38
+ * vec.remove(h1); // true
39
+ * vec.get(h1); // None (handle invalidated)
40
+ * vec.isValid(h1); // false
41
+ *
42
+ * // Dense iteration — no gaps
43
+ * for (const item of vec) {
44
+ * console.log(item.x, item.y);
45
+ * }
46
+ * ```
47
+ */
48
+ import { None, Some } from "../core/option.js";
49
+ // ── Factory ─────────────────────────────────────────────────
50
+ function createStableVec() {
51
+ // Dense storage: data[i] and meta[i] are paired by position.
52
+ const data = [];
53
+ const meta = [];
54
+ // Indirection table: slots[handle.index] → dataIndex + generation.
55
+ const slots = [];
56
+ // Free list: indices of slots whose data was removed and can be reused.
57
+ const freeSlots = [];
58
+ function allocSlot() {
59
+ if (freeSlots.length > 0) {
60
+ return freeSlots.pop();
61
+ }
62
+ const idx = slots.length;
63
+ slots.push({ dataIndex: -1, generation: 0 });
64
+ return idx;
65
+ }
66
+ function resolveSlot(handle) {
67
+ const slot = slots[handle.index];
68
+ if (!slot)
69
+ return undefined;
70
+ if (slot.generation !== handle.generation)
71
+ return undefined;
72
+ if (slot.dataIndex < 0)
73
+ return undefined;
74
+ return slot;
75
+ }
76
+ const vec = {
77
+ get length() {
78
+ return data.length;
79
+ },
80
+ get capacity() {
81
+ return slots.length;
82
+ },
83
+ insert(value) {
84
+ const slotIdx = allocSlot();
85
+ const slot = slots[slotIdx];
86
+ const dataIdx = data.length;
87
+ data.push(value);
88
+ meta.push({ slotIndex: slotIdx });
89
+ slot.dataIndex = dataIdx;
90
+ return { index: slotIdx, generation: slot.generation };
91
+ },
92
+ remove(handle) {
93
+ const slot = resolveSlot(handle);
94
+ if (!slot)
95
+ return false;
96
+ const removeIdx = slot.dataIndex;
97
+ const lastIdx = data.length - 1;
98
+ if (removeIdx !== lastIdx) {
99
+ // Swap with last element to keep data dense.
100
+ data[removeIdx] = data[lastIdx];
101
+ meta[removeIdx] = meta[lastIdx];
102
+ // Update the swapped element's slot to point to its new position.
103
+ const swappedSlotIdx = meta[removeIdx].slotIndex;
104
+ slots[swappedSlotIdx].dataIndex = removeIdx;
105
+ }
106
+ data.pop();
107
+ meta.pop();
108
+ // Invalidate the removed slot: bump generation, mark free.
109
+ slot.dataIndex = -1;
110
+ slot.generation++;
111
+ freeSlots.push(handle.index);
112
+ return true;
113
+ },
114
+ get(handle) {
115
+ const slot = resolveSlot(handle);
116
+ if (!slot)
117
+ return None;
118
+ const value = data[slot.dataIndex];
119
+ return value !== undefined ? Some(value) : None;
120
+ },
121
+ isValid(handle) {
122
+ return resolveSlot(handle) !== undefined;
123
+ },
124
+ clear() {
125
+ for (let i = 0; i < slots.length; i++) {
126
+ const slot = slots[i];
127
+ if (slot.dataIndex >= 0) {
128
+ slot.dataIndex = -1;
129
+ slot.generation++;
130
+ freeSlots.push(i);
131
+ }
132
+ }
133
+ data.length = 0;
134
+ meta.length = 0;
135
+ },
136
+ [Symbol.iterator]() {
137
+ let i = 0;
138
+ return {
139
+ next() {
140
+ if (i < data.length) {
141
+ return { done: false, value: data[i++] };
142
+ }
143
+ return { done: true, value: undefined };
144
+ },
145
+ };
146
+ },
147
+ *entries() {
148
+ for (let i = 0; i < data.length; i++) {
149
+ const m = meta[i];
150
+ const slot = slots[m.slotIndex];
151
+ const handle = { index: m.slotIndex, generation: slot.generation };
152
+ yield [handle, data[i]];
153
+ }
154
+ },
155
+ forEach(fn) {
156
+ for (let i = 0; i < data.length; i++) {
157
+ const m = meta[i];
158
+ const slot = slots[m.slotIndex];
159
+ fn(data[i], { index: m.slotIndex, generation: slot.generation });
160
+ }
161
+ },
162
+ toArray() {
163
+ return data.slice();
164
+ },
165
+ };
166
+ return vec;
167
+ }
168
+ // ── Public namespace ────────────────────────────────────────
169
+ /**
170
+ * Dense, index-stable collection with O(1) insert, remove, and access.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * const vec = StableVec.create<string>();
175
+ * const h = vec.insert("hello");
176
+ * vec.get(h); // Some("hello")
177
+ * vec.remove(h);
178
+ * vec.get(h); // None
179
+ * ```
180
+ */
181
+ export const StableVec = {
182
+ create: createStableVec,
183
+ };
184
+ //# sourceMappingURL=stable-vec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-vec.js","sourceRoot":"","sources":["../../src/data/stable-vec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAqF/C,+DAA+D;AAE/D,SAAS,eAAe;IACtB,6DAA6D;IAC7D,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,mEAAmE;IACnE,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,wEAAwE;IACxE,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,SAAS,SAAS;QAChB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC,GAAG,EAAG,CAAC;QAC1B,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,WAAW,CAAC,MAAc;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAC5D,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAiB;QACxB,IAAI,MAAM;YACR,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,QAAQ;YACV,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,KAAQ;YACb,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAElC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACzD,CAAC;QAED,MAAM,CAAC,MAAc;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAExB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAEhC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,6CAA6C;gBAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC;gBAEjC,kEAAkE;gBAClE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC,SAAS,CAAC;gBAClD,KAAK,CAAC,cAAc,CAAE,CAAC,SAAS,GAAG,SAAS,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,2DAA2D;YAC3D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,GAAG,CAAC,MAAc;YAChB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,MAAc;YACpB,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;QAC3C,CAAC;QAED,KAAK;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,CAAC,MAAM,CAAC,QAAQ,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO;gBACL,IAAI;oBACF,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC;oBAC5C,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC1C,CAAC;aACF,CAAC;QACJ,CAAC;QAED,CAAC,OAAO;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;gBACjC,MAAM,MAAM,GAAW,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3E,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAsC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;gBACjC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+DAA+D;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB;IACF,MAAM,EAAE,eAAe;CACxB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -48,7 +48,7 @@ import type { Result, ResultMatcher } from "./core/result.js";
48
48
  /** Discriminated union representing a value that may or may not exist. */
49
49
  /** Pattern-match arms for Option.match. */
50
50
  /** Present variant constructor: wrap a value in Option. */
51
- export { None, Option, type OptionMatcher, Some } from "./core/option.js";
51
+ export { None, type NoneVariant, Option, type OptionMatcher, Some, type SomeVariant, } from "./core/option.js";
52
52
  /** Create a failed Result wrapping an error value. */
53
53
  /** Create a successful Result wrapping a value. */
54
54
  /** Discriminated union representing success (Ok) or failure (Err). */
@@ -69,6 +69,7 @@ export { Err, Ok, Result, type ResultMatcher, tryCatch } from "./core/result.js"
69
69
  */
70
70
  /** Pattern match on a Result or Option, handling each variant. */
71
71
  export declare function match<T, E, U>(value: Result<T, E>, matcher: ResultMatcher<T, E, U>): U;
72
+ /** Pattern match on an Option, handling Some and None variants. */
72
73
  export declare function match<T, U>(value: Option<T>, matcher: OptionMatcher<T, U>): U;
73
74
  /** In-memory cache namespace with TTL and optional LRU eviction. */
74
75
  /** A cache instance with get, set, delete, and cache-aside operations. */
@@ -111,12 +112,13 @@ export { type Job, Queue, type QueueInstance, type QueueOptions } from "./async/
111
112
  export { RateLimited, RateLimiter, type RateLimiterInstance, type RateLimiterPolicy, } from "./async/rate-limiter.js";
112
113
  /** Configurable retry policy namespace with backoff strategies. */
113
114
  /** An immutable retry policy describing how and when to retry. */
114
- export { Retry, type RetryPolicy } from "./async/retry.js";
115
+ export { Retry, type RetryPolicy, } from "./async/retry.js";
115
116
  /** Mutual exclusion lock allowing only one task at a time. */
116
117
  /** A mutex instance with acquire and wrap operations. */
117
118
  /** Counting semaphore namespace for concurrency control. */
118
119
  /** A semaphore instance with acquire, wrap, available, and pending operations. */
119
- export { Mutex, type MutexInstance, Semaphore, type SemaphoreInstance } from "./async/semaphore.js";
120
+ /** A release function returned after acquiring a semaphore permit. */
121
+ export { Mutex, type MutexInstance, type Release, Semaphore, type SemaphoreInstance, } from "./async/semaphore.js";
120
122
  /** Error returned when a state machine transition is invalid. */
121
123
  /** Typed finite state machine with validated transitions. */
122
124
  export { InvalidTransition, StateMachine } from "./async/state-machine.js";
@@ -124,6 +126,9 @@ export { InvalidTransition, StateMachine } from "./async/state-machine.js";
124
126
  export { Stream } from "./async/stream.js";
125
127
  /** Lazy, composable async computation that returns Result on run. */
126
128
  export { Task } from "./async/task.js";
129
+ /** Shared structural interface for Task-shaped values with a `.run()` method. */
130
+ /** Create a TaskLike from a run function. */
131
+ export { makeTask, type TaskLike } from "./async/task-like.js";
127
132
  /** Error returned when a deadline is exceeded. */
128
133
  /** Timer namespace for sleep, interval, delay, and deadline operations. */
129
134
  export { TimeoutError, Timer } from "./async/timer.js";
@@ -135,7 +140,8 @@ export { TimeoutError, Timer } from "./async/timer.js";
135
140
  /** Server returned a non-2xx status code. */
136
141
  /** Network-level failure (DNS, timeout, connection refused). */
137
142
  /** Response body could not be parsed (JSON, text, etc.). */
138
- export { Client, type ClientError, type ClientInstance, type ClientOptions, type ClientResponse, HttpError, NetworkError, ParseError, } from "./client.js";
143
+ /** Request options for the HTTP client (headers, body, signal). */
144
+ export { Client, type ClientError, type ClientInstance, type ClientOptions, type ClientRequestOptions, type ClientResponse, HttpError, NetworkError, ParseError, } from "./client.js";
139
145
  /** Typed equality comparison typeclass. */
140
146
  export { Eq } from "./core/eq.js";
141
147
  /** Lossless bidirectional transformation between two types. */
@@ -176,6 +182,9 @@ export type { ImmutableRecord, RecordMethods } from "./data/record.js";
176
182
  /** Describes a validation error at a specific path. */
177
183
  /** Interface for a composable validation schema that parses unknown into T. */
178
184
  export { Schema, type SchemaError, type SchemaType } from "./data/schema.js";
185
+ /** Dense, index-stable collection with O(1) insert, remove, and access. */
186
+ /** Opaque reference to an element in a StableVec. */
187
+ export { type Handle, StableVec } from "./data/stable-vec.js";
179
188
  /** Structured cloning namespace using the web standard algorithm. */
180
189
  /** Error returned when a deep clone operation fails. */
181
190
  export { Clone, CloneError } from "./io/clone.js";
@@ -188,7 +197,8 @@ export { Crypto, CryptoError } from "./io/crypto.js";
188
197
  /** Cross-runtime DNS resolution namespace returning Task. */
189
198
  /** Error returned when DNS resolution fails. */
190
199
  /** A resolved DNS address with IP family. */
191
- export { Dns, DnsError, type DnsRecord } from "./io/dns.js";
200
+ /** DNS record type for resolution queries. */
201
+ export { Dns, DnsError, type DnsRecord, type DnsType } from "./io/dns.js";
192
202
  /** Base64, hex, and UTF-8 encoding and decoding namespace. */
193
203
  /** Error returned when an encoding or decoding operation fails. */
194
204
  export { Encoding, EncodingError } from "./io/encoding.js";
@@ -212,11 +222,16 @@ export { Command, CommandError, type CommandOptions, type CommandResult } from "
212
222
  /** Error returned when URL parsing or construction fails. */
213
223
  export { Url, UrlError } from "./io/url.js";
214
224
  /** Application lifecycle with graceful shutdown and error boundary. */
215
- export { Program } from "./program.js";
225
+ /** Configuration options for Program (teardown timeout). */
226
+ export { Program, type ProgramOptions } from "./program.js";
216
227
  /** Typed environment variable validation and access. */
217
228
  export { Config } from "./runtime/config.js";
218
229
  /** Structured logger with configurable levels and formatters. */
219
- export { Logger } from "./runtime/logger.js";
230
+ /** Configuration options for creating a Logger. */
231
+ /** Log severity levels, ordered from least to most severe. */
232
+ /** A structured log record passed to log sinks. */
233
+ /** A log sink function that receives formatted log entries. */
234
+ export { Logger, type LoggerOptions, type LogLevel, type LogRecord, type LogSink, } from "./runtime/logger.js";
220
235
  /** Cross-runtime OS information (hostname, arch, memory). */
221
236
  export { Os } from "./runtime/os.js";
222
237
  /** Line ending constants and normalization. */
@@ -226,7 +241,8 @@ export { Os } from "./runtime/os.js";
226
241
  export { Eol, Path, type PathParts, Platform } from "./runtime/platform.js";
227
242
  /** Cross-runtime process info, cwd, env, args, and exit namespace. */
228
243
  /** Error returned when a process operation fails. */
229
- export { Process, ProcessError } from "./runtime/process.js";
244
+ /** Memory usage statistics returned by Process.memoryUsage. */
245
+ export { type MemoryUsage, Process, ProcessError } from "./runtime/process.js";
230
246
  /** Failed to read the request body. */
231
247
  /** Request context passed to route handlers with req, url, and params. */
232
248
  /** Compose multiple middleware functions into a single middleware. */
@@ -263,6 +279,7 @@ export type { Type } from "./types/nominal.js";
263
279
  /** WebSocket routing and handler definitions namespace. */
264
280
  /** A WebSocket connection with typed send and close operations. */
265
281
  /** Event handlers for a WebSocket route (onOpen, onMessage, onClose, onError). */
282
+ /** A WebSocket route definition mapping a URL pattern to a handler. */
266
283
  /** A WebSocket router that holds route definitions with pattern matching. */
267
- export { WebSocket, type WebSocketConnection, type WebSocketHandler, type WebSocketRouter, } from "./ws.js";
284
+ export { WebSocket, type WebSocketConnection, type WebSocketHandler, type WebSocketRoute, type WebSocketRouter, } from "./ws.js";
268
285
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { None, Option, Some } from "./core/option.js";
1
+ export { None, Option, Some, } from "./core/option.js";
2
2
  export { Err, Ok, Result, tryCatch } from "./core/result.js";
3
3
  export function match(value, matcher) {
4
4
  return value.match(matcher);
@@ -13,11 +13,12 @@ export { Lazy } from "./async/lazy.js";
13
13
  export { Pool, PoolError, } from "./async/pool.js";
14
14
  export { Queue } from "./async/queue.js";
15
15
  export { RateLimited, RateLimiter, } from "./async/rate-limiter.js";
16
- export { Retry } from "./async/retry.js";
17
- export { Mutex, Semaphore } from "./async/semaphore.js";
16
+ export { Retry, } from "./async/retry.js";
17
+ export { Mutex, Semaphore, } from "./async/semaphore.js";
18
18
  export { InvalidTransition, StateMachine } from "./async/state-machine.js";
19
19
  export { Stream } from "./async/stream.js";
20
20
  export { Task } from "./async/task.js";
21
+ export { makeTask } from "./async/task-like.js";
21
22
  export { TimeoutError, Timer } from "./async/timer.js";
22
23
  export { Client, HttpError, NetworkError, ParseError, } from "./client.js";
23
24
  export { Eq } from "./core/eq.js";
@@ -31,6 +32,7 @@ export { Codec } from "./data/codec.js";
31
32
  export { isImmutable, List, Record } from "./data/constructors.js";
32
33
  export { NonEmptyList } from "./data/non-empty-list.js";
33
34
  export { Schema } from "./data/schema.js";
35
+ export { StableVec } from "./data/stable-vec.js";
34
36
  export { Clone, CloneError } from "./io/clone.js";
35
37
  export { Compression, CompressionError } from "./io/compression.js";
36
38
  export { Crypto, CryptoError } from "./io/crypto.js";
@@ -43,7 +45,7 @@ export { Command, CommandError } from "./io/subprocess.js";
43
45
  export { Url, UrlError } from "./io/url.js";
44
46
  export { Program } from "./program.js";
45
47
  export { Config } from "./runtime/config.js";
46
- export { Logger } from "./runtime/logger.js";
48
+ export { Logger, } from "./runtime/logger.js";
47
49
  export { Os } from "./runtime/os.js";
48
50
  export { Eol, Path, Platform } from "./runtime/platform.js";
49
51
  export { Process, ProcessError } from "./runtime/process.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,10 @@
10
10
  * lazy, composable async operations. Available in Node 22.15+, Deno,
11
11
  * and Bun with no imports required.
12
12
  */
13
- import type { Result } from "../core/result.js";
13
+ import { type TaskLike } from "../async/task-like.js";
14
14
  import { ErrType, type ErrTypeConstructor } from "../types/error.js";
15
15
  /** Compression or decompression operation failed. */
16
16
  export declare const CompressionError: ErrTypeConstructor<"CompressionError", string>;
17
- /** Task-like interface. */
18
- interface TaskLike<T, E> {
19
- readonly run: () => Promise<Result<T, E>>;
20
- }
21
17
  /**
22
18
  * Type-safe compression and decompression using web standard streams.
23
19
  *
@@ -45,5 +41,4 @@ export declare const Compression: {
45
41
  /** Decompress deflate (raw) data. */
46
42
  readonly inflate: (data: Uint8Array) => TaskLike<Uint8Array, ErrType<"CompressionError">>;
47
43
  };
48
- export {};
49
44
  //# sourceMappingURL=compression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/io/compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAC/C,CAAC;AAI9B,2BAA2B;AAC3B,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C;AAqHD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvF,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzF,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1F,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAM3F,CAAC"}
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/io/compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAC/C,CAAC;AAmH9B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvF,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzF,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1F,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAM3F,CAAC"}
@@ -10,12 +10,12 @@
10
10
  * lazy, composable async operations. Available in Node 22.15+, Deno,
11
11
  * and Bun with no imports required.
12
12
  */
13
+ import { makeTask } from "../async/task-like.js";
13
14
  import { Err, Ok } from "../core/result.js";
14
15
  import { ErrType } from "../types/error.js";
15
16
  // ── Error types ─────────────────────────────────────────────────────────────
16
17
  /** Compression or decompression operation failed. */
17
18
  export const CompressionError = ErrType("CompressionError");
18
- const mkTask = (run) => ({ run });
19
19
  /** Access compression APIs structurally from globalThis. */
20
20
  const getCompressionStream = () => globalThis.CompressionStream;
21
21
  const getDecompressionStream = () => globalThis
@@ -55,7 +55,7 @@ const pipeThrough = async (data, transform) => {
55
55
  /**
56
56
  * Create a compression Task using the given format.
57
57
  */
58
- const compressWithFormat = (data, format) => mkTask(async () => {
58
+ const compressWithFormat = (data, format) => makeTask(async () => {
59
59
  try {
60
60
  const Ctor = getCompressionStream();
61
61
  return Ok(await pipeThrough(data, new Ctor(format)));
@@ -64,7 +64,7 @@ const compressWithFormat = (data, format) => mkTask(async () => {
64
64
  return Err(CompressionError(e instanceof Error ? e.message : String(e)));
65
65
  }
66
66
  });
67
- const decompressWithFormat = (data, format) => mkTask(async () => {
67
+ const decompressWithFormat = (data, format) => makeTask(async () => {
68
68
  try {
69
69
  const Ctor = getDecompressionStream();
70
70
  return Ok(await pipeThrough(data, new Ctor(format)));
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/io/compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/io/compression.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,11 @@
10
10
  * consistent with the rest of pure-ts. Uses only web standard APIs
11
11
  * available in Node 22+, Deno, and Bun with no imports required.
12
12
  */
13
+ import { type TaskLike } from "../async/task-like.js";
13
14
  import type { Result } from "../core/result.js";
14
15
  import { ErrType, type ErrTypeConstructor } from "../types/error.js";
15
16
  /** Cryptographic operation failed. */
16
17
  export declare const CryptoError: ErrTypeConstructor<"CryptoError", string>;
17
- /** Task-like interface. */
18
- interface TaskLike<T, E> {
19
- readonly run: () => Promise<Result<T, E>>;
20
- }
21
18
  /**
22
19
  * Type-safe cryptographic operations using the Web Crypto API.
23
20
  *
@@ -45,5 +42,4 @@ export declare const Crypto: {
45
42
  /** Constant-time comparison of two byte arrays to prevent timing attacks. */
46
43
  readonly timingSafeEqual: (a: Uint8Array, b: Uint8Array) => boolean;
47
44
  };
48
- export {};
49
45
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/io/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAA0B,CAAC;AAI7F,2BAA2B;AAC3B,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C;AAuBD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrF,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,CACb,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,EACtD,IAAI,EAAE,MAAM,GAAG,UAAU,KACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAClD,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;CAiCrE,CAAC"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/io/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAA0B,CAAC;AAqB7F;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrF,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,CACb,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,EACtD,IAAI,EAAE,MAAM,GAAG,UAAU,KACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAClD,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;CAiCrE,CAAC"}
package/dist/io/crypto.js CHANGED
@@ -10,12 +10,12 @@
10
10
  * consistent with the rest of pure-ts. Uses only web standard APIs
11
11
  * available in Node 22+, Deno, and Bun with no imports required.
12
12
  */
13
+ import { makeTask } from "../async/task-like.js";
13
14
  import { Err, Ok } from "../core/result.js";
14
15
  import { ErrType } from "../types/error.js";
15
16
  // ── Error types ─────────────────────────────────────────────────────────────
16
17
  /** Cryptographic operation failed. */
17
18
  export const CryptoError = ErrType("CryptoError");
18
- const mkTask = (run) => ({ run });
19
19
  /** Access globalThis.crypto structurally. */
20
20
  const getCrypto = () => globalThis.crypto;
21
21
  // ── Crypto ──────────────────────────────────────────────────────────────────
@@ -46,7 +46,7 @@ export const Crypto = {
46
46
  return Err(CryptoError(e instanceof Error ? e.message : String(e)));
47
47
  }
48
48
  },
49
- hash: (algorithm, data) => mkTask(async () => {
49
+ hash: (algorithm, data) => makeTask(async () => {
50
50
  try {
51
51
  const input = typeof data === "string" ? new TextEncoder().encode(data) : data;
52
52
  const buffer = await getCrypto().subtle.digest(algorithm, input);
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/io/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,+EAA+E;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAA8C,OAAO,CAAC,aAAa,CAAC,CAAC;AAS7F,MAAM,MAAM,GAAG,CAAO,GAAgC,EAAkB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAgBrF,6CAA6C;AAC7C,MAAM,SAAS,GAAG,GAAc,EAAE,CAAE,UAA+C,CAAC,MAAM,CAAC;AAE3F,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,MAAM,GAYf;IACF,IAAI,EAAE,GAAW,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE;IAE5C,WAAW,EAAE,CAAC,MAAc,EAA8C,EAAE;QAC1E,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,SAAsD,EAAE,IAAyB,EAAE,EAAE,CAC1F,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;IAEJ,eAAe,EAAE,CAAC,CAAa,EAAE,CAAa,EAAW,EAAE;QACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,wDAAwD;YACxD,iEAAiE;YACjE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,CAAC;IACpB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/io/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAiB,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,+EAA+E;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAA8C,OAAO,CAAC,aAAa,CAAC,CAAC;AAgB7F,6CAA6C;AAC7C,MAAM,SAAS,GAAG,GAAc,EAAE,CAAE,UAA+C,CAAC,MAAM,CAAC;AAE3F,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,MAAM,GAYf;IACF,IAAI,EAAE,GAAW,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE;IAE5C,WAAW,EAAE,CAAC,MAAc,EAA8C,EAAE;QAC1E,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,SAAsD,EAAE,IAAyB,EAAE,EAAE,CAC1F,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;IAEJ,eAAe,EAAE,CAAC,CAAa,EAAE,CAAa,EAAW,EAAE;QACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,wDAAwD;YACxD,iEAAiE;YACjE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,CAAC;IACpB,CAAC;CACF,CAAC"}
package/dist/io/dns.d.ts CHANGED
@@ -14,14 +14,10 @@
14
14
  * Detects Deno (Deno.resolveDns) first, then Node/Bun (node:dns/promises).
15
15
  * All runtime access is structural: no type declarations imported.
16
16
  */
17
- import type { Result } from "../core/result.js";
17
+ import { type TaskLike } from "../async/task-like.js";
18
18
  import { ErrType, type ErrTypeConstructor } from "../types/error.js";
19
19
  /** DNS resolution failed. */
20
20
  export declare const DnsError: ErrTypeConstructor<"DnsError", string>;
21
- /** Task-like interface for lazy async DNS resolution. */
22
- interface TaskLike<T, E> {
23
- readonly run: () => Promise<Result<T, E>>;
24
- }
25
21
  /** A resolved DNS address with IP family. */
26
22
  export interface DnsRecord {
27
23
  /** The resolved IP address. */
@@ -29,7 +25,8 @@ export interface DnsRecord {
29
25
  /** The IP address family (4 for IPv4, 6 for IPv6). */
30
26
  readonly family: 4 | 6;
31
27
  }
32
- type DnsType = "A" | "AAAA" | "CNAME" | "MX" | "TXT";
28
+ /** DNS record type for resolution queries. */
29
+ export type DnsType = "A" | "AAAA" | "CNAME" | "MX" | "TXT";
33
30
  /**
34
31
  * Cross-runtime DNS resolution.
35
32
  *
@@ -53,5 +50,4 @@ export declare const Dns: {
53
50
  /** Resolve DNS records of a specific type. */
54
51
  readonly resolve: (hostname: string, type?: DnsType) => TaskLike<readonly string[], ErrType<"DnsError">>;
55
52
  };
56
- export {};
57
53
  //# sourceMappingURL=dns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../src/io/dns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAuB,CAAC;AAIpF,yDAAyD;AACzD,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C;AAMD,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CACxB;AAyCD,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;AAqDrD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,KACX,QAAQ,CAAC,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;CAMvD,CAAC"}
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../src/io/dns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIrE,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAuB,CAAC;AAIpF,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CACxB;AAyCD,8CAA8C;AAC9C,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;AAqD5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,KACX,QAAQ,CAAC,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;CAMvD,CAAC"}
package/dist/io/dns.js CHANGED
@@ -14,12 +14,12 @@
14
14
  * Detects Deno (Deno.resolveDns) first, then Node/Bun (node:dns/promises).
15
15
  * All runtime access is structural: no type declarations imported.
16
16
  */
17
+ import { makeTask } from "../async/task-like.js";
17
18
  import { Err, Ok } from "../core/result.js";
18
19
  import { ErrType } from "../types/error.js";
19
20
  // -- Error types -------------------------------------------------------------
20
21
  /** DNS resolution failed. */
21
22
  export const DnsError = ErrType("DnsError");
22
- const mkTask = (run) => ({ run });
23
23
  // -- Error helper ------------------------------------------------------------
24
24
  const dnsErr = (e, meta) => DnsError(e instanceof Error ? e.message : String(e), meta);
25
25
  // -- Runtime detection -------------------------------------------------------
@@ -107,7 +107,7 @@ const resolveRecords = async (hostname, type) => {
107
107
  * ```
108
108
  */
109
109
  export const Dns = {
110
- lookup: (hostname) => mkTask(() => lookupHost(hostname)),
111
- resolve: (hostname, type) => mkTask(() => resolveRecords(hostname, type ?? "A")),
110
+ lookup: (hostname) => makeTask(() => lookupHost(hostname)),
111
+ resolve: (hostname, type) => makeTask(() => resolveRecords(hostname, type ?? "A")),
112
112
  };
113
113
  //# sourceMappingURL=dns.js.map