@effect/platform 0.37.0 → 0.37.2
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/Transferable.js +70 -2
- package/dist/cjs/Transferable.js.map +1 -1
- package/dist/cjs/Worker.js.map +1 -1
- package/dist/cjs/WorkerRunner.js +11 -1
- package/dist/cjs/WorkerRunner.js.map +1 -1
- package/dist/cjs/internal/worker.js +51 -41
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +35 -15
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/Transferable.d.ts +19 -0
- package/dist/dts/Transferable.d.ts.map +1 -1
- package/dist/dts/Worker.d.ts +5 -4
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/dts/WorkerError.d.ts +2 -2
- package/dist/dts/WorkerError.d.ts.map +1 -1
- package/dist/dts/WorkerRunner.d.ts +22 -8
- package/dist/dts/WorkerRunner.d.ts.map +1 -1
- package/dist/esm/Transferable.js +41 -1
- package/dist/esm/Transferable.js.map +1 -1
- package/dist/esm/Worker.js.map +1 -1
- package/dist/esm/WorkerRunner.js +10 -0
- package/dist/esm/WorkerRunner.js.map +1 -1
- package/dist/esm/internal/worker.js +51 -41
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +32 -14
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +1 -1
- package/src/Transferable.ts +80 -2
- package/src/Worker.ts +6 -5
- package/src/WorkerError.ts +2 -2
- package/src/WorkerRunner.ts +41 -9
- package/src/internal/command.ts +1 -1
- package/src/internal/worker.ts +114 -83
- package/src/internal/workerRunner.ts +76 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transferable.d.ts","sourceRoot":"","sources":["../../src/Transferable.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"Transferable.d.ts","sourceRoot":"","sources":["../../src/Transferable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAG/C;;;GAGG;AACH,eAAO,MAAM,MAAM,eAA8C,CAAA;AAEjE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;CAChE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,MAAO,OAAO,sBAA0E,CAAA;AAEnH;;;GAGG;AACH,eAAO,MAAM,GAAG,MAAO,OAAO,KAAG,cAAc,uBAAuB,CAKrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,CAAC,EACA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,GAClD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAA;IACvE,CAAC,CAAC,EAAE,CAAC,EACH,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,GAClD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAA;CAwBnC,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,wFAwB1B,CAAA"}
|
package/dist/dts/Worker.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type * as Context from "effect/Context";
|
|
|
8
8
|
import type * as Duration from "effect/Duration";
|
|
9
9
|
import type * as Effect from "effect/Effect";
|
|
10
10
|
import type * as Fiber from "effect/Fiber";
|
|
11
|
+
import type { LazyArg } from "effect/Function";
|
|
11
12
|
import type * as Layer from "effect/Layer";
|
|
12
13
|
import type * as Pool from "effect/Pool";
|
|
13
14
|
import type * as Queue from "effect/Queue";
|
|
@@ -63,7 +64,6 @@ export declare const PlatformWorker: Context.Tag<PlatformWorker, PlatformWorker>
|
|
|
63
64
|
*/
|
|
64
65
|
export interface Worker<I, E, O> {
|
|
65
66
|
readonly id: number;
|
|
66
|
-
readonly join: Effect.Effect<never, WorkerError, never>;
|
|
67
67
|
readonly execute: (message: I) => Stream.Stream<never, E | WorkerError, O>;
|
|
68
68
|
readonly executeEffect: (message: I) => Effect.Effect<never, E | WorkerError, O>;
|
|
69
69
|
}
|
|
@@ -78,10 +78,11 @@ export declare namespace Worker {
|
|
|
78
78
|
*/
|
|
79
79
|
interface Options<I, W = unknown> {
|
|
80
80
|
readonly spawn: (id: number) => W;
|
|
81
|
-
readonly encode?: (message: I) => unknown
|
|
81
|
+
readonly encode?: (message: I) => Effect.Effect<never, WorkerError, unknown>;
|
|
82
82
|
readonly transfers?: (message: I) => ReadonlyArray<unknown>;
|
|
83
83
|
readonly permits?: number;
|
|
84
84
|
readonly queue?: WorkerQueue<I>;
|
|
85
|
+
readonly initialMessage?: LazyArg<I>;
|
|
85
86
|
}
|
|
86
87
|
/**
|
|
87
88
|
* @since 1.0.0
|
|
@@ -92,7 +93,7 @@ export declare namespace Worker {
|
|
|
92
93
|
* @since 1.0.0
|
|
93
94
|
* @category models
|
|
94
95
|
*/
|
|
95
|
-
type Response<E, O = unknown> = readonly [id: number, data: 0, O] | readonly [id: number, end: 1] | readonly [id: number, end: 1, O] | readonly [id: number, error: 2, E] | readonly [id: number, defect: 3, unknown];
|
|
96
|
+
type Response<E, O = unknown> = readonly [id: number, data: 0, ReadonlyArray<O>] | readonly [id: number, end: 1] | readonly [id: number, end: 1, ReadonlyArray<O>] | readonly [id: number, error: 2, E] | readonly [id: number, defect: 3, unknown];
|
|
96
97
|
}
|
|
97
98
|
/**
|
|
98
99
|
* @since 1.0.0
|
|
@@ -181,7 +182,6 @@ export declare const makePoolLayer: <W>(managerLayer: Layer.Layer<never, never,
|
|
|
181
182
|
*/
|
|
182
183
|
export interface SerializedWorker<I extends Schema.TaggedRequest.Any> {
|
|
183
184
|
readonly id: number;
|
|
184
|
-
readonly join: Effect.Effect<never, WorkerError, never>;
|
|
185
185
|
readonly execute: <Req extends I>(message: Req) => Req extends Serializable.WithResult<infer _IE, infer E, infer _IA, infer A> ? Stream.Stream<never, E | WorkerError | ParseResult.ParseError, A> : never;
|
|
186
186
|
readonly executeEffect: <Req extends I>(message: Req) => Req extends Serializable.WithResult<infer _IE, infer E, infer _IA, infer A> ? Effect.Effect<never, E | WorkerError | ParseResult.ParseError, A> : never;
|
|
187
187
|
}
|
|
@@ -198,6 +198,7 @@ export declare namespace SerializedWorker {
|
|
|
198
198
|
readonly spawn: (id: number) => W;
|
|
199
199
|
readonly permits?: number;
|
|
200
200
|
readonly queue?: WorkerQueue<I>;
|
|
201
|
+
readonly initialMessage?: LazyArg<I>;
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
204
|
/**
|
package/dist/dts/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,WAAW,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IAC1G,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;CACxD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACrE;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,MAAsC,CAAA;AAEhF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IACrD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CACxG;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAA2B,CAAA;AAElG;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../src/Worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export type WorkerErrorTypeId = typeof WorkerErrorTypeId;
|
|
|
19
19
|
export interface WorkerError extends Data.Case {
|
|
20
20
|
readonly [WorkerErrorTypeId]: WorkerErrorTypeId;
|
|
21
21
|
readonly _tag: "WorkerError";
|
|
22
|
-
readonly reason: "spawn" | "decode" | "send" | "unknown";
|
|
22
|
+
readonly reason: "spawn" | "decode" | "send" | "unknown" | "encode";
|
|
23
23
|
readonly error: unknown;
|
|
24
24
|
readonly stack?: string;
|
|
25
25
|
}
|
|
@@ -27,5 +27,5 @@ export interface WorkerError extends Data.Case {
|
|
|
27
27
|
* @since 1.0.0
|
|
28
28
|
* @category errors
|
|
29
29
|
*/
|
|
30
|
-
export declare const WorkerError: (reason: "spawn" | "decode" | "send" | "unknown", error: unknown, stack?: string) => WorkerError;
|
|
30
|
+
export declare const WorkerError: (reason: "spawn" | "decode" | "send" | "unknown" | "encode", error: unknown, stack?: string) => WorkerError;
|
|
31
31
|
//# sourceMappingURL=WorkerError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerError.d.ts","sourceRoot":"","sources":["../../src/WorkerError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAmC,CAAA;AAE1E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,IAAI;IAC5C,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkerError.d.ts","sourceRoot":"","sources":["../../src/WorkerError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAmC,CAAA;AAE1E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,IAAI;IAC5C,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,EAC1D,KAAK,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,KACX,WAAkC,CAAA"}
|
|
@@ -5,7 +5,7 @@ import type * as Schema from "@effect/schema/Schema";
|
|
|
5
5
|
import type * as Serializable from "@effect/schema/Serializable";
|
|
6
6
|
import type * as Context from "effect/Context";
|
|
7
7
|
import type * as Effect from "effect/Effect";
|
|
8
|
-
import type * as
|
|
8
|
+
import type * as Layer from "effect/Layer";
|
|
9
9
|
import type * as Queue from "effect/Queue";
|
|
10
10
|
import type * as Scope from "effect/Scope";
|
|
11
11
|
import type * as Stream from "effect/Stream";
|
|
@@ -15,7 +15,6 @@ import type { WorkerError } from "./WorkerError.js";
|
|
|
15
15
|
* @category models
|
|
16
16
|
*/
|
|
17
17
|
export interface BackingRunner<I, O> {
|
|
18
|
-
readonly fiber: Fiber.Fiber<WorkerError, never>;
|
|
19
18
|
readonly queue: Queue.Dequeue<I>;
|
|
20
19
|
readonly send: (message: O, transfers?: ReadonlyArray<unknown>) => Effect.Effect<never, never, void>;
|
|
21
20
|
}
|
|
@@ -62,23 +61,38 @@ export declare namespace Runner {
|
|
|
62
61
|
* @since 1.0.0
|
|
63
62
|
* @category models
|
|
64
63
|
*/
|
|
65
|
-
interface Options<O> {
|
|
66
|
-
readonly
|
|
67
|
-
readonly
|
|
64
|
+
interface Options<E, O> {
|
|
65
|
+
readonly encodeOutput?: (message: O) => Effect.Effect<never, WorkerError, unknown>;
|
|
66
|
+
readonly encodeError?: (message: E) => Effect.Effect<never, WorkerError, unknown>;
|
|
67
|
+
readonly transfers?: (message: O | E) => ReadonlyArray<unknown>;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* @since 1.0.0
|
|
72
72
|
* @category constructors
|
|
73
73
|
*/
|
|
74
|
-
export declare const make: <I, R, E, O>(process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>, options?: Runner.Options<O> | undefined) => Effect.Effect<Scope.Scope | R | PlatformRunner, WorkerError,
|
|
74
|
+
export declare const make: <I, R, E, O>(process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>, options?: Runner.Options<E, O> | undefined) => Effect.Effect<Scope.Scope | R | PlatformRunner, WorkerError, void>;
|
|
75
|
+
/**
|
|
76
|
+
* @since 1.0.0
|
|
77
|
+
* @category layers
|
|
78
|
+
*/
|
|
79
|
+
export declare const layer: <I, R, E, O>(process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>, options?: Runner.Options<E, O> | undefined) => Layer.Layer<R | PlatformRunner, WorkerError, never>;
|
|
75
80
|
/**
|
|
76
81
|
* @since 1.0.0
|
|
77
82
|
* @category constructors
|
|
78
83
|
*/
|
|
79
|
-
export declare const makeSerialized: <I, A extends Schema.TaggedRequest.Any, Handlers extends {
|
|
84
|
+
export declare const makeSerialized: <I, A extends Schema.TaggedRequest.Any, const Handlers extends {
|
|
85
|
+
readonly [K in A["_tag"]]: Extract<A, {
|
|
86
|
+
readonly _tag: K;
|
|
87
|
+
}> extends Serializable.SerializableWithResult<infer _IS, infer S, infer _IE, infer E, infer _IO, infer O> ? (_: S) => Stream.Stream<any, E, O> | Effect.Effect<any, E, O> : never;
|
|
88
|
+
}>(schema: Schema.Schema<I, A>, handlers: Handlers) => Effect.Effect<PlatformRunner | Scope.Scope | (ReturnType<Handlers[keyof Handlers]> extends Stream.Stream<infer R, infer _E, infer _A> ? R : never), WorkerError, void>;
|
|
89
|
+
/**
|
|
90
|
+
* @since 1.0.0
|
|
91
|
+
* @category layers
|
|
92
|
+
*/
|
|
93
|
+
export declare const layerSerialized: <I, A extends Schema.TaggedRequest.Any, const Handlers extends {
|
|
80
94
|
readonly [K in A["_tag"]]: Extract<A, {
|
|
81
95
|
readonly _tag: K;
|
|
82
96
|
}> extends Serializable.SerializableWithResult<infer _IS, infer S, infer _IE, infer E, infer _IO, infer O> ? (_: S) => Stream.Stream<any, E, O> | Effect.Effect<any, E, O> : never;
|
|
83
|
-
}>(schema: Schema.Schema<I, A>, handlers: Handlers) =>
|
|
97
|
+
}>(schema: Schema.Schema<I, A>, handlers: Handlers) => Layer.Layer<PlatformRunner | (ReturnType<Handlers[keyof Handlers]> extends Stream.Stream<infer R, infer _E, infer _A> ? R : never), WorkerError, never>;
|
|
84
98
|
//# sourceMappingURL=WorkerRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerRunner.d.ts","sourceRoot":"","sources":["../../src/WorkerRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"WorkerRunner.d.ts","sourceRoot":"","sources":["../../src/WorkerRunner.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Transferable.js
CHANGED
|
@@ -1,19 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as AST from "@effect/schema/AST";
|
|
5
|
+
import * as ParseResult from "@effect/schema/ParseResult";
|
|
6
|
+
import * as Schema from "@effect/schema/Schema";
|
|
7
|
+
import { dual } from "effect/Function";
|
|
4
8
|
/**
|
|
5
9
|
* @since 1.0.0
|
|
6
10
|
* @category symbols
|
|
7
11
|
*/
|
|
8
12
|
export const symbol = /*#__PURE__*/Symbol.for("@effect/platform/Transferable");
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
* @category predicates
|
|
16
|
+
*/
|
|
17
|
+
export const isTransferable = u => typeof u === "object" && u !== null && symbol in u;
|
|
9
18
|
/**
|
|
10
19
|
* @since 1.0.0
|
|
11
20
|
* @category accessors
|
|
12
21
|
*/
|
|
13
22
|
export const get = u => {
|
|
14
|
-
if (
|
|
23
|
+
if (isTransferable(u)) {
|
|
15
24
|
return u[symbol]();
|
|
16
25
|
}
|
|
17
26
|
return [];
|
|
18
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category schema
|
|
31
|
+
*/
|
|
32
|
+
export const schema = /*#__PURE__*/dual(2, (self, f) => Schema.transform(self, schemaFromSelf(Schema.to(self)), input => ({
|
|
33
|
+
...input,
|
|
34
|
+
[symbol]() {
|
|
35
|
+
return f(this);
|
|
36
|
+
}
|
|
37
|
+
}), output => output));
|
|
38
|
+
/**
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
* @category schema
|
|
41
|
+
*/
|
|
42
|
+
export const schemaFromSelf = item => {
|
|
43
|
+
return Schema.declare([item], item, (isDecoding, item) => {
|
|
44
|
+
const parse = isDecoding ? Schema.parse(item) : Schema.encode(item);
|
|
45
|
+
return (u, options, ast) => {
|
|
46
|
+
if (!isTransferable(u)) {
|
|
47
|
+
return ParseResult.fail(ParseResult.type(ast, u));
|
|
48
|
+
}
|
|
49
|
+
const proto = {
|
|
50
|
+
__proto__: Object.getPrototypeOf(u),
|
|
51
|
+
[symbol]: u[symbol]
|
|
52
|
+
};
|
|
53
|
+
return ParseResult.map(parse(u, options), a => Object.setPrototypeOf(a, proto));
|
|
54
|
+
};
|
|
55
|
+
}, {
|
|
56
|
+
[AST.IdentifierAnnotationId]: "Transferable"
|
|
57
|
+
});
|
|
58
|
+
};
|
|
19
59
|
//# sourceMappingURL=Transferable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transferable.js","names":["symbol","Symbol","for","
|
|
1
|
+
{"version":3,"file":"Transferable.js","names":["AST","ParseResult","Schema","dual","symbol","Symbol","for","isTransferable","u","get","schema","self","f","transform","schemaFromSelf","to","input","output","item","declare","isDecoding","parse","encode","options","ast","fail","type","proto","__proto__","Object","getPrototypeOf","map","a","setPrototypeOf","IdentifierAnnotationId"],"sources":["../../src/Transferable.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA,OAAO,KAAKA,GAAG,MAAM,oBAAoB;AACzC,OAAO,KAAKC,WAAW,MAAM,4BAA4B;AACzD,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AAEtC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAUjE;;;;AAIA,OAAO,MAAMC,cAAc,GAAIC,CAAU,IAAwB,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIJ,MAAM,IAAII,CAAC;AAEnH;;;;AAIA,OAAO,MAAMC,GAAG,GAAID,CAAU,IAA4C;EACxE,IAAID,cAAc,CAACC,CAAC,CAAC,EAAE;IACrB,OAAOA,CAAC,CAACJ,MAAM,CAAC,EAAE;EACpB;EACA,OAAO,EAAE;AACX,CAAC;AAED;;;;AAIA,OAAO,MAAMM,MAAM,gBAQfP,IAAI,CAQN,CAAC,EAAE,CACHQ,IAAyB,EACzBC,CAAmD,KAEnDV,MAAM,CAACW,SAAS,CACdF,IAAI,EACJG,cAAc,CAACZ,MAAM,CAACa,EAAE,CAACJ,IAAI,CAAC,CAAC,EAC9BK,KAAK,KACH;EACC,GAAGA,KAAK;EACR,CAACZ,MAAM,IAAC;IACN,OAAOQ,CAAC,CAAC,IAAW,CAAC;EACvB;CACD,CAAqB,EACvBK,MAAM,IAAKA,MAAW,CACxB,CAAC;AAEJ;;;;AAIA,OAAO,MAAMH,cAAc,GACzBI,IAAyB,IAC4B;EACrD,OAAOhB,MAAM,CAACiB,OAAO,CACnB,CAACD,IAAI,CAAC,EACNA,IAAI,EACJ,CAACE,UAAU,EAAEF,IAAI,KAAI;IACnB,MAAMG,KAAK,GAAGD,UAAU,GAAGlB,MAAM,CAACmB,KAAK,CAACH,IAAI,CAAC,GAAGhB,MAAM,CAACoB,MAAM,CAACJ,IAAI,CAAC;IACnE,OAAO,CAACV,CAAC,EAAEe,OAAO,EAAEC,GAAG,KAAI;MACzB,IAAI,CAACjB,cAAc,CAACC,CAAC,CAAC,EAAE;QACtB,OAAOP,WAAW,CAACwB,IAAI,CAACxB,WAAW,CAACyB,IAAI,CAACF,GAAG,EAAEhB,CAAC,CAAC,CAAC;MACnD;MACA,MAAMmB,KAAK,GAAG;QACZC,SAAS,EAAEC,MAAM,CAACC,cAAc,CAACtB,CAAC,CAAC;QACnC,CAACJ,MAAM,GAAGI,CAAC,CAACJ,MAAM;OACnB;MACD,OAAOH,WAAW,CAAC8B,GAAG,CACpBV,KAAK,CAACb,CAAC,EAAEe,OAAO,CAAC,EAChBS,CAAC,IAAKH,MAAM,CAACI,cAAc,CAACD,CAAC,EAAEL,KAAK,CAAC,CACvC;IACH,CAAC;EACH,CAAC,EACD;IAAE,CAAC3B,GAAG,CAACkC,sBAAsB,GAAG;EAAc,CAAE,CACjD;AACH,CAAC"}
|
package/dist/esm/Worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.js","names":["internal","PlatformWorkerTypeId","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"Worker.js","names":["internal","PlatformWorkerTypeId","PlatformWorker","WorkerManagerTypeId","WorkerManager","makeManager","layerManager","makePool","makePoolLayer","makeSerialized","makePoolSerialized","makePoolSerializedLayer"],"sources":["../../src/Worker.ts"],"sourcesContent":[null],"mappings":"AAgBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAyBhD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AA2FlG;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAkBH,QAAQ,CAACG,mBAAmB;AAmB9E;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CJ,QAAQ,CAACI,aAAa;AAE9F;;;;AAIA,OAAO,MAAMC,WAAW,GAAwDL,QAAQ,CAACK,WAAW;AAEpG;;;;AAIA,OAAO,MAAMC,YAAY,GAAsDN,QAAQ,CAACM,YAAY;AAEpG;;;;AAIA,OAAO,MAAMC,QAAQ,GAEyDP,QAAQ,CAACO,QAAQ;AAE/F;;;;AAIA,OAAO,MAAMC,aAAa,GAKYR,QAAQ,CAACQ,aAAa;AAkF5D;;;;AAIA,OAAO,MAAMC,cAAc,GAEyDT,QAAQ,CAACS,cAAc;AAE3G;;;;AAIA,OAAO,MAAMC,kBAAkB,GAEmDV,QAAQ,CAACU,kBAAkB;AAE7G;;;;AAIA,OAAO,MAAMC,uBAAuB,GAKEX,QAAQ,CAACW,uBAAuB"}
|
package/dist/esm/WorkerRunner.js
CHANGED
|
@@ -14,9 +14,19 @@ export const PlatformRunner = internal.PlatformRunner;
|
|
|
14
14
|
* @category constructors
|
|
15
15
|
*/
|
|
16
16
|
export const make = internal.make;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category layers
|
|
20
|
+
*/
|
|
21
|
+
export const layer = internal.layer;
|
|
17
22
|
/**
|
|
18
23
|
* @since 1.0.0
|
|
19
24
|
* @category constructors
|
|
20
25
|
*/
|
|
21
26
|
export const makeSerialized = internal.makeSerialized;
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category layers
|
|
30
|
+
*/
|
|
31
|
+
export const layerSerialized = internal.layerSerialized;
|
|
22
32
|
//# sourceMappingURL=WorkerRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerRunner.js","names":["internal","PlatformRunnerTypeId","PlatformRunner","make","makeSerialized"],"sources":["../../src/WorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;
|
|
1
|
+
{"version":3,"file":"WorkerRunner.js","names":["internal","PlatformRunnerTypeId","PlatformRunner","make","layer","makeSerialized","layerSerialized"],"sources":["../../src/WorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;AAwBtD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AAkBlG;;;;AAIA,OAAO,MAAMC,IAAI,GAGyDH,QAAQ,CAACG,IAAI;AAEvF;;;;AAIA,OAAO,MAAMC,KAAK,GAGyCJ,QAAQ,CAACI,KAAK;AAEzE;;;;AAIA,OAAO,MAAMC,cAAc,GAkBvBL,QAAQ,CAACK,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,eAAe,GAiBxBN,QAAQ,CAACM,eAAe"}
|
|
@@ -12,8 +12,11 @@ import { identity, pipe } from "effect/Function";
|
|
|
12
12
|
import * as Layer from "effect/Layer";
|
|
13
13
|
import * as Pool from "effect/Pool";
|
|
14
14
|
import * as Queue from "effect/Queue";
|
|
15
|
+
import * as ReadonlyArray from "effect/ReadonlyArray";
|
|
16
|
+
import * as Schedule from "effect/Schedule";
|
|
15
17
|
import * as Stream from "effect/Stream";
|
|
16
18
|
import * as Transferable from "../Transferable.js";
|
|
19
|
+
import { WorkerError } from "../WorkerError.js";
|
|
17
20
|
/** @internal */
|
|
18
21
|
export const defaultQueue = () => Effect.map(Queue.unbounded(), queue => ({
|
|
19
22
|
offer: (id, item) => Queue.offer(queue, [id, item]),
|
|
@@ -36,6 +39,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
36
39
|
[WorkerManagerTypeId]: WorkerManagerTypeId,
|
|
37
40
|
spawn({
|
|
38
41
|
encode,
|
|
42
|
+
initialMessage,
|
|
39
43
|
permits = 1,
|
|
40
44
|
queue,
|
|
41
45
|
spawn,
|
|
@@ -44,44 +48,50 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
44
48
|
return Effect.gen(function* (_) {
|
|
45
49
|
const id = idCounter++;
|
|
46
50
|
let requestIdCounter = 0;
|
|
47
|
-
const readyLatch = yield* _(Deferred.make());
|
|
48
51
|
const semaphore = yield* _(Effect.makeSemaphore(permits));
|
|
49
52
|
const requestMap = new Map();
|
|
53
|
+
const sendQueue = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
|
|
50
54
|
const outbound = queue ?? (yield* _(defaultQueue()));
|
|
51
55
|
yield* _(Effect.addFinalizer(() => outbound.shutdown));
|
|
52
|
-
|
|
56
|
+
yield* _(Effect.gen(function* (_) {
|
|
57
|
+
const readyLatch = yield* _(Deferred.make());
|
|
58
|
+
const backing = yield* _(platform.spawn(spawn(id)));
|
|
59
|
+
const send = pipe(sendQueue.take, Effect.flatMap(([message, transfers]) => backing.send(message, transfers)), Effect.forever);
|
|
60
|
+
const take = pipe(Queue.take(backing.queue), Effect.flatMap(msg => {
|
|
61
|
+
if (msg[0] === 0) {
|
|
62
|
+
return Deferred.complete(readyLatch, Effect.unit);
|
|
63
|
+
}
|
|
64
|
+
return handleMessage(msg[1]);
|
|
65
|
+
}), Effect.forever);
|
|
66
|
+
return yield* _(Effect.all([Fiber.join(backing.fiber), Effect.zipRight(Deferred.await(readyLatch), send), take], {
|
|
67
|
+
concurrency: "unbounded"
|
|
68
|
+
}));
|
|
69
|
+
}), Effect.scoped, Effect.onError(cause => Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(cause)))), Effect.retry(Schedule.exponential("250 millis").pipe(Schedule.union(Schedule.spaced("30 seconds")))), Effect.annotateLogs({
|
|
70
|
+
package: "@effect/platform",
|
|
71
|
+
module: "Worker"
|
|
72
|
+
}), Effect.forkScoped);
|
|
53
73
|
yield* _(Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(Cause.empty)), {
|
|
54
74
|
discard: true
|
|
55
75
|
}), Effect.sync(() => requestMap.clear()))));
|
|
56
|
-
const handleMessage =
|
|
57
|
-
|
|
76
|
+
const handleMessage = response => Effect.suspend(() => {
|
|
77
|
+
const queue = requestMap.get(response[0]);
|
|
78
|
+
if (!queue) return Effect.unit;
|
|
79
|
+
switch (response[1]) {
|
|
80
|
+
// data
|
|
58
81
|
case 0:
|
|
59
82
|
{
|
|
60
|
-
return
|
|
83
|
+
return Queue.offer(queue[0], Exit.succeed(response[2]));
|
|
61
84
|
}
|
|
85
|
+
// end
|
|
62
86
|
case 1:
|
|
63
87
|
{
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return Queue.offer(queue[0], Exit.succeed(response[2]));
|
|
72
|
-
}
|
|
73
|
-
// end
|
|
74
|
-
case 1:
|
|
75
|
-
{
|
|
76
|
-
return response.length === 2 ? Queue.offer(queue[0], Exit.failCause(Cause.empty)) : Effect.zipRight(Queue.offer(queue[0], Exit.succeed(response[2])), Queue.offer(queue[0], Exit.failCause(Cause.empty)));
|
|
77
|
-
}
|
|
78
|
-
// error / defect
|
|
79
|
-
case 2:
|
|
80
|
-
case 3:
|
|
81
|
-
{
|
|
82
|
-
return Queue.offer(queue[0], response[1] === 2 ? Exit.fail(response[2]) : Exit.die(response[2]));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
88
|
+
return response.length === 2 ? Queue.offer(queue[0], Exit.failCause(Cause.empty)) : Effect.zipRight(Queue.offer(queue[0], Exit.succeed(response[2])), Queue.offer(queue[0], Exit.failCause(Cause.empty)));
|
|
89
|
+
}
|
|
90
|
+
// error / defect
|
|
91
|
+
case 2:
|
|
92
|
+
case 3:
|
|
93
|
+
{
|
|
94
|
+
return Queue.offer(queue[0], response[1] === 2 ? Exit.fail(response[2]) : Exit.die(response[2]));
|
|
85
95
|
}
|
|
86
96
|
}
|
|
87
97
|
});
|
|
@@ -91,29 +101,27 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
91
101
|
}));
|
|
92
102
|
const executeRelease = ([id,, deferred], exit) => {
|
|
93
103
|
const release = Effect.zipRight(Deferred.complete(deferred, Effect.unit), Effect.sync(() => requestMap.delete(id)));
|
|
94
|
-
return Exit.isInterrupted(exit) ? Effect.zipRight(
|
|
104
|
+
return Exit.isInterrupted(exit) ? Effect.zipRight(sendQueue.offer([[id, 1]]), release) : release;
|
|
95
105
|
};
|
|
96
106
|
const execute = request => Stream.flatMap(Stream.acquireRelease(executeAcquire(request), executeRelease), ([, queue]) => {
|
|
97
107
|
const loop = Channel.flatMap(Queue.take(queue), Exit.match({
|
|
98
108
|
onFailure: cause => Cause.isEmpty(cause) ? Channel.unit : Channel.failCause(cause),
|
|
99
|
-
onSuccess: value => Channel.flatMap(Channel.write(Chunk.
|
|
109
|
+
onSuccess: value => Channel.flatMap(Channel.write(Chunk.unsafeFromArray(value)), () => loop)
|
|
100
110
|
}));
|
|
101
111
|
return Stream.fromChannel(loop);
|
|
102
112
|
});
|
|
103
|
-
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.
|
|
104
|
-
|
|
105
|
-
const postMessages = pipe(semaphore.take(1), Effect.zipRight(outbound.take), Effect.flatMap(([id, request]) => pipe(Effect.suspend(() => {
|
|
113
|
+
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(ReadonlyArray.unsafeGet(0))), executeRelease);
|
|
114
|
+
yield* _(semaphore.take(1), Effect.zipRight(outbound.take), Effect.flatMap(([id, request]) => pipe(Effect.suspend(() => {
|
|
106
115
|
const result = requestMap.get(id);
|
|
107
116
|
if (!result) return Effect.unit;
|
|
108
117
|
const transferables = transfers(request);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
118
|
+
return pipe(Effect.flatMap(encode ? encode(request) : Effect.succeed(request), payload => sendQueue.offer([[id, 0, payload], transferables])), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
|
|
119
|
+
}), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever, Effect.forkScoped);
|
|
120
|
+
if (initialMessage) {
|
|
121
|
+
yield* _(Effect.sync(initialMessage), Effect.flatMap(executeEffect), Effect.mapError(error => WorkerError("spawn", error)));
|
|
122
|
+
}
|
|
114
123
|
return {
|
|
115
124
|
id,
|
|
116
|
-
join,
|
|
117
125
|
execute,
|
|
118
126
|
executeEffect
|
|
119
127
|
};
|
|
@@ -157,24 +165,26 @@ export const makeSerialized = options => Effect.gen(function* (_) {
|
|
|
157
165
|
...options,
|
|
158
166
|
transfers(message) {
|
|
159
167
|
return Transferable.get(message);
|
|
168
|
+
},
|
|
169
|
+
encode(message) {
|
|
170
|
+
return Effect.mapError(Serializable.serialize(message), error => WorkerError("encode", error));
|
|
160
171
|
}
|
|
161
172
|
}));
|
|
162
173
|
const execute = message => {
|
|
163
174
|
const parseSuccess = Schema.decode(Serializable.successSchema(message));
|
|
164
175
|
const parseFailure = Schema.decode(Serializable.failureSchema(message));
|
|
165
|
-
return pipe(
|
|
176
|
+
return pipe(backing.execute(message), Stream.catchAll(error => Effect.flatMap(parseFailure(error), Effect.fail)), Stream.mapEffect(parseSuccess));
|
|
166
177
|
};
|
|
167
178
|
const executeEffect = message => {
|
|
168
179
|
const parseSuccess = Schema.decode(Serializable.successSchema(message));
|
|
169
180
|
const parseFailure = Schema.decode(Serializable.failureSchema(message));
|
|
170
|
-
return
|
|
181
|
+
return Effect.matchEffect(backing.executeEffect(message), {
|
|
171
182
|
onFailure: error => Effect.flatMap(parseFailure(error), Effect.fail),
|
|
172
183
|
onSuccess: parseSuccess
|
|
173
|
-
})
|
|
184
|
+
});
|
|
174
185
|
};
|
|
175
186
|
return identity({
|
|
176
187
|
id: backing.id,
|
|
177
|
-
join: backing.join,
|
|
178
188
|
execute: execute,
|
|
179
189
|
executeEffect: executeEffect
|
|
180
190
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","Serializable","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Pool","Queue","Stream","Transferable","defaultQueue","map","unbounded","queue","offer","id","item","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","Tag","WorkerManagerTypeId","WorkerManager","makeManager","gen","_","platform","idCounter","of","spawn","encode","permits","transfers","requestIdCounter","readyLatch","make","semaphore","makeSemaphore","requestMap","Map","outbound","addFinalizer","backing","zipRight","forEach","values","failCause","empty","discard","sync","clear","handleMessage","msg","suspend","complete","unit","response","get","succeed","length","fail","die","executeAcquire","request","tap","all","deferred","set","executeRelease","exit","release","delete","isInterrupted","ignore","send","execute","flatMap","acquireRelease","loop","match","onFailure","cause","isEmpty","onSuccess","value","write","fromChannel","executeEffect","acquireUseRelease","flatten","handleMessages","forever","forkScoped","postMessages","result","transferables","payload","catchAllCause","await","ensuring","fork","postMessagesFiber","join","joinAll","fiber","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","message","concurrency","unwrap","scoped","makePoolLayer","managerLayer","tag","provide","makeSerialized","parseSuccess","decode","successSchema","parseFailure","failureSchema","serialize","catchAll","error","mapEffect","matchEffect","makePoolSerialized","provideService","makePoolSerializedLayer"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,YAAY,MAAM,6BAA6B;AAC3D,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,QAAQ,EAAEC,IAAI,QAAQ,iBAAiB;AAChD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAIlD;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAC1BV,MAAM,CAACW,GAAG,CACRJ,KAAK,CAACK,SAAS,EAAkC,EAChDC,KAAK,KAA6B;EACjCC,KAAK,EAAEA,CAACC,EAAE,EAAEC,IAAI,KAAKT,KAAK,CAACO,KAAK,CAACD,KAAK,EAAE,CAACE,EAAE,EAAEC,IAAI,CAAC,CAAC;EACnDC,IAAI,EAAEV,KAAK,CAACU,IAAI,CAACJ,KAAK,CAAC;EACvBK,QAAQ,EAAEX,KAAK,CAACW,QAAQ,CAACL,KAAK;CAC/B,CAAC,CACH;AAEH;AACA,OAAO,MAAMM,oBAAoB,gBAAgCC,MAAM,CAACC,GAAG,CACzE,wCAAwC,CACV;AAEhC;AACA,OAAO,MAAMC,cAAc,gBAAGxB,OAAO,CAACyB,GAAG,CACvCJ,oBAAoB,CACrB;AAED;AACA,OAAO,MAAMK,mBAAmB,gBAA+BJ,MAAM,CAACC,GAAG,CACvE,uCAAuC,CACV;AAE/B;AACA,OAAO,MAAMI,aAAa,gBAAG3B,OAAO,CAACyB,GAAG,CACtCC,mBAAmB,CACpB;AAED;AACA,OAAO,MAAME,WAAW,gBAAG1B,MAAM,CAAC2B,GAAG,CAAC,WAAUC,CAAC;EAC/C,MAAMC,QAAQ,GAAG,OAAOD,CAAC,CAACN,cAAc,CAAC;EACzC,IAAIQ,SAAS,GAAG,CAAC;EACjB,OAAOL,aAAa,CAACM,EAAE,CAAC;IACtB,CAACP,mBAAmB,GAAGA,mBAAmB;IAC1CQ,KAAKA,CAAU;MAAEC,MAAM;MAAEC,OAAO,GAAG,CAAC;MAAErB,KAAK;MAAEmB,KAAK;MAAEG,SAAS,GAAIP,CAAC,IAAK;IAAE,CAA4B;MACnG,OAAO5B,MAAM,CAAC2B,GAAG,CAAC,WAAUC,CAAC;QAC3B,MAAMb,EAAE,GAAGe,SAAS,EAAE;QACtB,IAAIM,gBAAgB,GAAG,CAAC;QACxB,MAAMC,UAAU,GAAG,OAAOT,CAAC,CAAC7B,QAAQ,CAACuC,IAAI,EAAe,CAAC;QACzD,MAAMC,SAAS,GAAG,OAAOX,CAAC,CAAC5B,MAAM,CAACwC,aAAa,CAACN,OAAO,CAAC,CAAC;QACzD,MAAMO,UAAU,GAAG,IAAIC,GAAG,EAGvB;QAEH,MAAMC,QAAQ,GAAG9B,KAAK,KAAK,OAAOe,CAAC,CAAClB,YAAY,EAAK,CAAC,CAAC;QACvD,OAAOkB,CAAC,CAAC5B,MAAM,CAAC4C,YAAY,CAAC,MAAMD,QAAQ,CAACzB,QAAQ,CAAC,CAAC;QAEtD,MAAM2B,OAAO,GAAG,OAAOjB,CAAC,CACtBC,QAAQ,CAACG,KAAK,CAAsDA,KAAK,CAACjB,EAAE,CAAC,CAAC,CAC/E;QAED,OAAOa,CAAC,CAAC5B,MAAM,CAAC4C,YAAY,CAAC,MAC3B5C,MAAM,CAAC8C,QAAQ,CACb9C,MAAM,CAAC+C,OAAO,CAACN,UAAU,CAACO,MAAM,EAAE,EAAE,CAAC,CAACnC,KAAK,CAAC,KAAKN,KAAK,CAACO,KAAK,CAACD,KAAK,EAAEZ,IAAI,CAACgD,SAAS,CAACtD,KAAK,CAACuD,KAAK,CAAC,CAAC,EAAE;UAChGC,OAAO,EAAE;SACV,CAAC,EACFnD,MAAM,CAACoD,IAAI,CAAC,MAAMX,UAAU,CAACY,KAAK,EAAE,CAAC,CACtC,CACF,CAAC;QAEF,MAAMC,aAAa,GAAIC,GAA+D,IACpFvD,MAAM,CAACwD,OAAO,CAAC,MAAK;UAClB,QAAQD,GAAG,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC;cAAE;gBACN,OAAOxD,QAAQ,CAAC0D,QAAQ,CAACpB,UAAU,EAAErC,MAAM,CAAC0D,IAAI,CAAC;cACnD;YACA,KAAK,CAAC;cAAE;gBACN,MAAMC,QAAQ,GAAGJ,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM1C,KAAK,GAAG4B,UAAU,CAACmB,GAAG,CAACD,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC9C,KAAK,EAAE,OAAOb,MAAM,CAAC0D,IAAI;gBAE9B,QAAQC,QAAQ,CAAC,CAAC,CAAC;kBACjB;kBACA,KAAK,CAAC;oBAAE;sBACN,OAAOpD,KAAK,CAACO,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEZ,IAAI,CAAC4D,OAAO,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD;kBACA;kBACA,KAAK,CAAC;oBAAE;sBACN,OAAOA,QAAQ,CAACG,MAAM,KAAK,CAAC,GAC1BvD,KAAK,CAACO,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEZ,IAAI,CAACgD,SAAS,CAACtD,KAAK,CAACuD,KAAK,CAAC,CAAC,GAClDlD,MAAM,CAAC8C,QAAQ,CACbvC,KAAK,CAACO,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEZ,IAAI,CAAC4D,OAAO,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChDpD,KAAK,CAACO,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEZ,IAAI,CAACgD,SAAS,CAACtD,KAAK,CAACuD,KAAK,CAAC,CAAC,CACnD;oBACL;kBACA;kBACA,KAAK,CAAC;kBACN,KAAK,CAAC;oBAAE;sBACN,OAAO3C,KAAK,CAACO,KAAK,CAChBD,KAAK,CAAC,CAAC,CAAC,EACR8C,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GACb1D,IAAI,CAAC8D,IAAI,CAACJ,QAAQ,CAAC,CAAC,CAAC,CAAC,GACtB1D,IAAI,CAAC+D,GAAG,CAACL,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1B;oBACH;gBACF;cACF;UACF;QACF,CAAC,CAAC;QAEJ,MAAMM,cAAc,GAAIC,OAAU,IAChClE,MAAM,CAACmE,GAAG,CACRnE,MAAM,CAACoE,GAAG,CAAC,CACTpE,MAAM,CAACoD,IAAI,CAAC,MAAMhB,gBAAgB,EAAE,CAAC,EACrC7B,KAAK,CAACK,SAAS,EAAiC,EAChDb,QAAQ,CAACuC,IAAI,EAAe,CAC7B,CAAC,EACF,CAAC,CAACvB,EAAE,EAAEF,KAAK,EAAEwD,QAAQ,CAAC,KACpBrE,MAAM,CAACwD,OAAO,CAAC,MAAK;UAClBf,UAAU,CAAC6B,GAAG,CAACvD,EAAE,EAAE,CAACF,KAAK,EAAEwD,QAAQ,CAAC,CAAC;UACrC,OAAO1B,QAAQ,CAAC7B,KAAK,CAACC,EAAE,EAAEmD,OAAO,CAAC;QACpC,CAAC,CAAC,CACL;QAEH,MAAMK,cAAc,GAAGA,CACrB,CAACxD,EAAE,GAAIsD,QAAQ,CAAuF,EACtGG,IAAiC,KAC/B;UACF,MAAMC,OAAO,GAAGzE,MAAM,CAAC8C,QAAQ,CAC7B/C,QAAQ,CAAC0D,QAAQ,CAACY,QAAQ,EAAErE,MAAM,CAAC0D,IAAI,CAAC,EACxC1D,MAAM,CAACoD,IAAI,CAAC,MAAMX,UAAU,CAACiC,MAAM,CAAC3D,EAAE,CAAC,CAAC,CACzC;UACD,OAAOd,IAAI,CAAC0E,aAAa,CAACH,IAAI,CAAC,GAC7BxE,MAAM,CAAC8C,QAAQ,CACb9C,MAAM,CAAC4E,MAAM,CAAC/B,OAAO,CAACgC,IAAI,CAAC,CAAC9D,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACpC0D,OAAO,CACR,GACDA,OAAO;QACX,CAAC;QAED,MAAMK,OAAO,GAAIZ,OAAU,IACzB1D,MAAM,CAACuE,OAAO,CACZvE,MAAM,CAACwE,cAAc,CACnBf,cAAc,CAACC,OAAO,CAAC,EACvBK,cAAc,CACf,EACD,CAAC,GAAG1D,KAAK,CAAC,KAAI;UACZ,MAAMoE,IAAI,GACRrF,OAAO,CAACmF,OAAO,CACbxE,KAAK,CAACU,IAAI,CAACJ,KAAK,CAAC,EACjBZ,IAAI,CAACiF,KAAK,CAAC;YACTC,SAAS,EAAGC,KAAK,IAAKzF,KAAK,CAAC0F,OAAO,CAACD,KAAK,CAAC,GAAGxF,OAAO,CAAC8D,IAAI,GAAG9D,OAAO,CAACqD,SAAS,CAACmC,KAAK,CAAC;YACpFE,SAAS,EAAGC,KAAK,IAAK3F,OAAO,CAACmF,OAAO,CAACnF,OAAO,CAAC4F,KAAK,CAAC3F,KAAK,CAACkC,EAAE,CAACwD,KAAK,CAAC,CAAC,EAAE,MAAMN,IAAI;WACjF,CAAC,CACH;UACH,OAAOzE,MAAM,CAACiF,WAAW,CAACR,IAAI,CAAC;QACjC,CAAC,CACF;QAEH,MAAMS,aAAa,GAAIxB,OAAU,IAC/BlE,MAAM,CAAC2F,iBAAiB,CACtB1B,cAAc,CAACC,OAAO,CAAC,EACvB,CAAC,GAAGrD,KAAK,CAAC,KAAKb,MAAM,CAAC4F,OAAO,CAACrF,KAAK,CAACU,IAAI,CAACJ,KAAK,CAAC,CAAC,EAChD0D,cAAc,CACf;QAEH,MAAMsB,cAAc,GAAG,OAAOjE,CAAC,CAC7BrB,KAAK,CAACU,IAAI,CAAC4B,OAAO,CAAChC,KAAK,CAAC,EACzBb,MAAM,CAAC+E,OAAO,CAACzB,aAAa,CAAC,EAC7BtD,MAAM,CAAC8F,OAAO,EACd9F,MAAM,CAAC+F,UAAU,CAClB;QAED,MAAMC,YAAY,GAAG5F,IAAI,CACvBmC,SAAS,CAACtB,IAAI,CAAC,CAAC,CAAC,EACjBjB,MAAM,CAAC8C,QAAQ,CAACH,QAAQ,CAAC1B,IAAI,CAAC,EAC9BjB,MAAM,CAAC+E,OAAO,CAAC,CAAC,CAAChE,EAAE,EAAEmD,OAAO,CAAC,KAC3B9D,IAAI,CACFJ,MAAM,CAACwD,OAAO,CAAC,MAAK;UAClB,MAAMyC,MAAM,GAAGxD,UAAU,CAACmB,GAAG,CAAC7C,EAAE,CAAC;UACjC,IAAI,CAACkF,MAAM,EAAE,OAAOjG,MAAM,CAAC0D,IAAI;UAC/B,MAAMwC,aAAa,GAAG/D,SAAS,CAAC+B,OAAO,CAAC;UACxC,MAAMiC,OAAO,GAAGlE,MAAM,GAAGA,MAAM,CAACiC,OAAO,CAAC,GAAGA,OAAO;UAClD,OAAOlE,MAAM,CAAC8C,QAAQ,CACpB9C,MAAM,CAACoG,aAAa,CAClBvD,OAAO,CAACgC,IAAI,CAAC,CAAC9D,EAAE,EAAE,CAAC,EAAEoF,OAAO,CAAC,EAAED,aAAa,CAAC,EAC5Cd,KAAK,IAAK7E,KAAK,CAACO,KAAK,CAACmF,MAAM,CAAC,CAAC,CAAC,EAAEhG,IAAI,CAACgD,SAAS,CAACmC,KAAK,CAAC,CAAC,CACzD,EACDrF,QAAQ,CAACsG,KAAK,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC,CAC1B;QACH,CAAC,CAAC,EACFjG,MAAM,CAACsG,QAAQ,CAAC/D,SAAS,CAACkC,OAAO,CAAC,CAAC,CAAC,CAAC,EACrCzE,MAAM,CAACuG,IAAI,CACZ,CACF,EACDvG,MAAM,CAAC8F,OAAO,CACf;QAED,MAAMU,iBAAiB,GAAG,OAAO5E,CAAC,CAChC7B,QAAQ,CAACsG,KAAK,CAAChE,UAAU,CAAC,EAC1BrC,MAAM,CAAC8C,QAAQ,CAACkD,YAAY,CAAC,EAC7BhG,MAAM,CAAC+F,UAAU,CAClB;QAED,MAAMU,IAAI,GAAGvG,KAAK,CAACwG,OAAO,CAAC,CAAC7D,OAAO,CAAC8D,KAAK,EAAEd,cAAc,EAAEW,iBAAiB,CAAC,CAI5E;QAED,OAAO;UAAEzF,EAAE;UAAE0F,IAAI;UAAE3B,OAAO;UAAEY;QAAa,CAAE;MAC7C,CAAC,CAAC,CAACtF,IAAI,CAACJ,MAAM,CAAC4G,kBAAkB,CAAC;IACpC;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;AACA,OAAO,MAAMC,YAAY,gBAAGxG,KAAK,CAACyG,MAAM,CAACrF,aAAa,EAAEC,WAAW,CAAC;AAEpE;AACA,OAAO,MAAMqF,QAAQ,GAAGA,CAAA,KAEtBC,OAAwC,IAExChH,MAAM,CAAC2B,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMqF,OAAO,GAAG,OAAOrF,CAAC,CAACH,aAAa,CAAC;EACvC,MAAMyF,OAAO,GAAG,IAAIC,GAAG,EAA0B;EACjD,MAAMC,OAAO,GAAGhH,IAAI,CAClB6G,OAAO,CAACjF,KAAK,CAAUgF,OAAO,CAAC,EAC/BhH,MAAM,CAACmE,GAAG,CAAEkD,MAAM,IAAKrH,MAAM,CAACoD,IAAI,CAAC,MAAM8D,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9DrH,MAAM,CAACmE,GAAG,CAAEkD,MAAM,IAAKrH,MAAM,CAAC4C,YAAY,CAAC,MAAM5C,MAAM,CAACoD,IAAI,CAAC,MAAM8D,OAAO,CAACxC,MAAM,CAAC2C,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GAAGvH,MAAM,CAACmE,GAAG,CAAC6C,OAAO,CAACO,QAAQ,CAAC,GAAGpH,QAAQ,CAC3D;EACD,MAAM0C,OAAO,GAAG,OAAOjB,CAAC,CACtB,YAAY,IAAIoF,OAAO,GACrB1G,IAAI,CAACkH,WAAW,CAAC;IACfJ,OAAO;IACPK,GAAG,EAAET,OAAO,CAACU,OAAO;IACpBC,GAAG,EAAEX,OAAO,CAACY,OAAO;IACpBC,UAAU,EAAEb,OAAO,CAACa;GACrB,CAAC,GACFvH,IAAI,CAACgC,IAAI,CAAC;IACR8E,OAAO;IACPU,IAAI,EAAEd,OAAO,CAACc;GACf,CAAC,CACL;EACD,MAAMC,IAAI,GAA+B;IACvClF,OAAO;IACPmF,SAAS,EAAGC,OAAU,IACpBjI,MAAM,CAAC+C,OAAO,CAACmE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACuC,OAAO,CAAC,EAAE;MACjEC,WAAW,EAAE,WAAW;MACxB/E,OAAO,EAAE;KACV,CAAC;IACJ2B,OAAO,EAAGmD,OAAU,IAClBzH,MAAM,CAAC2H,MAAM,CACXnI,MAAM,CAACW,GAAG,CACRX,MAAM,CAACoI,MAAM,CAACvF,OAAO,CAACe,GAAG,CAAC,EACzByD,MAAM,IAAKA,MAAM,CAACvC,OAAO,CAACmD,OAAO,CAAC,CACpC,CACF;IACHvC,aAAa,EAAGuC,OAAU,IACxBjI,MAAM,CAAC+E,OAAO,CACZ/E,MAAM,CAACoI,MAAM,CAACvF,OAAO,CAACe,GAAG,CAAC,EACzByD,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACuC,OAAO,CAAC;GAE9C;EAED,OAAOF,IAAI;AACb,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMM,aAAa,GAAOC,YAA6D,IAC9F,CACEC,GAAiD,EACjDvB,OAAwC,KACrC3G,KAAK,CAAC+H,MAAM,CAACG,GAAG,EAAExB,QAAQ,EAAK,CAACC,OAAO,CAAC,CAAC,CAAC5G,IAAI,CAACC,KAAK,CAACmI,OAAO,CAACF,YAAY,CAAC,CAAC;AAEhF;AACA,OAAO,MAAMG,cAAc,GAIzBzB,OAA8C,IAE9ChH,MAAM,CAAC2B,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMqF,OAAO,GAAG,OAAOrF,CAAC,CAACH,aAAa,CAAC;EACvC,MAAMoB,OAAO,GAAG,OAAOjB,CAAC,CACtBqF,OAAO,CAACjF,KAAK,CAAC;IACZ,GAAGgF,OAAO;IACV7E,SAASA,CAAC8F,OAAO;MACf,OAAOxH,YAAY,CAACmD,GAAG,CAACqE,OAAO,CAAC;IAClC;GACD,CAAC,CACH;EACD,MAAMnD,OAAO,GAAmBmD,OAAY,IAAI;IAC9C,MAAMS,YAAY,GAAGjJ,MAAM,CAACkJ,MAAM,CAACjJ,YAAY,CAACkJ,aAAa,CAACX,OAAc,CAAC,CAAC;IAC9E,MAAMY,YAAY,GAAGpJ,MAAM,CAACkJ,MAAM,CAACjJ,YAAY,CAACoJ,aAAa,CAACb,OAAc,CAAC,CAAC;IAC9E,OAAO7H,IAAI,CACTV,YAAY,CAACqJ,SAAS,CAACd,OAAO,CAAC,EAC/BzH,MAAM,CAACuE,OAAO,CAAEkD,OAAO,IAAKpF,OAAO,CAACiC,OAAO,CAACmD,OAAO,CAAC,CAAC,EACrDzH,MAAM,CAACwI,QAAQ,CAAEC,KAAK,IAAKjJ,MAAM,CAAC+E,OAAO,CAAC8D,YAAY,CAACI,KAAK,CAAC,EAAEjJ,MAAM,CAAC+D,IAAI,CAAC,CAAC,EAC5EvD,MAAM,CAAC0I,SAAS,CAACR,YAAY,CAAC,CAC/B;EACH,CAAC;EACD,MAAMhD,aAAa,GAAmBuC,OAAY,IAAI;IACpD,MAAMS,YAAY,GAAGjJ,MAAM,CAACkJ,MAAM,CAACjJ,YAAY,CAACkJ,aAAa,CAACX,OAAc,CAAC,CAAC;IAC9E,MAAMY,YAAY,GAAGpJ,MAAM,CAACkJ,MAAM,CAACjJ,YAAY,CAACoJ,aAAa,CAACb,OAAc,CAAC,CAAC;IAC9E,OAAO7H,IAAI,CACTV,YAAY,CAACqJ,SAAS,CAACd,OAAO,CAAC,EAC/BjI,MAAM,CAAC+E,OAAO,CAAEkD,OAAO,IAAKpF,OAAO,CAAC6C,aAAa,CAACuC,OAAO,CAAC,CAAC,EAC3DjI,MAAM,CAACmJ,WAAW,CAAC;MACjBhE,SAAS,EAAG8D,KAAK,IAAKjJ,MAAM,CAAC+E,OAAO,CAAC8D,YAAY,CAACI,KAAK,CAAC,EAAEjJ,MAAM,CAAC+D,IAAI,CAAC;MACtEuB,SAAS,EAAEoD;KACZ,CAAC,CACH;EACH,CAAC;EACD,OAAOvI,QAAQ,CAA6B;IAC1CY,EAAE,EAAE8B,OAAO,CAAC9B,EAAE;IACd0F,IAAI,EAAE5D,OAAO,CAAC4D,IAAI;IAClB3B,OAAO,EAAEA,OAAc;IACvBY,aAAa,EAAEA;GAChB,CAAC;AACJ,CAAC,CAAC;AAEJ;AACA,OAAO,MAAM0D,kBAAkB,GAAGA,CAAA,KAEhCpC,OAAkD,IAElDhH,MAAM,CAAC2B,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMqF,OAAO,GAAG,OAAOrF,CAAC,CAACH,aAAa,CAAC;EACvC,MAAMyF,OAAO,GAAG,IAAIC,GAAG,EAA8B;EACrD,MAAMC,OAAO,GAAGhH,IAAI,CAClBqI,cAAc,CAAOzB,OAAO,CAAC,EAC7BhH,MAAM,CAACmE,GAAG,CAAEkD,MAAM,IAAKrH,MAAM,CAACoD,IAAI,CAAC,MAAM8D,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9DrH,MAAM,CAACmE,GAAG,CAAEkD,MAAM,IAAKrH,MAAM,CAAC4C,YAAY,CAAC,MAAM5C,MAAM,CAACoD,IAAI,CAAC,MAAM8D,OAAO,CAACxC,MAAM,CAAC2C,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GAAGvH,MAAM,CAACmE,GAAG,CAAC6C,OAAO,CAACO,QAAQ,CAAC,GAAGpH,QAAQ,EAC1DH,MAAM,CAACqJ,cAAc,CAAC5H,aAAa,EAAEwF,OAAO,CAAC,CAC9C;EACD,MAAMpE,OAAO,GAAG,OAAOjB,CAAC,CACtB,YAAY,IAAIoF,OAAO,GACrB1G,IAAI,CAACkH,WAAW,CAAC;IACfJ,OAAO;IACPK,GAAG,EAAET,OAAO,CAACU,OAAO;IACpBC,GAAG,EAAEX,OAAO,CAACY,OAAO;IACpBC,UAAU,EAAEb,OAAO,CAACa;GACrB,CAAC,GACFvH,IAAI,CAACgC,IAAI,CAAC;IACR8E,OAAO;IACPU,IAAI,EAAEd,OAAO,CAACc;GACf,CAAC,CACL;EACD,MAAMC,IAAI,GAAmC;IAC3ClF,OAAO;IACPmF,SAAS,EAAkBC,OAAY,IACrCjI,MAAM,CAAC+C,OAAO,CAACmE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACuC,OAAO,CAAC,EAAE;MACjEC,WAAW,EAAE,WAAW;MACxB/E,OAAO,EAAE;KACV,CAAQ;IACX2B,OAAO,EAAkBmD,OAAY,IACnCzH,MAAM,CAAC2H,MAAM,CACXnI,MAAM,CAACW,GAAG,CACRX,MAAM,CAACoI,MAAM,CAACvF,OAAO,CAACe,GAAG,CAAC,EACzByD,MAAM,IAAKA,MAAM,CAACvC,OAAO,CAACmD,OAAO,CAAC,CACpC,CACK;IACVvC,aAAa,EAAkBuC,OAAY,IACzCjI,MAAM,CAAC+E,OAAO,CACZ/E,MAAM,CAACoI,MAAM,CAACvF,OAAO,CAACe,GAAG,CAAC,EACzByD,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACuC,OAAO,CAAC;GAE9C;EAED,OAAOF,IAAI;AACb,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMuB,uBAAuB,GAC9BhB,YAA6D,IACjE,CACEC,GAAqD,EACrDvB,OAAkD,KAC/C3G,KAAK,CAAC+H,MAAM,CAACG,GAAG,EAAEa,kBAAkB,EAAK,CAACpC,OAAO,CAAC,CAAC,CAAC5G,IAAI,CAACC,KAAK,CAACmI,OAAO,CAACF,YAAY,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","Serializable","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Pool","Queue","ReadonlyArray","Schedule","Stream","Transferable","WorkerError","defaultQueue","map","unbounded","queue","offer","id","item","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","Tag","WorkerManagerTypeId","WorkerManager","makeManager","gen","_","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","requestIdCounter","semaphore","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","message","forever","msg","complete","unit","handleMessage","all","join","fiber","zipRight","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","spaced","annotateLogs","package","module","forkScoped","empty","discard","sync","clear","response","suspend","get","succeed","length","fail","die","executeAcquire","request","tap","deferred","set","executeRelease","exit","release","delete","isInterrupted","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","payload","catchAllCause","ensuring","fork","mapError","error","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrap","makePoolLayer","managerLayer","tag","provide","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","provideService","makePoolSerializedLayer"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
|