@livestore/utils 0.4.0-dev.2 → 0.4.0-dev.21

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 (192) hide show
  1. package/dist/.tsbuildinfo.json +1 -1
  2. package/dist/NoopTracer.d.ts.map +1 -1
  3. package/dist/NoopTracer.js +5 -1
  4. package/dist/NoopTracer.js.map +1 -1
  5. package/dist/browser/Opfs/Opfs.d.ts +51 -0
  6. package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
  7. package/dist/browser/Opfs/Opfs.js +345 -0
  8. package/dist/browser/Opfs/Opfs.js.map +1 -0
  9. package/dist/browser/Opfs/debug-utils.d.ts +20 -0
  10. package/dist/browser/Opfs/debug-utils.d.ts.map +1 -0
  11. package/dist/browser/Opfs/debug-utils.js +94 -0
  12. package/dist/browser/Opfs/debug-utils.js.map +1 -0
  13. package/dist/browser/Opfs/mod.d.ts +4 -0
  14. package/dist/browser/Opfs/mod.d.ts.map +1 -0
  15. package/dist/browser/Opfs/mod.js +4 -0
  16. package/dist/browser/Opfs/mod.js.map +1 -0
  17. package/dist/browser/Opfs/utils.d.ts +71 -0
  18. package/dist/browser/Opfs/utils.d.ts.map +1 -0
  19. package/dist/browser/Opfs/utils.js +218 -0
  20. package/dist/browser/Opfs/utils.js.map +1 -0
  21. package/dist/browser/QuotaExceededError.d.ts +59 -0
  22. package/dist/browser/QuotaExceededError.d.ts.map +1 -0
  23. package/dist/browser/QuotaExceededError.js +2 -0
  24. package/dist/browser/QuotaExceededError.js.map +1 -0
  25. package/dist/browser/WebChannelBrowser.d.ts +22 -0
  26. package/dist/browser/WebChannelBrowser.d.ts.map +1 -0
  27. package/dist/browser/WebChannelBrowser.js +76 -0
  28. package/dist/browser/WebChannelBrowser.js.map +1 -0
  29. package/dist/browser/WebError.d.ts +425 -0
  30. package/dist/browser/WebError.d.ts.map +1 -0
  31. package/dist/browser/WebError.js +414 -0
  32. package/dist/browser/WebError.js.map +1 -0
  33. package/dist/browser/WebError.test.d.ts +2 -0
  34. package/dist/browser/WebError.test.d.ts.map +1 -0
  35. package/dist/browser/WebError.test.js +46 -0
  36. package/dist/browser/WebError.test.js.map +1 -0
  37. package/dist/browser/WebLock.d.ts.map +1 -0
  38. package/dist/browser/WebLock.js.map +1 -0
  39. package/dist/{browser.d.ts → browser/detect.d.ts} +1 -1
  40. package/dist/browser/detect.d.ts.map +1 -0
  41. package/dist/{browser.js → browser/detect.js} +1 -1
  42. package/dist/browser/detect.js.map +1 -0
  43. package/dist/browser/mod.d.ts +8 -0
  44. package/dist/browser/mod.d.ts.map +1 -0
  45. package/dist/browser/mod.js +8 -0
  46. package/dist/browser/mod.js.map +1 -0
  47. package/dist/effect/Debug.d.ts +36 -0
  48. package/dist/effect/Debug.d.ts.map +1 -0
  49. package/dist/effect/Debug.js +346 -0
  50. package/dist/effect/Debug.js.map +1 -0
  51. package/dist/effect/Effect.d.ts +9 -3
  52. package/dist/effect/Effect.d.ts.map +1 -1
  53. package/dist/effect/Effect.js +4 -2
  54. package/dist/effect/Effect.js.map +1 -1
  55. package/dist/effect/Error.d.ts +1 -1
  56. package/dist/effect/Error.js.map +1 -1
  57. package/dist/effect/Logger.d.ts +4 -1
  58. package/dist/effect/Logger.d.ts.map +1 -1
  59. package/dist/effect/Logger.js +12 -3
  60. package/dist/effect/Logger.js.map +1 -1
  61. package/dist/effect/OtelTracer.d.ts +5 -0
  62. package/dist/effect/OtelTracer.d.ts.map +1 -0
  63. package/dist/effect/OtelTracer.js +8 -0
  64. package/dist/effect/OtelTracer.js.map +1 -0
  65. package/dist/effect/RpcClient.d.ts +32 -0
  66. package/dist/effect/RpcClient.d.ts.map +1 -0
  67. package/dist/effect/RpcClient.js +149 -0
  68. package/dist/effect/RpcClient.js.map +1 -0
  69. package/dist/effect/Schema/debug-diff.test.js +1 -1
  70. package/dist/effect/Schema/debug-diff.test.js.map +1 -1
  71. package/dist/effect/Schema/index.d.ts +2 -2
  72. package/dist/effect/Schema/index.d.ts.map +1 -1
  73. package/dist/effect/Schema/index.js +12 -2
  74. package/dist/effect/Schema/index.js.map +1 -1
  75. package/dist/effect/Stream.d.ts +73 -2
  76. package/dist/effect/Stream.d.ts.map +1 -1
  77. package/dist/effect/Stream.js +68 -1
  78. package/dist/effect/Stream.js.map +1 -1
  79. package/dist/effect/Stream.test.d.ts +2 -0
  80. package/dist/effect/Stream.test.d.ts.map +1 -0
  81. package/dist/effect/Stream.test.js +84 -0
  82. package/dist/effect/Stream.test.js.map +1 -0
  83. package/dist/effect/SubscriptionRef.d.ts +2 -2
  84. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  85. package/dist/effect/SubscriptionRef.js +6 -1
  86. package/dist/effect/SubscriptionRef.js.map +1 -1
  87. package/dist/effect/WebChannel/WebChannel.d.ts +2 -21
  88. package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
  89. package/dist/effect/WebChannel/WebChannel.js +5 -81
  90. package/dist/effect/WebChannel/WebChannel.js.map +1 -1
  91. package/dist/effect/WebChannel/WebChannel.test.js +1 -1
  92. package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
  93. package/dist/effect/WebChannel/common.d.ts +1 -1
  94. package/dist/effect/WebChannel/common.d.ts.map +1 -1
  95. package/dist/effect/WebSocket.d.ts.map +1 -1
  96. package/dist/effect/WebSocket.js +12 -12
  97. package/dist/effect/WebSocket.js.map +1 -1
  98. package/dist/effect/mod.d.ts +32 -0
  99. package/dist/effect/mod.d.ts.map +1 -0
  100. package/dist/effect/mod.js +35 -0
  101. package/dist/effect/mod.js.map +1 -0
  102. package/dist/global.d.ts +4 -0
  103. package/dist/global.d.ts.map +1 -1
  104. package/dist/global.js.map +1 -1
  105. package/dist/guards.d.ts +14 -0
  106. package/dist/guards.d.ts.map +1 -1
  107. package/dist/guards.js +14 -0
  108. package/dist/guards.js.map +1 -1
  109. package/dist/misc.js +1 -1
  110. package/dist/misc.js.map +1 -1
  111. package/dist/mod.d.ts +197 -3
  112. package/dist/mod.d.ts.map +1 -1
  113. package/dist/mod.js +153 -4
  114. package/dist/mod.js.map +1 -1
  115. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
  116. package/dist/node/ChildProcessRunner/ChildProcessRunner.js +66 -10
  117. package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
  118. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +177 -3
  119. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
  120. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +14 -5
  121. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts.map +1 -1
  122. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js +7 -1
  123. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js.map +1 -1
  124. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +13 -3
  125. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -1
  126. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts +16 -0
  127. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
  128. package/dist/node/ChildProcessRunner/ChildProcessWorker.js +98 -2
  129. package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
  130. package/dist/node/mod.d.ts +8 -2
  131. package/dist/node/mod.d.ts.map +1 -1
  132. package/dist/node/mod.js +11 -3
  133. package/dist/node/mod.js.map +1 -1
  134. package/dist/qr.d.ts +38 -0
  135. package/dist/qr.d.ts.map +1 -0
  136. package/dist/qr.js +109 -0
  137. package/dist/qr.js.map +1 -0
  138. package/package.json +54 -44
  139. package/src/NoopTracer.ts +5 -1
  140. package/src/browser/Opfs/Opfs.ts +428 -0
  141. package/src/browser/Opfs/debug-utils.ts +151 -0
  142. package/src/browser/Opfs/mod.ts +3 -0
  143. package/src/browser/Opfs/utils.ts +286 -0
  144. package/src/browser/QuotaExceededError.ts +59 -0
  145. package/src/browser/WebChannelBrowser.ts +131 -0
  146. package/src/browser/WebError.test.ts +66 -0
  147. package/src/browser/WebError.ts +599 -0
  148. package/src/browser/mod.ts +8 -0
  149. package/src/effect/Debug.ts +452 -0
  150. package/src/effect/Effect.ts +31 -4
  151. package/src/effect/Error.ts +1 -1
  152. package/src/effect/Logger.ts +14 -4
  153. package/src/effect/OtelTracer.ts +11 -0
  154. package/src/effect/RpcClient.ts +212 -0
  155. package/src/effect/Schema/debug-diff.test.ts +2 -2
  156. package/src/effect/Schema/index.ts +17 -3
  157. package/src/effect/Stream.test.ts +127 -0
  158. package/src/effect/Stream.ts +111 -2
  159. package/src/effect/SubscriptionRef.ts +14 -2
  160. package/src/effect/WebChannel/WebChannel.test.ts +1 -1
  161. package/src/effect/WebChannel/WebChannel.ts +13 -135
  162. package/src/effect/WebChannel/common.ts +1 -1
  163. package/src/effect/WebSocket.ts +11 -10
  164. package/src/effect/{index.ts → mod.ts} +45 -15
  165. package/src/global.ts +5 -0
  166. package/src/guards.ts +15 -0
  167. package/src/misc.ts +1 -1
  168. package/src/mod.ts +206 -5
  169. package/src/node/ChildProcessRunner/ChildProcessRunner.ts +71 -10
  170. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +258 -3
  171. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/schema.ts +14 -1
  172. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +16 -3
  173. package/src/node/ChildProcessRunner/ChildProcessWorker.ts +111 -3
  174. package/src/node/mod.ts +13 -6
  175. package/src/qr.ts +125 -0
  176. package/dist/browser.d.ts.map +0 -1
  177. package/dist/browser.js.map +0 -1
  178. package/dist/effect/Schema/msgpack.d.ts +0 -3
  179. package/dist/effect/Schema/msgpack.d.ts.map +0 -1
  180. package/dist/effect/Schema/msgpack.js +0 -7
  181. package/dist/effect/Schema/msgpack.js.map +0 -1
  182. package/dist/effect/WebLock.d.ts.map +0 -1
  183. package/dist/effect/WebLock.js.map +0 -1
  184. package/dist/effect/index.d.ts +0 -27
  185. package/dist/effect/index.d.ts.map +0 -1
  186. package/dist/effect/index.js +0 -31
  187. package/dist/effect/index.js.map +0 -1
  188. package/src/effect/Schema/msgpack.ts +0 -8
  189. /package/dist/{effect → browser}/WebLock.d.ts +0 -0
  190. /package/dist/{effect → browser}/WebLock.js +0 -0
  191. /package/src/{effect → browser}/WebLock.ts +0 -0
  192. /package/src/{browser.ts → browser/detect.ts} +0 -0
