@fncts/io 0.0.35 → 0.0.37

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.
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"}