@fncts/io 0.0.35 → 0.0.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. package/Fiber/constructors.d.ts +5 -0
  2. package/Push/api.d.ts +70 -41
  3. package/Push/definition.d.ts +11 -13
  4. package/Push/internal.d.ts +7 -11
  5. package/RefSubject/Atomic.d.ts +8 -11
  6. package/RefSubject/Synchronized/definition.d.ts +4 -6
  7. package/RefSubject/api.d.ts +0 -1
  8. package/RefSubject/definition.d.ts +6 -8
  9. package/STM/definition.d.ts +17 -0
  10. package/Sink/api.d.ts +6 -6
  11. package/Subject/Atomic.d.ts +4 -6
  12. package/Subject/definition.d.ts +2 -2
  13. package/_cjs/Fiber/constructors.cjs +10 -2
  14. package/_cjs/Fiber/constructors.cjs.map +1 -1
  15. package/_cjs/IO/definition.cjs.map +1 -1
  16. package/_cjs/Layer/api.cjs.map +1 -1
  17. package/_cjs/Push/api.cjs +206 -175
  18. package/_cjs/Push/api.cjs.map +1 -1
  19. package/_cjs/Push/definition.cjs +12 -13
  20. package/_cjs/Push/definition.cjs.map +1 -1
  21. package/_cjs/Push/internal.cjs +37 -29
  22. package/_cjs/Push/internal.cjs.map +1 -1
  23. package/_cjs/RefSubject/Atomic.cjs +15 -19
  24. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  25. package/_cjs/RefSubject/Synchronized/definition.cjs +9 -10
  26. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  27. package/_cjs/RefSubject/api.cjs +5 -6
  28. package/_cjs/RefSubject/api.cjs.map +1 -1
  29. package/_cjs/RefSubject/definition.cjs.map +1 -1
  30. package/_cjs/STM/api.cjs +2 -2
  31. package/_cjs/STM/api.cjs.map +1 -1
  32. package/_cjs/STM/definition.cjs.map +1 -1
  33. package/_cjs/Sink/api.cjs +13 -13
  34. package/_cjs/Sink/api.cjs.map +1 -1
  35. package/_cjs/Subject/Atomic.cjs +4 -5
  36. package/_cjs/Subject/Atomic.cjs.map +1 -1
  37. package/_mjs/Fiber/constructors.mjs +7 -1
  38. package/_mjs/Fiber/constructors.mjs.map +1 -1
  39. package/_mjs/IO/definition.mjs.map +1 -1
  40. package/_mjs/Layer/api.mjs.map +1 -1
  41. package/_mjs/Push/api.mjs +194 -173
  42. package/_mjs/Push/api.mjs.map +1 -1
  43. package/_mjs/Push/definition.mjs +9 -10
  44. package/_mjs/Push/definition.mjs.map +1 -1
  45. package/_mjs/Push/internal.mjs +33 -22
  46. package/_mjs/Push/internal.mjs.map +1 -1
  47. package/_mjs/RefSubject/Atomic.mjs +15 -19
  48. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  49. package/_mjs/RefSubject/Synchronized/definition.mjs +9 -10
  50. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  51. package/_mjs/RefSubject/api.mjs +6 -7
  52. package/_mjs/RefSubject/api.mjs.map +1 -1
  53. package/_mjs/RefSubject/definition.mjs.map +1 -1
  54. package/_mjs/STM/api.mjs +2 -2
  55. package/_mjs/STM/api.mjs.map +1 -1
  56. package/_mjs/STM/definition.mjs.map +1 -1
  57. package/_mjs/Sink/api.mjs +10 -10
  58. package/_mjs/Sink/api.mjs.map +1 -1
  59. package/_mjs/Subject/Atomic.mjs +4 -5
  60. package/_mjs/Subject/Atomic.mjs.map +1 -1
  61. package/_src/Fiber/constructors.ts +5 -0
  62. package/_src/IO/definition.ts +0 -1
  63. package/_src/Layer/api.ts +0 -1
  64. package/_src/Push/api.ts +270 -335
  65. package/_src/Push/definition.ts +13 -17
  66. package/_src/Push/internal.ts +63 -31
  67. package/_src/RefSubject/Atomic.ts +16 -22
  68. package/_src/RefSubject/Synchronized/definition.ts +6 -9
  69. package/_src/RefSubject/api.ts +9 -12
  70. package/_src/RefSubject/definition.ts +6 -8
  71. package/_src/STM/api.ts +0 -5
  72. package/_src/STM/definition.ts +6 -0
  73. package/_src/Sink/api.ts +9 -9
  74. package/_src/Subject/Atomic.ts +6 -8
  75. package/_src/Subject/definition.ts +2 -2
  76. package/package.json +2 -2
@@ -27,3 +27,8 @@ export declare function interrupted(id: FiberId, __tsplusTrace?: string): Fiber<
27
27
  * @tsplus location "@fncts/io/Fiber/constructors"
28
28
  */
29
29
  export declare function succeed<A>(a: A, __tsplusTrace?: string): Fiber<never, A>;
30
+ /**
31
+ * @tsplus static fncts.io.FiberOps unit
32
+ * @tsplus location "@fncts/io/Fiber/constructors"
33
+ */
34
+ export declare const unit: Fiber<never, void>;
package/Push/api.d.ts CHANGED
@@ -1,45 +1,44 @@
1
1
  import { Lazy } from "@fncts/base/data/function/definition";
2
2
  import { Cause } from "@fncts/base/data/Cause/definition";
3
3
  import { Either } from "@fncts/base/data/Either/definition";
4
- import { IO } from "@fncts/io/IO/definition";
5
4
  import { Duration } from "@fncts/base/data/Duration/definition";
6
- import { Fiber } from "@fncts/io/Fiber/definition";
5
+ import { Maybe, Nothing, Just } from "@fncts/base/data/Maybe/definition";
6
+ import { Refinement } from "@fncts/base/data/Refinement/definition";
7
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
8
+ import { UIO, URIO } from "@fncts/io/IO/definition";
7
9
  import { Environment } from "@fncts/base/data/Environment/definition";
