effect 4.0.0-beta.41 → 4.0.0-beta.42

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 (92) hide show
  1. package/dist/Effect.d.ts +19 -63
  2. package/dist/Effect.d.ts.map +1 -1
  3. package/dist/Effect.js +24 -65
  4. package/dist/Effect.js.map +1 -1
  5. package/dist/MutableList.d.ts.map +1 -1
  6. package/dist/MutableList.js +3 -0
  7. package/dist/MutableList.js.map +1 -1
  8. package/dist/Number.d.ts.map +1 -1
  9. package/dist/Number.js +12 -3
  10. package/dist/Number.js.map +1 -1
  11. package/dist/SchemaRepresentation.d.ts.map +1 -1
  12. package/dist/SchemaRepresentation.js +16 -14
  13. package/dist/SchemaRepresentation.js.map +1 -1
  14. package/dist/TxChunk.d.ts +39 -39
  15. package/dist/TxChunk.d.ts.map +1 -1
  16. package/dist/TxChunk.js +3 -3
  17. package/dist/TxChunk.js.map +1 -1
  18. package/dist/TxDeferred.d.ts +9 -9
  19. package/dist/TxDeferred.d.ts.map +1 -1
  20. package/dist/TxDeferred.js +2 -2
  21. package/dist/TxDeferred.js.map +1 -1
  22. package/dist/TxHashMap.d.ts +59 -59
  23. package/dist/TxHashMap.d.ts.map +1 -1
  24. package/dist/TxHashMap.js +8 -8
  25. package/dist/TxHashMap.js.map +1 -1
  26. package/dist/TxHashSet.d.ts +35 -35
  27. package/dist/TxHashSet.d.ts.map +1 -1
  28. package/dist/TxHashSet.js +7 -7
  29. package/dist/TxHashSet.js.map +1 -1
  30. package/dist/TxPriorityQueue.d.ts +23 -23
  31. package/dist/TxPriorityQueue.d.ts.map +1 -1
  32. package/dist/TxPriorityQueue.js +4 -4
  33. package/dist/TxPriorityQueue.js.map +1 -1
  34. package/dist/TxPubSub.d.ts +14 -14
  35. package/dist/TxPubSub.d.ts.map +1 -1
  36. package/dist/TxPubSub.js +12 -12
  37. package/dist/TxPubSub.js.map +1 -1
  38. package/dist/TxQueue.d.ts +33 -33
  39. package/dist/TxQueue.d.ts.map +1 -1
  40. package/dist/TxQueue.js +29 -44
  41. package/dist/TxQueue.js.map +1 -1
  42. package/dist/TxReentrantLock.d.ts +10 -33
  43. package/dist/TxReentrantLock.d.ts.map +1 -1
  44. package/dist/TxReentrantLock.js +14 -37
  45. package/dist/TxReentrantLock.js.map +1 -1
  46. package/dist/TxRef.d.ts +36 -42
  47. package/dist/TxRef.d.ts.map +1 -1
  48. package/dist/TxRef.js +16 -25
  49. package/dist/TxRef.js.map +1 -1
  50. package/dist/TxSemaphore.d.ts +8 -8
  51. package/dist/TxSemaphore.d.ts.map +1 -1
  52. package/dist/TxSemaphore.js +10 -10
  53. package/dist/TxSemaphore.js.map +1 -1
  54. package/dist/TxSubscriptionRef.d.ts +14 -14
  55. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  56. package/dist/TxSubscriptionRef.js +5 -5
  57. package/dist/TxSubscriptionRef.js.map +1 -1
  58. package/dist/index.d.ts +3 -3
  59. package/dist/index.js +3 -3
  60. package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -0
  61. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  62. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  63. package/dist/unstable/cli/internal/command.js +12 -1
  64. package/dist/unstable/cli/internal/command.js.map +1 -1
  65. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  66. package/dist/unstable/cluster/SqlMessageStorage.js +1 -4
  67. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  68. package/dist/unstable/socket/Socket.d.ts +1 -1
  69. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  70. package/dist/unstable/socket/Socket.js +1 -1
  71. package/dist/unstable/socket/Socket.js.map +1 -1
  72. package/package.json +1 -1
  73. package/src/Effect.ts +24 -75
  74. package/src/MutableList.ts +3 -0
  75. package/src/Number.ts +13 -3
  76. package/src/SchemaRepresentation.ts +8 -6
  77. package/src/TxChunk.ts +53 -62
  78. package/src/TxDeferred.ts +14 -17
  79. package/src/TxHashMap.ts +91 -101
  80. package/src/TxHashSet.ts +68 -70
  81. package/src/TxPriorityQueue.ts +34 -38
  82. package/src/TxPubSub.ts +30 -32
  83. package/src/TxQueue.ts +70 -84
  84. package/src/TxReentrantLock.ts +30 -54
  85. package/src/TxRef.ts +53 -65
  86. package/src/TxSemaphore.ts +23 -24
  87. package/src/TxSubscriptionRef.ts +25 -27
  88. package/src/index.ts +3 -3
  89. package/src/unstable/ai/OpenAiStructuredOutput.ts +3 -0
  90. package/src/unstable/cli/internal/command.ts +16 -1
  91. package/src/unstable/cluster/SqlMessageStorage.ts +0 -4
  92. package/src/unstable/socket/Socket.ts +1 -1
package/src/TxDeferred.ts CHANGED
@@ -93,7 +93,7 @@ const makeTxDeferred = <A, E>(ref: TxRef.TxRef<Option<Result<A, E>>>): TxDeferre
93
93
  * @since 4.0.0