package/dist/mod.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { default as prettyBytes } from 'pretty-bytes';
2
2
  export * as base64 from './base64.ts';
3
3
  export * from './binary.ts';
4
- export * from './browser.ts';
5
4
  export * from './Deferred.ts';
6
5
  export * from './env.ts';
7
6
  export * from './fast-deep-equal.ts';
@@ -10,74 +9,269 @@ export * from './misc.ts';
10
9
  export * from './NoopTracer.ts';
11
10
  export * from './object/index.ts';
12
11
  export * from './promise.ts';
12
+ export * as QR from './qr.ts';
13
13
  export * from './set.ts';
14
14
  export * from './string.ts';
15
15
  export * from './time.ts';
16
16
  import type * as otel from '@opentelemetry/api';
17
17
  import type { Types } from 'effect';
18
+ /**
19
+ * Recursively expands type aliases for better IDE hover display.
20
+ *
21
+ * Transforms `{ a: string } & { b: number }` into `{ a: string; b: number }`.
22
+ */
18
23
  export type Prettify<T> = T extends infer U ? {
19
24
  [K in keyof U]: Prettify<U[K]>;
20
25
  } : never;
26
+ /**
27
+ * Type-level equality check. Returns `true` if `A` and `B` are exactly the same type.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * type Test1 = TypeEq<string, string> // true
32
+ * type Test2 = TypeEq<string, number> // false
33
+ * type Test3 = TypeEq<{ a: 1 }, { a: 1 }> // true
34
+ * ```
35
+ */
21
36
  export type TypeEq<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
