@effect/platform 0.22.0 → 0.23.0

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.
Files changed (50) hide show
  1. package/Worker/dist/effect-platform-Worker.cjs.d.mts +2 -0
  2. package/Worker/dist/effect-platform-Worker.cjs.d.mts.map +1 -0
  3. package/Worker/dist/effect-platform-Worker.cjs.d.ts +2 -0
  4. package/Worker/dist/effect-platform-Worker.cjs.d.ts.map +1 -0
  5. package/Worker/dist/effect-platform-Worker.cjs.dev.js +291 -0
  6. package/Worker/dist/effect-platform-Worker.cjs.js +7 -0
  7. package/Worker/dist/effect-platform-Worker.cjs.mjs +10 -0
  8. package/Worker/dist/effect-platform-Worker.cjs.prod.js +291 -0
  9. package/Worker/dist/effect-platform-Worker.esm.js +252 -0
  10. package/Worker/package.json +4 -0
  11. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts +2 -0
  12. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts.map +1 -0
  13. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts +2 -0
  14. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts.map +1 -0
  15. package/WorkerError/dist/effect-platform-WorkerError.cjs.dev.js +65 -0
  16. package/WorkerError/dist/effect-platform-WorkerError.cjs.js +7 -0
  17. package/WorkerError/dist/effect-platform-WorkerError.cjs.mjs +4 -0
  18. package/WorkerError/dist/effect-platform-WorkerError.cjs.prod.js +65 -0
  19. package/WorkerError/dist/effect-platform-WorkerError.esm.js +40 -0
  20. package/WorkerError/package.json +4 -0
  21. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts +2 -0
  22. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts.map +1 -0
  23. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts +2 -0
  24. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts.map +1 -0
  25. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.dev.js +129 -0
  26. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.js +7 -0
  27. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.mjs +5 -0
  28. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.prod.js +129 -0
  29. package/WorkerRunner/dist/effect-platform-WorkerRunner.esm.js +97 -0
  30. package/WorkerRunner/package.json +4 -0
  31. package/dist/declarations/src/Worker.d.ts +170 -0
  32. package/dist/declarations/src/Worker.d.ts.map +1 -0
  33. package/dist/declarations/src/WorkerError.d.ts +30 -0
  34. package/dist/declarations/src/WorkerError.d.ts.map +1 -0
  35. package/dist/declarations/src/WorkerRunner.d.ts +72 -0
  36. package/dist/declarations/src/WorkerRunner.d.ts.map +1 -0
  37. package/dist/declarations/src/index.d.ts +12 -0
  38. package/dist/declarations/src/index.d.ts.map +1 -1
  39. package/dist/effect-platform.cjs.dev.js +9 -0
  40. package/dist/effect-platform.cjs.mjs +4 -1
  41. package/dist/effect-platform.cjs.prod.js +9 -0
  42. package/dist/effect-platform.esm.js +6 -0
  43. package/package.json +27 -6
  44. package/src/Worker.ts +207 -0
  45. package/src/WorkerError.ts +34 -0
  46. package/src/WorkerRunner.ts +83 -0
  47. package/src/index.ts +15 -0
  48. package/src/internal/worker.ts +262 -0
  49. package/src/internal/workerError.ts +16 -0
  50. package/src/internal/workerRunner.ts +83 -0
