@typed/fx 1.22.2 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/Fx.js.map +1 -1
- package/dist/cjs/Idle.js.map +1 -1
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/Pull.js.map +1 -1
- package/dist/cjs/Subject.js.map +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/helpers.js.map +1 -1
- package/dist/cjs/internal/keyed.js +1 -1
- package/dist/cjs/internal/keyed.js.map +1 -1
- package/dist/cjs/internal/share.js.map +1 -1
- package/dist/cjs/internal/sync-producer.js.map +1 -1
- package/dist/dts/AsyncData.d.ts +33 -33
- package/dist/dts/AsyncData.d.ts.map +1 -1
- package/dist/dts/Emitter.d.ts +6 -6
- package/dist/dts/Emitter.d.ts.map +1 -1
- package/dist/dts/Form.d.ts +12 -12
- package/dist/dts/Form.d.ts.map +1 -1
- package/dist/dts/FormEntry.d.ts +9 -9
- package/dist/dts/FormEntry.d.ts.map +1 -1
- package/dist/dts/Fx.d.ts +113 -113
- package/dist/dts/Fx.d.ts.map +1 -1
- package/dist/dts/Guard.d.ts +5 -5
- package/dist/dts/Guard.d.ts.map +1 -1
- package/dist/dts/Idle.d.ts +12 -12
- package/dist/dts/Idle.d.ts.map +1 -1
- package/dist/dts/Pull.d.ts +5 -5
- package/dist/dts/Pull.d.ts.map +1 -1
- package/dist/dts/Push.d.ts +20 -20
- package/dist/dts/Push.d.ts.map +1 -1
- package/dist/dts/RefArray.d.ts +33 -33
- package/dist/dts/RefArray.d.ts.map +1 -1
- package/dist/dts/RefChunk.d.ts +27 -27
- package/dist/dts/RefChunk.d.ts.map +1 -1
- package/dist/dts/RefHashMap.d.ts +17 -17
- package/dist/dts/RefHashMap.d.ts.map +1 -1
- package/dist/dts/RefHashSet.d.ts +5 -5
- package/dist/dts/RefHashSet.d.ts.map +1 -1
- package/dist/dts/RefSubject.d.ts +53 -53
- package/dist/dts/RefSubject.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +31 -31
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +11 -11
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Subject.d.ts +5 -5
- package/dist/dts/Subject.d.ts.map +1 -1
- package/dist/dts/Versioned.d.ts +11 -11
- package/dist/dts/Versioned.d.ts.map +1 -1
- package/dist/dts/internal/DeferredRef.d.ts +7 -7
- package/dist/dts/internal/core.d.ts +51 -51
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/effect-loop-operator.d.ts +4 -4
- package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -1
- package/dist/dts/internal/effect-operator.d.ts +11 -11
- package/dist/dts/internal/effect-operator.d.ts.map +1 -1
- package/dist/dts/internal/effect-producer.d.ts +9 -9
- package/dist/dts/internal/effect-producer.d.ts.map +1 -1
- package/dist/dts/internal/helpers.d.ts +25 -25
- package/dist/dts/internal/helpers.d.ts.map +1 -1
- package/dist/dts/internal/protos.d.ts +9 -9
- package/dist/dts/internal/protos.d.ts.map +1 -1
- package/dist/dts/internal/provide.d.ts +10 -10
- package/dist/dts/internal/provide.d.ts.map +1 -1
- package/dist/dts/internal/share.d.ts +2 -2
- package/dist/dts/internal/share.d.ts.map +1 -1
- package/dist/dts/internal/sync-producer.d.ts +6 -6
- package/dist/dts/internal/sync-producer.d.ts.map +1 -1
- package/dist/esm/Form.js.map +1 -1
- package/dist/esm/FormEntry.js.map +1 -1
- package/dist/esm/Fx.js.map +1 -1
- package/dist/esm/Idle.js.map +1 -1
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Pull.js.map +1 -1
- package/dist/esm/RefSubject.js.map +1 -1
- package/dist/esm/Subject.js.map +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/helpers.js.map +1 -1
- package/dist/esm/internal/keyed.js +1 -1
- package/dist/esm/internal/keyed.js.map +1 -1
- package/dist/esm/internal/share.js.map +1 -1
- package/dist/esm/internal/sync-producer.js.map +1 -1
- package/package.json +6 -6
- package/src/AsyncData.ts +86 -86
- package/src/Emitter.ts +9 -9
- package/src/Form.ts +39 -39
- package/src/FormEntry.ts +25 -25
- package/src/Fx.ts +122 -124
- package/src/Guard.ts +7 -7
- package/src/Idle.ts +23 -23
- package/src/Match.ts +3 -3
- package/src/Pull.ts +10 -10
- package/src/Push.ts +33 -33
- package/src/RefArray.ts +36 -36
- package/src/RefChunk.ts +30 -30
- package/src/RefHashMap.ts +24 -24
- package/src/RefHashSet.ts +6 -6
- package/src/RefSubject.ts +184 -184
- package/src/Sink.ts +91 -91
- package/src/Stream.ts +19 -19
- package/src/Subject.ts +21 -21
- package/src/Versioned.ts +23 -23
- package/src/internal/DeferredRef.ts +6 -6
- package/src/internal/core.ts +132 -132
- package/src/internal/effect-loop-operator.ts +4 -4
- package/src/internal/effect-operator.ts +13 -13
- package/src/internal/effect-producer.ts +14 -14
- package/src/internal/helpers.ts +36 -36
- package/src/internal/keyed.ts +3 -3
- package/src/internal/protos.ts +12 -12
- package/src/internal/provide.ts +10 -10
- package/src/internal/share.ts +4 -4
- package/src/internal/sync-producer.ts +12 -12
package/src/Sink.ts
CHANGED
|
@@ -18,8 +18,8 @@ import { type Bounds } from "./internal/bounds.js"
|
|
|
18
18
|
* @since 1.20.0
|
|
19
19
|
*/
|
|
20
20
|
export interface Sink<out R, in E, in A> {
|
|
21
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
22
|
-
onSuccess(value: A): Effect.Effect<
|
|
21
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R>
|
|
22
|
+
onSuccess(value: A): Effect.Effect<unknown, never, R>
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -46,7 +46,7 @@ export namespace Sink {
|
|
|
46
46
|
*/
|
|
47
47
|
export interface Tagged<I, E, A> extends Sink<I, E, A> {
|
|
48
48
|
readonly tag: C.Tagged<I, Sink<never, E, A>>
|
|
49
|
-
readonly make: <R>(sink: Sink<R, E, A>) => Layer.Layer<
|
|
49
|
+
readonly make: <R>(sink: Sink<R, E, A>) => Layer.Layer<I, never, R>
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -69,8 +69,8 @@ export type Success<T> = Sink.Success<T>
|
|
|
69
69
|
* @since 1.20.0
|
|
70
70
|
*/
|
|
71
71
|
export function make<E, R, A, R2>(
|
|
72
|
-
onFailure: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
73
|
-
onSuccess: (value: A) => Effect.Effect<
|
|
72
|
+
onFailure: (cause: Cause.Cause<E>) => Effect.Effect<unknown, never, R>,
|
|
73
|
+
onSuccess: (value: A) => Effect.Effect<unknown, never, R2>
|
|
74
74
|
): Sink<R | R2, E, A> {
|
|
75
75
|
return {
|
|
76
76
|
onFailure,
|
|
@@ -85,7 +85,7 @@ export function make<E, R, A, R2>(
|
|
|
85
85
|
* @category models
|
|
86
86
|
*/
|
|
87
87
|
export interface WithEarlyExit<R, E, A> extends Sink<R, E, A> {
|
|
88
|
-
readonly earlyExit: Effect.Effect<
|
|
88
|
+
readonly earlyExit: Effect.Effect<void>
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -93,9 +93,9 @@ export interface WithEarlyExit<R, E, A> extends Sink<R, E, A> {
|
|
|
93
93
|
*/
|
|
94
94
|
export function withEarlyExit<R, E, A, R2, B>(
|
|
95
95
|
sink: Sink<R, E, A>,
|
|
96
|
-
f: (sink: WithEarlyExit<R, E, A>) => Effect.Effect<
|
|
97
|
-
): Effect.Effect<R | R2
|
|
98
|
-
return Effect.asyncEffect<never, never, void, R | R2
|
|
96
|
+
f: (sink: WithEarlyExit<R, E, A>) => Effect.Effect<B, E, R2>
|
|
97
|
+
): Effect.Effect<void, never, R | R2> {
|
|
98
|
+
return Effect.asyncEffect<void, never, never, void, never, R | R2>((resume) => {
|
|
99
99
|
const earlyExit: WithEarlyExit<R, E, A> = {
|
|
100
100
|
...sink,
|
|
101
101
|
earlyExit: Effect.sync(() => resume(Effect.unit))
|
|
@@ -132,7 +132,7 @@ class MapSink<R, E, A, B> implements Sink<R, E, A> {
|
|
|
132
132
|
this.onSuccess = this.onSuccess.bind(this)
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
135
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
136
136
|
return this.sink.onFailure(cause)
|
|
137
137
|
}
|
|
138
138
|
|
|
@@ -157,7 +157,7 @@ class FilterSink<R, E, A> implements Sink<R, E, A> {
|
|
|
157
157
|
this.onSuccess = this.onSuccess.bind(this)
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
160
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
161
161
|
return this.sink.onFailure(cause)
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -183,7 +183,7 @@ class FilterMapSink<R, E, A, B> implements Sink<R, E, A> {
|
|
|
183
183
|
this.onSuccess = this.onSuccess.bind(this)
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
186
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
187
187
|
return this.sink.onFailure(cause)
|
|
188
188
|
}
|
|
189
189
|
|
|
@@ -198,13 +198,13 @@ class FilterMapSink<R, E, A, B> implements Sink<R, E, A> {
|
|
|
198
198
|
* @since 1.20.0
|
|
199
199
|
*/
|
|
200
200
|
export const mapEffect: {
|
|
201
|
-
<B, R2, E2, A>(f: (b: B) => Effect.Effect<
|
|
201
|
+
<B, R2, E2, A>(f: (b: B) => Effect.Effect<A, E2, R2>): <R, E>(
|
|
202
202
|
sink: Sink<R, E | E2, A>
|
|
203
203
|
) => Sink<R | R2, E | E2, B>
|
|
204
|
-
<R, E, A, R2, E2, B>(sink: Sink<R, E | E2, A>, f: (b: B) => Effect.Effect<
|
|
204
|
+
<R, E, A, R2, E2, B>(sink: Sink<R, E | E2, A>, f: (b: B) => Effect.Effect<A, E2, R2>): Sink<R | R2, E | E2, B>
|
|
205
205
|
} = dual(2, function mapEffect<R, E, A, R2, E2, B>(
|
|
206
206
|
sink: Sink<R, E | E2, A>,
|
|
207
|
-
f: (b: B) => Effect.Effect<
|
|
207
|
+
f: (b: B) => Effect.Effect<A, E2, R2>
|
|
208
208
|
): Sink<R | R2, E | E2, B> {
|
|
209
209
|
return new MapEffectSink(sink, f)
|
|
210
210
|
})
|
|
@@ -212,13 +212,13 @@ export const mapEffect: {
|
|
|
212
212
|
class MapEffectSink<R, E, A, R2, E2, B> implements Sink<R | R2, E2, B> {
|
|
213
213
|
constructor(
|
|
214
214
|
readonly sink: Sink<R, E | E2, A>,
|
|
215
|
-
readonly f: (b: B) => Effect.Effect<
|
|
215
|
+
readonly f: (b: B) => Effect.Effect<A, E2, R2>
|
|
216
216
|
) {
|
|
217
217
|
this.onFailure = this.onFailure.bind(this)
|
|
218
218
|
this.onSuccess = this.onSuccess.bind(this)
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
onFailure(cause: Cause.Cause<E2>): Effect.Effect<R | R2
|
|
221
|
+
onFailure(cause: Cause.Cause<E2>): Effect.Effect<unknown, never, R | R2> {
|
|
222
222
|
return this.sink.onFailure(cause)
|
|
223
223
|
}
|
|
224
224
|
|
|
@@ -231,17 +231,17 @@ class MapEffectSink<R, E, A, R2, E2, B> implements Sink<R | R2, E2, B> {
|
|
|
231
231
|
* @since 1.20.0
|
|
232
232
|
*/
|
|
233
233
|
export const filterMapEffect: {
|
|
234
|
-
<B, R2, E2, A>(f: (b: B) => Effect.Effect<
|
|
234
|
+
<B, R2, E2, A>(f: (b: B) => Effect.Effect<Option.Option<A>, E2, R2>): <R, E>(
|
|
235
235
|
sink: Sink<R, E | E2, A>
|
|
236
236
|
) => Sink<R | R2, E | E2, B>
|
|
237
237
|
|
|
238
238
|
<R, E, A, R2, E2, B>(
|
|
239
239
|
sink: Sink<R, E | E2, A>,
|
|
240
|
-
f: (b: B) => Effect.Effect<
|
|
240
|
+
f: (b: B) => Effect.Effect<Option.Option<A>, E2, R2>
|
|
241
241
|
): Sink<R | R2, E | E2, B>
|
|
242
242
|
} = dual(2, function filterMapEffect<R, E, A, R2, E2, B>(
|
|
243
243
|
sink: Sink<R, E | E2, A>,
|
|
244
|
-
f: (b: B) => Effect.Effect<
|
|
244
|
+
f: (b: B) => Effect.Effect<Option.Option<A>, E2, R2>
|
|
245
245
|
): Sink<R | R2, E | E2, B> {
|
|
246
246
|
return new FilterMapEffectSink(sink, f)
|
|
247
247
|
})
|
|
@@ -249,13 +249,13 @@ export const filterMapEffect: {
|
|
|
249
249
|
class FilterMapEffectSink<R, E, A, R2, E2, B> implements Sink<R | R2, E2, B> {
|
|
250
250
|
constructor(
|
|
251
251
|
readonly sink: Sink<R, E | E2, A>,
|
|
252
|
-
readonly f: (b: B) => Effect.Effect<
|
|
252
|
+
readonly f: (b: B) => Effect.Effect<Option.Option<A>, E2, R2>
|
|
253
253
|
) {
|
|
254
254
|
this.onFailure = this.onFailure.bind(this)
|
|
255
255
|
this.onSuccess = this.onSuccess.bind(this)
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
-
onFailure(cause: Cause.Cause<E2>): Effect.Effect<R | R2
|
|
258
|
+
onFailure(cause: Cause.Cause<E2>): Effect.Effect<unknown, never, R | R2> {
|
|
259
259
|
return this.sink.onFailure(cause)
|
|
260
260
|
}
|
|
261
261
|
|
|
@@ -274,13 +274,13 @@ class FilterMapEffectSink<R, E, A, R2, E2, B> implements Sink<R | R2, E2, B> {
|
|
|
274
274
|
* @since 1.20.0
|
|
275
275
|
*/
|
|
276
276
|
export const filterEffect: {
|
|
277
|
-
<A, R2, E2>(f: (a: A) => Effect.Effect<
|
|
277
|
+
<A, R2, E2>(f: (a: A) => Effect.Effect<boolean, E2, R2>): <R, E>(
|
|
278
278
|
sink: Sink<R, E | E2, A>
|
|
279
279
|
) => Sink<R | R2, E | E2, A>
|
|
280
|
-
<R, E, A>(sink: Sink<R, E, A>, f: (a: A) => Effect.Effect<
|
|
280
|
+
<R, E, A>(sink: Sink<R, E, A>, f: (a: A) => Effect.Effect<boolean, E, R>): Sink<R, E, A>
|
|
281
281
|
} = dual(2, function filterEffect<R, E, A, R2>(
|
|
282
282
|
sink: Sink<R, E, A>,
|
|
283
|
-
f: (a: A) => Effect.Effect<
|
|
283
|
+
f: (a: A) => Effect.Effect<boolean, E, R2>
|
|
284
284
|
): Sink<R | R2, E, A> {
|
|
285
285
|
return new FilterEffectSink<R | R2, E, A>(sink, f)
|
|
286
286
|
})
|
|
@@ -288,13 +288,13 @@ export const filterEffect: {
|
|
|
288
288
|
class FilterEffectSink<R, E, A> implements Sink<R, E, A> {
|
|
289
289
|
constructor(
|
|
290
290
|
readonly sink: Sink<R, E, A>,
|
|
291
|
-
readonly f: (a: A) => Effect.Effect<
|
|
291
|
+
readonly f: (a: A) => Effect.Effect<boolean, E, R>
|
|
292
292
|
) {
|
|
293
293
|
this.onFailure = this.onFailure.bind(this)
|
|
294
294
|
this.onSuccess = this.onSuccess.bind(this)
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
297
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
298
298
|
return this.sink.onFailure(cause)
|
|
299
299
|
}
|
|
300
300
|
|
|
@@ -313,13 +313,13 @@ class FilterEffectSink<R, E, A> implements Sink<R, E, A> {
|
|
|
313
313
|
* @since 1.20.0
|
|
314
314
|
*/
|
|
315
315
|
export const tapEffect: {
|
|
316
|
-
<A, R2, E2>(f: (a: A) => Effect.Effect<
|
|
316
|
+
<A, R2, E2>(f: (a: A) => Effect.Effect<unknown, E2, R2>): <R, E>(
|
|
317
317
|
sink: Sink<R, E | E2, A>
|
|
318
318
|
) => Sink<R | R2, E | E2, A>
|
|
319
|
-
<R, E, A, R2, E2>(sink: Sink<R, E | E2, A>, f: (a: A) => Effect.Effect<
|
|
319
|
+
<R, E, A, R2, E2>(sink: Sink<R, E | E2, A>, f: (a: A) => Effect.Effect<unknown, E2, R2>): Sink<R | R2, E | E2, A>
|
|
320
320
|
} = dual(2, function tapEffect<R, E, A, R2, E2>(
|
|
321
321
|
sink: Sink<R, E | E2, A>,
|
|
322
|
-
f: (a: A) => Effect.Effect<
|
|
322
|
+
f: (a: A) => Effect.Effect<unknown, E2, R2>
|
|
323
323
|
): Sink<R | R2, E | E2, A> {
|
|
324
324
|
return new TapEffectSink(sink, f)
|
|
325
325
|
})
|
|
@@ -327,13 +327,13 @@ export const tapEffect: {
|
|
|
327
327
|
class TapEffectSink<R, E, A, R2, E2> implements Sink<R | R2, E, A> {
|
|
328
328
|
constructor(
|
|
329
329
|
readonly sink: Sink<R, E | E2, A>,
|
|
330
|
-
readonly f: (a: A) => Effect.Effect<
|
|
330
|
+
readonly f: (a: A) => Effect.Effect<unknown, E2, R2>
|
|
331
331
|
) {
|
|
332
332
|
this.onFailure = this.onFailure.bind(this)
|
|
333
333
|
this.onSuccess = this.onSuccess.bind(this)
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<R | R2
|
|
336
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R | R2> {
|
|
337
337
|
return this.sink.onFailure(cause)
|
|
338
338
|
}
|
|
339
339
|
|
|
@@ -371,7 +371,7 @@ class LoopSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
371
371
|
this.onSuccess = this.onSuccess.bind(this)
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
374
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
375
375
|
return this.sink.onFailure(cause)
|
|
376
376
|
}
|
|
377
377
|
|
|
@@ -412,7 +412,7 @@ class LoopCauseSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
412
412
|
this.onSuccess = this.onSuccess.bind(this)
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
415
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
416
416
|
const [c, acc] = this.f(this.seed, cause)
|
|
417
417
|
this.seed = acc
|
|
418
418
|
return this.sink.onFailure(c)
|
|
@@ -449,7 +449,7 @@ class FilterMapLoopSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
449
449
|
this.onSuccess = this.onSuccess.bind(this)
|
|
450
450
|
}
|
|
451
451
|
|
|
452
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
452
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
453
453
|
return this.sink.onFailure(cause)
|
|
454
454
|
}
|
|
455
455
|
|
|
@@ -491,7 +491,7 @@ class FilterMapLoopCauseSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
491
491
|
this.onSuccess = this.onSuccess.bind(this)
|
|
492
492
|
}
|
|
493
493
|
|
|
494
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
494
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
495
495
|
const [option, acc] = this.f(this.seed, cause)
|
|
496
496
|
this.seed = acc
|
|
497
497
|
if (Option.isSome(option)) return this.sink.onFailure(option.value)
|
|
@@ -507,18 +507,18 @@ class FilterMapLoopCauseSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
507
507
|
* @since 1.20.0
|
|
508
508
|
*/
|
|
509
509
|
export const loopEffect: {
|
|
510
|
-
<B, A, R2, E2, C>(seed: B, f: (acc: B, a: A) => Effect.Effect<
|
|
510
|
+
<B, A, R2, E2, C>(seed: B, f: (acc: B, a: A) => Effect.Effect<readonly [C, B], E2, R2>): <R, E>(
|
|
511
511
|
sink: Sink<R, E, C>
|
|
512
512
|
) => Sink<R | R2, E | E2, A>
|
|
513
513
|
<R, E, A, B, C>(
|
|
514
514
|
sink: Sink<R, E, C>,
|
|
515
515
|
seed: B,
|
|
516
|
-
f: (acc: B, a: A) => Effect.Effect<
|
|
516
|
+
f: (acc: B, a: A) => Effect.Effect<readonly [C, B], E, R>
|
|
517
517
|
): Sink<R, E, A>
|
|
518
518
|
} = dual(3, function loopEffect<R, E, A, B, C>(
|
|
519
519
|
sink: Sink<R, E, C>,
|
|
520
520
|
seed: B,
|
|
521
|
-
f: (acc: B, a: A) => Effect.Effect<
|
|
521
|
+
f: (acc: B, a: A) => Effect.Effect<readonly [C, B], E, R>
|
|
522
522
|
): Sink<R, E, A> {
|
|
523
523
|
return new LoopEffectSink(sink, seed, f)
|
|
524
524
|
})
|
|
@@ -527,13 +527,13 @@ class LoopEffectSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
527
527
|
constructor(
|
|
528
528
|
readonly sink: Sink<R, E, C>,
|
|
529
529
|
private seed: B,
|
|
530
|
-
readonly f: (acc: B, a: A) => Effect.Effect<
|
|
530
|
+
readonly f: (acc: B, a: A) => Effect.Effect<readonly [C, B], E, R>
|
|
531
531
|
) {
|
|
532
532
|
this.onFailure = this.onFailure.bind(this)
|
|
533
533
|
this.onSuccess = this.onSuccess.bind(this)
|
|
534
534
|
}
|
|
535
535
|
|
|
536
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
536
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
537
537
|
return this.sink.onFailure(cause)
|
|
538
538
|
}
|
|
539
539
|
|
|
@@ -552,18 +552,18 @@ class LoopEffectSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
552
552
|
* @since 1.20.0
|
|
553
553
|
*/
|
|
554
554
|
export const filterMapLoopEffect: {
|
|
555
|
-
<B, A, R2, E2, C>(seed: B, f: (acc: B, a: A) => Effect.Effect<
|
|
555
|
+
<B, A, R2, E2, C>(seed: B, f: (acc: B, a: A) => Effect.Effect<readonly [Option.Option<C>, B], E2, R2>): <R, E>(
|
|
556
556
|
sink: Sink<R, E, C>
|
|
557
557
|
) => Sink<R | R2, E | E2, A>
|
|
558
558
|
<R, E, A, B, R2, C>(
|
|
559
559
|
sink: Sink<R, E, C>,
|
|
560
560
|
seed: B,
|
|
561
|
-
f: (acc: B, a: A) => Effect.Effect<
|
|
561
|
+
f: (acc: B, a: A) => Effect.Effect<readonly [Option.Option<C>, B], E, R2>
|
|
562
562
|
): Sink<R | R2, E, A>
|
|
563
563
|
} = dual(3, function filterMapLoopEffect<R, E, A, B, R2, C>(
|
|
564
564
|
sink: Sink<R, E, C>,
|
|
565
565
|
seed: B,
|
|
566
|
-
f: (acc: B, a: A) => Effect.Effect<
|
|
566
|
+
f: (acc: B, a: A) => Effect.Effect<readonly [Option.Option<C>, B], E, R2>
|
|
567
567
|
): Sink<R | R2, E, A> {
|
|
568
568
|
return new FilterMapLoopEffectSink(sink, seed, f)
|
|
569
569
|
})
|
|
@@ -572,13 +572,13 @@ class FilterMapLoopEffectSink<R, E, A, B, R2, C> implements Sink<R | R2, E, A> {
|
|
|
572
572
|
constructor(
|
|
573
573
|
readonly sink: Sink<R, E, C>,
|
|
574
574
|
private seed: B,
|
|
575
|
-
readonly f: (acc: B, a: A) => Effect.Effect<
|
|
575
|
+
readonly f: (acc: B, a: A) => Effect.Effect<readonly [Option.Option<C>, B], E, R2>
|
|
576
576
|
) {
|
|
577
577
|
this.onFailure = this.onFailure.bind(this)
|
|
578
578
|
this.onSuccess = this.onSuccess.bind(this)
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
581
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
582
582
|
return this.sink.onFailure(cause)
|
|
583
583
|
}
|
|
584
584
|
|
|
@@ -600,19 +600,19 @@ class FilterMapLoopEffectSink<R, E, A, B, R2, C> implements Sink<R | R2, E, A> {
|
|
|
600
600
|
export const loopCauseEffect: {
|
|
601
601
|
<B, A, R2, E2, C>(
|
|
602
602
|
seed: B,
|
|
603
|
-
f: (acc: B, a: Cause.Cause<A>) => Effect.Effect<
|
|
603
|
+
f: (acc: B, a: Cause.Cause<A>) => Effect.Effect<readonly [Cause.Cause<C>, B], E2, R2>
|
|
604
604
|
): <R, E>(
|
|
605
605
|
sink: Sink<R, E | C, A>
|
|
606
606
|
) => Sink<R, E | C, A>
|
|
607
607
|
<R, E, A, B, C>(
|
|
608
608
|
sink: Sink<R, E | C, A>,
|
|
609
609
|
seed: B,
|
|
610
|
-
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<
|
|
610
|
+
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<readonly [Cause.Cause<C>, B], E, R>
|
|
611
611
|
): Sink<R, E | C, A>
|
|
612
612
|
} = dual(3, function loopCauseEffect<R, E, A, B, C>(
|
|
613
613
|
sink: Sink<R, E | C, A>,
|
|
614
614
|
seed: B,
|
|
615
|
-
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<
|
|
615
|
+
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<readonly [Cause.Cause<C>, B], E, R>
|
|
616
616
|
): Sink<R, E | C, A> {
|
|
617
617
|
return new LoopCauseEffectSink(sink, seed, f)
|
|
618
618
|
})
|
|
@@ -621,13 +621,13 @@ class LoopCauseEffectSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
621
621
|
constructor(
|
|
622
622
|
readonly sink: Sink<R, E | C, A>,
|
|
623
623
|
private seed: B,
|
|
624
|
-
readonly f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<
|
|
624
|
+
readonly f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<readonly [Cause.Cause<C>, B], E, R>
|
|
625
625
|
) {
|
|
626
626
|
this.onFailure = this.onFailure.bind(this)
|
|
627
627
|
this.onSuccess = this.onSuccess.bind(this)
|
|
628
628
|
}
|
|
629
629
|
|
|
630
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
630
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
631
631
|
return Effect.matchCauseEffect(this.f(this.seed, cause), {
|
|
632
632
|
onFailure: (cause2) => this.sink.onFailure(Cause.sequential(cause, cause2)),
|
|
633
633
|
onSuccess: ([c, acc]) => {
|
|
@@ -648,7 +648,7 @@ class LoopCauseEffectSink<R, E, A, B, C> implements Sink<R, E, A> {
|
|
|
648
648
|
export function filterMapLoopCauseEffect<R, E, A, B, R2, E2, C>(
|
|
649
649
|
sink: Sink<R, E2 | C, A>,
|
|
650
650
|
seed: B,
|
|
651
|
-
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<
|
|
651
|
+
f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<readonly [Option.Option<Cause.Cause<C>>, B], E2, R2>
|
|
652
652
|
): Sink<R | R2, E, A> {
|
|
653
653
|
return new FilterMapLoopCauseEffectSink(sink, seed, f)
|
|
654
654
|
}
|
|
@@ -657,13 +657,13 @@ class FilterMapLoopCauseEffectSink<R, E, A, B, R2, E2, C> implements Sink<R | R2
|
|
|
657
657
|
constructor(
|
|
658
658
|
readonly sink: Sink<R, E2 | C, A>,
|
|
659
659
|
private seed: B,
|
|
660
|
-
readonly f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<
|
|
660
|
+
readonly f: (acc: B, a: Cause.Cause<E>) => Effect.Effect<readonly [Option.Option<Cause.Cause<C>>, B], E2, R2>
|
|
661
661
|
) {
|
|
662
662
|
this.onFailure = this.onFailure.bind(this)
|
|
663
663
|
this.onSuccess = this.onSuccess.bind(this)
|
|
664
664
|
}
|
|
665
665
|
|
|
666
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<R | R2
|
|
666
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R | R2> {
|
|
667
667
|
return Effect.matchCauseEffect(this.f(this.seed, cause), {
|
|
668
668
|
onFailure: (cause2) => this.sink.onFailure(cause2),
|
|
669
669
|
onSuccess: ([option, acc]) => {
|
|
@@ -683,19 +683,19 @@ class FilterMapLoopCauseEffectSink<R, E, A, B, R2, E2, C> implements Sink<R | R2
|
|
|
683
683
|
* @since 1.20.0
|
|
684
684
|
*/
|
|
685
685
|
export const slice: {
|
|
686
|
-
<R, E, A, R2>(bounds: Bounds, f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
686
|
+
<R, E, A, R2>(bounds: Bounds, f: (sink: Sink<R, E, A>) => Effect.Effect<unknown, never, R2>): (
|
|
687
687
|
sink: Sink<R, E, A>
|
|
688
|
-
) => Effect.Effect<R | R2
|
|
688
|
+
) => Effect.Effect<void, never, R | R2>
|
|
689
689
|
<R, E, A, R2>(
|
|
690
690
|
sink: Sink<R, E, A>,
|
|
691
691
|
bounds: Bounds,
|
|
692
|
-
f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
693
|
-
): Effect.Effect<R | R2
|
|
692
|
+
f: (sink: Sink<R, E, A>) => Effect.Effect<unknown, never, R2>
|
|
693
|
+
): Effect.Effect<void, never, R | R2>
|
|
694
694
|
} = dual(3, function slice<R, E, A, R2>(
|
|
695
695
|
sink: Sink<R, E, A>,
|
|
696
696
|
bounds: Bounds,
|
|
697
|
-
f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
698
|
-
): Effect.Effect<R | R2
|
|
697
|
+
f: (sink: Sink<R, E, A>) => Effect.Effect<unknown, never, R2>
|
|
698
|
+
): Effect.Effect<void, never, R | R2> {
|
|
699
699
|
return withEarlyExit(sink, (s) => f(new SliceSink(s, bounds)))
|
|
700
700
|
})
|
|
701
701
|
|
|
@@ -714,7 +714,7 @@ class SliceSink<R, E, A> implements Sink<R, E, A> {
|
|
|
714
714
|
this.onSuccess = this.onSuccess.bind(this)
|
|
715
715
|
}
|
|
716
716
|
|
|
717
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
717
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
718
718
|
return this.sink.onFailure(cause)
|
|
719
719
|
}
|
|
720
720
|
|
|
@@ -734,18 +734,18 @@ class SliceSink<R, E, A> implements Sink<R, E, A> {
|
|
|
734
734
|
* @since 1.20.0
|
|
735
735
|
*/
|
|
736
736
|
export const takeWhile: {
|
|
737
|
-
<R, E, A, R2, B>(predicate: Predicate.Predicate<A>, f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
737
|
+
<R, E, A, R2, B>(predicate: Predicate.Predicate<A>, f: (sink: Sink<R, E, A>) => Effect.Effect<B, E, R2>): (
|
|
738
738
|
sink: Sink<R, E, A>
|
|
739
|
-
) => Effect.Effect<R | R2
|
|
739
|
+
) => Effect.Effect<void, never, R | R2>
|
|
740
740
|
<R, E, A, R2, B>(
|
|
741
741
|
sink: Sink<R, E, A>,
|
|
742
742
|
predicate: Predicate.Predicate<A>,
|
|
743
|
-
f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
744
|
-
): Effect.Effect<R | R2
|
|
743
|
+
f: (sink: Sink<R, E, A>) => Effect.Effect<B, E, R2>
|
|
744
|
+
): Effect.Effect<void, never, R | R2>
|
|
745
745
|
} = dual(3, function takeWhile<R, E, A, R2, B>(
|
|
746
746
|
sink: Sink<R, E, A>,
|
|
747
747
|
predicate: Predicate.Predicate<A>,
|
|
748
|
-
f: (sink: Sink<R, E, A>) => Effect.Effect<
|
|
748
|
+
f: (sink: Sink<R, E, A>) => Effect.Effect<B, E, R2>
|
|
749
749
|
) {
|
|
750
750
|
return withEarlyExit(sink, (s) => f(new TakeWhileSink(s, predicate)))
|
|
751
751
|
})
|
|
@@ -762,7 +762,7 @@ class TakeWhileSink<R, E, A> implements Sink<R, E, A> {
|
|
|
762
762
|
this.onSuccess = this.onSuccess.bind(this)
|
|
763
763
|
}
|
|
764
764
|
|
|
765
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
765
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, R> {
|
|
766
766
|
return this.sink.onFailure(cause)
|
|
767
767
|
}
|
|
768
768
|
|
|
@@ -818,20 +818,20 @@ export const dropAfter: {
|
|
|
818
818
|
*/
|
|
819
819
|
export const takeWhileEffect: {
|
|
820
820
|
<R, E, A, R2, E2, R3, E3, B>(
|
|
821
|
-
predicate: (a: A) => Effect.Effect<
|
|
822
|
-
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<
|
|
821
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>,
|
|
822
|
+
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<B, E3, R3>
|
|
823
823
|
): <R, E>(
|
|
824
824
|
sink: Sink<R, E, A>
|
|
825
|
-
) => Effect.Effect<R | R3
|
|
825
|
+
) => Effect.Effect<void, never, R | R3>
|
|
826
826
|
<R, E, A, R2, E2, R3, E3, B>(
|
|
827
827
|
sink: Sink<R, E | E2 | E3, A>,
|
|
828
|
-
predicate: (a: A) => Effect.Effect<
|
|
829
|
-
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<
|
|
830
|
-
): Effect.Effect<R | R3
|
|
828
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>,
|
|
829
|
+
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<B, E3, R3>
|
|
830
|
+
): Effect.Effect<void, never, R | R3>
|
|
831
831
|
} = dual(3, function takeWhileEffect<R, E, A, R2, E2, R3, E3, B>(
|
|
832
832
|
sink: Sink<R, E | E2 | E3, A>,
|
|
833
|
-
predicate: (a: A) => Effect.Effect<
|
|
834
|
-
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<
|
|
833
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>,
|
|
834
|
+
f: (sink: Sink<R | R2, E, A>) => Effect.Effect<B, E3, R3>
|
|
835
835
|
) {
|
|
836
836
|
return withEarlyExit(sink, (s) => f(new TakeWhileEffectSink(s, predicate)))
|
|
837
837
|
})
|
|
@@ -841,14 +841,14 @@ class TakeWhileEffectSink<R, E, A, R2, E2> implements Sink<R | R2, E, A> {
|
|
|
841
841
|
|
|
842
842
|
constructor(
|
|
843
843
|
readonly sink: WithEarlyExit<R, E | E2, A>,
|
|
844
|
-
readonly predicate: (a: A) => Effect.Effect<
|
|
844
|
+
readonly predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
845
845
|
) {
|
|
846
846
|
this.take = true
|
|
847
847
|
this.onFailure = this.onFailure.bind(this)
|
|
848
848
|
this.onSuccess = this.onSuccess.bind(this)
|
|
849
849
|
}
|
|
850
850
|
|
|
851
|
-
onFailure(cause: Cause.Cause<E | E2>): Effect.Effect<R | R2
|
|
851
|
+
onFailure(cause: Cause.Cause<E | E2>): Effect.Effect<unknown, never, R | R2> {
|
|
852
852
|
return this.sink.onFailure(cause)
|
|
853
853
|
}
|
|
854
854
|
|
|
@@ -869,16 +869,16 @@ class TakeWhileEffectSink<R, E, A, R2, E2> implements Sink<R | R2, E, A> {
|
|
|
869
869
|
* @since 1.20.0
|
|
870
870
|
*/
|
|
871
871
|
export const dropWhileEffect: {
|
|
872
|
-
<A, R2, E2>(predicate: (a: A) => Effect.Effect<
|
|
872
|
+
<A, R2, E2>(predicate: (a: A) => Effect.Effect<boolean, E2, R2>): <R, E>(
|
|
873
873
|
sink: Sink<R, E | E2, A>
|
|
874
874
|
) => Sink<R | R2, E | E2, A>
|
|
875
875
|
<R, E, A, R2, E2>(
|
|
876
876
|
sink: Sink<R, E | E2, A>,
|
|
877
|
-
predicate: (a: A) => Effect.Effect<
|
|
877
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
878
878
|
): Sink<R | R2, E | E2, A>
|
|
879
879
|
} = dual(2, function dropWhileEffect<R, E, A, R2, E2>(
|
|
880
880
|
sink: Sink<R, E | E2, A>,
|
|
881
|
-
predicate: (a: A) => Effect.Effect<
|
|
881
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
882
882
|
): Sink<R | R2, E | E2, A> {
|
|
883
883
|
return filterMapLoopEffect<R, E | E2, A, boolean, R2, A>(sink, true, (drop: boolean, a: A) => {
|
|
884
884
|
if (drop === false) return Effect.succeed([Option.some(a), drop as boolean] as const)
|
|
@@ -891,16 +891,16 @@ export const dropWhileEffect: {
|
|
|
891
891
|
* @since 1.20.0
|
|
892
892
|
*/
|
|
893
893
|
export const dropAfterEffect: {
|
|
894
|
-
<A, R2, E2>(predicate: (a: A) => Effect.Effect<
|
|
894
|
+
<A, R2, E2>(predicate: (a: A) => Effect.Effect<boolean, E2, R2>): <R, E>(
|
|
895
895
|
sink: Sink<R, E | E2, A>
|
|
896
896
|
) => Sink<R | R2, E | E2, A>
|
|
897
897
|
<R, E, A, R2, E2>(
|
|
898
898
|
sink: Sink<R, E | E2, A>,
|
|
899
|
-
predicate: (a: A) => Effect.Effect<
|
|
899
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
900
900
|
): Sink<R | R2, E | E2, A>
|
|
901
901
|
} = dual(2, function dropAfterEffect<R, E, A, R2, E2>(
|
|
902
902
|
sink: Sink<R, E | E2, A>,
|
|
903
|
-
predicate: (a: A) => Effect.Effect<
|
|
903
|
+
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
904
904
|
): Sink<R | R2, E | E2, A> {
|
|
905
905
|
return filterMapLoopEffect<R, E | E2, A, boolean, R2, A>(sink, false, (drop: boolean, a: A) => {
|
|
906
906
|
if (drop === true) return Effect.succeed([Option.none(), drop as boolean] as const)
|
|
@@ -948,11 +948,11 @@ export const setSpan: {
|
|
|
948
948
|
})
|
|
949
949
|
|
|
950
950
|
const addEvent = <R, E, A>(
|
|
951
|
-
effect: Effect.Effect<
|
|
951
|
+
effect: Effect.Effect<A, E, R>,
|
|
952
952
|
name: string,
|
|
953
953
|
span: Tracer.Span,
|
|
954
954
|
attributes: Record<string, unknown>
|
|
955
|
-
): Effect.Effect<
|
|
955
|
+
): Effect.Effect<A, E, R> =>
|
|
956
956
|
Effect.flatMap(Clock.currentTimeNanos, (time) =>
|
|
957
957
|
Effect.suspend(() => {
|
|
958
958
|
span.event(name, time, attributes)
|
|
@@ -973,15 +973,15 @@ export function tagged<E, A>(): {
|
|
|
973
973
|
class TaggedImpl<I, E, A> implements Sink.Tagged<I, E, A> {
|
|
974
974
|
constructor(readonly tag: C.Tagged<I, Sink<never, E, A>>) {}
|
|
975
975
|
|
|
976
|
-
onSuccess(value: A): Effect.Effect<
|
|
976
|
+
onSuccess(value: A): Effect.Effect<unknown, never, I> {
|
|
977
977
|
return this.tag.withEffect((sink) => sink.onSuccess(value))
|
|
978
978
|
}
|
|
979
979
|
|
|
980
|
-
onFailure(cause: Cause.Cause<E>): Effect.Effect<
|
|
980
|
+
onFailure(cause: Cause.Cause<E>): Effect.Effect<unknown, never, I> {
|
|
981
981
|
return this.tag.withEffect((sink) => sink.onFailure(cause))
|
|
982
982
|
}
|
|
983
983
|
|
|
984
|
-
make: <R>(sink: Sink<R, E, A>) => Layer.Layer<
|
|
984
|
+
make: <R>(sink: Sink<R, E, A>) => Layer.Layer<I, never, R> = <R>(sink: Sink<R, E, A>) =>
|
|
985
985
|
Layer.flatMap(Layer.context<R>(), (ctx) => this.tag.layer(provide(sink, ctx)))
|
|
986
986
|
}
|
|
987
987
|
|
|
@@ -999,17 +999,17 @@ export const fromTag: {
|
|
|
999
999
|
})
|
|
1000
1000
|
|
|
1001
1001
|
class FromTag<I, S, R2, E2, B> implements Sink<I | R2, E2, B> {
|
|
1002
|
-
readonly get: Effect.Effect<
|
|
1002
|
+
readonly get: Effect.Effect<Sink<R2, E2, B>, never, I>
|
|
1003
1003
|
|
|
1004
1004
|
constructor(readonly tag: C.Tag<I, S>, readonly f: (s: S) => Sink<R2, E2, B>) {
|
|
1005
1005
|
this.get = Effect.map(tag, f)
|
|
1006
1006
|
}
|
|
1007
1007
|
|
|
1008
|
-
onSuccess(value: B): Effect.Effect<I | R2
|
|
1008
|
+
onSuccess(value: B): Effect.Effect<unknown, never, I | R2> {
|
|
1009
1009
|
return Effect.flatMap(this.get, (sink) => sink.onSuccess(value))
|
|
1010
1010
|
}
|
|
1011
1011
|
|
|
1012
|
-
onFailure(cause: Cause.Cause<E2>): Effect.Effect<I | R2
|
|
1012
|
+
onFailure(cause: Cause.Cause<E2>): Effect.Effect<unknown, never, I | R2> {
|
|
1013
1013
|
return Effect.flatMap(this.get, (sink) => sink.onFailure(cause))
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|