@livestore/utils 0.0.54-dev.3 → 0.0.54-dev.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/.tsbuildinfo.json +1 -1
  2. package/dist/Deferred.d.ts.map +1 -1
  3. package/dist/NoopTracer.d.ts.map +1 -1
  4. package/dist/effect/Effect.d.ts +6 -5
  5. package/dist/effect/Effect.d.ts.map +1 -1
  6. package/dist/effect/Effect.js +47 -15
  7. package/dist/effect/Effect.js.map +1 -1
  8. package/dist/effect/Scheduler.d.ts +4 -0
  9. package/dist/effect/Scheduler.d.ts.map +1 -0
  10. package/dist/effect/Scheduler.js +10 -0
  11. package/dist/effect/Scheduler.js.map +1 -0
  12. package/dist/effect/Schema/debug-diff.d.ts +13 -0
  13. package/dist/effect/Schema/debug-diff.d.ts.map +1 -0
  14. package/dist/effect/Schema/debug-diff.js +51 -0
  15. package/dist/effect/Schema/debug-diff.js.map +1 -0
  16. package/dist/effect/Schema/debug-diff.test.d.ts +2 -0
  17. package/dist/effect/Schema/debug-diff.test.d.ts.map +1 -0
  18. package/dist/effect/Schema/debug-diff.test.js +91 -0
  19. package/dist/effect/Schema/debug-diff.test.js.map +1 -0
  20. package/dist/effect/Schema/index.d.ts +15 -0
  21. package/dist/effect/Schema/index.d.ts.map +1 -0
  22. package/dist/effect/Schema/index.js +46 -0
  23. package/dist/effect/Schema/index.js.map +1 -0
  24. package/dist/effect/ServiceContext.d.ts.map +1 -1
  25. package/dist/effect/Stream.d.ts +2 -0
  26. package/dist/effect/Stream.d.ts.map +1 -1
  27. package/dist/effect/Stream.js +11 -1
  28. package/dist/effect/Stream.js.map +1 -1
  29. package/dist/effect/SubscriptionRef.d.ts +8 -3
  30. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  31. package/dist/effect/SubscriptionRef.js +2 -2
  32. package/dist/effect/SubscriptionRef.js.map +1 -1
  33. package/dist/effect/WebLock.d.ts +5 -1
  34. package/dist/effect/WebLock.d.ts.map +1 -1
  35. package/dist/effect/WebLock.js +42 -11
  36. package/dist/effect/WebLock.js.map +1 -1
  37. package/dist/effect/browser-worker-tmp/BrowserWorker.d.ts +21 -0
  38. package/dist/effect/browser-worker-tmp/BrowserWorker.d.ts.map +1 -0
  39. package/dist/effect/browser-worker-tmp/BrowserWorker.js +17 -0
  40. package/dist/effect/browser-worker-tmp/BrowserWorker.js.map +1 -0
  41. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.d.ts +12 -0
  42. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.d.ts.map +1 -0
  43. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.js +8 -0
  44. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.js.map +1 -0
  45. package/dist/effect/browser-worker-tmp/internal/worker.d.ts +9 -0
  46. package/dist/effect/browser-worker-tmp/internal/worker.d.ts.map +1 -0
  47. package/dist/effect/browser-worker-tmp/internal/worker.js +56 -0
  48. package/dist/effect/browser-worker-tmp/internal/worker.js.map +1 -0
  49. package/dist/effect/browser-worker-tmp/internal/workerRunner.d.ts +5 -0
  50. package/dist/effect/browser-worker-tmp/internal/workerRunner.d.ts.map +1 -0
  51. package/dist/effect/browser-worker-tmp/internal/workerRunner.js +100 -0
  52. package/dist/effect/browser-worker-tmp/internal/workerRunner.js.map +1 -0
  53. package/dist/effect/browser-worker-tmp/port-platform-runner.d.ts +5 -0
  54. package/dist/effect/browser-worker-tmp/port-platform-runner.d.ts.map +1 -0
  55. package/dist/effect/browser-worker-tmp/port-platform-runner.js +54 -0
  56. package/dist/effect/browser-worker-tmp/port-platform-runner.js.map +1 -0
  57. package/dist/effect/index.d.ts +10 -5
  58. package/dist/effect/index.d.ts.map +1 -1
  59. package/dist/effect/index.js +12 -5
  60. package/dist/effect/index.js.map +1 -1
  61. package/dist/effect/worker-tmp/Worker.d.ts +290 -0
  62. package/dist/effect/worker-tmp/Worker.d.ts.map +1 -0
  63. package/dist/effect/worker-tmp/Worker.js +62 -0
  64. package/dist/effect/worker-tmp/Worker.js.map +1 -0
  65. package/dist/effect/worker-tmp/WorkerError.d.ts +63 -0
  66. package/dist/effect/worker-tmp/WorkerError.d.ts.map +1 -0
  67. package/dist/effect/worker-tmp/WorkerError.js +52 -0
  68. package/dist/effect/worker-tmp/WorkerError.js.map +1 -0
  69. package/dist/effect/worker-tmp/WorkerRunner.d.ts +119 -0
  70. package/dist/effect/worker-tmp/WorkerRunner.d.ts.map +1 -0
  71. package/dist/effect/worker-tmp/WorkerRunner.js +32 -0
  72. package/dist/effect/worker-tmp/WorkerRunner.js.map +1 -0
  73. package/dist/effect/worker-tmp/internal/worker.d.ts +36 -0
  74. package/dist/effect/worker-tmp/internal/worker.d.ts.map +1 -0
  75. package/dist/effect/worker-tmp/internal/worker.js +244 -0
  76. package/dist/effect/worker-tmp/internal/worker.js.map +1 -0
  77. package/dist/effect/worker-tmp/internal/workerError.d.ts +4 -0
  78. package/dist/effect/worker-tmp/internal/workerError.d.ts.map +1 -0
  79. package/dist/effect/worker-tmp/internal/workerError.js +3 -0
  80. package/dist/effect/worker-tmp/internal/workerError.js.map +1 -0
  81. package/dist/effect/worker-tmp/internal/workerRunner.d.ts +21 -0
  82. package/dist/effect/worker-tmp/internal/workerRunner.d.ts.map +1 -0
  83. package/dist/effect/worker-tmp/internal/workerRunner.js +137 -0
  84. package/dist/effect/worker-tmp/internal/workerRunner.js.map +1 -0
  85. package/dist/fast-deep-equal.d.ts +2 -0
  86. package/dist/fast-deep-equal.d.ts.map +1 -0
  87. package/dist/fast-deep-equal.js +79 -0
  88. package/dist/fast-deep-equal.js.map +1 -0
  89. package/dist/guards.d.ts.map +1 -1
  90. package/dist/index.d.ts +5 -5
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +20 -19
  93. package/dist/index.js.map +1 -1
  94. package/dist/misc.d.ts +2 -0
  95. package/dist/misc.d.ts.map +1 -0
  96. package/dist/misc.js +13 -0
  97. package/dist/misc.js.map +1 -0
  98. package/dist/object/index.d.ts.map +1 -1
  99. package/dist/object/omit.d.ts.map +1 -1
  100. package/dist/object/pick.d.ts +1 -1
  101. package/dist/object/pick.d.ts.map +1 -1
  102. package/dist/promise.d.ts.map +1 -1
  103. package/dist/set.d.ts.map +1 -1
  104. package/package.json +18 -17
  105. package/src/effect/Effect.ts +65 -22
  106. package/src/effect/Scheduler.ts +14 -0
  107. package/src/effect/Schema/debug-diff.test.ts +102 -0
  108. package/src/effect/Schema/debug-diff.ts +59 -0
  109. package/src/effect/Schema/index.ts +60 -0
  110. package/src/effect/Stream.ts +37 -1
  111. package/src/effect/SubscriptionRef.ts +22 -7
  112. package/src/effect/WebLock.ts +69 -31
  113. package/src/effect/browser-worker-tmp/BrowserWorker.ts +26 -0
  114. package/src/effect/browser-worker-tmp/BrowserWorkerRunner.ts +14 -0
  115. package/src/effect/browser-worker-tmp/internal/worker.ts +71 -0
  116. package/src/effect/browser-worker-tmp/internal/workerRunner.ts +119 -0
  117. package/src/effect/browser-worker-tmp/port-platform-runner.ts +74 -0
  118. package/src/effect/index.ts +13 -4
  119. package/src/effect/worker-tmp/Worker.ts +374 -0
  120. package/src/effect/worker-tmp/WorkerError.ts +79 -0
  121. package/src/effect/worker-tmp/WorkerRunner.ts +181 -0
  122. package/src/effect/worker-tmp/internal/worker.ts +417 -0
  123. package/src/effect/worker-tmp/internal/workerError.ts +6 -0
  124. package/src/effect/worker-tmp/internal/workerRunner.ts +237 -0
  125. package/src/fast-deep-equal.ts +72 -0
  126. package/src/index.ts +21 -22
  127. package/src/misc.ts +12 -0
  128. package/dist/effect/Schema.d.ts +0 -4
  129. package/dist/effect/Schema.d.ts.map +0 -1
  130. package/dist/effect/Schema.js +0 -15
  131. package/dist/effect/Schema.js.map +0 -1
  132. package/src/effect/Schema.ts +0 -18