22
- /** `A` is subtype of `B` */
37
+ /**
38
+ * Type-level subtype check. Returns `true` if `A` extends `B`.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * type Test1 = IsSubtype<'foo', string> // true
43
+ * type Test2 = IsSubtype<string, 'foo'> // false
44
+ * ```
45
+ */
23
46
  export type IsSubtype<A, B> = A extends B ? true : false;
47
+ /** Compile-time assertion that `T` is `true`. Useful for type tests. */
24
48
  export type AssertTrue<T extends true> = T;
49
+ /** Removes `readonly` modifier from all properties of `T`. */
25
50
  export type Writeable<T> = {
26
51
  -readonly [P in keyof T]: T[P];
27
52
  };
53
+ /** Recursively removes `readonly` modifier from all properties. */
28
54
  export type DeepWriteable<T> = {
29
55
  -readonly [P in keyof T]: DeepWriteable<T[P]>;
30
56
  };
57
+ /** Makes all properties of `T` nullable (allows `null`). */
31
58
  export type Nullable<T> = {
32
59
  [K in keyof T]: T[K] | null;
33
60
  };
61
+ /** Union of JavaScript primitive types. */
34
62
  export type Primitive = null | undefined | string | number | boolean | symbol | bigint;
63
+ /**
64
+ * Creates a union type that allows specific literals while still accepting the base type.
65
+ * Useful for string/number enums with autocomplete support.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * type Status = LiteralUnion<'pending' | 'active', string>
70
+ * // Allows 'pending', 'active', or any other string
71
+ * ```
72
+ */
35
73
  export type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (BaseType & Record<never, never>);
