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
@@ -54,7 +54,7 @@ export interface TxReentrantLock extends Inspectable, Pipeable {
54
54
  * @since 4.0.0
55
55
  * @category constructors
56
56
  */
57
- export declare const make: () => Effect.Effect<TxReentrantLock, never, Effect.Transaction>;
57
+ export declare const make: () => Effect.Effect<TxReentrantLock>;
58
58
  /**
59
59
  * Acquires a read lock. Blocks if another fiber holds the write lock.
60
60
  * If the current fiber already holds the write lock, the read lock is granted (reentrancy).
@@ -75,7 +75,7 @@ export declare const make: () => Effect.Effect<TxReentrantLock, never, Effect.Tr
75
75
  * @since 4.0.0
76
76
  * @category mutations
77
77
  */
78
- export declare const acquireRead: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
78
+ export declare const acquireRead: (self: TxReentrantLock) => Effect.Effect<number>;
79
79
  /**
80
80
  * Acquires a write lock. Blocks if any other fiber holds any lock.
81
81
  * If the current fiber already holds the write lock, the count is incremented (reentrancy).
@@ -97,7 +97,7 @@ export declare const acquireRead: (self: TxReentrantLock) => Effect.Effect<numbe
97
97
  * @since 4.0.0
98
98
  * @category mutations
99
99
  */
100
- export declare const acquireWrite: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
100
+ export declare const acquireWrite: (self: TxReentrantLock) => Effect.Effect<number>;
101
101
  /**
102
102
  * Releases a read lock held by the current fiber.
103
103
  * Returns the remaining number of read locks held by this fiber.
@@ -117,7 +117,7 @@ export declare const acquireWrite: (self: TxReentrantLock) => Effect.Effect<numb
117
117
  * @since 4.0.0
118
118
  * @category mutations
119
119
  */
120
- export declare const releaseRead: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
120
+ export declare const releaseRead: (self: TxReentrantLock) => Effect.Effect<number>;
121
121
  /**
122
122
  * Releases a write lock held by the current fiber.
123
123
  * Returns the remaining number of write locks held by this fiber.
@@ -137,7 +137,7 @@ export declare const releaseRead: (self: TxReentrantLock) => Effect.Effect<numbe
137
137
  * @since 4.0.0
138
138
  * @category mutations
139
139
  */
140
- export declare const releaseWrite: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
140
+ export declare const releaseWrite: (self: TxReentrantLock) => Effect.Effect<number>;
141
141
  /**
142
142
  * Acquires a read lock for the duration of the scope.
143
143
  * The lock is automatically released when the scope closes.
@@ -188,29 +188,6 @@ export declare const readLock: (self: TxReentrantLock) => Effect.Effect<number,
188
188
  * @category mutations
189
189
  */
190
190
  export declare const writeLock: (self: TxReentrantLock) => Effect.Effect<number, never, Scope.Scope>;
191
- /**
192
- * Alias for `writeLock`. Acquires a write lock for the duration of the scope.
193
- *
194
- * @example
195
- * ```ts
196
- * import { Effect, TxReentrantLock } from "effect"
197
- *
198
- * const program = Effect.gen(function*() {
199
- * const lock = yield* TxReentrantLock.make()
200
- *
201
- * yield* Effect.scoped(
202
- * Effect.gen(function*() {
203
- * yield* TxReentrantLock.lock(lock)
204
- * // exclusive lock is held
205
- * })
206
- * )
207
- * })
208
- * ```
209
- *
210
- * @since 4.0.0
211
- * @category mutations
212
- */
213
- export declare const lock: (self: TxReentrantLock) => Effect.Effect<number, never, Scope.Scope>;
214
191
  /**
215
192
  * Runs the provided effect while holding a read lock. The lock is automatically
216
193
  * released after the effect completes, fails, or is interrupted.
@@ -428,7 +405,7 @@ export declare const withLock: {
428
405
  * @since 4.0.0
429
406
  * @category getters
430
407
  */
431
- export declare const readLocks: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
408
+ export declare const readLocks: (self: TxReentrantLock) => Effect.Effect<number>;
432
409
  /**
433
410
  * Returns the number of write locks held (0 or the reentrant count).
434
411
  *
@@ -446,7 +423,7 @@ export declare const readLocks: (self: TxReentrantLock) => Effect.Effect<number,
446
423
  * @since 4.0.0
447
424
  * @category getters
448
425
  */
449
- export declare const writeLocks: (self: TxReentrantLock) => Effect.Effect<number, never, Effect.Transaction>;
426
+ export declare const writeLocks: (self: TxReentrantLock) => Effect.Effect<number>;
450
427
  /**
451
428
  * Checks if the lock is held by any fiber (read or write).
452
429
  *
@@ -464,7 +441,7 @@ export declare const writeLocks: (self: TxReentrantLock) => Effect.Effect<number
464
441
  * @since 4.0.0
465
442
  * @category getters
466
443
  */
467
- export declare const locked: (self: TxReentrantLock) => Effect.Effect<boolean, never, Effect.Transaction>;
444
+ export declare const locked: (self: TxReentrantLock) => Effect.Effect<boolean>;
468
445
  /**
469
446
  * Checks if any fiber holds a read lock.
470
447
  *
@@ -482,7 +459,7 @@ export declare const locked: (self: TxReentrantLock) => Effect.Effect<boolean, n
482
459
  * @since 4.0.0
483
460
  * @category getters
484
461
  */
485
- export declare const readLocked: (self: TxReentrantLock) => Effect.Effect<boolean, never, Effect.Transaction>;
462
+ export declare const readLocked: (self: TxReentrantLock) => Effect.Effect<boolean>;
486
463
  /**
487
464
  * Checks if any fiber holds a write lock.
488
465
  *
@@ -500,7 +477,7 @@ export declare const readLocked: (self: TxReentrantLock) => Effect.Effect<boolea
500
477
  * @since 4.0.0
501
478
  * @category getters
502
479
  */
503
- export declare const writeLocked: (self: TxReentrantLock) => Effect.Effect<boolean, never, Effect.Transaction>;
480
+ export declare const writeLocked: (self: TxReentrantLock) => Effect.Effect<boolean>;
504
481
  /**
505
482
  * Checks if the given value is a TxReentrantLock.
506
483
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TxReentrantLock.d.ts","sourceRoot":"","sources":["../src/TxReentrantLock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TxReentrantLock.d.ts","sourceRoot":"","sources":["../src/TxReentrantLock.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export const make = () => Effect.gen(function* () {
60
60
  self[TypeId] = TypeId;
61
61
  self.stateRef = stateRef;
62
62
  return self;
63
- });
63
+ }).pipe(Effect.tx);
64
64
  // =============================================================================
65
65
  // Mutations
66
66
  // =============================================================================
@@ -89,7 +89,7 @@ export const acquireRead = self => Effect.withFiber(fiber => Effect.gen(function
89
89
  const fiberId = fiber.id;
90
90
  // If another fiber holds the write lock, retry
91
91
  if (Option.isSome(state.writer) && state.writer.value[0] !== fiberId) {
92
- return yield* Effect.retryTransaction;
92
+ return yield* Effect.txRetry;
93
93
  }
94
94
  // Grant read lock
95
95
  const currentCount = Option.getOrElse(HashMap.get(state.readers, fiberId), () => 0);
@@ -99,7 +99,7 @@ export const acquireRead = self => Effect.withFiber(fiber => Effect.gen(function
99
99
  readers: HashMap.set(state.readers, fiberId, newCount)
100
100
  });
101
101
  return newCount;
102
- }));
102
+ }).pipe(Effect.tx));
103
103
  /**
104
104
  * Acquires a write lock. Blocks if any other fiber holds any lock.
105
105
  * If the current fiber already holds the write lock, the count is incremented (reentrancy).
@@ -126,12 +126,12 @@ export const acquireWrite = self => Effect.withFiber(fiber => Effect.gen(functio
126
126
  const fiberId = fiber.id;
127
127
  // If another fiber holds the write lock, retry
128
128
  if (Option.isSome(state.writer) && state.writer.value[0] !== fiberId) {
129
- return yield* Effect.retryTransaction;
129
+ return yield* Effect.txRetry;
130
130
  }
131
131
  // If other fibers hold read locks, retry
132
132
  for (const [readerId] of state.readers) {
133
133
  if (readerId !== fiberId && Option.getOrElse(HashMap.get(state.readers, readerId), () => 0) > 0) {
134
- return yield* Effect.retryTransaction;
134
+ return yield* Effect.txRetry;
135
135
  }
136
136
  }
137
137
  // Grant write lock
@@ -150,7 +150,7 @@ export const acquireWrite = self => Effect.withFiber(fiber => Effect.gen(functio
150
150
  writer: Option.some([fiberId, 1])
151
151
  });
152
152
  return 1;
153
- }));
153
+ }).pipe(Effect.tx));
154
154
  /**
155
155
  * Releases a read lock held by the current fiber.
156
156
  * Returns the remaining number of read locks held by this fiber.
@@ -182,7 +182,7 @@ export const releaseRead = self => Effect.withFiber(fiber => Effect.gen(function
182
182
  readers: newReaders
183
183
  });
184
184
  return newCount;
185
- }));
185
+ }).pipe(Effect.tx));
186
186
  /**
187
187
  * Releases a write lock held by the current fiber.
188
188
  * Returns the remaining number of write locks held by this fiber.
@@ -213,7 +213,7 @@ export const releaseWrite = self => Effect.withFiber(fiber => Effect.gen(functio
213
213
  writer: newWriter
214
214
  });
215
215
  return newCount;
216
- }));
216
+ }).pipe(Effect.tx));
217
217
  /**
218
218
  * Acquires a read lock for the duration of the scope.
219
219
  * The lock is automatically released when the scope closes.
@@ -238,7 +238,7 @@ export const releaseWrite = self => Effect.withFiber(fiber => Effect.gen(functio
238
238
  * @since 4.0.0
239
239
  * @category mutations
240
240
  */
241
- export const readLock = self => Effect.acquireRelease(Effect.transaction(acquireRead(self)), () => Effect.transaction(releaseRead(self)));
241
+ export const readLock = self => Effect.acquireRelease(acquireRead(self), () => releaseRead(self));
242
242
  /**
243
243
  * Acquires a write lock for the duration of the scope.
244
244
  * The lock is automatically released when the scope closes.
@@ -263,30 +263,7 @@ export const readLock = self => Effect.acquireRelease(Effect.transaction(acquire
263
263
  * @since 4.0.0
264
264
  * @category mutations
265
265
  */
266
- export const writeLock = self => Effect.acquireRelease(Effect.transaction(acquireWrite(self)), () => Effect.transaction(releaseWrite(self)));
267
- /**
268
- * Alias for `writeLock`. Acquires a write lock for the duration of the scope.
269
- *
270
- * @example
271
- * ```ts
272
- * import { Effect, TxReentrantLock } from "effect"
273
- *
274
- * const program = Effect.gen(function*() {
275
- * const lock = yield* TxReentrantLock.make()
276
- *
277
- * yield* Effect.scoped(
278
- * Effect.gen(function*() {
279
- * yield* TxReentrantLock.lock(lock)
280
- * // exclusive lock is held
281
- * })
282
- * )
283
- * })
284
- * ```
285
- *
286
- * @since 4.0.0
287
- * @category mutations
288
- */
289
- export const lock = writeLock;
266
+ export const writeLock = self => Effect.acquireRelease(acquireWrite(self), () => releaseWrite(self));
290
267
  /**
291
268
  * Runs the provided effect while holding a read lock. The lock is automatically
292
269
  * released after the effect completes, fails, or is interrupted.
@@ -311,10 +288,10 @@ export const lock = writeLock;
311
288
  export const withReadLock = (...args) => {
312
289
  if (args.length === 1) {
313
290
  const [effect] = args;
314
- return self => Effect.acquireUseRelease(Effect.transaction(acquireRead(self)), () => effect, () => Effect.transaction(releaseRead(self)));
291
+ return self => Effect.acquireUseRelease(acquireRead(self), () => effect, () => releaseRead(self));
315
292
  }
316
293
  const [self, effect] = args;
317
- return Effect.acquireUseRelease(Effect.transaction(acquireRead(self)), () => effect, () => Effect.transaction(releaseRead(self)));
294
+ return Effect.acquireUseRelease(acquireRead(self), () => effect, () => releaseRead(self));
318
295
  };
319
296
  /**
320
297
  * Runs the provided effect while holding a write lock. The lock is automatically
@@ -340,10 +317,10 @@ export const withReadLock = (...args) => {
340
317
  export const withWriteLock = (...args) => {
341
318
  if (args.length === 1) {
342
319
  const [effect] = args;
343
- return self => Effect.acquireUseRelease(Effect.transaction(acquireWrite(self)), () => effect, () => Effect.transaction(releaseWrite(self)));
320
+ return self => Effect.acquireUseRelease(acquireWrite(self), () => effect, () => releaseWrite(self));
344
321
  }
345
322
  const [self, effect] = args;
346
- return Effect.acquireUseRelease(Effect.transaction(acquireWrite(self)), () => effect, () => Effect.transaction(releaseWrite(self)));
323
+ return Effect.acquireUseRelease(acquireWrite(self), () => effect, () => releaseWrite(self));
347
324
  };
348
325
  /**
349
326
  * Alias for `withWriteLock`. Runs the provided effect while holding a write lock.
@@ -1 +1 @@
1
- {"version":3,"file":"TxReentrantLock.js","names":["Effect","HashMap","NodeInspectSymbol","toJson","Option","pipeArguments","hasProperty","TxRef","TypeId","emptyState","readers","empty","writer","none","TxReentrantLockProto","toJSON","_id","toString","pipe","arguments","make","gen","stateRef","self","Object","create","acquireRead","withFiber","fiber","state","get","fiberId","id","isSome","value","retryTransaction","currentCount","getOrElse","newCount","set","acquireWrite","readerId","some","releaseRead","newReaders","remove","releaseWrite","isNone","newWriter","readLock","acquireRelease","transaction","writeLock","lock","withReadLock","args","length","effect","acquireUseRelease","withWriteLock","withLock","readLocks","total","count","writeLocks","locked","size","readLocked","writeLocked","isTxReentrantLock","u"],"sources":["../src/TxReentrantLock.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TxReentrantLock.js","names":["Effect","HashMap","NodeInspectSymbol","toJson","Option","pipeArguments","hasProperty","TxRef","TypeId","emptyState","readers","empty","writer","none","TxReentrantLockProto","toJSON","_id","toString","pipe","arguments","make","gen","stateRef","self","Object","create","tx","acquireRead","withFiber","fiber","state","get","fiberId","id","isSome","value","txRetry","currentCount","getOrElse","newCount","set","acquireWrite","readerId","some","releaseRead","newReaders","remove","releaseWrite","isNone","newWriter","readLock","acquireRelease","writeLock","withReadLock","args","length","effect","acquireUseRelease","withWriteLock","withLock","readLocks","total","count","writeLocks","locked","size","readLocked","writeLocked","isTxReentrantLock","u"],"sources":["../src/TxReentrantLock.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/TxRef.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Accessed values are tracked by the transaction in order to detect conflicts and in order to
5
5
  * track changes, a transaction will retry whenever a conflict is detected or whenever the
6
- * transaction explicitely calls to `Effect.retryTransaction` and any of the accessed TxRef values
6
+ * transaction explicitely calls to `Effect.txRetry` and any of the accessed TxRef values
7
7
  * change.
8
8
  *
9
9
  * @since 4.0.0
@@ -17,7 +17,7 @@ declare const TypeId = "~effect/transactions/TxRef";
17
17
  *
18
18
  * Accessed values are tracked by the transaction in order to detect conflicts and in order to
19
19
  * track changes, a transaction will retry whenever a conflict is detected or whenever the
20
- * transaction explicitely calls to `Effect.retryTransaction` and any of the accessed TxRef values
20
+ * transaction explicitely calls to `Effect.txRetry` and any of the accessed TxRef values
21
21
  * change.
22
22
  *
23
23
  * @since 4.0.0
@@ -31,12 +31,12 @@ declare const TypeId = "~effect/transactions/TxRef";
31
31
  * const ref: TxRef.TxRef<number> = yield* TxRef.make(0)
32
32
  *
33
33
  * // Use within a transaction
34
- * yield* Effect.transaction(Effect.gen(function*() {
34
+ * yield* Effect.tx(Effect.gen(function*() {
35
35
  * const current = yield* TxRef.get(ref)
36
36
  * yield* TxRef.set(ref, current + 1)
37
37
  * }))
38
38
  *
39
- * const final = yield* Effect.transaction(TxRef.get(ref))
39
+ * const final = yield* TxRef.get(ref)
40
40
  * console.log(final) // 1
41
41
  * })
42
42
  * ```
@@ -58,21 +58,21 @@ export interface TxRef<in out A> extends Pipeable {
58
58
  *
59
59
  * const program = Effect.gen(function*() {
60
60
  * // Create a transactional reference with initial value
61
- * const counter = yield* Effect.transaction(TxRef.make(0))
62
- * const name = yield* Effect.transaction(TxRef.make("Alice"))
61
+ * const counter = yield* TxRef.make(0)
62
+ * const name = yield* TxRef.make("Alice")
63
63
  *
64
64
  * // Use in transactions
65
- * yield* Effect.transaction(Effect.gen(function*() {
65
+ * yield* Effect.tx(Effect.gen(function*() {
66
66
  * yield* TxRef.set(counter, 42)
67
67
  * yield* TxRef.set(name, "Bob")
68
68
  * }))
69
69
  *
70
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 42
71
- * console.log(yield* Effect.transaction(TxRef.get(name))) // "Bob"
70
+ * console.log(yield* TxRef.get(counter)) // 42
71
+ * console.log(yield* TxRef.get(name)) // "Bob"
72
72
  * })
73
73
  * ```
74
74
  */
75
- export declare const make: <A>(initial: A) => Effect.Effect<TxRef<A>, never, Effect.Transaction>;
75
+ export declare const make: <A>(initial: A) => Effect.Effect<TxRef<A>, never, never>;
76
76
  /**
77
77
  * Creates a new `TxRef` with the specified initial value.
78
78
  *
@@ -105,12 +105,10 @@ export declare const makeUnsafe: <A>(initial: A) => TxRef<A>;
105
105
  * const counter = yield* TxRef.make(0)
106
106
  *
107
107
  * // Modify and return both old and new value
108
- * const result = yield* Effect.transaction(
109
- * TxRef.modify(counter, (current) => [current * 2, current + 1])
110
- * )
108
+ * const result = yield* TxRef.modify(counter, (current) => [current * 2, current + 1])
111
109
  *
112
110
  * console.log(result) // 0 (the return value: current * 2)
113
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 1 (the new value: current + 1)
111
+ * console.log(yield* TxRef.get(counter)) // 1 (the new value: current + 1)
114
112
  * })
115
113
  * ```
116
114
  */
@@ -128,16 +126,14 @@ export declare const modify: {
128
126
  * const counter = yield* TxRef.make(0)
129
127
  *
130
128
  * // Modify and return both old and new value
131
- * const result = yield* Effect.transaction(
132
- * TxRef.modify(counter, (current) => [current * 2, current + 1])
133
- * )
129
+ * const result = yield* TxRef.modify(counter, (current) => [current * 2, current + 1])
134
130
  *
135
131
  * console.log(result) // 0 (the return value: current * 2)
136
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 1 (the new value: current + 1)
132
+ * console.log(yield* TxRef.get(counter)) // 1 (the new value: current + 1)
137
133
  * })
