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.
- package/dist/cjs/Array.js +2 -2
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Config.js +8 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +9 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Effect.js +26 -4
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +20 -8
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +22 -11
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +23 -9
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Micro.js +15 -2
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/Stream.js +30 -2
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/internal/config.js +7 -1
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/context.js +8 -1
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +3 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +23 -15
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/stream.js +7 -4
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +9 -9
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +7 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +12 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +88 -8
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +5 -1
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +7 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +7 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +17 -5
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +6 -0
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +30 -0
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts +0 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +2 -2
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Config.js +7 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +8 -0
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Effect.js +22 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js +20 -8
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +22 -11
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +23 -9
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Micro.js +13 -1
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/Stream.js +27 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/internal/config.js +5 -0
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/context.js +7 -0
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +2 -0
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +20 -13
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/stream.js +4 -1
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +41 -10
- package/src/Config.ts +8 -0
- package/src/Context.ts +13 -0
- package/src/Effect.ts +174 -21
- package/src/Fiber.ts +8 -1
- package/src/FiberHandle.ts +46 -10
- package/src/FiberMap.ts +48 -13
- package/src/FiberSet.ts +65 -24
- package/src/Micro.ts +14 -1
- package/src/Stream.ts +36 -0
- package/src/internal/config.ts +10 -0
- package/src/internal/context.ts +12 -0
- package/src/internal/effect/circular.ts +91 -0
- package/src/internal/fiberRuntime.ts +101 -30
- package/src/internal/stream.ts +19 -1
- package/src/internal/version.ts +1 -1
package/dist/esm/FiberMap.js
CHANGED
|
@@ -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
|
-
|
|
147
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
215
|
+
Fiber.interruptAs(fiber, FiberId.combine(clearFiber.id(), internalFiberId)));
|
|
205
216
|
});
|
|
206
217
|
const constInterruptedFiber = /*#__PURE__*/function () {
|
|
207
218
|
let fiber = undefined;
|
package/dist/esm/FiberMap.js.map
CHANGED
|
@@ -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":[]}
|
package/dist/esm/FiberSet.js
CHANGED
|
@@ -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(
|
|
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.
|
|
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.
|
|
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
|
|
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
|
/**
|
package/dist/esm/FiberSet.js.map
CHANGED
|
@@ -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","
|
|
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
|
}
|