@livestore/utils 0.3.0-dev.4 → 0.3.0-dev.41

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 (149) hide show
  1. package/dist/.tsbuildinfo.json +1 -1
  2. package/dist/Deferred.d.ts.map +1 -1
  3. package/dist/base64.d.ts.map +1 -1
  4. package/dist/bun/mod.d.ts +5 -0
  5. package/dist/bun/mod.d.ts.map +1 -0
  6. package/dist/bun/mod.js +9 -0
  7. package/dist/bun/mod.js.map +1 -0
  8. package/dist/cuid/cuid.browser.d.ts.map +1 -1
  9. package/dist/cuid/cuid.node.d.ts.map +1 -1
  10. package/dist/effect/BucketQueue.d.ts +15 -2
  11. package/dist/effect/BucketQueue.d.ts.map +1 -1
  12. package/dist/effect/BucketQueue.js +24 -6
  13. package/dist/effect/BucketQueue.js.map +1 -1
  14. package/dist/effect/Effect.d.ts +4 -2
  15. package/dist/effect/Effect.d.ts.map +1 -1
  16. package/dist/effect/Effect.js +21 -18
  17. package/dist/effect/Effect.js.map +1 -1
  18. package/dist/effect/Logger.d.ts +2 -0
  19. package/dist/effect/Logger.d.ts.map +1 -1
  20. package/dist/effect/Logger.js +16 -1
  21. package/dist/effect/Logger.js.map +1 -1
  22. package/dist/effect/Scheduler.d.ts.map +1 -1
  23. package/dist/effect/Schema/debug-diff.d.ts.map +1 -1
  24. package/dist/effect/Schema/index.d.ts +3 -0
  25. package/dist/effect/Schema/index.d.ts.map +1 -1
  26. package/dist/effect/Schema/index.js +19 -0
  27. package/dist/effect/Schema/index.js.map +1 -1
  28. package/dist/effect/Schema/msgpack.d.ts +1 -1
  29. package/dist/effect/Schema/msgpack.d.ts.map +1 -1
  30. package/dist/effect/ServiceContext.d.ts.map +1 -1
  31. package/dist/effect/Stream.d.ts.map +1 -1
  32. package/dist/effect/Subscribable.d.ts +76 -0
  33. package/dist/effect/Subscribable.d.ts.map +1 -0
  34. package/dist/effect/Subscribable.js +80 -0
  35. package/dist/effect/Subscribable.js.map +1 -0
  36. package/dist/effect/TaskTracing.d.ts.map +1 -1
  37. package/dist/effect/{WebChannel.d.ts → WebChannel/WebChannel.d.ts} +29 -16
  38. package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -0
  39. package/dist/effect/WebChannel/WebChannel.js +264 -0
  40. package/dist/effect/WebChannel/WebChannel.js.map +1 -0
  41. package/dist/effect/WebChannel/WebChannel.test.d.ts +2 -0
  42. package/dist/effect/WebChannel/WebChannel.test.d.ts.map +1 -0
  43. package/dist/effect/WebChannel/WebChannel.test.js +62 -0
  44. package/dist/effect/WebChannel/WebChannel.test.js.map +1 -0
  45. package/dist/effect/WebChannel/broadcastChannelWithAck.d.ts +5 -6
  46. package/dist/effect/WebChannel/broadcastChannelWithAck.d.ts.map +1 -1
  47. package/dist/effect/WebChannel/broadcastChannelWithAck.js +12 -9
  48. package/dist/effect/WebChannel/broadcastChannelWithAck.js.map +1 -1
  49. package/dist/effect/WebChannel/common.d.ts +16 -1
  50. package/dist/effect/WebChannel/common.d.ts.map +1 -1
  51. package/dist/effect/WebChannel/common.js +19 -1
  52. package/dist/effect/WebChannel/common.js.map +1 -1
  53. package/dist/effect/WebChannel/mod.d.ts +4 -0
  54. package/dist/effect/WebChannel/mod.d.ts.map +1 -0
  55. package/dist/effect/WebChannel/mod.js +4 -0
  56. package/dist/effect/WebChannel/mod.js.map +1 -0
  57. package/dist/effect/WebLock.d.ts.map +1 -1
  58. package/dist/effect/WebSocket.d.ts +3 -2
  59. package/dist/effect/WebSocket.d.ts.map +1 -1
  60. package/dist/effect/WebSocket.js +45 -19
  61. package/dist/effect/WebSocket.js.map +1 -1
  62. package/dist/effect/WebSocket.test.d.ts +2 -0
  63. package/dist/effect/WebSocket.test.d.ts.map +1 -0
  64. package/dist/effect/WebSocket.test.js +11 -0
  65. package/dist/effect/WebSocket.test.js.map +1 -0
  66. package/dist/effect/index.d.ts +6 -3
  67. package/dist/effect/index.d.ts.map +1 -1
  68. package/dist/effect/index.js +9 -5
  69. package/dist/effect/index.js.map +1 -1
  70. package/dist/env.d.ts +4 -0
  71. package/dist/env.d.ts.map +1 -1
  72. package/dist/env.js +10 -0
  73. package/dist/env.js.map +1 -1
  74. package/dist/fast-deep-equal.d.ts.map +1 -1
  75. package/dist/guards.d.ts.map +1 -1
  76. package/dist/index.d.ts +6 -4
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/misc.d.ts +1 -0
  80. package/dist/misc.d.ts.map +1 -1
  81. package/dist/misc.js +1 -0
  82. package/dist/misc.js.map +1 -1
  83. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts +0 -1
  84. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
  85. package/dist/node/ChildProcessRunner/ChildProcessRunner.js +21 -11
  86. package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
  87. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts +2 -0
  88. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map +1 -0
  89. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +39 -0
  90. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -0
  91. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +75 -0
  92. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts.map +1 -0
  93. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js +62 -0
  94. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.js.map +1 -0
  95. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.d.ts +2 -0
  96. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.d.ts.map +1 -0
  97. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +42 -0
  98. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -0
  99. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts +1 -4
  100. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
  101. package/dist/node/ChildProcessRunner/ChildProcessWorker.js +1 -4
  102. package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
  103. package/dist/node/mod.d.ts +4 -16
  104. package/dist/node/mod.d.ts.map +1 -1
  105. package/dist/node/mod.js +25 -69
  106. package/dist/node/mod.js.map +1 -1
  107. package/dist/object/index.d.ts.map +1 -1
  108. package/dist/object/omit.d.ts.map +1 -1
  109. package/dist/object/pick.d.ts.map +1 -1
  110. package/dist/promise.d.ts.map +1 -1
  111. package/dist/set.d.ts.map +1 -1
  112. package/dist/string.d.ts.map +1 -1
  113. package/dist/time.d.ts.map +1 -1
  114. package/package.json +59 -51
  115. package/src/bun/mod.ts +12 -0
  116. package/src/effect/BucketQueue.ts +33 -6
  117. package/src/effect/Effect.ts +33 -20
  118. package/src/effect/Logger.ts +23 -1
  119. package/src/effect/Schema/index.ts +27 -0
  120. package/src/effect/Subscribable.ts +155 -0
  121. package/src/effect/WebChannel/WebChannel.test.ts +106 -0
  122. package/src/effect/WebChannel/WebChannel.ts +438 -0
  123. package/src/effect/WebChannel/broadcastChannelWithAck.ts +86 -83
  124. package/src/effect/WebChannel/common.ts +49 -2
  125. package/src/effect/WebChannel/mod.ts +3 -0
  126. package/src/effect/WebSocket.test.ts +15 -0
  127. package/src/effect/WebSocket.ts +75 -36
  128. package/src/effect/index.ts +34 -2
  129. package/src/env.ts +15 -0
  130. package/src/index.ts +6 -2
  131. package/src/misc.ts +3 -0
  132. package/src/node/ChildProcessRunner/ChildProcessRunner.ts +40 -29
  133. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +52 -0
  134. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/schema.ts +65 -0
  135. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +53 -0
  136. package/src/node/ChildProcessRunner/ChildProcessWorker.ts +3 -6
  137. package/src/node/mod.ts +32 -94
  138. package/dist/effect/WebChannel.d.ts.map +0 -1
  139. package/dist/effect/WebChannel.js +0 -162
  140. package/dist/effect/WebChannel.js.map +0 -1
  141. package/dist/nanoid/index.browser.d.ts +0 -2
  142. package/dist/nanoid/index.browser.d.ts.map +0 -1
  143. package/dist/nanoid/index.browser.js +0 -3
  144. package/dist/nanoid/index.browser.js.map +0 -1
  145. package/src/effect/WebChannel.ts +0 -290
  146. package/src/nanoid/index.browser.ts +0 -2
  147. package/tmp/effect-deferred-repro.ts +0 -29
  148. package/tmp/effect-semaphore-repro.ts +0 -93
  149. package/tsconfig.json +0 -10
