@livestore/utils 0.4.0-dev.9 → 0.5.0-dev.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 +7 -8
- package/dist/NoopTracer.d.ts.map +1 -1
- package/dist/NoopTracer.js +13 -15
- package/dist/NoopTracer.js.map +1 -1
- package/dist/NoopTracer.test.d.ts +2 -0
- package/dist/NoopTracer.test.d.ts.map +1 -0
- package/dist/NoopTracer.test.js +17 -0
- package/dist/NoopTracer.test.js.map +1 -0
- package/dist/binary.js +1 -1
- package/dist/binary.js.map +1 -1
- package/dist/browser/Opfs/Opfs.d.ts +201 -0
- package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
- package/dist/browser/Opfs/Opfs.js +170 -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 +95 -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 +227 -0
- package/dist/browser/Opfs/utils.js.map +1 -0
- package/dist/browser/QuotaExceededError.d.ts +60 -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 +87 -0
- package/dist/browser/WebChannelBrowser.js.map +1 -0
- package/dist/browser/WebError.d.ts +389 -0
- package/dist/browser/WebError.d.ts.map +1 -0
- package/dist/browser/WebError.js +423 -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 +21 -21
- 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/Debug.d.ts +38 -0
- package/dist/effect/Debug.d.ts.map +1 -0
- package/dist/effect/Debug.js +350 -0
- package/dist/effect/Debug.js.map +1 -0
- package/dist/effect/Effect.d.ts +91 -22
- package/dist/effect/Effect.d.ts.map +1 -1
- package/dist/effect/Effect.js +126 -38
- package/dist/effect/Effect.js.map +1 -1
- package/dist/effect/Effect.test.d.ts +2 -0
- package/dist/effect/Effect.test.d.ts.map +1 -0
- package/dist/effect/Effect.test.js +72 -0
- package/dist/effect/Effect.test.js.map +1 -0
- package/dist/effect/Error.d.ts +4 -6
- package/dist/effect/Error.d.ts.map +1 -1
- package/dist/effect/Error.js +1 -1
- package/dist/effect/Error.js.map +1 -1
- package/dist/effect/Logger.d.ts +0 -6
- package/dist/effect/Logger.d.ts.map +1 -1
- package/dist/effect/Logger.js +0 -32
- package/dist/effect/Logger.js.map +1 -1
- package/dist/effect/OtelTracer.d.ts +1 -1
- package/dist/effect/OtelTracer.d.ts.map +1 -1
- package/dist/effect/OtelTracer.js +2 -3
- package/dist/effect/OtelTracer.js.map +1 -1
- package/dist/effect/RpcClient.d.ts +7 -7
- package/dist/effect/RpcClient.d.ts.map +1 -1
- package/dist/effect/RpcClient.js +74 -54
- package/dist/effect/RpcClient.js.map +1 -1
- package/dist/effect/Schedule.d.ts +1 -1
- package/dist/effect/Schedule.d.ts.map +1 -1
- package/dist/effect/Schedule.js +2 -2
- package/dist/effect/Schedule.js.map +1 -1
- package/dist/effect/Schema/debug-diff.d.ts +1 -1
- package/dist/effect/Schema/debug-diff.d.ts.map +1 -1
- package/dist/effect/Schema/debug-diff.js +9 -10
- package/dist/effect/Schema/debug-diff.js.map +1 -1
- package/dist/effect/Schema/debug-diff.test.js +7 -4
- package/dist/effect/Schema/debug-diff.test.js.map +1 -1
- package/dist/effect/Schema/index.d.ts +28 -18
- package/dist/effect/Schema/index.d.ts.map +1 -1
- package/dist/effect/Schema/index.js +55 -28
- package/dist/effect/Schema/index.js.map +1 -1
- package/dist/effect/Stream.d.ts +13 -5
- package/dist/effect/Stream.d.ts.map +1 -1
- package/dist/effect/Stream.js +19 -12
- package/dist/effect/Stream.js.map +1 -1
- package/dist/effect/Stream.test.js +12 -12
- package/dist/effect/Stream.test.js.map +1 -1
- package/dist/effect/Subscribable.d.ts +9 -3
- package/dist/effect/Subscribable.d.ts.map +1 -1
- package/dist/effect/Subscribable.js +20 -35
- package/dist/effect/Subscribable.js.map +1 -1
- package/dist/effect/SubscriptionRef.d.ts +5 -6
- package/dist/effect/SubscriptionRef.d.ts.map +1 -1
- package/dist/effect/SubscriptionRef.js +2 -3
- package/dist/effect/SubscriptionRef.js.map +1 -1
- package/dist/effect/TaskTracing.d.ts +1 -1
- package/dist/effect/TaskTracing.d.ts.map +1 -1
- package/dist/effect/TaskTracing.js +12 -16
- package/dist/effect/TaskTracing.js.map +1 -1
- package/dist/effect/WebChannel/WebChannel.d.ts +11 -30
- package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
- package/dist/effect/WebChannel/WebChannel.js +70 -125
- package/dist/effect/WebChannel/WebChannel.js.map +1 -1
- package/dist/effect/WebChannel/WebChannel.test.js +16 -16
- package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
- package/dist/effect/WebChannel/broadcastChannelWithAck.d.ts.map +1 -1
- package/dist/effect/WebChannel/broadcastChannelWithAck.js +20 -13
- package/dist/effect/WebChannel/broadcastChannelWithAck.js.map +1 -1
- package/dist/effect/WebChannel/common.d.ts +17 -18
- package/dist/effect/WebChannel/common.d.ts.map +1 -1
- package/dist/effect/WebChannel/common.js +7 -7
- package/dist/effect/WebChannel/common.js.map +1 -1
- package/dist/effect/WebSocket.d.ts +4 -6
- package/dist/effect/WebSocket.d.ts.map +1 -1
- package/dist/effect/WebSocket.js +17 -17
- package/dist/effect/WebSocket.js.map +1 -1
- package/dist/effect/WebSocket.test.js +2 -2
- package/dist/effect/WebSocket.test.js.map +1 -1
- package/dist/effect/mod.browser-build.test.d.ts +2 -0
- package/dist/effect/mod.browser-build.test.d.ts.map +1 -0
- package/dist/effect/mod.browser-build.test.js +18 -0
- package/dist/effect/mod.browser-build.test.js.map +1 -0
- package/dist/effect/mod.d.ts +30 -0
- package/dist/effect/mod.d.ts.map +1 -0
- package/dist/effect/mod.js +30 -0
- 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 +79 -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.d.ts.map +1 -1
- package/dist/fast-deep-equal.js +9 -10
- 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/misc.d.ts +9 -1
- package/dist/misc.d.ts.map +1 -1
- package/dist/misc.js +12 -4
- package/dist/misc.js.map +1 -1
- package/dist/mod.d.ts +177 -20
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +159 -22
- package/dist/mod.js.map +1 -1
- package/dist/node/mod.d.ts +45 -6
- package/dist/node/mod.d.ts.map +1 -1
- package/dist/node/mod.js +51 -9
- package/dist/node/mod.js.map +1 -1
- package/dist/object/index.d.ts +0 -9
- package/dist/object/index.d.ts.map +1 -1
- package/dist/object/index.js +0 -9
- package/dist/object/index.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/string.d.ts +0 -2
- package/dist/string.d.ts.map +1 -1
- package/dist/string.js +0 -2
- package/dist/string.js.map +1 -1
- package/package.json +61 -55
- package/src/NoopTracer.test.ts +20 -0
- package/src/NoopTracer.ts +28 -37
- package/src/binary.ts +1 -1
- package/src/browser/Opfs/Opfs.ts +463 -0
- package/src/browser/Opfs/debug-utils.ts +154 -0
- package/src/browser/Opfs/mod.ts +3 -0
- package/src/browser/Opfs/utils.ts +297 -0
- package/src/browser/QuotaExceededError.ts +60 -0
- package/src/browser/WebChannelBrowser.ts +145 -0
- package/src/browser/WebError.test.ts +66 -0
- package/src/browser/WebError.ts +587 -0
- package/src/{effect → browser}/WebLock.ts +27 -28
- 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/Debug.ts +477 -0
- package/src/effect/Effect.test.ts +117 -0
- package/src/effect/Effect.ts +174 -79
- package/src/effect/Error.ts +1 -1
- package/src/effect/Logger.ts +0 -48
- package/src/effect/OtelTracer.ts +2 -3
- package/src/effect/RpcClient.ts +85 -65
- package/src/effect/Schedule.ts +4 -5
- package/src/effect/Schema/debug-diff.test.ts +7 -7
- package/src/effect/Schema/debug-diff.ts +11 -12
- package/src/effect/Schema/index.ts +121 -57
- package/src/effect/Stream.test.ts +14 -13
- package/src/effect/Stream.ts +23 -16
- package/src/effect/Subscribable.ts +31 -42
- package/src/effect/SubscriptionRef.ts +9 -13
- package/src/effect/TaskTracing.ts +13 -16
- package/src/effect/WebChannel/WebChannel.test.ts +24 -24
- package/src/effect/WebChannel/WebChannel.ts +102 -192
- package/src/effect/WebChannel/broadcastChannelWithAck.ts +25 -15
- package/src/effect/WebChannel/common.ts +16 -17
- package/src/effect/WebSocket.test.ts +2 -2
- package/src/effect/WebSocket.ts +20 -16
- package/src/effect/mod.browser-build.test.ts +19 -0
- package/src/effect/{index.ts → mod.ts} +43 -69
- package/src/effect/spanEvent.test.ts +92 -0
- package/src/effect/spanEvent.ts +17 -0
- package/src/env.ts +2 -1
- package/src/fast-deep-equal.ts +9 -10
- package/src/global.ts +4 -2
- package/src/misc.ts +13 -5
- package/src/mod.ts +188 -32
- package/src/node/mod.ts +57 -12
- package/src/object/index.ts +0 -24
- 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/string.ts +0 -3
- package/dist/.tsbuildinfo.json +0 -1
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js.map +0 -1
- package/dist/effect/BucketQueue.d.ts +0 -20
- package/dist/effect/BucketQueue.d.ts.map +0 -1
- package/dist/effect/BucketQueue.js +0 -34
- package/dist/effect/BucketQueue.js.map +0 -1
- package/dist/effect/Scheduler.d.ts +0 -4
- package/dist/effect/Scheduler.d.ts.map +0 -1
- package/dist/effect/Scheduler.js +0 -9
- package/dist/effect/Scheduler.js.map +0 -1
- package/dist/effect/ServiceContext.d.ts +0 -37
- package/dist/effect/ServiceContext.d.ts.map +0 -1
- package/dist/effect/ServiceContext.js +0 -55
- package/dist/effect/ServiceContext.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 +0 -32
- package/dist/effect/index.d.ts.map +0 -1
- package/dist/effect/index.js +0 -35
- package/dist/effect/index.js.map +0 -1
- package/dist/guards.d.ts +0 -6
- package/dist/guards.d.ts.map +0 -1
- package/dist/guards.js +0 -6
- package/dist/guards.js.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts +0 -4
- package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunner.js +0 -122
- package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts +0 -2
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +0 -218
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +0 -84
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js +0 -68
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.d.ts +0 -2
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.d.ts.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +0 -52
- package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts +0 -23
- package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +0 -1
- package/dist/node/ChildProcessRunner/ChildProcessWorker.js +0 -138
- package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +0 -1
- package/dist/object/omit.d.ts +0 -3
- package/dist/object/omit.d.ts.map +0 -1
- package/dist/object/omit.js +0 -14
- package/dist/object/omit.js.map +0 -1
- package/dist/object/pick.d.ts +0 -14
- package/dist/object/pick.d.ts.map +0 -1
- package/dist/object/pick.js +0 -17
- package/dist/object/pick.js.map +0 -1
- package/dist/time.d.ts +0 -12
- package/dist/time.d.ts.map +0 -1
- package/dist/time.js +0 -22
- package/dist/time.js.map +0 -1
- package/src/effect/BucketQueue.ts +0 -49
- package/src/effect/Scheduler.ts +0 -13
- package/src/effect/ServiceContext.ts +0 -108
- package/src/guards.ts +0 -8
- package/src/node/ChildProcessRunner/ChildProcessRunner.ts +0 -135
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +0 -302
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/schema.ts +0 -78
- package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +0 -66
- package/src/node/ChildProcessRunner/ChildProcessWorker.ts +0 -168
- package/src/object/omit.ts +0 -17
- package/src/object/pick.ts +0 -27
- package/src/time.ts +0 -25
- /package/dist/{effect → browser}/WebLock.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebChannel.test.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/WebChannel.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"WebChannel.test.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/WebChannel.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,KAAK,UAAU,MAAM,oCAAoC,CAAA;AAEhE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACjC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,MAAsC,CAAA;YAClE,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,MAAsC,CAAA;YAElE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;oBACjD,YAAY,EAAE,OAAO;oBACrB,UAAU,EAAE,OAAO;oBACnB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,SAAS,CACjB,CAAA;gBAED,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;oBACjD,YAAY,EAAE,OAAO;oBACrB,UAAU,EAAE,OAAO;oBACnB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,SAAS,CACjB,CAAA;gBAED,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;QACzE,CAAC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CACnD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC,MAAsC,CAAA;YAEjE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;oBACjD,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,MAAM;oBAClB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,SAAS,CACjB,CAAA;gBAED,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;oBACjD,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,MAAM;oBAClB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,SAAS,CACjB,CAAA;gBAED,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAEzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;QACzE,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcastChannelWithAck.d.ts","sourceRoot":"","sources":["../../../src/effect/WebChannel/broadcastChannelWithAck.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"broadcastChannelWithAck.d.ts","sourceRoot":"","sources":["../../../src/effect/WebChannel/broadcastChannelWithAck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,EAAU,MAAM,QAAQ,CAAA;AAEvF,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAwB1D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,uCAG3F;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;CAC1E,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAiGjE,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Deferred, Exit, Predicate, Queue,
|
|
1
|
+
import { Deferred, Exit, Filter, Latch, Predicate, Queue, Scope, Stream } from 'effect';
|
|
2
2
|
import * as Effect from "../Effect.js";
|
|
3
|
+
import * as Schema from "../Schema/index.js";
|
|
3
4
|
import { listenToDebugPing, mapSchema, WebChannelSymbol } from "./common.js";
|
|
4
5
|
const ConnectMessage = Schema.TaggedStruct('ConnectMessage', {
|
|
5
6
|
from: Schema.String,
|
|
@@ -16,33 +17,40 @@ const PayloadMessage = Schema.TaggedStruct('PayloadMessage', {
|
|
|
16
17
|
to: Schema.String,
|
|
17
18
|
payload: Schema.Any,
|
|
18
19
|
});
|
|
19
|
-
const Message = Schema.Union(ConnectMessage, ConnectAckMessage, DisconnectMessage, PayloadMessage);
|
|
20
|
+
const Message = Schema.Union([ConnectMessage, ConnectAckMessage, DisconnectMessage, PayloadMessage]);
|
|
20
21
|
/**
|
|
21
22
|
* Same as `broadcastChannel`, but with a queue in between to guarantee message delivery and meant
|
|
22
23
|
* for 1:1 connections.
|
|
23
24
|
*/
|
|
24
25
|
export const broadcastChannelWithAck = ({ channelName, schema: inputSchema, }) => Effect.scopeWithCloseable((scope) => Effect.gen(function* () {
|
|
25
26
|
const channel = new BroadcastChannel(channelName);
|
|
26
|
-
|
|
27
|
+
// BroadcastChannel messages are dropped unless a listener is already registered. Effect v4
|
|
28
|
+
// makes stream startup ordering explicit, so buffer events from channel construction time.
|
|
29
|
+
const messageQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
27
30
|
const connectionId = crypto.randomUUID();
|
|
28
31
|
const schema = mapSchema(inputSchema);
|
|
29
32
|
const peerIdRef = { current: undefined };
|
|
30
|
-
const connectedLatch = yield*
|
|
33
|
+
const connectedLatch = yield* Latch.make(false);
|
|
31
34
|
const supportsTransferables = false;
|
|
32
35
|
const postMessage = (msg) => channel.postMessage(Schema.encodeSync(Message)(msg));
|
|
36
|
+
const handler = (event) => {
|
|
37
|
+
Queue.offerUnsafe(messageQueue, event);
|
|
38
|
+
};
|
|
39
|
+
channel.addEventListener('message', handler);
|
|
40
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => channel.removeEventListener('message', handler)));
|
|
33
41
|
const send = (message) => Effect.gen(function* () {
|
|
34
42
|
yield* connectedLatch.await;
|
|
35
|
-
const payload = yield* Schema.
|
|
43
|
+
const payload = yield* Schema.encodeEffect(schema.send)(message);
|
|
36
44
|
postMessage(PayloadMessage.make({ from: connectionId, to: peerIdRef.current, payload }));
|
|
37
45
|
});
|
|
38
|
-
const listen = Stream.
|
|
46
|
+
const listen = Stream.fromQueue(messageQueue).pipe(Stream.map(({ data }) => data), Stream.filterMap(Filter.fromPredicateOption(Schema.decodeUnknownOption(Message))), Stream.mapEffect((data) => Effect.gen(function* () {
|
|
39
47
|
switch (data._tag) {
|
|
40
48
|
// Case: other side sends connect message (because otherside wasn't yet online when this side send their connect message)
|
|
41
49
|
case 'ConnectMessage': {
|
|
42
50
|
peerIdRef.current = data.from;
|
|
43
51
|
postMessage(ConnectAckMessage.make({ from: connectionId, to: data.from }));
|
|
44
52
|
yield* connectedLatch.open;
|
|
45
|
-
|
|
53
|
+
return undefined;
|
|
46
54
|
}
|
|
47
55
|
// Case: other side sends connect-ack message (because otherside was already online when this side connected)
|
|
48
56
|
case 'ConnectAckMessage': {
|
|
@@ -50,7 +58,7 @@ export const broadcastChannelWithAck = ({ channelName, schema: inputSchema, }) =
|
|
|
50
58
|
peerIdRef.current = data.from;
|
|
51
59
|
yield* connectedLatch.open;
|
|
52
60
|
}
|
|
53
|
-
|
|
61
|
+
return undefined;
|
|
54
62
|
}
|
|
55
63
|
case 'DisconnectMessage': {
|
|
56
64
|
if (data.from === peerIdRef.current) {
|
|
@@ -58,13 +66,13 @@ export const broadcastChannelWithAck = ({ channelName, schema: inputSchema, }) =
|
|
|
58
66
|
yield* connectedLatch.close;
|
|
59
67
|
yield* establishConnection;
|
|
60
68
|
}
|
|
61
|
-
|
|
69
|
+
return undefined;
|
|
62
70
|
}
|
|
63
71
|
case 'PayloadMessage': {
|
|
64
72
|
if (data.to === connectionId) {
|
|
65
|
-
return Schema.
|
|
73
|
+
return Schema.decodeResult(schema.listen)(data.payload);
|
|
66
74
|
}
|
|
67
|
-
|
|
75
|
+
return undefined;
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
})), Stream.filter(Predicate.isNotUndefined), listenToDebugPing(channelName));
|
|
@@ -75,9 +83,8 @@ export const broadcastChannelWithAck = ({ channelName, schema: inputSchema, }) =
|
|
|
75
83
|
yield* Effect.addFinalizer(() => Effect.gen(function* () {
|
|
76
84
|
postMessage(DisconnectMessage.make({ from: connectionId }));
|
|
77
85
|
channel.close();
|
|
78
|
-
yield* Queue.shutdown(messageQueue);
|
|
79
86
|
}));
|
|
80
|
-
const closedDeferred = yield* Deferred.make()
|
|
87
|
+
const closedDeferred = yield* Effect.acquireRelease(Deferred.make(), Deferred.done(Exit.void));
|
|
81
88
|
return {
|
|
82
89
|
[WebChannelSymbol]: WebChannelSymbol,
|
|
83
90
|
send,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcastChannelWithAck.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/broadcastChannelWithAck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"broadcastChannelWithAck.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/broadcastChannelWithAck.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,43 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { Effect, Schema, Stream } from 'effect';
|
|
1
|
+
import { type Deferred, Effect, Result, Schema, Stream } from 'effect';
|
|
3
2
|
export declare const WebChannelSymbol: unique symbol;
|
|
4
3
|
export type WebChannelSymbol = typeof WebChannelSymbol;
|
|
5
4
|
export declare const isWebChannel: <MsgListen, MsgSend>(value: unknown) => value is WebChannel<MsgListen, MsgSend>;
|
|
6
5
|
export interface WebChannel<MsgListen, MsgSend, E = never> {
|
|
7
6
|
readonly [WebChannelSymbol]: unknown;
|
|
8
|
-
send: (a: MsgSend) => Effect.Effect<void,
|
|
9
|
-
listen: Stream.Stream<
|
|
7
|
+
send: (a: MsgSend) => Effect.Effect<void, Schema.SchemaError | E>;
|
|
8
|
+
listen: Stream.Stream<Result.Result<MsgListen, Schema.SchemaError>, E>;
|
|
10
9
|
supportsTransferables: boolean;
|
|
11
10
|
closedDeferred: Deferred.Deferred<void>;
|
|
12
11
|
shutdown: Effect.Effect<void>;
|
|
13
12
|
schema: {
|
|
14
|
-
listen: Schema.
|
|
15
|
-
send: Schema.
|
|
13
|
+
listen: Schema.Codec<MsgListen, any>;
|
|
14
|
+
send: Schema.Codec<MsgSend, any>;
|
|
16
15
|
};
|
|
17
|
-
debugInfo?: Record<string, any
|
|
16
|
+
debugInfo?: Record<string, any> | undefined;
|
|
18
17
|
}
|
|
19
18
|
export declare const DebugPingMessage: Schema.TaggedStruct<"WebChannel.DebugPing", {
|
|
20
|
-
message:
|
|
21
|
-
payload: Schema.optional<
|
|
19
|
+
readonly message: Schema.String;
|
|
20
|
+
readonly payload: Schema.optional<Schema.String>;
|
|
22
21
|
}>;
|
|
23
22
|
export declare const WebChannelPing: Schema.TaggedStruct<"WebChannel.Ping", {
|
|
24
|
-
requestId:
|
|
23
|
+
readonly requestId: Schema.String;
|
|
25
24
|
}>;
|
|
26
25
|
export declare const WebChannelPong: Schema.TaggedStruct<"WebChannel.Pong", {
|
|
27
|
-
requestId:
|
|
26
|
+
readonly requestId: Schema.String;
|
|
28
27
|
}>;
|
|
29
|
-
export declare const WebChannelHeartbeat: Schema.Union<[Schema.TaggedStruct<"WebChannel.Ping", {
|
|
30
|
-
requestId:
|
|
28
|
+
export declare const WebChannelHeartbeat: Schema.Union<readonly [Schema.TaggedStruct<"WebChannel.Ping", {
|
|
29
|
+
readonly requestId: Schema.String;
|
|
31
30
|
}>, Schema.TaggedStruct<"WebChannel.Pong", {
|
|
32
|
-
requestId:
|
|
31
|
+
readonly requestId: Schema.String;
|
|
33
32
|
}>]>;
|
|
34
33
|
type WebChannelMessages = typeof DebugPingMessage.Type | typeof WebChannelPing.Type | typeof WebChannelPong.Type;
|
|
35
34
|
export declare const schemaWithWebChannelMessages: <MsgListen, MsgSend>(schema: OutputSchema<MsgListen, MsgSend, any, any>) => OutputSchema<MsgListen | WebChannelMessages, MsgSend | WebChannelMessages, any, any>;
|
|
36
|
-
export type InputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded> = Schema.
|
|
35
|
+
export type InputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded> = Schema.Codec<MsgListen | MsgSend, MsgListenEncoded | MsgSendEncoded> | OutputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded>;
|
|
37
36
|
export type OutputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded> = {
|
|
38
|
-
listen: Schema.
|
|
39
|
-
send: Schema.
|
|
37
|
+
listen: Schema.Codec<MsgListen, MsgListenEncoded>;
|
|
38
|
+
send: Schema.Codec<MsgSend, MsgSendEncoded>;
|
|
40
39
|
};
|
|
41
40
|
export declare const mapSchema: <MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded>(schema: InputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded>) => OutputSchema<MsgListen, MsgSend, MsgListenEncoded, MsgSendEncoded>;
|
|
42
|
-
export declare const listenToDebugPing: (channelName: string) => <MsgListen>(stream: Stream.Stream<
|
|
41
|
+
export declare const listenToDebugPing: (channelName: string) => <MsgListen>(stream: Stream.Stream<Result.Result<MsgListen, Schema.SchemaError>>) => Stream.Stream<Result.Result<MsgListen, Schema.SchemaError>>;
|
|
43
42
|
export {};
|
|
44
43
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/effect/WebChannel/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/effect/WebChannel/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Predicate, Schema, Stream } from 'effect';
|
|
1
|
+
import { Effect, Predicate, Result, Schema, Stream } from 'effect';
|
|
2
2
|
export const WebChannelSymbol = Symbol('WebChannel');
|
|
3
3
|
export const isWebChannel = (value) => typeof value === 'object' && value !== null && Predicate.hasProperty(value, WebChannelSymbol);
|
|
4
4
|
export const DebugPingMessage = Schema.TaggedStruct('WebChannel.DebugPing', {
|
|
@@ -11,17 +11,17 @@ export const WebChannelPing = Schema.TaggedStruct('WebChannel.Ping', {
|
|
|
11
11
|
export const WebChannelPong = Schema.TaggedStruct('WebChannel.Pong', {
|
|
12
12
|
requestId: Schema.String,
|
|
13
13
|
});
|
|
14
|
-
export const WebChannelHeartbeat = Schema.Union(WebChannelPing, WebChannelPong);
|
|
14
|
+
export const WebChannelHeartbeat = Schema.Union([WebChannelPing, WebChannelPong]);
|
|
15
15
|
export const schemaWithWebChannelMessages = (schema) => ({
|
|
16
|
-
send: Schema.Union(schema.send, DebugPingMessage, WebChannelPing, WebChannelPong),
|
|
17
|
-
listen: Schema.Union(schema.listen, DebugPingMessage, WebChannelPing, WebChannelPong),
|
|
16
|
+
send: Schema.Union([schema.send, DebugPingMessage, WebChannelPing, WebChannelPong]),
|
|
17
|
+
listen: Schema.Union([schema.listen, DebugPingMessage, WebChannelPing, WebChannelPong]),
|
|
18
18
|
});
|
|
19
|
-
export const mapSchema = (schema) => Predicate.hasProperty(schema, 'send') && Predicate.hasProperty(schema, 'listen')
|
|
19
|
+
export const mapSchema = (schema) => Predicate.hasProperty(schema, 'send') === true && Predicate.hasProperty(schema, 'listen') === true
|
|
20
20
|
? schemaWithWebChannelMessages(schema)
|
|
21
21
|
: schemaWithWebChannelMessages({ send: schema, listen: schema });
|
|
22
22
|
export const listenToDebugPing = (channelName) => (stream) => stream.pipe(Stream.filterEffect(Effect.fn(function* (msg) {
|
|
23
|
-
if (msg
|
|
24
|
-
yield* Effect.logDebug(`WebChannel:ping [${channelName}] ${msg.
|
|
23
|
+
if (Result.isSuccess(msg) === true && Schema.is(DebugPingMessage)(msg.success) === true) {
|
|
24
|
+
yield* Effect.logDebug(`WebChannel:ping [${channelName}] ${msg.success.message}`, msg.success.payload);
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
27
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/effect/WebChannel/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AAGpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAqB,KAAc,EAA2C,EAAE,CAC1G,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAa/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,sBAAsB,EAAE;IAC1E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACxC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;IACnE,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;IACnE,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAA;AAIjF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,MAAkD,EACoC,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;CACxF,CAAC,CAAA;AAWF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyE,EACL,EAAE,CACtE,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI;IAChG,CAAC,CAAE,4BAA4B,CAAC,MAAM,CAAS;IAC/C,CAAC,CAAE,4BAA4B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAS,CAAA;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,WAAmB,EAAE,EAAE,CACxB,CACE,MAAmE,EACN,EAAE,CAC/D,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,YAAY,CACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG;IACtB,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACxF,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtG,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CACH,CACF,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { HttpClient } from '@effect/platform';
|
|
2
1
|
import type { Schedule, Scope } from 'effect';
|
|
3
2
|
import { Effect, Schema } from 'effect';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}>;
|
|
3
|
+
import { HttpClient } from 'effect/unstable/http';
|
|
4
|
+
declare const WebSocketError_base: Schema.Class<WebSocketError, Schema.TaggedStruct<"WebSocketError", {
|
|
5
|
+
readonly cause: Schema.Defect;
|
|
6
|
+
}>, import("effect/Cause").YieldableError>;
|
|
9
7
|
export declare class WebSocketError extends WebSocketError_base {
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../src/effect/WebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../src/effect/WebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;;;;AAEjD,qBAAa,cAAe,SAAQ,mBAKnC;CAAG;AAOJ;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,qBAG3B;IACD,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;CAC/C,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CA0EvF,CAAA"}
|
package/dist/effect/WebSocket.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HttpClient } from '@effect/platform';
|
|
2
1
|
import { Effect, Exit, identity, Schema } from 'effect';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { HttpClient } from 'effect/unstable/http';
|
|
3
|
+
export class WebSocketError extends Schema.TaggedError('~@livestore/utils/WebSocketError')('WebSocketError', {
|
|
4
|
+
cause: Schema.Defect(),
|
|
5
5
|
}) {
|
|
6
6
|
}
|
|
7
7
|
// TODO refactor using Effect socket implementation
|
|
@@ -14,7 +14,7 @@ export class WebSocketError extends Schema.TaggedError()('WebSocketError', {
|
|
|
14
14
|
*/
|
|
15
15
|
export const makeWebSocket = ({ url, reconnect, }) => Effect.gen(function* () {
|
|
16
16
|
yield* validateUrl(url);
|
|
17
|
-
const socket = yield* Effect.
|
|
17
|
+
const socket = yield* Effect.callback((cb, signal) => {
|
|
18
18
|
try {
|
|
19
19
|
const socket = new globalThis.WebSocket(url);
|
|
20
20
|
if (socket.readyState === globalThis.WebSocket.OPEN) {
|
|
@@ -37,7 +37,7 @@ export const makeWebSocket = ({ url, reconnect, }) => Effect.gen(function* () {
|
|
|
37
37
|
catch (error) {
|
|
38
38
|
cb(Effect.fail(new WebSocketError({ cause: error })));
|
|
39
39
|
}
|
|
40
|
-
}).pipe(Effect.tapErrorTag('WebSocketError', () => tryLogWebsocketConnectError(url)), reconnect ? Effect.retry(reconnect) : identity);
|
|
40
|
+
}).pipe(Effect.tapErrorTag('WebSocketError', () => tryLogWebsocketConnectError(url)), reconnect !== undefined && reconnect !== false ? Effect.retry(reconnect) : identity);
|
|
41
41
|
/**
|
|
42
42
|
* Common WebSocket close codes: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/close
|
|
43
43
|
* 1000: Normal closure
|
|
@@ -52,18 +52,18 @@ export const makeWebSocket = ({ url, reconnect, }) => Effect.gen(function* () {
|
|
|
52
52
|
* 4000-4999: Available for applications
|
|
53
53
|
*/
|
|
54
54
|
yield* Effect.addFinalizer(Effect.fn(function* (exit) {
|
|
55
|
-
try
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
}));
|
|
55
|
+
yield* Effect.try({
|
|
56
|
+
try: () => {
|
|
57
|
+
if (Exit.isFailure(exit) === true) {
|
|
58
|
+
socket.close(3000);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
socket.close(1000);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
catch: (error) => new WebSocketError({ cause: error }),
|
|
65
|
+
});
|
|
66
|
+
}, Effect.orDie));
|
|
67
67
|
return socket;
|
|
68
68
|
});
|
|
69
69
|
const validateUrl = (url) => Effect.try({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../src/effect/WebSocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../src/effect/WebSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { FetchHttpClient } from '@effect/platform';
|
|
2
1
|
import * as Vitest from '@effect/vitest';
|
|
3
2
|
import { Effect, Exit } from 'effect';
|
|
3
|
+
import { FetchHttpClient } from 'effect/unstable/http';
|
|
4
4
|
import { makeWebSocket } from "./WebSocket.js";
|
|
5
5
|
Vitest.describe('WebSocket', () => {
|
|
6
|
-
Vitest.
|
|
6
|
+
Vitest.live('should create a WebSocket connection', Effect.fn(function* () {
|
|
7
7
|
const exit = yield* makeWebSocket({ url: 'ws://localhost:1000' }).pipe(Effect.timeout(500), Effect.exit);
|
|
8
8
|
Vitest.expect(Exit.isFailure(exit)).toBe(true);
|
|
9
9
|
}, Effect.provide(FetchHttpClient.layer)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.test.js","sourceRoot":"","sources":["../../src/effect/WebSocket.test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WebSocket.test.js","sourceRoot":"","sources":["../../src/effect/WebSocket.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IAChC,MAAM,CAAC,IAAI,CACT,sCAAsC,EACtC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACxG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.browser-build.test.d.ts","sourceRoot":"","sources":["../../src/effect/mod.browser-build.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { build } from 'esbuild';
|
|
2
|
+
import { expect, it } from 'vitest';
|
|
3
|
+
it('bundles the Effect facade for browsers without Node builtins', async () => {
|
|
4
|
+
const result = await build({
|
|
5
|
+
bundle: true,
|
|
6
|
+
format: 'esm',
|
|
7
|
+
platform: 'browser',
|
|
8
|
+
stdin: {
|
|
9
|
+
contents: `import { Schema } from './mod.ts'; export const BrowserSchema = Schema.Struct({ value: Schema.String })`,
|
|
10
|
+
loader: 'ts',
|
|
11
|
+
resolveDir: import.meta.dirname,
|
|
12
|
+
sourcefile: 'browser-build-fixture.ts',
|
|
13
|
+
},
|
|
14
|
+
write: false,
|
|
15
|
+
});
|
|
16
|
+
expect(result.outputFiles).toHaveLength(1);
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=mod.browser-build.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.browser-build.test.js","sourceRoot":"","sources":["../../src/effect/mod.browser-build.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEnC,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,yGAAyG;YACnH,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;YAC/B,UAAU,EAAE,0BAA0B;SACvC;QACD,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IAEF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import '../global.ts';
|
|
2
|
+
export { Otlp } from 'effect/unstable/observability';
|
|
3
|
+
export { Msgpack } from 'effect/unstable/encoding';
|
|
4
|
+
export { FetchHttpClient, Headers, HttpEffect, HttpClient, HttpClientError, HttpClientRequest, HttpClientResponse, HttpMiddleware, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, UrlParams, } from 'effect/unstable/http';
|
|
5
|
+
export { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/unstable/httpapi';
|
|
6
|
+
export { KeyValueStore } from 'effect/unstable/persistence';
|
|
7
|
+
export { ChildProcess, ChildProcessSpawner } from 'effect/unstable/process';
|
|
8
|
+
export { Socket } from 'effect/unstable/socket';
|
|
9
|
+
export { Transferable, Worker, WorkerError, WorkerRunner } from 'effect/unstable/workers';
|
|
10
|
+
export { Rpc, RpcClientError, RpcGroup, RpcMessage, RpcMiddleware, RpcSchema, RpcSerialization, RpcServer, RpcTest, RpcWorker, } from 'effect/unstable/rpc';
|
|
11
|
+
export * as StandardSchema from '@standard-schema/spec';
|
|
12
|
+
export { Array as ReadonlyArray, Brand, Cache, Cause, Channel, Chunk, Config, ConfigProvider, Console, Context, Data, Deferred, Duration, Result, Equal, Exit, Fiber, Filter, FileSystem, Terminal, FiberHandle, FiberMap, FiberSet, Formatter, Function, Hash, HashMap, HashSet, Inspectable, identity, Latch, Layer, LogLevel, ManagedRuntime, Match, Metric, MutableHashMap, MutableHashSet, MutableList, Option, Order, Predicate, PrimaryKey, PlatformError, PubSub, pipe, Queue, RcMap, RcRef, Record as ReadonlyRecord, References, Redacted, Ref, Request, Runtime, Scope, ScopedRef, Scheduler, SchemaIssue, SchemaAST, SchemaGetter, SchemaParser, SchemaRepresentation, SchemaTransformation, Semaphore, Sink, Struct, Graph, SynchronizedRef, Tracer, TxQueue, TxRef, Types, } from 'effect';
|
|
13
|
+
export * as FastCheck from 'effect/testing/FastCheck';
|
|
14
|
+
export * as TestClock from 'effect/testing/TestClock';
|
|
15
|
+
export * as TestConsole from 'effect/testing/TestConsole';
|
|
16
|
+
export * as Debug from './Debug.ts';
|
|
17
|
+
export * as Effect from './Effect.ts';
|
|
18
|
+
export * from './Error.ts';
|
|
19
|
+
export * as Logger from './Logger.ts';
|
|
20
|
+
export * as OtelTracer from './OtelTracer.ts';
|
|
21
|
+
export * as RpcClient from './RpcClient.ts';
|
|
22
|
+
export * as Schedule from './Schedule.ts';
|
|
23
|
+
export * as Schema from './Schema/index.ts';
|
|
24
|
+
export * as Stream from './Stream.ts';
|
|
25
|
+
export * as Subscribable from './Subscribable.ts';
|
|
26
|
+
export * as SubscriptionRef from './SubscriptionRef.ts';
|
|
27
|
+
export * as TaskTracing from './TaskTracing.ts';
|
|
28
|
+
export * as WebChannel from './WebChannel/mod.ts';
|
|
29
|
+
export * as WebSocket from './WebSocket.ts';
|
|
30
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/effect/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import "../global.js";
|
|
2
|
+
export { Otlp } from 'effect/unstable/observability';
|
|
3
|
+
export { Msgpack } from 'effect/unstable/encoding';
|
|
4
|
+
export { FetchHttpClient, Headers, HttpEffect, HttpClient, HttpClientError, HttpClientRequest, HttpClientResponse, HttpMiddleware, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, UrlParams, } from 'effect/unstable/http';
|
|
5
|
+
export { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/unstable/httpapi';
|
|
6
|
+
export { KeyValueStore } from 'effect/unstable/persistence';
|
|
7
|
+
export { ChildProcess, ChildProcessSpawner } from 'effect/unstable/process';
|
|
8
|
+
export { Socket } from 'effect/unstable/socket';
|
|
9
|
+
export { Transferable, Worker, WorkerError, WorkerRunner } from 'effect/unstable/workers';
|
|
10
|
+
export { Rpc, RpcClientError, RpcGroup, RpcMessage, RpcMiddleware, RpcSchema, RpcSerialization, RpcServer, RpcTest, RpcWorker, } from 'effect/unstable/rpc';
|
|
11
|
+
export * as StandardSchema from '@standard-schema/spec';
|
|
12
|
+
export { Array as ReadonlyArray, Brand, Cache, Cause, Channel, Chunk, Config, ConfigProvider, Console, Context, Data, Deferred, Duration, Result, Equal, Exit, Fiber, Filter, FileSystem, Terminal, FiberHandle, FiberMap, FiberSet, Formatter, Function, Hash, HashMap, HashSet, Inspectable, identity, Latch, Layer, LogLevel, ManagedRuntime, Match, Metric, MutableHashMap, MutableHashSet, MutableList, Option, Order, Predicate, PrimaryKey, PlatformError, PubSub, pipe, Queue, RcMap, RcRef, Record as ReadonlyRecord, References, Redacted, Ref, Request, Runtime, Scope, ScopedRef, Scheduler, SchemaIssue, SchemaAST, SchemaGetter, SchemaParser, SchemaRepresentation, SchemaTransformation, Semaphore, Sink, Struct, Graph, SynchronizedRef, Tracer, TxQueue, TxRef, Types, } from 'effect';
|
|
13
|
+
export * as FastCheck from 'effect/testing/FastCheck';
|
|
14
|
+
export * as TestClock from 'effect/testing/TestClock';
|
|
15
|
+
export * as TestConsole from 'effect/testing/TestConsole';
|
|
16
|
+
export * as Debug from "./Debug.js";
|
|
17
|
+
export * as Effect from "./Effect.js";
|
|
18
|
+
export * from "./Error.js";
|
|
19
|
+
export * as Logger from "./Logger.js";
|
|
20
|
+
export * as OtelTracer from "./OtelTracer.js";
|
|
21
|
+
export * as RpcClient from "./RpcClient.js";
|
|
22
|
+
export * as Schedule from "./Schedule.js";
|
|
23
|
+
export * as Schema from "./Schema/index.js";
|
|
24
|
+
export * as Stream from "./Stream.js";
|
|
25
|
+
export * as Subscribable from "./Subscribable.js";
|
|
26
|
+
export * as SubscriptionRef from "./SubscriptionRef.js";
|
|
27
|
+
export * as TaskTracing from "./TaskTracing.js";
|
|
28
|
+
export * as WebChannel from "./WebChannel/mod.js";
|
|
29
|
+
export * as WebSocket from "./WebSocket.js";
|
|
30
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/effect/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
|
+
/**
|
|
3
|
+
* Emits a span event on the current Effect span via the tracer logger.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
*
|
|
7
|
+
* Unlike raw `otelSpan.addEvent`, this doesn't require manual span threading —
|
|
8
|
+
* it automatically targets the nearest enclosing `Effect.withSpan`. If no span
|
|
9
|
+
* is in context, the call is a no-op.
|
|
10
|
+
*/
|
|
11
|
+
export declare const spanEvent: (message: any, attributes?: Record<string, unknown>) => Effect.Effect<void, never, never>;
|
|
12
|
+
//# sourceMappingURL=spanEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanEvent.d.ts","sourceRoot":"","sources":["../../src/effect/spanEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,GAAG,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,sCAKzE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Effect, Logger } from 'effect';
|
|
2
|
+
/**
|
|
3
|
+
* Emits a span event on the current Effect span via the tracer logger.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
*
|
|
7
|
+
* Unlike raw `otelSpan.addEvent`, this doesn't require manual span threading —
|
|
8
|
+
* it automatically targets the nearest enclosing `Effect.withSpan`. If no span
|
|
9
|
+
* is in context, the call is a no-op.
|
|
10
|
+
*/
|
|
11
|
+
export const spanEvent = (message, attributes) => Effect.provideService(Effect.log(message).pipe(Effect.annotateLogs(attributes ?? {})), Logger.CurrentLoggers, new Set([Logger.tracerLogger]));
|
|
12
|
+
//# sourceMappingURL=spanEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanEvent.js","sourceRoot":"","sources":["../../src/effect/spanEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAY,EAAE,UAAoC,EAAE,EAAE,CAC9E,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,EAC/D,MAAM,CAAC,cAAc,EACrB,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanEvent.test.d.ts","sourceRoot":"","sources":["../../src/effect/spanEvent.test.ts"],"names":[],"mappings":""}
|