74
+ /** Extracts the value type for key `K` from object type `T`, or `never` if key doesn't exist. */
36
75
  export type GetValForKey<T, K> = K extends keyof T ? T[K] : never;
76
+ /** Accepts either a single value or a readonly array of values. */
37
77
  export type SingleOrReadonlyArray<T> = T | ReadonlyArray<T>;
78
+ /** Returns a Promise that resolves after `ms` milliseconds. */
38
79
  export declare const sleep: (ms: number) => Promise<unknown>;
80
+ /**
81
+ * Creates a mutable reference object with a `current` property.
82
+ * Similar to React's `useRef` but works outside of React.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const counter = ref(0)
87
+ * counter.current += 1
88
+ * ```
89
+ */
39
90
  export declare const ref: <T>(val: T) => {
40
91
  current: T;
41
92
  };
93
+ /**
94
+ * Calls a function `n` times with the current index.
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * times(3, (i) => console.log(i)) // logs 0, 1, 2
99
+ * ```
100
+ */
42
101
  export declare const times: (n: number, fn: (index: number) => {}) => void;
102
+ /**
103
+ * Wraps a function call in a try/catch that triggers the debugger on error.
104
+ * Useful for debugging exceptions during development.
105
+ */
43
106
  export declare const debugCatch: <T>(try_: () => T) => T;
107
+ /**
108
+ * Recursively removes `undefined` values from an object or array in place.
109
+ * Mutates the input value.
110
+ */
44
111
  export declare const recRemoveUndefinedValues: (val: any) => void;
45
112
  /**
46
113
  * Replace non-alphanumeric characters with a dash.
47
114
  */
48
115
  export declare const sluggify: (str: string, separator?: string) => string;
116
+ /**
117
+ * Creates a property accessor function for use in pipelines.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const users = [{ name: 'Alice' }, { name: 'Bob' }]
122
+ * const names = users.map(prop('name')) // ['Alice', 'Bob']
123
+ * ```
124
+ */
49
125
  export declare const prop: <T extends {}, K extends keyof T>(key: K) => (obj: T) => T[K];
126
+ /** Capitalizes the first letter of a string. */
50
127
  export declare const capitalizeFirstLetter: (str: string) => string;
128
+ /** Type guard that checks if a value is a readonly array. */
51
129
  export declare const isReadonlyArray: <I, T>(value: ReadonlyArray<I> | T) => value is ReadonlyArray<I>;
