@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/Guard.ts
CHANGED
|
@@ -10,7 +10,7 @@ import * as Option from "effect/Option"
|
|
|
10
10
|
/**
|
|
11
11
|
* @since 1.18.0
|
|
12
12
|
*/
|
|
13
|
-
export type Guard<in I, out R, out E, out O> = (input: I) => Effect.Effect<
|
|
13
|
+
export type Guard<in I, out R, out E, out O> = (input: I) => Effect.Effect<Option.Option<O>, E, R>
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @since 1.18.0
|
|
@@ -59,12 +59,12 @@ export const compose: {
|
|
|
59
59
|
*/
|
|
60
60
|
export const mapEffect: {
|
|
61
61
|
<O, R2, E2, B>(
|
|
62
|
-
f: (o: O) => Effect.Effect<
|
|
62
|
+
f: (o: O) => Effect.Effect<B, E2, R2>
|
|
63
63
|
): <I, R, E>(guard: Guard<I, R, E, O>) => Guard<I, R | R2, E | E2, B>
|
|
64
|
-
<I, R, E, O, R2, E2, B>(guard: Guard<I, R, E, O>, f: (o: O) => Effect.Effect<
|
|
64
|
+
<I, R, E, O, R2, E2, B>(guard: Guard<I, R, E, O>, f: (o: O) => Effect.Effect<B, E2, R2>): Guard<I, R | R2, E | E2, B>
|
|
65
65
|
} = dual(2, function mapEffect<I, R, E, O, R2, E2, B>(
|
|
66
66
|
guard: Guard<I, R, E, O>,
|
|
67
|
-
f: (o: O) => Effect.Effect<
|
|
67
|
+
f: (o: O) => Effect.Effect<B, E2, R2>
|
|
68
68
|
): Guard<I, R | R2, E | E2, B> {
|
|
69
69
|
return compose(guard, (o) => Effect.asSome(f(o)))
|
|
70
70
|
})
|
|
@@ -87,12 +87,12 @@ export const map: {
|
|
|
87
87
|
*/
|
|
88
88
|
export const tap: {
|
|
89
89
|
<O, R2, E2, B>(
|
|
90
|
-
f: (o: O) => Effect.Effect<
|
|
90
|
+
f: (o: O) => Effect.Effect<B, E2, R2>
|
|
91
91
|
): <I, R, E>(guard: Guard<I, R, E, O>) => Guard<I, R | R2, E | E2, O>
|
|
92
|
-
<I, R, E, O, R2, E2, B>(guard: Guard<I, R, E, O>, f: (o: O) => Effect.Effect<
|
|
92
|
+
<I, R, E, O, R2, E2, B>(guard: Guard<I, R, E, O>, f: (o: O) => Effect.Effect<B, E2, R2>): Guard<I, R | R2, E | E2, O>
|
|
93
93
|
} = dual(2, function tap<I, R, E, O, R2, E2, B>(
|
|
94
94
|
guard: Guard<I, R, E, O>,
|
|
95
|
-
f: (o: O) => Effect.Effect<
|
|
95
|
+
f: (o: O) => Effect.Effect<B, E2, R2>
|
|
96
96
|
): Guard<I, R | R2, E | E2, O> {
|
|
97
97
|
return compose(guard, (o) => Effect.as(f(o), Option.some(o)))
|
|
98
98
|
})
|
package/src/Idle.ts
CHANGED
|
@@ -112,7 +112,7 @@ export const defaultIdleScheduler: IdleScheduler = globalValue(
|
|
|
112
112
|
* @since 1.18.0
|
|
113
113
|
* @category combinators
|
|
114
114
|
*/
|
|
115
|
-
export const withIdleScheduler: <R, E, B>(self: Effect.Effect<
|
|
115
|
+
export const withIdleScheduler: <R, E, B>(self: Effect.Effect<B, E, R>) => Effect.Effect<B, E, R> = Effect
|
|
116
116
|
.withScheduler(defaultIdleScheduler)
|
|
117
117
|
|
|
118
118
|
/**
|
|
@@ -120,14 +120,14 @@ export const withIdleScheduler: <R, E, B>(self: Effect.Effect<R, E, B>) => Effec
|
|
|
120
120
|
* @since 1.18.0
|
|
121
121
|
* @category layers
|
|
122
122
|
*/
|
|
123
|
-
export const setIdleScheduler: Layer.Layer<never
|
|
123
|
+
export const setIdleScheduler: Layer.Layer<never> = Layer.setScheduler(defaultIdleScheduler)
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Request to run some work with requestIdleCallback returning an IdleDeadline
|
|
127
127
|
* @since 1.18.0
|
|
128
128
|
* @category scoped
|
|
129
129
|
*/
|
|
130
|
-
export const whenIdle = (options?: IdleRequestOptions): Effect.Effect<
|
|
130
|
+
export const whenIdle = (options?: IdleRequestOptions): Effect.Effect<IdleDeadline, never, Scope.Scope> =>
|
|
131
131
|
Effect.asyncEffect((resume) => {
|
|
132
132
|
const id = requestIdleCallback((deadline) => resume(Effect.succeed(deadline)), options)
|
|
133
133
|
|
|
@@ -148,8 +148,8 @@ export function shouldContinue(deadline: IdleDeadline): boolean {
|
|
|
148
148
|
* @category params
|
|
149
149
|
*/
|
|
150
150
|
export interface WhileIdleRequestOptions<R, E, R2, E2> extends IdleRequestOptions {
|
|
151
|
-
readonly while: Effect.Effect<
|
|
152
|
-
readonly body: Effect.Effect<
|
|
151
|
+
readonly while: Effect.Effect<boolean, E, R>
|
|
152
|
+
readonly body: Effect.Effect<unknown, E2, R2>
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
/**
|
|
@@ -158,7 +158,7 @@ export interface WhileIdleRequestOptions<R, E, R2, E2> extends IdleRequestOption
|
|
|
158
158
|
*/
|
|
159
159
|
export const whileIdle = <R, E, R2, E2>(
|
|
160
160
|
options: WhileIdleRequestOptions<R, E, R2, E2>
|
|
161
|
-
): Effect.Effect<Scope.Scope | R | R2
|
|
161
|
+
): Effect.Effect<void, E | E2, Scope.Scope | R | R2> =>
|
|
162
162
|
Effect.gen(function*(_) {
|
|
163
163
|
while (yield* _(options.while)) {
|
|
164
164
|
const deadline = yield* _(whenIdle(options))
|
|
@@ -175,27 +175,27 @@ export const whileIdle = <R, E, R2, E2>(
|
|
|
175
175
|
*/
|
|
176
176
|
export function dequeueWhileIdle<A, R2, E2, B>(
|
|
177
177
|
dequeue: Queue.Dequeue<A>,
|
|
178
|
-
f: (a: A) => Effect.Effect<
|
|
178
|
+
f: (a: A) => Effect.Effect<B, E2, R2>,
|
|
179
179
|
options?: IdleRequestOptions
|
|
180
|
-
): Effect.Effect<R2 | Scope.Scope
|
|
180
|
+
): Effect.Effect<void, E2, R2 | Scope.Scope>
|
|
181
181
|
|
|
182
182
|
export function dequeueWhileIdle<I, A, R2, E2, B>(
|
|
183
183
|
dequeue: Context.Dequeue<I, A>,
|
|
184
|
-
f: (a: A) => Effect.Effect<
|
|
184
|
+
f: (a: A) => Effect.Effect<B, E2, R2>,
|
|
185
185
|
options?: IdleRequestOptions
|
|
186
|
-
): Effect.Effect<I | R2 | Scope.Scope
|
|
186
|
+
): Effect.Effect<void, E2, I | R2 | Scope.Scope>
|
|
187
187
|
|
|
188
188
|
export function dequeueWhileIdle<I = never, A = unknown, R2 = never, E2 = never, B = unknown>(
|
|
189
189
|
dequeue: Context.Dequeue<I, A> | Queue.Dequeue<A>,
|
|
190
|
-
f: (a: A) => Effect.Effect<
|
|
190
|
+
f: (a: A) => Effect.Effect<B, E2, R2>,
|
|
191
191
|
options?: IdleRequestOptions
|
|
192
|
-
): Effect.Effect<I | R2 | Scope.Scope
|
|
192
|
+
): Effect.Effect<void, E2, I | R2 | Scope.Scope>
|
|
193
193
|
|
|
194
194
|
export function dequeueWhileIdle<I, A, R2, E2, B>(
|
|
195
195
|
dequeue: Context.Dequeue<I, A> | Queue.Dequeue<A>,
|
|
196
|
-
f: (a: A) => Effect.Effect<
|
|
196
|
+
f: (a: A) => Effect.Effect<B, E2, R2>,
|
|
197
197
|
options?: IdleRequestOptions
|
|
198
|
-
): Effect.Effect<I | R2 | Scope.Scope
|
|
198
|
+
): Effect.Effect<void, E2, I | R2 | Scope.Scope> {
|
|
199
199
|
return whileIdle({
|
|
200
200
|
while: dequeueIsActive(dequeue),
|
|
201
201
|
body: Effect.flatMap(dequeue.take, f),
|
|
@@ -209,10 +209,10 @@ export function dequeueWhileIdle<I, A, R2, E2, B>(
|
|
|
209
209
|
export interface IdleQueue<I> {
|
|
210
210
|
readonly add: <R>(
|
|
211
211
|
part: I,
|
|
212
|
-
task: Effect.Effect<
|
|
213
|
-
) => Effect.Effect<R | Scope.Scope
|
|
212
|
+
task: Effect.Effect<unknown, never, R>
|
|
213
|
+
) => Effect.Effect<void, never, R | Scope.Scope>
|
|
214
214
|
|
|
215
|
-
readonly interrupt: Effect.Effect<
|
|
215
|
+
readonly interrupt: Effect.Effect<void>
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
/**
|
|
@@ -220,20 +220,20 @@ export interface IdleQueue<I> {
|
|
|
220
220
|
*/
|
|
221
221
|
export const makeIdleQueue = <I>(
|
|
222
222
|
options?: IdleRequestOptions
|
|
223
|
-
): Effect.Effect<
|
|
223
|
+
): Effect.Effect<IdleQueue<I>, never, Scope.Scope> =>
|
|
224
224
|
withScope((scope) => Effect.sync(() => new IdleQueueImpl<I>(scope, options)), ExecutionStrategy.sequential)
|
|
225
225
|
|
|
226
226
|
class IdleQueueImpl<I> implements IdleQueue<I> {
|
|
227
|
-
queue = new Map<I, Effect.Effect<
|
|
227
|
+
queue = new Map<I, Effect.Effect<unknown>>()
|
|
228
228
|
scheduled = false
|
|
229
229
|
|
|
230
|
-
readonly interrupt: Effect.Effect<
|
|
231
|
-
readonly scheduleNextRun: Effect.Effect<
|
|
230
|
+
readonly interrupt: Effect.Effect<void>
|
|
231
|
+
readonly scheduleNextRun: Effect.Effect<void>
|
|
232
232
|
|
|
233
233
|
constructor(readonly scope: Scope.CloseableScope, readonly options?: IdleRequestOptions) {
|
|
234
234
|
this.interrupt = Effect.fiberIdWith((id) => Scope.close(scope, Exit.interrupt(id)))
|
|
235
235
|
|
|
236
|
-
const run: Effect.Effect<
|
|
236
|
+
const run: Effect.Effect<void, never, Scope.Scope> = Effect.flatMap(
|
|
237
237
|
whenIdle(this.options),
|
|
238
238
|
(deadline) =>
|
|
239
239
|
Effect.gen(this, function*(_) {
|
|
@@ -274,7 +274,7 @@ class IdleQueueImpl<I> implements IdleQueue<I> {
|
|
|
274
274
|
)
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
add = <R>(part: I, task: Effect.Effect<
|
|
277
|
+
add = <R>(part: I, task: Effect.Effect<unknown, never, R>) =>
|
|
278
278
|
Effect.contextWithEffect((ctx: Context.Context<R>) => {
|
|
279
279
|
const provided = Effect.provide(task, ctx)
|
|
280
280
|
this.queue.set(part, provided)
|
package/src/Match.ts
CHANGED
|
@@ -116,7 +116,7 @@ const variance: Matcher.Variance<any, any, any, any> = {
|
|
|
116
116
|
|
|
117
117
|
class When<R, E, I, A, O> {
|
|
118
118
|
constructor(
|
|
119
|
-
readonly guard: (input: I) => Effect.Effect<
|
|
119
|
+
readonly guard: (input: I) => Effect.Effect<Option.Option<A>, E, R>,
|
|
120
120
|
readonly onMatch: (value: RefSubject.RefSubject<never, never, A>) => Fx.Fx<R, E, O>
|
|
121
121
|
) {}
|
|
122
122
|
}
|
|
@@ -125,8 +125,8 @@ class Matched<R, E, I, A, O> {
|
|
|
125
125
|
constructor(
|
|
126
126
|
readonly when: When<R, E, I, A, O>,
|
|
127
127
|
readonly ref: RefSubject.RefSubject<never, never, A>,
|
|
128
|
-
readonly fiber: Fiber.Fiber<
|
|
129
|
-
readonly interrupt: Effect.Effect<
|
|
128
|
+
readonly fiber: Fiber.Fiber<unknown>,
|
|
129
|
+
readonly interrupt: Effect.Effect<void>
|
|
130
130
|
) {}
|
|
131
131
|
}
|
|
132
132
|
|
package/src/Pull.ts
CHANGED
|
@@ -19,14 +19,14 @@ import type { Sink } from "./Sink.js"
|
|
|
19
19
|
* An Effect which can be used to pull values of a Stream.
|
|
20
20
|
* @since 1.18.0
|
|
21
21
|
*/
|
|
22
|
-
export interface Pull<out R, out E, out A> extends Effect.Effect<
|
|
22
|
+
export interface Pull<out R, out E, out A> extends Effect.Effect<Chunk.Chunk<A>, Option.Option<E>, R> {}
|
|
23
23
|
|
|
24
24
|
function schedulePull<R, E, A, R2, R3>(
|
|
25
25
|
pull: Pull<R, E, A>,
|
|
26
|
-
f: (effect: Effect.Effect<R | R3
|
|
26
|
+
f: (effect: Effect.Effect<unknown, never, R | R3>) => Effect.Effect<unknown, never, R2>,
|
|
27
27
|
sink: Sink<R3, E, A>
|
|
28
|
-
): Effect.Effect<
|
|
29
|
-
return Effect.asyncEffect((resume) =>
|
|
28
|
+
): Effect.Effect<void, never, R2> {
|
|
29
|
+
return Effect.asyncEffect<void, never, never, void, never, R2>((resume) =>
|
|
30
30
|
pull.pipe(
|
|
31
31
|
Effect.matchCauseEffect({
|
|
32
32
|
onFailure: (cause: Cause.Cause<Option.Option<E>>) =>
|
|
@@ -56,18 +56,18 @@ export const schedule: {
|
|
|
56
56
|
<R2, R3, E, A>(
|
|
57
57
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
58
58
|
sink: Sink<R3, E, A>
|
|
59
|
-
): <R>(pull: Pull<R, E, A>) => Effect.Effect<R | R2 | R3
|
|
59
|
+
): <R>(pull: Pull<R, E, A>) => Effect.Effect<unknown, never, R | R2 | R3>
|
|
60
60
|
|
|
61
61
|
<R, E, A, R2, R3>(
|
|
62
62
|
pull: Pull<R, E, A>,
|
|
63
63
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
64
64
|
sink: Sink<R3, E, A>
|
|
65
|
-
): Effect.Effect<R | R2 | R3
|
|
65
|
+
): Effect.Effect<unknown, never, R | R2 | R3>
|
|
66
66
|
} = dual(3, function schedule<R, E, A, R2, R3>(
|
|
67
67
|
pull: Pull<R, E, A>,
|
|
68
68
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
69
69
|
sink: Sink<R3, E, A>
|
|
70
|
-
): Effect.Effect<R | R2 | R3
|
|
70
|
+
): Effect.Effect<void, never, R | R2 | R3> {
|
|
71
71
|
return schedulePull(pull, Effect.schedule(schedule), sink)
|
|
72
72
|
})
|
|
73
73
|
|
|
@@ -80,17 +80,17 @@ export const repeat: {
|
|
|
80
80
|
<R2, R3, E, A>(
|
|
81
81
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
82
82
|
sink: Sink<R3, E, A>
|
|
83
|
-
): <R>(pull: Pull<R, E, A>) => Effect.Effect<R | R2 | R3
|
|
83
|
+
): <R>(pull: Pull<R, E, A>) => Effect.Effect<unknown, never, R | R2 | R3>
|
|
84
84
|
|
|
85
85
|
<R, E, A, R2, R3>(
|
|
86
86
|
pull: Pull<R, E, A>,
|
|
87
87
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
88
88
|
sink: Sink<R3, E, A>
|
|
89
|
-
): Effect.Effect<R | R2 | R3
|
|
89
|
+
): Effect.Effect<unknown, never, R | R2 | R3>
|
|
90
90
|
} = dual(3, function repeat<R, E, A, R2, R3>(
|
|
91
91
|
pull: Pull<R, E, A>,
|
|
92
92
|
schedule: Schedule.Schedule<R2, unknown, unknown>,
|
|
93
93
|
sink: Sink<R3, E, A>
|
|
94
|
-
): Effect.Effect<R | R2 | R3
|
|
94
|
+
): Effect.Effect<void, never, R | R2 | R3> {
|
|
95
95
|
return schedulePull(pull, Effect.repeat(schedule), sink)
|
|
96
96
|
})
|
package/src/Push.ts
CHANGED
|
@@ -53,15 +53,15 @@ class PushImpl<R, E, A, R2, E2, B> extends FxBase<R2, E2, B> implements Push<R,
|
|
|
53
53
|
this.onSuccess = this.onSuccess.bind(this)
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
run<R3>(sink: Sink.Sink<R3, E2, B>): Effect.Effect<R2 | R3
|
|
56
|
+
run<R3>(sink: Sink.Sink<R3, E2, B>): Effect.Effect<unknown, never, R2 | R3> {
|
|
57
57
|
return this.fx.run(sink)
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
onFailure(cause: Cause<E>): Effect.Effect<
|
|
60
|
+
onFailure(cause: Cause<E>): Effect.Effect<unknown, never, R> {
|
|
61
61
|
return this.sink.onFailure(cause)
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
onSuccess(value: A): Effect.Effect<
|
|
64
|
+
onSuccess(value: A): Effect.Effect<unknown, never, R> {
|
|
65
65
|
return this.sink.onSuccess(value)
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -99,16 +99,16 @@ export const mapInput: {
|
|
|
99
99
|
*/
|
|
100
100
|
export const mapInputEffect: {
|
|
101
101
|
<C, R3, E, A>(
|
|
102
|
-
f: (c: C) => Effect.Effect<
|
|
102
|
+
f: (c: C) => Effect.Effect<A, E, R3>
|
|
103
103
|
): <R, R2, E2, B>(push: Push<R, E, A, R2, E2, B>) => Push<R | R3, E, C, R2, E2, B>
|
|
104
104
|
|
|
105
105
|
<R, E, A, R2, E2, B, R3, C>(
|
|
106
106
|
push: Push<R, E, A, R2, E2, B>,
|
|
107
|
-
f: (c: C) => Effect.Effect<
|
|
107
|
+
f: (c: C) => Effect.Effect<A, E, R3>
|
|
108
108
|
): Push<R | R3, E, C, R2, E2, B>
|
|
109
109
|
} = dual(2, function mapInputEffect<R, E, A, R2, E2, B, R3, C>(
|
|
110
110
|
push: Push<R, E, A, R2, E2, B>,
|
|
111
|
-
f: (c: C) => Effect.Effect<
|
|
111
|
+
f: (c: C) => Effect.Effect<A, E, R3>
|
|
112
112
|
): Push<R | R3, E, C, R2, E2, B> {
|
|
113
113
|
return make(
|
|
114
114
|
Sink.mapEffect(push, f),
|
|
@@ -138,17 +138,17 @@ export const filterInput: {
|
|
|
138
138
|
* @since 1.20.0
|
|
139
139
|
*/
|
|
140
140
|
export const filterInputEffect: {
|
|
141
|
-
<A, R3, E>(f: (a: A) => Effect.Effect<
|
|
141
|
+
<A, R3, E>(f: (a: A) => Effect.Effect<boolean, E, R3>): <R, R2, E2, B>(
|
|
142
142
|
push: Push<R, E, A, R2, E2, B>
|
|
143
143
|
) => Push<R | R3, E, A, R2, E2, B>
|
|
144
144
|
|
|
145
145
|
<R, E, A, R2, E2, B, R3>(
|
|
146
146
|
push: Push<R, E, A, R2, E2, B>,
|
|
147
|
-
f: (a: A) => Effect.Effect<
|
|
147
|
+
f: (a: A) => Effect.Effect<boolean, E, R3>
|
|
148
148
|
): Push<R | R3, E, A, R2, E2, B>
|
|
149
149
|
} = dual(2, function filterInputEffect<R, E, A, R2, E2, B, R3>(
|
|
150
150
|
push: Push<R, E, A, R2, E2, B>,
|
|
151
|
-
f: (a: A) => Effect.Effect<
|
|
151
|
+
f: (a: A) => Effect.Effect<boolean, E, R3>
|
|
152
152
|
): Push<R | R3, E, A, R2, E2, B> {
|
|
153
153
|
return make(
|
|
154
154
|
Sink.filterEffect<R | R3, E, A>(push, f),
|
|
@@ -178,16 +178,16 @@ export const filterMapInput: {
|
|
|
178
178
|
* @since 1.20.0
|
|
179
179
|
*/
|
|
180
180
|
export const filterMapInputEffect: {
|
|
181
|
-
<C, R3, E, A>(f: (c: C) => Effect.Effect<
|
|
181
|
+
<C, R3, E, A>(f: (c: C) => Effect.Effect<Option.Option<A>, E, R3>): <R, R2, E2, B>(
|
|
182
182
|
push: Push<R, E, A, R2, E2, B>
|
|
183
183
|
) => Push<R | R3, E, C, R2, E2, B>
|
|
184
184
|
<R, E, A, R2, E2, B, R3, C>(
|
|
185
185
|
push: Push<R, E, A, R2, E2, B>,
|
|
186
|
-
f: (c: C) => Effect.Effect<
|
|
186
|
+
f: (c: C) => Effect.Effect<Option.Option<A>, E, R3>
|
|
187
187
|
): Push<R | R3, E, C, R2, E2, B>
|
|
188
188
|
} = dual(2, function filterMapInputEffect<R, E, A, R2, E2, B, R3, C>(
|
|
189
189
|
push: Push<R, E, A, R2, E2, B>,
|
|
190
|
-
f: (c: C) => Effect.Effect<
|
|
190
|
+
f: (c: C) => Effect.Effect<Option.Option<A>, E, R3>
|
|
191
191
|
): Push<R | R3, E, C, R2, E2, B> {
|
|
192
192
|
return make(
|
|
193
193
|
Sink.filterMapEffect(push, f),
|
|
@@ -215,16 +215,16 @@ export const map: {
|
|
|
215
215
|
* @since 1.20.0
|
|
216
216
|
*/
|
|
217
217
|
export const mapEffect: {
|
|
218
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
218
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<C, E3, R3>): <R, E, A, R2, E2>(
|
|
219
219
|
push: Push<R, E, A, R2, E2, B>
|
|
220
220
|
) => Push<R, E, A, R2 | R3, E2 | E3, C>
|
|
221
221
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
222
222
|
push: Push<R, E, A, R2, E2, B>,
|
|
223
|
-
f: (b: B) => Effect.Effect<
|
|
223
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
224
224
|
): Push<R, E, A, R2 | R3, E2 | E3, C>
|
|
225
225
|
} = dual(2, function mapEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
226
226
|
push: Push<R, E, A, R2, E2, B>,
|
|
227
|
-
f: (b: B) => Effect.Effect<
|
|
227
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
228
228
|
): Push<R, E, A, R2 | R3, E2 | E3, C> {
|
|
229
229
|
return make(
|
|
230
230
|
push,
|
|
@@ -252,16 +252,16 @@ export const filter: {
|
|
|
252
252
|
* @since 1.20.0
|
|
253
253
|
*/
|
|
254
254
|
export const filterEffect: {
|
|
255
|
-
<B, R3, E3>(f: (b: B) => Effect.Effect<
|
|
255
|
+
<B, R3, E3>(f: (b: B) => Effect.Effect<boolean, E3, R3>): <R, E, A, R2, E2>(
|
|
256
256
|
push: Push<R, E, A, R2, E2, B>
|
|
257
257
|
) => Push<R, E, A, R2 | R3, E2 | E3, B>
|
|
258
258
|
<R, E, A, R2, E2, B, R3, E3>(
|
|
259
259
|
push: Push<R, E, A, R2, E2, B>,
|
|
260
|
-
f: (b: B) => Effect.Effect<
|
|
260
|
+
f: (b: B) => Effect.Effect<boolean, E3, R3>
|
|
261
261
|
): Push<R, E, A, R2 | R3, E2 | E3, B>
|
|
262
262
|
} = dual(2, function filterEffect<R, E, A, R2, E2, B, R3, E3>(
|
|
263
263
|
push: Push<R, E, A, R2, E2, B>,
|
|
264
|
-
f: (b: B) => Effect.Effect<
|
|
264
|
+
f: (b: B) => Effect.Effect<boolean, E3, R3>
|
|
265
265
|
): Push<R, E, A, R2 | R3, E2 | E3, B> {
|
|
266
266
|
return make(
|
|
267
267
|
push,
|
|
@@ -291,16 +291,16 @@ export const filterMap: {
|
|
|
291
291
|
* @since 1.20.0
|
|
292
292
|
*/
|
|
293
293
|
export const filterMapEffect: {
|
|
294
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
294
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<Option.Option<C>, E3, R3>): <R, E, A, R2, E2>(
|
|
295
295
|
push: Push<R, E, A, R2, E2, B>
|
|
296
296
|
) => Push<R, E, A, R2 | R3, E2 | E3, C>
|
|
297
297
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
298
298
|
push: Push<R, E, A, R2, E2, B>,
|
|
299
|
-
f: (b: B) => Effect.Effect<
|
|
299
|
+
f: (b: B) => Effect.Effect<Option.Option<C>, E3, R3>
|
|
300
300
|
): Push<R, E, A, R2 | R3, E2 | E3, C>
|
|
301
301
|
} = dual(2, function filterMapEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
302
302
|
push: Push<R, E, A, R2, E2, B>,
|
|
303
|
-
f: (b: B) => Effect.Effect<
|
|
303
|
+
f: (b: B) => Effect.Effect<Option.Option<C>, E3, R3>
|
|
304
304
|
): Push<R, E, A, R2 | R3, E2 | E3, C> {
|
|
305
305
|
return make(
|
|
306
306
|
push,
|
|
@@ -333,16 +333,16 @@ export const switchMap: {
|
|
|
333
333
|
* @since 1.20.0
|
|
334
334
|
*/
|
|
335
335
|
export const switchMapEffect: {
|
|
336
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
336
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<C, E3, R3>): <R, E, A, R2, E2>(
|
|
337
337
|
push: Push<R, E, A, R2, E2, B>
|
|
338
338
|
) => Push<R, E, A, Scope.Scope | R2 | R3, E2 | E3, C>
|
|
339
339
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
340
340
|
push: Push<R, E, A, R2, E2, B>,
|
|
341
|
-
f: (b: B) => Effect.Effect<
|
|
341
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
342
342
|
): Push<R, E, A, Scope.Scope | R2 | R3, E2 | E3, C>
|
|
343
343
|
} = dual(2, function switchMapEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
344
344
|
push: Push<R, E, A, R2, E2, B>,
|
|
345
|
-
f: (b: B) => Effect.Effect<
|
|
345
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
346
346
|
): Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C> {
|
|
347
347
|
return make(
|
|
348
348
|
push,
|
|
@@ -375,16 +375,16 @@ export const flatMap: {
|
|
|
375
375
|
* @since 1.20.0
|
|
376
376
|
*/
|
|
377
377
|
export const flatMapEffect: {
|
|
378
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
378
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<C, E3, R3>): <R, E, A, R2, E2>(
|
|
379
379
|
push: Push<R, E, A, R2, E2, B>
|
|
380
380
|
) => Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C>
|
|
381
381
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
382
382
|
push: Push<R, E, A, R2, E2, B>,
|
|
383
|
-
f: (b: B) => Effect.Effect<
|
|
383
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
384
384
|
): Push<R, E, A, Scope.Scope | R2 | R3, E2 | E3, C>
|
|
385
385
|
} = dual(2, function flatMapEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
386
386
|
push: Push<R, E, A, R2, E2, B>,
|
|
387
|
-
f: (b: B) => Effect.Effect<
|
|
387
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
388
388
|
): Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C> {
|
|
389
389
|
return make(
|
|
390
390
|
push,
|
|
@@ -417,16 +417,16 @@ export const exhaustMap: {
|
|
|
417
417
|
* @since 1.20.0
|
|
418
418
|
*/
|
|
419
419
|
export const exhaustMapEffect: {
|
|
420
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
420
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<C, E3, R3>): <R, E, A, R2, E2>(
|
|
421
421
|
push: Push<R, E, A, R2, E2, B>
|
|
422
422
|
) => Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C>
|
|
423
423
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
424
424
|
push: Push<R, E, A, R2, E2, B>,
|
|
425
|
-
f: (b: B) => Effect.Effect<
|
|
425
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
426
426
|
): Push<R, E, A, Scope.Scope | R2 | R3, E2 | E3, C>
|
|
427
427
|
} = dual(2, function exhaustMapEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
428
428
|
push: Push<R, E, A, R2, E2, B>,
|
|
429
|
-
f: (b: B) => Effect.Effect<
|
|
429
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
430
430
|
): Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C> {
|
|
431
431
|
return make(
|
|
432
432
|
push,
|
|
@@ -459,16 +459,16 @@ export const exhaustMapLatest: {
|
|
|
459
459
|
* @since 1.20.0
|
|
460
460
|
*/
|
|
461
461
|
export const exhaustMapLatestEffect: {
|
|
462
|
-
<B, R3, E3, C>(f: (b: B) => Effect.Effect<
|
|
462
|
+
<B, R3, E3, C>(f: (b: B) => Effect.Effect<C, E3, R3>): <R, E, A, R2, E2>(
|
|
463
463
|
push: Push<R, E, A, R2, E2, B>
|
|
464
464
|
) => Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C>
|
|
465
465
|
<R, E, A, R2, E2, B, R3, E3, C>(
|
|
466
466
|
push: Push<R, E, A, R2, E2, B>,
|
|
467
|
-
f: (b: B) => Effect.Effect<
|
|
467
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
468
468
|
): Push<R, E, A, Scope.Scope | R2 | R3, E2 | E3, C>
|
|
469
469
|
} = dual(2, function exhaustMapLatestEffect<R, E, A, R2, E2, B, R3, E3, C>(
|
|
470
470
|
push: Push<R, E, A, R2, E2, B>,
|
|
471
|
-
f: (b: B) => Effect.Effect<
|
|
471
|
+
f: (b: B) => Effect.Effect<C, E3, R3>
|
|
472
472
|
): Push<R, E, A, R2 | R3 | Scope.Scope, E2 | E3, C> {
|
|
473
473
|
return make(
|
|
474
474
|
push,
|