@@ -0,0 +1,129 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Cause = require('effect/Cause');
6
+ var Context = require('effect/Context');
7
+ var Effect = require('effect/Effect');
8
+ var Either = require('effect/Either');
9
+ var Fiber = require('effect/Fiber');
10
+ var Function = require('effect/Function');
11
+ var Queue = require('effect/Queue');
12
+ var Stream = require('effect/Stream');
13
+
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule) return e;
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () { return e[k]; }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ n["default"] = e;
29
+ return Object.freeze(n);
30
+ }
31
+
32
+ var Cause__namespace = /*#__PURE__*/_interopNamespace(Cause);
33
+ var Context__namespace = /*#__PURE__*/_interopNamespace(Context);
34
+ var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
35
+ var Either__namespace = /*#__PURE__*/_interopNamespace(Either);
36
+ var Fiber__namespace = /*#__PURE__*/_interopNamespace(Fiber);
37
+ var Queue__namespace = /*#__PURE__*/_interopNamespace(Queue);
38
+ var Stream__namespace = /*#__PURE__*/_interopNamespace(Stream);
39
+
40
+ /** @internal */
41
+ const PlatformRunnerTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/Runner/PlatformRunner");
42
+
43
+ /** @internal */
44
+ const PlatformRunner$1 = /*#__PURE__*/Context__namespace.Tag(PlatformRunnerTypeId$1);
45
+
46
+ /** @internal */
47
+ const make$1 = (process, options) => Effect__namespace.gen(function* (_) {
48
+ const platform = yield* _(PlatformRunner$1);
49
+ const backing = yield* _(platform.start());
50
+ const fiberMap = new Map();
51
+ const handleRequests = Function.pipe(Queue__namespace.take(backing.queue), Effect__namespace.tap(req => {
52
+ const id = req[0];
53
+ if (req[1] === 1) {
54
+ const fiber = fiberMap.get(id);
55
+ if (!fiber) return Effect__namespace.unit;
56
+ return Fiber__namespace.interrupt(fiber);
57
+ }
58
+ const stream = process(req[2]);
59
+ const effect = Effect__namespace.isEffect(stream) ? Effect__namespace.matchCauseEffect(stream, {
60
+ onFailure: cause => Either__namespace.match(Cause__namespace.failureOrCause(cause), {
61
+ onLeft: error => backing.send([id, 2, error]),
62
+ onRight: cause => backing.send([id, 3, Cause__namespace.squash(cause)])
63
+ }),
64
+ onSuccess: data => backing.send([id, 1, data])
65
+ }) : Function.pipe(stream, Stream__namespace.tap(item => backing.send([id, 0, item], options?.transfers ? options.transfers(item) : undefined)), Stream__namespace.runDrain, Effect__namespace.matchCauseEffect({
66
+ onFailure: cause => Either__namespace.match(Cause__namespace.failureOrCause(cause), {
67
+ onLeft: error => backing.send([id, 2, error]),
68
+ onRight: cause => backing.send([id, 3, Cause__namespace.squash(cause)])
69
+ }),
70
+ onSuccess: () => backing.send([id, 1])
71
+ }));
72
+ return Function.pipe(effect, Effect__namespace.ensuring(Effect__namespace.sync(() => fiberMap.delete(id))), Effect__namespace.fork, Effect__namespace.tap(fiber => Effect__namespace.sync(() => fiberMap.set(id, fiber))));
73
+ }), Effect__namespace.forever);
74
+ return yield* _(Effect__namespace.all([handleRequests, Fiber__namespace.join(backing.fiber)], {
75
+ concurrency: "unbounded",
76
+ discard: true
77
+ }));
78
+ });
79
+
80
+ /**
81
+ * @since 1.0.0
82
+ */
83
+
84
+ /**
85
+ * @since 1.0.0
86
+ * @category models
87
+ */
88
+
89
+ /**
90
+ * @since 1.0.0
91
+ * @category models
92
+ */
93
+
94
+ /**
95
+ * @since 1.0.0
96
+ * @category type ids
97
+ */
98
+ const PlatformRunnerTypeId = PlatformRunnerTypeId$1;
99
+
100
+ /**
101
+ * @since 1.0.0
102
+ * @category type ids
103
+ */
104
+
105
+ /**
106
+ * @since 1.0.0
107
+ * @category models
108
+ */
109
+
110
+ /**
111
+ * @since 1.0.0
112
+ * @category tags
113
+ */
114
+ const PlatformRunner = PlatformRunner$1;
115
+
116
+ /**
117
+ * @since 1.0.0
118
+ * @category models
119
+ */
120
+
121
+ /**
122
+ * @since 1.0.0
123
+ * @category constructors
124
+ */
125
+ const make = make$1;
126
+
127
+ exports.PlatformRunner = PlatformRunner;
128
+ exports.PlatformRunnerTypeId = PlatformRunnerTypeId;
129
+ exports.make = make;
@@ -0,0 +1,97 @@
1
+ import * as Cause from 'effect/Cause';
2
+ import * as Context from 'effect/Context';
3
+ import * as Effect from 'effect/Effect';
4
+ import * as Either from 'effect/Either';
5
+ import * as Fiber from 'effect/Fiber';
6
+ import { pipe } from 'effect/Function';
7
+ import * as Queue from 'effect/Queue';
8
+ import * as Stream from 'effect/Stream';
9
+
10
+ /** @internal */
11
+ const PlatformRunnerTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/Runner/PlatformRunner");
12
+
13
+ /** @internal */
14
+ const PlatformRunner$1 = /*#__PURE__*/Context.Tag(PlatformRunnerTypeId$1);
15
+
16
+ /** @internal */
17
+ const make$1 = (process, options) => Effect.gen(function* (_) {
18
+ const platform = yield* _(PlatformRunner$1);
19
+ const backing = yield* _(platform.start());
20
+ const fiberMap = new Map();
21
+ const handleRequests = pipe(Queue.take(backing.queue), Effect.tap(req => {
22
+ const id = req[0];
23
+ if (req[1] === 1) {
24
+ const fiber = fiberMap.get(id);
25
+ if (!fiber) return Effect.unit;
26
+ return Fiber.interrupt(fiber);
27
+ }
28
+ const stream = process(req[2]);
29
+ const effect = Effect.isEffect(stream) ? Effect.matchCauseEffect(stream, {
30
+ onFailure: cause => Either.match(Cause.failureOrCause(cause), {
31
+ onLeft: error => backing.send([id, 2, error]),
32
+ onRight: cause => backing.send([id, 3, Cause.squash(cause)])
33
+ }),
34
+ onSuccess: data => backing.send([id, 1, data])
35
+ }) : pipe(stream, Stream.tap(item => backing.send([id, 0, item], options?.transfers ? options.transfers(item) : undefined)), Stream.runDrain, Effect.matchCauseEffect({
36
+ onFailure: cause => Either.match(Cause.failureOrCause(cause), {
37
+ onLeft: error => backing.send([id, 2, error]),
38
+ onRight: cause => backing.send([id, 3, Cause.squash(cause)])
39
+ }),
40
+ onSuccess: () => backing.send([id, 1])
41
+ }));
42
+ return pipe(effect, Effect.ensuring(Effect.sync(() => fiberMap.delete(id))), Effect.fork, Effect.tap(fiber => Effect.sync(() => fiberMap.set(id, fiber))));
43
+ }), Effect.forever);
44
+ return yield* _(Effect.all([handleRequests, Fiber.join(backing.fiber)], {
45
+ concurrency: "unbounded",
46
+ discard: true
47
+ }));
48
+ });
49
+
50
+ /**
51
+ * @since 1.0.0
52
+ */
53
+
54
+ /**
55
+ * @since 1.0.0
56
+ * @category models
57
+ */
58
+
59
+ /**
60
+ * @since 1.0.0
61
+ * @category models
62
+ */
63
+
64
+ /**
65
+ * @since 1.0.0
66
+ * @category type ids
67
+ */
68
+ const PlatformRunnerTypeId = PlatformRunnerTypeId$1;
69
+
70
+ /**
71
+ * @since 1.0.0
72
+ * @category type ids
73
+ */
74
+
75
+ /**
76
+ * @since 1.0.0
77
+ * @category models
78
+ */
79
+
80
+ /**
81
+ * @since 1.0.0
82
+ * @category tags
83
+ */
84
+ const PlatformRunner = PlatformRunner$1;
85
+
86
+ /**
87
+ * @since 1.0.0
88
+ * @category models
89
+ */
90
+
91
+ /**
92
+ * @since 1.0.0
93
+ * @category constructors
94
+ */
95
+ const make = make$1;
96
+
97
+ export { PlatformRunner, PlatformRunnerTypeId, make };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/effect-platform-WorkerRunner.cjs.js",
3
+ "module": "dist/effect-platform-WorkerRunner.esm.js"
4
+ }
@@ -0,0 +1,170 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { Effect } from "effect";
5
+ import type * as Context from "effect/Context";
6
+ import type * as Duration from "effect/Duration";
7
+ import type * as Layer from "effect/Layer";
8
+ import type * as Pool from "effect/Pool";
9
+ import type * as Queue from "effect/Queue";
10
+ import type * as Scope from "effect/Scope";
11
+ import type * as Stream from "effect/Stream";
12
+ import type { WorkerError } from "./WorkerError.js";
13
+ /**
14
+ * @since 1.0.0
15
+ * @category models
16
+ */
17
+ export interface BackingWorker<I, O> {
18
+ readonly join: Effect.Effect<never, WorkerError, never>;
19
+ readonly send: (message: I, transfers?: ReadonlyArray<unknown>) => Effect.Effect<never, never, void>;
20
+ readonly queue: Queue.Dequeue<BackingWorker.Message<O>>;
21
+ }
22
+ /**
23
+ * @since 1.0.0
24
+ * @category models
25
+ */
26
+ export declare namespace BackingWorker {
27
+ /**
28
+ * @since 1.0.0
29
+ * @category models
30
+ */
31
+ type Message<O> = readonly [ready: 0] | readonly [data: 1, O];
32
+ }
33
+ /**
34
+ * @since 1.0.0
35
+ * @category type ids
36
+ */
37
+ export declare const PlatformWorkerTypeId: unique symbol;
38
+ /**
39
+ * @since 1.0.0
40
+ * @category type ids
41
+ */
42
+ export type PlatformWorkerTypeId = typeof PlatformWorkerTypeId;
43
+ /**
44
+ * @since 1.0.0
45
+ * @category models
46
+ */
47
+ export interface PlatformWorker {
48
+ readonly [PlatformWorkerTypeId]: PlatformWorkerTypeId;
49
+ readonly spawn: <I, O>(worker: unknown) => Effect.Effect<Scope.Scope, WorkerError, BackingWorker<I, O>>;
50
+ }
51
+ /**
52
+ * @since 1.0.0
53
+ * @category tags
54
+ */
55
+ export declare const PlatformWorker: Context.Tag<PlatformWorker, PlatformWorker>;
56
+ /**
57
+ * @since 1.0.0
58
+ * @category models
59
+ */
60
+ export interface Worker<I, E, O> {
61
+ readonly id: number;
62
+ readonly join: Effect.Effect<never, WorkerError, never>;
63
+ readonly execute: (message: I) => Stream.Stream<never, E, O>;
64
+ readonly executeEffect: (message: I) => Effect.Effect<never, E, O>;
65
+ }
66
+ /**
67
+ * @since 1.0.0
68
+ * @category models
69
+ */
70
+ export declare namespace Worker {
71
+ /**
72
+ * @since 1.0.0
73
+ * @category models
74
+ */
75
+ interface Options<I, W = unknown> {
76
+ readonly spawn: (id: number) => W;
77
+ readonly transfers?: (message: I) => ReadonlyArray<unknown>;
78
+ readonly permits?: number;
79
+ readonly queue?: WorkerQueue<I>;
80
+ }
81
+ /**
82
+ * @since 1.0.0
83
+ * @category models
84
+ */
85
+ type Request<I> = readonly [id: number, data: 0, I] | readonly [id: number, interrupt: 1];
86
+ /**
87
+ * @since 1.0.0
88
+ * @category models
89
+ */
90
+ type Response<E, O> = 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];
91
+ }
92
+ /**
93
+ * @since 1.0.0
94
+ * @category models
95
+ */
96
+ export interface WorkerPool<I, E, O> {
97
+ readonly backing: Pool.Pool<WorkerError, Worker<I, E, O>>;
98
+ readonly execute: (message: I) => Stream.Stream<never, E | WorkerError, O>;
99
+ readonly executeEffect: (message: I) => Effect.Effect<never, E | WorkerError, O>;
100
+ }
101
+ /**
102
+ * @since 1.0.0
103
+ * @category models
104
+ */
105
+ export declare namespace WorkerPool {
106
+ /**
107
+ * @since 1.0.0
108
+ * @category models
109
+ */
110
+ type Options<I, W = unknown> = Worker.Options<I, W> & ({
111
+ readonly size: number;
112
+ } | {
113
+ readonly minSize: number;
114
+ readonly maxSize: number;
115
+ readonly timeToLive: Duration.DurationInput;
116
+ });
117
+ }
118
+ /**
119
+ * @category models
120
+ * @since 1.0.0
121
+ */
122
+ export interface WorkerQueue<I> {
123
+ readonly offer: (id: number, item: I) => Effect.Effect<never, never, void>;
124
+ readonly take: Effect.Effect<never, never, readonly [id: number, item: I]>;
125
+ readonly shutdown: Effect.Effect<never, never, void>;
126
+ }
127
+ /**
128
+ * @since 1.0.0
129
+ * @category type ids
130
+ */
131
+ export declare const WorkerManagerTypeId: unique symbol;
132
+ /**
133
+ * @since 1.0.0
134
+ * @category type ids
135
+ */
136
+ export type WorkerManagerTypeId = typeof WorkerManagerTypeId;
137
+ /**
138
+ * @since 1.0.0
139
+ * @category models
140
+ */
141
+ export interface WorkerManager {
142
+ readonly [WorkerManagerTypeId]: WorkerManagerTypeId;
143
+ readonly spawn: <I, E, O>(options: Worker.Options<I>) => Effect.Effect<Scope.Scope, WorkerError, Worker<I, E, O>>;
144
+ }
145
+ /**
146
+ * @since 1.0.0
147
+ * @category tags
148
+ */
149
+ export declare const WorkerManager: Context.Tag<WorkerManager, WorkerManager>;
150
+ /**
151
+ * @since 1.0.0
152
+ * @category constructors
153
+ */
154
+ export declare const makeManager: Effect.Effect<PlatformWorker, never, WorkerManager>;
155
+ /**
156
+ * @since 1.0.0
157
+ * @category layers
158
+ */
159
+ export declare const layerManager: Layer.Layer<PlatformWorker, never, WorkerManager>;
160
+ /**
161
+ * @since 1.0.0
162
+ * @category constructors
163
+ */
164
+ export declare const makePool: <W>() => <I, E, O>(options: WorkerPool.Options<I, W>) => Effect.Effect<WorkerManager | Scope.Scope, never, WorkerPool<I, E, O>>;
165
+ /**
166
+ * @since 1.0.0
167
+ * @category constructors
168
+ */
169
+ export declare const makePoolLayer: <W>(managerLayer: Layer.Layer<never, never, WorkerManager>) => <Tag, I, E, O>(tag: Context.Tag<Tag, WorkerPool<I, E, O>>, options: WorkerPool.Options<I, W>) => Layer.Layer<never, never, Tag>;
170
+ //# sourceMappingURL=Worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Worker.d.ts","sourceRoot":"../../../src","sources":["Worker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,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,yBAAqB;AAEhD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACvD,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;IACpG,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,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IACvD,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACnE;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO;QACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,CAAA;QACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;KAChC;IAED;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAEhG;;;OAGG;IACH,KAAY,QAAQ,CAAC,CAAC,EAAE,CAAC,IACrB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GACjC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAC7B,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAChC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAClC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;IAC1E,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;CACjF;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,CAAC;QACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KACtB,GAAG;QACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;KAC5C,CAAC,CAAA;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACrD;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAA;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACnD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACtB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAC9D;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAA0B,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,CAAwB,CAAA;AAEpG;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,CAAyB,CAAA;AAEpG;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAqB,CAAA;AAE/F;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,EAC5B,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KACnD,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1C,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAC9B,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAA0B,CAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Data from "effect/Data";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category type ids
8
+ */
9
+ export declare const WorkerErrorTypeId: unique symbol;
10
+ /**
11
+ * @since 1.0.0
12
+ * @category type ids
13
+ */
14
+ export type WorkerErrorTypeId = typeof WorkerErrorTypeId;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category errors
18
+ */
19
+ export interface WorkerError extends Data.Case {
20
+ readonly [WorkerErrorTypeId]: WorkerErrorTypeId;
21
+ readonly _tag: "WorkerError";
22
+ readonly reason: "spawn" | "decode" | "unknown";
23
+ readonly error: unknown;
24
+ }
25
+ /**
26
+ * @since 1.0.0
27
+ * @category errors
28
+ */
29
+ export declare const WorkerError: (reason: "spawn" | "decode" | "unknown", error: unknown) => WorkerError;
30
+ //# sourceMappingURL=WorkerError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerError.d.ts","sourceRoot":"../../../src","sources":["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,SAAS,CAAA;IAC/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,WAAkC,CAAA"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { Effect } from "effect";
5
+ import type * as Context from "effect/Context";
6
+ import type * as Fiber from "effect/Fiber";
7
+ import type * as Queue from "effect/Queue";
8
+ import type * as Scope from "effect/Scope";
9
+ import type * as Stream from "effect/Stream";
10
+ import type { WorkerError } from "./WorkerError.js";
11
+ /**
12
+ * @since 1.0.0
13
+ * @category models
14
+ */
15
+ export interface BackingRunner<I, O> {
16
+ readonly fiber: Fiber.Fiber<WorkerError, void>;
17
+ readonly queue: Queue.Dequeue<I>;
18
+ readonly send: (message: O, transfers?: ReadonlyArray<unknown>) => Effect.Effect<never, never, void>;
19
+ }
20
+ /**
21
+ * @since 1.0.0
22
+ * @category models
23
+ */
24
+ export declare namespace BackingRunner {
25
+ /**
26
+ * @since 1.0.0
27
+ * @category models
28
+ */
29
+ type Message<I> = readonly [request: 0, I] | readonly [close: 1];
30
+ }
31
+ /**
32
+ * @since 1.0.0
33
+ * @category type ids
34
+ */
35
+ export declare const PlatformRunnerTypeId: unique symbol;
36
+ /**
37
+ * @since 1.0.0
38
+ * @category type ids
39
+ */
40
+ export type PlatformRunnerTypeId = typeof PlatformRunnerTypeId;
41
+ /**
42
+ * @since 1.0.0
43
+ * @category models
44
+ */
45
+ export interface PlatformRunner {
46
+ readonly [PlatformRunnerTypeId]: PlatformRunnerTypeId;
47
+ readonly start: <I, O>() => Effect.Effect<Scope.Scope, WorkerError, BackingRunner<I, O>>;
48
+ }
49
+ /**
50
+ * @since 1.0.0
51
+ * @category tags
52
+ */
53
+ export declare const PlatformRunner: Context.Tag<PlatformRunner, PlatformRunner>;
54
+ /**
55
+ * @since 1.0.0
56
+ * @category models
57
+ */
58
+ export declare namespace Runner {
59
+ /**
60
+ * @since 1.0.0
61
+ * @category models
62
+ */
63
+ interface Options<O> {
64
+ readonly transfers?: (message: O) => ReadonlyArray<unknown>;
65
+ }
66
+ }
67
+ /**
68
+ * @since 1.0.0
69
+ * @category constructors
70
+ */
71
+ 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, void>;
72
+ //# sourceMappingURL=WorkerRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerRunner.d.ts","sourceRoot":"../../../src","sources":["WorkerRunner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,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,yBAAqB;AAEhD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC9C,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;QACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;KAC5D;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,CAAC,GAAG,SAAS,KACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,cAAc,EAAE,WAAW,EAAE,IAAI,CAAiB,CAAA"}
@@ -38,4 +38,16 @@ export * as Path from "./Path.js";
38
38
  * @since 1.0.0