52
130
  /**
53
131
  * Use this to make assertion at end of if-else chain that all members of a
54
132
  * union have been accounted for.
55
133
  */
56
134
  export declare function casesHandled(unexpectedCase: never): never;
135
+ /**
136
+ * Throws if the condition is false. Use for runtime assertions that should never fail.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * assertNever(user !== undefined, 'User must be loaded')
141
+ * ```
142
+ */
57
143
  export declare const assertNever: (failIfFalse: boolean, msg?: string) => void;
144
+ /**
145
+ * Identity function that triggers the debugger. Useful for debugging pipelines.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * data.pipe(transform, debuggerPipe, format) // Pauses debugger here
150
+ * ```
151
+ */
58
152
  export declare const debuggerPipe: <T>(val: T) => T;
153
+ /**
154
+ * Placeholder for unimplemented code paths. Triggers debugger and throws.
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const parseFormat = (format: Format) => {
159
+ * switch (format) {
160
+ * case 'json': return parseJson
161
+ * case 'xml': return notYetImplemented('XML parsing')
162
+ * }
163
+ * }
164
+ * ```
165
+ */
59
166
  export declare const notYetImplemented: (msg?: string) => never;
167
+ /** A function that does nothing. Useful as a default callback. */
60
168
  export declare const noop: () => void;
169
+ /** A function that returns a value of type `T`. */
61
170
  export type Thunk<T> = () => T;
171
+ /**
172
+ * If the input is a function, calls it and returns the result. Otherwise returns the value directly.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * unwrapThunk(5) // 5
177
+ * unwrapThunk(() => 5) // 5
178
+ * ```
179
+ */
62
180
  export declare const unwrapThunk: <T>(_: T | (() => T)) => T;
181
+ /**
182
+ * Transforms nullable fields (those that include `null`) into optional fields.
183
+ * Useful for converting database schemas to TypeScript types.
184
+ */
63
185
  export type NullableFieldsToOptional<T> = Types.Simplify<Partial<T> & {
64
186
  [K in keyof T as null extends T[K] ? K : never]?: Exclude<T[K], null>;
65
187
  } & {
66
188
  [K in keyof T as null extends T[K] ? never : K]: T[K];
67
189
  }>;
68
- /** `end` is not included */
190
+ /**
191
+ * Creates an array of numbers from `start` (inclusive) to `end` (exclusive).
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * range(0, 5) // [0, 1, 2, 3, 4]
196
+ * range(3, 7) // [3, 4, 5, 6]
197
+ * ```
198
+ */
69
199
  export declare const range: (start: number, end: number) => number[];
200
+ /**
201
+ * Rate-limits function calls to at most once per `ms` milliseconds.
202
+ * Trailing calls are preserved—if called during the wait period, the function
203
+ * will be called again after the timeout.
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * const throttledSave = throttle(() => saveData(), 1000)
208
+ * throttledSave() // Executes immediately
209
+ * throttledSave() // Queued, executes after 1 second
210
+ * throttledSave() // Ignored (already queued)
211
+ * ```
212
+ */
70
213
  export declare const throttle: (fn: () => void, ms: number) => () => void;
214
+ /**
215
+ * Generates a W3C Trace Context `traceparent` header from an OpenTelemetry span.
216
+ * @see https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers
217
+ */
71
218
  export declare const getTraceParentHeader: (parentSpan: otel.Span) => string;
219
+ /**
220
+ * Asserts that a tagged union value has a specific tag, narrowing its type.
221
+ * Throws if the tag doesn't match.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * type Result = { _tag: 'ok'; value: number } | { _tag: 'error'; message: string }
226
+ * const result: Result = ...
227
+ * const ok = assertTag(result, 'ok') // Type is { _tag: 'ok'; value: number }
228
+ * ```
229
+ */
72
230
  export declare const assertTag: <TObj extends {
73
231
  _tag: string;
74
232
  }, TTag extends TObj["_tag"]>(obj: TObj, tag: TTag) => Extract<TObj, {
75
233
  _tag: TTag;
76
234
  }>;