138
134
  * ```
139
135
  */
140
- <A, R>(f: (current: NoInfer<A>) => [returnValue: R, newValue: A]): (self: TxRef<A>) => Effect.Effect<R, never, Effect.Transaction>;
136
+ <A, R>(f: (current: NoInfer<A>) => [returnValue: R, newValue: A]): (self: TxRef<A>) => Effect.Effect<R>;
141
137
  /**
142
138
  * Modifies the value of the `TxRef` using the provided function.
143
139
  *
@@ -151,16 +147,14 @@ export declare const modify: {
151
147
  * const counter = yield* TxRef.make(0)
152
148
  *
153
149
  * // Modify and return both old and new value
154
- * const result = yield* Effect.transaction(
155
- * TxRef.modify(counter, (current) => [current * 2, current + 1])
156
- * )
150
+ * const result = yield* TxRef.modify(counter, (current) => [current * 2, current + 1])
157
151
  *
158
152
  * console.log(result) // 0 (the return value: current * 2)
159
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 1 (the new value: current + 1)
153
+ * console.log(yield* TxRef.get(counter)) // 1 (the new value: current + 1)
160
154
  * })
161
155
  * ```
162
156
  */
163
- <A, R>(self: TxRef<A>, f: (current: A) => [returnValue: R, newValue: A]): Effect.Effect<R, never, Effect.Transaction>;
157
+ <A, R>(self: TxRef<A>, f: (current: A) => [returnValue: R, newValue: A]): Effect.Effect<R>;
164
158
  };