@@ -1,93 +0,0 @@
1
- /// <reference lib="es2024" />
2
- import * as NodePlatform from '@effect/platform-node'
3
- import { Deferred, Effect, FiberSet, Logger, Ref, Scheduler } from 'effect'
4
-
5
- const main = Effect.gen(function* () {
6
- const semaphore = yield* Effect.makeSemaphore(1)
7
-
8
- const fiberset = yield* FiberSet.make()
9
-
10
- // setInterval(() => {
11
- // // semaphore.release(1)
12
- // }, 1_000_000)
13
-
14
- const stateRef = yield* Ref.make<'open' | 'closed'>('open')
15
-
16
- // let counter = 0
17
- // const nextExpectedCounter = 0
18
- // const def = Promise.withResolvers()
19
-
20
- const finished = yield* Deferred.make<void>()
21
-
22
- const MAX = 100
23
-
24
- const doWorkWithSemaphore = (counter: number) =>
25
- Effect.gen(function* () {
26
- // yield* Effect.log(`doWorkWithSemaphore: ${counter} - waiting for semaphore`)
27
- // yield* semaphore.take(1)
28
- // if (counter !== nextExpectedCounter) {
29
- // throw new Error(`Expected counter ${nextExpectedCounter} but got ${counter}`)
30
- // }
31
- // nextExpectedCounter = counter + 1
32
- yield* Effect.log(`doWorkWithSemaphore: ${counter} - got semaphore`)
33
- // setTimeout(() => {}, 120)
34
- yield* Effect.sleep(40)
35
- // yield* Effect.yieldNow()
36
- yield* Effect.log(`doWorkWithSemaphore: ${counter} - releasing semaphore`)
37
- yield* Ref.set(stateRef, 'open')
38
- yield* semaphore.release(1)
39
-
40
- if (counter === MAX - 1) {
41
- yield* Deferred.succeed(finished, undefined)
42
- // def.resolve(undefined)
43
- }
44
- }).pipe(Effect.scoped)
45
-
46
- for (let i = 0; i < MAX; i++) {
47
- yield* doWorkWithSemaphore(i).pipe(FiberSet.run(fiberset))
48
- // yield* Effect.sleep(20)
49
- yield* Effect.gen(function* () {
50
- const state = yield* Ref.get(stateRef)
51
- if (state === 'open') {
52
- yield* Effect.logWarning(`loop: ${i} - semaphore is open, taking`)
53
- } else {
54
- yield* Effect.log(`loop: ${i} - semaphore is closed, waiting`)
55
- }
56
-
57
- yield* semaphore.take(1)
58
- yield* Ref.set(stateRef, 'closed')
59
-
60
- yield* doWorkWithSemaphore(i).pipe(Effect.fork)
61
-
62
- const sleepTime = Math.random() * 40
63
- yield* Effect.log(`loop: ${i} - sleeping for ${sleepTime}ms`)
64
- yield* Effect.sleep(sleepTime)
65
-
66
- // yield* Effect.yieldNow()
67
- }).pipe(FiberSet.run(fiberset))
68
- }
69
-
70
- // yield* Effect.never
71
-
72
- yield* finished
73
- // yield* Effect.promise(() => def.promise)
74
- // console.log('finished')
75
- })
76
-
77
- export const messageChannel = (shouldYield: Scheduler.Scheduler['shouldYield'] = Scheduler.defaultShouldYield) =>
78
- Scheduler.makeBatched((task) => {
79
- const messageChannel = new MessageChannel()
80
-
81
- messageChannel.port1.postMessage(undefined)
82
-
83
- // eslint-disable-next-line unicorn/prefer-add-event-listener
84
- messageChannel.port2.onmessage = task
85
- }, shouldYield)
86
-
87
- main.pipe(
88
- Effect.scoped,
89
- Effect.provide(Logger.pretty),
90
- Effect.tapErrorCause(Effect.logError),
91
- Effect.withScheduler(messageChannel()),
92
- NodePlatform.NodeRuntime.runMain,
93
- )
package/tsconfig.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "rootDir": "./src",
5
- "outDir": "./dist",
6
- "tsBuildInfoFile": "./dist/.tsbuildinfo.json"
7
- },
8
- "include": ["./src"],
9
- "references": [{ "path": "../db-schema"}]
10
- }