235
+ /**
236
+ * Memoizes a function by JSON-stringifying its arguments as the cache key.
237
+ * Suitable for functions with serializable arguments.
238
+ *
239
+ * @example
240
+ * ```ts
241
+ * const expensiveCalc = memoizeByStringifyArgs((a: number, b: number) => {
242
+ * console.log('Computing...')
243
+ * return a + b
244
+ * })
245
+ * expensiveCalc(1, 2) // logs 'Computing...', returns 3
246
+ * expensiveCalc(1, 2) // returns 3 (cached, no log)
247
+ * ```
248
+ */
77
249
  export declare const memoizeByStringifyArgs: <T extends (...args: any[]) => any>(fn: T) => T;
250
+ /**
251
+ * Memoizes a single-argument function using reference equality for cache lookup.
252
+ * Suitable for functions where arguments are objects that should be compared by reference.
253
+ *
254
+ * @example
255
+ * ```ts
256
+ * const processUser = memoizeByRef((user: User) => expensiveTransform(user))
257
+ * processUser(userA) // Computes
258
+ * processUser(userA) // Returns cached (same reference)
259
+ * processUser(userB) // Computes (different reference)
260
+ * ```
261
+ */
78
262
  export declare const memoizeByRef: <T extends (arg: any) => any>(fn: T) => T;
263
+ /** Type guard that checks if a value is a non-empty string. */
79
264
  export declare const isNonEmptyString: (str: string | undefined | null) => str is string;
265
+ /** Type guard that checks if a value is a Promise (has a `then` method). */
80
266
  export declare const isPromise: (value: any) => value is Promise<unknown>;
267
+ /** Type guard that checks if a value is iterable (has a `Symbol.iterator` method). */
81
268
  export declare const isIterable: <T>(value: any) => value is Iterable<T>;
269
+ /**
270
+ * Type-level utility that removes `undefined` from all property types.
271
+ * Used for compatibility with libraries that don't type optionals as `| undefined`.
272
+ *
273
+ * Note: This is a type-level lie—the runtime value is unchanged.
274
+ */
275
+ export declare const omitUndefineds: <T extends Record<keyof any, unknown>>(rec: T) => { [K in keyof T]: Exclude<T[K], undefined>; };
82
276
  export { objectToString as errorToString } from './misc.ts';
83
277
  //# sourceMappingURL=mod.d.ts.map
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
package/dist/mod.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export { default as prettyBytes } from 'pretty-bytes';
2
2
  export * as base64 from "./base64.js";
3
3
  export * from "./binary.js";
4
- export * from "./browser.js";
5
4
  export * from "./Deferred.js";
6
5
  export * from "./env.js";
7
6
  export * from "./fast-deep-equal.js";
@@ -10,17 +9,41 @@ export * from "./misc.js";
10
9
  export * from "./NoopTracer.js";
11
10
  export * from "./object/index.js";
12
11
  export * from "./promise.js";
12
+ export * as QR from "./qr.js";
13
13
  export * from "./set.js";
14
14
  export * from "./string.js";
15
15
  export * from "./time.js";
16
16
  import { objectToString } from "./misc.js";
17
+ /** Returns a Promise that resolves after `ms` milliseconds. */
17
18
  export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
19
+ /**
20
+ * Creates a mutable reference object with a `current` property.
21
+ * Similar to React's `useRef` but works outside of React.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const counter = ref(0)
26
+ * counter.current += 1
27
+ * ```
28
+ */
18
29
  export const ref = (val) => ({ current: val });
30
+ /**
31
+ * Calls a function `n` times with the current index.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * times(3, (i) => console.log(i)) // logs 0, 1, 2
36
+ * ```
37
+ */
19
38
  export const times = (n, fn) => {
20
39
  for (let i = 0; i < n; i++) {
21
40
  fn(i);
22
41
  }
23
42
  };