8
- import { Future } from "@fncts/io/Future";
10
+ import { Fiber } from "@fncts/io/Fiber/definition";
9
11
  import { Scope } from "@fncts/io/Scope/definition";
10
- import { Schedule } from "@fncts/io/Schedule/definition";
11
- import { Nothing, Just, Maybe } from "@fncts/base/data/Maybe/definition";
12
- import { FiberId } from "@fncts/base/data/FiberId/definition";
13
12
  import { Conc } from "@fncts/base/collection/immutable/Conc";
14
- import type { _E, _R } from "@fncts/base/types";
13
+ import { Future } from "@fncts/io/Future";
15
14
  import { AtomicReference } from "@fncts/base/internal/AtomicReference";
16
- import { Emitter, Push, PushTypeId, PushVariance } from "./definition.js";
15
+ import { IO } from "@fncts/io/IO";
16
+ import { Push, PushTypeId, PushVariance, Sink } from "./definition.js";
17
17
  /**
18
18
  * @tsplus pipeable fncts.io.Push as
19
19
  * @tsplus location "@fncts/io/Push/api"
20
20
  */
21
21
  export declare function as<B>(b: Lazy<B>): <R, E, A>(self: Push<R, E, A>) => Push<R, E, B>;
22
- interface UnsafeEmitter<E, A> {
23
- emit: (value: A) => void;
24
- failCause: (cause: Cause<E>) => void;
25
- end: () => void;
22
+ interface UnsafeSink<E, A> {
23
+ event: (value: A) => void;
24
+ error: (cause: Cause<E>) => void;
26
25
  }
27
26
  /**
28
27
  * @tsplus static fncts.io.PushOps asyncInterrupt
29
28
  * @tsplus location "@fncts/io/Push/api"
30
29
  */
31
- export declare function asyncInterrupt<R, E, A>(make: (emitter: UnsafeEmitter<E, A>) => Either<IO<R, never, void>, Push<R, E, A>>): Push<R, E, A>;
30
+ export declare function asyncInterrupt<R, E, A>(make: (emitter: UnsafeSink<E, A>) => Either<IO<R, never, void>, Push<R, E, A>>): Push<R, E, A>;
32
31
  /**
33
32
  * @tsplus static fncts.io.PushOps async
34
33
  * @tsplus location "@fncts/io/Push/api"
35
34
  */
36
- export declare function async<E, A>(make: (emitter: UnsafeEmitter<E, A>) => void): Push<never, E, A>;
35
+ export declare function async<E, A>(make: (sink: UnsafeSink<E, A>) => void): Push<never, E, A>;
37
36
  /**
38
37
  * @tsplus static fncts.io.PushOps combineLatest
39
38
  * @tsplus location "@fncts/io/Push/api"
40
39
  */
41
- export declare function combineLatest<A extends ReadonlyArray<Push<any, any, any>>>(streams: [...A]): Push<_R<A[number]>, _E<A[number]>, {
42
- [K in keyof A]: [A[K]] extends [Push<any, any, infer A>] ? A : never;
40
+ export declare function combineLatest<A extends ReadonlyArray<Push<any, any, any>>>(streams: [...A]): Push<Push.EnvironmentOf<A[number]>, Push.ErrorOf<A[number]>, {
41
+ [K in keyof A]: Push.ValueOf<A[K]>;
43
42
  }>;
44
43
  export declare function combineLatest<R, E, A>(streams: Iterable<Push<R, E, A>>): Push<R, E, ReadonlyArray<A>>;
45
44
  /**
@@ -57,6 +56,37 @@ export declare function debounce(duration: Lazy<Duration>): <R, E, A>(self: Push
57
56
  * @tsplus location "@fncts/io/Push/api"
58
57
  */
59
58
  export declare function defer<R, E, A>(self: Lazy<Push<R, E, A>>): Push<R, E, A>;
59
+ /**
60
+ * @tsplus pipeable fncts.io.Push exhaustMap
61
+ * @tsplus location "@fncts/io/Push/api"
62
+ */
63
+ export declare function exhaustMap<A, R1, E1, B>(f: (a: A) => Push<R1, E1, B>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, B>;
64
+ /**
65
+ * @tsplus pipeable fncts.io.Push exhaustMapIO
66
+ * @tsplus location "@fncts/io/Push/api"
67
+ */
68
+ export declare function exhaustMapIO<A, R1, E1, B>(f: (a: A) => IO<R1, E1, B>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, B>;
69
+ /**
70
+ * @tsplus pipeable fncts.io.Push filterIO
71
+ * @tsplus location "@fncts/io/Push/api"
72
+ */
73
+ export declare function filterIO<A, R1, E1>(predicate: (a: A) => IO<R1, E1, boolean>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, A>;
74
+ /**
75
+ * @tsplus pipeable fncts.io.Push filterMapIO
76
+ * @tsplus location "@fncts/io/Push/api"
77
+ */
78
+ export declare function filterMapIO<A, R1, E1, B>(f: (a: A) => IO<R1, E1, Maybe<B>>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, B>;
79
+ /**
80
+ * @tsplus pipeable fncts.io.Push filter
81
+ * @tsplus location "@fncts/io/Push/api"
82
+ */
83
+ export declare function filter<A, B extends A>(refinement: Refinement<A, B>): <R, E>(self: Push<R, E, A>) => Push<R, E, B>;
84
+ export declare function filter<A>(predicate: Predicate<A>): <R, E>(self: Push<R, E, A>) => Push<R, E, A>;
85
+ /**
86
+ * @tsplus pipeable fncts.io.Push filterMap
87
+ * @tsplus location "@fncts/io/Push/api"
88
+ */
89
+ export declare function filterMap<A, B>(f: (a: A) => Maybe<B>): <R, E>(self: Push<R, E, A>) => Push<R, E, B>;
60
90
  /**
61
91
  * @tsplus pipeable fncts.io.Push flatMapConcurrentBounded
62
92
  * @tsplus location "@fncts/io/Push/api"
@@ -103,11 +133,10 @@ export declare function fromIterable<A>(iterable: Iterable<A>): Push<never, neve
103
133
  */
104
134
  export declare function multicast<R, E, A>(self: Push<R, E, A>): Push<R, E, A>;
105
135
  interface MulticastObserver<E, A> {
106
- readonly emitter: Emitter<any, E, A>;
136
+ readonly sink: Sink<any, E, A>;
107
137
  readonly environment: Environment<any>;
108
- readonly future: Future<never, void>;
109
138
  }
110
- export declare class Multicast<R, E, A> implements Push<R, E, A>, Emitter<never, E, A> {
139
+ export declare class Multicast<R, E, A> implements Push<R, E, A>, Sink<never, E, A> {
111
140
  readonly push: Push<R, E, A>;
112
141
  readonly [PushTypeId]: PushTypeId;
113
142
  [PushVariance]: {
@@ -118,14 +147,12 @@ export declare class Multicast<R, E, A> implements Push<R, E, A>, Emitter<never,
118
147
  protected observers: Array<MulticastObserver<E, A>>;
119
148
  protected fiber: Fiber<never, unknown> | undefined;
120
149
  constructor(push: Push<R, E, A>);
121
- run<R1>(emitter: Emitter<R1, E, A>): IO<R | R1 | Scope, never, unknown>;
122
- emit(value: A): import("../IO.js").IO<never, never, void>;
123
- failCause(cause: Cause<E>): import("../IO.js").IO<never, never, void>;
124
- get end(): import("../IO.js").IO<never, never, void>;
125
- protected runEvent(value: A, observer: MulticastObserver<E, A>): import("../IO.js").FIO<never, unknown>;
126
- protected runFailCause(cause: Cause<E>, observer: MulticastObserver<E, A>): import("../IO.js").FIO<never, boolean>;
127
- protected runEnd(observer: MulticastObserver<E, A>): import("../IO.js").FIO<never, boolean>;
128
- protected cleanup(): import("../IO.js").UIO<void>;
150
+ run<R1>(sink: Sink<R1, E, A>): IO<R | R1, never, void>;
151
+ event(value: A): IO<never, never, void>;
152
+ error(cause: Cause<E>): IO<never, never, void>;
153
+ protected runValue(value: A, observer: MulticastObserver<E, A>): IO<never, never, void>;
154
+ protected runError(cause: Cause<E>, observer: MulticastObserver<E, A>): IO<never, never, void>;
155
+ protected removeSink(sink: Sink<any, E, A>): IO<never, never, void>;
129
156
  }
130
157
  /**
131
158
  * @tsplus getter fncts.io.Push hold
@@ -133,19 +160,11 @@ export declare class Multicast<R, E, A> implements Push<R, E, A>, Emitter<never,
133
160
  */
134
161
  export declare function hold<R, E, A>(self: Push<R, E, A>): Push<R, E, A>;
135
162
  export declare class Hold<R, E, A> extends Multicast<R, E, A> {
136
- readonly push: Push<R, E, A>;
137
- readonly value: AtomicReference<import("@fncts/base/data/Maybe.js").Maybe<A>>;
138
- protected pendingEmitters: Array<readonly [Emitter<unknown, E, A>, Array<A>]>;
139
- protected scheduledFiber: Fiber<any, any> | null;
163
+ push: Push<R, E, A>;
164
+ readonly current: AtomicReference<import("@fncts/base/data/Maybe.js").Maybe<A>>;
140
165
  constructor(push: Push<R, E, A>);
141
- run<R1>(emitter: Emitter<R1, E, A>): IO<R | R1 | Scope, never, void>;
142
- emit(value: A): import("../IO.js").IO<never, never, void>;
143
- failCause(cause: Cause<E>): import("../IO.js").IO<never, never, void>;
144
- get end(): import("../IO.js").IO<never, never, void>;
145
- protected shouldScheduleFlush(): boolean;
146
- protected scheduleFlush<R>(observer: Emitter<R, E, A>): import("../IO.js").IO<import("../Scope.js").Scope, never, import("../Fiber.js").Fiber.Runtime<never, void>>;
147
- protected flushPending(): import("../IO.js").UIO<void>;
148
- protected addValue(value: A): void;
166
+ run<R1>(sink: Sink<R1, E, A>): IO<R | R1, never, void>;
167
+ event(value: A): IO<never, never, void>;
149
168
  }
150
169
  /**
151
170
  * @tsplus pipeable fncts.io.Push map 1
@@ -182,7 +201,7 @@ export declare function mergeAll<R, E, A>(streams: Iterable<Push<R, E, A>>): Pus
182
201
  * @tsplus pipeable fncts.io.Push observe
183
202
  * @tsplus location "@fncts/io/Push/api"
184
203
  */
185
- export declare function observe<A, R1, E1>(f: (a: A) => IO<R1, E1, void>, __tsplusTrace?: string): <R, E>(self: Push<R, E, A>) => import("../IO.js").IO<import("../Scope.js").Scope | R1 | R, E1 | E, void>;
204
+ export declare function observe<A, R1, E1>(f: (a: A) => IO<R1, E1, void>, __tsplusTrace?: string): <R, E>(self: Push<R, E, A>) => IO<import("../Scope.js").Scope | R1 | R, E1 | E, void>;
186
205
  /**
187
206
  * @tsplus static fncts.io.PushOps repeatIOMaybe
188
207
  * @tsplus location "@fncts/io/Push/api"
@@ -209,10 +228,20 @@ export declare function scoped<R, E, A>(io: Lazy<IO<R, E, A>>, __tsplusTrace?: s
209
228
  */
210
229
  export declare function succeed<A>(value: Lazy<A>): Push<never, never, A>;
211
230
  /**
212
- * @tsplus pipeable fncts.io.PushOps switchMap
231
+ * @tsplus pipeable fncts.io.Push switchMap
213
232
  * @tsplus location "@fncts/io/Push/api"
214
233
  */
215
234
  export declare function switchMap<A, R1, E1, B>(f: (a: A) => Push<R1, E1, B>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, B>;
235
+ /**
236
+ * @tsplus pipeable fncts.io.Push switchMapIO
237
+ * @tsplus location "@fncts/io/Push/api"
238
+ */
239
+ export declare function switchMapIO<A, R1, E1, B>(f: (a: A) => IO<R1, E1, B>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, B>;
240
+ /**
241
+ * @tsplus pipeable fncts.io.Push tap
242
+ * @tsplus location "@fncts/io/Push/api"
243
+ */
244
+ export declare function tap<A, R1, E1, B>(f: (a: A) => IO<R1, E1, B>): <R, E>(self: Push<R, E, A>) => Push<R1 | R, E1 | E, A>;
216
245
  /**
217
246
  * @tsplus pipeable fncts.io.Push transform
218
247
  * @tsplus location "@fncts/io/Push/api"
@@ -1,5 +1,4 @@
1
1
  import { IO } from "@fncts/io/IO/definition";
2
- import { Scope } from "@fncts/io/Scope/definition";
3
2
  import { Cause } from "@fncts/base/data/Cause/definition";
4
3
  export declare const PushVariance: unique symbol;
5
4
  export type PushVariance = typeof PushVariance;
@@ -10,14 +9,14 @@ export type PushTypeId = typeof PushTypeId;
10
9
  * @tsplus companion fncts.io.PushOps
11
10
  */
12
11
  export declare class Push<R, E, A> {
13
- readonly run: <R1>(emitter: Emitter<R1, E, A>) => IO<R | R1 | Scope, never, unknown>;
12
+ readonly run: <R1>(emitter: Sink<R1, E, A>) => IO<R | R1, never, unknown>;
14
13
  readonly [PushTypeId]: PushTypeId;
15
14
  [PushVariance]: {
16
15
  readonly _R: (_: never) => R;
17
16
  readonly _E: (_: never) => E;
18
17
  readonly _A: (_: never) => A;
19
18
  };
20
- constructor(run: <R1>(emitter: Emitter<R1, E, A>) => IO<R | R1 | Scope, never, unknown>);
19
+ constructor(run: <R1>(emitter: Sink<R1, E, A>) => IO<R | R1, never, unknown>);
21
20
  }
22
21
  export declare namespace Push {
23
22
  type EnvironmentOf<X> = [X] extends [{
@@ -37,22 +36,21 @@ export declare namespace Push {
37
36
  }] ? A : never;
38
37
  }
39
38
  /**
40
- * @tsplus type fncts.io.Push.Emitter
41
- * @tsplus companion fncts.io.Push.EmitterOps
39
+ * @tsplus type fncts.io.Push.Sink
40
+ * @tsplus companion fncts.io.Push.SinkOps
42
41
  */
43
- export declare class Emitter<R, E, A> {
44
- readonly emit: (value: A) => IO<R, never, unknown>;
45
- readonly failCause: (cause: Cause<E>) => IO<R, never, void>;
46
- readonly end: IO<R, never, void>;
47
- constructor(emit: (value: A) => IO<R, never, unknown>, failCause: (cause: Cause<E>) => IO<R, never, void>, end: IO<R, never, void>);
42
+ export declare class Sink<R, E, A> {
43
+ readonly event: (value: A) => IO<R, never, void>;
44
+ readonly error: (cause: Cause<E>) => IO<R, never, void>;
45
+ constructor(event: (value: A) => IO<R, never, void>, error: (cause: Cause<E>) => IO<R, never, void>);
48
46
  }
49
47
  /**
50
48
  * @tsplus static fncts.io.PushOps __call
51
49
  * @tsplus location "@fncts/io/Push/definition"
52
50
  */
53
- export declare function makePush<R, E, A>(run: <R1>(emitter: Emitter<R1, E, A>) => IO<R | R1 | Scope, never, unknown>): Push<R, E, A>;
51
+ export declare function makePush<R, E, A>(run: <R1>(sink: Sink<R1, E, A>) => IO<R | R1, never, unknown>): Push<R, E, A>;
54
52
  /**
55
- * @tsplus static fncts.io.Push.EmitterOps __call
53
+ * @tsplus static fncts.io.Push.SinkOps __call
56
54
  * @tsplus location "@fncts/io/Push/definition"
57
55
  */
58
- export declare function makeEmitter<R, E, A>(emit: (value: A) => IO<R, never, unknown>, failCause: (cause: Cause<E>) => IO<R, never, unknown>, end: IO<R, never, unknown>): Emitter<R, E, A>;
56
+ export declare function makeSink<R, E, A>(value: (value: A) => IO<R, never, unknown>, error: (cause: Cause<E>) => IO<R, never, unknown>): Sink<R, E, A>;
@@ -1,11 +1,7 @@
1
- import { CountdownLatch } from "@fncts/io/CountdownLatch";
2
- import { IO } from "@fncts/io/IO/definition";
3
- export declare function withCountdownLatch<R, E, A, R1, E1, B>(n: number, f: (latch: CountdownLatch) => IO<R, E, A>, onEnd: IO<R1, E1, B>): IO<R | R1, E | E1, B>;
4
- export declare const EarlyExitTypeId: unique symbol;
5
- export type EarlyExitTypeId = typeof EarlyExitTypeId;
6
- export declare class EarlyExit {
7
- readonly [EarlyExitTypeId]: EarlyExitTypeId;
8
- }
9
- export declare function isEarlyExit(u: unknown): u is EarlyExit;
10
- export declare const earlyExit: import("../IO").UIO<never>;
11
- export declare function onEarlyExit<R1, E1, B>(onEarlyExit: IO<R1, E1, B>): <R, E, A>(self: import("../IO").IO<R, E, A>) => import("../IO").IO<R1 | R, E1 | E, B | A>;
1
+ import { IO, URIO } from "@fncts/io/IO/definition";
2
+ import { Fiber } from "@fncts/io/Fiber/definition";
3
+ import type { RuntimeFiber } from "@fncts/io/Fiber";
4
+ export declare function withScopedFork<R, E, A>(f: (fork: <R, E, A>(io: IO<R, E, A>) => IO<R, never, RuntimeFiber<E, A>>) => IO<R, E, A>): IO<R, E, A>;
5
+ export declare function withSwitch<R, E, A>(f: (fork: <R>(io: URIO<R, void>) => URIO<R, void>) => IO<R, E, A>): import("../IO").IO<R, E, void>;
6
+ export declare function withUnboundedConcurrency<R, E, A>(f: (fork: <R>(io: URIO<R, void>) => URIO<R, RuntimeFiber<never, void>>) => IO<R, E, A>): import("../IO").IO<R, E, void>;
7
+ export declare function withExhaust<R, E, A>(f: (fork: <R>(io: URIO<R, void>) => URIO<R, void>) => IO<R, E, A>): import("../IO").IO<R, E, void>;
@@ -1,8 +1,7 @@
1
1
  import { Just } from "@fncts/base/data/Maybe/definition";
2
2
  import { IO } from "@fncts/io/IO/definition";
3
- import { Scope } from "@fncts/io/Scope/definition";
4
3
  import { Cause } from "@fncts/base/data/Cause/definition";
5
- import type { Emitter } from "@fncts/io/Push";
4
+ import type { Sink } from "@fncts/io/Push";
6
5
  import { Hold } from "@fncts/io/Push";
7
6
  import { Atomic } from "@fncts/io/Ref";
8
7
  import { RefSubjectInternal } from "@fncts/io/RefSubject/definition";
@@ -15,19 +14,17 @@ export declare class AtomicRefSubject<E, A> extends RefSubjectInternal<never, E,
15
14
  get get(): import("../IO").UIO<A>;
16
15
  set(value: A, __tsplusTrace?: string): import("../IO").IO<never, never, void>;
17
16
  modify<E, A, B>(this: AtomicRefSubject<E, A>, f: (a: A) => readonly [B, A], __tsplusTrace?: string): IO<never, never, B>;
18
- run<R>(emitter: Emitter<R, E, A>): IO<Scope | R, never, unknown>;
19
- emit(value: A): IO<never, never, void>;
20
- failCause(cause: Cause<E>): IO<never, never, void>;
21
- end: IO<never, never, void>;
22
- unsafeEmit(value: A): void;
23
- unsafeFailCause(cause: Cause<E>): void;
24
- unsafeEnd(): void;
17
+ run<R>(emitter: Sink<R, E, A>): IO<R, never, unknown>;
18
+ event(value: A): IO<never, never, void>;
19
+ error(cause: Cause<E>): IO<never, never, void>;
20
+ unsafeEvent(value: A): void;
21
+ unsafeError(cause: Cause<E>): void;
25
22
  get unsafeGet(): A;
26
23
  }
27
24
  declare class AtomicEmitRef<E, A> extends Atomic<A> {
28
25
  readonly ref: Atomic<A>;
29
- readonly emitter: Emitter<never, E, A>;
30
- constructor(ref: Atomic<A>, emitter: Emitter<never, E, A>);
26
+ readonly sink: Sink<never, E, A>;
27
+ constructor(ref: Atomic<A>, sink: Sink<never, E, A>);
31
28
  get get(): import("../IO").UIO<A>;
32
29
  get unsafeGet(): A;
33
30
  unsafeSet(value: A): void;
@@ -1,8 +1,7 @@
1
1
  import { TSemaphore } from "@fncts/io/TSemaphore/definition";
2
2
  import type { RefSubject } from "../definition.js";
3
3
  import type { Cause } from "@fncts/base/data/Cause";
4
- import type { Emitter } from "@fncts/io/Push";
5
- import type { Scope } from "@fncts/io/Scope";
4
+ import type { Sink } from "@fncts/io/Push";
6
5
  import { IO } from "@fncts/io/IO";
7
6
  import { RefSubjectInternal } from "../definition.js";
8
7
  export declare const SynchronizedRefSubjectTypeId: unique symbol;
@@ -30,12 +29,11 @@ export declare class SynchronizedRefSubjectInternal<R, E, A, B> extends RefSubje
30
29
  constructor(semaphore: TSemaphore, ref: RefSubjectInternal<R, E, A, B>);
31
30
  get get(): IO<R, never, B>;
32
31
  set(a: A, __tsplusTrace?: string | undefined): IO<R, never, void>;
33
- run<R1>(emitter: Emitter<R1, E, B>): IO<Scope | R | R1, never, void>;
32
+ run<R1>(emitter: Sink<R1, E, B>): IO<R | R1, never, void>;
34
33
  modify<C>(f: (b: B) => readonly [C, A], __tsplusTrace?: string | undefined): IO<R, never, C>;
35
34
  modifyIO<R1, E1, C>(f: (b: B) => IO<R1, E1, readonly [C, A]>, __tsplusTrace?: string): IO<R | R1, E1, C>;
36
- emit(value: A): IO<R, never, void>;
37
- failCause(cause: Cause<E>): IO<R, never, void>;
38
- end: IO<R, never, void>;
35
+ event(value: A): IO<R, never, void>;
36
+ error(cause: Cause<E>): IO<R, never, void>;
39
37
  withPermit<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A>;
40
38
  get unsafeGet(): B;
41
39
  }
@@ -1,6 +1,5 @@
1
1
  import { Lazy } from "@fncts/base/data/function/definition";
2
2
  import { UIO, IO } from "@fncts/io/IO/definition";
3
- import { Scope } from "@fncts/io/Scope/definition";
4
3
  import { Cause } from "@fncts/base/data/Cause/definition";
5
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
6
5
  import { RefSubject } from "./definition.js";
@@ -1,7 +1,6 @@
1
1
  import { IO } from "@fncts/io/IO/definition";
2
- import { Scope } from "@fncts/io/Scope/definition";
3
2
  import { Cause } from "@fncts/base/data/Cause/definition";
4
- import type { Emitter } from "../Push.js";
3
+ import type { Sink } from "../Push.js";
5
4
  import type { Push } from "../Push.js";
6
5
  import type { ModifiableRef, ReadableRef, WritableRef } from "../Ref.js";
7
6
  import type { SynchronizedRefSubject } from "@fncts/io/RefSubject/Synchronized/definition";
@@ -11,7 +10,7 @@ import { RefVariance } from "../Ref.js";
11
10
  /**
12
11
  * @tsplus type fncts.io.Push.RefSubject
13
12
  */
14
- export interface RefSubject<out R, in out E, in A, out B> extends Push<R, E, B>, Emitter<R, E, A> {
13
+ export interface RefSubject<out R, in out E, in A, out B> extends Push<R, E, B>, Sink<R, E, A> {
15
14
  }
16
15
  /**
17
16
  * @tsplus type fncts.io.Push.RefSubjectOps
@@ -22,7 +21,7 @@ export declare const RefSubject: RefSubjectOps;
22
21
  export declare namespace RefSubject {
23
22
  type Synchronized<R, E, A, B> = SynchronizedRefSubject<R, E, A, B>;
24
23
  }
25
- export declare abstract class RefSubjectInternal<R, E, A, B> implements ReadableRef<R, never, B>, WritableRef<R, never, A>, ModifiableRef<R, R, never, never, A, B>, Push<R, E, B>, Emitter<R, E, A> {
24
+ export declare abstract class RefSubjectInternal<R, E, A, B> implements ReadableRef<R, never, B>, WritableRef<R, never, A>, ModifiableRef<R, R, never, never, A, B>, Push<R, E, B>, Sink<R, E, A> {
26
25
  readonly [PushTypeId]: PushTypeId;
27
26
  [RefVariance]: {
28
27
  readonly _RA: (_: never) => R;
@@ -40,10 +39,9 @@ export declare abstract class RefSubjectInternal<R, E, A, B> implements Readable
40
39
  abstract get get(): IO<R, never, B>;
41
40
  abstract set(value: A): IO<R, never, void>;
42
41
  abstract modify<C>(f: (b: B) => readonly [C, A], __tsplusTrace?: string): IO<R, never, C>;
43
- abstract run<R1>(emitter: Emitter<R1, E, B>): IO<Scope | R | R1, never, void>;
44
- abstract failCause(cause: Cause<E>): IO<R, never, void>;
45
- abstract emit(value: A): IO<R, never, void>;
46
- abstract end: IO<R, never, void>;
42
+ abstract run<R1>(emitter: Sink<R1, E, B>): IO<R | R1, never, void>;
43
+ abstract error(cause: Cause<E>): IO<R, never, void>;
44
+ abstract event(value: A): IO<R, never, void>;
47
45
  abstract get unsafeGet(): B;
48
46
  }
49
47
  /**
@@ -36,6 +36,23 @@ export declare abstract class STM<R, E, A> {
36
36
  _A: () => A;
37
37
  };
38
38
  }
39
+ export declare namespace STM {
40
+ type EnvironmentOf<X> = [X] extends [{
41
+ [STMVariance]: {
42
+ _R: () => infer R;
43
+ };
44
+ }] ? R : never;
45
+ type ErrorOf<X> = [X] extends [{
46
+ [STMVariance]: {
47
+ _E: () => infer E;
48
+ };
49
+ }] ? E : never;
50
+ type ValueOf<X> = [X] extends [{
51
+ [STMVariance]: {
52
+ _A: () => infer A;
53
+ };
54
+ }] ? A : never;
55
+ }
39
56
  /**
40
57
  * @tsplus unify fncts.io.STM
41
58
  */
package/Sink/api.d.ts CHANGED
@@ -23,7 +23,7 @@ import { MergeDecision } from "../Channel/internal/MergeDecision.js";
23
23
  */
24
24
  export declare function zipLeft<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string): <R, E, Z>(self: import("./definition.js").Sink<R, E, In, L, Z>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L | L1, Z>;
25
25
  /**
26
- * Like {@link zipC }, but keeps only the result from this sink
26
+ * Like {@link zipConcurrent }, but keeps only the result from this sink
27
27
  * @tsplus pipeable fncts.io.Sink zipLeftC
28
28
  * @tsplus location "@fncts/io/Sink/api"
29
29
  */
@@ -35,7 +35,7 @@ export declare function zipLeftC<In, L, R1, E1, In1 extends In, L1 extends L, Z1
35
35
  */
36
36
  export declare function zipRight<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string): <R, E, Z>(self: import("./definition.js").Sink<R, E, In, L, Z>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L | L1, Z1>;
37
37
  /**
38
- * Like {@link zipC }, but keeps only the result from the `that` sink
38
+ * Like {@link zipConcurrent }, but keeps only the result from the `that` sink
39
39
  * @tsplus pipeable fncts.io.Sink zipRightC
40
40
  * @tsplus location "@fncts/io/Sink/api"
41
41
  */
@@ -642,10 +642,10 @@ export declare function zip<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(tha
642
642
  /**
643
643
  * Runs both sinks in parallel on the input and combines the results in a
644
644
  * tuple.
645
- * @tsplus pipeable fncts.io.Sink zipC
645
+ * @tsplus pipeable fncts.io.Sink zipConcurrent
646
646
  * @tsplus location "@fncts/io/Sink/api"
647
647
  */
648
- export declare function zipC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string): <R, E, Z>(self: import("./definition.js").Sink<R, E, In, L, Z>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L | L1, readonly [Z, Z1]>;
648
+ export declare function zipConcurrent<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string): <R, E, Z>(self: import("./definition.js").Sink<R, E, In, L, Z>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L | L1, readonly [Z, Z1]>;
649
649
  /**
650
650
  * Feeds inputs to this sink until it yields a result, then switches over to
651
651
  * the provided sink until it yields a result, finally combining the two
@@ -657,7 +657,7 @@ export declare function zipWith<In, L, Z, R1, E1, In1 extends In, L1 extends L,
657
657
  /**
658
658
  * Runs both sinks in parallel on the input and combines the results using the
659
659
  * provided function.
660
- * @tsplus pipeable fncts.io.Sink zipWithC
660
+ * @tsplus pipeable fncts.io.Sink zipWithConcurrent
661
661
  * @tsplus location "@fncts/io/Sink/api"
662
662
  */
663
- export declare function zipWithC<Z, R1, E1, In1, L1, Z1, Z2>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, f: (z: Z, z1: Z1) => Z2, __tsplusTrace?: string): <R, E, In, L>(self: import("@fncts/base/data/function.js").Lazy<import("./definition.js").Sink<R, E, In, L, Z>>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L1 | L, Z2>;
663
+ export declare function zipWithConcurrent<Z, R1, E1, In1, L1, Z1, Z2>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, f: (z: Z, z1: Z1) => Z2, __tsplusTrace?: string): <R, E, In, L>(self: import("@fncts/base/data/function.js").Lazy<import("./definition.js").Sink<R, E, In, L, Z>>) => import("./definition.js").Sink<R1 | R, E1 | E, In & In1, L1 | L, Z2>;
@@ -1,7 +1,6 @@
1
1
  import { IO } from "@fncts/io/IO/definition";
2
- import { Scope } from "@fncts/io/Scope/definition";
3
2
  import { Cause } from "@fncts/base/data/Cause/definition";
4
- import type { Emitter } from "@fncts/io/Push/definition";
3
+ import type { Sink } from "@fncts/io/Push/definition";
5
4
  import type { Subject } from "@fncts/io/Subject/definition";
6
5
  import { Multicast } from "@fncts/io/Push";
7
6
  import { PushTypeId, PushVariance } from "@fncts/io/Push/definition";
@@ -15,8 +14,7 @@ export declare class AtomicSubject<E, A> implements Subject<never, E, A> {
15
14
  readonly _A: (_: never) => A;
16
15
  };
17
16
  readonly stream: Multicast<never, E, A>;
18
- run<R>(emitter: Emitter<R, E, A>): IO<R | Scope, never, unknown>;
19
- emit(value: A): IO<never, never, void>;
20
- failCause(cause: Cause<E>): IO<never, never, void>;
21
- end: import("../IO").IO<never, never, void>;
17
+ run<R>(emitter: Sink<R, E, A>): IO<R, never, unknown>;
18
+ event(value: A): IO<never, never, void>;
19
+ error(cause: Cause<E>): IO<never, never, void>;
22
20
  }
@@ -1,10 +1,10 @@
1
- import type { Emitter, Push } from "../Push.js";
1
+ import type { Push, Sink } from "../Push.js";
2
2
  export declare const SubjectTypeId: unique symbol;
3
3
  export type SubjectTypeId = typeof SubjectTypeId;
4
4
  /**
5
5
  * @tsplus type fncts.io.Push.Subject
6
6
  */
7
- export interface Subject<R, E, A> extends Push<R, E, A>, Emitter<R, E, A> {
7
+ export interface Subject<R, E, A> extends Push<R, E, A>, Sink<R, E, A> {
8
8
  readonly [SubjectTypeId]: SubjectTypeId;
9
9
  }
10
10
  /**
@@ -7,7 +7,7 @@ exports.done = void 0;
7
7
  exports.fail = fail;
8
8
  exports.failCause = failCause;
9
9
  exports.interrupted = interrupted;
10
- exports.succeed = succeed;
10
+ exports.unit = exports.succeed = void 0;
11
11
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/FiberId/constructors"));
12
12
  var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
13
13
  var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
@@ -16,8 +16,11 @@ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
16
16
  var _definition = /*#__PURE__*/require("@fncts/io/Fiber/definition");
17
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ const fileName_1 = "(@fncts/io) src/Fiber/constructors.ts";
19
20
  const done = done_1;
20
21
  exports.done = done;
22
+ const succeed = succeed_1;
23
+ exports.succeed = succeed;
21
24
  /**
22
25
  * @tsplus static fncts.io.FiberOps done
23
26
  */
@@ -45,7 +48,12 @@ function interrupted(id, __tsplusTrace) {
45
48
  /**
46
49
  * @tsplus static fncts.io.FiberOps succeed
47
50
  */
48
- function succeed(a, __tsplusTrace) {
51
+ function succeed_1(a, __tsplusTrace) {
49
52
  return done_1(tsplus_module_5.succeed(a, __tsplusTrace), __tsplusTrace);
50
53
  }
54
+ /**
55
+ * @tsplus static fncts.io.FiberOps unit
56
+ */
57
+ const unit = /*#__PURE__*/succeed_1(undefined, fileName_1 + ":48:48");
58
+ exports.unit = unit;
51
59
  //# sourceMappingURL=constructors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.cjs","names":["_definition","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","done","done_1","exports","exit","__tsplusTrace","SyntheticFiber","tsplus_module_1","none","tsplus_module_2","succeedNow","tsplus_module_3","make","unit","tsplus_module_4","just","fail","e","tsplus_module_5","failCause","cause","interrupted","id","interrupt","succeed","a"],"sources":["../../_src/Fiber/constructors.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,gBAAAC,OAAA;AAA4D,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAI,wBAAAC,GAAA,EAAAL,WAAA,SAAAA,WAAA,IAAAK,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;MAK5CW,IAAI,GAAAC,MAAA;AAAAC,OAAA,CAAAF,IAAA,GAAAA,IAAA;AAHpB;;;AAGA,SAAAC,OAA2BE,IAAgB,EAAEC,aAAsB;EACjE,OAAO,IAAIC,0BAAc,CAAAC,eAAA,CAAAC,IAAA,EAEvBC,eAAA,CAAAC,UAAA,CAAcN,IAAI,EAHuBC,aAAA,CAGtB,EACnBI,eAAA,CAAAC,UAAA,CAAcC,eAAA,CAAAC,IAAA,EAAM,EAJqBP,aAAA,CAIpB,EAAAI,eAAA,CAAAI,IAAA,EAErBJ,eAAA,CAAAC,UAAA,CAAcI,eAAA,CAAAC,IAAA,CAAKX,IAAI,EANkBC,aAAA,CAMjB,EANiBA,aAAA,CAMhB,EACzB,MAAMI,eAAA,CAAAC,UAAA,CAAcN,IAAI,EAPiBC,aAAA,CAOhB,CAC1B;AACH;AAEA;;;AAGM,SAAUW,IAAIA,CAAIC,CAAI,EAAEZ,aAAsB;EAClD,OAAOH,MAAA,CAAKgB,eAAA,CAAAF,IAAA,CAAUC,CAAC,EADKZ,aAAA,CACJ,EADIA,aAAA,CACH;AAC3B;AAEA;;;AAGM,SAAUc,SAASA,CAAIC,KAAe,EAAEf,aAAsB;EAClE,OAAOH,MAAA,CAAKgB,eAAA,CAAAC,SAAA,CAAeC,KAAK,EADYf,aAAA,CACX,EADWA,aAAA,CACV;AACpC;AAEA;;;AAGM,SAAUgB,WAAWA,CAACC,EAAW,EAAEjB,aAAsB;EAC7D,OAAOH,MAAA,CAAKgB,eAAA,CAAAK,SAAA,CAAeD,EAAE,EADUjB,aAAA,CACT,EADSA,aAAA,CACR;AACjC;AAEA;;;AAGM,SAAUmB,OAAOA,CAAIC,CAAI,EAAEpB,aAAsB;EACrD,OAAOH,MAAA,CAAKgB,eAAA,CAAAM,OAAA,CAAaC,CAAC,EADKpB,aAAA,CACJ,EADIA,aAAA,CACH;AAC9B"}
1
+ {"version":3,"file":"constructors.cjs","names":["_definition","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","done","done_1","exports","succeed","succeed_1","exit","__tsplusTrace","SyntheticFiber","tsplus_module_1","none","tsplus_module_2","succeedNow","tsplus_module_3","make","unit","tsplus_module_4","just","fail","e","tsplus_module_5","failCause","cause","interrupted","id","interrupt","a","undefined","fileName_1"],"sources":["../../_src/Fiber/constructors.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["IOVariance","Symbol","for","exports","IOTypeId","IO","constructor","_a","IOAspects","unifyIO","self","IOPrimitive","_tag","i0","undefined","i1","i2","trace","_b","isIO","u","tsplus_module_1","isObject","concrete","io"],"sources":["../../_src/IO/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;AAQO,MAAMA,UAAU,gBAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAACC,OAAA,CAAAH,UAAA,GAAAA,UAAA;AAGtD,MAAMI,QAAQ,gBAAGH,MAAM,CAACC,GAAG,CAAC,aAAa,CAAC;AAYjD;;;;AAAAC,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAIM,MAAgBC,EAAE;EAAxBC,YAAA;IACW,KAAAC,EAAA,CAAU,GAAaH,QAAQ;EAM1C;;AAACD,OAAA,CAAAE,EAAA,GAAAA,EAAA;KANWD,QAAQ;AA4BpB;;;AAGO,MAAMI,SAAS,GAAc,EAAE;AAEtC;;;AAAAL,OAAA,CAAAK,SAAA,GAAAA,SAAA;AAGM,SAAUC,OAAOA,CACrBC,IAAO;EAMP,OAAOA,IAAI;AACb;AAgCM,MAAOC,WAAW;EAMtBL,YAAqBM,IAAuB;IAAvB,KAAAA,IAAI,GAAJA,IAAI;IALlB,KAAAC,EAAE,GAA0BC,SAAS;IACrC,KAAAC,EAAE,GAA0BD,SAAS;IACrC,KAAAE,EAAE,GAA0BF,SAAS;IACrC,KAAAG,KAAK,GAAuBH,SAAS;IAC5C,KAAAI,EAAA,CAAU,GAAGd,QAAQ;EAC0B;;AAChDD,OAAA,CAAAQ,WAAA,GAAAA,WAAA;KAFEP,QAAQ;AAIL,SAAUe,IAAIA,CAACC,CAAU;EAC7B,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIhB,QAAQ,IAAIgB,CAAC;AACrC;AAmJA;;;;AAIM,SAAUG,QAAQA,CAACC,EAAqB;EAC5C,OAAOA,EAAe;AACxB"}
1
+ {"version":3,"file":"definition.cjs","names":["IOVariance","Symbol","for","exports","IOTypeId","IO","constructor","_a","IOAspects","unifyIO","self","IOPrimitive","_tag","i0","undefined","i1","i2","trace","_b","isIO","u","tsplus_module_1","isObject","concrete","io"],"sources":["../../_src/IO/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;AAOO,MAAMA,UAAU,gBAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAACC,OAAA,CAAAH,UAAA,GAAAA,UAAA;AAGtD,MAAMI,QAAQ,gBAAGH,MAAM,CAACC,GAAG,CAAC,aAAa,CAAC;AAYjD;;;;AAAAC,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAIM,MAAgBC,EAAE;EAAxBC,YAAA;IACW,KAAAC,EAAA,CAAU,GAAaH,QAAQ;EAM1C;;AAACD,OAAA,CAAAE,EAAA,GAAAA,EAAA;KANWD,QAAQ;AA4BpB;;;AAGO,MAAMI,SAAS,GAAc,EAAE;AAEtC;;;AAAAL,OAAA,CAAAK,SAAA,GAAAA,SAAA;AAGM,SAAUC,OAAOA,CACrBC,IAAO;EAMP,OAAOA,IAAI;AACb;AAgCM,MAAOC,WAAW;EAMtBL,YAAqBM,IAAuB;IAAvB,KAAAA,IAAI,GAAJA,IAAI;IALlB,KAAAC,EAAE,GAA0BC,SAAS;IACrC,KAAAC,EAAE,GAA0BD,SAAS;IACrC,KAAAE,EAAE,GAA0BF,SAAS;IACrC,KAAAG,KAAK,GAAuBH,SAAS;IAC5C,KAAAI,EAAA,CAAU,GAAGd,QAAQ;EAC0B;;AAChDD,OAAA,CAAAQ,WAAA,GAAAA,WAAA;KAFEP,QAAQ;AAIL,SAAUe,IAAIA,CAACC,CAAU;EAC7B,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIhB,QAAQ,IAAIgB,CAAC;AACrC;AAmJA;;;;AAIM,SAAUG,QAAQA,CAACC,EAAqB;EAC5C,OAAOA,EAAe;AACxB"}