@effect/platform 0.37.1 → 0.37.3

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.
@@ -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 Fiber from "effect/Fiber";
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,9 +61,10 @@ export declare namespace Runner {
62
61
  * @since 1.0.0
63
62
  * @category models
64
63
  */
65
- interface Options<E, O> {
66
- readonly encodeOutput?: (message: O) => Effect.Effect<never, WorkerError, unknown>;
67
- readonly encodeError?: (message: E) => Effect.Effect<never, WorkerError, unknown>;
64
+ interface Options<I, E, O> {
65
+ readonly decode?: (message: unknown) => Effect.Effect<never, WorkerError, I>;
66
+ readonly encodeOutput?: (request: I, message: O) => Effect.Effect<never, WorkerError, unknown>;
67
+ readonly encodeError?: (request: I, error: E) => Effect.Effect<never, WorkerError, unknown>;
68
68
  readonly transfers?: (message: O | E) => ReadonlyArray<unknown>;
69
69
  }
70
70
  }
@@ -72,14 +72,28 @@ export declare namespace Runner {
72
72
  * @since 1.0.0
73
73
  * @category constructors
74
74
  */
75
- 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, never>;
75
+ export declare const make: <I, R, E, O>(process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>, options?: Runner.Options<I, E, O> | undefined) => Effect.Effect<Scope.Scope | R | PlatformRunner, WorkerError, void>;
76
+ /**
77
+ * @since 1.0.0
78
+ * @category layers
79
+ */
80
+ export declare const layer: <I, R, E, O>(process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>, options?: Runner.Options<I, E, O> | undefined) => Layer.Layer<R | PlatformRunner, WorkerError, never>;
76
81
  /**
77
82
  * @since 1.0.0
78
83
  * @category constructors
79
84
  */
80
- export declare const makeSerialized: <I, A extends Schema.TaggedRequest.Any, Handlers extends {
85
+ export declare const makeSerialized: <I, A extends Schema.TaggedRequest.Any, const Handlers extends {
86
+ readonly [K in A["_tag"]]: Extract<A, {
87
+ readonly _tag: K;
88
+ }> 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;
89
+ }>(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>;
90
+ /**
91
+ * @since 1.0.0
92
+ * @category layers
93
+ */
94
+ export declare const layerSerialized: <I, A extends Schema.TaggedRequest.Any, const Handlers extends {
81
95
  readonly [K in A["_tag"]]: Extract<A, {
82
96
  readonly _tag: K;
83
97
  }> 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;
84
- }>(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, never>;
98
+ }>(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>;
85
99
  //# sourceMappingURL=WorkerRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerRunner.d.ts","sourceRoot":"","sources":["../../src/WorkerRunner.ts"],"names":[],"mappings":"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"}
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,OAAO,CAAC,CAAC,CAAC,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACrG;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;CACxE;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,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CACzF;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAA2B,CAAA;AAElG;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC9F,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;KAChE;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACxE,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,KAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,cAAc,EAAE,WAAW,EAAE,IAAI,CAAiB,CAAA;AAEvF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACxE,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,KAC1C,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAE,WAAW,EAAE,KAAK,CAAkB,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,GAAG,EAClC,KAAK,CAAC,QAAQ,SAAS;IACrB,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,SACzD,YAAY,CAAC,sBAAsB,CAAC,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,CAAC,GAC7F,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAC/D,KAAK;CACR,EAED,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CACd,cAAc,GACd,KAAK,CAAC,KAAK,GACX,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EACvG,WAAW,EACX,IAAI,CACqB,CAAA;AAE3B;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAC5B,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,GAAG,EAClC,KAAK,CAAC,QAAQ,SAAS;IACrB,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,SACzD,YAAY,CAAC,sBAAsB,CAAC,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,CAAC,GAC7F,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAC/D,KAAK;CACR,EAED,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,QAAQ,EAAE,QAAQ,KACf,KAAK,CAAC,KAAK,CACZ,cAAc,GACd,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EACvG,WAAW,EACX,KAAK,CACqB,CAAA"}
@@ -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":"AAgBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAyBhD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AA4FlG;;;;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;AAmF5D;;;;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"}
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"}
@@ -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;AAyBtD;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAkBD,QAAQ,CAACC,oBAAoB;AAiBhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAgDF,QAAQ,CAACE,cAAc;AAkBlG;;;;AAIA,OAAO,MAAMC,IAAI,GAG0DH,QAAQ,CAACG,IAAI;AAExF;;;;AAIA,OAAO,MAAMC,cAAc,GAkBvBJ,QAAQ,CAACI,cAAc"}
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;AAmBlG;;;;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,6 +12,8 @@ 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";
17
19
  import { WorkerError } from "../WorkerError.js";
@@ -46,44 +48,50 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
46
48
  return Effect.gen(function* (_) {
47
49
  const id = idCounter++;
48
50
  let requestIdCounter = 0;
49
- const readyLatch = yield* _(Deferred.make());
50
51
  const semaphore = yield* _(Effect.makeSemaphore(permits));
51
52
  const requestMap = new Map();
53
+ const sendQueue = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
52
54
  const outbound = queue ?? (yield* _(defaultQueue()));
53
55
  yield* _(Effect.addFinalizer(() => outbound.shutdown));
54
- const backing = yield* _(platform.spawn(spawn(id)));
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);
55
73
  yield* _(Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(Cause.empty)), {
56
74
  discard: true
57
75
  }), Effect.sync(() => requestMap.clear()))));
58
- const handleMessage = msg => Effect.suspend(() => {
59
- switch (msg[0]) {
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
60
81
  case 0:
61
82
  {
62
- return Deferred.complete(readyLatch, Effect.unit);
83
+ return Queue.offer(queue[0], Exit.succeed(response[2]));
63
84
  }
85
+ // end
64
86
  case 1:
65
87
  {
66
- const response = msg[1];
67
- const queue = requestMap.get(response[0]);
68
- if (!queue) return Effect.unit;
69
- switch (response[1]) {
70
- // data
71
- case 0:
72
- {
73
- return Queue.offer(queue[0], Exit.succeed(response[2]));
74
- }
75
- // end
76
- case 1:
77
- {
78
- 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)));
79
- }
80
- // error / defect
81
- case 2:
82
- case 3:
83
- {
84
- return Queue.offer(queue[0], response[1] === 2 ? Exit.fail(response[2]) : Exit.die(response[2]));
85
- }
86
- }
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]));
87
95
  }
