@livestore/utils 0.4.0-dev.21 → 0.4.0-dev.23
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 +15 -5
- 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 +3 -3
- package/dist/browser/Opfs/Opfs.d.ts.map +1 -1
- package/dist/browser/Opfs/Opfs.js +1 -1
- package/dist/browser/Opfs/Opfs.js.map +1 -1
- package/dist/browser/Opfs/debug-utils.d.ts.map +1 -1
- package/dist/browser/Opfs/debug-utils.js +2 -2
- package/dist/browser/Opfs/debug-utils.js.map +1 -1
- package/dist/browser/Opfs/utils.d.ts.map +1 -1
- package/dist/browser/Opfs/utils.js +10 -10
- package/dist/browser/Opfs/utils.js.map +1 -1
- package/dist/browser/QuotaExceededError.d.ts.map +1 -1
- package/dist/browser/QuotaExceededError.js.map +1 -1
- package/dist/browser/WebChannelBrowser.d.ts +1 -1
- package/dist/browser/WebChannelBrowser.d.ts.map +1 -1
- package/dist/browser/WebError.d.ts +50 -54
- package/dist/browser/WebError.d.ts.map +1 -1
- package/dist/browser/WebError.js +25 -23
- package/dist/browser/WebError.js.map +1 -1
- package/dist/browser/WebLock.js +9 -9
- package/dist/browser/WebLock.js.map +1 -1
- package/dist/browser/detect.js +6 -6
- package/dist/browser/detect.js.map +1 -1
- 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 +7 -2
- package/dist/effect/Debug.d.ts.map +1 -1
- package/dist/effect/Debug.js +69 -61
- package/dist/effect/Debug.js.map +1 -1
- 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/index.d.ts +5 -3
- package/dist/effect/Schema/index.d.ts.map +1 -1
- package/dist/effect/Schema/index.js +1 -1
- 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 +2 -2
- package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
- package/dist/effect/WebChannel/WebChannel.js +4 -4
- package/dist/effect/WebChannel/WebChannel.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 +1 -1
- 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.js +3 -3
- package/dist/effect/WebSocket.js.map +1 -1
- package/dist/effect/mod.d.ts +1 -1
- package/dist/effect/mod.d.ts.map +1 -1
- package/dist/effect/mod.js +1 -1
- package/dist/effect/mod.js.map +1 -1
- 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.map +1 -1
- package/dist/global.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 +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +12 -12
- 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 +10 -6
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +2 -2
- 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 +31 -4
- package/dist/node/mod.d.ts.map +1 -1
- package/dist/node/mod.js +33 -6
- 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.js +11 -11
- package/dist/qr.js.map +1 -1
- 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 +66 -52
- package/src/NoopTracer.ts +20 -9
- package/src/binary.ts +1 -1
- package/src/browser/Opfs/Opfs.ts +12 -4
- package/src/browser/Opfs/debug-utils.ts +8 -6
- package/src/browser/Opfs/utils.ts +11 -10
- package/src/browser/QuotaExceededError.ts +0 -2
- package/src/browser/WebChannelBrowser.ts +1 -1
- package/src/browser/WebError.ts +100 -86
- package/src/browser/WebLock.ts +15 -15
- package/src/browser/detect.ts +6 -6
- 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 +73 -55
- 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.ts +6 -5
- package/src/effect/Schema/index.ts +9 -6
- 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.ts +6 -6
- package/src/effect/WebChannel/broadcastChannelWithAck.ts +4 -4
- package/src/effect/WebChannel/common.ts +4 -4
- package/src/effect/WebSocket.ts +3 -3
- package/src/effect/mod.ts +1 -0
- 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 +0 -2
- package/src/misc.ts +12 -4
- package/src/mod.ts +11 -11
- package/src/node/ChildProcessRunner/ChildProcessRunner.ts +23 -10
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +11 -7
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +10 -11
- package/src/node/ChildProcessRunner/ChildProcessWorker.ts +5 -4
- package/src/node/mod.ts +38 -6
- 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 +11 -11
- package/src/set.ts +1 -1
- package/src/time.ts +1 -1
- package/dist/.tsbuildinfo.json +0 -1
|
@@ -11,7 +11,7 @@ const childProcesses = new Set();
|
|
|
11
11
|
const forceCleanupChildren = (signal = 'SIGKILL') => {
|
|
12
12
|
for (const child of childProcesses) {
|
|
13
13
|
try {
|
|
14
|
-
if (
|
|
14
|
+
if (child.killed === false) {
|
|
15
15
|
child.kill(signal);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -24,7 +24,7 @@ const forceCleanupChildren = (signal = 'SIGKILL') => {
|
|
|
24
24
|
// Install signal handlers once to clean up all child processes
|
|
25
25
|
let signalHandlersInstalled = false;
|
|
26
26
|
const installSignalHandlers = () => {
|
|
27
|
-
if (signalHandlersInstalled)
|
|
27
|
+
if (signalHandlersInstalled === true)
|
|
28
28
|
return;
|
|
29
29
|
signalHandlersInstalled = true;
|
|
30
30
|
// Use 'beforeExit' instead of signal handlers since tests may interfere with signals
|
|
@@ -75,13 +75,13 @@ const platformWorkerImpl = Worker.makePlatform()({
|
|
|
75
75
|
}).pipe(Effect.timeout(3000), // Reduced timeout for faster cleanup
|
|
76
76
|
Effect.interruptible, Effect.catchAllCause(() => Effect.sync(() => {
|
|
77
77
|
// Enhanced cleanup with escalating signals
|
|
78
|
-
if (
|
|
78
|
+
if (childProcess.killed === false) {
|
|
79
79
|
try {
|
|
80
80
|
// First try SIGTERM
|
|
81
81
|
childProcess.kill('SIGTERM');
|
|
82
82
|
// If still running after a short delay, use SIGKILL
|
|
83
83
|
setTimeout(() => {
|
|
84
|
-
if (
|
|
84
|
+
if (childProcess.killed === false) {
|
|
85
85
|
childProcess.kill('SIGKILL');
|
|
86
86
|
}
|
|
87
87
|
}, 1000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildProcessWorker.js","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessWorker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChildProcessWorker.js","sourceRoot":"","sources":["../../../src/node/ChildProcessRunner/ChildProcessWorker.ts"],"names":[],"mappings":"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"}
|
package/dist/node/mod.d.ts
CHANGED
|
@@ -8,9 +8,36 @@ export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.ts'
|
|
|
8
8
|
export declare const getFreePort: Effect.Effect<number, UnknownError>;
|
|
9
9
|
export declare const OtelLiveDummy: Layer.Layer<OtelTracer.OtelTracer>;
|
|
10
10
|
/**
|
|
11
|
-
* Layer that
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Layer that provides WatchBackend for recursive file watching via @parcel/watcher.
|
|
12
|
+
* This layer alone does NOT provide FileSystem - it only provides the watch backend.
|
|
13
|
+
*
|
|
14
|
+
* IMPORTANT: Layer ordering matters! When composing with NodeFileSystem.layer, use
|
|
15
|
+
* `NodeFileSystemWithWatch` instead, or ensure WatchBackend is available when FileSystem
|
|
16
|
+
* is constructed by using `Layer.provideMerge`:
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* // ✅ CORRECT: Use the pre-composed layer
|
|
20
|
+
* Effect.provide(NodeFileSystemWithWatch)
|
|
21
|
+
*
|
|
22
|
+
* // ✅ CORRECT: Manual composition with Layer.provideMerge
|
|
23
|
+
* const layer = PlatformNode.NodeFileSystem.layer.pipe(Layer.provideMerge(NodeRecursiveWatchLayer))
|
|
24
|
+
* Effect.provide(layer)
|
|
25
|
+
*
|
|
26
|
+
* // ❌ WRONG: Chained Effect.provide - WatchBackend won't be used!
|
|
27
|
+
* Effect.provide(NodeRecursiveWatchLayer).pipe(Effect.provide(PlatformNode.NodeFileSystem.layer))
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see https://github.com/Effect-TS/effect/issues/5913
|
|
14
31
|
*/
|
|
15
|
-
export declare const NodeRecursiveWatchLayer: Layer.Layer<import("@effect/platform/FileSystem").
|
|
32
|
+
export declare const NodeRecursiveWatchLayer: Layer.Layer<import("@effect/platform/FileSystem").WatchBackend, never, never>;
|
|
33
|
+
/**
|
|
34
|
+
* Pre-composed layer providing FileSystem with recursive file watching via @parcel/watcher.
|
|
35
|
+
* This is the recommended way to get a FileSystem that supports recursive watching.
|
|
36
|
+
*
|
|
37
|
+
* Use this layer when you need to watch files recursively (e.g., watching nested directories).
|
|
38
|
+
* Without recursive watching, Node.js's built-in fs.watch only detects changes in the
|
|
39
|
+
* immediate directory, not in subdirectories.
|
|
40
|
+
*/
|
|
41
|
+
export { NodeFileSystem } from '@effect/platform-node';
|
|
42
|
+
export declare const NodeFileSystemWithWatch: Layer.Layer<import("@effect/platform/FileSystem").WatchBackend | import("@effect/platform/FileSystem").FileSystem, never, never>;
|
|
16
43
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/node/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG3D,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AAErD,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAOhF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAuB1D,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAQ3D,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,+EAAqB,CAAA;AAEzD;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,eAAO,MAAM,uBAAuB,kIAAoE,CAAA"}
|
package/dist/node/mod.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
-
import * as PlatformNode from '@effect/platform-node';
|
|
3
2
|
import { layer as ParcelWatcherLayer } from '@effect/platform-node/NodeFileSystem/ParcelWatcher';
|
|
4
3
|
import { Effect, Layer } from 'effect';
|
|
5
4
|
import { OtelTracer, UnknownError } from "../effect/mod.js";
|
|
@@ -20,7 +19,7 @@ export const getFreePort = Effect.async((cb, signal) => {
|
|
|
20
19
|
// Listen on port 0 to get an available port
|
|
21
20
|
server.listen(0, () => {
|
|
22
21
|
const address = server.address();
|
|
23
|
-
if (address && typeof address === 'object') {
|
|
22
|
+
if (address !== null && typeof address === 'object') {
|
|
24
23
|
const port = address.port;
|
|
25
24
|
server.close(() => cb(Effect.succeed(port)));
|
|
26
25
|
}
|
|
@@ -39,9 +38,37 @@ export const OtelLiveDummy = Layer.suspend(() => {
|
|
|
39
38
|
return TracingLive;
|
|
40
39
|
});
|
|
41
40
|
/**
|
|
42
|
-
* Layer that
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* Layer that provides WatchBackend for recursive file watching via @parcel/watcher.
|
|
42
|
+
* This layer alone does NOT provide FileSystem - it only provides the watch backend.
|
|
43
|
+
*
|
|
44
|
+
* IMPORTANT: Layer ordering matters! When composing with NodeFileSystem.layer, use
|
|
45
|
+
* `NodeFileSystemWithWatch` instead, or ensure WatchBackend is available when FileSystem
|
|
46
|
+
* is constructed by using `Layer.provideMerge`:
|
|
47
|
+
*
|
|
48
|
+
* ```ts
|
|
49
|
+
* // ✅ CORRECT: Use the pre-composed layer
|
|
50
|
+
* Effect.provide(NodeFileSystemWithWatch)
|
|
51
|
+
*
|
|
52
|
+
* // ✅ CORRECT: Manual composition with Layer.provideMerge
|
|
53
|
+
* const layer = PlatformNode.NodeFileSystem.layer.pipe(Layer.provideMerge(NodeRecursiveWatchLayer))
|
|
54
|
+
* Effect.provide(layer)
|
|
55
|
+
*
|
|
56
|
+
* // ❌ WRONG: Chained Effect.provide - WatchBackend won't be used!
|
|
57
|
+
* Effect.provide(NodeRecursiveWatchLayer).pipe(Effect.provide(PlatformNode.NodeFileSystem.layer))
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @see https://github.com/Effect-TS/effect/issues/5913
|
|
45
61
|
*/
|
|
46
|
-
export const NodeRecursiveWatchLayer =
|
|
62
|
+
export const NodeRecursiveWatchLayer = ParcelWatcherLayer;
|
|
63
|
+
/**
|
|
64
|
+
* Pre-composed layer providing FileSystem with recursive file watching via @parcel/watcher.
|
|
65
|
+
* This is the recommended way to get a FileSystem that supports recursive watching.
|
|
66
|
+
*
|
|
67
|
+
* Use this layer when you need to watch files recursively (e.g., watching nested directories).
|
|
68
|
+
* Without recursive watching, Node.js's built-in fs.watch only detects changes in the
|
|
69
|
+
* immediate directory, not in subdirectories.
|
|
70
|
+
*/
|
|
71
|
+
export { NodeFileSystem } from '@effect/platform-node';
|
|
72
|
+
import { NodeFileSystem } from '@effect/platform-node';
|
|
73
|
+
export const NodeFileSystemWithWatch = NodeFileSystem.layer.pipe(Layer.provideMerge(ParcelWatcherLayer));
|
|
47
74
|
//# sourceMappingURL=mod.js.map
|
package/dist/node/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AAErC,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EACrE,KAAK,IAAI,EACT,UAAU,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,KAAK,KAC7D,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,KAAK,GAG5B,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,KAAG,OAAO,CAAC,CAAC,CAAsC,CAAA;AAErH,eAAO,MAAM,mBAAmB,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,KAAG,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AAErC,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EACrE,KAAK,IAAI,EACT,UAAU,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,KAAK,KAC7D,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,KAAK,GAG5B,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,KAAG,OAAO,CAAC,CAAC,CAAsC,CAAA;AAErH,eAAO,MAAM,mBAAmB,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,KAAG,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,GAIrG,CAAA"}
|
package/dist/object/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AAIrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAS,EACT,QAA8D,EAChC,EAAE;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAiB,EAAE,GAAG,CAAC,CAAU,CAAC,CAAA;IAC/G,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAQ,CAAA;AACjD,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,GAAM,EAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAe,CAAA;AAErH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAmC,GAAS,EAA4B,EAAE,CAC3G,IAAI,CACF,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AAIrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAS,EACT,QAA8D,EAChC,EAAE;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAiB,EAAE,GAAG,CAAC,CAAU,CAAC,CAAA;IAC/G,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAQ,CAAA;AACjD,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,GAAM,EAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAe,CAAA;AAErH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAmC,GAAS,EAA4B,EAAE,CAC3G,IAAI,CACF,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,WAAW,CACnB,CAAA"}
|
package/dist/object/omit.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/** Returns a shallowly cloned object with the provided keys omitted */
|
|
6
6
|
export const omit = (obj, keys) => {
|
|
7
7
|
return Object.keys(obj).reduce((acc, key) => {
|
|
8
|
-
if (
|
|
8
|
+
if (keys.includes(key) === false) {
|
|
9
9
|
acc[key] = obj[key];
|
|
10
10
|
}
|
|
11
11
|
return acc;
|
package/dist/object/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,6DAA6D;AAC7D,wFAAwF;AACxF,8DAA8D;AAE9D,uEAAuE;AACvE,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,GAAQ,EACR,IAAY,EACK,EAAE;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;QAC/C,IAAI,
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,6DAA6D;AAC7D,wFAAwF;AACxF,8DAA8D;AAE9D,uEAAuE;AACvE,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,GAAQ,EACR,IAAY,EACK,EAAE;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,GAAI,GAAW,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAS,CAAC,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -9,11 +9,11 @@ export const stringifyObject = (obj, prefix = '') => {
|
|
|
9
9
|
const entries = [];
|
|
10
10
|
for (const [key, value] of Object.entries(obj)) {
|
|
11
11
|
const fullKey = prefix !== '' ? `${prefix}.${key}` : key;
|
|
12
|
-
if (typeof value === 'object' && value !== null &&
|
|
12
|
+
if (typeof value === 'object' && value !== null && Array.isArray(value) === false) {
|
|
13
13
|
// Recursively stringify nested objects with dot notation
|
|
14
14
|
entries.push(stringifyObject(value, fullKey));
|
|
15
15
|
}
|
|
16
|
-
else if (Array.isArray(value)) {
|
|
16
|
+
else if (Array.isArray(value) === true) {
|
|
17
17
|
// Arrays get converted to comma-separated values
|
|
18
18
|
entries.push(`${fullKey}=${value.join(',')}`);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify-object.js","sourceRoot":"","sources":["../../src/object/stringify-object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE;IAClE,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAExD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"stringify-object.js","sourceRoot":"","sources":["../../src/object/stringify-object.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE;IAClE,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAExD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAClF,yDAAyD;YACzD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,iDAAiD;YACjD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify-object.test.js","sourceRoot":"","sources":["../../src/object/stringify-object.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"stringify-object.test.js","sourceRoot":"","sources":["../../src/object/stringify-object.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;QACxC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAA;QACzC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;QACpC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC3C,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAA;QACzC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG;YACV,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACd,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5B;YACD,IAAI,EAAE,MAAM;SACb,CAAA;QACD,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/qr.js
CHANGED
|
@@ -45,7 +45,7 @@ export const printQrTerminal = (text, options) => {
|
|
|
45
45
|
if (row < 0 || col < 0 || row >= size || col >= size)
|
|
46
46
|
return false;
|
|
47
47
|
const bit = qr.isDark(row, col);
|
|
48
|
-
return invert ? !bit : bit;
|
|
48
|
+
return invert === true ? !bit : bit;
|
|
49
49
|
};
|
|
50
50
|
const lines = [];
|
|
51
51
|
// Compact rendering: combine two QR rows into one terminal row using half-blocks.
|
|
@@ -67,9 +67,9 @@ export const printQrTerminal = (text, options) => {
|
|
|
67
67
|
let currentStyle = '';
|
|
68
68
|
const setStyle = (style) => {
|
|
69
69
|
if (style !== currentStyle) {
|
|
70
|
-
if (currentStyle)
|
|
70
|
+
if (currentStyle !== undefined)
|
|
71
71
|
row += RESET;
|
|
72
|
-
if (style)
|
|
72
|
+
if (style !== undefined)
|
|
73
73
|
row += style;
|
|
74
74
|
currentStyle = style;
|
|
75
75
|
}
|
|
@@ -77,29 +77,29 @@ export const printQrTerminal = (text, options) => {
|
|
|
77
77
|
for (let x = 0; x < width; x++) {
|
|
78
78
|
const top = isDarkAt(x, y);
|
|
79
79
|
const bottom = isDarkAt(x, y + 1);
|
|
80
|
-
if (useAnsi) {
|
|
80
|
+
if (useAnsi === true) {
|
|
81
81
|
// Represent two stacked modules with a single `▀` character.
|
|
82
82
|
// Foreground corresponds to the top pixel; background to the bottom pixel.
|
|
83
83
|
// Always paint both halves to enforce a white quiet zone even on dark terminals.
|
|
84
|
-
const fg = top ? FG_BLACK : FG_WHITE;
|
|
85
|
-
const bg = bottom ? BG_BLACK : BG_WHITE;
|
|
84
|
+
const fg = top === true ? FG_BLACK : FG_WHITE;
|
|
85
|
+
const bg = bottom === true ? BG_BLACK : BG_WHITE;
|
|
86
86
|
setStyle(fg + bg);
|
|
87
87
|
row += '▀';
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
90
90
|
// No ANSI: approximate using block characters.
|
|
91
91
|
let ch = ' ';
|
|
92
|
-
if (top && bottom)
|
|
92
|
+
if (top === true && bottom === true)
|
|
93
93
|
ch = '█';
|
|
94
|
-
else if (top &&
|
|
94
|
+
else if (top === true && bottom === false)
|
|
95
95
|
ch = '▀';
|
|
96
|
-
else if (
|
|
96
|
+
else if (top === false && bottom === true)
|
|
97
97
|
ch = '▄';
|
|
98
98
|
row += ch;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
if (useAnsi) {
|
|
102
|
-
if (currentStyle)
|
|
101
|
+
if (useAnsi === true) {
|
|
102
|
+
if (currentStyle !== undefined)
|
|
103
103
|
row += RESET;
|
|
104
104
|
}
|
|
105
105
|
lines.push(row);
|
package/dist/qr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr.js","sourceRoot":"","sources":["../src/qr.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAchD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAgC,EAAQ,EAAE;IACtF,MAAM,EAAE,GAA2B,OAAO,EAAE,oBAAoB,IAAI,GAAG,CAAA;IACvE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAA;IACvC,6CAA6C;IAC7C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAE,OAAe,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAEzG,qFAAqF;IACrF,mEAAmE;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACxB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,EAAE,CAAC,IAAI,EAAE,CAAA;IAET,MAAM,IAAI,GAAG,EAAE,CAAC,cAAc,EAAE,CAAA;IAEhC,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;QACjD,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAA;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAA;QACtB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAClE,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"qr.js","sourceRoot":"","sources":["../src/qr.ts"],"names":[],"mappings":"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"}
|
package/dist/set.js
CHANGED
package/dist/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,CAAS,EAAE,CAAS,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAK,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,CAAS,EAAE,CAAS,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAK,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
package/dist/time.js
CHANGED
|
@@ -14,7 +14,7 @@ export const msAsTimeString = (ms) => {
|
|
|
14
14
|
const hours = Math.floor(minutes / 60);
|
|
15
15
|
const remainingSeconds = (seconds % 60).toString().padStart(2, '0');
|
|
16
16
|
const remainingMinutes = hours > 0 ? (minutes % 60).toString().padStart(2, '0') : minutes % 60;
|
|
17
|
-
const timeString = [hours > 0 ? `${hours}:` : '', `${remainingMinutes}:`,
|
|
17
|
+
const timeString = [hours > 0 ? `${hours}:` : '', `${remainingMinutes}:`, remainingSeconds]
|
|
18
18
|
.filter((val) => val !== '')
|
|
19
19
|
.join('');
|
|
20
20
|
return timeString;
|
package/dist/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,EAAE,GAAG,IAAI;IACd,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACpB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAC9B,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,MAAM,gBAAgB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAA;IAE9F,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,gBAAgB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,EAAE,GAAG,IAAI;IACd,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACpB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAC9B,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACtC,MAAM,gBAAgB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAA;IAE9F,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,gBAAgB,GAAG,EAAE,gBAAgB,CAAC;SACxF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;SAC3B,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/utils",
|
|
3
|
-
"version": "0.4.0-dev.
|
|
3
|
+
"version": "0.4.0-dev.23",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/livestorejs/livestore.git"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"package.json",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
4
14
|
"type": "module",
|
|
5
15
|
"sideEffects": [
|
|
6
16
|
"./src/global.ts",
|
|
7
17
|
"./dist/global.js"
|
|
8
18
|
],
|
|
19
|
+
"react-native": "./dist/index.js",
|
|
9
20
|
"exports": {
|
|
10
21
|
".": {
|
|
11
22
|
"types": "./dist/mod.d.ts",
|
|
@@ -42,69 +53,72 @@
|
|
|
42
53
|
"default": "./dist/bun/mod.js"
|
|
43
54
|
}
|
|
44
55
|
},
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
},
|
|
45
59
|
"dependencies": {
|
|
46
|
-
"@effect/platform-node": "0.
|
|
47
|
-
"@standard-schema/spec": "1.
|
|
48
|
-
"nanoid": "5.
|
|
60
|
+
"@effect/platform-node": "0.106.0",
|
|
61
|
+
"@standard-schema/spec": "1.1.0",
|
|
62
|
+
"nanoid": "5.0.9",
|
|
49
63
|
"pretty-bytes": "7.0.1",
|
|
50
|
-
"qrcode-generator": "
|
|
64
|
+
"qrcode-generator": "1.4.4"
|
|
51
65
|
},
|
|
52
66
|
"devDependencies": {
|
|
53
|
-
"@effect/ai": "0.
|
|
54
|
-
"@effect/cli": "0.
|
|
55
|
-
"@effect/cluster": "0.
|
|
56
|
-
"@effect/experimental": "0.
|
|
57
|
-
"@effect/opentelemetry": "0.
|
|
58
|
-
"@effect/platform": "0.
|
|
59
|
-
"@effect/platform-browser": "0.
|
|
60
|
-
"@effect/platform-bun": "0.
|
|
61
|
-
"@effect/platform-node": "0.
|
|
62
|
-
"@effect/printer": "0.
|
|
63
|
-
"@effect/printer-ansi": "0.
|
|
64
|
-
"@effect/rpc": "0.
|
|
65
|
-
"@effect/sql": "0.
|
|
66
|
-
"@effect/typeclass": "0.
|
|
67
|
-
"@effect/vitest": "0.
|
|
68
|
-
"@effect/workflow": "0.
|
|
67
|
+
"@effect/ai": "0.35.0",
|
|
68
|
+
"@effect/cli": "0.75.1",
|
|
69
|
+
"@effect/cluster": "0.58.2",
|
|
70
|
+
"@effect/experimental": "0.60.0",
|
|
71
|
+
"@effect/opentelemetry": "0.63.0",
|
|
72
|
+
"@effect/platform": "0.96.1",
|
|
73
|
+
"@effect/platform-browser": "0.76.0",
|
|
74
|
+
"@effect/platform-bun": "0.89.0",
|
|
75
|
+
"@effect/platform-node": "0.106.0",
|
|
76
|
+
"@effect/printer": "0.49.0",
|
|
77
|
+
"@effect/printer-ansi": "0.49.0",
|
|
78
|
+
"@effect/rpc": "0.75.1",
|
|
79
|
+
"@effect/sql": "0.51.1",
|
|
80
|
+
"@effect/typeclass": "0.40.0",
|
|
81
|
+
"@effect/vitest": "0.29.0",
|
|
82
|
+
"@effect/workflow": "0.18.0",
|
|
69
83
|
"@opentelemetry/api": "1.9.0",
|
|
70
|
-
"@opentelemetry/resources": "2.0
|
|
71
|
-
"@
|
|
72
|
-
"@types/
|
|
73
|
-
"@types/
|
|
84
|
+
"@opentelemetry/resources": "2.2.0",
|
|
85
|
+
"@standard-schema/spec": "1.1.0",
|
|
86
|
+
"@types/bun": "1.3.10",
|
|
87
|
+
"@types/jsdom": "21.1.7",
|
|
88
|
+
"@types/node": "25.3.3",
|
|
74
89
|
"@types/web": "0.0.264",
|
|
75
|
-
"effect": "3.
|
|
76
|
-
"jsdom": "
|
|
90
|
+
"effect": "3.21.2",
|
|
91
|
+
"jsdom": "26.1.0",
|
|
77
92
|
"vitest": "3.2.4"
|
|
78
93
|
},
|
|
79
|
-
"files": [
|
|
80
|
-
"package.json",
|
|
81
|
-
"src",
|
|
82
|
-
"dist"
|
|
83
|
-
],
|
|
84
|
-
"license": "Apache-2.0",
|
|
85
94
|
"peerDependencies": {
|
|
86
|
-
"@effect/ai": "^0.
|
|
87
|
-
"@effect/cli": "^0.
|
|
88
|
-
"@effect/cluster": "^0.
|
|
89
|
-
"@effect/experimental": "^0.
|
|
90
|
-
"@effect/opentelemetry": "^0.
|
|
91
|
-
"@effect/platform": "^0.
|
|
92
|
-
"@effect/platform-browser": "^0.
|
|
93
|
-
"@effect/platform-bun": "^0.
|
|
94
|
-
"@effect/platform-node": "^0.
|
|
95
|
-
"@effect/printer": "^0.
|
|
96
|
-
"@effect/printer-ansi": "^0.
|
|
97
|
-
"@effect/rpc": "^0.
|
|
98
|
-
"@effect/sql": "^0.
|
|
99
|
-
"@effect/typeclass": "^0.
|
|
95
|
+
"@effect/ai": "^0.35.0",
|
|
96
|
+
"@effect/cli": "^0.75.1",
|
|
97
|
+
"@effect/cluster": "^0.58.2",
|
|
98
|
+
"@effect/experimental": "^0.60.0",
|
|
99
|
+
"@effect/opentelemetry": "^0.63.0",
|
|
100
|
+
"@effect/platform": "^0.96.1",
|
|
101
|
+
"@effect/platform-browser": "^0.76.0",
|
|
102
|
+
"@effect/platform-bun": "^0.89.0",
|
|
103
|
+
"@effect/platform-node": "^0.106.0",
|
|
104
|
+
"@effect/printer": "^0.49.0",
|
|
105
|
+
"@effect/printer-ansi": "^0.49.0",
|
|
106
|
+
"@effect/rpc": "^0.75.1",
|
|
107
|
+
"@effect/sql": "^0.51.1",
|
|
108
|
+
"@effect/typeclass": "^0.40.0",
|
|
109
|
+
"@effect/vitest": "^0.29.0",
|
|
100
110
|
"@opentelemetry/api": "^1.9.0",
|
|
101
|
-
"@opentelemetry/resources": "^2.0
|
|
102
|
-
"
|
|
111
|
+
"@opentelemetry/resources": "^2.2.0",
|
|
112
|
+
"@standard-schema/spec": "^1.1.0",
|
|
113
|
+
"effect": "^3.21.2"
|
|
103
114
|
},
|
|
104
|
-
"
|
|
105
|
-
"
|
|
115
|
+
"$genie": {
|
|
116
|
+
"source": "package.json.genie.ts",
|
|
117
|
+
"warning": "DO NOT EDIT - changes will be overwritten",
|
|
118
|
+
"workspaceClosureDirs": [
|
|
119
|
+
"packages/@livestore/utils"
|
|
120
|
+
]
|
|
106
121
|
},
|
|
107
|
-
"react-native": "./dist/index.js",
|
|
108
122
|
"scripts": {
|
|
109
123
|
"test": "vitest"
|
|
110
124
|
}
|
package/src/NoopTracer.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/** biome-ignore-all lint/complexity/noArguments: using arguments is fine here */
|
|
2
|
+
|
|
2
3
|
import type * as otel from '@opentelemetry/api'
|
|
3
4
|
|
|
5
|
+
import { cuid } from '@livestore/utils/cuid'
|
|
6
|
+
|
|
4
7
|
export const makeNoopSpan = () => {
|
|
5
|
-
const performanceStartTime
|
|
8
|
+
const performanceStartTime = performance.now()
|
|
6
9
|
|
|
7
|
-
const
|
|
10
|
+
const spanImpl = {
|
|
8
11
|
_performanceStartTime: performanceStartTime,
|
|
9
12
|
setAttribute: () => null,
|
|
10
13
|
setAttributes: () => null,
|
|
@@ -14,25 +17,27 @@ export const makeNoopSpan = () => {
|
|
|
14
17
|
updateName: () => null,
|
|
15
18
|
recordException: () => null,
|
|
16
19
|
end: () => {
|
|
17
|
-
const endTime
|
|
20
|
+
const endTime = performance.now()
|
|
18
21
|
const duration = endTime - performanceStartTime
|
|
19
22
|
const durationSecs = duration / 1000
|
|
20
23
|
const durationRestNs = (duration % 1000) * 1_000_000
|
|
21
|
-
|
|
24
|
+
spanImpl._duration = [durationSecs, durationRestNs] as [number, number]
|
|
22
25
|
},
|
|
23
26
|
spanContext: () => {
|
|
24
27
|
return {
|
|
25
|
-
traceId: `livestore-noop-trace-id${
|
|
26
|
-
spanId: `livestore-noop-span-id${
|
|
28
|
+
traceId: `livestore-noop-trace-id${cuid()}`,
|
|
29
|
+
spanId: `livestore-noop-span-id${cuid()}`,
|
|
27
30
|
}
|
|
28
31
|
},
|
|
29
|
-
_duration: [0, 0],
|
|
30
|
-
}
|
|
32
|
+
_duration: [0, 0] as [number, number],
|
|
33
|
+
}
|
|
31
34
|
|
|
32
|
-
|
|
35
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- noop otel.Span implementation; only implements the subset needed by LiveStore
|
|
36
|
+
return spanImpl as unknown as otel.Span
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
export const makeNoopTracer = () => {
|
|
40
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- noop otel.Tracer implementation; only implements the subset needed by LiveStore
|
|
36
41
|
return new NoopTracer() as unknown as otel.Tracer
|
|
37
42
|
}
|
|
38
43
|
|
|
@@ -64,13 +69,19 @@ export class NoopTracer {
|
|
|
64
69
|
if (arguments.length < 2) {
|
|
65
70
|
return
|
|
66
71
|
} else if (arguments.length === 2) {
|
|
72
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 2 args, arg2 is the callback
|
|
67
73
|
fn = arg2 as F
|
|
68
74
|
} else if (arguments.length === 3) {
|
|
75
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 3 args, arg2 is SpanOptions
|
|
69
76
|
_opts = arg2 as otel.SpanOptions | undefined
|
|
77
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 3 args, arg3 is the callback
|
|
70
78
|
fn = arg3 as F
|
|
71
79
|
} else {
|
|
80
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg2 is SpanOptions
|
|
72
81
|
_opts = arg2 as otel.SpanOptions | undefined
|
|
82
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg3 is Context
|
|
73
83
|
_ctx = arg3 as otel.Context | undefined
|
|
84
|
+
// oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg4 is the callback
|
|
74
85
|
fn = arg4 as F
|
|
75
86
|
}
|
|
76
87
|
|
package/src/binary.ts
CHANGED
|
@@ -35,7 +35,7 @@ export const isUint8ArrayBuffer = (array: Uint8Array): array is Uint8Array<Array
|
|
|
35
35
|
* Safer alternative to type assertions.
|
|
36
36
|
*/
|
|
37
37
|
export const toUint8ArrayBuffer = (array: Uint8Array): Uint8Array<ArrayBuffer> => {
|
|
38
|
-
if (isUint8ArrayBuffer(array)) {
|
|
38
|
+
if (isUint8ArrayBuffer(array) === true) {
|
|
39
39
|
return array
|
|
40
40
|
}
|
|
41
41
|
// Copy to ensure ArrayBuffer backing
|
package/src/browser/Opfs/Opfs.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
2
|
|
|
3
3
|
import { Effect, Option, Schema, Stream } from 'effect'
|
|
4
|
+
|
|
4
5
|
import * as WebError from '../WebError.ts'
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -102,9 +103,16 @@ export class Opfs extends Effect.Service<Opfs>()('@livestore/utils/Opfs', {
|
|
|
102
103
|
*
|
|
103
104
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/values | MDN Reference}
|
|
104
105
|
*/
|
|
105
|
-
const values = (
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
const values = (
|
|
107
|
+
directory: FileSystemDirectoryHandle,
|
|
108
|
+
): Stream.Stream<
|
|
109
|
+
FileSystemHandle,
|
|
110
|
+
WebError.NotAllowedError | WebError.NotFoundError | WebError.UnknownError,
|
|
111
|
+
never
|
|
112
|
+
> =>
|
|
113
|
+
Stream.fromAsyncIterable(
|
|
114
|
+
(directory as unknown as { values(): AsyncIterable<FileSystemHandle> }).values(),
|
|
115
|
+
(u) => WebError.parseWebError(u, [WebError.NotAllowedError, WebError.NotFoundError]),
|
|
108
116
|
)
|
|
109
117
|
|
|
110
118
|
/**
|
|
@@ -422,7 +430,7 @@ export const noopOpfs = new Opfs({
|
|
|
422
430
|
/**
|
|
423
431
|
* Error raised when OPFS operations fail.
|
|
424
432
|
*/
|
|
425
|
-
export class OpfsError extends Schema.TaggedError<OpfsError>(
|
|
433
|
+
export class OpfsError extends Schema.TaggedError<OpfsError>('~@livestore/utils/OpfsError')('OpfsError', {
|
|
426
434
|
message: Schema.String,
|
|
427
435
|
cause: Schema.optional(Schema.Defect),
|
|
428
436
|
}) {}
|