effect 3.10.8 → 3.10.10
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/Effect.js +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FiberHandle.js +0 -3
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +0 -3
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +0 -4
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Mailbox.js +9 -1
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/TestClock.js +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +3 -24
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +18 -4
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/encoding/base64.js +2 -2
- package/dist/cjs/internal/encoding/base64.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +10 -1
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +43 -10
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/opCodes/effect.js +3 -1
- package/dist/cjs/internal/opCodes/effect.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Effect.d.ts +3 -3
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +36 -1
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/esm/Effect.js +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FiberHandle.js +0 -3
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +0 -3
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +0 -4
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Mailbox.js +8 -0
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/TestClock.js +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/internal/core-effect.js +0 -20
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +15 -2
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/encoding/base64.js +2 -2
- package/dist/esm/internal/encoding/base64.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +11 -2
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/mailbox.js +42 -9
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/opCodes/effect.js +2 -0
- package/dist/esm/internal/opCodes/effect.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Effect.ts +9 -3
- package/src/FiberHandle.ts +0 -3
- package/src/FiberMap.ts +0 -3
- package/src/FiberSet.ts +0 -4
- package/src/Mailbox.ts +44 -1
- package/src/TestClock.ts +1 -1
- package/src/internal/core-effect.ts +0 -28
- package/src/internal/core.ts +25 -3
- package/src/internal/encoding/base64.ts +2 -2
- package/src/internal/fiberRuntime.ts +16 -2
- package/src/internal/mailbox.ts +84 -10
- package/src/internal/opCodes/effect.ts +6 -0
- package/src/internal/version.ts +1 -1
|
@@ -9,8 +9,11 @@ import * as Option from "../Option.js";
|
|
|
9
9
|
import { pipeArguments } from "../Pipeable.js";
|
|
10
10
|
import { hasProperty } from "../Predicate.js";
|
|
11
11
|
import * as channel from "./channel.js";
|
|
12
|
+
import * as channelExecutor from "./channel/channelExecutor.js";
|
|
12
13
|
import * as coreChannel from "./core-stream.js";
|
|
13
14
|
import * as core from "./core.js";
|
|
15
|
+
import * as circular from "./effect/circular.js";
|
|
16
|
+
import * as fiberRuntime from "./fiberRuntime.js";
|
|
14
17
|
import * as stream from "./stream.js";
|
|
15
18
|
/** @internal */
|
|
16
19
|
export const TypeId = /*#__PURE__*/Symbol.for("effect/Mailbox");
|
|
@@ -28,6 +31,7 @@ const constDone = [empty, true];
|
|
|
28
31
|
class MailboxImpl extends Effectable.Class {
|
|
29
32
|
scheduler;
|
|
30
33
|
capacity;
|
|
34
|
+
strategy;
|
|
31
35
|
[TypeId] = TypeId;
|
|
32
36
|
[ReadonlyTypeId] = ReadonlyTypeId;
|
|
33
37
|
state = {
|
|
@@ -38,17 +42,27 @@ class MailboxImpl extends Effectable.Class {
|
|
|
38
42
|
};
|
|
39
43
|
messages = [];
|
|
40
44
|
messagesChunk = /*#__PURE__*/Chunk.empty();
|
|
41
|
-
constructor(scheduler, capacity) {
|
|
45
|
+
constructor(scheduler, capacity, strategy) {
|
|
42
46
|
super();
|
|
43
47
|
this.scheduler = scheduler;
|
|
44
48
|
this.capacity = capacity;
|
|
49
|
+
this.strategy = strategy;
|
|
45
50
|
}
|
|
46
51
|
offer(message) {
|
|
47
52
|
return core.suspend(() => {
|
|
48
53
|
if (this.state._tag !== "Open") {
|
|
49
54
|
return exitFalse;
|
|
50
55
|
} else if (this.messages.length + this.messagesChunk.length >= this.capacity) {
|
|
51
|
-
|
|
56
|
+
switch (this.strategy) {
|
|
57
|
+
case "dropping":
|
|
58
|
+
return exitFalse;
|
|
59
|
+
case "suspend":
|
|
60
|
+
return this.offerRemainingSingle(message);
|
|
61
|
+
case "sliding":
|
|
62
|
+
this.unsafeTake();
|
|
63
|
+
this.messages.push(message);
|
|
64
|
+
return exitTrue;
|
|
65
|
+
}
|
|
52
66
|
}
|
|
53
67
|
this.messages.push(message);
|
|
54
68
|
this.scheduleReleaseTaker();
|
|
@@ -59,6 +73,11 @@ class MailboxImpl extends Effectable.Class {
|
|
|
59
73
|
if (this.state._tag !== "Open") {
|
|
60
74
|
return false;
|
|
61
75
|
} else if (this.messages.length + this.messagesChunk.length >= this.capacity) {
|
|
76
|
+
if (this.strategy === "sliding") {
|
|
77
|
+
this.unsafeTake();
|
|
78
|
+
this.messages.push(message);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
62
81
|
return false;
|
|
63
82
|
}
|
|
64
83
|
this.messages.push(message);
|
|
@@ -73,6 +92,8 @@ class MailboxImpl extends Effectable.Class {
|
|
|
73
92
|
const remaining = this.unsafeOfferAllArray(messages);
|
|
74
93
|
if (remaining.length === 0) {
|
|
75
94
|
return exitEmpty;
|
|
95
|
+
} else if (this.strategy === "dropping") {
|
|
96
|
+
return core.succeed(Chunk.unsafeFromArray(remaining));
|
|
76
97
|
}
|
|
77
98
|
return this.offerRemainingArray(remaining);
|
|
78
99
|
});
|
|
@@ -83,11 +104,13 @@ class MailboxImpl extends Effectable.Class {
|
|
|
83
104
|
unsafeOfferAllArray(messages) {
|
|
84
105
|
if (this.state._tag !== "Open") {
|
|
85
106
|
return Arr.fromIterable(messages);
|
|
86
|
-
} else if (this.capacity === Number.POSITIVE_INFINITY) {
|
|
107
|
+
} else if (this.capacity === Number.POSITIVE_INFINITY || this.strategy === "sliding") {
|
|
87
108
|
if (this.messages.length > 0) {
|
|
88
109
|
this.messagesChunk = Chunk.appendAll(this.messagesChunk, Chunk.unsafeFromArray(this.messages));
|
|
89
110
|
}
|
|
90
|
-
if (
|
|
111
|
+
if (this.strategy === "sliding") {
|
|
112
|
+
this.messagesChunk = this.messagesChunk.pipe(Chunk.appendAll(Chunk.fromIterable(messages)), Chunk.takeRight(this.capacity));
|
|
113
|
+
} else if (Chunk.isChunk(messages)) {
|
|
91
114
|
this.messagesChunk = Chunk.appendAll(this.messagesChunk, messages);
|
|
92
115
|
} else {
|
|
93
116
|
this.messages = Arr.fromIterable(messages);
|
|
@@ -197,7 +220,7 @@ class MailboxImpl extends Effectable.Class {
|
|
|
197
220
|
return core.succeed([messages, this.releaseCapacity()]);
|
|
198
221
|
});
|
|
199
222
|
}
|
|
200
|
-
|
|
223
|
+
unsafeTake() {
|
|
201
224
|
if (this.state._tag === "Done") {
|
|
202
225
|
return core.exitZipRight(this.state.exit, core.exitFail(new NoSuchElementException()));
|
|
203
226
|
}
|
|
@@ -210,11 +233,12 @@ class MailboxImpl extends Effectable.Class {
|
|
|
210
233
|
this.messagesChunk = Chunk.drop(Chunk.unsafeFromArray(this.messages), 1);
|
|
211
234
|
this.messages = [];
|
|
212
235
|
} else {
|
|
213
|
-
return
|
|
236
|
+
return undefined;
|
|
214
237
|
}
|
|
215
238
|
this.releaseCapacity();
|
|
216
|
-
return core.
|
|
217
|
-
}
|
|
239
|
+
return core.exitSucceed(message);
|
|
240
|
+
}
|
|
241
|
+
take = /*#__PURE__*/core.suspend(() => this.unsafeTake() ?? core.zipRight(this.awaitTake, this.take));
|
|
218
242
|
await = /*#__PURE__*/core.unsafeAsync(resume => {
|
|
219
243
|
if (this.state._tag === "Done") {
|
|
220
244
|
return resume(this.state.exit);
|
|
@@ -379,7 +403,7 @@ class MailboxImpl extends Effectable.Class {
|
|
|
379
403
|
}
|
|
380
404
|
}
|
|
381
405
|
/** @internal */
|
|
382
|
-
export const make = capacity => core.withFiberRuntime(fiber => core.succeed(new MailboxImpl(fiber.currentScheduler, capacity ?? Number.POSITIVE_INFINITY)));
|
|
406
|
+
export const make = capacity => core.withFiberRuntime(fiber => core.succeed(new MailboxImpl(fiber.currentScheduler, typeof capacity === "number" ? capacity : capacity?.capacity ?? Number.POSITIVE_INFINITY, typeof capacity === "number" ? "suspend" : capacity?.strategy ?? "suspend")));
|
|
383
407
|
/** @internal */
|
|
384
408
|
export const into = /*#__PURE__*/dual(2, (effect, self) => core.uninterruptibleMask(restore => core.matchCauseEffect(restore(effect), {
|
|
385
409
|
onFailure: cause => self.failCause(cause),
|
|
@@ -392,4 +416,13 @@ export const toChannel = self => {
|
|
|
392
416
|
};
|
|
393
417
|
/** @internal */
|
|
394
418
|
export const toStream = self => stream.fromChannel(toChannel(self));
|
|
419
|
+
/** @internal */
|
|
420
|
+
export const fromStream = /*#__PURE__*/dual(args => stream.isStream(args[0]), (self, options) => core.tap(fiberRuntime.acquireRelease(make(options), mailbox => mailbox.shutdown), mailbox => {
|
|
421
|
+
const writer = coreChannel.readWithCause({
|
|
422
|
+
onInput: input => coreChannel.flatMap(mailbox.offerAll(input), () => writer),
|
|
423
|
+
onFailure: cause => mailbox.failCause(cause),
|
|
424
|
+
onDone: () => mailbox.end
|
|
425
|
+
});
|
|
426
|
+
return stream.toChannel(self).pipe(coreChannel.pipeTo(writer), channelExecutor.runScoped, circular.forkScoped);
|
|
427
|
+
}));
|
|
395
428
|
//# sourceMappingURL=mailbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","coreChannel","core","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","offerRemainingSingle","push","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","offerRemainingArray","unsafeOfferAll","unsafeFromArray","Number","POSITIVE_INFINITY","appendAll","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","size","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","await","unsafeAsync","add","delete","unsafeSize","none","some","commit","pipe","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","releaseTaker","taker","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","channelExecutor","coreChannel","core","circular","fiberRuntime","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","strategy","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","offerRemainingSingle","unsafeTake","push","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","unsafeFromArray","offerRemainingArray","unsafeOfferAll","Number","POSITIVE_INFINITY","appendAll","pipe","takeRight","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","size","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","undefined","await","unsafeAsync","add","delete","unsafeSize","none","some","commit","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","releaseTaker","taker","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel","fromStream","args","isStream","options","tap","acquireRelease","mailbox","writer","readWithCause","onInput","input","onDone","pipeTo","runScoped","forkScoped"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,8 @@ export const OP_UPDATE_RUNTIME_FLAGS = "UpdateRuntimeFlags";
|
|
|
21
21
|
/** @internal */
|
|
22
22
|
export const OP_WHILE = "While";
|
|
23
23
|
/** @internal */
|
|
24
|
+
export const OP_ITERATOR = "Iterator";
|
|
25
|
+
/** @internal */
|
|
24
26
|
export const OP_WITH_RUNTIME = "WithRuntime";
|
|
25
27
|
/** @internal */
|
|
26
28
|
export const OP_YIELD = "Yield";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.js","names":["OP_ASYNC","OP_COMMIT","OP_FAILURE","OP_ON_FAILURE","OP_ON_SUCCESS","OP_ON_SUCCESS_AND_FAILURE","OP_SUCCESS","OP_SYNC","OP_TAG","OP_UPDATE_RUNTIME_FLAGS","OP_WHILE","OP_WITH_RUNTIME","OP_YIELD","OP_REVERT_FLAGS"],"sources":["../../../../src/internal/opCodes/effect.ts"],"sourcesContent":[null],"mappings":"AAGA;AACA,OAAO,MAAMA,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,SAAS,GAAG,QAAiB;AAK1C;AACA,OAAO,MAAMC,UAAU,GAAG,SAAkB;AAK5C;AACA,OAAO,MAAMC,aAAa,GAAG,WAAoB;AAKjD;AACA,OAAO,MAAMC,aAAa,GAAG,WAAoB;AAKjD;AACA,OAAO,MAAMC,yBAAyB,GAAG,qBAA8B;AAKvE;AACA,OAAO,MAAMC,UAAU,GAAG,SAAkB;AAK5C;AACA,OAAO,MAAMC,OAAO,GAAG,MAAe;AAEtC;AACA,OAAO,MAAMC,MAAM,GAAG,KAAc;AAQpC;AACA,OAAO,MAAMC,uBAAuB,GAAG,oBAA6B;AAKpE;AACA,OAAO,MAAMC,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,eAAe,GAAG,aAAsB;AAKrD;AACA,OAAO,MAAMC,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,eAAe,GAAG,aAAsB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"effect.js","names":["OP_ASYNC","OP_COMMIT","OP_FAILURE","OP_ON_FAILURE","OP_ON_SUCCESS","OP_ON_SUCCESS_AND_FAILURE","OP_SUCCESS","OP_SYNC","OP_TAG","OP_UPDATE_RUNTIME_FLAGS","OP_WHILE","OP_ITERATOR","OP_WITH_RUNTIME","OP_YIELD","OP_REVERT_FLAGS"],"sources":["../../../../src/internal/opCodes/effect.ts"],"sourcesContent":[null],"mappings":"AAGA;AACA,OAAO,MAAMA,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,SAAS,GAAG,QAAiB;AAK1C;AACA,OAAO,MAAMC,UAAU,GAAG,SAAkB;AAK5C;AACA,OAAO,MAAMC,aAAa,GAAG,WAAoB;AAKjD;AACA,OAAO,MAAMC,aAAa,GAAG,WAAoB;AAKjD;AACA,OAAO,MAAMC,yBAAyB,GAAG,qBAA8B;AAKvE;AACA,OAAO,MAAMC,UAAU,GAAG,SAAkB;AAK5C;AACA,OAAO,MAAMC,OAAO,GAAG,MAAe;AAEtC;AACA,OAAO,MAAMC,MAAM,GAAG,KAAc;AAQpC;AACA,OAAO,MAAMC,uBAAuB,GAAG,oBAA6B;AAKpE;AACA,OAAO,MAAMC,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,WAAW,GAAG,UAAmB;AAK9C;AACA,OAAO,MAAMC,eAAe,GAAG,aAAsB;AAKrD;AACA,OAAO,MAAMC,QAAQ,GAAG,OAAgB;AAKxC;AACA,OAAO,MAAMC,eAAe,GAAG,aAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","names":["moduleVersion","getCurrentVersion","setCurrentVersion","version"],"sources":["../../../src/internal/version.ts"],"sourcesContent":[null],"mappings":"AAAA,IAAIA,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","names":["moduleVersion","getCurrentVersion","setCurrentVersion","version"],"sources":["../../../src/internal/version.ts"],"sourcesContent":[null],"mappings":"AAAA,IAAIA,aAAa,GAAG,SAAS;AAE7B,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAMD,aAAa;AAEpD,OAAO,MAAME,iBAAiB,GAAIC,OAAe,IAAI;EACnDH,aAAa,GAAGG,OAAO;AACzB,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Effect.ts
CHANGED
|
@@ -1910,7 +1910,7 @@ export const gen: {
|
|
|
1910
1910
|
[Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>] ? E : never,
|
|
1911
1911
|
[Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>] ? R : never
|
|
1912
1912
|
>
|
|
1913
|
-
} =
|
|
1913
|
+
} = core.gen
|
|
1914
1914
|
|
|
1915
1915
|
/**
|
|
1916
1916
|
* @since 2.0.0
|
|
@@ -10732,6 +10732,8 @@ export declare namespace Tag {
|
|
|
10732
10732
|
: k
|
|
10733
10733
|
]: Type[k] extends (...args: infer Args extends ReadonlyArray<any>) => Effect<infer A, infer E, infer R> ?
|
|
10734
10734
|
(...args: Readonly<Args>) => Effect<A, E, Self | R>
|
|
10735
|
+
: Type[k] extends (...args: infer Args extends ReadonlyArray<any>) => Promise<infer A> ?
|
|
10736
|
+
(...args: Readonly<Args>) => Effect<A, Cause.UnknownException, Self>
|
|
10735
10737
|
: Type[k] extends (...args: infer Args extends ReadonlyArray<any>) => infer A ?
|
|
10736
10738
|
(...args: Readonly<Args>) => Effect<A, never, Self>
|
|
10737
10739
|
: Type[k] extends Effect<infer A, infer E, infer R> ? Effect<A, E, Self | R>
|
|
@@ -10790,7 +10792,9 @@ export const Tag: <const Id extends string>(id: Id) => <
|
|
|
10790
10792
|
& {
|
|
10791
10793
|
use: <X>(
|
|
10792
10794
|
body: (_: Type) => X
|
|
10793
|
-
) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self>
|
|
10795
|
+
) => [X] extends [Effect<infer A, infer E, infer R>] ? Effect<A, E, R | Self>
|
|
10796
|
+
: [X] extends [PromiseLike<infer A>] ? Effect<A, Cause.UnknownException, Self>
|
|
10797
|
+
: Effect<X, never, Self>
|
|
10794
10798
|
} = (id) => () => {
|
|
10795
10799
|
const limit = Error.stackTraceLimit
|
|
10796
10800
|
Error.stackTraceLimit = 2
|
|
@@ -11064,7 +11068,9 @@ export declare namespace Service {
|
|
|
11064
11068
|
}
|
|
11065
11069
|
readonly use: <X>(
|
|
11066
11070
|
body: (_: Self) => X
|
|
11067
|
-
) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self>
|
|
11071
|
+
) => [X] extends [Effect<infer A, infer E, infer R>] ? Effect<A, E, R | Self>
|
|
11072
|
+
: [X] extends [PromiseLike<infer A>] ? Effect<A, Cause.UnknownException, Self>
|
|
11073
|
+
: Effect<X, never, Self>
|
|
11068
11074
|
readonly make: (_: MakeService<Make>) => Self
|
|
11069
11075
|
}
|
|
11070
11076
|
& Context.Tag<Self, Self>
|
package/src/FiberHandle.ts
CHANGED
|
@@ -9,11 +9,9 @@ import * as Deferred from "./Deferred.js"
|
|
|
9
9
|
import * as Exit from "./Exit.js"
|
|
10
10
|
import * as Fiber from "./Fiber.js"
|
|
11
11
|
import * as FiberId from "./FiberId.js"
|
|
12
|
-
import * as FiberRef from "./FiberRef.js"
|
|
13
12
|
import { constFalse, dual } from "./Function.js"
|
|
14
13
|
import * as HashSet from "./HashSet.js"
|
|
15
14
|
import * as Inspectable from "./Inspectable.js"
|
|
16
|
-
import type { FiberRuntime } from "./internal/fiberRuntime.js"
|
|
17
15
|
import * as Option from "./Option.js"
|
|
18
16
|
import { type Pipeable, pipeArguments } from "./Pipeable.js"
|
|
19
17
|
import * as Predicate from "./Predicate.js"
|
|
@@ -216,7 +214,6 @@ export const unsafeSet: {
|
|
|
216
214
|
self.state.fiber = undefined
|
|
217
215
|
}
|
|
218
216
|
|
|
219
|
-
;(fiber as FiberRuntime<unknown, unknown>).setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none())
|
|
220
217
|
self.state.fiber = fiber
|
|
221
218
|
fiber.addObserver((exit) => {
|
|
222
219
|
if (self.state._tag === "Open" && fiber === self.state.fiber) {
|
package/src/FiberMap.ts
CHANGED
|
@@ -9,11 +9,9 @@ import * as Deferred from "./Deferred.js"
|
|
|
9
9
|
import * as Exit from "./Exit.js"
|
|
10
10
|
import * as Fiber from "./Fiber.js"
|
|
11
11
|
import * as FiberId from "./FiberId.js"
|
|
12
|
-
import * as FiberRef from "./FiberRef.js"
|
|
13
12
|
import { constFalse, dual } from "./Function.js"
|
|
14
13
|
import * as HashSet from "./HashSet.js"
|
|
15
14
|
import * as Inspectable from "./Inspectable.js"
|
|
16
|
-
import type { FiberRuntime } from "./internal/fiberRuntime.js"
|
|
17
15
|
import * as Iterable from "./Iterable.js"
|
|
18
16
|
import * as MutableHashMap from "./MutableHashMap.js"
|
|
19
17
|
import * as Option from "./Option.js"
|
|
@@ -236,7 +234,6 @@ export const unsafeSet: {
|
|
|
236
234
|
previous.value.unsafeInterruptAsFork(FiberId.combine(options?.interruptAs ?? FiberId.none, internalFiberId))
|
|
237
235
|
}
|
|
238
236
|
|
|
239
|
-
;(fiber as FiberRuntime<unknown, unknown>).setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none())
|
|
240
237
|
MutableHashMap.set(self.state.backing, key, fiber)
|
|
241
238
|
fiber.addObserver((exit) => {
|
|
242
239
|
if (self.state._tag === "Closed") {
|
package/src/FiberSet.ts
CHANGED
|
@@ -8,13 +8,10 @@ import * as Cause from "./Cause.js"
|
|
|
8
8
|
import * as Deferred from "./Deferred.js"
|
|
9
9
|
import * as Exit from "./Exit.js"
|
|
10
10
|
import * as Fiber from "./Fiber.js"
|
|
11
|
-
import * as FiberRef from "./FiberRef.js"
|
|
12
11
|
import { constFalse, dual } from "./Function.js"
|
|
13
12
|
import * as HashSet from "./HashSet.js"
|
|
14
13
|
import * as Inspectable from "./Inspectable.js"
|
|
15
|
-
import type { FiberRuntime } from "./internal/fiberRuntime.js"
|
|
16
14
|
import * as Iterable from "./Iterable.js"
|
|
17
|
-
import * as Option from "./Option.js"
|
|
18
15
|
import { type Pipeable, pipeArguments } from "./Pipeable.js"
|
|
19
16
|
import * as Predicate from "./Predicate.js"
|
|
20
17
|
import * as Runtime from "./Runtime.js"
|
|
@@ -206,7 +203,6 @@ export const unsafeAdd: {
|
|
|
206
203
|
} else if (self.state.backing.has(fiber)) {
|
|
207
204
|
return
|
|
208
205
|
}
|
|
209
|
-
;(fiber as FiberRuntime<unknown, unknown>).setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none())
|
|
210
206
|
self.state.backing.add(fiber)
|
|
211
207
|
fiber.addObserver((exit) => {
|
|
212
208
|
if (self.state._tag === "Closed") {
|
package/src/Mailbox.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { Inspectable } from "./Inspectable.js"
|
|
|
11
11
|
import * as internal from "./internal/mailbox.js"
|
|
12
12
|
import type { Option } from "./Option.js"
|
|
13
13
|
import { hasProperty } from "./Predicate.js"
|
|
14
|
+
import type { Scope } from "./Scope.js"
|
|
14
15
|
import type { Stream } from "./Stream.js"
|
|
15
16
|
|
|
16
17
|
/**
|
|
@@ -202,7 +203,12 @@ export interface ReadonlyMailbox<out A, out E = never>
|
|
|
202
203
|
* yield* mailbox.fail("boom")
|
|
203
204
|
* })
|
|
204
205
|
*/
|
|
205
|
-
export const make: <A, E = never>(
|
|
206
|
+
export const make: <A, E = never>(
|
|
207
|
+
capacity?: number | {
|
|
208
|
+
readonly capacity?: number
|
|
209
|
+
readonly strategy?: "suspend" | "dropping" | "sliding"
|
|
210
|
+
} | undefined
|
|
211
|
+
) => Effect<Mailbox<A, E>> = internal.make
|
|
206
212
|
|
|
207
213
|
/**
|
|
208
214
|
* Run an `Effect` into a `Mailbox`, where success ends the mailbox and failure
|
|
@@ -250,3 +256,40 @@ export const toChannel: <A, E>(self: ReadonlyMailbox<A, E>) => Channel<Chunk<A>,
|
|
|
250
256
|
* @category conversions
|
|
251
257
|
*/
|
|
252
258
|
export const toStream: <A, E>(self: ReadonlyMailbox<A, E>) => Stream<A, E> = internal.toStream
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Create a `ReadonlyMailbox` from a `Stream`.
|
|
262
|
+
*
|
|
263
|
+
* @since 3.11.0
|
|
264
|
+
* @experimental
|
|
265
|
+
* @category conversions
|
|
266
|
+
*/
|
|
267
|
+
export const fromStream: {
|
|
268
|
+
/**
|
|
269
|
+
* Create a `ReadonlyMailbox` from a `Stream`.
|
|
270
|
+
*
|
|
271
|
+
* @since 3.11.0
|
|
272
|
+
* @experimental
|
|
273
|
+
* @category conversions
|
|
274
|
+
*/
|
|
275
|
+
(
|
|
276
|
+
options?: {
|
|
277
|
+
readonly capacity?: number | undefined
|
|
278
|
+
readonly strategy?: "suspend" | "dropping" | "sliding" | undefined
|
|
279
|
+
}
|
|
280
|
+
): <A, E, R>(self: Stream<A, E, R>) => Effect<ReadonlyMailbox<A, E>, never, R | Scope>
|
|
281
|
+
/**
|
|
282
|
+
* Create a `ReadonlyMailbox` from a `Stream`.
|
|
283
|
+
*
|
|
284
|
+
* @since 3.11.0
|
|
285
|
+
* @experimental
|
|
286
|
+
* @category conversions
|
|
287
|
+
*/
|
|
288
|
+
<A, E, R>(
|
|
289
|
+
self: Stream<A, E, R>,
|
|
290
|
+
options?: {
|
|
291
|
+
readonly capacity?: number | undefined
|
|
292
|
+
readonly strategy?: "suspend" | "dropping" | "sliding" | undefined
|
|
293
|
+
}
|
|
294
|
+
): Effect<ReadonlyMailbox<A, E>, never, R | Scope>
|
|
295
|
+
} = internal.fromStream
|
package/src/TestClock.ts
CHANGED
|
@@ -436,7 +436,7 @@ export class TestClockImpl implements TestClock {
|
|
|
436
436
|
export const live = (data: Data): Layer.Layer<TestClock, never, Annotations.TestAnnotations | Live.TestLive> =>
|
|
437
437
|
layer.scoped(
|
|
438
438
|
TestClock,
|
|
439
|
-
|
|
439
|
+
core.gen(function*($) {
|
|
440
440
|
const live = yield* $(Live.TestLive)
|
|
441
441
|
const annotations = yield* $(Annotations.TestAnnotations)
|
|
442
442
|
const clockState = yield* $(core.sync(() => ref.unsafeMake(data)))
|
|
@@ -29,7 +29,6 @@ import type * as runtimeFlagsPatch from "../RuntimeFlagsPatch.js"
|
|
|
29
29
|
import * as Tracer from "../Tracer.js"
|
|
30
30
|
import type { NoInfer } from "../Types.js"
|
|
31
31
|
import type { Unify } from "../Unify.js"
|
|
32
|
-
import { yieldWrapGet } from "../Utils.js"
|
|
33
32
|
import * as internalCause from "./cause.js"
|
|
34
33
|
import { clockTag } from "./clock.js"
|
|
35
34
|
import * as core from "./core.js"
|
|
@@ -794,33 +793,6 @@ export const forever = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<ne
|
|
|
794
793
|
return loop
|
|
795
794
|
}
|
|
796
795
|
|
|
797
|
-
/**
|
|
798
|
-
* Inspired by https://github.com/tusharmath/qio/pull/22 (revised)
|
|
799
|
-
@internal */
|
|
800
|
-
export const gen: typeof Effect.gen = function() {
|
|
801
|
-
let f: any
|
|
802
|
-
if (arguments.length === 1) {
|
|
803
|
-
f = arguments[0]
|
|
804
|
-
} else {
|
|
805
|
-
f = arguments[1].bind(arguments[0])
|
|
806
|
-
}
|
|
807
|
-
return core.suspend(() => {
|
|
808
|
-
const iterator = f(pipe)
|
|
809
|
-
const state = internalCall(() => iterator.next())
|
|
810
|
-
const run = (
|
|
811
|
-
state: IteratorYieldResult<any> | IteratorReturnResult<any>
|
|
812
|
-
): Effect.Effect<any, any, any> => {
|
|
813
|
-
return (state.done
|
|
814
|
-
? core.succeed(state.value)
|
|
815
|
-
: core.flatMap(
|
|
816
|
-
yieldWrapGet(state.value) as any,
|
|
817
|
-
(val: any) => run(internalCall(() => iterator.next(val)))
|
|
818
|
-
))
|
|
819
|
-
}
|
|
820
|
-
return run(state)
|
|
821
|
-
})
|
|
822
|
-
}
|
|
823
|
-
|
|
824
796
|
/* @internal */
|
|
825
797
|
export const fiberRefs: Effect.Effect<FiberRefs.FiberRefs> = core.withFiberRuntime((state) =>
|
|
826
798
|
core.succeed(state.getFiberRefs())
|
package/src/internal/core.ts
CHANGED
|
@@ -122,6 +122,7 @@ export type Primitive =
|
|
|
122
122
|
| Sync
|
|
123
123
|
| UpdateRuntimeFlags
|
|
124
124
|
| While
|
|
125
|
+
| FromIterator
|
|
125
126
|
| WithRuntime
|
|
126
127
|
| Yield
|
|
127
128
|
| OpTag
|
|
@@ -137,6 +138,7 @@ export type Continuation =
|
|
|
137
138
|
| OnSuccessAndFailure
|
|
138
139
|
| OnFailure
|
|
139
140
|
| While
|
|
141
|
+
| FromIterator
|
|
140
142
|
| RevertFlags
|
|
141
143
|
|
|
142
144
|
/** @internal */
|
|
@@ -387,6 +389,13 @@ export interface While extends
|
|
|
387
389
|
}>
|
|
388
390
|
{}
|
|
389
391
|
|
|
392
|
+
/** @internal */
|
|
393
|
+
export interface FromIterator extends
|
|
394
|
+
Op<OpCodes.OP_ITERATOR, {
|
|
395
|
+
effect_instruction_i0: Iterator<YieldWrap<Primitive>, any>
|
|
396
|
+
}>
|
|
397
|
+
{}
|
|
398
|
+
|
|
390
399
|
/** @internal */
|
|
391
400
|
export interface WithRuntime extends
|
|
392
401
|
Op<OpCodes.OP_WITH_RUNTIME, {
|
|
@@ -435,7 +444,7 @@ export const acquireUseRelease: {
|
|
|
435
444
|
onFailure: (cause) => {
|
|
436
445
|
switch (exit._tag) {
|
|
437
446
|
case OpCodes.OP_FAILURE:
|
|
438
|
-
return failCause(internalCause.
|
|
447
|
+
return failCause(internalCause.sequential(exit.effect_instruction_i0, cause))
|
|
439
448
|
case OpCodes.OP_SUCCESS:
|
|
440
449
|
return failCause(cause)
|
|
441
450
|
}
|
|
@@ -1212,8 +1221,11 @@ export const succeed = <A>(value: A): Effect.Effect<A> => {
|
|
|
1212
1221
|
}
|
|
1213
1222
|
|
|
1214
1223
|
/* @internal */
|
|
1215
|
-
export const suspend = <A, E, R>(
|
|
1216
|
-
|
|
1224
|
+
export const suspend = <A, E, R>(evaluate: LazyArg<Effect.Effect<A, E, R>>): Effect.Effect<A, E, R> => {
|
|
1225
|
+
const effect = new EffectPrimitive(OpCodes.OP_COMMIT) as any
|
|
1226
|
+
effect.commit = evaluate
|
|
1227
|
+
return effect
|
|
1228
|
+
}
|
|
1217
1229
|
|
|
1218
1230
|
/* @internal */
|
|
1219
1231
|
export const sync = <A>(thunk: LazyArg<A>): Effect.Effect<A> => {
|
|
@@ -1404,6 +1416,16 @@ export const whileLoop = <A, E, R>(
|
|
|
1404
1416
|
return effect
|
|
1405
1417
|
}
|
|
1406
1418
|
|
|
1419
|
+
/* @internal */
|
|
1420
|
+
export const gen: typeof Effect.gen = function() {
|
|
1421
|
+
const f = arguments.length === 1 ? arguments[0] : arguments[1].bind(arguments[0])
|
|
1422
|
+
return suspend(() => {
|
|
1423
|
+
const effect = new EffectPrimitive(OpCodes.OP_ITERATOR) as any
|
|
1424
|
+
effect.effect_instruction_i0 = f(pipe)
|
|
1425
|
+
return effect
|
|
1426
|
+
})
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1407
1429
|
/* @internal */
|
|
1408
1430
|
export const withConcurrency = dual<
|
|
1409
1431
|
(concurrency: number | "unbounded") => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
@@ -53,7 +53,7 @@ export const decode = (str: string): Either.Either<Uint8Array, Encoding.DecodeEx
|
|
|
53
53
|
|
|
54
54
|
try {
|
|
55
55
|
const missingOctets = stripped.endsWith("==") ? 2 : stripped.endsWith("=") ? 1 : 0
|
|
56
|
-
const result = new Uint8Array(3 * (length / 4))
|
|
56
|
+
const result = new Uint8Array(3 * (length / 4) - missingOctets)
|
|
57
57
|
for (let i = 0, j = 0; i < length; i += 4, j += 3) {
|
|
58
58
|
const buffer = getBase64Code(stripped.charCodeAt(i)) << 18 |
|
|
59
59
|
getBase64Code(stripped.charCodeAt(i + 1)) << 12 |
|
|
@@ -65,7 +65,7 @@ export const decode = (str: string): Either.Either<Uint8Array, Encoding.DecodeEx
|
|
|
65
65
|
result[j + 2] = buffer & 0xff
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
return Either.right(result
|
|
68
|
+
return Either.right(result)
|
|
69
69
|
} catch (e) {
|
|
70
70
|
return Either.left(
|
|
71
71
|
DecodeException(stripped, e instanceof Error ? e.message : "Invalid input")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { internalCall } from "effect/Utils"
|
|
1
|
+
import { internalCall, yieldWrapGet } from "effect/Utils"
|
|
2
2
|
import * as RA from "../Array.js"
|
|
3
3
|
import * as Boolean from "../Boolean.js"
|
|
4
4
|
import type * as Cause from "../Cause.js"
|
|
@@ -189,6 +189,16 @@ const contOpSuccess = {
|
|
|
189
189
|
} else {
|
|
190
190
|
return core.void
|
|
191
191
|
}
|
|
192
|
+
},
|
|
193
|
+
[OpCodes.OP_ITERATOR]: (
|
|
194
|
+
self: FiberRuntime<any, any>,
|
|
195
|
+
cont: core.FromIterator,
|
|
196
|
+
value: unknown
|
|
197
|
+
) => {
|
|
198
|
+
const state = internalCall(() => cont.effect_instruction_i0.next(value))
|
|
199
|
+
if (state.done) return core.exitSucceed(state.value)
|
|
200
|
+
self.pushStack(cont)
|
|
201
|
+
return yieldWrapGet(state.value)
|
|
192
202
|
}
|
|
193
203
|
}
|
|
194
204
|
|
|
@@ -1053,7 +1063,7 @@ export class FiberRuntime<in out A, in out E = never> extends Effectable.Class<A
|
|
|
1053
1063
|
getNextFailCont() {
|
|
1054
1064
|
let frame = this.popStack()
|
|
1055
1065
|
while (frame) {
|
|
1056
|
-
if (frame._op !== OpCodes.OP_ON_SUCCESS && frame._op !== OpCodes.OP_WHILE) {
|
|
1066
|
+
if (frame._op !== OpCodes.OP_ON_SUCCESS && frame._op !== OpCodes.OP_WHILE && frame._op !== OpCodes.OP_ITERATOR) {
|
|
1057
1067
|
return frame
|
|
1058
1068
|
}
|
|
1059
1069
|
frame = this.popStack()
|
|
@@ -1299,6 +1309,10 @@ export class FiberRuntime<in out A, in out E = never> extends Effectable.Class<A
|
|
|
1299
1309
|
}
|
|
1300
1310
|
}
|
|
1301
1311
|
|
|
1312
|
+
[OpCodes.OP_ITERATOR](op: core.Primitive & { _op: OpCodes.OP_ITERATOR }) {
|
|
1313
|
+
return contOpSuccess[OpCodes.OP_ITERATOR](this, op, undefined)
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1302
1316
|
[OpCodes.OP_COMMIT](op: core.Primitive & { _op: OpCodes.OP_COMMIT }) {
|
|
1303
1317
|
return internalCall(() => op.commit())
|
|
1304
1318
|
}
|