effect 3.6.8 → 3.7.1

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 (99) hide show
  1. package/dist/cjs/Array.js +2 -2
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/Config.js +8 -1
  4. package/dist/cjs/Config.js.map +1 -1
  5. package/dist/cjs/Context.js +9 -1
  6. package/dist/cjs/Context.js.map +1 -1
  7. package/dist/cjs/Effect.js +26 -4
  8. package/dist/cjs/Effect.js.map +1 -1
  9. package/dist/cjs/Fiber.js.map +1 -1
  10. package/dist/cjs/FiberHandle.js +20 -8
  11. package/dist/cjs/FiberHandle.js.map +1 -1
  12. package/dist/cjs/FiberMap.js +22 -11
  13. package/dist/cjs/FiberMap.js.map +1 -1
  14. package/dist/cjs/FiberSet.js +23 -9
  15. package/dist/cjs/FiberSet.js.map +1 -1
  16. package/dist/cjs/Micro.js +15 -2
  17. package/dist/cjs/Micro.js.map +1 -1
  18. package/dist/cjs/Stream.js +30 -2
  19. package/dist/cjs/Stream.js.map +1 -1
  20. package/dist/cjs/internal/config.js +7 -1
  21. package/dist/cjs/internal/config.js.map +1 -1
  22. package/dist/cjs/internal/context.js +8 -1
  23. package/dist/cjs/internal/context.js.map +1 -1
  24. package/dist/cjs/internal/effect/circular.js +3 -1
  25. package/dist/cjs/internal/effect/circular.js.map +1 -1
  26. package/dist/cjs/internal/fiberRuntime.js +23 -15
  27. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  28. package/dist/cjs/internal/stream.js +7 -4
  29. package/dist/cjs/internal/stream.js.map +1 -1
  30. package/dist/cjs/internal/version.js +1 -1
  31. package/dist/dts/Array.d.ts +9 -9
  32. package/dist/dts/Array.d.ts.map +1 -1
  33. package/dist/dts/Config.d.ts +7 -0
  34. package/dist/dts/Config.d.ts.map +1 -1
  35. package/dist/dts/Context.d.ts +12 -0
  36. package/dist/dts/Context.d.ts.map +1 -1
  37. package/dist/dts/Effect.d.ts +88 -8
  38. package/dist/dts/Effect.d.ts.map +1 -1
  39. package/dist/dts/Fiber.d.ts +5 -1
  40. package/dist/dts/Fiber.d.ts.map +1 -1
  41. package/dist/dts/FiberHandle.d.ts +7 -0
  42. package/dist/dts/FiberHandle.d.ts.map +1 -1
  43. package/dist/dts/FiberMap.d.ts +7 -0
  44. package/dist/dts/FiberMap.d.ts.map +1 -1
  45. package/dist/dts/FiberSet.d.ts +17 -5
  46. package/dist/dts/FiberSet.d.ts.map +1 -1
  47. package/dist/dts/Micro.d.ts +6 -0
  48. package/dist/dts/Micro.d.ts.map +1 -1
  49. package/dist/dts/Stream.d.ts +30 -0
  50. package/dist/dts/Stream.d.ts.map +1 -1
  51. package/dist/dts/internal/stream.d.ts +0 -1
  52. package/dist/dts/internal/stream.d.ts.map +1 -1
  53. package/dist/esm/Array.js +2 -2
  54. package/dist/esm/Array.js.map +1 -1
  55. package/dist/esm/Config.js +7 -0
  56. package/dist/esm/Config.js.map +1 -1
  57. package/dist/esm/Context.js +8 -0
  58. package/dist/esm/Context.js.map +1 -1
  59. package/dist/esm/Effect.js +22 -0
  60. package/dist/esm/Effect.js.map +1 -1
  61. package/dist/esm/Fiber.js.map +1 -1
  62. package/dist/esm/FiberHandle.js +20 -8
  63. package/dist/esm/FiberHandle.js.map +1 -1
  64. package/dist/esm/FiberMap.js +22 -11
  65. package/dist/esm/FiberMap.js.map +1 -1
  66. package/dist/esm/FiberSet.js +23 -9
  67. package/dist/esm/FiberSet.js.map +1 -1
  68. package/dist/esm/Micro.js +13 -1
  69. package/dist/esm/Micro.js.map +1 -1
  70. package/dist/esm/Stream.js +27 -0
  71. package/dist/esm/Stream.js.map +1 -1
  72. package/dist/esm/internal/config.js +5 -0
  73. package/dist/esm/internal/config.js.map +1 -1
  74. package/dist/esm/internal/context.js +7 -0
  75. package/dist/esm/internal/context.js.map +1 -1
  76. package/dist/esm/internal/effect/circular.js +2 -0
  77. package/dist/esm/internal/effect/circular.js.map +1 -1
  78. package/dist/esm/internal/fiberRuntime.js +20 -13
  79. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  80. package/dist/esm/internal/stream.js +4 -1
  81. package/dist/esm/internal/stream.js.map +1 -1
  82. package/dist/esm/internal/version.js +1 -1
  83. package/package.json +1 -1
  84. package/src/Array.ts +41 -10
  85. package/src/Config.ts +8 -0
  86. package/src/Context.ts +13 -0
  87. package/src/Effect.ts +174 -21
  88. package/src/Fiber.ts +8 -1
  89. package/src/FiberHandle.ts +46 -10
  90. package/src/FiberMap.ts +48 -13
  91. package/src/FiberSet.ts +65 -24
  92. package/src/Micro.ts +14 -1
  93. package/src/Stream.ts +36 -0
  94. package/src/internal/config.ts +10 -0
  95. package/src/internal/context.ts +12 -0
  96. package/src/internal/effect/circular.ts +91 -0
  97. package/src/internal/fiberRuntime.ts +101 -30
  98. package/src/internal/stream.ts +19 -1
  99. package/src/internal/version.ts +1 -1