39
39
  */
40
40
  export * as Runtime from "./Runtime.js";
41
+ /**
42
+ * @since 1.0.0
43
+ */
44
+ export * as Worker from "./Worker.js";
45
+ /**
46
+ * @since 1.0.0
47
+ */
48
+ export * as WorkerError from "./WorkerError.js";
49
+ /**
50
+ * @since 1.0.0
51
+ */
52
+ export * as WorkerRunner from "./WorkerRunner.js";
41
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,qBAAgC;AAEnD;;GAEG;AACH,OAAO,KAAK,eAAe,6BAAwC;AAEnE;;GAEG;AACH,OAAO,KAAK,SAAS,uBAAkC;AAEvD;;GAEG;AACH,OAAO,KAAK,KAAK,mBAA8B;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,aAAa,2BAAsC;AAE/D;;GAEG;AACH,OAAO,KAAK,IAAI,kBAA6B;AAE7C;;GAEG;AACH,OAAO,KAAK,OAAO,qBAAgC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,qBAAgC;AAEnD;;GAEG;AACH,OAAO,KAAK,eAAe,6BAAwC;AAEnE;;GAEG;AACH,OAAO,KAAK,SAAS,uBAAkC;AAEvD;;GAEG;AACH,OAAO,KAAK,KAAK,mBAA8B;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,UAAU,wBAAmC;AAEzD;;GAEG;AACH,OAAO,KAAK,aAAa,2BAAsC;AAE/D;;GAEG;AACH,OAAO,KAAK,IAAI,kBAA6B;AAE7C;;GAEG;AACH,OAAO,KAAK,OAAO,qBAAgC;AAEnD;;GAEG;AACH,OAAO,KAAK,MAAM,oBAA+B;AAEjD;;GAEG;AACH,OAAO,KAAK,WAAW,yBAAoC;AAE3D;;GAEG;AACH,OAAO,KAAK,YAAY,0BAAqC"}
@@ -12,6 +12,9 @@ var HttpServer = require('@effect/platform/HttpServer');
12
12
  var KeyValueStore = require('@effect/platform/KeyValueStore');