43
+ /**
44
+ * Wraps a function call in a try/catch that triggers the debugger on error.
45
+ * Useful for debugging exceptions during development.
46
+ */
24
47
  export const debugCatch = (try_) => {
25
48
  try {
26
49
  return try_();
@@ -31,6 +54,10 @@ export const debugCatch = (try_) => {
31
54
  throw e;
32
55
  }
33
56
  };
57
+ /**
58
+ * Recursively removes `undefined` values from an object or array in place.
59
+ * Mutates the input value.
60
+ */
34
61
  export const recRemoveUndefinedValues = (val) => {
35
62
  if (Array.isArray(val)) {
36
63
  val.forEach(recRemoveUndefinedValues);
@@ -50,8 +77,19 @@ export const recRemoveUndefinedValues = (val) => {
50
77
  * Replace non-alphanumeric characters with a dash.
51
78
  */
52
79
  export const sluggify = (str, separator = '-') => str.replace(/[^a-zA-Z0-9]/g, separator);
80
+ /**
81
+ * Creates a property accessor function for use in pipelines.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const users = [{ name: 'Alice' }, { name: 'Bob' }]
86
+ * const names = users.map(prop('name')) // ['Alice', 'Bob']
87
+ * ```
88
+ */
53
89
  export const prop = (key) => (obj) => obj[key];
90
+ /** Capitalizes the first letter of a string. */
54
91
  export const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);
92
+ /** Type guard that checks if a value is a readonly array. */
55
93
  export const isReadonlyArray = (value) => Array.isArray(value);
56
94
  /**
57
95
  * Use this to make assertion at end of if-else chain that all members of a
@@ -62,6 +100,14 @@ export function casesHandled(unexpectedCase) {
62
100
  debugger;
63
101
  throw new Error(`A case was not handled for value: ${truncate(objectToString(unexpectedCase), 1000)}`);
64
102
  }
103
+ /**
104
+ * Throws if the condition is false. Use for runtime assertions that should never fail.
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * assertNever(user !== undefined, 'User must be loaded')
109
+ * ```
110
+ */
65
111
  export const assertNever = (failIfFalse, msg) => {
66
112
  if (failIfFalse === false) {
67
113
  // biome-ignore lint/suspicious/noDebugger: debugging
@@ -69,6 +115,14 @@ export const assertNever = (failIfFalse, msg) => {
69
115
  throw new Error(`This should never happen: ${msg}`);
70
116
  }
71
117
  };
118
+ /**
119
+ * Identity function that triggers the debugger. Useful for debugging pipelines.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * data.pipe(transform, debuggerPipe, format) // Pauses debugger here
124
+ * ```
125
+ */
72
126
  export const debuggerPipe = (val) => {
73
127
  // biome-ignore lint/suspicious/noDebugger: debugging
74
128
  debugger;
@@ -82,12 +136,35 @@ const truncate = (str, length) => {
82
136
  return str;
83
137
  }
84
138
  };
139
+ /**
140
+ * Placeholder for unimplemented code paths. Triggers debugger and throws.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * const parseFormat = (format: Format) => {
145
+ * switch (format) {
146
+ * case 'json': return parseJson
147
+ * case 'xml': return notYetImplemented('XML parsing')
148
+ * }
149
+ * }
150
+ * ```
151
+ */
85
152
  export const notYetImplemented = (msg) => {
86
153
  // biome-ignore lint/suspicious/noDebugger: debugging
87
154
  debugger;
88
155
  throw new Error(`Not yet implemented: ${msg}`);
89
156
  };
157
+ /** A function that does nothing. Useful as a default callback. */
90
158
  export const noop = () => { };
159
+ /**
160
+ * If the input is a function, calls it and returns the result. Otherwise returns the value directly.
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * unwrapThunk(5) // 5
165
+ * unwrapThunk(() => 5) // 5
166
+ * ```
167
+ */
91
168
  export const unwrapThunk = (_) => {
92
169
  if (typeof _ === 'function') {
93
170
  return _();
@@ -96,11 +173,32 @@ export const unwrapThunk = (_) => {
96
173
  return _;
97
174
  }
98
175
  };
99
- /** `end` is not included */
176
+ /**
177
+ * Creates an array of numbers from `start` (inclusive) to `end` (exclusive).
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * range(0, 5) // [0, 1, 2, 3, 4]
182
+ * range(3, 7) // [3, 4, 5, 6]
183
+ * ```
184
+ */
100
185
  export const range = (start, end) => {
101
186
  const length = end - start;
102
187
  return Array.from({ length }, (_, i) => start + i);
103
188
  };
189
+ /**
190
+ * Rate-limits function calls to at most once per `ms` milliseconds.
191
+ * Trailing calls are preserved—if called during the wait period, the function
192
+ * will be called again after the timeout.
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * const throttledSave = throttle(() => saveData(), 1000)
197
+ * throttledSave() // Executes immediately
198
+ * throttledSave() // Queued, executes after 1 second
199
+ * throttledSave() // Ignored (already queued)
200
+ * ```
201
+ */
104
202
  export const throttle = (fn, ms) => {
105
203
  let shouldWait = false;
106
204
  let shouldCallAgain = false;
@@ -124,18 +222,45 @@ export const throttle = (fn, ms) => {
124
222
  setTimeout(timeoutFunc, ms);
125
223
  };
126
224
  };
225
+ /**
226
+ * Generates a W3C Trace Context `traceparent` header from an OpenTelemetry span.
227
+ * @see https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers
228
+ */
127
229
  export const getTraceParentHeader = (parentSpan) => {
128
230
  const spanContext = parentSpan.spanContext();
129
- // Format: {version}-{trace_id}-{span_id}-{trace_flags}
130
- // https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers
131
231
  return `00-${spanContext.traceId}-${spanContext.spanId}-01`;
132
232
  };
233
+ /**
234
+ * Asserts that a tagged union value has a specific tag, narrowing its type.
235
+ * Throws if the tag doesn't match.
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * type Result = { _tag: 'ok'; value: number } | { _tag: 'error'; message: string }
240
+ * const result: Result = ...
241
+ * const ok = assertTag(result, 'ok') // Type is { _tag: 'ok'; value: number }
242
+ * ```
243
+ */
133
244
  export const assertTag = (obj, tag) => {
134
245
  if (obj._tag !== tag) {
135
246
  throw new Error(`Expected tag ${tag} but got ${obj._tag}`);
136
247
  }
137
248
  return obj;
138
249
  };
250
+ /**
251
+ * Memoizes a function by JSON-stringifying its arguments as the cache key.
252
+ * Suitable for functions with serializable arguments.
253
+ *
254
+ * @example
255
+ * ```ts
256
+ * const expensiveCalc = memoizeByStringifyArgs((a: number, b: number) => {
257
+ * console.log('Computing...')
258
+ * return a + b
259
+ * })
260
+ * expensiveCalc(1, 2) // logs 'Computing...', returns 3
261
+ * expensiveCalc(1, 2) // returns 3 (cached, no log)
262
+ * ```
263
+ */
139
264
  export const memoizeByStringifyArgs = (fn) => {
140
265
  const cache = new Map();
141
266
  return ((...args) => {
@@ -148,6 +273,18 @@ export const memoizeByStringifyArgs = (fn) => {
148
273
  return result;
149
274
  });
150
275
  };
276
+ /**
277
+ * Memoizes a single-argument function using reference equality for cache lookup.
278
+ * Suitable for functions where arguments are objects that should be compared by reference.
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * const processUser = memoizeByRef((user: User) => expensiveTransform(user))
283
+ * processUser(userA) // Computes
284
+ * processUser(userA) // Returns cached (same reference)
285
+ * processUser(userB) // Computes (different reference)
286
+ * ```
287
+ */
151
288
  export const memoizeByRef = (fn) => {
152
289
  const cache = new Map();
153
290
  return ((arg) => {
@@ -159,10 +296,22 @@ export const memoizeByRef = (fn) => {
159
296
  return result;
160
297
  });
161
298
  };
299
+ /** Type guard that checks if a value is a non-empty string. */
162
300
  export const isNonEmptyString = (str) => {
163
301
  return typeof str === 'string' && str.length > 0;
164
302
  };
303
+ /** Type guard that checks if a value is a Promise (has a `then` method). */
165
304
  export const isPromise = (value) => typeof value?.then === 'function';
305
+ /** Type guard that checks if a value is iterable (has a `Symbol.iterator` method). */
166
306
  export const isIterable = (value) => typeof value?.[Symbol.iterator] === 'function';
307
+ /**
308
+ * Type-level utility that removes `undefined` from all property types.
309
+ * Used for compatibility with libraries that don't type optionals as `| undefined`.
310
+ *
311
+ * Note: This is a type-level lie—the runtime value is unchanged.
312
+ */
313
+ export const omitUndefineds = (rec) => {
314
+ return rec;
315
+ };
167
316
  export { objectToString as errorToString } from "./misc.js";
168
317
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildProcessRunner.d.ts","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessRunner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAOvD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA8DrC,eAAO,MAAM,KAAK,kDAA2D,CAAA"}
1
+ {"version":3,"file":"ChildProcessRunner.d.ts","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessRunner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAOvD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA2HrC,eAAO,MAAM,KAAK,kDAA2D,CAAA"}