effect 4.0.0-beta.13 → 4.0.0-beta.15
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/Channel.d.ts +6 -6
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +4 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Effect.d.ts +7 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Stream.d.ts +7 -7
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +8 -6
- package/dist/Stream.js.map +1 -1
- package/dist/Types.d.ts +70 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/internal/effect.js +4 -4
- package/dist/internal/effect.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -0
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +34 -4
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +75 -20
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +25 -62
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +41 -87
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +3 -0
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +2 -0
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +18 -4
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.js +62 -9
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +10 -4
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +17 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +3 -4
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -6
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/Channel.ts +24 -14
- package/src/Effect.ts +30 -8
- package/src/Stream.ts +46 -22
- package/src/Types.ts +66 -0
- package/src/internal/effect.ts +41 -14
- package/src/unstable/ai/LanguageModel.ts +9 -6
- package/src/unstable/cli/Command.ts +122 -24
- package/src/unstable/cli/GlobalFlag.ts +98 -197
- package/src/unstable/cli/internal/command.ts +5 -0
- package/src/unstable/cli/internal/help.ts +104 -24
- package/src/unstable/httpapi/HttpApiBuilder.ts +68 -13
- package/src/unstable/httpapi/HttpApiEndpoint.ts +13 -4
- package/src/unstable/httpapi/OpenApi.ts +3 -4
- package/src/unstable/reactivity/AtomHttpApi.ts +2 -2
- package/src/unstable/reactivity/AtomRegistry.ts +2 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomHttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomHttpApi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AtomHttpApi.d.ts","sourceRoot":"","sources":["../../../src/unstable/reactivity/AtomHttpApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -268,9 +268,7 @@ class RegistryImpl {
|
|
|
268
268
|
}
|
|
269
269
|
removeNodeTimeout(node) {
|
|
270
270
|
const bucket = this.nodeTimeoutBucket.get(node);
|
|
271
|
-
if (bucket === undefined)
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
271
|
+
if (bucket === undefined) return;
|
|
274
272
|
this.nodeTimeoutBucket.delete(node);
|
|
275
273
|
this.scheduleNodeRemoval(node);
|
|
276
274
|
const [nodes, handle] = this.timeoutBuckets.get(bucket);
|
|
@@ -285,10 +283,8 @@ class RegistryImpl {
|
|
|
285
283
|
const nodes = this.timeoutBuckets.get(bucket)[0];
|
|
286
284
|
this.timeoutBuckets.delete(bucket);
|
|
287
285
|
nodes.forEach(node => {
|
|
288
|
-
if (!node.canBeRemoved) {
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
286
|
this.nodeTimeoutBucket.delete(node);
|
|
287
|
+
if (!node.canBeRemoved) return;
|
|
292
288
|
this.nodes.delete(atomKey(node.atom));
|
|
293
289
|
this.onNodeRemoved?.(node);
|
|
294
290
|
this.#currentSweepTTL = node.atom.idleTTL ?? this.defaultIdleTTL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomRegistry.js","names":["Effect","Exit","Fiber","constVoid","dual","Layer","Option","hasProperty","Queue","MixedScheduler","Scope","ServiceMap","Stream","Result","TypeId","isAtomRegistry","u","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","AtomRegistry","Service","layerOptions","effect","gen","scope","registry","addFinalizer","sync","dispose","layer","toStream","self","atom","callback","queue","suspend","fiber","getCurrent","getUnsafe","services","cancel","subscribe","value","offerUnsafe","immediate","toStreamResult","pipe","filter","isNotInitial","mapEffect","result","_tag","succeed","failCause","cause","changes","getResult","args","suspendOnWaiting","resume","get","waiting","toExit","mount","acquireRelease","release","constImmediate","notifyListener","listener","SerializableTypeId","atomKey","key","scheduler","schedulerAsync","onNodeAdded","onNodeRemoved","constructor","undefined","Math","round","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","set","write","writeContext","setSerializable","encoded","modify","f","node","update","refresh","invalidateAtom","remove","_value","canBeRemoved","scheduleNodeRemoval","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","has","delete","decoded","decode","Error","scheduleAtomRemoval","NodeImpl","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","NodeFlags","alive","initialized","waitingForValue","NodeState","uninitialized","stale","valid","removed","WriteContextImpl","state","lifetime","parents","previousParents","children","listeners","skipInvalidation","currentState","length","makeLifetime","read","i","removeChild","valueOption","none","some","batchState","phase","BatchPhase","collect","notify","Object","is","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","disposeLifetime","lazy","childrenAreActive","commit","current","stack","stackIndex","len","LifetimeProto","finalizers","isFn","resultOnce","never","once","setResult","someOnce","isSome","isNone","refreshSelf","setSelf","a","stream","empty","withoutInitialValue","streamResult","setPrototypeOf","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/unstable/reactivity/AtomRegistry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"AtomRegistry.js","names":["Effect","Exit","Fiber","constVoid","dual","Layer","Option","hasProperty","Queue","MixedScheduler","Scope","ServiceMap","Stream","Result","TypeId","isAtomRegistry","u","make","options","RegistryImpl","initialValues","scheduleTask","timeoutResolution","defaultIdleTTL","AtomRegistry","Service","layerOptions","effect","gen","scope","registry","addFinalizer","sync","dispose","layer","toStream","self","atom","callback","queue","suspend","fiber","getCurrent","getUnsafe","services","cancel","subscribe","value","offerUnsafe","immediate","toStreamResult","pipe","filter","isNotInitial","mapEffect","result","_tag","succeed","failCause","cause","changes","getResult","args","suspendOnWaiting","resume","get","waiting","toExit","mount","acquireRelease","release","constImmediate","notifyListener","listener","SerializableTypeId","atomKey","key","scheduler","schedulerAsync","onNodeAdded","onNodeRemoved","constructor","undefined","Math","round","ensureNode","setValue","nodes","Map","preloadedSerializable","timeoutBuckets","nodeTimeoutBucket","disposed","getNodes","set","write","writeContext","setSerializable","encoded","modify","f","node","update","refresh","invalidateAtom","remove","_value","canBeRemoved","scheduleNodeRemoval","atomHasTtl","keepAlive","idleTTL","createNode","removeNodeTimeout","has","delete","decoded","decode","Error","scheduleAtomRemoval","NodeImpl","invalidate","removeNode","setNodeTimeout","currentSweepTTL","ttl","ceil","timestamp","Date","now","bucket","entry","Set","setTimeout","sweepBucket","add","handle","size","clearTimeout","forEach","reset","clear","NodeFlags","alive","initialized","waitingForValue","NodeState","uninitialized","stale","valid","removed","WriteContextImpl","state","lifetime","parents","previousParents","children","listeners","skipInvalidation","currentState","length","makeLifetime","read","i","removeChild","valueOption","none","some","batchState","phase","BatchPhase","collect","notify","Object","is","invalidateChildren","addParent","parent","push","index","indexOf","pop","child","disposeLifetime","lazy","childrenAreActive","commit","current","stack","stackIndex","len","LifetimeProto","finalizers","isFn","resultOnce","never","once","setResult","someOnce","isSome","isNone","refreshSelf","setSelf","a","stream","empty","withoutInitialValue","streamResult","setPrototypeOf","disabled","depth","batch","batchRebuildNode"],"sources":["../../../src/unstable/reactivity/AtomRegistry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Channel.ts
CHANGED
|
@@ -5528,11 +5528,13 @@ export const catchReason: {
|
|
|
5528
5528
|
errorTag: K,
|
|
5529
5529
|
reasonTag: RK,
|
|
5530
5530
|
f: (
|
|
5531
|
-
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5531
|
+
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5532
|
+
error: Types.NarrowReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5532
5533
|
) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
5533
5534
|
orElse?:
|
|
5534
5535
|
| ((
|
|
5535
|
-
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5536
|
+
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5537
|
+
error: Types.OmitReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5536
5538
|
) => Channel<OutElem2, OutErr2, OutDone2, InElem2, InErr2, InDone2, Env2>)
|
|
5537
5539
|
| undefined
|
|
5538
5540
|
): <
|
|
@@ -5615,11 +5617,13 @@ export const catchReason: {
|
|
|
5615
5617
|
errorTag: K,
|
|
5616
5618
|
reasonTag: RK,
|
|
5617
5619
|
f: (
|
|
5618
|
-
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5620
|
+
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5621
|
+
error: Types.NarrowReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5619
5622
|
) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
5620
5623
|
orElse?:
|
|
5621
5624
|
| ((
|
|
5622
|
-
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5625
|
+
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5626
|
+
error: Types.OmitReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5623
5627
|
) => Channel<OutElem2, OutErr2, OutDone2, InElem2, InErr2, InDone2, Env2>)
|
|
5624
5628
|
| undefined
|
|
5625
5629
|
): Channel<
|
|
@@ -5660,11 +5664,13 @@ export const catchReason: {
|
|
|
5660
5664
|
errorTag: K,
|
|
5661
5665
|
reasonTag: RK,
|
|
5662
5666
|
f: (
|
|
5663
|
-
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5667
|
+
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5668
|
+
error: Types.NarrowReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5664
5669
|
) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
5665
5670
|
orElse?:
|
|
5666
5671
|
| ((
|
|
5667
|
-
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5672
|
+
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5673
|
+
error: Types.OmitReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5668
5674
|
) => Channel<OutElem2, OutErr2, OutDone2, InElem2, InErr2, InDone2, Env2>)
|
|
5669
5675
|
| undefined
|
|
5670
5676
|
): Channel<
|
|
@@ -5690,9 +5696,9 @@ export const catchReason: {
|
|
|
5690
5696
|
if (isTagged(error, errorTag) && hasProperty(error, "reason")) {
|
|
5691
5697
|
const reason = error.reason as Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5692
5698
|
if (isTagged(reason, reasonTag)) {
|
|
5693
|
-
return f(reason as any)
|
|
5699
|
+
return f(reason as any, error as any)
|
|
5694
5700
|
}
|
|
5695
|
-
return orElse ? orElse(reason) as any : fail(error) as any
|
|
5701
|
+
return orElse ? orElse(reason, error as any) as any : fail(error) as any
|
|
5696
5702
|
}
|
|
5697
5703
|
return fail(error) as any
|
|
5698
5704
|
}
|
|
@@ -5716,7 +5722,8 @@ export const catchReasons: {
|
|
|
5716
5722
|
OutErr,
|
|
5717
5723
|
Cases extends {
|
|
5718
5724
|
[RK in Types.ReasonTags<Types.ExtractTag<Types.NoInfer<OutErr>, K>>]+?: (
|
|
5719
|
-
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK
|
|
5725
|
+
reason: Types.ExtractReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>,
|
|
5726
|
+
error: Types.NarrowReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, RK>
|
|
5720
5727
|
) => Channel<any, any, any, any, any, any, any>
|
|
5721
5728
|
},
|
|
5722
5729
|
OutElem2 = Types.unassigned,
|
|
@@ -5731,7 +5738,8 @@ export const catchReasons: {
|
|
|
5731
5738
|
cases: Cases,
|
|
5732
5739
|
orElse?:
|
|
5733
5740
|
| ((
|
|
5734
|
-
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string
|
|
5741
|
+
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string>>,
|
|
5742
|
+
error: Types.OmitReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string>>
|
|
5735
5743
|
) => Channel<OutElem2, OutErr2, OutDone2, InElem2, InErr2, InDone2, Env2>)
|
|
5736
5744
|
| undefined
|
|
5737
5745
|
): <OutElem, OutDone, InElem, InErr, InDone, Env>(
|
|
@@ -5797,7 +5805,8 @@ export const catchReasons: {
|
|
|
5797
5805
|
K extends Types.Tags<OutErr>,
|
|
5798
5806
|
Cases extends {
|
|
5799
5807
|
[RK in Types.ReasonTags<Types.ExtractTag<OutErr, K>>]+?: (
|
|
5800
|
-
reason: Types.ExtractReason<Types.ExtractTag<OutErr, K>, RK
|
|
5808
|
+
reason: Types.ExtractReason<Types.ExtractTag<OutErr, K>, RK>,
|
|
5809
|
+
error: Types.NarrowReason<Types.ExtractTag<OutErr, K>, RK>
|
|
5801
5810
|
) => Channel<any, any, any, any, any, any, any>
|
|
5802
5811
|
},
|
|
5803
5812
|
OutElem2 = Types.unassigned,
|
|
@@ -5813,7 +5822,8 @@ export const catchReasons: {
|
|
|
5813
5822
|
cases: Cases,
|
|
5814
5823
|
orElse?:
|
|
5815
5824
|
| ((
|
|
5816
|
-
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string
|
|
5825
|
+
reason: Types.ExcludeReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string>>,
|
|
5826
|
+
error: Types.OmitReason<Types.ExtractTag<Types.NoInfer<OutErr>, K>, Extract<keyof Cases, string>>
|
|
5817
5827
|
) => Channel<OutElem2, OutErr2, OutDone2, InElem2, InErr2, InDone2, Env2>)
|
|
5818
5828
|
| undefined
|
|
5819
5829
|
): Channel<
|
|
@@ -5872,9 +5882,9 @@ export const catchReasons: {
|
|
|
5872
5882
|
const reason = error.reason as { readonly _tag: string }
|
|
5873
5883
|
keys ??= new Set(Object.keys(cases))
|
|
5874
5884
|
if (keys.has(reason._tag)) {
|
|
5875
|
-
return (cases as any)[reason._tag](reason as any)
|
|
5885
|
+
return (cases as any)[reason._tag](reason as any, error)
|
|
5876
5886
|
}
|
|
5877
|
-
return orElse ? orElse(reason) as any : fail(error) as any
|
|
5887
|
+
return orElse ? orElse(reason, error) as any : fail(error) as any
|
|
5878
5888
|
}
|
|
5879
5889
|
return fail(error) as any
|
|
5880
5890
|
})
|
package/src/Effect.ts
CHANGED
|
@@ -116,7 +116,9 @@ import type {
|
|
|
116
116
|
ExcludeTag,
|
|
117
117
|
ExtractReason,
|
|
118
118
|
ExtractTag,
|
|
119
|
+
NarrowReason,
|
|
119
120
|
NoInfer,
|
|
121
|
+
OmitReason,
|
|
120
122
|
ReasonOf,
|
|
121
123
|
ReasonTags,
|
|
122
124
|
Simplify,
|
|
@@ -4534,8 +4536,16 @@ export const catchReason: {
|
|
|
4534
4536
|
>(
|
|
4535
4537
|
errorTag: K,
|
|
4536
4538
|
reasonTag: RK,
|
|
4537
|
-
f: (
|
|
4538
|
-
|
|
4539
|
+
f: (
|
|
4540
|
+
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
4541
|
+
error: NarrowReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
4542
|
+
) => Effect<A2, E2, R2>,
|
|
4543
|
+
orElse?:
|
|
4544
|
+
| ((
|
|
4545
|
+
reasons: ExcludeReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
4546
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
4547
|
+
) => Effect<A3, E3, R3>)
|
|
4548
|
+
| undefined
|
|
4539
4549
|
): <A, R>(
|
|
4540
4550
|
self: Effect<A, E, R>
|
|
4541
4551
|
) => Effect<A | A2 | Exclude<A3, unassigned>, (A3 extends unassigned ? E : ExcludeTag<E, K>) | E2 | E3, R | R2 | R3>
|
|
@@ -4590,8 +4600,10 @@ export const catchReason: {
|
|
|
4590
4600
|
self: Effect<A, E, R>,
|
|
4591
4601
|
errorTag: K,
|
|
4592
4602
|
reasonTag: RK,
|
|
4593
|
-
f: (reason: ExtractReason<ExtractTag<E, K>, RK>) => Effect<A2, E2, R2>,
|
|
4594
|
-
orElse?:
|
|
4603
|
+
f: (reason: ExtractReason<ExtractTag<E, K>, RK>, error: NarrowReason<ExtractTag<E, K>, RK>) => Effect<A2, E2, R2>,
|
|
4604
|
+
orElse?:
|
|
4605
|
+
| ((reasons: ExcludeReason<ExtractTag<E, K>, RK>, error: OmitReason<ExtractTag<E, K>, RK>) => Effect<A3, E3, R3>)
|
|
4606
|
+
| undefined
|
|
4595
4607
|
): Effect<A | A2 | Exclude<A3, unassigned>, (A3 extends unassigned ? E : ExcludeTag<E, K>) | E2 | E3, R | R2 | R3>
|
|
4596
4608
|
} = internal.catchReason
|
|
4597
4609
|
|
|
@@ -4669,7 +4681,8 @@ export const catchReasons: {
|
|
|
4669
4681
|
E,
|
|
4670
4682
|
Cases extends {
|
|
4671
4683
|
[RK in ReasonTags<ExtractTag<NoInfer<E>, K>>]+?: (
|
|
4672
|
-
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK
|
|
4684
|
+
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
4685
|
+
error: NarrowReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
4673
4686
|
) => Effect<any, any, any>
|
|
4674
4687
|
},
|
|
4675
4688
|
A2 = unassigned,
|
|
@@ -4679,7 +4692,10 @@ export const catchReasons: {
|
|
|
4679
4692
|
errorTag: K,
|
|
4680
4693
|
cases: Cases,
|
|
4681
4694
|
orElse?:
|
|
4682
|
-
| ((
|
|
4695
|
+
| ((
|
|
4696
|
+
reason: ExcludeReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>,
|
|
4697
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>
|
|
4698
|
+
) => Effect<A2, E2, R2>)
|
|
4683
4699
|
| undefined
|
|
4684
4700
|
): <A, R>(
|
|
4685
4701
|
self: Effect<A, E, R>
|
|
@@ -4740,7 +4756,10 @@ export const catchReasons: {
|
|
|
4740
4756
|
R,
|
|
4741
4757
|
K extends Tags<E>,
|
|
4742
4758
|
Cases extends {
|
|
4743
|
-
[RK in ReasonTags<ExtractTag<E, K>>]+?: (
|
|
4759
|
+
[RK in ReasonTags<ExtractTag<E, K>>]+?: (
|
|
4760
|
+
reason: ExtractReason<ExtractTag<E, K>, RK>,
|
|
4761
|
+
error: NarrowReason<ExtractTag<E, K>, RK>
|
|
4762
|
+
) => Effect<any, any, any>
|
|
4744
4763
|
},
|
|
4745
4764
|
A2 = unassigned,
|
|
4746
4765
|
E2 = never,
|
|
@@ -4750,7 +4769,10 @@ export const catchReasons: {
|
|
|
4750
4769
|
errorTag: K,
|
|
4751
4770
|
cases: Cases,
|
|
4752
4771
|
orElse?:
|
|
4753
|
-
| ((
|
|
4772
|
+
| ((
|
|
4773
|
+
reason: ExcludeReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>,
|
|
4774
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>
|
|
4775
|
+
) => Effect<A2, E2, R2>)
|
|
4754
4776
|
| undefined
|
|
4755
4777
|
): Effect<
|
|
4756
4778
|
| A
|
package/src/Stream.ts
CHANGED
|
@@ -48,7 +48,9 @@ import type {
|
|
|
48
48
|
ExcludeTag,
|
|
49
49
|
ExtractReason,
|
|
50
50
|
ExtractTag,
|
|
51
|
+
NarrowReason,
|
|
51
52
|
NoInfer,
|
|
53
|
+
OmitReason,
|
|
52
54
|
ReasonTags,
|
|
53
55
|
Tags,
|
|
54
56
|
unassigned
|
|
@@ -8092,8 +8094,16 @@ export const catchReason: {
|
|
|
8092
8094
|
>(
|
|
8093
8095
|
errorTag: K,
|
|
8094
8096
|
reasonTag: RK,
|
|
8095
|
-
f: (
|
|
8096
|
-
|
|
8097
|
+
f: (
|
|
8098
|
+
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
8099
|
+
error: NarrowReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
8100
|
+
) => Stream<A2, E2, R2>,
|
|
8101
|
+
orElse?:
|
|
8102
|
+
| ((
|
|
8103
|
+
reason: ExcludeReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
8104
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
8105
|
+
) => Stream<A3, E3, R3>)
|
|
8106
|
+
| undefined
|
|
8097
8107
|
): <A, R>(
|
|
8098
8108
|
self: Stream<A, E, R>
|
|
8099
8109
|
) => Stream<A | A2 | Exclude<A3, unassigned>, (A3 extends unassigned ? E : ExcludeTag<E, K>) | E2 | E3, R | R2 | R3>
|
|
@@ -8156,8 +8166,10 @@ export const catchReason: {
|
|
|
8156
8166
|
self: Stream<A, E, R>,
|
|
8157
8167
|
errorTag: K,
|
|
8158
8168
|
reasonTag: RK,
|
|
8159
|
-
f: (reason: ExtractReason<ExtractTag<E, K>, RK>) => Stream<A2, E2, R2>,
|
|
8160
|
-
orElse?:
|
|
8169
|
+
f: (reason: ExtractReason<ExtractTag<E, K>, RK>, error: NarrowReason<ExtractTag<E, K>, RK>) => Stream<A2, E2, R2>,
|
|
8170
|
+
orElse?:
|
|
8171
|
+
| ((reason: ExcludeReason<ExtractTag<E, K>, RK>, error: OmitReason<ExtractTag<E, K>, RK>) => Stream<A3, E3, R3>)
|
|
8172
|
+
| undefined
|
|
8161
8173
|
): Stream<A | A2 | Exclude<A3, unassigned>, (A3 extends unassigned ? E : ExcludeTag<E, K>) | E2 | E3, R | R2 | R3>
|
|
8162
8174
|
} = dual(
|
|
8163
8175
|
(args) => isStream(args[0]),
|
|
@@ -8177,16 +8189,18 @@ export const catchReason: {
|
|
|
8177
8189
|
self: Stream<A, E, R>,
|
|
8178
8190
|
errorTag: K,
|
|
8179
8191
|
reasonTag: RK,
|
|
8180
|
-
f: (reason: ExtractReason<ExtractTag<E, K>, RK>) => Stream<A2, E2, R2>,
|
|
8181
|
-
orElse?:
|
|
8192
|
+
f: (reason: ExtractReason<ExtractTag<E, K>, RK>, error: NarrowReason<ExtractTag<E, K>, RK>) => Stream<A2, E2, R2>,
|
|
8193
|
+
orElse?:
|
|
8194
|
+
| ((reason: ExcludeReason<ExtractTag<E, K>, RK>, error: OmitReason<ExtractTag<E, K>, RK>) => Stream<A3, E3, R3>)
|
|
8195
|
+
| undefined
|
|
8182
8196
|
): Stream<A | A2 | Exclude<A3, unassigned>, (A3 extends unassigned ? E : ExcludeTag<E, K>) | E2 | E3, R | R2 | R3> =>
|
|
8183
8197
|
fromChannel(
|
|
8184
8198
|
Channel.catchReason(
|
|
8185
8199
|
toChannel(self),
|
|
8186
8200
|
errorTag,
|
|
8187
8201
|
reasonTag,
|
|
8188
|
-
(reason) => f(reason).channel,
|
|
8189
|
-
orElse && ((reason) => orElse(reason).channel)
|
|
8202
|
+
(reason, error) => f(reason, error).channel,
|
|
8203
|
+
orElse && ((reason, error) => orElse(reason, error).channel)
|
|
8190
8204
|
)
|
|
8191
8205
|
) as any
|
|
8192
8206
|
)
|
|
@@ -8279,7 +8293,8 @@ export const catchReasons: {
|
|
|
8279
8293
|
E,
|
|
8280
8294
|
Cases extends {
|
|
8281
8295
|
[RK in ReasonTags<ExtractTag<NoInfer<E>, K>>]+?: (
|
|
8282
|
-
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK
|
|
8296
|
+
reason: ExtractReason<ExtractTag<NoInfer<E>, K>, RK>,
|
|
8297
|
+
error: NarrowReason<ExtractTag<NoInfer<E>, K>, RK>
|
|
8283
8298
|
) => Stream<any, any, any>
|
|
8284
8299
|
},
|
|
8285
8300
|
A2 = unassigned,
|
|
@@ -8289,7 +8304,10 @@ export const catchReasons: {
|
|
|
8289
8304
|
errorTag: K,
|
|
8290
8305
|
cases: Cases,
|
|
8291
8306
|
orElse?:
|
|
8292
|
-
| ((
|
|
8307
|
+
| ((
|
|
8308
|
+
reason: ExcludeReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>,
|
|
8309
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>
|
|
8310
|
+
) => Stream<A2, E2, R2>)
|
|
8293
8311
|
| undefined
|
|
8294
8312
|
): <A, R>(self: Stream<A, E, R>) => Stream<
|
|
8295
8313
|
| A
|
|
@@ -8356,7 +8374,8 @@ export const catchReasons: {
|
|
|
8356
8374
|
K extends Tags<E>,
|
|
8357
8375
|
Cases extends {
|
|
8358
8376
|
[RK in ReasonTags<ExtractTag<E, K>>]+?: (
|
|
8359
|
-
reason: ExtractReason<ExtractTag<E, K>, RK
|
|
8377
|
+
reason: ExtractReason<ExtractTag<E, K>, RK>,
|
|
8378
|
+
error: NarrowReason<ExtractTag<E, K>, RK>
|
|
8360
8379
|
) => Stream<any, any, any>
|
|
8361
8380
|
},
|
|
8362
8381
|
A2 = unassigned,
|
|
@@ -8367,7 +8386,10 @@ export const catchReasons: {
|
|
|
8367
8386
|
errorTag: K,
|
|
8368
8387
|
cases: Cases,
|
|
8369
8388
|
orElse?:
|
|
8370
|
-
| ((
|
|
8389
|
+
| ((
|
|
8390
|
+
reason: ExcludeReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>,
|
|
8391
|
+
error: OmitReason<ExtractTag<NoInfer<E>, K>, Extract<keyof Cases, string>>
|
|
8392
|
+
) => Stream<A2, E2, R2>)
|
|
8371
8393
|
| undefined
|
|
8372
8394
|
): Stream<
|
|
8373
8395
|
| A
|
|
@@ -8387,12 +8409,12 @@ export const catchReasons: {
|
|
|
8387
8409
|
}[keyof Cases]
|
|
8388
8410
|
>
|
|
8389
8411
|
} = dual((args) => isStream(args[0]), (self, errorTag, cases, orElse) => {
|
|
8390
|
-
const handlers: Record<string, (reason: any) => Channel.Channel<any, any, any, any, any, any, any>> = {}
|
|
8412
|
+
const handlers: Record<string, (reason: any, error: any) => Channel.Channel<any, any, any, any, any, any, any>> = {}
|
|
8391
8413
|
for (const key of Object.keys(cases)) {
|
|
8392
8414
|
const handler = (cases as any)[key]
|
|
8393
|
-
handlers[key] = (reason) => handler(reason).channel
|
|
8415
|
+
handlers[key] = (reason, error) => handler(reason, error).channel
|
|
8394
8416
|
}
|
|
8395
|
-
const orElseHandler = orElse && ((reason: any) => orElse(reason).channel)
|
|
8417
|
+
const orElseHandler = orElse && ((reason: any, error: any) => orElse(reason, error).channel)
|
|
8396
8418
|
return fromChannel(
|
|
8397
8419
|
Channel.catchReasons(self.channel, errorTag as any, handlers as any, orElseHandler as any) as Channel.Channel<
|
|
8398
8420
|
Arr.NonEmptyReadonlyArray<any>,
|
|
@@ -13638,12 +13660,15 @@ export const aggregateWithin: {
|
|
|
13638
13660
|
* @category Aggregation
|
|
13639
13661
|
*/
|
|
13640
13662
|
B>()
|
|
13663
|
+
let leftover: Arr.NonEmptyReadonlyArray<A2> | undefined
|
|
13641
13664
|
const step = yield* Schedule.toStepWithSleep(schedule)
|
|
13642
|
-
const stepToBuffer = Effect.suspend(()
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13646
|
-
|
|
13665
|
+
const stepToBuffer = Effect.suspend(function loop(): Pull.Pull<never, E3, void, R3> {
|
|
13666
|
+
return step(lastOutput).pipe(
|
|
13667
|
+
Effect.flatMap(() => !hadChunk && leftover === undefined ? loop() : Queue.offer(buffer, scheduleStep)),
|
|
13668
|
+
Effect.flatMap(() => Effect.never),
|
|
13669
|
+
Pull.catchDone(() => Cause.done())
|
|
13670
|
+
)
|
|
13671
|
+
})
|
|
13647
13672
|
|
|
13648
13673
|
// buffer -> sink
|
|
13649
13674
|
const pullFromBuffer: Pull.Pull<
|
|
@@ -13653,7 +13678,6 @@ export const aggregateWithin: {
|
|
|
13653
13678
|
Effect.flatMap((arr) => arr === scheduleStep ? Cause.done() : Effect.succeed(arr))
|
|
13654
13679
|
)
|
|
13655
13680
|
|
|
13656
|
-
let leftover: Arr.NonEmptyReadonlyArray<A2> | undefined
|
|
13657
13681
|
const sinkUpstream = Effect.suspend((): Pull.Pull<Arr.NonEmptyReadonlyArray<A | A2>, E> => {
|
|
13658
13682
|
if (leftover !== undefined) {
|
|
13659
13683
|
const chunk = leftover
|
|
@@ -13665,7 +13689,7 @@ export const aggregateWithin: {
|
|
|
13665
13689
|
return pullFromBuffer
|
|
13666
13690
|
})
|
|
13667
13691
|
const catchSinkHalt = Effect.flatMap(([value, leftover_]: Sink.End<B, A2>) => {
|
|
13668
|
-
// ignore the last output if the
|
|
13692
|
+
// ignore the last output if the upstream only pulled a halt
|
|
13669
13693
|
if (!hadChunk && buffer.state._tag === "Done") return Cause.done()
|
|
13670
13694
|
lastOutput = Option.some(value)
|
|
13671
13695
|
leftover = leftover_
|
package/src/Types.ts
CHANGED
|
@@ -927,6 +927,72 @@ export type ExtractReason<E, K extends string> = E extends { readonly reason: in
|
|
|
927
927
|
: never
|
|
928
928
|
: never
|
|
929
929
|
|
|
930
|
+
/**
|
|
931
|
+
* Narrows a specific reason variant by its `_tag` from an error's `reason`
|
|
932
|
+
* field.
|
|
933
|
+
*
|
|
934
|
+
* - Use to narrow down to a single reason variant from a nested error type.
|
|
935
|
+
* - Returns `never` if `E` has no matching reason variant.
|
|
936
|
+
*
|
|
937
|
+
* **Example** (Narrowing a reason variant)
|
|
938
|
+
*
|
|
939
|
+
* ```ts
|
|
940
|
+
* import type { Types } from "effect"
|
|
941
|
+
*
|
|
942
|
+
* type RateLimitError = { readonly _tag: "RateLimitError"; readonly retryAfter: number }
|
|
943
|
+
* type QuotaError = { readonly _tag: "QuotaError"; readonly limit: number }
|
|
944
|
+
* type ApiError = { readonly _tag: "ApiError"; readonly reason: RateLimitError | QuotaError }
|
|
945
|
+
*
|
|
946
|
+
* type Result = Types.NarrowReason<ApiError, "RateLimitError">
|
|
947
|
+
* // ApiError & { readonly reason: { readonly _tag: "RateLimitError"; readonly retryAfter: number } }
|
|
948
|
+
* ```
|
|
949
|
+
*
|
|
950
|
+
* @see {@link ExcludeReason}
|
|
951
|
+
* @see {@link ReasonOf}
|
|
952
|
+
* @see {@link ReasonTags}
|
|
953
|
+
*
|
|
954
|
+
* @since 4.0.0
|
|
955
|
+
* @category types
|
|
956
|
+
*/
|
|
957
|
+
export type NarrowReason<E, K extends string> = E extends { readonly reason: infer R }
|
|
958
|
+
? R extends { readonly _tag: infer T } ? K extends T ? E & { readonly reason: R } : never
|
|
959
|
+
: never
|
|
960
|
+
: never
|
|
961
|
+
|
|
962
|
+
/**
|
|
963
|
+
* Narrows an error's `reason` field to exclude a specific reason variant by
|
|
964
|
+
* its `_tag`.
|
|
965
|
+
*
|
|
966
|
+
* - Use to narrow the error to only the remaining reason variants after
|
|
967
|
+
* excluding the matched one.
|
|
968
|
+
* - Returns `never` if `E` has no `reason` field or no remaining variants.
|
|
969
|
+
*
|
|
970
|
+
* **Example** (Omitting a reason variant)
|
|
971
|
+
*
|
|
972
|
+
* ```ts
|
|
973
|
+
* import type { Types } from "effect"
|
|
974
|
+
*
|
|
975
|
+
* type RateLimitError = { readonly _tag: "RateLimitError"; readonly retryAfter: number }
|
|
976
|
+
* type QuotaError = { readonly _tag: "QuotaError"; readonly limit: number }
|
|
977
|
+
* type ApiError = { readonly _tag: "ApiError"; readonly reason: RateLimitError | QuotaError }
|
|
978
|
+
*
|
|
979
|
+
* type Result = Types.OmitReason<ApiError, "RateLimitError">
|
|
980
|
+
* // ApiError & { readonly reason: { readonly _tag: "QuotaError"; readonly limit: number } }
|
|
981
|
+
* ```
|
|
982
|
+
*
|
|
983
|
+
* @see {@link NarrowReason}
|
|
984
|
+
* @see {@link ExcludeReason}
|
|
985
|
+
* @see {@link ReasonOf}
|
|
986
|
+
* @see {@link ReasonTags}
|
|
987
|
+
*
|
|
988
|
+
* @since 4.0.0
|
|
989
|
+
* @category types
|
|
990
|
+
*/
|
|
991
|
+
export type OmitReason<E, K extends string> = E extends { readonly reason: infer R }
|
|
992
|
+
? R extends { readonly _tag: infer T } ? K extends T ? never : E & { readonly reason: R }
|
|
993
|
+
: never
|
|
994
|
+
: never
|
|
995
|
+
|
|
930
996
|
/**
|
|
931
997
|
* Excludes a specific reason variant by its `_tag` from an error's `reason`
|
|
932
998
|
* field.
|