165
159
  /**
166
160
  * Updates the value of the `TxRef` using the provided function.
@@ -175,11 +169,11 @@ export declare const modify: {
175
169
  * const counter = yield* TxRef.make(10)
176
170
  *
177
171
  * // Update the value using a function
178
- * yield* Effect.transaction(
172
+ * yield* Effect.tx(
179
173
  * TxRef.update(counter, (current) => current * 2)
180
174
  * )
181
175
  *
182
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 20
176
+ * console.log(yield* TxRef.get(counter)) // 20
183
177
  * })
184
178
  * ```
185
179
  */
@@ -197,15 +191,15 @@ export declare const update: {
197
191
  * const counter = yield* TxRef.make(10)
198
192
  *
199
193
  * // Update the value using a function
200
- * yield* Effect.transaction(
194
+ * yield* Effect.tx(
201
195
  * TxRef.update(counter, (current) => current * 2)
202
196
  * )
203
197
  *
204
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 20
198
+ * console.log(yield* TxRef.get(counter)) // 20
205
199
  * })
206
200
  * ```
207
201
  */
208
- <A>(f: (current: NoInfer<A>) => A): (self: TxRef<A>) => Effect.Effect<void, never, Effect.Transaction>;
202
+ <A>(f: (current: NoInfer<A>) => A): (self: TxRef<A>) => Effect.Effect<void>;
209
203
  /**
210
204
  * Updates the value of the `TxRef` using the provided function.
211
205
  *
@@ -219,15 +213,15 @@ export declare const update: {
219
213
  * const counter = yield* TxRef.make(10)
220
214
  *
221
215
  * // Update the value using a function
222
- * yield* Effect.transaction(
216
+ * yield* Effect.tx(
223
217
  * TxRef.update(counter, (current) => current * 2)
224
218
  * )
225
219
  *
226
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 20
220
+ * console.log(yield* TxRef.get(counter)) // 20
227
221
  * })
228
222
  * ```
