@livestore/utils 0.4.0-dev.9 → 0.4.0
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.
- package/dist/.tsbuildinfo +1 -0
- package/dist/NoopTracer.d.ts.map +1 -1
- package/dist/NoopTracer.js +17 -4
- package/dist/NoopTracer.js.map +1 -1
- package/dist/binary.js +1 -1
- package/dist/binary.js.map +1 -1
- package/dist/browser/Opfs/Opfs.d.ts +51 -0
- package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
- package/dist/browser/Opfs/Opfs.js +345 -0
- package/dist/browser/Opfs/Opfs.js.map +1 -0
- package/dist/browser/Opfs/debug-utils.d.ts +20 -0
- package/dist/browser/Opfs/debug-utils.d.ts.map +1 -0
- package/dist/browser/Opfs/debug-utils.js +94 -0
- package/dist/browser/Opfs/debug-utils.js.map +1 -0
- package/dist/browser/Opfs/mod.d.ts +4 -0
- package/dist/browser/Opfs/mod.d.ts.map +1 -0
- package/dist/browser/Opfs/mod.js +4 -0
- package/dist/browser/Opfs/mod.js.map +1 -0
- package/dist/browser/Opfs/utils.d.ts +71 -0
- package/dist/browser/Opfs/utils.d.ts.map +1 -0
- package/dist/browser/Opfs/utils.js +218 -0
- package/dist/browser/Opfs/utils.js.map +1 -0
- package/dist/browser/QuotaExceededError.d.ts +59 -0
- package/dist/browser/QuotaExceededError.d.ts.map +1 -0
- package/dist/browser/QuotaExceededError.js +2 -0
- package/dist/browser/QuotaExceededError.js.map +1 -0
- package/dist/browser/WebChannelBrowser.d.ts +22 -0
- package/dist/browser/WebChannelBrowser.d.ts.map +1 -0
- package/dist/browser/WebChannelBrowser.js +76 -0
- package/dist/browser/WebChannelBrowser.js.map +1 -0
- package/dist/browser/WebError.d.ts +421 -0
- package/dist/browser/WebError.d.ts.map +1 -0
- package/dist/browser/WebError.js +416 -0
- package/dist/browser/WebError.js.map +1 -0
- package/dist/browser/WebError.test.d.ts +2 -0
- package/dist/browser/WebError.test.d.ts.map +1 -0
- package/dist/browser/WebError.test.js +46 -0
- package/dist/browser/WebError.test.js.map +1 -0
- package/dist/browser/WebLock.d.ts.map +1 -0
- package/dist/{effect → browser}/WebLock.js +9 -9
- package/dist/browser/WebLock.js.map +1 -0
- package/dist/{browser.d.ts → browser/detect.d.ts} +1 -1
- package/dist/browser/detect.d.ts.map +1 -0
- package/dist/{browser.js → browser/detect.js} +7 -7
- package/dist/browser/detect.js.map +1 -0
- package/dist/browser/mod.d.ts +8 -0
- package/dist/browser/mod.d.ts.map +1 -0
- package/dist/browser/mod.js +8 -0
- package/dist/browser/mod.js.map +1 -0
- package/dist/cuid/cuid.browser.js +1 -1
- package/dist/cuid/cuid.browser.js.map +1 -1
- package/dist/cuid/cuid.node.js +1 -1
- package/dist/cuid/cuid.node.js.map +1 -1
- package/dist/effect/BucketQueue.d.ts +1 -1
- package/dist/effect/BucketQueue.d.ts.map +1 -1
- package/dist/effect/BucketQueue.js.map +1 -1
- package/dist/effect/Debug.d.ts +41 -0
- package/dist/effect/Debug.d.ts.map +1 -0
- package/dist/effect/Debug.js +354 -0
- package/dist/effect/Debug.js.map +1 -0
- package/dist/effect/Effect.d.ts +72 -12
- package/dist/effect/Effect.d.ts.map +1 -1
- package/dist/effect/Effect.js +96 -12
- package/dist/effect/Effect.js.map +1 -1
- package/dist/effect/Error.js +1 -1
- package/dist/effect/Error.js.map +1 -1
- package/dist/effect/Logger.js +2 -2
- package/dist/effect/Logger.js.map +1 -1
- package/dist/effect/RpcClient.d.ts.map +1 -1
- package/dist/effect/RpcClient.js +4 -4
- package/dist/effect/RpcClient.js.map +1 -1
- package/dist/effect/Schema/debug-diff.js +5 -4
- package/dist/effect/Schema/debug-diff.js.map +1 -1
- package/dist/effect/Schema/debug-diff.test.js +1 -1
- package/dist/effect/Schema/debug-diff.test.js.map +1 -1
- package/dist/effect/Schema/index.d.ts +5 -3
- package/dist/effect/Schema/index.d.ts.map +1 -1
- package/dist/effect/Schema/index.js +2 -2
- package/dist/effect/Schema/index.js.map +1 -1
- package/dist/effect/ServiceContext.js +6 -6
- package/dist/effect/ServiceContext.js.map +1 -1
- package/dist/effect/Stream.test.js +3 -3
- package/dist/effect/Stream.test.js.map +1 -1
- package/dist/effect/SubscriptionRef.d.ts +4 -4
- package/dist/effect/SubscriptionRef.d.ts.map +1 -1
- package/dist/effect/WebChannel/WebChannel.d.ts +4 -23
- package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
- package/dist/effect/WebChannel/WebChannel.js +9 -85
- package/dist/effect/WebChannel/WebChannel.js.map +1 -1
- package/dist/effect/WebChannel/WebChannel.test.js +1 -1
- package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
- package/dist/effect/WebChannel/broadcastChannelWithAck.js +4 -4
- package/dist/effect/WebChannel/broadcastChannelWithAck.js.map +1 -1
- package/dist/effect/WebChannel/common.d.ts +2 -2
- package/dist/effect/WebChannel/common.d.ts.map +1 -1
- package/dist/effect/WebChannel/common.js +2 -2
- package/dist/effect/WebChannel/common.js.map +1 -1
- package/dist/effect/WebSocket.d.ts.map +1 -1
- package/dist/effect/WebSocket.js +14 -14
- package/dist/effect/WebSocket.js.map +1 -1
- package/dist/effect/{index.d.ts → mod.d.ts} +4 -4
- package/dist/effect/mod.d.ts.map +1 -0
- package/dist/effect/{index.js → mod.js} +5 -5
- package/dist/effect/mod.js.map +1 -0
- package/dist/effect/spanEvent.d.ts +12 -0
- package/dist/effect/spanEvent.d.ts.map +1 -0
- package/dist/effect/spanEvent.js +12 -0
- package/dist/effect/spanEvent.js.map +1 -0
- package/dist/effect/spanEvent.test.d.ts +2 -0
- package/dist/effect/spanEvent.test.d.ts.map +1 -0
- package/dist/effect/spanEvent.test.js +82 -0
- package/dist/effect/spanEvent.test.js.map +1 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +1 -1
- package/dist/env.js.map +1 -1
- package/dist/fast-deep-equal.js +9 -9
- package/dist/fast-deep-equal.js.map +1 -1
- package/dist/global.d.ts +3 -0
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js.map +1 -1
- package/dist/guards.d.ts +14 -0
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +14 -0
- package/dist/guards.js.map +1 -1
- package/dist/misc.d.ts +9 -1
- package/dist/misc.d.ts.map +1 -1
- package/dist/misc.js +11 -3
- package/dist/misc.js.map +1 -1
- package/dist/mod.d.ts +197 -5
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +162 -17
- package/dist/mod.js.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunner.js +15 -9
- package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts +8 -0
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +16 -17
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +4 -4
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +3 -3
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessWorker.js +4 -4
- package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
- package/dist/node/mod.d.ts +34 -1
- package/dist/node/mod.d.ts.map +1 -1
- package/dist/node/mod.js +37 -2
- package/dist/node/mod.js.map +1 -1
- package/dist/object/index.d.ts.map +1 -1
- package/dist/object/index.js.map +1 -1
- package/dist/object/omit.js +1 -1
- package/dist/object/omit.js.map +1 -1
- package/dist/object/stringify-object.js +2 -2
- package/dist/object/stringify-object.js.map +1 -1
- package/dist/object/stringify-object.test.js.map +1 -1
- package/dist/qr.d.ts +38 -0
- package/dist/qr.d.ts.map +1 -0
- package/dist/qr.js +109 -0
- package/dist/qr.js.map +1 -0
- package/dist/set.js +1 -1
- package/dist/set.js.map +1 -1
- package/dist/time.js +1 -1
- package/dist/time.js.map +1 -1
- package/package.json +78 -54
- package/src/NoopTracer.ts +22 -8
- package/src/binary.ts +1 -1
- package/src/browser/Opfs/Opfs.ts +436 -0
- package/src/browser/Opfs/debug-utils.ts +153 -0
- package/src/browser/Opfs/mod.ts +3 -0
- package/src/browser/Opfs/utils.ts +287 -0
- package/src/browser/QuotaExceededError.ts +57 -0
- package/src/browser/WebChannelBrowser.ts +131 -0
- package/src/browser/WebError.test.ts +66 -0
- package/src/browser/WebError.ts +613 -0
- package/src/{effect → browser}/WebLock.ts +15 -15
- package/src/{browser.ts → browser/detect.ts} +6 -6
- package/src/browser/mod.ts +8 -0
- package/src/cuid/cuid.browser.ts +1 -1
- package/src/cuid/cuid.node.ts +1 -1
- package/src/effect/BucketQueue.ts +1 -1
- package/src/effect/Debug.ts +470 -0
- package/src/effect/Effect.ts +118 -36
- package/src/effect/Error.ts +1 -1
- package/src/effect/Logger.ts +2 -2
- package/src/effect/RpcClient.ts +7 -6
- package/src/effect/Schema/debug-diff.test.ts +2 -2
- package/src/effect/Schema/debug-diff.ts +6 -5
- package/src/effect/Schema/index.ts +10 -7
- package/src/effect/ServiceContext.ts +6 -6
- package/src/effect/Stream.test.ts +5 -4
- package/src/effect/SubscriptionRef.ts +5 -5
- package/src/effect/WebChannel/WebChannel.test.ts +1 -1
- package/src/effect/WebChannel/WebChannel.ts +19 -141
- package/src/effect/WebChannel/broadcastChannelWithAck.ts +4 -4
- package/src/effect/WebChannel/common.ts +5 -5
- package/src/effect/WebSocket.ts +13 -12
- package/src/effect/{index.ts → mod.ts} +10 -2
- package/src/effect/spanEvent.test.ts +95 -0
- package/src/effect/spanEvent.ts +15 -0
- package/src/env.ts +2 -1
- package/src/fast-deep-equal.ts +9 -9
- package/src/global.ts +4 -2
- package/src/guards.ts +15 -0
- package/src/misc.ts +12 -4
- package/src/mod.ts +209 -17
- package/src/node/ChildProcessRunner/ChildProcessRunner.ts +23 -10
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +30 -21
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +10 -11
- package/src/node/ChildProcessRunner/ChildProcessWorker.ts +5 -4
- package/src/node/mod.ts +41 -2
- package/src/object/index.ts +1 -1
- package/src/object/omit.ts +1 -1
- package/src/object/stringify-object.test.ts +1 -0
- package/src/object/stringify-object.ts +2 -2
- package/src/qr.ts +125 -0
- package/src/set.ts +1 -1
- package/src/time.ts +1 -1
- package/dist/.tsbuildinfo.json +0 -1
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js.map +0 -1
- package/dist/effect/WebLock.d.ts.map +0 -1
- package/dist/effect/WebLock.js.map +0 -1
- package/dist/effect/index.d.ts.map +0 -1
- package/dist/effect/index.js.map +0 -1
- /package/dist/{effect → browser}/WebLock.d.ts +0 -0
package/dist/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,
|
|
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,29 +9,57 @@ 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_();
|
|
27
50
|
}
|
|
28
51
|
catch (e) {
|
|
29
|
-
//
|
|
52
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for debugging exceptions
|
|
30
53
|
debugger;
|
|
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
|
-
if (Array.isArray(val)) {
|
|
62
|
+
if (Array.isArray(val) === true) {
|
|
36
63
|
val.forEach(recRemoveUndefinedValues);
|
|
37
64
|
}
|
|
38
65
|
else if (typeof val === 'object') {
|
|
@@ -50,27 +77,54 @@ 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
|
|
58
96
|
* union have been accounted for.
|
|
59
97
|
*/
|
|
60
|
-
export
|
|
61
|
-
//
|
|
98
|
+
export const casesHandled = (unexpectedCase) => {
|
|
99
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for unhandled cases
|
|
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
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for impossible states
|
|
68
114
|
debugger;
|
|
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
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional: this function's purpose is to trigger debugger
|
|
74
128
|
debugger;
|
|
75
129
|
return val;
|
|
76
130
|
};
|
|
@@ -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
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for unimplemented code paths
|
|
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,16 +173,37 @@ export const unwrapThunk = (_) => {
|
|
|
96
173
|
return _;
|
|
97
174
|
}
|
|
98
175
|
};
|
|
99
|
-
/**
|
|
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;
|
|
107
205
|
const timeoutFunc = () => {
|
|
108
|
-
if (shouldCallAgain) {
|
|
206
|
+
if (shouldCallAgain === true) {
|
|
109
207
|
fn();
|
|
110
208
|
shouldCallAgain = false;
|
|
111
209
|
setTimeout(timeoutFunc, ms);
|
|
@@ -115,7 +213,7 @@ export const throttle = (fn, ms) => {
|
|
|
115
213
|
}
|
|
116
214
|
};
|
|
117
215
|
return () => {
|
|
118
|
-
if (shouldWait) {
|
|
216
|
+
if (shouldWait === true) {
|
|
119
217
|
shouldCallAgain = true;
|
|
120
218
|
return;
|
|
121
219
|
}
|
|
@@ -124,23 +222,50 @@ 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) => {
|
|
142
267
|
const key = JSON.stringify(args);
|
|
143
|
-
if (cache.has(key)) {
|
|
268
|
+
if (cache.has(key) === true) {
|
|
144
269
|
return cache.get(key);
|
|
145
270
|
}
|
|
146
271
|
const result = fn(...args);
|
|
@@ -148,10 +273,22 @@ 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) => {
|
|
154
|
-
if (cache.has(arg)) {
|
|
291
|
+
if (cache.has(arg) === true) {
|
|
155
292
|
return cache.get(arg);
|
|
156
293
|
}
|
|
157
294
|
const result = fn(arg);
|
|
@@ -159,12 +296,20 @@ 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';
|
|
167
|
-
/**
|
|
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
|
+
*/
|
|
168
313
|
export const omitUndefineds = (rec) => {
|
|
169
314
|
return rec;
|
|
170
315
|
};
|
package/dist/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,
|
|
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;
|
|
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;AAwIrC,eAAO,MAAM,KAAK,kDAA2D,CAAA"}
|
|
@@ -13,22 +13,28 @@ import * as Scope from 'effect/Scope';
|
|
|
13
13
|
// Parent death monitoring setup
|
|
14
14
|
let parentDeathDetectionEnabled = false;
|
|
15
15
|
let parentDeathTimer = null;
|
|
16
|
+
const isSetupParentDeathDetectionMessage = (message) => Array.isArray(message) &&
|
|
17
|
+
message[0] === 'setup-parent-death-detection' &&
|
|
18
|
+
typeof message[1] === 'object' &&
|
|
19
|
+
message[1] !== null &&
|
|
20
|
+
'parentPid' in message[1] &&
|
|
21
|
+
typeof message[1].parentPid === 'number';
|
|
16
22
|
const stopParentDeathMonitoring = () => {
|
|
17
23
|
parentDeathDetectionEnabled = false;
|
|
18
|
-
if (parentDeathTimer) {
|
|
24
|
+
if (parentDeathTimer !== null) {
|
|
19
25
|
clearTimeout(parentDeathTimer);
|
|
20
26
|
parentDeathTimer = null;
|
|
21
27
|
}
|
|
22
28
|
};
|
|
23
29
|
const setupParentDeathMonitoring = (parentPid) => {
|
|
24
|
-
if (parentDeathDetectionEnabled)
|
|
30
|
+
if (parentDeathDetectionEnabled === true)
|
|
25
31
|
return;
|
|
26
32
|
parentDeathDetectionEnabled = true;
|
|
27
33
|
let consecutiveFailures = 0;
|
|
28
34
|
const maxFailures = 3; // Require 3 consecutive failures before self-terminating
|
|
29
35
|
// Check if parent is still alive every 2 seconds (more conservative)
|
|
30
36
|
const checkParentAlive = () => {
|
|
31
|
-
if (
|
|
37
|
+
if (parentDeathDetectionEnabled === false)
|
|
32
38
|
return;
|
|
33
39
|
try {
|
|
34
40
|
// Send signal 0 to check if process exists (doesn't actually send signal)
|
|
@@ -58,13 +64,13 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
|
58
64
|
[Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
|
|
59
65
|
start(closeLatch) {
|
|
60
66
|
return Effect.gen(function* () {
|
|
61
|
-
if (
|
|
67
|
+
if (process.send == null) {
|
|
62
68
|
return yield* new WorkerError({ reason: 'spawn', cause: new Error('not in a child process') });
|
|
63
69
|
}
|
|
64
70
|
const port = {
|
|
65
71
|
postMessage: (message) => process.send(message),
|
|
66
72
|
on: (event, handler) => process.on(event, handler),
|
|
67
|
-
close: () => process.disconnect(),
|
|
73
|
+
close: () => process.disconnect?.(),
|
|
68
74
|
};
|
|
69
75
|
const send = (_portId, message, _transfers) => Effect.sync(() => port.postMessage([1, message] /*, transfers as any*/));
|
|
70
76
|
const run = Effect.fnUntraced(function* (
|
|
@@ -74,7 +80,7 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
|
74
80
|
const fiberSet = yield* FiberSet.make();
|
|
75
81
|
const runFork = Runtime.runFork(runtime);
|
|
76
82
|
const onExit = (exit) => {
|
|
77
|
-
if (exit._tag === 'Failure' &&
|
|
83
|
+
if (exit._tag === 'Failure' && Cause.isInterruptedOnly(exit.cause) === false) {
|
|
78
84
|
// Deferred.unsafeDone(closeLatch, Exit.die(Cause.squash(exit.cause)))
|
|
79
85
|
Deferred.unsafeDone(closeLatch, Exit.die(exit.cause));
|
|
80
86
|
}
|
|
@@ -82,17 +88,17 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
|
82
88
|
port.on('message', (message) => {
|
|
83
89
|
// console.log('message', message)
|
|
84
90
|
// Handle parent death detection setup messages
|
|
85
|
-
if (
|
|
91
|
+
if (isSetupParentDeathDetectionMessage(message) === true) {
|
|
86
92
|
const parentPid = message[1].parentPid;
|
|
87
93
|
// console.log(`[Worker ${process.pid}] Setting up parent death detection for parent ${parentPid}`)
|
|
88
94
|
setupParentDeathMonitoring(parentPid);
|
|
89
95
|
return;
|
|
90
96
|
}
|
|
91
97
|
// Handle normal Effect worker messages
|
|
92
|
-
if (Array.isArray(message) && typeof message[0] === 'number') {
|
|
98
|
+
if (Array.isArray(message) === true && typeof message[0] === 'number') {
|
|
93
99
|
if (message[0] === 0) {
|
|
94
100
|
const result = handler(0, message[1]);
|
|
95
|
-
if (Effect.isEffect(result)) {
|
|
101
|
+
if (Effect.isEffect(result) === true) {
|
|
96
102
|
const fiber = runFork(result);
|
|
97
103
|
fiber.addObserver(onExit);
|
|
98
104
|
FiberSet.unsafeAdd(fiberSet, fiber);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildProcessRunner.js","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessRunner.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,gCAAgC;AAChC,IAAI,2BAA2B,GAAG,KAAK,CAAA;AACvC,IAAI,gBAAgB,GAA0B,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"ChildProcessRunner.js","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
declare const TestError_base: Schema.TaggedErrorClass<TestError, "TestError", {
|
|
3
|
+
readonly _tag: Schema.tag<"TestError">;
|
|
4
|
+
} & {
|
|
5
|
+
message: typeof Schema.String;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class TestError extends TestError_base {
|
|
8
|
+
}
|
|
1
9
|
export {};
|
|
2
10
|
//# sourceMappingURL=ChildProcessRunner.test.d.ts.map
|
package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildProcessRunner.test.d.ts","sourceRoot":"","sources":["../../../../src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ChildProcessRunner.test.d.ts","sourceRoot":"","sources":["../../../../src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,MAAM,EAAiB,MAAM,QAAQ,CAAA;;;;;;AAEpF,qBAAa,SAAU,SAAQ,cAE7B;CAAG"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import * as ChildProcess from 'node:child_process';
|
|
2
2
|
import * as EffectWorker from '@effect/platform/Worker';
|
|
3
3
|
import { assert, describe, it } from '@effect/vitest';
|
|
4
|
-
import { Chunk, Effect, Exit, Fiber, Scope, Stream } from 'effect';
|
|
4
|
+
import { Chunk, Deferred, Effect, Exit, Fiber, Schema, Scope, Stream } from 'effect';
|
|
5
|
+
export class TestError extends Schema.TaggedError()('TestError', {
|
|
6
|
+
message: Schema.String,
|
|
7
|
+
}) {
|
|
8
|
+
}
|
|
5
9
|
import * as ChildProcessWorker from "../ChildProcessWorker.js";
|
|
6
10
|
import { GetPersonById, GetUserById, InitialMessage, Person, StartStubbornWorker, User } from "./schema.js";
|
|
7
11
|
const WorkerLive = ChildProcessWorker.layer(() => ChildProcess.fork(new URL('../../../../dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js', import.meta.url)));
|
|
@@ -45,33 +49,28 @@ describe('ChildProcessRunner', { timeout: 10_000 }, () => {
|
|
|
45
49
|
}
|
|
46
50
|
};
|
|
47
51
|
it('should clean up child processes when Effect is interrupted', () => Effect.gen(function* () {
|
|
48
|
-
|
|
52
|
+
const workerPidDeferred = yield* Deferred.make();
|
|
49
53
|
const testEffect = Effect.gen(function* () {
|
|
50
54
|
const pool = yield* EffectWorker.makePoolSerialized({
|
|
51
55
|
size: 1,
|
|
52
56
|
initialMessage: () => new InitialMessage({ name: 'test', data: new Uint8Array([1, 2, 3]) }),
|
|
53
57
|
});
|
|
54
58
|
const result = yield* pool.executeEffect(new StartStubbornWorker({ blockDuration: 30_000 }));
|
|
55
|
-
|
|
59
|
+
yield* Deferred.succeed(workerPidDeferred, result.pid);
|
|
56
60
|
// Verify the worker process is running
|
|
57
|
-
assert.strictEqual(isProcessRunning(
|
|
61
|
+
assert.strictEqual(isProcessRunning(result.pid), true, 'Worker process should be running');
|
|
58
62
|
// Start a long-running operation that we'll interrupt
|
|
59
63
|
yield* Effect.sleep('60 seconds');
|
|
60
64
|
}).pipe(Effect.scoped, Effect.provide(WorkerLive));
|
|
61
65
|
// Run the test effect but interrupt it after 2 seconds
|
|
62
|
-
const fiber = yield* Effect.
|
|
66
|
+
const fiber = yield* Effect.forkScoped(testEffect);
|
|
67
|
+
const workerPid = yield* Deferred.await(workerPidDeferred).pipe(Effect.raceFirst(Fiber.join(fiber).pipe(Effect.flatMap(() => new TestError({ message: 'testEffect completed before reporting worker PID' })))), Effect.timeout(10_000));
|
|
63
68
|
yield* Effect.sleep('2 seconds');
|
|
64
69
|
yield* Fiber.interrupt(fiber);
|
|
65
70
|
// Wait a moment for cleanup to complete
|
|
66
71
|
yield* Effect.sleep('1 second');
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
assert.strictEqual(isProcessRunning(workerPid), false, `Worker process ${workerPid} should be terminated after Effect interruption`);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
assert.fail('Worker PID was not captured');
|
|
73
|
-
}
|
|
74
|
-
}).pipe(Effect.runPromise));
|
|
72
|
+
assert.strictEqual(isProcessRunning(workerPid), false, `Worker process ${workerPid} should be terminated after Effect interruption`);
|
|
73
|
+
}).pipe(Effect.scoped, Effect.runPromise));
|
|
75
74
|
it('should clean up child processes when scope is closed abruptly', () => Effect.gen(function* () {
|
|
76
75
|
let workerPid;
|
|
77
76
|
// Create a scope that we can close manually
|
|
@@ -93,7 +92,7 @@ describe('ChildProcessRunner', { timeout: 10_000 }, () => {
|
|
|
93
92
|
// Wait for cleanup
|
|
94
93
|
yield* Effect.sleep('1 second');
|
|
95
94
|
// This should pass but will initially fail due to zombie process issue
|
|
96
|
-
if (workerPid) {
|
|
95
|
+
if (workerPid !== undefined) {
|
|
97
96
|
assert.strictEqual(isProcessRunning(workerPid), false, `Worker process ${workerPid} should be terminated after scope closure`);
|
|
98
97
|
}
|
|
99
98
|
else {
|
|
@@ -140,7 +139,7 @@ describe('ChildProcessRunner', { timeout: 10_000 }, () => {
|
|
|
140
139
|
// Wait for cleanup to complete
|
|
141
140
|
yield* Effect.sleep('2 seconds');
|
|
142
141
|
// This test should initially fail - child process will still be running
|
|
143
|
-
if (workerPid) {
|
|
142
|
+
if (workerPid !== undefined) {
|
|
144
143
|
assert.strictEqual(isProcessRunning(workerPid), false, `Worker process ${workerPid} should be terminated after SIGINT`);
|
|
145
144
|
}
|
|
146
145
|
else {
|
|
@@ -192,7 +191,7 @@ describe('ChildProcessRunner', { timeout: 10_000 }, () => {
|
|
|
192
191
|
// Start stubborn worker
|
|
193
192
|
yield* worker.executeEffect(new StartStubbornWorker({ blockDuration: 60_000 }));
|
|
194
193
|
// Verify process is running
|
|
195
|
-
if (childPid) {
|
|
194
|
+
if (childPid !== undefined) {
|
|
196
195
|
assert.strictEqual(isProcessRunning(childPid), true, 'Child process should be running');
|
|
197
196
|
}
|
|
198
197
|
// Keep running until interrupted
|
|
@@ -206,7 +205,7 @@ describe('ChildProcessRunner', { timeout: 10_000 }, () => {
|
|
|
206
205
|
// Wait for cleanup
|
|
207
206
|
yield* Effect.sleep('3 seconds');
|
|
208
207
|
// This test should initially fail - demonstrating the zombie process issue
|
|
209
|
-
if (childPid) {
|
|
208
|
+
if (childPid !== undefined) {
|
|
210
209
|
assert.strictEqual(isProcessRunning(childPid), false, `Child process ${childPid} should be terminated after forced interruption`);
|
|
211
210
|
}
|
|
212
211
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildProcessRunner.test.js","sourceRoot":"","sources":["../../../../src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChildProcessRunner.test.js","sourceRoot":"","sources":["../../../../src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts"],"names":[],"mappings":"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"}
|