94
94
  * @category constructors
95
95
  */
96
- export const make = <A, E = never>(): Effect.Effect<TxDeferred<A, E>, never, Effect.Transaction> =>
96
+ export const make = <A, E = never>(): Effect.Effect<TxDeferred<A, E>> =>
97
97
  Effect.map(TxRef.make<Option<Result<A, E>>>(O.none()), makeTxDeferred)
98
98
 
99
99
  /**
@@ -115,16 +115,16 @@ export const make = <A, E = never>(): Effect.Effect<TxDeferred<A, E>, never, Eff
115
115
  * @since 4.0.0
116
116
  * @category getters
117
117
  */
118
- const await_ = <A, E>(self: TxDeferred<A, E>): Effect.Effect<A, E, Effect.Transaction> =>
118
+ const await_ = <A, E>(self: TxDeferred<A, E>): Effect.Effect<A, E> =>
119
119
  Effect.gen(function*() {
120
120
  const option = yield* TxRef.get(self.ref)
121
121
  if (O.isNone(option)) {
122
- return yield* Effect.retryTransaction
122
+ return yield* Effect.txRetry
123
123
  }
124
124
  return Res.isSuccess(option.value)
125
125
  ? option.value.success
126
126
  : yield* Effect.fail(option.value.failure)
127
- })
127
+ }).pipe(Effect.tx)
128
128
 
129
129
  export {
130
130
  /**
@@ -159,8 +159,7 @@ export {
159
159
  * @since 4.0.0
160
160
  * @category getters
161
161
  */
162
- export const poll = <A, E>(self: TxDeferred<A, E>): Effect.Effect<Option<Result<A, E>>, never, Effect.Transaction> =>
163
- TxRef.get(self.ref)
162
+ export const poll = <A, E>(self: TxDeferred<A, E>): Effect.Effect<Option<Result<A, E>>> => TxRef.get(self.ref)
164
163
 
165
164
  /**
166
165
  * Completes the deferred with a `Result`. Returns `true` if this was the first
@@ -203,7 +202,7 @@ export const done: {
203
202
  * @since 4.0.0
204
203
  * @category mutations
205
204
  */
206
- <A, E>(result: Result<A, E>): (self: TxDeferred<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
205
+ <A, E>(result: Result<A, E>): (self: TxDeferred<A, E>) => Effect.Effect<boolean>
207
206
  /**
208
207
  * Completes the deferred with a `Result`. Returns `true` if this was the first
209
208
  * completion, `false` if already completed.
@@ -224,10 +223,10 @@ export const done: {
224
223
  * @since 4.0.0
225
224
  * @category mutations
226
225
  */
227
- <A, E>(self: TxDeferred<A, E>, result: Result<A, E>): Effect.Effect<boolean, never, Effect.Transaction>
226
+ <A, E>(self: TxDeferred<A, E>, result: Result<A, E>): Effect.Effect<boolean>
228
227
  } = dual(
229
228
  2,
230
- <A, E>(self: TxDeferred<A, E>, result: Result<A, E>): Effect.Effect<boolean, never, Effect.Transaction> =>
229
+ <A, E>(self: TxDeferred<A, E>, result: Result<A, E>): Effect.Effect<boolean> =>
231
230
  TxRef.modify(self.ref, (current) => {
232
231
  if (O.isSome(current)) {
233
232
  return [false, current]
@@ -277,7 +276,7 @@ export const succeed: {
277
276
  * @since 4.0.0
278
277
  * @category mutations
279
278
  */
280
- <A>(value: A): <E>(self: TxDeferred<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
279
+ <A>(value: A): <E>(self: TxDeferred<A, E>) => Effect.Effect<boolean>
281
280
  /**
282
281
  * Completes the deferred with a success value. Returns `true` if this was the
283
282
  * first completion, `false` if already completed.
@@ -298,11 +297,10 @@ export const succeed: {
298
297
  * @since 4.0.0
299
298
  * @category mutations
300
299
  */
301
- <A, E>(self: TxDeferred<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction>
300
+ <A, E>(self: TxDeferred<A, E>, value: A): Effect.Effect<boolean>
302
301
  } = dual(
303
302
  2,
304
- <A, E>(self: TxDeferred<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction> =>
305
- done(self, Res.succeed(value))
303
+ <A, E>(self: TxDeferred<A, E>, value: A): Effect.Effect<boolean> => done(self, Res.succeed(value))
306
304
  )
307
305
 
308
306
  /**
@@ -346,7 +344,7 @@ export const fail: {
346
344
  * @since 4.0.0
347
345
  * @category mutations
348
346
  */
349
- <E>(error: E): <A>(self: TxDeferred<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
347
+ <E>(error: E): <A>(self: TxDeferred<A, E>) => Effect.Effect<boolean>
350
348
  /**
351
349
  * Completes the deferred with a failure. Returns `true` if this was the first
352
350
  * completion, `false` if already completed.
@@ -367,11 +365,10 @@ export const fail: {
367
365
  * @since 4.0.0
368
366
  * @category mutations
369
367
  */
370
- <A, E>(self: TxDeferred<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction>
368
+ <A, E>(self: TxDeferred<A, E>, error: E): Effect.Effect<boolean>
371
369
  } = dual(
372
370
  2,
373
- <A, E>(self: TxDeferred<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction> =>
374
- done(self, Res.fail(error))
371
+ <A, E>(self: TxDeferred<A, E>, error: E): Effect.Effect<boolean> => done(self, Res.fail(error))
375
372
  )
376
373
 
377
374
  /**