229
223
  */
230
- <A>(self: TxRef<A>, f: (current: A) => A): Effect.Effect<void, never, Effect.Transaction>;
224
+ <A>(self: TxRef<A>, f: (current: A) => A): Effect.Effect<void>;
231
225
  };
232
226
  /**
233
227
  * Reads the current value of the `TxRef`.
@@ -242,7 +236,7 @@ export declare const update: {
242
236
  * const counter = yield* TxRef.make(42)
243
237
  *
244
238
  * // Read the value within a transaction
245
- * const value = yield* Effect.transaction(
239
+ * const value = yield* Effect.tx(
246
240
  * TxRef.get(counter)
247
241
  * )
248
242
  *
@@ -250,7 +244,7 @@ export declare const update: {
250
244
  * })
251
245
  * ```
252
246
  */
253
- export declare const get: <A>(self: TxRef<A>) => Effect.Effect<A, never, Effect.Transaction>;
247
+ export declare const get: <A>(self: TxRef<A>) => Effect.Effect<A>;
254
248
  /**
255
249
  * Sets the value of the `TxRef`.
256
250
  *
@@ -264,11 +258,11 @@ export declare const get: <A>(self: TxRef<A>) => Effect.Effect<A, never, Effect.
264
258
  * const counter = yield* TxRef.make(0)
265
259
  *
266
260
  * // Set a new value within a transaction
267
- * yield* Effect.transaction(
261
+ * yield* Effect.tx(
268
262
  * TxRef.set(counter, 100)
269
263
  * )
270
264
  *
271
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 100
265
+ * console.log(yield* TxRef.get(counter)) // 100
272
266
  * })
273
267
  * ```
274
268
  */