88
96
  }
89
97
  });
@@ -93,31 +101,27 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
93
101
  }));
94
102
  const executeRelease = ([id,, deferred], exit) => {
95
103
  const release = Effect.zipRight(Deferred.complete(deferred, Effect.unit), Effect.sync(() => requestMap.delete(id)));
96
- return Exit.isInterrupted(exit) ? Effect.zipRight(Effect.ignore(backing.send([id, 1])), release) : release;
104
+ return Exit.isInterrupted(exit) ? Effect.zipRight(sendQueue.offer([[id, 1]]), release) : release;
97
105
  };
98
106
  const execute = request => Stream.flatMap(Stream.acquireRelease(executeAcquire(request), executeRelease), ([, queue]) => {
99
107
  const loop = Channel.flatMap(Queue.take(queue), Exit.match({
100
108
  onFailure: cause => Cause.isEmpty(cause) ? Channel.unit : Channel.failCause(cause),
101
- onSuccess: value => Channel.flatMap(Channel.write(Chunk.of(value)), () => loop)
109
+ onSuccess: value => Channel.flatMap(Channel.write(Chunk.unsafeFromArray(value)), () => loop)
102
110
  }));
103
111
  return Stream.fromChannel(loop);
104
112
  });
105
- const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatten(Queue.take(queue)), executeRelease);
106
- const handleMessages = yield* _(Queue.take(backing.queue), Effect.flatMap(handleMessage), Effect.forever, Effect.forkScoped);
107
- 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(() => {
108
115
  const result = requestMap.get(id);
109
116
  if (!result) return Effect.unit;
110
117
  const transferables = transfers(request);
111
- return pipe(Effect.flatMap(encode ? encode(request) : Effect.succeed(request), payload => backing.send([id, 0, payload], transferables)), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
112
- }), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever);
113
- const postMessagesFiber = yield* _(Deferred.await(readyLatch), Effect.zipRight(postMessages), Effect.forkScoped);
114
- const join = Fiber.joinAll([backing.fiber, handleMessages, postMessagesFiber]);
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);
115
120
  if (initialMessage) {
116
121
  yield* _(Effect.sync(initialMessage), Effect.flatMap(executeEffect), Effect.mapError(error => WorkerError("spawn", error)));
117
122
  }
