@effect-app/vue 4.0.0-beta.185 → 4.0.0-beta.187
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/CHANGELOG.md +15 -0
- package/dist/commander.d.ts +10 -2
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +21 -3
- package/package.json +2 -2
- package/src/commander.ts +22 -2
- package/test/dist/streamFn.test.d.ts.map +1 -0
- package/test/streamFn.test.ts +218 -0
package/dist/commander.js
CHANGED
|
@@ -284,6 +284,7 @@ export const CommanderStatic = {
|
|
|
284
284
|
*
|
|
285
285
|
* Unlike `withDefaultToast` (which only wraps the initial `Effect`), this combinator:
|
|
286
286
|
* - Shows the "waiting" toast **before** the stream starts
|
|
287
|
+
* - Updates the waiting toast with progress text when `progress` is set and a new element arrives
|
|
287
288
|
* - Shows the "success" toast only **after** the stream drains fully without error
|
|
288
289
|
* - Shows the "failure" toast if the stream errors or fails
|
|
289
290
|
*
|
|
@@ -294,7 +295,12 @@ export const CommanderStatic = {
|
|
|
294
295
|
* ```ts
|
|
295
296
|
* Command.streamFn("exportData")(
|
|
296
297
|
* function*(arg, ctx) { return makeExportStream(arg.id) },
|
|
297
|
-
* Command.withDefaultToastStream(
|
|
298
|
+
* Command.withDefaultToastStream({
|
|
299
|
+
* progress: (r) =>
|
|
300
|
+
* AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress"
|
|
301
|
+
* ? { text: `${r.value.completed}/${r.value.total}`, percentage: r.value.completed / r.value.total * 100 }
|
|
302
|
+
* : undefined
|
|
303
|
+
* })
|
|
298
304
|
* )
|
|
299
305
|
* ```
|
|
300
306
|
*/
|
|
@@ -344,8 +350,20 @@ export const CommanderStatic = {
|
|
|
344
350
|
const failureHandler = defaultFailureMessageHandler(hasCustomFailure ? intl.formatMessage({ id: customFailure }, cc.state) : cc.action, options?.errorRenderer);
|
|
345
351
|
let lastValue = undefined;
|
|
346
352
|
let didFail = false;
|
|
347
|
-
const composed = rawStream.pipe(Stream.tap((v) => Effect.
|
|
353
|
+
const composed = rawStream.pipe(Stream.tap((v) => Effect.gen(function* () {
|
|
348
354
|
lastValue = v;
|
|
355
|
+
if (options?.progress !== undefined) {
|
|
356
|
+
const p = options.progress(AsyncResult.success(v, { waiting: true }));
|
|
357
|
+
if (p !== undefined) {
|
|
358
|
+
// Update CommandProgress so CommandButton progress indicator is also driven
|
|
359
|
+
yield* CommandProgress.use((s) => s.update(p));
|
|
360
|
+
if (toastId !== undefined) {
|
|
361
|
+
const progressText = typeof p === "string" ? p : p.text;
|
|
362
|
+
const msg = waitingMsg ? `${waitingMsg}\n${progressText}` : progressText;
|
|
363
|
+
yield* toast.info(msg, { id: toastId });
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
349
367
|
})), Stream.tapCause(Effect.fnUntraced(function* (cause) {
|
|
350
368
|
didFail = true;
|
|
351
369
|
if (Cause.hasInterruptsOnly(cause)) {
|
|
@@ -1108,4 +1126,4 @@ export class Commander extends Context.Service()("Commander", {
|
|
|
1108
1126
|
static DefaultWithoutDependencies = Layer.effect(this, this.make);
|
|
1109
1127
|
static Default = this.DefaultWithoutDependencies;
|
|
1110
1128
|
}
|
|
1111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUE0QixrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQXlCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWxFLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBb0IsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQXdDMUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFVLEVBQTBELEVBQUUsQ0FDN0YsT0FB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
|
|
1129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUE0QixrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25ILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQXlCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWxFLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBb0IsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQXdDMUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFVLEVBQTBELEVBQUUsQ0FDN0YsT0FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.187",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@vueuse/core": "^14.2.1",
|
|
12
12
|
"change-case": "^5.4.4",
|
|
13
13
|
"query-string": "^9.3.1",
|
|
14
|
-
"effect-app": "4.0.0-beta.
|
|
14
|
+
"effect-app": "4.0.0-beta.187"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/atom-vue": "^4.0.0-beta.59",
|
package/src/commander.ts
CHANGED
|
@@ -2204,6 +2204,7 @@ export const CommanderStatic = {
|
|
|
2204
2204
|
*
|
|
2205
2205
|
* Unlike `withDefaultToast` (which only wraps the initial `Effect`), this combinator:
|
|
2206
2206
|
* - Shows the "waiting" toast **before** the stream starts
|
|
2207
|
+
* - Updates the waiting toast with progress text when `progress` is set and a new element arrives
|
|
2207
2208
|
* - Shows the "success" toast only **after** the stream drains fully without error
|
|
2208
2209
|
* - Shows the "failure" toast if the stream errors or fails
|
|
2209
2210
|
*
|
|
@@ -2214,7 +2215,12 @@ export const CommanderStatic = {
|
|
|
2214
2215
|
* ```ts
|
|
2215
2216
|
* Command.streamFn("exportData")(
|
|
2216
2217
|
* function*(arg, ctx) { return makeExportStream(arg.id) },
|
|
2217
|
-
* Command.withDefaultToastStream(
|
|
2218
|
+
* Command.withDefaultToastStream({
|
|
2219
|
+
* progress: (r) =>
|
|
2220
|
+
* AsyncResult.isSuccess(r) && r.value._tag === "OperationProgress"
|
|
2221
|
+
* ? { text: `${r.value.completed}/${r.value.total}`, percentage: r.value.completed / r.value.total * 100 }
|
|
2222
|
+
* : undefined
|
|
2223
|
+
* })
|
|
2218
2224
|
* )
|
|
2219
2225
|
* ```
|
|
2220
2226
|
*/
|
|
@@ -2237,6 +2243,8 @@ export const CommanderStatic = {
|
|
|
2237
2243
|
| undefined
|
|
2238
2244
|
| string
|
|
2239
2245
|
| ((a: A, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined)
|
|
2246
|
+
/** Map each stream element to a progress label. When non-`undefined`, updates both the active waiting toast and the `CommandProgress` service (for CommandButton progress display). */
|
|
2247
|
+
progress?: (result: AsyncResult.AsyncResult<A, E>) => Progress | undefined
|
|
2240
2248
|
}
|
|
2241
2249
|
) =>
|
|
2242
2250
|
(
|
|
@@ -2300,8 +2308,20 @@ export const CommanderStatic = {
|
|
|
2300
2308
|
|
|
2301
2309
|
const composed = rawStream.pipe(
|
|
2302
2310
|
Stream.tap((v) =>
|
|
2303
|
-
Effect.
|
|
2311
|
+
Effect.gen(function*() {
|
|
2304
2312
|
lastValue = v
|
|
2313
|
+
if (options?.progress !== undefined) {
|
|
2314
|
+
const p = options.progress(AsyncResult.success(v, { waiting: true }))
|
|
2315
|
+
if (p !== undefined) {
|
|
2316
|
+
// Update CommandProgress so CommandButton progress indicator is also driven
|
|
2317
|
+
yield* CommandProgress.use((s) => s.update(p))
|
|
2318
|
+
if (toastId !== undefined) {
|
|
2319
|
+
const progressText = typeof p === "string" ? p : p.text
|
|
2320
|
+
const msg = waitingMsg ? `${waitingMsg}\n${progressText}` : progressText
|
|
2321
|
+
yield* toast.info(msg, { id: toastId })
|
|
2322
|
+
}
|
|
2323
|
+
}
|
|
2324
|
+
}
|
|
2305
2325
|
})
|
|
2306
2326
|
),
|
|
2307
2327
|
Stream.tapCause(Effect.fnUntraced(function*(cause) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamFn.test.d.ts","sourceRoot":"","sources":["../streamFn.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { expect, it } from "@effect/vitest"
|
|
2
|
+
import { Effect, Fiber } from "effect-app"
|
|
3
|
+
import * as Stream from "effect/Stream"
|
|
4
|
+
import { AsyncResult } from "../src/lib.js"
|
|
5
|
+
import { useExperimental } from "./stubs.js"
|
|
6
|
+
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Helpers
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
/** Wait for the fiber spawned by `cmd.handle()` to finish. */
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
const join = (fiber: Fiber.Fiber<any, any>) => Fiber.join(fiber)
|
|
14
|
+
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Non-generator form — (arg) => Stream
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
it.live("streamFn: non-generator returning Stream runs stream and updates result", () =>
|
|
20
|
+
Effect.gen(function*() {
|
|
21
|
+
const Command = useExperimental({ toasts: [] })
|
|
22
|
+
|
|
23
|
+
const cmd = Command.streamFn("test-stream-plain")(
|
|
24
|
+
(_arg: number) => Stream.make(10, 20, 30)
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
expect(cmd.waiting).toBe(false)
|
|
28
|
+
yield* join(cmd.handle(1))
|
|
29
|
+
|
|
30
|
+
expect(cmd.result._tag).toBe("Success")
|
|
31
|
+
if (cmd.result._tag === "Success") {
|
|
32
|
+
expect(cmd.result.value).toBe(30)
|
|
33
|
+
expect(cmd.result.waiting).toBe(false)
|
|
34
|
+
}
|
|
35
|
+
}))
|
|
36
|
+
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Generator form — function*(arg) { yield* effect; return Stream }
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
it.live("streamFn: generator form executes yielded effects and subscribes to returned stream", () =>
|
|
42
|
+
Effect.gen(function*() {
|
|
43
|
+
const Command = useExperimental({ toasts: [] })
|
|
44
|
+
|
|
45
|
+
let generatorBodyExecuted = false
|
|
46
|
+
|
|
47
|
+
const cmd = Command.streamFn("test-stream-gen")(
|
|
48
|
+
function*(arg: number) {
|
|
49
|
+
generatorBodyExecuted = true
|
|
50
|
+
const doubled = yield* Effect.succeed(arg * 2)
|
|
51
|
+
return Stream.make(doubled, doubled + 1, doubled + 2)
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
yield* join(cmd.handle(5))
|
|
56
|
+
|
|
57
|
+
// Generator body MUST have run
|
|
58
|
+
expect(generatorBodyExecuted).toBe(true)
|
|
59
|
+
|
|
60
|
+
// Stream emitted three values: 10, 11, 12; last one should be in result
|
|
61
|
+
expect(cmd.result._tag).toBe("Success")
|
|
62
|
+
if (cmd.result._tag === "Success") {
|
|
63
|
+
expect(cmd.result.value).toBe(12)
|
|
64
|
+
expect(cmd.result.waiting).toBe(false)
|
|
65
|
+
}
|
|
66
|
+
}))
|
|
67
|
+
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Generator form with async effect (Effect.promise)
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
|
|
72
|
+
it.live("streamFn: generator form with async Effect.promise works", () =>
|
|
73
|
+
Effect.gen(function*() {
|
|
74
|
+
const Command = useExperimental({ toasts: [] })
|
|
75
|
+
|
|
76
|
+
let asyncValueReceived: string | undefined
|
|
77
|
+
|
|
78
|
+
const cmd = Command.streamFn("test-stream-gen-async")(
|
|
79
|
+
function*(arg: string) {
|
|
80
|
+
// Simulate the pattern from the bug report: yield* Effect.promise(...)
|
|
81
|
+
const result = yield* Effect.promise(() => Promise.resolve(`processed:${arg}`))
|
|
82
|
+
asyncValueReceived = result
|
|
83
|
+
return Stream.make(result, result + "!")
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
yield* join(cmd.handle("hello"))
|
|
88
|
+
|
|
89
|
+
expect(asyncValueReceived).toBe("processed:hello")
|
|
90
|
+
expect(cmd.result._tag).toBe("Success")
|
|
91
|
+
if (cmd.result._tag === "Success") {
|
|
92
|
+
expect(cmd.result.value).toBe("processed:hello!")
|
|
93
|
+
}
|
|
94
|
+
}))
|
|
95
|
+
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
// Non-generator returning Effect<Stream>
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
|
|
100
|
+
it.live("streamFn: non-generator returning Effect<Stream> runs stream", () =>
|
|
101
|
+
Effect.gen(function*() {
|
|
102
|
+
const Command = useExperimental({ toasts: [] })
|
|
103
|
+
|
|
104
|
+
const cmd = Command.streamFn("test-stream-effect-stream")(
|
|
105
|
+
(arg: number) => Effect.succeed(Stream.make(arg * 3, arg * 3 + 1))
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
yield* join(cmd.handle(4))
|
|
109
|
+
|
|
110
|
+
expect(cmd.result._tag).toBe("Success")
|
|
111
|
+
if (cmd.result._tag === "Success") {
|
|
112
|
+
expect(cmd.result.value).toBe(13) // 4*3+1 = 13
|
|
113
|
+
}
|
|
114
|
+
}))
|
|
115
|
+
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// Generator form — waiting state flips correctly
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
|
|
120
|
+
it.live("streamFn: generator form sets waiting=true during execution then false after", () =>
|
|
121
|
+
Effect.gen(function*() {
|
|
122
|
+
const Command = useExperimental({ toasts: [] })
|
|
123
|
+
|
|
124
|
+
const cmd = Command.streamFn("test-stream-gen-waiting")(
|
|
125
|
+
function*(_arg: void) {
|
|
126
|
+
return Stream.make(1, 2, 3)
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
expect(cmd.waiting).toBe(false)
|
|
131
|
+
const fiber = cmd.handle()
|
|
132
|
+
|
|
133
|
+
// result transitions to initial(true) = waiting synchronously inside runStream
|
|
134
|
+
// after the fiber runs, waiting should settle to false
|
|
135
|
+
yield* join(fiber)
|
|
136
|
+
expect(cmd.waiting).toBe(false)
|
|
137
|
+
|
|
138
|
+
expect(AsyncResult.isSuccess(cmd.result)).toBe(true)
|
|
139
|
+
}))
|
|
140
|
+
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
// Generator form with a stream-transformer combinator
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
|
|
145
|
+
it.live("streamFn: generator form with combinator — combinator transforms the stream", () =>
|
|
146
|
+
Effect.gen(function*() {
|
|
147
|
+
const Command = useExperimental({ toasts: [] })
|
|
148
|
+
|
|
149
|
+
const emittedByCombinator: number[] = []
|
|
150
|
+
|
|
151
|
+
// A combinator that records each element it sees.
|
|
152
|
+
// The first argument may be a Stream or an Effect<Stream> (for generator-form handlers),
|
|
153
|
+
// matching how withDefaultToastStream handles it.
|
|
154
|
+
const spyCombinator = (
|
|
155
|
+
input: Stream.Stream<number, never, never> | Effect.Effect<Stream.Stream<number, never, never>>
|
|
156
|
+
) => {
|
|
157
|
+
const stream: Stream.Stream<number, never, never> = Stream.isStream(input)
|
|
158
|
+
? input
|
|
159
|
+
: Stream.unwrap(input as Effect.Effect<Stream.Stream<number, never, never>>)
|
|
160
|
+
return stream.pipe(
|
|
161
|
+
Stream.tap((v) =>
|
|
162
|
+
Effect.sync(() => {
|
|
163
|
+
emittedByCombinator.push(v)
|
|
164
|
+
})
|
|
165
|
+
)
|
|
166
|
+
)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const cmd = Command.streamFn("test-stream-gen-combinator")(
|
|
170
|
+
function*(arg: number) {
|
|
171
|
+
const base = yield* Effect.succeed(arg * 10)
|
|
172
|
+
return Stream.make(base, base + 1, base + 2)
|
|
173
|
+
},
|
|
174
|
+
// combinator receives (input, arg, ctx) — input is Stream or Effect<Stream> depending on handler form
|
|
175
|
+
(input: Stream.Stream<number, never, never> | Effect.Effect<Stream.Stream<number, never, never>>) =>
|
|
176
|
+
spyCombinator(input)
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
yield* join(cmd.handle(3))
|
|
180
|
+
|
|
181
|
+
// combinator must have seen all elements: 30, 31, 32
|
|
182
|
+
expect(emittedByCombinator).toEqual([30, 31, 32])
|
|
183
|
+
|
|
184
|
+
expect(cmd.result._tag).toBe("Success")
|
|
185
|
+
if (cmd.result._tag === "Success") {
|
|
186
|
+
expect(cmd.result.value).toBe(32)
|
|
187
|
+
}
|
|
188
|
+
}))
|
|
189
|
+
|
|
190
|
+
// ---------------------------------------------------------------------------
|
|
191
|
+
// Generator form — Stream.ensuring runs after stream completes
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
|
|
194
|
+
it.live("streamFn: generator form Stream.ensuring cleanup runs after stream ends", () =>
|
|
195
|
+
Effect.gen(function*() {
|
|
196
|
+
const Command = useExperimental({ toasts: [] })
|
|
197
|
+
|
|
198
|
+
let cleanupRan = false
|
|
199
|
+
|
|
200
|
+
const cmd = Command.streamFn("test-stream-gen-ensuring")(
|
|
201
|
+
function*(arg: number) {
|
|
202
|
+
const value = yield* Effect.succeed(arg + 100)
|
|
203
|
+
return Stream.make(value).pipe(
|
|
204
|
+
Stream.ensuring(Effect.sync(() => {
|
|
205
|
+
cleanupRan = true
|
|
206
|
+
}))
|
|
207
|
+
)
|
|
208
|
+
}
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
yield* join(cmd.handle(7))
|
|
212
|
+
|
|
213
|
+
expect(cleanupRan).toBe(true)
|
|
214
|
+
expect(cmd.result._tag).toBe("Success")
|
|
215
|
+
if (cmd.result._tag === "Success") {
|
|
216
|
+
expect(cmd.result.value).toBe(107)
|
|
217
|
+
}
|
|
218
|
+
}))
|