@effect/platform 0.37.2 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerRunner.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlatformRunnerTypeId","exports","PlatformRunner","make","layer","makeSerialized","layerSerialized"],"sources":["../../src/WorkerRunner.ts"],"sourcesContent":[null],"mappings":";;;;;;AAWA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAsD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAwBtD;;;;AAIO,MAAMY,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAkBxB,QAAQ,CAACwB,oBAAoB;AAiBhF;;;;AAIO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAgD1B,QAAQ,CAAC0B,cAAc;AAkBlG;;;;AAIO,MAAMC,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAGyD3B,QAAQ,CAAC2B,IAAI;AAEvF;;;;AAIO,MAAMC,KAAK,GAAAH,OAAA,CAAAG,KAAA,GAGyC5B,QAAQ,CAAC4B,KAAK;AAEzE;;;;AAIO,MAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAkBvB7B,QAAQ,CAAC6B,cAAc;AAE3B;;;;AAIO,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAiBxB9B,QAAQ,CAAC8B,eAAe"}
1
+ {"version":3,"file":"WorkerRunner.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlatformRunnerTypeId","exports","PlatformRunner","make","layer","makeSerialized","layerSerialized"],"sources":["../../src/WorkerRunner.ts"],"sourcesContent":[null],"mappings":";;;;;;AAWA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAsD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAwBtD;;;;AAIO,MAAMY,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAkBxB,QAAQ,CAACwB,oBAAoB;AAiBhF;;;;AAIO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAgD1B,QAAQ,CAAC0B,cAAc;AAmBlG;;;;AAIO,MAAMC,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAGyD3B,QAAQ,CAAC2B,IAAI;AAEvF;;;;AAIO,MAAMC,KAAK,GAAAH,OAAA,CAAAG,KAAA,GAGyC5B,QAAQ,CAAC4B,KAAK;AAEzE;;;;AAIO,MAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,GAkBvB7B,QAAQ,CAAC6B,cAAc;AAE3B;;;;AAIO,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAiBxB9B,QAAQ,CAAC8B,eAAe"}
@@ -15,10 +15,10 @@ var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/F
15
15
  var _Function = /*#__PURE__*/require("effect/Function");
16
16
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
17
17
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
18
- var Predicate = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Predicate"));
19
18
  var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
20
19
  var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
21
20
  var Transferable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Transferable.js"));
21
+ var WorkerError = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../WorkerError.js"));
22
22
  function _getRequireWildcardCache(e) {
23
23
  if ("function" != typeof WeakMap) return null;
24
24
  var r = new WeakMap(),
@@ -54,7 +54,12 @@ const make = (process, options) => Effect.gen(function* (_) {
54
54
  const backing = yield* _(platform.start());
55
55
  const fiberMap = new Map();
56
56
  const parentFiber = Option.getOrThrow(Fiber.getCurrentFiber());
57
- yield* _(Queue.take(backing.queue), Effect.tap(req => {
57
+ yield* _(Queue.take(backing.queue), options?.decode ? Effect.flatMap(req => {
58
+ if (req[1] === 1) {
59
+ return Effect.succeed(req);
60
+ }
61
+ return Effect.map(options.decode(req[2]), data => [req[0], req[1], data]);
62
+ }) : _Function.identity, Effect.tap(req => {
58
63
  const id = req[0];
59
64
  if (req[1] === 1) {
60
65
  const fiber = fiberMap.get(id);
@@ -66,13 +71,13 @@ const make = (process, options) => Effect.gen(function* (_) {
66
71
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
67
72
  onLeft: error => {
68
73
  const transfers = options?.transfers ? options.transfers(error) : undefined;
69
- return (0, _Function.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)])));
74
+ return (0, _Function.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)])));
70
75
  },
71
76
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
72
77
  }),
73
78
  onSuccess: data => {
74
79
  const transfers = options?.transfers ? options.transfers(data) : undefined;
75
- return (0, _Function.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)])));
80
+ return (0, _Function.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)])));
76
81
  }