118
123
  return {
119
124
  id,
120
- join,
121
125
  execute,
122
126
  executeEffect
123
127
  };
@@ -181,7 +185,6 @@ export const makeSerialized = options => Effect.gen(function* (_) {
181
185
  };
182
186
  return identity({
183
187
  id: backing.id,
184
- join: backing.join,
185
188
  execute: execute,
186
189
  executeEffect: executeEffect
187
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","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","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","mapError","error","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","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","provideService","makePoolSerializedLayer"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
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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"}
@@ -1,15 +1,18 @@
1
1
  import * as Schema from "@effect/schema/Schema";
2
2
  import * as Serializable from "@effect/schema/Serializable";
3
3
  import * as Cause from "effect/Cause";
4
+ import * as Chunk from "effect/Chunk";
4
5
  import * as Context from "effect/Context";
5
6
  import * as Effect from "effect/Effect";
6
7
  import * as Either from "effect/Either";
7
8
  import * as Fiber from "effect/Fiber";
8
- import { pipe } from "effect/Function";
9
- import * as Predicate from "effect/Predicate";
9
+ import { identity, pipe } from "effect/Function";
10
+ import * as Layer from "effect/Layer";
11
+ import * as Option from "effect/Option";
10
12
  import * as Queue from "effect/Queue";
11
13
  import * as Stream from "effect/Stream";
12
14
  import * as Transferable from "../Transferable.js";
15
+ import * as WorkerError from "../WorkerError.js";
13
16
  /** @internal */
14
17
  export const PlatformRunnerTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Runner/PlatformRunner");
15
18
  /** @internal */
@@ -19,7 +22,13 @@ export const make = (process, options) => Effect.gen(function* (_) {
19
22
  const platform = yield* _(PlatformRunner);
20
23
  const backing = yield* _(platform.start());
21
24
  const fiberMap = new Map();
22
- const handleRequests = pipe(Queue.take(backing.queue), Effect.tap(req => {
25
+ const parentFiber = Option.getOrThrow(Fiber.getCurrentFiber());
26
+ yield* _(Queue.take(backing.queue), options?.decode ? Effect.flatMap(req => {
27
+ if (req[1] === 1) {
28
+ return Effect.succeed(req);
29
+ }
30
+ return Effect.map(options.decode(req[2]), data => [req[0], req[1], data]);
31
+ }) : identity, Effect.tap(req => {
23
32
  const id = req[0];
24
33
  if (req[1] === 1) {
25
34
  const fiber = fiberMap.get(id);
@@ -31,68 +40,60 @@ export const make = (process, options) => Effect.gen(function* (_) {
31
40
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
32
41
  onLeft: error => {
33
42
  const transfers = options?.transfers ? options.transfers(error) : undefined;
34
- return pipe(options?.encodeError ? options.encodeError(error) : Effect.succeed(error), Effect.flatMap(payload => backing.send([id, 2, payload], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
43
+ return pipe(options?.encodeError ? options.encodeError(req[2], error) : Effect.succeed(error), Effect.flatMap(payload => backing.send([id, 2, payload], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
35
44
  },
36
45
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
37
46
  }),
38
47
  onSuccess: data => {
39
48
  const transfers = options?.transfers ? options.transfers(data) : undefined;
40
- return pipe(options?.encodeOutput ? options.encodeOutput(data) : Effect.succeed(data), Effect.flatMap(payload => backing.send([id, 0, payload], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
49
+ return pipe(options?.encodeOutput ? options.encodeOutput(req[2], data) : Effect.succeed(data), Effect.flatMap(payload => backing.send([id, 0, [payload]], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
50
+ }
51
+ }) : pipe(stream, Stream.chunks, Stream.tap(data => {
52
+ if (options?.encodeOutput === undefined) {
53
+ const payload = Chunk.toReadonlyArray(data);
54
+ const transfers = options?.transfers ? payload.flatMap(options.transfers) : undefined;
55
+ return backing.send([id, 0, payload], transfers);
41
56
  }
42
- }) : pipe(stream, Stream.tap(data => {
43
- const transfers = options?.transfers ? options.transfers(data) : undefined;
44
- return Effect.flatMap(options?.encodeOutput ? Effect.orDie(options.encodeOutput(data)) : Effect.succeed(data), payload => backing.send([id, 0, payload], transfers));
57
+ const transfers = [];
58
+ return Effect.flatMap(Effect.forEach(data, data => {
59
+ if (options?.transfers) {
60
+ transfers.push(...options.transfers(data));
61
+ }
62
+ return Effect.orDie(options.encodeOutput(req[2], data));
63
+ }), payload => backing.send([id, 0, payload], transfers));
45
64
  }), Stream.runDrain, Effect.matchCauseEffect({
46
65
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
47
66
  onLeft: error => {
48
67
  const transfers = options?.transfers ? options.transfers(error) : undefined;
49
- return pipe(options?.encodeError ? options.encodeError(error) : Effect.succeed(error), Effect.flatMap(payload => backing.send([id, 2, payload], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
68
+ return pipe(options?.encodeError ? options.encodeError(req[2], error) : Effect.succeed(error), Effect.flatMap(payload => backing.send([id, 2, payload], transfers)), Effect.catchAllCause(cause => backing.send([id, 3, Cause.squash(cause)])));
50
69
  },
51
70
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
52
71
  }),
53
72
  onSuccess: () => backing.send([id, 1])
54
73
  }));
55
74
  return pipe(effect, Effect.ensuring(Effect.sync(() => fiberMap.delete(id))), Effect.fork, Effect.tap(fiber => Effect.sync(() => fiberMap.set(id, fiber))));
56
- }), Effect.forever);
57
- return yield* _(Effect.all([handleRequests, Fiber.join(backing.fiber)], {
58
- concurrency: "unbounded",
59
- discard: true
60
- }));
75
+ }), Effect.forever, Effect.onInterrupt(() => Fiber.interrupt(parentFiber)), Effect.forkScoped);
61
76
  });
62
77
  /** @internal */
78
+ export const layer = (process, options) => Layer.scopedDiscard(make(process, options));
79
+ /** @internal */
63
80
  export const makeSerialized = (schema, handlers) => {
64
- const parseRequest = Schema.decode(schema);
65
- const effectTags = new Set();
66
- return make(request => {
67
- if (Predicate.hasProperty(request, "_tag") && effectTags.has(request._tag)) {
68
- return Effect.flatMap(parseRequest(request), request => {
69
- const handler = handlers[request._tag];
70
- if (!handler) {
71
- return Effect.dieMessage(`No handler for ${request._tag}`);
72
- }
73
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
74
- return pipe(Effect.matchEffect(handler(request), {
75
- onFailure: error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail),
76
- onSuccess: encodeSuccess
77
- }));
78
- });
79
- }
80
- return Stream.flatMap(parseRequest(request), request => {
81
- const handler = handlers[request._tag];
82
- if (!handler) {
83
- return Stream.dieMessage(`No handler for ${request._tag}`);
84
- }
85
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
86
- const stream = handler(request);
87
- if (Effect.isEffect(stream)) {
88
- effectTags.add(request._tag);
89
- }
90
- return pipe(stream, Stream.catchAll(error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail)), Stream.mapEffect(encodeSuccess));
91
- });
92
- }, {
81
+ const parseRequest = Schema.parse(schema);
82
+ return make(request => handlers[request._tag](request), {
93
83
  transfers(message) {
94
84
  return Transferable.get(message);
85
+ },
86
+ decode(message) {
87
+ return Effect.mapError(parseRequest(message), error => WorkerError.WorkerError("decode", error));
88
+ },
89
+ encodeError(request, message) {
90
+ return Effect.mapError(Serializable.serializeFailure(request, message), error => WorkerError.WorkerError("encode", error));
91
+ },
92
+ encodeOutput(request, message) {
93
+ return Effect.mapError(Serializable.serializeSuccess(request, message), error => WorkerError.WorkerError("encode", error));
95
94
  }
96
95
  });
97
96
  };
97
+ /** @internal */
98
+ export const layerSerialized = (schema, handlers) => Layer.scopedDiscard(makeSerialized(schema, handlers));
98
99
  //# sourceMappingURL=workerRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workerRunner.js","names":["Schema","Serializable","Cause","Context","Effect","Either","Fiber","pipe","Predicate","Queue","Stream","Transferable","PlatformRunnerTypeId","Symbol","for","PlatformRunner","Tag","make","process","options","gen","_","platform","backing","start","fiberMap","Map","handleRequests","take","queue","tap","req","id","fiber","get","unit","interrupt","stream","effect","isEffect","matchCauseEffect","onFailure","cause","match","failureOrCause","onLeft","error","transfers","undefined","encodeError","succeed","flatMap","payload","send","catchAllCause","squash","onRight","onSuccess","data","encodeOutput","orDie","runDrain","ensuring","sync","delete","fork","set","forever","all","join","concurrency","discard","makeSerialized","schema","handlers","parseRequest","decode","effectTags","Set","request","hasProperty","has","_tag","handler","dieMessage","encodeSuccess","encode","successSchema","matchEffect","serializeFailure","fail","add","catchAll","mapEffect","message"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"workerRunner.js","names":["Schema","Serializable","Cause","Chunk","Context","Effect","Either","Fiber","identity","pipe","Layer","Option","Queue","Stream","Transferable","WorkerError","PlatformRunnerTypeId","Symbol","for","PlatformRunner","Tag","make","process","options","gen","_","platform","backing","start","fiberMap","Map","parentFiber","getOrThrow","getCurrentFiber","take","queue","decode","flatMap","req","succeed","map","data","tap","id","fiber","get","unit","interrupt","stream","effect","isEffect","matchCauseEffect","onFailure","cause","match","failureOrCause","onLeft","error","transfers","undefined","encodeError","payload","send","catchAllCause","squash","onRight","onSuccess","encodeOutput","chunks","toReadonlyArray","forEach","push","orDie","runDrain","ensuring","sync","delete","fork","set","forever","onInterrupt","forkScoped","layer","scopedDiscard","makeSerialized","schema","handlers","parseRequest","parse","request","_tag","message","mapError","serializeFailure","serializeSuccess","layerSerialized"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.37.1",
3
+ "version": "0.37.3",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Worker.ts CHANGED
@@ -72,7 +72,6 @@ export const PlatformWorker: Context.Tag<PlatformWorker, PlatformWorker> = inter
72
72
  */
73
73
  export interface Worker<I, E, O> {
74
74
  readonly id: number
75
- readonly join: Effect.Effect<never, WorkerError, never>
76
75
  readonly execute: (message: I) => Stream.Stream<never, E | WorkerError, O>
77
76
  readonly executeEffect: (message: I) => Effect.Effect<never, E | WorkerError, O>
78
77
  }
@@ -106,9 +105,9 @@ export declare namespace Worker {
106
105
  * @category models
107
106
  */
108
107
  export type Response<E, O = unknown> =
109
- | readonly [id: number, data: 0, O]
108
+ | readonly [id: number, data: 0, ReadonlyArray<O>]
110
109
  | readonly [id: number, end: 1]
111
- | readonly [id: number, end: 1, O]
110
+ | readonly [id: number, end: 1, ReadonlyArray<O>]
112
111
  | readonly [id: number, error: 2, E]
113
112
  | readonly [id: number, defect: 3, unknown]
114
113
  }
@@ -222,7 +221,6 @@ export const makePoolLayer: <W>(
222
221
  */
223
222
  export interface SerializedWorker<I extends Schema.TaggedRequest.Any> {
224
223
  readonly id: number
225
- readonly join: Effect.Effect<never, WorkerError, never>
226
224
  readonly execute: <Req extends I>(
227
225
  message: Req
228
226
  ) => Req extends Serializable.WithResult<infer _IE, infer E, infer _IA, infer A>