13
13
  var Path = require('@effect/platform/Path');
14
14
  var Runtime = require('@effect/platform/Runtime');
15
+ var Worker = require('@effect/platform/Worker');
16
+ var WorkerError = require('@effect/platform/WorkerError');
17
+ var WorkerRunner = require('@effect/platform/WorkerRunner');
15
18
 
16
19
  function _interopNamespace(e) {
17
20
  if (e && e.__esModule) return e;
@@ -41,6 +44,9 @@ var HttpServer__namespace = /*#__PURE__*/_interopNamespace(HttpServer);
41
44
  var KeyValueStore__namespace = /*#__PURE__*/_interopNamespace(KeyValueStore);
42
45
  var Path__namespace = /*#__PURE__*/_interopNamespace(Path);
43
46
  var Runtime__namespace = /*#__PURE__*/_interopNamespace(Runtime);
47
+ var Worker__namespace = /*#__PURE__*/_interopNamespace(Worker);
48
+ var WorkerError__namespace = /*#__PURE__*/_interopNamespace(WorkerError);
49
+ var WorkerRunner__namespace = /*#__PURE__*/_interopNamespace(WorkerRunner);
44
50
 
45
51
 
46
52
 
@@ -54,3 +60,6 @@ exports.HttpServer = HttpServer__namespace;
54
60
  exports.KeyValueStore = KeyValueStore__namespace;
55
61
  exports.Path = Path__namespace;
56
62
  exports.Runtime = Runtime__namespace;
63
+ exports.Worker = Worker__namespace;
64
+ exports.WorkerError = WorkerError__namespace;
65
+ exports.WorkerRunner = WorkerRunner__namespace;
@@ -8,5 +8,8 @@ export {
8
8
  HttpServer,
9
9
  KeyValueStore,
10
10
  Path,
11
- Runtime
11
+ Runtime,
12
+ Worker,
13
+ WorkerError,
14
+ WorkerRunner
12
15
  } from "./effect-platform.cjs.js";
@@ -12,6 +12,9 @@ var HttpServer = require('@effect/platform/HttpServer');
12
12
  var KeyValueStore = require('@effect/platform/KeyValueStore');
13
13
  var Path = require('@effect/platform/Path');
14
14
  var Runtime = require('@effect/platform/Runtime');
15
+ var Worker = require('@effect/platform/Worker');
16
+ var WorkerError = require('@effect/platform/WorkerError');
17
+ var WorkerRunner = require('@effect/platform/WorkerRunner');
15
18
 
16
19
  function _interopNamespace(e) {
17
20
  if (e && e.__esModule) return e;
@@ -41,6 +44,9 @@ var HttpServer__namespace = /*#__PURE__*/_interopNamespace(HttpServer);
41
44
  var KeyValueStore__namespace = /*#__PURE__*/_interopNamespace(KeyValueStore);
42
45
  var Path__namespace = /*#__PURE__*/_interopNamespace(Path);
43
46
  var Runtime__namespace = /*#__PURE__*/_interopNamespace(Runtime);
47
+ var Worker__namespace = /*#__PURE__*/_interopNamespace(Worker);
48
+ var WorkerError__namespace = /*#__PURE__*/_interopNamespace(WorkerError);
49
+ var WorkerRunner__namespace = /*#__PURE__*/_interopNamespace(WorkerRunner);
44
50
 
45
51
 
46
52
 
@@ -54,3 +60,6 @@ exports.HttpServer = HttpServer__namespace;
54
60
  exports.KeyValueStore = KeyValueStore__namespace;
55
61
  exports.Path = Path__namespace;
56
62
  exports.Runtime = Runtime__namespace;
63
+ exports.Worker = Worker__namespace;
64
+ exports.WorkerError = WorkerError__namespace;
65
+ exports.WorkerRunner = WorkerRunner__namespace;
@@ -18,3 +18,9 @@ import * as Path from '@effect/platform/Path';
18
18
  export { Path };
19
19
  import * as Runtime from '@effect/platform/Runtime';
20
20
  export { Runtime };
21
+ import * as Worker from '@effect/platform/Worker';
22
+ export { Worker };
23
+ import * as WorkerError from '@effect/platform/WorkerError';
24
+ export { WorkerError };
25
+ import * as WorkerRunner from '@effect/platform/WorkerRunner';
26
+ export { WorkerRunner };