77
82
  }) : (0, _Function.pipe)(stream, Stream.chunks, Stream.tap(data => {
78
83
  if (options?.encodeOutput === undefined) {
@@ -85,13 +90,13 @@ const make = (process, options) => Effect.gen(function* (_) {
85
90
  if (options?.transfers) {
86
91
  transfers.push(...options.transfers(data));
87
92
  }
88
- return Effect.orDie(options.encodeOutput(data));
93
+ return Effect.orDie(options.encodeOutput(req[2], data));
89
94
  }), payload => backing.send([id, 0, payload], transfers));
90
95
  }), Stream.runDrain, Effect.matchCauseEffect({
91
96
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
92
97
  onLeft: error => {
93
98
  const transfers = options?.transfers ? options.transfers(error) : undefined;
94
- return (0, _Function.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)])));
99
+ return (0, _Function.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)])));
95
100
  },
96
101
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
97
102
  }),
@@ -106,37 +111,19 @@ const layer = (process, options) => Layer.scopedDiscard(make(process, options));
106
111
  /** @internal */
107
112
  exports.layer = layer;
108
113
  const makeSerialized = (schema, handlers) => {
109
- const parseRequest = Schema.decode(schema);
110
- const effectTags = new Set();
111
- return make(request => {
112
- if (Predicate.hasProperty(request, "_tag") && effectTags.has(request._tag)) {
113
- return Effect.flatMap(parseRequest(request), request => {
114
- const handler = handlers[request._tag];
115
- if (!handler) {
116
- return Effect.dieMessage(`No handler for ${request._tag}`);
117
- }
118
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
119
- return (0, _Function.pipe)(Effect.matchEffect(handler(request), {
120
- onFailure: error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail),
121
- onSuccess: encodeSuccess
122
- }));
123
- });
124
- }
125
- return Stream.flatMap(parseRequest(request), request => {
126
- const handler = handlers[request._tag];
127
- if (!handler) {
128
- return Stream.dieMessage(`No handler for ${request._tag}`);
129
- }
130
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
131
- const stream = handler(request);
132
- if (Effect.isEffect(stream)) {
133
- effectTags.add(request._tag);
134
- }
135
- return (0, _Function.pipe)(stream, Stream.catchAll(error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail)), Stream.mapEffect(encodeSuccess));
136
- });
137
- }, {
114
+ const parseRequest = Schema.parse(schema);
115
+ return make(request => handlers[request._tag](request), {
138
116
  transfers(message) {
139
117
  return Transferable.get(message);
118
+ },
119
+ decode(message) {
120
+ return Effect.mapError(parseRequest(message), error => WorkerError.WorkerError("decode", error));
121
+ },
122
+ encodeError(request, message) {
123
+ return Effect.mapError(Serializable.serializeFailure(request, message), error => WorkerError.WorkerError("encode", error));
124
+ },
125
+ encodeOutput(request, message) {
126
+ return Effect.mapError(Serializable.serializeSuccess(request, message), error => WorkerError.WorkerError("encode", error));
140
127
  }
141
128
  });
142
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workerRunner.js","names":["Schema","_interopRequireWildcard","require","Serializable","Cause","Chunk","Context","Effect","Either","Fiber","_Function","Layer","Option","Predicate","Queue","Stream","Transferable","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlatformRunnerTypeId","exports","Symbol","for","PlatformRunner","Tag","make","process","options","gen","_","platform","backing","start","fiberMap","Map","parentFiber","getOrThrow","getCurrentFiber","take","queue","tap","req","id","fiber","unit","interrupt","stream","effect","isEffect","matchCauseEffect","onFailure","cause","match","failureOrCause","onLeft","error","transfers","undefined","pipe","encodeError","succeed","flatMap","payload","send","catchAllCause","squash","onRight","onSuccess","data","encodeOutput","chunks","toReadonlyArray","forEach","push","orDie","runDrain","ensuring","sync","delete","fork","forever","onInterrupt","forkScoped","layer","scopedDiscard","makeSerialized","schema","handlers","parseRequest","decode","effectTags","Set","request","hasProperty","_tag","handler","dieMessage","encodeSuccess","encode","successSchema","matchEffect","serializeFailure","fail","add","catchAll","mapEffect","message","layerSerialized"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"workerRunner.js","names":["Schema","_interopRequireWildcard","require","Serializable","Cause","Chunk","Context","Effect","Either","Fiber","_Function","Layer","Option","Queue","Stream","Transferable","WorkerError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PlatformRunnerTypeId","exports","Symbol","for","PlatformRunner","Tag","make","process","options","gen","_","platform","backing","start","fiberMap","Map","parentFiber","getOrThrow","getCurrentFiber","take","queue","decode","flatMap","req","succeed","map","data","identity","tap","id","fiber","unit","interrupt","stream","effect","isEffect","matchCauseEffect","onFailure","cause","match","failureOrCause","onLeft","error","transfers","undefined","pipe","encodeError","payload","send","catchAllCause","squash","onRight","onSuccess","encodeOutput","chunks","toReadonlyArray","forEach","push","orDie","runDrain","ensuring","sync","delete","fork","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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"}
@@ -61,9 +61,10 @@ export declare namespace Runner {
61
61
  * @since 1.0.0
62
62
  * @category models
63
63
  */
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>;
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>;
67
68
  readonly transfers?: (message: O | E) => ReadonlyArray<unknown>;
68
69
  }
69
70
  }