@@ -1,42 +1,73 @@
1
1
  import { Deferred, Effect, Runtime } from 'effect';
2
2
  // See https://developer.mozilla.org/en-US/docs/Web/API/Web_Locks_API
3
- export const withLock = (lockName, options) => (eff) => Effect.gen(function* ($) {
4
- const runtime = yield* $(Effect.runtime());
5
- const exit = yield* $(Effect.tryPromise({
3
+ export const withLock = ({ lockName, onTaken, options, }) => (eff) => Effect.gen(function* () {
4
+ const runtime = yield* Effect.runtime();
5
+ const exit = yield* Effect.tryPromise({
6
6
  try: (signal) => {
7
+ if (signal.aborted)
8
+ return 'aborted';
7
9
  // NOTE The 'signal' and 'ifAvailable' options cannot be used together.
8
10
  const requestOptions = options?.ifAvailable === true ? options : { ...options, signal };
9
11
  return navigator.locks.request(lockName, requestOptions, async (lock) => {
10
- if (lock === null)
12
+ if (lock === null) {
13
+ if (onTaken) {
14
+ const exit = await Runtime.runPromiseExit(runtime)(onTaken);
15
+ if (exit._tag === 'Failure') {
16
+ return exit;
17
+ }
18
+ }
11
19
  return;
20
+ }
12
21
  // TODO also propagate Effect interruption to the execution
13
22
  return Runtime.runPromiseExit(runtime)(eff);
14
23
  });
15
24
  },
16
25
  catch: (err) => err,
17
- }));
26
+ });
18
27
  if (exit._tag === 'Failure') {
19
- return yield* $(Effect.failCause(exit.cause));
28
+ return yield* Effect.failCause(exit.cause);
20
29
  }
21
30
  else {
22
31
  return exit.value;
23
32
  }
24
33
  });
25
34
  export const waitForDeferredLock = (deferred, lockName) => Effect.async((cb, signal) => {
26
- navigator.locks.request(lockName, { signal, mode: 'exclusive', ifAvailable: false }, async (_lock) => {
35
+ if (signal.aborted)
36
+ return;
37
+ navigator.locks
38
+ .request(lockName, { signal, mode: 'exclusive', ifAvailable: false }, (_lock) => {
27
39
  // immediately continuing calling Effect since we have the lock
28
40
  cb(Effect.void);
29
41
  // the code below is still running
30
42
  // holding lock until deferred is resolved
31
- await Effect.runPromise(Deferred.await(deferred));
43
+ return Effect.runPromise(Deferred.await(deferred));
44
+ })
45
+ .catch((error) => {
46
+ if (error.code === 20 && error.message === 'signal is aborted without reason') {
47
+ // Given signal interruption is handled via Effect, we can ignore this case
48
+ }
49
+ else {
50
+ throw error;
51
+ }
32
52
  });
33
53
  });
34
- export const tryGetDeferredLock = (deferred, lockName) => Effect.async((cb) => {
35
- navigator.locks.request(lockName, { mode: 'exclusive', ifAvailable: true }, async (lock) => {
54
+ export const tryGetDeferredLock = (deferred, lockName) => Effect.async((cb, signal) => {
55
+ navigator.locks.request(lockName, { mode: 'exclusive', ifAvailable: true }, (lock) => {
36
56
  cb(Effect.succeed(lock !== null));
37
57
  // the code below is still running
58
+ const abortPromise = new Promise((resolve) => {
59
+ signal.addEventListener('abort', () => {
60
+ resolve();
61
+ });
62
+ });
38
63
  // holding lock until deferred is resolved
39
- await Effect.runPromise(Deferred.await(deferred));
64
+ return Promise.race([
65
+ Effect.runPromise(Deferred.await(deferred)),
66
+ // .finally(() =>
67
+ // console.log('[@livestore/utils:WebLock] tryGetDeferredLock. finally', lockName),
68
+ // ),
69
+ abortPromise,
70
+ ]);
40
71
  });
41
72
  });
42
73
  //# sourceMappingURL=WebLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebLock.js","sourceRoot":"","sources":["../../src/effect/WebLock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAElD,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,QAAgB,EAAE,OAAqC,EAAE,EAAE,CAC5D,CAAY,GAA6B,EAAmC,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAO,CAAC,CAAA;IAE/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CACnB,MAAM,CAAC,UAAU,CAAqB;QACpC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YACd,uEAAuE;YACvE,MAAM,cAAc,GAAG,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAA;YACvF,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtE,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAM;gBAEzB,2DAA2D;gBAC3D,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe;KAChC,CAAC,CACH,CAAA;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;AACH,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAiC,EAAE,QAAgB,EAAE,EAAE,CACzF,MAAM,CAAC,KAAK,CAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IAChC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnG,+DAA+D;QAC/D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEf,kCAAkC;QAElC,0CAA0C;QAC1C,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiC,EAAE,QAAgB,EAAE,EAAE,CACxF,MAAM,CAAC,KAAK,CAAU,CAAC,EAAE,EAAE,EAAE;IAC3B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzF,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;QAEjC,kCAAkC;QAElC,0CAA0C;QAC1C,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"WebLock.js","sourceRoot":"","sources":["../../src/effect/WebLock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAElD,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAK,EACH,QAAQ,EACR,OAAO,EACP,OAAO,GAKR,EAAE,EAAE,CACL,CAAY,GAA6B,EAAwC,EAAE,CACjF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAO,CAAA;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAA0B;QAC7D,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAkB,CAAA;YAE7C,uEAAuE;YACvE,MAAM,cAAc,GAAG,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAA;YACvF,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;wBAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAC5B,OAAO,IAAI,CAAA;wBACb,CAAC;oBACH,CAAC;oBACD,OAAM;gBACR,CAAC;gBAED,2DAA2D;gBAC3D,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe;KAChC,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;AACH,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAiC,EAAE,QAAgB,EAAE,EAAE,CACzF,MAAM,CAAC,KAAK,CAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IAChC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAM;IAE1B,SAAS,CAAC,KAAK;SACZ,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9E,+DAA+D;QAC/D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEf,kCAAkC;QAElC,0CAA0C;QAC1C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,kCAAkC,EAAE,CAAC;YAC9E,2EAA2E;QAC7E,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiC,EAAE,QAAgB,EAAE,EAAE,CACxF,MAAM,CAAC,KAAK,CAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACnC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACnF,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;QAEjC,kCAAkC;QAElC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,0CAA0C;QAC1C,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3C,iBAAiB;YACjB,qFAAqF;YACrF,KAAK;YACL,YAAY;SACb,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Layer from 'effect/Layer';
5
+ import type * as Worker from '../worker-tmp/Worker.js';
6
+ /**
7
+ * @since 1.0.0
8
+ * @category layers
9
+ */
10
+ export declare const layerManager: Layer.Layer<Worker.WorkerManager>;
11
+ /**
12
+ * @since 1.0.0
13
+ * @category layers
14
+ */
15
+ export declare const layerWorker: Layer.Layer<Worker.PlatformWorker>;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category layers
19
+ */
20
+ export declare const layer: (spawn: (id: number) => Worker | SharedWorker | MessagePort) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never>;
21
+ //# sourceMappingURL=BrowserWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserWorker.d.ts","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/BrowserWorker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAyB,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAwB,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,GAAG,WAAW,KACvD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAA"}
@@ -0,0 +1,17 @@
1
+ import * as internal from './internal/worker.js';
2
+ /**
3
+ * @since 1.0.0
4
+ * @category layers
5
+ */
6
+ export const layerManager = internal.layerManager;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category layers
10
+ */
11
+ export const layerWorker = internal.layerWorker;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category layers
15
+ */
16
+ export const layer = internal.layer;
17
+ //# sourceMappingURL=BrowserWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserWorker.js","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/BrowserWorker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsC,QAAQ,CAAC,YAAY,CAAA;AAEpF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAuC,QAAQ,CAAC,WAAW,CAAA;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAEsD,QAAQ,CAAC,KAAK,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Layer from 'effect/Layer';
5
+ import type * as Runner from '../worker-tmp/WorkerRunner.js';
6
+ /**
7
+ * @since 1.0.0
8
+ * @category layers
9
+ */
10
+ export declare const layer: Layer.Layer<Runner.PlatformRunner>;
11
+ export { layerMessagePort } from './port-platform-runner.js';
12
+ //# sourceMappingURL=BrowserWorkerRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserWorkerRunner.d.ts","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/BrowserWorkerRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAG5D;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAkB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,8 @@
1
+ import * as internal from './internal/workerRunner.js';
2
+ /**
3
+ * @since 1.0.0
4
+ * @category layers
5
+ */
6
+ export const layer = internal.layer;
7
+ export { layerMessagePort } from './port-platform-runner.js';
8
+ //# sourceMappingURL=BrowserWorkerRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserWorkerRunner.js","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/BrowserWorkerRunner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAuC,QAAQ,CAAC,KAAK,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,9 @@
1
+ import * as Layer from 'effect/Layer';
2
+ import * as Worker from '../../worker-tmp/Worker.js';
3
+ /** @internal */
4
+ export declare const layerWorker: Layer.Layer<Worker.PlatformWorker, never, never>;
5
+ /** @internal */
6
+ export declare const layerManager: Layer.Layer<Worker.WorkerManager, never, never>;
7
+ /** @internal */
8
+ export declare const layer: (spawn: (id: number) => globalThis.Worker | globalThis.SharedWorker | MessagePort) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never>;
9
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../src/effect/browser-worker-tmp/internal/worker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AAwDpD,gBAAgB;AAChB,eAAO,MAAM,WAAW,kDAA2D,CAAA;AAEnF,gBAAgB;AAChB,eAAO,MAAM,YAAY,iDAAkD,CAAA;AAE3E,gBAAgB;AAChB,eAAO,MAAM,KAAK,UAAW,CAAC,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,YAAY,GAAG,WAAW,qEAC/C,CAAA"}
@@ -0,0 +1,56 @@
1
+ /* eslint-disable prefer-arrow/prefer-arrow-functions */
2
+ import * as Deferred from 'effect/Deferred';
3
+ import * as Effect from 'effect/Effect';
4
+ import * as Layer from 'effect/Layer';
5
+ import * as Queue from 'effect/Queue';
6
+ import * as Worker from '../../worker-tmp/Worker.js';
7
+ import { WorkerError } from '../../worker-tmp/WorkerError.js';
8
+ const platformWorkerImpl = Worker.PlatformWorker.of({
9
+ [Worker.PlatformWorkerTypeId]: Worker.PlatformWorkerTypeId,
10
+ spawn(worker_) {
11
+ return Effect.gen(function* (_) {
12
+ const worker = worker_;
13
+ let port;
14
+ if ('port' in worker) {
15
+ port = worker.port;
16
+ }
17
+ else {
18
+ port = worker;
19
+ }
20
+ yield* _(Effect.addFinalizer(() => Effect.sync(() => port.postMessage([1]))));
21
+ const queue = yield* _(Queue.unbounded());
22
+ const latch = yield* Deferred.make();
23
+ const fiber = yield* _(Effect.async((resume) => {
24
+ function onMessage(event) {
25
+ queue.unsafeOffer(event.data);
26
+ }
27
+ function onError(event) {
28
+ resume(new WorkerError({ reason: 'unknown', error: event.error ?? event.message }));
29
+ }
30
+ port.addEventListener('message', onMessage);
31
+ port.addEventListener('error', onError);
32
+ Deferred.unsafeDone(latch, Effect.void);
33
+ return Effect.sync(() => {
34
+ port.removeEventListener('message', onMessage);
35
+ port.removeEventListener('error', onError);
36
+ });
37
+ }), Effect.interruptible, Effect.forkScoped);
38
+ yield* Deferred.await(latch);
39
+ if ('start' in port) {
40
+ port.start();
41
+ }
42
+ const send = (message, transfers) => Effect.try({
43
+ try: () => port.postMessage([0, message], transfers),
44
+ catch: (error) => new WorkerError({ reason: 'send', error }),
45
+ });
46
+ return { fiber, queue, send };
47
+ });
48
+ },
49
+ });
50
+ /** @internal */
51
+ export const layerWorker = Layer.succeed(Worker.PlatformWorker, platformWorkerImpl);
52
+ /** @internal */
53
+ export const layerManager = Layer.provide(Worker.layerManager, layerWorker);
54
+ /** @internal */
55
+ export const layer = (spawn) => Layer.merge(layerManager, Worker.layerSpawner(spawn));
56
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/effect/browser-worker-tmp/internal/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as Layer from 'effect/Layer';
2
+ import * as WorkerRunner from '../../worker-tmp/WorkerRunner.js';
3
+ /** @internal */
4
+ export declare const layer: Layer.Layer<WorkerRunner.PlatformRunner, never, never>;
5
+ //# sourceMappingURL=workerRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerRunner.d.ts","sourceRoot":"","sources":["../../../../src/effect/browser-worker-tmp/internal/workerRunner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,OAAO,KAAK,YAAY,MAAM,kCAAkC,CAAA;AA0GhE,gBAAgB;AAChB,eAAO,MAAM,KAAK,wDAAiE,CAAA"}
@@ -0,0 +1,100 @@
1
+ /// <reference lib="webworker" />
2
+ /* eslint-disable prefer-arrow/prefer-arrow-functions */
3
+ import * as Cause from 'effect/Cause';
4
+ import * as Effect from 'effect/Effect';
5
+ import * as FiberSet from 'effect/FiberSet';
6
+ import { globalValue } from 'effect/GlobalValue';
7
+ import * as Layer from 'effect/Layer';
8
+ import * as Queue from 'effect/Queue';
9
+ import * as Schedule from 'effect/Schedule';
10
+ import { WorkerError } from '../../worker-tmp/WorkerError.js';
11
+ import * as WorkerRunner from '../../worker-tmp/WorkerRunner.js';
12
+ const cachedPorts = globalValue('@effect/platform-browser/Worker/cachedPorts', () => new Set());
13
+ function globalHandleConnect(event) {
14
+ cachedPorts.add(event.ports[0]);
15
+ }
16
+ if (typeof self !== 'undefined' && 'onconnect' in self) {
17
+ // @ts-expect-error TODO
18
+ self.addEventListener('connect', globalHandleConnect);
19
+ }
20
+ const platformRunnerImpl = WorkerRunner.PlatformRunner.of({
21
+ [WorkerRunner.PlatformRunnerTypeId]: WorkerRunner.PlatformRunnerTypeId,
22
+ start(shutdown) {
23
+ return Effect.gen(function* () {
24
+ let currentPortId = 0;
25
+ yield* Effect.addFinalizer(() => Effect.sync(() => self.close()));
26
+ const queue = yield* Queue.unbounded();
27
+ const runFork = yield* FiberSet.makeRuntime();
28
+ const ports = new Map();
29
+ const send = (portId, message, transfer) => Effect.sync(() => {
30
+ ports.get(portId)?.postMessage([1, message], {
31
+ transfer: transfer,
32
+ });
33
+ });
34
+ function handlePort(port, sharedWorker) {
35
+ const portId = currentPortId++;
36
+ ports.set(portId, port);
37
+ Effect.async((resume) => {
38
+ function onMessage(event) {
39
+ const message = event.data;
40
+ if (message[0] === 0) {
41
+ queue.unsafeOffer([portId, message[1]]);
42
+ }
43
+ else if (sharedWorker && ports.size > 1) {
44
+ resume(Effect.interrupt);
45
+ }
46
+ else {
47
+ Effect.runFork(shutdown);
48
+ }
49
+ }
50
+ function onMessageError(error) {
51
+ resume(new WorkerError({ reason: 'decode', error: error.error ?? error.message }));
52
+ }
53
+ function onError(error) {
54
+ resume(new WorkerError({ reason: 'unknown', error: error.error ?? error.message }));
55
+ }
56
+ port.addEventListener('message', onMessage);
57
+ port.addEventListener('messageerror', onMessageError);
58
+ port.addEventListener('error', onError);
59
+ // ready
60
+ if ('start' in port) {
61
+ port.start();
62
+ }
63
+ port.postMessage([0]);
64
+ return Effect.sync(() => {
65
+ port.removeEventListener('message', onMessage);
66
+ port.removeEventListener('messageerror', onMessageError);
67
+ port.removeEventListener('error', onError);
68
+ });
69
+ }).pipe(Effect.tapErrorCause((cause) => (Cause.isInterruptedOnly(cause) ? Effect.void : Effect.logDebug(cause))), Effect.retry(Schedule.forever), Effect.annotateLogs({
70
+ package: '@effect/platform-browser',
71
+ module: 'WorkerRunner',
72
+ }), Effect.ensuring(Effect.sync(() => {
73
+ ports.delete(portId);
74
+ })), Effect.interruptible, runFork);
75
+ }
76
+ if ('onconnect' in self) {
77
+ // @ts-expect-error TODO
78
+ self.addEventListener('connect', (event) => {
79
+ const port = event.ports[0];
80
+ handlePort(port, true);
81
+ });
82
+ yield* Effect.addFinalizer(() => Effect.sync(() => {
83
+ ;
84
+ self.addEventListener('connect', globalHandleConnect);
85
+ }));
86
+ for (const port of cachedPorts) {
87
+ handlePort(port, true);
88
+ }
89
+ cachedPorts.clear();
90
+ }
91
+ else {
92
+ handlePort(self, false);
93
+ }
94
+ return { queue, send };
95
+ });
96
+ },
97
+ });
98
+ /** @internal */
99
+ export const layer = Layer.succeed(WorkerRunner.PlatformRunner, platformRunnerImpl);
100
+ //# sourceMappingURL=workerRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerRunner.js","sourceRoot":"","sources":["../../../../src/effect/browser-worker-tmp/internal/workerRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as Layer from 'effect/Layer';
2
+ import * as Runner from '../worker-tmp/WorkerRunner.js';
3
+ /** @internal */
4
+ export declare const layerMessagePort: (port: MessagePort) => Layer.Layer<Runner.PlatformRunner, never, never>;
5
+ //# sourceMappingURL=port-platform-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-platform-runner.d.ts","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/port-platform-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAgEvD,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,SAAU,WAAW,qDAAmE,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { Deferred } from 'effect';
2
+ import * as Cause from 'effect/Cause';
3
+ import * as Effect from 'effect/Effect';
4
+ import * as Layer from 'effect/Layer';
5
+ import * as Queue from 'effect/Queue';
6
+ import * as Schedule from 'effect/Schedule';
7
+ import { WorkerError } from '../worker-tmp/WorkerError.js';
8
+ import * as Runner from '../worker-tmp/WorkerRunner.js';
9
+ const platformRunnerImpl = (port) => Runner.PlatformRunner.of({
10
+ [Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
11
+ start: (shutdown) => {
12
+ return Effect.gen(function* () {
13
+ const queue = yield* Queue.unbounded();
14
+ const latch = yield* Deferred.make();
15
+ yield* Effect.async((resume) => {
16
+ const onMessage = (msg) => {
17
+ const message = msg.data;
18
+ if (message[0] === 0) {
19
+ queue.unsafeOffer([0, message[1]]);
20
+ }
21
+ else {
22
+ Effect.runFork(shutdown);
23
+ }
24
+ };
25
+ const onError = (error) => {
26
+ resume(new WorkerError({ reason: 'decode', error }));
27
+ };
28
+ port.addEventListener('message', onMessage);
29
+ port.addEventListener('messageerror', onError);
30
+ port.addEventListener('error', onError);
31
+ Deferred.unsafeDone(latch, Effect.void);
32
+ return Effect.sync(() => {
33
+ port.removeEventListener('message', onMessage);
34
+ port.removeEventListener('error', onError);
35
+ });
36
+ }).pipe(Effect.tapErrorCause((cause) => (Cause.isInterruptedOnly(cause) ? Effect.void : Effect.logDebug(cause))), Effect.retry(Schedule.forever), Effect.annotateLogs({
37
+ package: '@livestore/utils/effect',
38
+ module: 'PortPlatformRunner',
39
+ }), Effect.interruptible, Effect.forkScoped);
40
+ yield* Deferred.await(latch);
41
+ port.start();
42
+ const send = (_portId, message, transfers) => Effect.try({
43
+ try: () => port.postMessage([1, message], transfers),
44
+ catch: (error) => new WorkerError({ reason: 'send', error }),
45
+ }).pipe(Effect.catchTag('WorkerError', Effect.orDie));
46
+ // ready
47
+ port.postMessage([0]);
48
+ return { queue, send };
49
+ });
50
+ },
51
+ });
52
+ /** @internal */
53
+ export const layerMessagePort = (port) => Layer.succeed(Runner.PlatformRunner, platformRunnerImpl(port));
54
+ //# sourceMappingURL=port-platform-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-platform-runner.js","sourceRoot":"","sources":["../../../src/effect/browser-worker-tmp/port-platform-runner.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  import '../global.js';
2
- export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, Scheduler, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, Layer, STM, TRef, Channel, pipe, identity, Match, } from 'effect';
2
+ export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, LogLevel, Logger, Layer, STM, TRef, Channel, pipe, identity, Match, } from 'effect';
3
3
  export { dual } from 'effect/Function';
4
4
  export * as Stream from './Stream.js';
5
5
  export * as SubscriptionRef from './SubscriptionRef.js';
6
- export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
- export * as Schema from './Schema.js';
6
+ export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Equivalence as SchemaEquivalence, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
+ export * as Schema from './Schema/index.js';
8
8
  export * as OtelTracer from '@effect/opentelemetry/Tracer';
9
- export { Transferable, FileSystem, Worker, WorkerError, WorkerRunner, Terminal, HttpServer } from '@effect/platform';
10
- export { BrowserWorker, BrowserWorkerRunner } from '@effect/platform-browser';
9
+ export { Transferable, FileSystem, Terminal, HttpServer } from '@effect/platform';
10
+ export * as Worker from './worker-tmp/Worker.js';
11
+ export * as WorkerError from './worker-tmp/WorkerError.js';
12
+ export * as WorkerRunner from './worker-tmp/WorkerRunner.js';
13
+ export * as BrowserWorker from './browser-worker-tmp/BrowserWorker.js';
14
+ export * as BrowserWorkerRunner from './browser-worker-tmp/BrowserWorkerRunner.js';
11
15
  export * as Effect from './Effect.js';
12
16
  export * as Schedule from './Schedule.js';
17
+ export * as Scheduler from './Scheduler.js';
13
18
  export * from './Error.js';
14
19
  export * as ServiceContext from './ServiceContext.js';
15
20
  export * as WebLock from './WebLock.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAI1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -1,15 +1,22 @@
1
1
  import '../global.js';
2
- export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, Scheduler, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, Layer, STM, TRef, Channel, pipe, identity, Match, } from 'effect';
2
+ export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, RuntimeFlags, PubSub, Exit, Cause, Runtime, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, Option, LogLevel, Logger, Layer, STM, TRef, Channel, pipe, identity, Match, } from 'effect';
3
3
  export { dual } from 'effect/Function';
4
4
  export * as Stream from './Stream.js';
5
5
  export * as SubscriptionRef from './SubscriptionRef.js';
6
- export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
- export * as Schema from './Schema.js';
6
+ export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Equivalence as SchemaEquivalence, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
+ export * as Schema from './Schema/index.js';
8
8
  export * as OtelTracer from '@effect/opentelemetry/Tracer';
9
- export { Transferable, FileSystem, Worker, WorkerError, WorkerRunner, Terminal, HttpServer } from '@effect/platform';
10
- export { BrowserWorker, BrowserWorkerRunner } from '@effect/platform-browser';
9
+ // export { Transferable, FileSystem, Worker, WorkerError, WorkerRunner, Terminal, HttpServer } from '@effect/platform'
10
+ // export { BrowserWorker, BrowserWorkerRunner } from '@effect/platform-browser'
11
+ export { Transferable, FileSystem, Terminal, HttpServer } from '@effect/platform';
12
+ export * as Worker from './worker-tmp/Worker.js';
13
+ export * as WorkerError from './worker-tmp/WorkerError.js';
14
+ export * as WorkerRunner from './worker-tmp/WorkerRunner.js';
15
+ export * as BrowserWorker from './browser-worker-tmp/BrowserWorker.js';
16
+ export * as BrowserWorkerRunner from './browser-worker-tmp/BrowserWorkerRunner.js';
11
17
  export * as Effect from './Effect.js';
12
18
  export * as Schedule from './Schedule.js';
19
+ export * as Scheduler from './Scheduler.js';
13
20
  export * from './Error.js';
14
21
  export * as ServiceContext from './ServiceContext.js';
15
22
  export * as WebLock from './WebLock.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,uHAAuH;AACvH,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}