effect 4.0.0-beta.20 → 4.0.0-beta.22
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/Array.d.ts +8 -9
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js.map +1 -1
- package/dist/Chunk.d.ts +4 -4
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js.map +1 -1
- package/dist/Duration.d.ts +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +1 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +92 -1
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +30 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Filter.d.ts +4 -4
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js.map +1 -1
- package/dist/HashMap.d.ts +3 -3
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +4 -5
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js.map +1 -1
- package/dist/Record.d.ts +4 -5
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js.map +1 -1
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -1
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +4 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/SchemaAST.js +6 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/Stream.d.ts +7 -1
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +6 -2
- package/dist/Stream.js.map +1 -1
- package/dist/Trie.d.ts +3 -3
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js.map +1 -1
- package/dist/TxHashMap.d.ts +3 -3
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxPubSub.d.ts +4 -4
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/internal/effect.js +48 -38
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/trie.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +2 -2
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +35 -42
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpServer.js +2 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +1 -1
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +2 -2
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +2 -2
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.js +2 -2
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +55 -0
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +37 -0
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +5 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +5 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +15 -13
- package/src/Chunk.ts +6 -6
- package/src/Duration.ts +2 -2
- package/src/Effect.ts +102 -1
- package/src/Filter.ts +4 -5
- package/src/HashMap.ts +3 -3
- package/src/Iterable.ts +6 -7
- package/src/Record.ts +6 -7
- package/src/Runtime.ts +7 -1
- package/src/Schedule.ts +4 -1
- package/src/SchemaAST.ts +6 -6
- package/src/Stream.ts +13 -4
- package/src/Trie.ts +3 -3
- package/src/TxHashMap.ts +4 -4
- package/src/TxPubSub.ts +4 -4
- package/src/internal/effect.ts +107 -49
- package/src/internal/hashMap.ts +3 -4
- package/src/internal/trie.ts +3 -4
- package/src/unstable/ai/Chat.ts +36 -51
- package/src/unstable/ai/LanguageModel.ts +0 -1
- package/src/unstable/ai/McpServer.ts +2 -1
- package/src/unstable/ai/Tool.ts +1 -1
- package/src/unstable/http/HttpEffect.ts +2 -2
- package/src/unstable/http/HttpMiddleware.ts +3 -3
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/internal/preResponseHandler.ts +3 -3
- package/src/unstable/httpapi/HttpApiClient.ts +82 -1
- package/src/unstable/schema/VariantSchema.ts +3 -3
- package/src/unstable/workflow/Workflow.ts +5 -1
- package/src/unstable/workflow/WorkflowEngine.ts +5 -1
|
@@ -153,10 +153,14 @@ export const makeUnsafe = options => WorkflowEngine.of({
|
|
|
153
153
|
});
|
|
154
154
|
const defaultRetrySchedule = /*#__PURE__*/Schedule.exponential(200, 1.5).pipe(/*#__PURE__*/Schedule.either(/*#__PURE__*/Schedule.spaced(30000)));
|
|
155
155
|
/**
|
|
156
|
+
* A in-memory implementation of the WorkflowEngine. This is useful for testing
|
|
157
|
+
* and local development, but is not suitable for production use as it does not
|
|
158
|
+
* provide durability guarantees.
|
|
159
|
+
*
|
|
156
160
|
* @since 4.0.0
|
|
157
161
|
* @category Layers
|
|
158
162
|
*/
|
|
159
|
-
export const
|
|
163
|
+
export const layerMemory = /*#__PURE__*/Layer.effect(WorkflowEngine)(/*#__PURE__*/Effect.gen(function* () {
|
|
160
164
|
const scope = yield* Effect.scope;
|
|
161
165
|
const workflows = new Map();
|
|
162
166
|
const executions = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Fiber","FiberMap","Latch","Layer","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","layer","effect","gen","workflows","Map","executions","activities","state","get","fiber","pollUnsafe","entry","onExit","withFiber","interruptible","intoResult","provideService","engine","tap","forkIn","deferredResults","clocks","make","set","fail","join","_workflow","activityId","activityInstance","executeEncoded","succeed","id","has","delay","duration","onlyIfMissing","asVoid","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Fiber","FiberMap","Latch","Layer","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","layerMemory","effect","gen","workflows","Map","executions","activities","state","get","fiber","pollUnsafe","entry","onExit","withFiber","interruptible","intoResult","provideService","engine","tap","forkIn","deferredResults","clocks","make","set","fail","join","_workflow","activityId","activityInstance","executeEncoded","succeed","id","has","delay","duration","onlyIfMissing","asVoid","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Array.ts
CHANGED
|
@@ -85,7 +85,6 @@
|
|
|
85
85
|
*/
|
|
86
86
|
import * as Equal from "./Equal.ts"
|
|
87
87
|
import * as Equivalence from "./Equivalence.ts"
|
|
88
|
-
import type * as Filter from "./Filter.ts"
|
|
89
88
|
import type { LazyArg } from "./Function.ts"
|
|
90
89
|
import { dual, identity } from "./Function.ts"
|
|
91
90
|
import type { TypeLambda } from "./HKT.ts"
|
|
@@ -2144,7 +2143,7 @@ export const takeWhileFilter: {
|
|
|
2144
2143
|
* @category getters
|
|
2145
2144
|
* @since 4.0.0
|
|
2146
2145
|
*/
|
|
2147
|
-
<A, B, X>(f:
|
|
2146
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<B>
|
|
2148
2147
|
/**
|
|
2149
2148
|
* Takes elements from the start while a `Filter` succeeds, collecting transformed values.
|
|
2150
2149
|
*
|
|
@@ -2154,8 +2153,11 @@ export const takeWhileFilter: {
|
|
|
2154
2153
|
* @category getters
|
|
2155
2154
|
* @since 4.0.0
|
|
2156
2155
|
*/
|
|
2157
|
-
<A, B, X>(
|
|
2158
|
-
|
|
2156
|
+
<A, B, X>(
|
|
2157
|
+
self: Iterable<A>,
|
|
2158
|
+
f: (input: NoInfer<A>, i: number) => Result.Result<B, X>
|
|
2159
|
+
): Array<B>
|
|
2160
|
+
} = dual(2, <A, B, X>(self: Iterable<A>, f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): Array<B> => {
|
|
2159
2161
|
let i = 0
|
|
2160
2162
|
const out: Array<B> = []
|
|
2161
2163
|
for (const a of self) {
|
|
@@ -2535,7 +2537,7 @@ export const dropWhileFilter: {
|
|
|
2535
2537
|
* @category getters
|
|
2536
2538
|
* @since 4.0.0
|
|
2537
2539
|
*/
|
|
2538
|
-
<A, B, X>(f:
|
|
2540
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<A>
|
|
2539
2541
|
/**
|
|
2540
2542
|
* Drops elements from the start while a `Filter` succeeds.
|
|
2541
2543
|
*
|
|
@@ -2545,10 +2547,10 @@ export const dropWhileFilter: {
|
|
|
2545
2547
|
* @category getters
|
|
2546
2548
|
* @since 4.0.0
|
|
2547
2549
|
*/
|
|
2548
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
2550
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<A>
|
|
2549
2551
|
} = dual(
|
|
2550
2552
|
2,
|
|
2551
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
2553
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<A> => {
|
|
2552
2554
|
const input = fromIterable(self)
|
|
2553
2555
|
let i = 0
|
|
2554
2556
|
while (i < input.length) {
|
|
@@ -6410,7 +6412,7 @@ export const filterMap: {
|
|
|
6410
6412
|
* @category filtering
|
|
6411
6413
|
* @since 4.0.0
|
|
6412
6414
|
*/
|
|
6413
|
-
<A, B, X>(f:
|
|
6415
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<B>
|
|
6414
6416
|
/**
|
|
6415
6417
|
* Keeps transformed values for elements where a `Filter` succeeds.
|
|
6416
6418
|
*
|
|
@@ -6431,8 +6433,8 @@ export const filterMap: {
|
|
|
6431
6433
|
* @category filtering
|
|
6432
6434
|
* @since 4.0.0
|
|
6433
6435
|
*/
|
|
6434
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
6435
|
-
} = dual(2, <A, B, X>(self: Iterable<A>, f:
|
|
6436
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<B>
|
|
6437
|
+
} = dual(2, <A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<B> => {
|
|
6436
6438
|
const as = fromIterable(self)
|
|
6437
6439
|
const out: Array<B> = []
|
|
6438
6440
|
for (let i = 0; i < as.length; i++) {
|
|
@@ -6605,7 +6607,7 @@ export const partition: {
|
|
|
6605
6607
|
* @category filtering
|
|
6606
6608
|
* @since 2.0.0
|
|
6607
6609
|
*/
|
|
6608
|
-
<A, Pass, Fail>(f:
|
|
6610
|
+
<A, Pass, Fail>(f: (input: NoInfer<A>, i: number) => Result.Result<Pass, Fail>): (self: Iterable<A>) => [excluded: Array<Fail>, satisfying: Array<Pass>]
|
|
6609
6611
|
/**
|
|
6610
6612
|
* Splits an iterable using a `Filter` into failures and successes.
|
|
6611
6613
|
*
|
|
@@ -6629,12 +6631,12 @@ export const partition: {
|
|
|
6629
6631
|
* @category filtering
|
|
6630
6632
|
* @since 2.0.0
|
|
6631
6633
|
*/
|
|
6632
|
-
<A, Pass, Fail>(self: Iterable<A>, f:
|
|
6634
|
+
<A, Pass, Fail>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<Pass, Fail>): [excluded: Array<Fail>, satisfying: Array<Pass>]
|
|
6633
6635
|
} = dual(
|
|
6634
6636
|
2,
|
|
6635
6637
|
<A, Pass, Fail>(
|
|
6636
6638
|
self: Iterable<A>,
|
|
6637
|
-
f:
|
|
6639
|
+
f: (input: A, i: number) => Result.Result<Pass, Fail>
|
|
6638
6640
|
): [excluded: Array<Fail>, satisfying: Array<Pass>] => {
|
|
6639
6641
|
const excluded: Array<Fail> = []
|
|
6640
6642
|
const satisfying: Array<Pass> = []
|
package/src/Chunk.ts
CHANGED
|
@@ -1564,7 +1564,7 @@ export const filterMap: {
|
|
|
1564
1564
|
* @since 2.0.0
|
|
1565
1565
|
* @category filtering
|
|
1566
1566
|
*/
|
|
1567
|
-
<A, B, X>(f:
|
|
1567
|
+
<A, B, X>(f: (input: A, i: number) => Result<B, X>): (self: Chunk<A>) => Chunk<B>
|
|
1568
1568
|
/**
|
|
1569
1569
|
* Returns a filtered and mapped subset of the elements.
|
|
1570
1570
|
*
|
|
@@ -1591,10 +1591,10 @@ export const filterMap: {
|
|
|
1591
1591
|
* @since 2.0.0
|
|
1592
1592
|
* @category filtering
|
|
1593
1593
|
*/
|
|
1594
|
-
<A, B, X>(self: Chunk<A>, f:
|
|
1594
|
+
<A, B, X>(self: Chunk<A>, f: (input: A, i: number) => Result<B, X>): Chunk<B>
|
|
1595
1595
|
} = dual(
|
|
1596
1596
|
2,
|
|
1597
|
-
<A, B, X>(self: Chunk<A>, f:
|
|
1597
|
+
<A, B, X>(self: Chunk<A>, f: (input: A, i: number) => Result<B, X>): Chunk<B> => {
|
|
1598
1598
|
const as = RA.fromIterable(self)
|
|
1599
1599
|
const out: Array<B> = []
|
|
1600
1600
|
for (let i = 0; i < as.length; i++) {
|
|
@@ -2821,7 +2821,7 @@ export const partition: {
|
|
|
2821
2821
|
* @category filtering
|
|
2822
2822
|
* @since 2.0.0
|
|
2823
2823
|
*/
|
|
2824
|
-
<A, Pass, Fail>(f:
|
|
2824
|
+
<A, Pass, Fail>(f: (input: NoInfer<A>, i: number) => Result<Pass, Fail>): (self: Chunk<A>) => [excluded: Chunk<Fail>, satisfying: Chunk<Pass>]
|
|
2825
2825
|
/**
|
|
2826
2826
|
* Splits a chunk using a `Filter` into failures and successes.
|
|
2827
2827
|
*
|
|
@@ -2843,12 +2843,12 @@ export const partition: {
|
|
|
2843
2843
|
* @category filtering
|
|
2844
2844
|
* @since 2.0.0
|
|
2845
2845
|
*/
|
|
2846
|
-
<A, Pass, Fail>(self: Chunk<A>, f:
|
|
2846
|
+
<A, Pass, Fail>(self: Chunk<A>, f: (input: A, i: number) => Result<Pass, Fail>): [excluded: Chunk<Fail>, satisfying: Chunk<Pass>]
|
|
2847
2847
|
} = dual(
|
|
2848
2848
|
2,
|
|
2849
2849
|
<A, Pass, Fail>(
|
|
2850
2850
|
self: Chunk<A>,
|
|
2851
|
-
f:
|
|
2851
|
+
f: (input: A, i: number) => Result<Pass, Fail>
|
|
2852
2852
|
): [excluded: Chunk<Fail>, satisfying: Chunk<Pass>] => {
|
|
2853
2853
|
const [excluded, satisfying] = RA.partition(self, f)
|
|
2854
2854
|
return [fromArrayUnsafe(excluded), fromArrayUnsafe(satisfying)]
|
package/src/Duration.ts
CHANGED
|
@@ -611,8 +611,8 @@ export const weeks = (weeks: number): Duration => make(weeks * 604_800_000)
|
|
|
611
611
|
* @since 2.0.0
|
|
612
612
|
* @category getters
|
|
613
613
|
*/
|
|
614
|
-
export const toMillis = (self:
|
|
615
|
-
match(
|
|
614
|
+
export const toMillis = (self: Duration): number =>
|
|
615
|
+
match(self, {
|
|
616
616
|
onMillis: identity,
|
|
617
617
|
onNanos: (nanos) => Number(nanos) / 1_000_000,
|
|
618
618
|
onInfinity: () => Infinity,
|
package/src/Effect.ts
CHANGED
|
@@ -743,7 +743,6 @@ export declare namespace All {
|
|
|
743
743
|
* ```
|
|
744
744
|
*
|
|
745
745
|
* @see {@link forEach} for iterating over elements and applying an effect.
|
|
746
|
-
* @see {@link allWith} for a data-last version of this function.
|
|
747
746
|
*
|
|
748
747
|
* @since 2.0.0
|
|
749
748
|
* @category Collecting
|
|
@@ -1063,6 +1062,108 @@ export const validate: {
|
|
|
1063
1062
|
): Effect<void, Arr.NonEmptyArray<E>, R>
|
|
1064
1063
|
} = internal.validate
|
|
1065
1064
|
|
|
1065
|
+
/**
|
|
1066
|
+
* Returns the first element that satisfies an effectful predicate.
|
|
1067
|
+
*
|
|
1068
|
+
* The predicate receives the element and its index. Evaluation short-circuits
|
|
1069
|
+
* as soon as an element matches.
|
|
1070
|
+
*
|
|
1071
|
+
* @example
|
|
1072
|
+
* ```ts
|
|
1073
|
+
* import { Effect } from "effect"
|
|
1074
|
+
*
|
|
1075
|
+
* const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
|
|
1076
|
+
*
|
|
1077
|
+
* Effect.runPromise(program).then(console.log)
|
|
1078
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 }
|
|
1079
|
+
* ```
|
|
1080
|
+
*
|
|
1081
|
+
* @since 2.0.0
|
|
1082
|
+
* @category Collecting
|
|
1083
|
+
*/
|
|
1084
|
+
export const findFirst: {
|
|
1085
|
+
/**
|
|
1086
|
+
* Returns the first element that satisfies an effectful predicate.
|
|
1087
|
+
*
|
|
1088
|
+
* The predicate receives the element and its index. Evaluation short-circuits
|
|
1089
|
+
* as soon as an element matches.
|
|
1090
|
+
*
|
|
1091
|
+
* @example
|
|
1092
|
+
* ```ts
|
|
1093
|
+
* import { Effect } from "effect"
|
|
1094
|
+
*
|
|
1095
|
+
* const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
|
|
1096
|
+
*
|
|
1097
|
+
* Effect.runPromise(program).then(console.log)
|
|
1098
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 }
|
|
1099
|
+
* ```
|
|
1100
|
+
*
|
|
1101
|
+
* @since 2.0.0
|
|
1102
|
+
* @category Collecting
|
|
1103
|
+
*/
|
|
1104
|
+
<A, E, R>(predicate: (a: NoInfer<A>, i: number) => Effect<boolean, E, R>): (elements: Iterable<A>) => Effect<Option<A>, E, R>
|
|
1105
|
+
/**
|
|
1106
|
+
* Returns the first element that satisfies an effectful predicate.
|
|
1107
|
+
*
|
|
1108
|
+
* The predicate receives the element and its index. Evaluation short-circuits
|
|
1109
|
+
* as soon as an element matches.
|
|
1110
|
+
*
|
|
1111
|
+
* @example
|
|
1112
|
+
* ```ts
|
|
1113
|
+
* import { Effect } from "effect"
|
|
1114
|
+
*
|
|
1115
|
+
* const program = Effect.findFirst([1, 2, 3, 4], (n) => Effect.succeed(n > 2))
|
|
1116
|
+
*
|
|
1117
|
+
* Effect.runPromise(program).then(console.log)
|
|
1118
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 }
|
|
1119
|
+
* ```
|
|
1120
|
+
*
|
|
1121
|
+
* @since 2.0.0
|
|
1122
|
+
* @category Collecting
|
|
1123
|
+
*/
|
|
1124
|
+
<A, E, R>(
|
|
1125
|
+
elements: Iterable<A>,
|
|
1126
|
+
predicate: (a: NoInfer<A>, i: number) => Effect<boolean, E, R>
|
|
1127
|
+
): Effect<Option<A>, E, R>
|
|
1128
|
+
} = internal.findFirst
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Returns the first value that passes an effectful `FilterEffect`.
|
|
1132
|
+
*
|
|
1133
|
+
* The filter receives the element and index. Evaluation short-circuits on the
|
|
1134
|
+
* first `Result.succeed` and returns the transformed value in `Option.some`.
|
|
1135
|
+
*
|
|
1136
|
+
* @since 4.0.0
|
|
1137
|
+
* @category Collecting
|
|
1138
|
+
*/
|
|
1139
|
+
export const findFirstFilter: {
|
|
1140
|
+
/**
|
|
1141
|
+
* Returns the first value that passes an effectful `FilterEffect`.
|
|
1142
|
+
*
|
|
1143
|
+
* The filter receives the element and index. Evaluation short-circuits on the
|
|
1144
|
+
* first `Result.succeed` and returns the transformed value in `Option.some`.
|
|
1145
|
+
*
|
|
1146
|
+
* @since 4.0.0
|
|
1147
|
+
* @category Collecting
|
|
1148
|
+
*/
|
|
1149
|
+
<A, B, X, E, R>(
|
|
1150
|
+
filter: (input: NoInfer<A>, i: number) => Effect<Result.Result<B, X>, E, R>
|
|
1151
|
+
): (elements: Iterable<A>) => Effect<Option<B>, E, R>
|
|
1152
|
+
/**
|
|
1153
|
+
* Returns the first value that passes an effectful `FilterEffect`.
|
|
1154
|
+
*
|
|
1155
|
+
* The filter receives the element and index. Evaluation short-circuits on the
|
|
1156
|
+
* first `Result.succeed` and returns the transformed value in `Option.some`.
|
|
1157
|
+
*
|
|
1158
|
+
* @since 4.0.0
|
|
1159
|
+
* @category Collecting
|
|
1160
|
+
*/
|
|
1161
|
+
<A, B, X, E, R>(
|
|
1162
|
+
elements: Iterable<A>,
|
|
1163
|
+
filter: (input: NoInfer<A>, i: number) => Effect<Result.Result<B, X>, E, R>
|
|
1164
|
+
): Effect<Option<B>, E, R>
|
|
1165
|
+
} = internal.findFirstFilter
|
|
1166
|
+
|
|
1066
1167
|
/**
|
|
1067
1168
|
* Executes an effectful operation for each element in an `Iterable`.
|
|
1068
1169
|
*
|
package/src/Filter.ts
CHANGED
|
@@ -29,8 +29,8 @@ import type { EqualsWith, ExcludeTag, ExtractReason, ExtractTag, ReasonTags, Tag
|
|
|
29
29
|
* @since 4.0.0
|
|
30
30
|
* @category Models
|
|
31
31
|
*/
|
|
32
|
-
export interface Filter<in Input, out Pass = Input, out Fail = Input
|
|
33
|
-
(input: Input
|
|
32
|
+
export interface Filter<in Input, out Pass = Input, out Fail = Input> {
|
|
33
|
+
(input: Input): Result.Result<Pass, Fail>
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/**
|
|
@@ -68,10 +68,9 @@ export interface FilterEffect<
|
|
|
68
68
|
out Pass,
|
|
69
69
|
out Fail,
|
|
70
70
|
out E = never,
|
|
71
|
-
out R = never
|
|
72
|
-
in Args extends Array<any> = []
|
|
71
|
+
out R = never
|
|
73
72
|
> {
|
|
74
|
-
(input: Input
|
|
73
|
+
(input: Input): Effect<Result.Result<Pass, Fail>, E, R>
|
|
75
74
|
}
|
|
76
75
|
|
|
77
76
|
// -------------------------------------------------------------------------------------
|
package/src/HashMap.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import type { Equal } from "./Equal.ts"
|
|
6
|
-
import type * as Filter from "./Filter.ts"
|
|
7
6
|
import type { Inspectable } from "./Inspectable.ts"
|
|
8
7
|
import * as internal from "./internal/hashMap.ts"
|
|
9
8
|
import type { Option } from "./Option.ts"
|
|
10
9
|
import type { Pipeable } from "./Pipeable.ts"
|
|
10
|
+
import type { Result } from "./Result.ts"
|
|
11
11
|
import type { NoInfer } from "./Types.ts"
|
|
12
12
|
|
|
13
13
|
const TypeId = internal.HashMapTypeId
|
|
@@ -2058,7 +2058,7 @@ export const filterMap: {
|
|
|
2058
2058
|
* @since 2.0.0
|
|
2059
2059
|
* @category filtering
|
|
2060
2060
|
*/
|
|
2061
|
-
<A, K, B, X>(f:
|
|
2061
|
+
<A, K, B, X>(f: (input: A, key: K) => Result<B, X>): (self: HashMap<K, A>) => HashMap<K, B>
|
|
2062
2062
|
/**
|
|
2063
2063
|
* Maps over the entries of the `HashMap` using the specified filter and keeps
|
|
2064
2064
|
* only successful results.
|
|
@@ -2082,7 +2082,7 @@ export const filterMap: {
|
|
|
2082
2082
|
* @since 2.0.0
|
|
2083
2083
|
* @category filtering
|
|
2084
2084
|
*/
|
|
2085
|
-
<K, A, B, X>(self: HashMap<K, A>, f:
|
|
2085
|
+
<K, A, B, X>(self: HashMap<K, A>, f: (input: A, key: K) => Result<B, X>): HashMap<K, B>
|
|
2086
2086
|
} = internal.filterMap
|
|
2087
2087
|
|
|
2088
2088
|
/**
|
package/src/Iterable.ts
CHANGED
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
|
|
33
33
|
import type { NonEmptyArray } from "./Array.ts"
|
|
34
34
|
import * as Equal from "./Equal.ts"
|
|
35
|
-
import type * as Filter from "./Filter.ts"
|
|
36
35
|
import { dual } from "./Function.ts"
|
|
37
36
|
import type { Option } from "./Option.ts"
|
|
38
37
|
import * as O from "./Option.ts"
|
|
@@ -3205,7 +3204,7 @@ export const filterMap: {
|
|
|
3205
3204
|
* @category filtering
|
|
3206
3205
|
* @since 2.0.0
|
|
3207
3206
|
*/
|
|
3208
|
-
<A, B, X>(f:
|
|
3207
|
+
<A, B, X>(f: (input: A, i: number) => Result<B, X>): (self: Iterable<A>) => Iterable<B>
|
|
3209
3208
|
/**
|
|
3210
3209
|
* Transforms elements of an iterable using a function that returns a `Result`, keeping only successful values.
|
|
3211
3210
|
*
|
|
@@ -3251,10 +3250,10 @@ export const filterMap: {
|
|
|
3251
3250
|
* @category filtering
|
|
3252
3251
|
* @since 2.0.0
|
|
3253
3252
|
*/
|
|
3254
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
3253
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result<B, X>): Iterable<B>
|
|
3255
3254
|
} = dual(
|
|
3256
3255
|
2,
|
|
3257
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
3256
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result<B, X>): Iterable<B> => ({
|
|
3258
3257
|
[Symbol.iterator]() {
|
|
3259
3258
|
const iterator = self[Symbol.iterator]()
|
|
3260
3259
|
let i = 0
|
|
@@ -3348,7 +3347,7 @@ export const filterMapWhile: {
|
|
|
3348
3347
|
* @category filtering
|
|
3349
3348
|
* @since 2.0.0
|
|
3350
3349
|
*/
|
|
3351
|
-
<A, B, X>(f:
|
|
3350
|
+
<A, B, X>(f: (input: A, i: number) => Result<B, X>): (self: Iterable<A>) => Iterable<B>
|
|
3352
3351
|
/**
|
|
3353
3352
|
* Transforms all elements of the `Iterable` for as long as the specified function succeeds.
|
|
3354
3353
|
*
|
|
@@ -3385,8 +3384,8 @@ export const filterMapWhile: {
|
|
|
3385
3384
|
* @category filtering
|
|
3386
3385
|
* @since 2.0.0
|
|
3387
3386
|
*/
|
|
3388
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
3389
|
-
} = dual(2, <A, B, X>(self: Iterable<A>, f:
|
|
3387
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result<B, X>): Iterable<B>
|
|
3388
|
+
} = dual(2, <A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result<B, X>) => ({
|
|
3390
3389
|
[Symbol.iterator]() {
|
|
3391
3390
|
const iterator = self[Symbol.iterator]()
|
|
3392
3391
|
let i = 0
|
package/src/Record.ts
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
import type * as Combiner from "./Combiner.ts"
|
|
8
8
|
import * as Equal from "./Equal.ts"
|
|
9
9
|
import type { Equivalence } from "./Equivalence.ts"
|
|
10
|
-
import type * as Filter from "./Filter.ts"
|
|
11
10
|
import { dual, identity } from "./Function.ts"
|
|
12
11
|
import type { TypeLambda } from "./HKT.ts"
|
|
13
12
|
import * as Option from "./Option.ts"
|
|
@@ -1037,7 +1036,7 @@ export const filterMap: {
|
|
|
1037
1036
|
* @category filtering
|
|
1038
1037
|
* @since 2.0.0
|
|
1039
1038
|
*/
|
|
1040
|
-
<K extends string, A, B, X>(f:
|
|
1039
|
+
<K extends string, A, B, X>(f: (input: A, key: K) => Result<B, X>): (self: ReadonlyRecord<K, A>) => Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1041
1040
|
/**
|
|
1042
1041
|
* Transforms a record by applying the function `f` to each key and value in the original record.
|
|
1043
1042
|
* If the function succeeds, the key-value pair is included in the output record.
|
|
@@ -1055,12 +1054,12 @@ export const filterMap: {
|
|
|
1055
1054
|
* @category filtering
|
|
1056
1055
|
* @since 2.0.0
|
|
1057
1056
|
*/
|
|
1058
|
-
<K extends string, A, B, X>(self: ReadonlyRecord<K, A>, f:
|
|
1057
|
+
<K extends string, A, B, X>(self: ReadonlyRecord<K, A>, f: (input: A, key: K) => Result<B, X>): Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1059
1058
|
} = dual(
|
|
1060
1059
|
2,
|
|
1061
1060
|
<K extends string, A, B, X>(
|
|
1062
1061
|
self: ReadonlyRecord<K, A>,
|
|
1063
|
-
f:
|
|
1062
|
+
f: (input: A, key: K) => Result<B, X>
|
|
1064
1063
|
): Record<ReadonlyRecord.NonLiteralKey<K>, B> => {
|
|
1065
1064
|
const out: Record<string, B> = empty()
|
|
1066
1065
|
for (const key of keys(self)) {
|
|
@@ -1304,7 +1303,7 @@ export const partition: {
|
|
|
1304
1303
|
* @category filtering
|
|
1305
1304
|
* @since 2.0.0
|
|
1306
1305
|
*/
|
|
1307
|
-
<K extends string, A, B, C>(f:
|
|
1306
|
+
<K extends string, A, B, C>(f: (input: A, key: K) => Result<C, B>): (
|
|
1308
1307
|
self: ReadonlyRecord<K, A>
|
|
1309
1308
|
) => [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>]
|
|
1310
1309
|
/**
|
|
@@ -1323,12 +1322,12 @@ export const partition: {
|
|
|
1323
1322
|
* @category filtering
|
|
1324
1323
|
* @since 2.0.0
|
|
1325
1324
|
*/
|
|
1326
|
-
<K extends string, A, B, C>(self: ReadonlyRecord<K, A>, f:
|
|
1325
|
+
<K extends string, A, B, C>(self: ReadonlyRecord<K, A>, f: (input: A, key: K) => Result<C, B>): [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>]
|
|
1327
1326
|
} = dual(
|
|
1328
1327
|
2,
|
|
1329
1328
|
<K extends string, A, B, C>(
|
|
1330
1329
|
self: ReadonlyRecord<K, A>,
|
|
1331
|
-
f:
|
|
1330
|
+
f: (input: A, key: K) => Result<C, B>
|
|
1332
1331
|
): [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>] => {
|
|
1333
1332
|
const left: Record<string, B> = empty()
|
|
1334
1333
|
const right: Record<string, C> = empty()
|
package/src/Runtime.ts
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
import * as Cause from "effect/Cause"
|
|
30
30
|
import * as Effect from "effect/Effect"
|
|
31
31
|
import * as Exit from "effect/Exit"
|
|
32
|
-
import { dual } from "effect/Function"
|
|
32
|
+
import { constVoid, dual } from "effect/Function"
|
|
33
33
|
import type * as Fiber from "./Fiber.ts"
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -212,6 +212,12 @@ export const makeRunMain = (
|
|
|
212
212
|
return Effect.logError(cause)
|
|
213
213
|
})
|
|
214
214
|
)
|
|
215
|
+
try {
|
|
216
|
+
const keepAlive = globalThis.setInterval(constVoid, 2_147_483_647)
|
|
217
|
+
fiber.addObserver(() => {
|
|
218
|
+
clearInterval(keepAlive)
|
|
219
|
+
})
|
|
220
|
+
} catch {}
|
|
215
221
|
const teardown = options?.teardown ?? defaultTeardown
|
|
216
222
|
return f({ fiber, teardown })
|
|
217
223
|
})
|
package/src/Schedule.ts
CHANGED
|
@@ -4828,7 +4828,10 @@ export const reduce: {
|
|
|
4828
4828
|
Pull.matchEffect(step(now, input), {
|
|
4829
4829
|
onSuccess([output, delay]) {
|
|
4830
4830
|
const next = combine(state, output)
|
|
4831
|
-
if (!isEffect(next))
|
|
4831
|
+
if (!isEffect(next)) {
|
|
4832
|
+
state = next
|
|
4833
|
+
return effect.succeed([next, delay] as [State, Duration.Duration])
|
|
4834
|
+
}
|
|
4832
4835
|
return effect.map(next, (nextState) => {
|
|
4833
4836
|
state = nextState
|
|
4834
4837
|
return [nextState, delay]
|
package/src/SchemaAST.ts
CHANGED
|
@@ -1455,20 +1455,20 @@ export class Arrays extends Base {
|
|
|
1455
1455
|
// handle post rest elements
|
|
1456
1456
|
// ---------------------------------------------
|
|
1457
1457
|
for (let j = 0; j < tail.length; j++) {
|
|
1458
|
-
i
|
|
1459
|
-
if (len <
|
|
1458
|
+
const index = i + j
|
|
1459
|
+
if (len < index) {
|
|
1460
1460
|
continue
|
|
1461
1461
|
} else {
|
|
1462
1462
|
const tailj = tail[j]
|
|
1463
1463
|
const keyAnnotations = tailj.ast.context?.annotations
|
|
1464
|
-
const eff = tailj.parser(Option.some(input[
|
|
1464
|
+
const eff = tailj.parser(Option.some(input[index]), options)
|
|
1465
1465
|
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1466
1466
|
if (exit._tag === "Failure") {
|
|
1467
1467
|
const issueRest = Cause.findError(exit.cause)
|
|
1468
1468
|
if (Result.isFailure(issueRest)) {
|
|
1469
1469
|
return yield* exit
|
|
1470
1470
|
}
|
|
1471
|
-
const issue = new Issue.Pointer([
|
|
1471
|
+
const issue = new Issue.Pointer([index], issueRest.success)
|
|
1472
1472
|
if (errorsAllOption) {
|
|
1473
1473
|
if (issues) issues.push(issue)
|
|
1474
1474
|
else issues = [issue]
|
|
@@ -1476,9 +1476,9 @@ export class Arrays extends Base {
|
|
|
1476
1476
|
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1477
1477
|
}
|
|
1478
1478
|
} else if (exit.value._tag === "Some") {
|
|
1479
|
-
output[
|
|
1479
|
+
output[index] = exit.value.value
|
|
1480
1480
|
} else {
|
|
1481
|
-
const issue = new Issue.Pointer([
|
|
1481
|
+
const issue = new Issue.Pointer([index], new Issue.MissingKey(keyAnnotations))
|
|
1482
1482
|
if (errorsAllOption) {
|
|
1483
1483
|
if (issues) issues.push(issue)
|
|
1484
1484
|
else issues = [issue]
|
package/src/Stream.ts
CHANGED
|
@@ -963,6 +963,10 @@ export const fromIteratorSucceed = <A>(iterator: IterableIterator<A>, maxChunkSi
|
|
|
963
963
|
/**
|
|
964
964
|
* Creates a new `Stream` from an iterable collection of values.
|
|
965
965
|
*
|
|
966
|
+
* **Options**
|
|
967
|
+
*
|
|
968
|
+
* - `chunkSize`: Maximum number of values emitted per chunk.
|
|
969
|
+
*
|
|
966
970
|
* @example
|
|
967
971
|
* ```ts
|
|
968
972
|
* import { Console, Effect, Stream } from "effect"
|
|
@@ -982,10 +986,15 @@ export const fromIteratorSucceed = <A>(iterator: IterableIterator<A>, maxChunkSi
|
|
|
982
986
|
* @since 2.0.0
|
|
983
987
|
* @category Constructors
|
|
984
988
|
*/
|
|
985
|
-
export const fromIterable = <A>(
|
|
986
|
-
|
|
989
|
+
export const fromIterable = <A>(
|
|
990
|
+
iterable: Iterable<A>,
|
|
991
|
+
options?: {
|
|
992
|
+
readonly chunkSize?: number | undefined
|
|
993
|
+
}
|
|
994
|
+
): Stream<A> =>
|
|
995
|
+
Array.isArray(iterable) && options?.chunkSize === undefined
|
|
987
996
|
? fromArray(iterable)
|
|
988
|
-
: fromChannel(Channel.fromIterableArray(iterable))
|
|
997
|
+
: fromChannel(Channel.fromIterableArray(iterable, options?.chunkSize))
|
|
989
998
|
|
|
990
999
|
/**
|
|
991
1000
|
* Creates a stream from an effect producing an iterable of values.
|
|
@@ -16556,7 +16565,7 @@ export const withSpan: {
|
|
|
16556
16565
|
} = function() {
|
|
16557
16566
|
const dataFirst = isStream(arguments[0])
|
|
16558
16567
|
const name = dataFirst ? arguments[1] : arguments[0]
|
|
16559
|
-
const options = addSpanStackTrace(dataFirst ? arguments[
|
|
16568
|
+
const options = addSpanStackTrace(dataFirst ? arguments[2] : arguments[1])
|
|
16560
16569
|
if (dataFirst) {
|
|
16561
16570
|
const self = arguments[0] as Stream<any, any, any>
|
|
16562
16571
|
return fromChannel(Channel.withSpan(self.channel, name, options))
|