@@ -71,12 +72,12 @@ export declare namespace Runner {
71
72
  * @since 1.0.0
72
73
  * @category constructors
73
74
  */
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
+ 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>;
75
76
  /**
76
77
  * @since 1.0.0
77
78
  * @category layers
78
79
  */
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>;
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>;
80
81
  /**
81
82
  * @since 1.0.0
82
83
  * @category constructors
@@ -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":"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"}
@@ -1 +1 @@
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"}
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"}
@@ -6,13 +6,13 @@ import * as Context from "effect/Context";
6
6
  import * as Effect from "effect/Effect";
7
7
  import * as Either from "effect/Either";
8
8
  import * as Fiber from "effect/Fiber";
9
- import { pipe } from "effect/Function";
9
+ import { identity, pipe } from "effect/Function";
10
10
  import * as Layer from "effect/Layer";
11
11
  import * as Option from "effect/Option";
12
- import * as Predicate from "effect/Predicate";
13
12
  import * as Queue from "effect/Queue";
14
13
  import * as Stream from "effect/Stream";
15
14
  import * as Transferable from "../Transferable.js";
15
+ import * as WorkerError from "../WorkerError.js";
16
16
  /** @internal */
17
17
  export const PlatformRunnerTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Runner/PlatformRunner");
18
18
  /** @internal */
@@ -23,7 +23,12 @@ export const make = (process, options) => Effect.gen(function* (_) {
23
23
  const backing = yield* _(platform.start());
24
24
  const fiberMap = new Map();
25
25
  const parentFiber = Option.getOrThrow(Fiber.getCurrentFiber());
26
- yield* _(Queue.take(backing.queue), Effect.tap(req => {
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 => {
27
32
  const id = req[0];
28
33
  if (req[1] === 1) {
29
34
  const fiber = fiberMap.get(id);
@@ -35,13 +40,13 @@ export const make = (process, options) => Effect.gen(function* (_) {
35
40
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
36
41
  onLeft: error => {
37
42
  const transfers = options?.transfers ? options.transfers(error) : undefined;
38
- 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)])));
39
44
  },
40
45
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
41
46
  }),
42
47
  onSuccess: data => {
43
48
  const transfers = options?.transfers ? options.transfers(data) : undefined;
44
- 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)])));
45
50
  }
46
51
  }) : pipe(stream, Stream.chunks, Stream.tap(data => {
47
52
  if (options?.encodeOutput === undefined) {
@@ -54,13 +59,13 @@ export const make = (process, options) => Effect.gen(function* (_) {
54
59
  if (options?.transfers) {
55
60
  transfers.push(...options.transfers(data));
56
61
  }
57
- return Effect.orDie(options.encodeOutput(data));
62
+ return Effect.orDie(options.encodeOutput(req[2], data));
58
63
  }), payload => backing.send([id, 0, payload], transfers));
59
64
  }), Stream.runDrain, Effect.matchCauseEffect({
60
65
  onFailure: cause => Either.match(Cause.failureOrCause(cause), {
61
66
  onLeft: error => {
62
67
  const transfers = options?.transfers ? options.transfers(error) : undefined;
63
- 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)])));
64
69
  },
