@fncts/io 0.0.32 → 0.0.33
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/Fiber/FiberRuntime.d.ts +3 -3
- package/IO/api.d.ts +2 -1
- package/IO/definition.d.ts +34 -24
- package/IO/runtime.d.ts +7 -17
- package/STM/definition.d.ts +1 -1
- package/Stream/api.d.ts +89 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +4 -4
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +2 -2
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +6 -6
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +10 -10
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Clock/live.cjs +1 -1
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +78 -47
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +1 -1
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +1 -1
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +1 -1
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +5 -5
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +3 -2
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/Future/api.cjs +4 -4
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +1 -1
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +1 -1
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +3 -3
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/daemonChildren.cjs +1 -1
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs +2 -1
- package/_cjs/IO/api/fork.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +2 -2
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +2 -2
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +1 -1
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/transplant.cjs +1 -1
- package/_cjs/IO/api/transplant.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api.cjs +33 -32
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +17 -31
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +45 -38
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/Logger/api.cjs +3 -2
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/MVar/api.cjs +11 -11
- package/_cjs/MVar/api.cjs.map +1 -1
- package/_cjs/Push/api.cjs +3 -3
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +1 -1
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +2 -2
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +4 -4
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +5 -5
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +3 -3
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/api/collect.cjs +1 -1
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs +3 -3
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs +2 -2
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api.cjs +2 -3
- package/_cjs/Ref/api.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +6 -6
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/STM/api.cjs +5 -5
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs +5 -4
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +8 -8
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +3 -3
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +8 -8
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +1 -1
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Semaphore.cjs +2 -2
- package/_cjs/Semaphore.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +6 -6
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +8 -8
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +370 -130
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +2 -2
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +2 -2
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +6 -6
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs +3 -2
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +3 -3
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -1
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +9 -9
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +1 -1
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +4 -4
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +2 -2
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +6 -6
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +10 -10
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Clock/live.mjs +1 -1
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +78 -47
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +1 -1
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +1 -1
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +1 -1
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +5 -5
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +3 -2
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/Future/api.mjs +4 -4
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +1 -1
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +1 -1
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +3 -3
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/daemonChildren.mjs +1 -1
- package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs +2 -1
- package/_mjs/IO/api/fork.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +2 -2
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +2 -2
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +1 -1
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/transplant.mjs +1 -1
- package/_mjs/IO/api/transplant.mjs.map +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api.mjs +32 -30
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +16 -27
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +42 -33
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/Logger/api.mjs +3 -2
- package/_mjs/Logger/api.mjs.map +1 -1
- package/_mjs/MVar/api.mjs +11 -11
- package/_mjs/MVar/api.mjs.map +1 -1
- package/_mjs/Push/api.mjs +3 -3
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +1 -1
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs +2 -2
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs +4 -4
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +5 -5
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +3 -3
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/api/collect.mjs +1 -1
- package/_mjs/Ref/api/collect.mjs.map +1 -1
- package/_mjs/Ref/api/dimap.mjs +3 -3
- package/_mjs/Ref/api/dimap.mjs.map +1 -1
- package/_mjs/Ref/api/filter.mjs +2 -2
- package/_mjs/Ref/api/filter.mjs.map +1 -1
- package/_mjs/Ref/api.mjs +2 -1
- package/_mjs/Ref/api.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs +6 -6
- package/_mjs/RefSubject/Atomic.mjs.map +1 -1
- package/_mjs/STM/api.mjs +5 -5
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/internal/CommitState.mjs +5 -4
- package/_mjs/STM/internal/CommitState.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs +8 -8
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs +3 -3
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +8 -8
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +1 -1
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Semaphore.mjs +2 -2
- package/_mjs/Semaphore.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +6 -6
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +8 -8
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +281 -58
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +2 -2
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs +2 -2
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs +6 -6
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Stream/internal/util.mjs +3 -2
- package/_mjs/Stream/internal/util.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs +3 -3
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +1 -1
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs +9 -9
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs +1 -1
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_src/Fiber/FiberRuntime.ts +39 -16
- package/_src/IO/api/asyncIO.ts +1 -1
- package/_src/IO/api.ts +4 -3
- package/_src/IO/definition.ts +35 -28
- package/_src/IO/runtime.ts +36 -35
- package/_src/RefSubject/Atomic.ts +4 -4
- package/_src/STM/definition.ts +1 -1
- package/_src/Stream/api.ts +258 -8
- package/package.json +2 -2
package/_mjs/Stream/api.mjs
CHANGED
|
@@ -51,18 +51,21 @@ import * as tsplus_module_49 from "@fncts/io/Fiber/api/poll";
|
|
|
51
51
|
import * as tsplus_module_50 from "@fncts/io/IO/api/environment";
|
|
52
52
|
import * as tsplus_module_51 from "@fncts/io/collection/immutable/Conc/findIO";
|
|
53
53
|
import * as tsplus_module_52 from "@fncts/base/data/Exit/definition";
|
|
54
|
-
import * as tsplus_module_53 from "@fncts/
|
|
55
|
-
import * as tsplus_module_54 from "@fncts/io/
|
|
56
|
-
import * as tsplus_module_55 from "@fncts/io/
|
|
57
|
-
import * as tsplus_module_56 from "@fncts/io/Channel/api/
|
|
58
|
-
import * as tsplus_module_57 from "@fncts/io/Channel/api/
|
|
59
|
-
import * as tsplus_module_58 from "@fncts/io/Channel/
|
|
60
|
-
import * as tsplus_module_59 from "@fncts/io/Channel/
|
|
61
|
-
import * as tsplus_module_60 from "@fncts/io/
|
|
62
|
-
import * as tsplus_module_61 from "@fncts/io/Layer/
|
|
63
|
-
import * as tsplus_module_62 from "@fncts/io/
|
|
64
|
-
import * as tsplus_module_63 from "@fncts/
|
|
65
|
-
import * as tsplus_module_64 from "@fncts/
|
|
54
|
+
import * as tsplus_module_53 from "@fncts/base/collection/immutable/Conc/definition";
|
|
55
|
+
import * as tsplus_module_54 from "@fncts/io/Stream/internal/Pull";
|
|
56
|
+
import * as tsplus_module_55 from "@fncts/io/Queue/api/takeBetween";
|
|
57
|
+
import * as tsplus_module_56 from "@fncts/io/Channel/api/interruptWhen";
|
|
58
|
+
import * as tsplus_module_57 from "@fncts/io/Channel/api/mapOutConcurrentIO";
|
|
59
|
+
import * as tsplus_module_58 from "@fncts/io/Channel/api/mergeMap";
|
|
60
|
+
import * as tsplus_module_59 from "@fncts/io/Channel/internal/MergeDecision";
|
|
61
|
+
import * as tsplus_module_60 from "@fncts/io/Channel/api/mergeWith";
|
|
62
|
+
import * as tsplus_module_61 from "@fncts/io/Layer/MemoMap";
|
|
63
|
+
import * as tsplus_module_62 from "@fncts/io/Layer/api";
|
|
64
|
+
import * as tsplus_module_63 from "@fncts/io/Channel/api/runDrain";
|
|
65
|
+
import * as tsplus_module_64 from "@fncts/base/data/Maybe/definition";
|
|
66
|
+
import * as tsplus_module_65 from "@fncts/base/data/exceptions";
|
|
67
|
+
import * as tsplus_module_66 from "@fncts/io/IO/api/interrupt";
|
|
68
|
+
import * as tsplus_module_67 from "@fncts/io/Channel/api/toPull";
|
|
66
69
|
export const aggregateAsyncWithin = aggregateAsyncWithin_1;
|
|
67
70
|
export const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
|
|
68
71
|
export const zipRight = zipRight_1;
|
|
@@ -76,11 +79,14 @@ export const flatMap = flatMap_1;
|
|
|
76
79
|
export const chunks = chunks_1;
|
|
77
80
|
export const concat = concat_1;
|
|
78
81
|
export const crossWith = crossWith_1;
|
|
82
|
+
export const defer = defer_1;
|
|
79
83
|
export const distributedWithDynamic = distributedWithDynamic_1;
|
|
84
|
+
export const drain = drain_1;
|
|
80
85
|
export const drop = drop_1;
|
|
81
86
|
export const dropWhile = dropWhile_1;
|
|
82
87
|
export const ensuring = ensuring_1;
|
|
83
88
|
export const environment = environment_1;
|
|
89
|
+
export const execute = execute_1;
|
|
84
90
|
export const failNow = failNow_1;
|
|
85
91
|
export const failCauseNow = failCauseNow_1;
|
|
86
92
|
export const filterMap = filterMap_1;
|
|
@@ -106,6 +112,7 @@ export const mapChunks = mapChunks_1;
|
|
|
106
112
|
export const mapConcatChunk = mapConcatChunk_1;
|
|
107
113
|
export const mapError = mapError_1;
|
|
108
114
|
export const mapIO = mapIO_1;
|
|
115
|
+
export const merge = merge_1;
|
|
109
116
|
export const mergeMap = mergeMap_1;
|
|
110
117
|
export const mergeEither = mergeEither_1;
|
|
111
118
|
export const mergeWith = mergeWith_1;
|
|
@@ -125,6 +132,8 @@ export const runScoped = runScoped_1;
|
|
|
125
132
|
export const scanIO = scanIO_1;
|
|
126
133
|
export const scanReduceIO = scanReduceIO_1;
|
|
127
134
|
export const succeedNow = succeedNow_1;
|
|
135
|
+
export const tap = tap_1;
|
|
136
|
+
export const tapError = tapError_1;
|
|
128
137
|
export const throttleEnforceIO = throttleEnforceIO_1;
|
|
129
138
|
export const toHub = toHub_1;
|
|
130
139
|
export const toPull = toPull_1;
|
|
@@ -136,7 +145,7 @@ export const unfoldIO = unfoldIO_1;
|
|
|
136
145
|
export const unfoldChunk = unfoldChunk_1;
|
|
137
146
|
export const unwrap = unwrap_1;
|
|
138
147
|
export const unwrapScoped = unwrapScoped_1;
|
|
139
|
-
import {
|
|
148
|
+
import { identity, tuple } from "@fncts/base/data/function";
|
|
140
149
|
import { DEFAULT_CHUNK_SIZE, Stream } from "./definition.mjs";
|
|
141
150
|
import { Handoff } from "./internal/Handoff.mjs";
|
|
142
151
|
import { ScheduleEnd, UpstreamEnd } from "./internal/SinkEndReason.mjs";
|
|
@@ -174,7 +183,7 @@ export function aggregateAsync(sink, __tsplusTrace) {
|
|
|
174
183
|
*/
|
|
175
184
|
function aggregateAsyncWithin_1(sink, schedule, __tsplusTrace) {
|
|
176
185
|
return stream => {
|
|
177
|
-
return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
|
|
186
|
+
return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
|
|
178
187
|
};
|
|
179
188
|
}
|
|
180
189
|
/**
|
|
@@ -227,15 +236,15 @@ function aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace) {
|
|
|
227
236
|
function handleSide(leftovers, b, c, __tsplusTrace) {
|
|
228
237
|
return tsplus_module_10.unwrap(() => tsplus_module_1.zipRight(tsplus_module_1.map(reason => tsplus_module_21.matchSinkEndReason({
|
|
229
238
|
ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(consumed_ => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => {
|
|
230
|
-
const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b)), c => tsplus_module_19.make(tsplus_module_18.right(b), tsplus_module_18.left(c)))(c);
|
|
239
|
+
const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace)), c => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace), tsplus_module_18.left(c, __tsplusTrace)))(c);
|
|
231
240
|
return consumed_ ? tsplus_module_11.zipRight(scheduledAggregator(sinkFiber, scheduleFiber))(tsplus_module_10.write(() => toWrite)) : scheduledAggregator(sinkFiber, scheduleFiber);
|
|
232
|
-
}, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
|
|
233
|
-
UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
|
|
241
|
+
}, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b, __tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
|
|
242
|
+
UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
|
|
234
243
|
})(reason), __tsplusTrace)(tsplus_module_14.get(sinkEndReason, __tsplusTrace)), __tsplusTrace)(tsplus_module_13.set(tsplus_module_12.flatten(leftovers), __tsplusTrace)(sinkLeftovers)));
|
|
235
244
|
}
|
|
236
|
-
return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
|
|
245
|
+
return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
|
|
237
246
|
};
|
|
238
|
-
return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
|
|
247
|
+
return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
|
|
239
248
|
}, __tsplusTrace)(fromIO_1(deps, __tsplusTrace));
|
|
240
249
|
};
|
|
241
250
|
}
|
|
@@ -282,7 +291,11 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
282
291
|
return ensuring_1(canceler, __tsplusTrace)(new Stream(loop));
|
|
283
292
|
}, stream => unwrap_1(tsplus_module_1.as(() => stream, __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), __tsplusTrace))(eitherStream), __tsplusTrace)(tsplus_module_1.succeed(() => register((k, cb) => {
|
|
284
293
|
const effect = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
|
|
285
|
-
|
|
294
|
+
const fiber = runtime.makeFiber(effect, __tsplusTrace);
|
|
295
|
+
if (cb) {
|
|
296
|
+
fiber.addObserver(cb);
|
|
297
|
+
}
|
|
298
|
+
fiber.start(effect);
|
|
286
299
|
}), __tsplusTrace)), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), queue => tsplus_module_28.shutdown(queue, __tsplusTrace), __tsplusTrace)), __tsplusTrace);
|
|
287
300
|
}
|
|
288
301
|
/**
|
|
@@ -294,7 +307,7 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
294
307
|
* @tsplus static fncts.io.StreamOps asyncMaybe
|
|
295
308
|
*/
|
|
296
309
|
function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
297
|
-
return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
|
|
310
|
+
return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit, __tsplusTrace), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
|
|
298
311
|
}
|
|
299
312
|
/**
|
|
300
313
|
* @tsplus static fncts.io.StreamOps async
|
|
@@ -302,7 +315,7 @@ function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
302
315
|
export function async(register, outputBuffer = 16, __tsplusTrace) {
|
|
303
316
|
return asyncMaybe_1(cb => {
|
|
304
317
|
register(cb);
|
|
305
|
-
return tsplus_module_3.nothing();
|
|
318
|
+
return tsplus_module_3.nothing(__tsplusTrace);
|
|
306
319
|
}, outputBuffer, __tsplusTrace);
|
|
307
320
|
}
|
|
308
321
|
/**
|
|
@@ -312,7 +325,14 @@ export function asyncIO(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
312
325
|
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(() => {
|
|
313
326
|
const loop = tsplus_module_10.unwrap(() => tsplus_module_1.matchCauseIO(cause => tsplus_module_1.as(() => tsplus_module_4.match(maybeError => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), tsplus_module_11.failCauseNow)(tsplus_module_25.failureOrCause(cause)), __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), as => tsplus_module_1.succeed(() => tsplus_module_11.zipRight(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_27.done(take), __tsplusTrace)(tsplus_module_28.take(output, __tsplusTrace))));
|
|
314
327
|
return loop;
|
|
315
|
-
}, __tsplusTrace)(register((k, cb) =>
|
|
328
|
+
}, __tsplusTrace)(register((k, cb) => {
|
|
329
|
+
const io = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
|
|
330
|
+
const fiber = runtime.makeFiber(io, __tsplusTrace);
|
|
331
|
+
if (cb) {
|
|
332
|
+
fiber.addObserver(cb);
|
|
333
|
+
}
|
|
334
|
+
fiber.start(io);
|
|
335
|
+
})), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace))));
|
|
316
336
|
}
|
|
317
337
|
/**
|
|
318
338
|
* Returns a stream whose failure and success channels have been mapped by
|
|
@@ -518,7 +538,7 @@ export function chunksWith(f, __tsplusTrace) {
|
|
|
518
538
|
}
|
|
519
539
|
function changesWithWriter(f, last, __tsplusTrace) {
|
|
520
540
|
return tsplus_module_10.readWithCause(chunk => {
|
|
521
|
-
const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1), os] : [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
|
|
541
|
+
const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1, __tsplusTrace), os] : [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
|
|
522
542
|
return tsplus_module_11.zipRight(changesWithWriter(f, newLast, __tsplusTrace))(tsplus_module_10.writeNow(newChunk));
|
|
523
543
|
}, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
|
|
524
544
|
}
|
|
@@ -531,7 +551,7 @@ function changesWithWriter(f, last, __tsplusTrace) {
|
|
|
531
551
|
*/
|
|
532
552
|
export function changesWith(f, __tsplusTrace) {
|
|
533
553
|
return stream => {
|
|
534
|
-
return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace))(stream.channel));
|
|
554
|
+
return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(stream.channel));
|
|
535
555
|
};
|
|
536
556
|
}
|
|
537
557
|
/**
|
|
@@ -567,7 +587,7 @@ function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
|
|
|
567
587
|
}
|
|
568
588
|
}
|
|
569
589
|
function combineProducer(handoff, latch, __tsplusTrace) {
|
|
570
|
-
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause)))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing()))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
590
|
+
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value, __tsplusTrace))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
571
591
|
}
|
|
572
592
|
/**
|
|
573
593
|
* Combines the elements from this stream and the specified stream by repeatedly applying the
|
|
@@ -705,7 +725,7 @@ export function debounce(duration, __tsplusTrace) {
|
|
|
705
725
|
/**
|
|
706
726
|
* @tsplus static fncts.io.StreamOps defer
|
|
707
727
|
*/
|
|
708
|
-
|
|
728
|
+
function defer_1(self) {
|
|
709
729
|
return new Stream(tsplus_module_10.defer(() => self().channel));
|
|
710
730
|
}
|
|
711
731
|
function defaultIfEmptyWriter(fb, __tsplusTrace) {
|
|
@@ -750,17 +770,17 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
|
|
|
750
770
|
return self => {
|
|
751
771
|
const offer = queuesRef => a => tsplus_module_1.flatMap(shouldProcess => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(ids => tsplus_module_12.isNonEmpty(ids) ? tsplus_module_15.update(map => tsplus_module_45.removeMany(ids)(map), __tsplusTrace)(queuesRef) : tsplus_module_1.unit, __tsplusTrace)(tsplus_module_1.foldLeft(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
|
|
752
772
|
if (shouldProcess(id)) {
|
|
753
|
-
return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a), __tsplusTrace)(queue));
|
|
773
|
+
return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a, __tsplusTrace), __tsplusTrace)(queue));
|
|
754
774
|
} else {
|
|
755
775
|
return tsplus_module_1.succeedNow(b, __tsplusTrace);
|
|
756
776
|
}
|
|
757
777
|
}, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
|
|
758
778
|
return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
|
|
759
|
-
const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
|
|
779
|
+
const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit, __tsplusTrace) : tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
|
|
760
780
|
const id = Symbol();
|
|
761
781
|
return tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef));
|
|
762
782
|
}, __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
|
|
763
|
-
return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
|
|
783
|
+
return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace)), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
|
|
764
784
|
}, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_46.makeSemaphore(1, __tsplusTrace))), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_45.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_45.values(qs), q => tsplus_module_28.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
|
|
765
785
|
};
|
|
766
786
|
}
|
|
@@ -770,7 +790,7 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
|
|
|
770
790
|
*
|
|
771
791
|
* @tsplus getter fncts.io.Stream drain
|
|
772
792
|
*/
|
|
773
|
-
|
|
793
|
+
function drain_1(fa, __tsplusTrace) {
|
|
774
794
|
return new Stream(tsplus_module_10.drain(fa.channel));
|
|
775
795
|
}
|
|
776
796
|
function dropLoop(r, __tsplusTrace) {
|
|
@@ -823,12 +843,12 @@ export function dropUntil(p, __tsplusTrace) {
|
|
|
823
843
|
* @tsplus getter fncts.io.Stream either
|
|
824
844
|
*/
|
|
825
845
|
export function either(stream, __tsplusTrace) {
|
|
826
|
-
return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
|
|
846
|
+
return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e, __tsplusTrace), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
|
|
827
847
|
}
|
|
828
848
|
/**
|
|
829
849
|
* @tsplus static fncts.io.StreamOps empty
|
|
830
850
|
*/
|
|
831
|
-
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":
|
|
851
|
+
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1234:70");
|
|
832
852
|
export const empty = empty_1;
|
|
833
853
|
function endWhenWriter(fiber, __tsplusTrace) {
|
|
834
854
|
return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
|
|
@@ -887,6 +907,14 @@ export function environmentWithIO(f, __tsplusTrace) {
|
|
|
887
907
|
export function environmentWithStream(f, __tsplusTrace) {
|
|
888
908
|
return flatMap_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
|
|
889
909
|
}
|
|
910
|
+
/**
|
|
911
|
+
* Creates a stream that executes the specified effect but emits no elements.
|
|
912
|
+
*
|
|
913
|
+
* @tsplus static fncts.io.StreamOps execute
|
|
914
|
+
*/
|
|
915
|
+
function execute_1(io, __tsplusTrace) {
|
|
916
|
+
return drain_1(fromIO_1(io, __tsplusTrace), __tsplusTrace);
|
|
917
|
+
}
|
|
890
918
|
/**
|
|
891
919
|
* Halt a stream with the specified error
|
|
892
920
|
*
|
|
@@ -1006,7 +1034,7 @@ function flattenExitOption_1(stream, __tsplusTrace) {
|
|
|
1006
1034
|
const processChunk = (chunk, cont) => {
|
|
1007
1035
|
const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
|
|
1008
1036
|
const next = tsplus_module_20.match(() => cont, exit => tsplus_module_36.match(cause => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_25.flipCauseOption(cause)), () => tsplus_module_11.endNow(undefined))(exit))(tsplus_module_12.head(rest));
|
|
1009
|
-
return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
|
|
1037
|
+
return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(exit))(toEmit)));
|
|
1010
1038
|
};
|
|
1011
1039
|
const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
|
|
1012
1040
|
return new Stream(tsplus_module_10.pipeTo(process)(stream.channel));
|
|
@@ -1060,6 +1088,59 @@ function fromChunk_1(c, __tsplusTrace) {
|
|
|
1060
1088
|
function scoped_1(stream, __tsplusTrace) {
|
|
1061
1089
|
return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.map(tsplus_module_19.single, __tsplusTrace)(stream())));
|
|
1062
1090
|
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Emits a sliding window of n elements.
|
|
1093
|
+
*
|
|
1094
|
+
* @tsplus pipeable fncts.io.Stream sliding
|
|
1095
|
+
*/
|
|
1096
|
+
export function sliding(chunkSize, stepSize, __tsplusTrace) {
|
|
1097
|
+
return self => {
|
|
1098
|
+
return defer_1(() => {
|
|
1099
|
+
function slidingChunk(chunk, input) {
|
|
1100
|
+
const updatedChunk = tsplus_module_12.concat(input)(chunk);
|
|
1101
|
+
const length = updatedChunk.length;
|
|
1102
|
+
if (length >= chunkSize) {
|
|
1103
|
+
const array = new Array((length - chunkSize) / stepSize + 1);
|
|
1104
|
+
let arrayIndex = 0;
|
|
1105
|
+
let chunkIndex = 0;
|
|
1106
|
+
while (chunkIndex + chunkSize <= length) {
|
|
1107
|
+
array[arrayIndex] = tsplus_module_12.slice(chunkIndex, chunkIndex + chunkSize)(updatedChunk);
|
|
1108
|
+
arrayIndex += 1;
|
|
1109
|
+
chunkIndex += stepSize;
|
|
1110
|
+
}
|
|
1111
|
+
return [tsplus_module_12.drop(chunkIndex)(updatedChunk), tsplus_module_53.fromArray(array)];
|
|
1112
|
+
} else {
|
|
1113
|
+
return [updatedChunk, tsplus_module_7.empty()];
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
function sliding(chunk, written) {
|
|
1117
|
+
return tsplus_module_10.readWithCause(input => {
|
|
1118
|
+
const [updatedChunk, out] = slidingChunk(chunk, input);
|
|
1119
|
+
if (tsplus_module_12.isEmpty(out)) {
|
|
1120
|
+
return sliding(updatedChunk, written);
|
|
1121
|
+
} else {
|
|
1122
|
+
return tsplus_module_11.zipRight(sliding(updatedChunk, true))(tsplus_module_10.writeNow(out));
|
|
1123
|
+
}
|
|
1124
|
+
}, err => {
|
|
1125
|
+
const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
|
|
1126
|
+
if (index >= chunk.length) {
|
|
1127
|
+
return tsplus_module_11.failCauseNow(err);
|
|
1128
|
+
} else {
|
|
1129
|
+
return tsplus_module_11.zipRight(tsplus_module_11.failCauseNow(err))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
1130
|
+
}
|
|
1131
|
+
}, done => {
|
|
1132
|
+
const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
|
|
1133
|
+
if (index >= chunk.length) {
|
|
1134
|
+
return tsplus_module_11.succeedNow(done);
|
|
1135
|
+
} else {
|
|
1136
|
+
return tsplus_module_11.zipRight(tsplus_module_11.succeedNow(done))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
1137
|
+
}
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
return new Stream(tsplus_module_10.pipeTo(sliding(tsplus_module_7.empty(), false))(self.channel));
|
|
1141
|
+
});
|
|
1142
|
+
};
|
|
1143
|
+
}
|
|
1063
1144
|
/**
|
|
1064
1145
|
* Creates a stream from an effect producing a value of type `A`
|
|
1065
1146
|
*
|
|
@@ -1120,7 +1201,7 @@ export function fromIterableSingle(iterable, __tsplusTrace) {
|
|
|
1120
1201
|
return flatMap_1(iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
|
|
1121
1202
|
const value = iterator.next();
|
|
1122
1203
|
if (value.done) {
|
|
1123
|
-
return tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace);
|
|
1204
|
+
return tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace);
|
|
1124
1205
|
} else {
|
|
1125
1206
|
return tsplus_module_1.succeedNow(value.value, __tsplusTrace);
|
|
1126
1207
|
}
|
|
@@ -1140,11 +1221,11 @@ function fromPull_1(scopedPull, __tsplusTrace) {
|
|
|
1140
1221
|
function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1141
1222
|
return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
|
|
1142
1223
|
if (down && tsplus_module_25.interrupted(c)) {
|
|
1143
|
-
return
|
|
1224
|
+
return tsplus_module_54.end;
|
|
1144
1225
|
} else {
|
|
1145
|
-
return
|
|
1226
|
+
return tsplus_module_54.failCause(c);
|
|
1146
1227
|
}
|
|
1147
|
-
}, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(
|
|
1228
|
+
}, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_55.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
|
|
1148
1229
|
}
|
|
1149
1230
|
/**
|
|
1150
1231
|
* @tsplus static fncts.io.StreamOps fromQueueWithShutdown
|
|
@@ -1286,7 +1367,7 @@ export function intersperse(stream, middle, __tsplusTrace) {
|
|
|
1286
1367
|
*/
|
|
1287
1368
|
export function interruptWhen(io, __tsplusTrace) {
|
|
1288
1369
|
return stream => {
|
|
1289
|
-
return new Stream(
|
|
1370
|
+
return new Stream(tsplus_module_56.interruptWhen(io)(stream.channel));
|
|
1290
1371
|
};
|
|
1291
1372
|
}
|
|
1292
1373
|
/**
|
|
@@ -1294,7 +1375,7 @@ export function interruptWhen(io, __tsplusTrace) {
|
|
|
1294
1375
|
*/
|
|
1295
1376
|
export function interruptWhenFuture(future, __tsplusTrace) {
|
|
1296
1377
|
return fa => {
|
|
1297
|
-
return new Stream(
|
|
1378
|
+
return new Stream(tsplus_module_56.interruptWhenFuture(future)(fa.channel));
|
|
1298
1379
|
};
|
|
1299
1380
|
}
|
|
1300
1381
|
/**
|
|
@@ -1459,7 +1540,7 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
|
|
|
1459
1540
|
*/
|
|
1460
1541
|
export function mapIOConcurrently(n, f, __tsplusTrace) {
|
|
1461
1542
|
return stream => {
|
|
1462
|
-
return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(
|
|
1543
|
+
return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_57.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
|
|
1463
1544
|
};
|
|
1464
1545
|
}
|
|
1465
1546
|
/**
|
|
@@ -1467,7 +1548,75 @@ export function mapIOConcurrently(n, f, __tsplusTrace) {
|
|
|
1467
1548
|
*/
|
|
1468
1549
|
export function mapIOConcurrentlyUnordered(n, f) {
|
|
1469
1550
|
return self => {
|
|
1470
|
-
return pipeThroughChannelOrFail_1(
|
|
1551
|
+
return pipeThroughChannelOrFail_1(tsplus_module_58.mergeMap(inp => fromIO_1(f(inp), fileName_1 + ":2290:41").channel, n, 16)(tsplus_module_10.concatMap(chunk => tsplus_module_10.writeChunk(chunk))(tsplus_module_10.id())))(self);
|
|
1552
|
+
};
|
|
1553
|
+
}
|
|
1554
|
+
/**
|
|
1555
|
+
* Merges this stream and the specified stream together.
|
|
1556
|
+
*
|
|
1557
|
+
* New produced stream will terminate when both specified stream terminate if
|
|
1558
|
+
* no termination strategy is specified.
|
|
1559
|
+
*
|
|
1560
|
+
* @tsplus pipeable fncts.io.Stream merge
|
|
1561
|
+
*/
|
|
1562
|
+
function merge_1(that, strategy = "Both", __tsplusTrace) {
|
|
1563
|
+
return self => {
|
|
1564
|
+
return mergeWith_1(that, identity, identity, strategy, __tsplusTrace)(self);
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
/**
|
|
1568
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1569
|
+
* will terminate when either stream terminates.
|
|
1570
|
+
*
|
|
1571
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltEither
|
|
1572
|
+
*/
|
|
1573
|
+
export function mergeHaltEither(that, __tsplusTrace) {
|
|
1574
|
+
return self => {
|
|
1575
|
+
return merge_1(that, "Either", __tsplusTrace)(self);
|
|
1576
|
+
};
|
|
1577
|
+
}
|
|
1578
|
+
/**
|
|
1579
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1580
|
+
* will terminate when this stream terminates.
|
|
1581
|
+
*
|
|
1582
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltLeft
|
|
1583
|
+
*/
|
|
1584
|
+
export function mergeHaltLeft(that, __tsplusTrace) {
|
|
1585
|
+
return self => {
|
|
1586
|
+
return merge_1(that, "Left", __tsplusTrace)(self);
|
|
1587
|
+
};
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1591
|
+
* will terminate when the specified stream terminates.
|
|
1592
|
+
*
|
|
1593
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltRight
|
|
1594
|
+
*/
|
|
1595
|
+
export function mergeHaltRight(that, __tsplusTrace) {
|
|
1596
|
+
return self => {
|
|
1597
|
+
return merge_1(that, "Right", __tsplusTrace)(self);
|
|
1598
|
+
};
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1602
|
+
* from the right stream.
|
|
1603
|
+
*
|
|
1604
|
+
* @tsplus pipeable fncts.io.Stream mergeLeft
|
|
1605
|
+
*/
|
|
1606
|
+
export function mergeLeft(that, __tsplusTrace) {
|
|
1607
|
+
return self => {
|
|
1608
|
+
return merge_1(drain_1(that, __tsplusTrace))(self);
|
|
1609
|
+
};
|
|
1610
|
+
}
|
|
1611
|
+
/**
|
|
1612
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1613
|
+
* from the left stream.
|
|
1614
|
+
*
|
|
1615
|
+
* @tsplus pipeable fncts.io.Stream mergeRight
|
|
1616
|
+
*/
|
|
1617
|
+
export function mergeRight(that, __tsplusTrace) {
|
|
1618
|
+
return self => {
|
|
1619
|
+
return merge_1(that)(drain_1(self, __tsplusTrace));
|
|
1471
1620
|
};
|
|
1472
1621
|
}
|
|
1473
1622
|
/**
|
|
@@ -1480,7 +1629,7 @@ export function mapIOConcurrentlyUnordered(n, f) {
|
|
|
1480
1629
|
*/
|
|
1481
1630
|
function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
|
|
1482
1631
|
return ma => {
|
|
1483
|
-
return new Stream(
|
|
1632
|
+
return new Stream(tsplus_module_58.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
|
|
1484
1633
|
};
|
|
1485
1634
|
}
|
|
1486
1635
|
/**
|
|
@@ -1504,14 +1653,14 @@ function mergeEither_1(fb, __tsplusTrace) {
|
|
|
1504
1653
|
};
|
|
1505
1654
|
}
|
|
1506
1655
|
function mergeWithHandler(terminate, __tsplusTrace) {
|
|
1507
|
-
return exit => terminate || !tsplus_module_52.isSuccess(exit) ?
|
|
1656
|
+
return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_59.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_59.wait(tsplus_module_1.fromExitNow);
|
|
1508
1657
|
}
|
|
1509
1658
|
/**
|
|
1510
1659
|
* @tsplus pipeable fncts.io.Stream mergeWith
|
|
1511
1660
|
*/
|
|
1512
1661
|
function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
|
|
1513
1662
|
return sa => {
|
|
1514
|
-
return new Stream(
|
|
1663
|
+
return new Stream(tsplus_module_60.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
|
|
1515
1664
|
};
|
|
1516
1665
|
}
|
|
1517
1666
|
/**
|
|
@@ -1568,7 +1717,7 @@ export function orElseFail(e, __tsplusTrace) {
|
|
|
1568
1717
|
* See also Stream#catchAll.
|
|
1569
1718
|
*/
|
|
1570
1719
|
export function orElseOptional(stream, that, __tsplusTrace) {
|
|
1571
|
-
return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
|
|
1720
|
+
return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e, __tsplusTrace), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
|
|
1572
1721
|
}
|
|
1573
1722
|
/**
|
|
1574
1723
|
* Succeeds with the specified value if this one fails with a typed error.
|
|
@@ -1612,7 +1761,7 @@ function provideEnvironment_1(r, __tsplusTrace) {
|
|
|
1612
1761
|
*/
|
|
1613
1762
|
function provideLayer_1(layer, __tsplusTrace) {
|
|
1614
1763
|
return self => {
|
|
1615
|
-
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(
|
|
1764
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_61.build(layer, __tsplusTrace))));
|
|
1616
1765
|
};
|
|
1617
1766
|
}
|
|
1618
1767
|
/**
|
|
@@ -1621,7 +1770,7 @@ function provideLayer_1(layer, __tsplusTrace) {
|
|
|
1621
1770
|
export function provideSomeLayer(layer, __tsplusTrace) {
|
|
1622
1771
|
return self => {
|
|
1623
1772
|
// @ts-expect-error
|
|
1624
|
-
return provideLayer_1(
|
|
1773
|
+
return provideLayer_1(tsplus_module_62.and(layer, __tsplusTrace)(tsplus_module_62.environment(__tsplusTrace)), __tsplusTrace)(self);
|
|
1625
1774
|
};
|
|
1626
1775
|
}
|
|
1627
1776
|
class Rechunker {
|
|
@@ -1726,7 +1875,7 @@ export function repeatIOChunk(fa, __tsplusTrace) {
|
|
|
1726
1875
|
* @tsplus static fncts.io.StreamOps repeatIOChunkMaybe
|
|
1727
1876
|
*/
|
|
1728
1877
|
function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
|
|
1729
|
-
return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined)), __tsplusTrace)(fa)), __tsplusTrace);
|
|
1878
|
+
return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined), __tsplusTrace), __tsplusTrace)(fa)), __tsplusTrace);
|
|
1730
1879
|
}
|
|
1731
1880
|
/**
|
|
1732
1881
|
* Runs the sink on the stream to produce either the sink's result or an error.
|
|
@@ -1735,7 +1884,7 @@ function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
|
|
|
1735
1884
|
*/
|
|
1736
1885
|
function run_1(sink, __tsplusTrace) {
|
|
1737
1886
|
return stream => {
|
|
1738
|
-
return
|
|
1887
|
+
return tsplus_module_63.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
|
|
1739
1888
|
};
|
|
1740
1889
|
}
|
|
1741
1890
|
/**
|
|
@@ -1770,7 +1919,7 @@ function runForeachScoped_1(f, __tsplusTrace) {
|
|
|
1770
1919
|
*/
|
|
1771
1920
|
export function runIntoElementsScoped_(queue, __tsplusTrace) {
|
|
1772
1921
|
return stream => {
|
|
1773
|
-
const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing())));
|
|
1922
|
+
const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a, __tsplusTrace)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err, __tsplusTrace), __tsplusTrace)), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)));
|
|
1774
1923
|
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(exit => tsplus_module_28.offer(exit, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
|
|
1775
1924
|
};
|
|
1776
1925
|
}
|
|
@@ -1796,9 +1945,9 @@ function runIntoQueueElementsScoped_1(queue) {
|
|
|
1796
1945
|
return self => {
|
|
1797
1946
|
return tsplus_module_1.defer(() => {
|
|
1798
1947
|
const queue0 = queue();
|
|
1799
|
-
const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a))(inp), fileName_1 + ":
|
|
1800
|
-
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":
|
|
1801
|
-
}, fileName_1 + ":
|
|
1948
|
+
const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a, fileName_1 + ":2799:85"))(inp), fileName_1 + ":2799:57")(queue0))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.failCause(tsplus_module_25.map(e => tsplus_module_3.just(e, fileName_1 + ":2800:84"))(cause), fileName_1 + ":2800:62"), fileName_1 + ":2800:47")(queue0)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.fail(tsplus_module_3.nothing(fileName_1 + ":2801:60"), fileName_1 + ":2801:52"), fileName_1 + ":2801:42")(queue0)));
|
|
1949
|
+
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":2804:55");
|
|
1950
|
+
}, fileName_1 + ":2796:20");
|
|
1802
1951
|
};
|
|
1803
1952
|
}
|
|
1804
1953
|
/**
|
|
@@ -1863,7 +2012,34 @@ export function scanReduce(f, __tsplusTrace) {
|
|
|
1863
2012
|
*/
|
|
1864
2013
|
function scanReduceIO_1(f, __tsplusTrace) {
|
|
1865
2014
|
return fa => {
|
|
1866
|
-
return mapAccumIO_1(tsplus_module_3.nothing(), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
|
|
2015
|
+
return mapAccumIO_1(tsplus_module_3.nothing(__tsplusTrace), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a, __tsplusTrace)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b, __tsplusTrace)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
|
|
2016
|
+
};
|
|
2017
|
+
}
|
|
2018
|
+
/**
|
|
2019
|
+
* @tsplus pipeable fncts.io.Stream split
|
|
2020
|
+
*/
|
|
2021
|
+
export function split(predicate, __tsplusTrace) {
|
|
2022
|
+
return self => {
|
|
2023
|
+
function split(leftovers, input) {
|
|
2024
|
+
const [chunk, remaining] = tsplus_module_12.splitWhere(predicate)(tsplus_module_12.concat(input)(leftovers));
|
|
2025
|
+
if (tsplus_module_12.isEmpty(chunk) || tsplus_module_12.isEmpty(remaining)) {
|
|
2026
|
+
return loop(tsplus_module_12.concat(tsplus_module_12.drop(1)(remaining))(chunk));
|
|
2027
|
+
} else {
|
|
2028
|
+
return tsplus_module_11.zipRight(split(tsplus_module_7.empty(), tsplus_module_12.drop(1)(remaining)))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
function loop(leftovers) {
|
|
2032
|
+
return tsplus_module_10.readWith(input => split(leftovers, input), tsplus_module_10.failNow, _ => {
|
|
2033
|
+
if (tsplus_module_12.isEmpty(leftovers)) {
|
|
2034
|
+
return tsplus_module_10.unit;
|
|
2035
|
+
} else if (tsplus_module_64.isNothing(tsplus_module_12.find(predicate)(leftovers))) {
|
|
2036
|
+
return tsplus_module_11.zipRight(tsplus_module_10.unit)(tsplus_module_10.writeNow(tsplus_module_19.single(leftovers)));
|
|
2037
|
+
} else {
|
|
2038
|
+
return tsplus_module_11.zipRight(tsplus_module_10.unit)(split(tsplus_module_7.empty(), leftovers));
|
|
2039
|
+
}
|
|
2040
|
+
});
|
|
2041
|
+
}
|
|
2042
|
+
return new Stream(tsplus_module_10.pipeTo(loop(tsplus_module_7.empty()))(self.channel));
|
|
1867
2043
|
};
|
|
1868
2044
|
}
|
|
1869
2045
|
/**
|
|
@@ -1904,7 +2080,7 @@ export function take(n, __tsplusTrace) {
|
|
|
1904
2080
|
return empty_1;
|
|
1905
2081
|
}
|
|
1906
2082
|
if (!Number.isInteger(n)) {
|
|
1907
|
-
return halt_1(() => new
|
|
2083
|
+
return halt_1(() => new tsplus_module_65.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
|
|
1908
2084
|
}
|
|
1909
2085
|
return new Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
|
|
1910
2086
|
};
|
|
@@ -1950,11 +2126,58 @@ export function takeUntil(p, __tsplusTrace) {
|
|
|
1950
2126
|
/**
|
|
1951
2127
|
* @tsplus pipeable fncts.io.Stream tap
|
|
1952
2128
|
*/
|
|
1953
|
-
|
|
2129
|
+
function tap_1(f, __tsplusTrace) {
|
|
1954
2130
|
return ma => {
|
|
1955
2131
|
return mapIO_1(a => tsplus_module_1.as(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(ma);
|
|
1956
2132
|
};
|
|
1957
2133
|
}
|
|
2134
|
+
/**
|
|
2135
|
+
* Returns a stream that effectfully "peeks" at the failure and adds an effect
|
|
2136
|
+
* to consumption of every element of the stream
|
|
2137
|
+
*
|
|
2138
|
+
* @tsplus pipeable fncts.io.Stream tapBoth
|
|
2139
|
+
*/
|
|
2140
|
+
export function tapBoth(f, g, __tsplusTrace) {
|
|
2141
|
+
return self => {
|
|
2142
|
+
return tap_1(g, __tsplusTrace)(tapError_1(f, __tsplusTrace)(self));
|
|
2143
|
+
};
|
|
2144
|
+
}
|
|
2145
|
+
/**
|
|
2146
|
+
* Returns a stream that effectfully "peeks" at the failure of the stream.
|
|
2147
|
+
*
|
|
2148
|
+
* @tsplus pipeable fncts.io.Stream tapError
|
|
2149
|
+
*/
|
|
2150
|
+
function tapError_1(f, __tsplusTrace) {
|
|
2151
|
+
return self => {
|
|
2152
|
+
return catchAll_1(e => fromIO_1(f(e), __tsplusTrace), __tsplusTrace)(self);
|
|
2153
|
+
};
|
|
2154
|
+
}
|
|
2155
|
+
/**
|
|
2156
|
+
* Returns a stream that effectfully "peeks" at the cause of failure of the
|
|
2157
|
+
* stream.
|
|
2158
|
+
*
|
|
2159
|
+
* @tsplus pipeable fncts.io.Stream tapErrorCause
|
|
2160
|
+
*/
|
|
2161
|
+
export function tapErrorCause(f, __tsplusTrace) {
|
|
2162
|
+
return self => {
|
|
2163
|
+
return catchAllCause_1(e => fromIO_1(tsplus_module_1.zipRight(tsplus_module_1.refailCause(e, __tsplusTrace), __tsplusTrace)(f(e)), __tsplusTrace), __tsplusTrace)(self);
|
|
2164
|
+
};
|
|
2165
|
+
}
|
|
2166
|
+
/**
|
|
2167
|
+
* Sends all elements emitted by this stream to the specified sink in addition
|
|
2168
|
+
* to emitting them.
|
|
2169
|
+
*
|
|
2170
|
+
* @tsplus pipeable fncts.io.Stream tapSink
|
|
2171
|
+
*/
|
|
2172
|
+
export function tapSink(sink, __tsplusTrace) {
|
|
2173
|
+
return self => {
|
|
2174
|
+
return flatMap_1(([queue, future]) => {
|
|
2175
|
+
const right = flattenTake_1(fromQueue_1(queue, 1, __tsplusTrace), __tsplusTrace);
|
|
2176
|
+
const loop = tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(loop)(tsplus_module_11.zipRight(tsplus_module_10.writeNow(chunk))(tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.chunk(chunk), __tsplusTrace)(queue)))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.failCause(cause), __tsplusTrace)(queue)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue)));
|
|
2177
|
+
return merge_1(execute_1(tsplus_module_66.ensuring(tsplus_module_37.succeed_(undefined, __tsplusTrace)(future), __tsplusTrace)(run_1(sink, __tsplusTrace)(right)), __tsplusTrace), "Both", __tsplusTrace)(new Stream(tsplus_module_10.ensuring(tsplus_module_1.zipRight(tsplus_module_37.wait(future, __tsplusTrace), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue), __tsplusTrace)))(tsplus_module_10.pipeTo(loop)(self.channel))));
|
|
2178
|
+
}, __tsplusTrace)(fromIO_1(tsplus_module_1.zip(tsplus_module_38.make(__tsplusTrace), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace));
|
|
2179
|
+
};
|
|
2180
|
+
}
|
|
1958
2181
|
/**
|
|
1959
2182
|
* Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
|
|
1960
2183
|
* algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate
|
|
@@ -2010,7 +2233,7 @@ function toHub_1(capacity, __tsplusTrace) {
|
|
|
2010
2233
|
* @tsplus getter fncts.io.Stream toPull
|
|
2011
2234
|
*/
|
|
2012
2235
|
function toPull_1(stream, __tsplusTrace) {
|
|
2013
|
-
return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(
|
|
2236
|
+
return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_67.toPull(stream.channel));
|
|
2014
2237
|
}
|
|
2015
2238
|
/**
|
|
2016
2239
|
* Converts the stream to a managed queue of chunks. After the managed queue is used,
|