@@ -8,7 +8,8 @@ import * as Exit from "./Exit.js";
8
8
  import * as Fiber from "./Fiber.js";
9
9
  import * as FiberId from "./FiberId.js";
10
10
  import * as FiberRef from "./FiberRef.js";
11
- import { dual } from "./Function.js";
11
+ import { constFalse, dual } from "./Function.js";
12
+ import * as HashSet from "./HashSet.js";
12
13
  import * as Inspectable from "./Inspectable.js";
13
14
  import * as Iterable from "./Iterable.js";
14
15
  import * as MutableHashMap from "./MutableHashMap.js";
@@ -97,6 +98,16 @@ export const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), defe
97
98
  * @categories constructors
98
99
  */
99
100
  export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)());
101
+ const internalFiberIdId = -1;
102
+ const internalFiberId = /*#__PURE__*/FiberId.make(internalFiberIdId, 0);
103
+ const isInternalInterruption = /*#__PURE__*/Cause.reduceWithContext(undefined, {
104
+ emptyCase: constFalse,
105
+ failCase: constFalse,
106
+ dieCase: constFalse,
107
+ interruptCase: (_, fiberId) => HashSet.has(FiberId.ids(fiberId), internalFiberIdId),
108
+ sequentialCase: (_, left, right) => left || right,
109
+ parallelCase: (_, left, right) => left || right
110
+ });
100
111
  /**
101
112
  * Add a fiber to the FiberMap. When the fiber completes, it will be removed from the FiberMap.
102
113
  * If the key already exists in the FiberMap, the previous fiber will be interrupted.
@@ -106,18 +117,18 @@ export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)())
106
117
  */
107
118
  export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, key, fiber, options) => {
108
119
  if (self.state._tag === "Closed") {
109
- fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
120
+ fiber.unsafeInterruptAsFork(FiberId.combine(options?.interruptAs ?? FiberId.none, internalFiberId));
110
121
  return;
111
122
  }
112
123
  const previous = MutableHashMap.get(self.state.backing, key);
113
124
  if (previous._tag === "Some") {
114
125
  if (options?.onlyIfMissing === true) {
115
- fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
126
+ fiber.unsafeInterruptAsFork(FiberId.combine(options?.interruptAs ?? FiberId.none, internalFiberId));
116
127
  return;
117
128
  } else if (previous.value === fiber) {
118
129
  return;
119
130
  }
120
- previous.value.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
131
+ previous.value.unsafeInterruptAsFork(FiberId.combine(options?.interruptAs ?? FiberId.none, internalFiberId));
121
132
  }
122
133
  ;
123
134
  fiber.setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none());
@@ -130,7 +141,7 @@ export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, k
130
141
  if (Option.isSome(current) && fiber === current.value) {
131
142
  MutableHashMap.remove(self.state.backing, key);
132
143
  }
133
- if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
144
+ if (Exit.isFailure(exit) && (options?.propagateInterruption === true ? !isInternalInterruption(exit.cause) : !Cause.isInterruptedOnly(exit.cause))) {
134
145
  Deferred.unsafeDone(self.deferred, exit);
135
146
  }
136
147
  });