@@ -286,15 +280,15 @@ export declare const set: {
286
280
  * const counter = yield* TxRef.make(0)
287
281
  *
288
282
  * // Set a new value within a transaction
289
- * yield* Effect.transaction(
283
+ * yield* Effect.tx(
290
284
  * TxRef.set(counter, 100)
291
285
  * )
292
286
  *
293
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 100
287
+ * console.log(yield* TxRef.get(counter)) // 100
294
288
  * })
295
289
  * ```
296
290
  */
297
- <A>(value: A): (self: TxRef<A>) => Effect.Effect<void, never, Effect.Transaction>;
291
+ <A>(value: A): (self: TxRef<A>) => Effect.Effect<void>;
298
292
  /**
299
293
  * Sets the value of the `TxRef`.
300
294
  *
@@ -308,15 +302,15 @@ export declare const set: {
308
302
  * const counter = yield* TxRef.make(0)
309
303
  *
310
304
  * // Set a new value within a transaction
311
- * yield* Effect.transaction(
305
+ * yield* Effect.tx(
312
306
  * TxRef.set(counter, 100)
313
307
  * )
314
308
  *
315
- * console.log(yield* Effect.transaction(TxRef.get(counter))) // 100
309
+ * console.log(yield* TxRef.get(counter)) // 100
316
310
  * })
317
311
  * ```
318
312
  */
319
- <A>(self: TxRef<A>, value: A): Effect.Effect<void, never, Effect.Transaction>;
313
+ <A>(self: TxRef<A>, value: A): Effect.Effect<void>;
320
314
  };
321
315
  export {};
322
316
  //# sourceMappingURL=TxRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TxRef.d.ts","sourceRoot":"","sources":["../src/TxRef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TxRef.d.ts","sourceRoot":"","sources":["../src/TxRef.ts"],"names":[],"mappings":"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"}