65
70
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
66
71
  }),
@@ -73,37 +78,19 @@ export const make = (process, options) => Effect.gen(function* (_) {
73
78
  export const layer = (process, options) => Layer.scopedDiscard(make(process, options));
74
79
  /** @internal */
75
80
  export const makeSerialized = (schema, handlers) => {
76
- const parseRequest = Schema.decode(schema);
77
- const effectTags = new Set();
78
- return make(request => {
79
- if (Predicate.hasProperty(request, "_tag") && effectTags.has(request._tag)) {
80
- return Effect.flatMap(parseRequest(request), request => {
81
- const handler = handlers[request._tag];
82
- if (!handler) {
83
- return Effect.dieMessage(`No handler for ${request._tag}`);
84
- }
85
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
86
- return pipe(Effect.matchEffect(handler(request), {
87
- onFailure: error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail),
88
- onSuccess: encodeSuccess
89
- }));
90
- });
91
- }
92
- return Stream.flatMap(parseRequest(request), request => {
93
- const handler = handlers[request._tag];
94
- if (!handler) {
95
- return Stream.dieMessage(`No handler for ${request._tag}`);
96
- }
97
- const encodeSuccess = Schema.encode(Serializable.successSchema(request));
98
- const stream = handler(request);
99
- if (Effect.isEffect(stream)) {
100
- effectTags.add(request._tag);
101
- }
102
- return pipe(stream, Stream.catchAll(error => Effect.flatMap(Serializable.serializeFailure(request, error), Effect.fail)), Stream.mapEffect(encodeSuccess));
103
- });
104
- }, {
81
+ const parseRequest = Schema.parse(schema);
82
+ return make(request => handlers[request._tag](request), {
105
83
  transfers(message) {
106
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));
107
94
  }
108
95
  });
109
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workerRunner.js","names":["Schema","Serializable","Cause","Chunk","Context","Effect","Either","Fiber","pipe","Layer","Option","Predicate","Queue","Stream","Transferable","PlatformRunnerTypeId","Symbol","for","PlatformRunner","Tag","make","process","options","gen","_","platform","backing","start","fiberMap","Map","parentFiber","getOrThrow","getCurrentFiber","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","chunks","toReadonlyArray","forEach","push","orDie","runDrain","ensuring","sync","delete","fork","set","forever","onInterrupt","forkScoped","layer","scopedDiscard","makeSerialized","schema","handlers","parseRequest","decode","effectTags","Set","request","hasProperty","has","_tag","handler","dieMessage","encodeSuccess","encode","successSchema","matchEffect","serializeFailure","fail","add","catchAll","mapEffect","message","layerSerialized"],"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.2",
3
+ "version": "0.37.3",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -69,9 +69,10 @@ export declare namespace Runner {
69
69
  * @since 1.0.0
70
70
  * @category models
71
71
  */
72
- export interface Options<E, O> {
73
- readonly encodeOutput?: (message: O) => Effect.Effect<never, WorkerError, unknown>
74
- readonly encodeError?: (message: E) => Effect.Effect<never, WorkerError, unknown>
72
+ export interface Options<I, E, O> {
73
+ readonly decode?: (message: unknown) => Effect.Effect<never, WorkerError, I>
74
+ readonly encodeOutput?: (request: I, message: O) => Effect.Effect<never, WorkerError, unknown>
75
+ readonly encodeError?: (request: I, error: E) => Effect.Effect<never, WorkerError, unknown>
75
76
  readonly transfers?: (message: O | E) => ReadonlyArray<unknown>
76
77
  }
77
78
  }
@@ -82,7 +83,7 @@ export declare namespace Runner {
82
83
  */
83
84
  export const make: <I, R, E, O>(
84
85
  process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>,
85
- options?: Runner.Options<E, O> | undefined
86
+ options?: Runner.Options<I, E, O> | undefined
86
87
  ) => Effect.Effect<Scope.Scope | R | PlatformRunner, WorkerError, void> = internal.make
87
88
 
88
89
  /**
@@ -91,7 +92,7 @@ export const make: <I, R, E, O>(
91
92
  */
92
93
  export const layer: <I, R, E, O>(
93
94
  process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>,
94
- options?: Runner.Options<E, O> | undefined
95
+ options?: Runner.Options<I, E, O> | undefined
95
96
  ) => Layer.Layer<R | PlatformRunner, WorkerError, never> = internal.layer
96
97
 
97
98
  /**
@@ -6,16 +6,15 @@ import * as Context from "effect/Context"
6
6
  import * as Effect from "effect/Effect"
7
7
  import * as Either from "effect/Either"
8
8
  import * as Fiber from "effect/Fiber"
9
- import { pipe } from "effect/Function"
9
+ import { identity, pipe } from "effect/Function"
10
10
  import * as Layer from "effect/Layer"
11
11
  import * as Option from "effect/Option"
12
- import * as Predicate from "effect/Predicate"
13
12
  import * as Queue from "effect/Queue"
14
13
  import type * as Scope from "effect/Scope"
15
14
  import * as Stream from "effect/Stream"
16
15
  import * as Transferable from "../Transferable.js"
17
16
  import type * as Worker from "../Worker.js"
18
- import type * as WorkerError from "../WorkerError.js"
17
+ import * as WorkerError from "../WorkerError.js"
19
18
  import type * as WorkerRunner from "../WorkerRunner.js"
20
19
 
21
20
  /** @internal */
@@ -31,7 +30,7 @@ export const PlatformRunner = Context.Tag<WorkerRunner.PlatformRunner>(
31
30
  /** @internal */
32
31
  export const make = <I, R, E, O>(
33
32
  process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>,
34
- options?: WorkerRunner.Runner.Options<E, O>
33
+ options?: WorkerRunner.Runner.Options<I, E, O>
35
34
  ) =>
36
35
  Effect.gen(function*(_) {
37
36
  const platform = yield* _(PlatformRunner)
@@ -41,6 +40,15 @@ export const make = <I, R, E, O>(
41
40
 
42
41
  yield* _(
43
42
  Queue.take(backing.queue),
43
+ options?.decode ?
44
+ Effect.flatMap((req): Effect.Effect<never, WorkerError.WorkerError, Worker.Worker.Request<I>> => {
45
+ if (req[1] === 1) {
46
+ return Effect.succeed(req)
47
+ }
48
+
49
+ return Effect.map(options.decode!(req[2]), (data) => [req[0], req[1], data])
50
+ }) :
51
+ identity,
44
52
  Effect.tap((req) => {
45
53
  const id = req[0]
46
54
  if (req[1] === 1) {
@@ -58,7 +66,7 @@ export const make = <I, R, E, O>(
58
66
  onLeft: (error) => {
59
67
  const transfers = options?.transfers ? options.transfers(error) : undefined
60
68
  return pipe(
61
- options?.encodeError ? options.encodeError(error) : Effect.succeed(error),
69
+ options?.encodeError ? options.encodeError(req[2], error) : Effect.succeed(error),
62
70
  Effect.flatMap((payload) => backing.send([id, 2, payload as any], transfers)),
63
71
  Effect.catchAllCause((cause) => backing.send([id, 3, Cause.squash(cause)]))
64
72
  )
@@ -68,7 +76,7 @@ export const make = <I, R, E, O>(
68
76
  onSuccess: (data) => {
69
77
  const transfers = options?.transfers ? options.transfers(data) : undefined
70
78
  return pipe(
71
- options?.encodeOutput ? options.encodeOutput(data) : Effect.succeed(data),
79
+ options?.encodeOutput ? options.encodeOutput(req[2], data) : Effect.succeed(data),
72
80
  Effect.flatMap((payload) => backing.send([id, 0, [payload]], transfers)),
73
81
  Effect.catchAllCause((cause) => backing.send([id, 3, Cause.squash(cause)]))
74
82
  )
@@ -90,7 +98,7 @@ export const make = <I, R, E, O>(
90
98
  if (options?.transfers) {
91
99
  transfers.push(...options.transfers(data))
92
100
  }
93
- return Effect.orDie(options.encodeOutput!(data))
101
+ return Effect.orDie(options.encodeOutput!(req[2], data))
94
102
  }),
95
103
  (payload) => backing.send([id, 0, payload], transfers)
96
104
  )
@@ -102,7 +110,7 @@ export const make = <I, R, E, O>(
102
110
  onLeft: (error) => {
103
111
  const transfers = options?.transfers ? options.transfers(error) : undefined
104
112
  return pipe(
105
- options?.encodeError ? options.encodeError(error) : Effect.succeed(error),
113
+ options?.encodeError ? options.encodeError(req[2], error) : Effect.succeed(error),
106
114
  Effect.flatMap((payload) => backing.send([id, 2, payload as any], transfers)),
107
115
  Effect.catchAllCause((cause) => backing.send([id, 3, Cause.squash(cause)]))
108
116
  )
@@ -129,7 +137,7 @@ export const make = <I, R, E, O>(
129
137
  /** @internal */
130
138
  export const layer = <I, R, E, O>(
131
139
  process: (request: I) => Stream.Stream<R, E, O> | Effect.Effect<R, E, O>,
132
- options?: WorkerRunner.Runner.Options<E, O>
140
+ options?: WorkerRunner.Runner.Options<I, E, O>
133
141
  ): Layer.Layer<WorkerRunner.PlatformRunner | R, WorkerError.WorkerError, never> =>
134
142
  Layer.scopedDiscard(make(process, options))
135
143
 
@@ -153,46 +161,28 @@ export const makeSerialized = <
153
161
  WorkerError.WorkerError,
154
162
  void
155
163
  > => {
156
- const parseRequest = Schema.decode(schema)
157
- const effectTags = new Set<string>()
158
- return make((request: I) => {
159
- if (Predicate.hasProperty(request, "_tag") && effectTags.has(request._tag as string)) {
160
- return Effect.flatMap(parseRequest(request), (request: A) => {
161
- const handler =
162
- (handlers as unknown as Record<string, (req: unknown) => Effect.Effect<never, any, any>>)[request._tag]
163
- if (!handler) {
164
- return Effect.dieMessage(`No handler for ${request._tag}`)
165
- }
166
- const encodeSuccess = Schema.encode(Serializable.successSchema(request as any))
167
- return pipe(
168
- Effect.matchEffect(handler(request), {
169
- onFailure: (error) => Effect.flatMap(Serializable.serializeFailure(request as any, error), Effect.fail),
170
- onSuccess: encodeSuccess
171
- })
172
- )
173
- })
174
- }
175
-
176
- return Stream.flatMap(parseRequest(request), (request: A) => {
177
- const handler =
178
- (handlers as unknown as Record<string, (req: unknown) => Stream.Stream<never, any, any>>)[request._tag]
179
- if (!handler) {
180
- return Stream.dieMessage(`No handler for ${request._tag}`)
181
- }
182
- const encodeSuccess = Schema.encode(Serializable.successSchema(request as any))
183
- const stream = handler(request)
184
- if (Effect.isEffect(stream)) {
185
- effectTags.add(request._tag)
186
- }
187
- return pipe(
188
- stream,
189
- Stream.catchAll((error) => Effect.flatMap(Serializable.serializeFailure(request as any, error), Effect.fail)),
190
- Stream.mapEffect(encodeSuccess)
191
- )
192
- })
193
- }, {
164
+ const parseRequest = Schema.parse(schema)
165
+ return make((request: A) => (handlers as any)[request._tag](request), {
194
166
  transfers(message) {
195
167
  return Transferable.get(message)
168
+ },
169
+ decode(message) {
170
+ return Effect.mapError(
171
+ parseRequest(message),
172
+ (error) => WorkerError.WorkerError("decode", error)
173
+ )
174
+ },
175
+ encodeError(request, message) {
176
+ return Effect.mapError(
177
+ Serializable.serializeFailure(request as any, message),
178
+ (error) => WorkerError.WorkerError("encode", error)
179
+ )
180
+ },
181
+ encodeOutput(request, message) {
182
+ return Effect.mapError(
183
+ Serializable.serializeSuccess(request as any, message),
184
+ (error) => WorkerError.WorkerError("encode", error)
185
+ )
196
186
  }
197
187
  })
198
188
  }