@@ -143,8 +154,8 @@ export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, k
143
154
  * @categories combinators
144
155
  */
145
156
  export const set = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, key, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, key, fiber, {
146
- interruptAs: fiberId,
147
- onlyIfMissing: options?.onlyIfMissing
157
+ ...options,
158
+ interruptAs: fiberId
148
159
  }))));
149
160
  /**
150
161
  * Retrieve a fiber from the FiberMap.
@@ -180,7 +191,7 @@ export const has = /*#__PURE__*/dual(2, (self, key) => Effect.sync(() => unsafeH
180
191
  * @since 2.0.0
181
192
  * @categories combinators
182
193
  */
183
- export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() => {
194
+ export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.withFiberRuntime(removeFiber => {
184
195
  if (self.state._tag === "Closed") {
185
196
  return Effect.void;
186
197
  }
@@ -189,19 +200,19 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() => {
189
200
  return Effect.void;
190
201
  }
191
202
  // will be removed by the observer
192
- return Fiber.interrupt(fiber.value);
203
+ return Fiber.interruptAs(fiber.value, FiberId.combine(removeFiber.id(), internalFiberId));
193
204
  }));
194
205
  /**
195
206
  * @since 2.0.0
196
207
  * @categories combinators
197
208
  */
198
- export const clear = self => Effect.suspend(() => {
209
+ export const clear = self => Effect.withFiberRuntime(clearFiber => {
199
210
  if (self.state._tag === "Closed") {
200
211
  return Effect.void;
201
212
  }
202
213
  return Effect.forEach(self.state.backing, ([, fiber]) =>
203
214
  // will be removed by the observer
204
- Fiber.interrupt(fiber));
215
+ Fiber.interruptAs(fiber, FiberId.combine(clearFiber.id(), internalFiberId)));
205
216
  });
206
217
  const constInterruptedFiber = /*#__PURE__*/function () {
207
218
  let fiber = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"FiberMap.js","names":["Effect","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","dual","Inspectable","Iterable","MutableHashMap","Option","pipeArguments","Predicate","Runtime","TypeId","Symbol","for","isFiberMap","u","hasProperty","Proto","iterator","state","_tag","empty","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","arguments","unsafeMake","deferred","self","Object","create","make","acquireRelease","map","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","unsafeSet","args","key","fiber","options","unsafeInterruptAsFork","interruptAs","none","previous","get","onlyIfMissing","value","setFiberRef","unhandledErrorLogLevel","set","addObserver","exit","current","isSome","remove","isFailure","isInterruptedOnly","cause","unsafeDone","fiberIdWith","fiberId","sync","unsafeGet","unsafeHas","has","interrupt","forEach","constInterruptedFiber","undefined","runFork","run","isEffect","effect","uninterruptibleMask","restore","tap","forkDaemon","size","join","await"],"sources":["../../src/FiberMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FiberMap.js","names":["Effect","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","constFalse","dual","HashSet","Inspectable","Iterable","MutableHashMap","Option","pipeArguments","Predicate","Runtime","TypeId","Symbol","for","isFiberMap","u","hasProperty","Proto","iterator","state","_tag","empty","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","arguments","unsafeMake","deferred","self","Object","create","make","acquireRelease","map","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","internalFiberIdId","internalFiberId","isInternalInterruption","reduceWithContext","undefined","emptyCase","failCase","dieCase","interruptCase","_","fiberId","has","ids","sequentialCase","left","right","parallelCase","unsafeSet","args","key","fiber","options","unsafeInterruptAsFork","combine","interruptAs","none","previous","get","onlyIfMissing","value","setFiberRef","unhandledErrorLogLevel","set","addObserver","exit","current","isSome","remove","isFailure","propagateInterruption","cause","isInterruptedOnly","unsafeDone","fiberIdWith","sync","unsafeGet","unsafeHas","withFiberRuntime","removeFiber","id","clearFiber","forEach","constInterruptedFiber","runFork","interrupt","run","isEffect","effect","uninterruptibleMask","restore","tap","forkDaemon","size","join","await"],"sources":["../../src/FiberMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,8 @@ import * as Deferred from "./Deferred.js";
8
8
  import * as Exit from "./Exit.js";
9
9
  import * as Fiber from "./Fiber.js";
10
10
  import * as FiberRef from "./FiberRef.js";
11
- import { dual } from "./Function.js";
11
+ import { constFalse, dual } from "./Function.js";
12
+ import * as HashSet from "./HashSet.js";
12
13
  import * as Inspectable from "./Inspectable.js";
13
14
  import * as Iterable from "./Iterable.js";
14
15
  import * as Option from "./Option.js";
@@ -96,6 +97,16 @@ export const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), defe
96
97
  * @categories constructors
97
98
  */
98
99
  export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)());
100
+ const internalFiberIdId = -1;
101
+ const internalFiberId = /*#__PURE__*/FiberId.make(internalFiberIdId, 0);
102
+ const isInternalInterruption = /*#__PURE__*/Cause.reduceWithContext(undefined, {
103
+ emptyCase: constFalse,
104
+ failCase: constFalse,
105
+ dieCase: constFalse,
106
+ interruptCase: (_, fiberId) => HashSet.has(FiberId.ids(fiberId), internalFiberIdId),
107
+ sequentialCase: (_, left, right) => left || right,
108
+ parallelCase: (_, left, right) => left || right
109
+ });
99
110
  /**
100
111
  * Add a fiber to the FiberSet. When the fiber completes, it will be removed.
101
112
  *
@@ -104,7 +115,7 @@ export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)())
104
115
  */
105
116
  export const unsafeAdd = /*#__PURE__*/dual(args => isFiberSet(args[0]), (self, fiber, options) => {
106
117
  if (self.state._tag === "Closed") {
107
- fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
118
+ fiber.unsafeInterruptAsFork(FiberId.combine(options?.interruptAs ?? FiberId.none, internalFiberId));
108
119
  return;
109
120
  } else if (self.state.backing.has(fiber)) {
110
121
  return;
@@ -117,7 +128,7 @@ export const unsafeAdd = /*#__PURE__*/dual(args => isFiberSet(args[0]), (self, f
117
128
  return;
118
129
  }
119
130
  self.state.backing.delete(fiber);
120
- if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
131
+ if (Exit.isFailure(exit) && (options?.propagateInterruption === true ? !isInternalInterruption(exit.cause) : !Cause.isInterruptedOnly(exit.cause))) {
121
132
  Deferred.unsafeDone(self.deferred, exit);
122
133
  }
123
134
  });
@@ -128,20 +139,21 @@ export const unsafeAdd = /*#__PURE__*/dual(args => isFiberSet(args[0]), (self, f
128
139
  * @since 2.0.0
129
140
  * @categories combinators
130
141
  */
131
- export const add = /*#__PURE__*/dual(2, (self, fiber) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeAdd(self, fiber, {
142
+ export const add = /*#__PURE__*/dual(args => isFiberSet(args[0]), (self, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeAdd(self, fiber, {
143
+ ...options,
132
144
  interruptAs: fiberId
133
145
  }))));
134
146
  /**
135
147
  * @since 2.0.0
136
148
  * @categories combinators
137
149
  */
138
- export const clear = self => Effect.suspend(() => {
150
+ export const clear = self => Effect.withFiberRuntime(clearFiber => {
139
151
  if (self.state._tag === "Closed") {
140
152
  return Effect.void;
141
153
  }
142
154
  return Effect.forEach(self.state.backing, fiber =>
143
155
  // will be removed by the observer
144
- Fiber.interrupt(fiber));
156
+ Fiber.interruptAs(fiber, FiberId.combine(clearFiber.id(), internalFiberId)));
145
157
  });
146
158
  /**
147
159
  * Fork an Effect and add the forked fiber to the FiberSet.
@@ -152,20 +164,22 @@ export const clear = self => Effect.suspend(() => {
152
164
  */
153
165
  export const run = function () {
154
166
  const self = arguments[0];
155
- if (arguments.length === 1) {
167
+ if (!Effect.isEffect(arguments[1])) {
168
+ const options = arguments[1];
156
169
  return effect => Effect.suspend(() => {
157
170
  if (self.state._tag === "Closed") {
158
171
  return Effect.interrupt;
159
172
  }
160
- return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => add(self, fiber)));
173
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => add(self, fiber, options)));
161
174
  });
162
175
  }
163
176
  const effect = arguments[1];
177
+ const options = arguments[2];
164
178
  return Effect.suspend(() => {
165
179
  if (self.state._tag === "Closed") {
166
180
  return Effect.interrupt;
167
181
  }
168
- return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => add(self, fiber)));
182
+ return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => add(self, fiber, options)));
169
183
  });
170
184
  };
171
185
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FiberSet.js","names":["Effect","FiberId","Cause","Deferred","Exit","Fiber","FiberRef","dual","Inspectable","Iterable","Option","pipeArguments","Predicate","Runtime","TypeId","Symbol","for","isFiberSet","u","hasProperty","Proto","iterator","state","_tag","empty","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","arguments","unsafeMake","deferred","self","Object","create","make","acquireRelease","map","Set","set","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","unsafeAdd","args","fiber","options","unsafeInterruptAsFork","interruptAs","none","has","setFiberRef","unhandledErrorLogLevel","add","addObserver","exit","delete","isFailure","isInterruptedOnly","cause","unsafeDone","fiberIdWith","fiberId","sync","forEach","interrupt","run","length","effect","uninterruptibleMask","restore","tap","forkDaemon","runFork","size","join","await"],"sources":["../../src/FiberSet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FiberSet.js","names":["Effect","FiberId","Cause","Deferred","Exit","Fiber","FiberRef","constFalse","dual","HashSet","Inspectable","Iterable","Option","pipeArguments","Predicate","Runtime","TypeId","Symbol","for","isFiberSet","u","hasProperty","Proto","iterator","state","_tag","empty","backing","toString","format","toJSON","_id","NodeInspectSymbol","pipe","arguments","unsafeMake","deferred","self","Object","create","make","acquireRelease","map","Set","set","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","internalFiberIdId","internalFiberId","isInternalInterruption","reduceWithContext","undefined","emptyCase","failCase","dieCase","interruptCase","_","fiberId","has","ids","sequentialCase","left","right","parallelCase","unsafeAdd","args","fiber","options","unsafeInterruptAsFork","combine","interruptAs","none","setFiberRef","unhandledErrorLogLevel","add","addObserver","exit","delete","isFailure","propagateInterruption","cause","isInterruptedOnly","unsafeDone","fiberIdWith","sync","withFiberRuntime","clearFiber","forEach","id","run","isEffect","effect","interrupt","uninterruptibleMask","restore","tap","forkDaemon","runFork","size","join","await"],"sources":["../../src/FiberSet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/Micro.js CHANGED
@@ -9,7 +9,7 @@ import { StructuralPrototype } from "./internal/effectable.js";
9
9
  import { SingleShotGen } from "./internal/singleShotGen.js";
10
10
  import * as Option from "./Option.js";
11
11
  import { pipeArguments } from "./Pipeable.js";
12
- import { isIterable, isTagged } from "./Predicate.js";
12
+ import { hasProperty, isIterable, isTagged } from "./Predicate.js";
13
13
  import { YieldWrap, yieldWrapGet } from "./Utils.js";
14
14
  /**
15
15
  * @since 3.4.0
@@ -38,6 +38,12 @@ export const isMicro = u => typeof u === "object" && u !== null && TypeId in u;
38
38
  * @category MicroCause
39
39
  */
40
40
  export const MicroCauseTypeId = /*#__PURE__*/Symbol.for("effect/Micro/MicroCause");
41
+ /**
42
+ * @since 3.6.6
43
+ * @experimental
44
+ * @category guards
45
+ */
46
+ export const isMicroCause = self => hasProperty(self, MicroCauseTypeId);
41
47
  const microCauseVariance = {
42
48
  _E: identity
43
49
  };
@@ -1539,9 +1545,11 @@ export const withTrace = function () {
1539
1545
  }
1540
1546
  const f = name => self => unsafeMakeOptions(function (env, onExit) {
1541
1547
  self[runSymbol](env, function (exit) {
1548
+ console.log(name, exit);
1542
1549
  onExit(exit._tag === "Left" ? Either.left(generate(name, exit.left)) : exit);
1543
1550
  });
1544
1551
  }, false);
1552
+ console.log(arguments.length);
1545
1553
  if (arguments.length === 2) {
1546
1554
  return f(arguments[1])(arguments[0]);
1547
1555
  }
@@ -1978,6 +1986,9 @@ export const forEach = (iterable, f, options) => make(function (env, onExit) {
1978
1986
  let result = undefined;
1979
1987
  const items = Array.from(iterable);
1980
1988
  let length = items.length;
1989
+ if (length === 0) {
1990
+ return onExit(Either.right(options?.discard ? undefined : []));
1991
+ }
1981
1992
  const out = options?.discard ? undefined : new Array(length);
1982
1993
  let index = 0;
1983
1994
  let inProgress = 0;
@@ -2337,6 +2348,7 @@ export const runSyncExit = effect => {
2337
2348
  });
2338
2349
  scheduler.flush();
2339
2350
  const exit = handle.unsafePoll();
2351
+ console.log(exit);
2340
2352
  if (exit === null) {
2341
2353
  return exitDie(handle);
2342
2354
  }