@effect/platform 0.21.0 → 0.22.1

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 (116) hide show
  1. package/Http/App/dist/effect-platform-Http-App.cjs.dev.js +22 -1
  2. package/Http/App/dist/effect-platform-Http-App.cjs.mjs +1 -0
  3. package/Http/App/dist/effect-platform-Http-App.cjs.prod.js +22 -1
  4. package/Http/App/dist/effect-platform-Http-App.esm.js +21 -1
  5. package/Http/Client/dist/effect-platform-Http-Client.cjs.dev.js +12 -12
  6. package/Http/Client/dist/effect-platform-Http-Client.cjs.mjs +2 -2
  7. package/Http/Client/dist/effect-platform-Http-Client.cjs.prod.js +12 -12
  8. package/Http/Client/dist/effect-platform-Http-Client.esm.js +12 -12
  9. package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.esm.js +2 -2
  10. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.dev.js +5 -13
  11. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.mjs +0 -2
  12. package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.prod.js +5 -13
  13. package/Http/Middleware/dist/effect-platform-Http-Middleware.esm.js +7 -13
  14. package/Http/Router/dist/effect-platform-Http-Router.cjs.dev.js +1 -1
  15. package/Http/Router/dist/effect-platform-Http-Router.cjs.prod.js +1 -1
  16. package/Http/Router/dist/effect-platform-Http-Router.esm.js +3 -3
  17. package/Http/ServerError/dist/effect-platform-Http-ServerError.esm.js +1 -1
  18. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.dev.js +1 -1
  19. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.prod.js +1 -1
  20. package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.esm.js +2 -2
  21. package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.esm.js +1 -1
  22. package/HttpClient/dist/effect-platform-HttpClient.cjs.dev.js +5 -5
  23. package/HttpClient/dist/effect-platform-HttpClient.cjs.prod.js +5 -5
  24. package/HttpClient/dist/effect-platform-HttpClient.esm.js +6 -6
  25. package/HttpServer/dist/effect-platform-HttpServer.cjs.dev.js +12 -11
  26. package/HttpServer/dist/effect-platform-HttpServer.cjs.prod.js +12 -11
  27. package/HttpServer/dist/effect-platform-HttpServer.esm.js +14 -13
  28. package/Worker/dist/effect-platform-Worker.cjs.d.mts +2 -0
  29. package/Worker/dist/effect-platform-Worker.cjs.d.mts.map +1 -0
  30. package/Worker/dist/effect-platform-Worker.cjs.d.ts +2 -0
  31. package/Worker/dist/effect-platform-Worker.cjs.d.ts.map +1 -0
  32. package/Worker/dist/effect-platform-Worker.cjs.dev.js +291 -0
  33. package/Worker/dist/effect-platform-Worker.cjs.js +7 -0
  34. package/Worker/dist/effect-platform-Worker.cjs.mjs +10 -0
  35. package/Worker/dist/effect-platform-Worker.cjs.prod.js +291 -0
  36. package/Worker/dist/effect-platform-Worker.esm.js +252 -0
  37. package/Worker/package.json +4 -0
  38. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts +2 -0
  39. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts.map +1 -0
  40. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts +2 -0
  41. package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts.map +1 -0
  42. package/WorkerError/dist/effect-platform-WorkerError.cjs.dev.js +65 -0
  43. package/WorkerError/dist/effect-platform-WorkerError.cjs.js +7 -0
  44. package/WorkerError/dist/effect-platform-WorkerError.cjs.mjs +4 -0
  45. package/WorkerError/dist/effect-platform-WorkerError.cjs.prod.js +65 -0
  46. package/WorkerError/dist/effect-platform-WorkerError.esm.js +40 -0
  47. package/WorkerError/package.json +4 -0
  48. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts +2 -0
  49. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts.map +1 -0
  50. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts +2 -0
  51. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts.map +1 -0
  52. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.dev.js +129 -0
  53. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.js +7 -0
  54. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.mjs +5 -0
  55. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.prod.js +129 -0
  56. package/WorkerRunner/dist/effect-platform-WorkerRunner.esm.js +97 -0
  57. package/WorkerRunner/package.json +4 -0
  58. package/dist/{App-1ca51fa7.esm.js → App-2d206a13.esm.js} +9 -1
  59. package/dist/{App-d8b904fa.cjs.prod.js → App-7ef679dc.cjs.prod.js} +9 -0
  60. package/dist/{App-18152f12.cjs.dev.js → App-bad10dc1.cjs.dev.js} +9 -0
  61. package/dist/{Client-3938c9f5.cjs.dev.js → Client-0146412d.cjs.dev.js} +16 -19
  62. package/dist/{Client-e8ebeb3a.esm.js → Client-4f8f804b.esm.js} +18 -21
  63. package/dist/{Client-5497adf2.cjs.prod.js → Client-e9835f16.cjs.prod.js} +16 -19
  64. package/dist/{ClientRequest-490c76cd.esm.js → ClientRequest-27630c54.esm.js} +1 -1
  65. package/dist/Middleware-934a0c8f.esm.js +41 -0
  66. package/dist/Middleware-a2c50c35.cjs.dev.js +46 -0
  67. package/dist/Middleware-e53794a3.cjs.prod.js +46 -0
  68. package/dist/{Router-3112d780.esm.js → Router-2505b5dd.esm.js} +2 -2
  69. package/dist/{Router-2c0b718b.cjs.prod.js → Router-3645c2b3.cjs.prod.js} +3 -3
  70. package/dist/{Router-06c5cb9a.cjs.dev.js → Router-b9feed01.cjs.dev.js} +3 -3
  71. package/dist/{ServerError-04ad5b57.esm.js → ServerError-97730ed2.esm.js} +1 -1
  72. package/dist/{ServerRequest-41c7e979.esm.js → ServerRequest-078a4bb2.esm.js} +2 -2
  73. package/dist/ServerRequest-705b12bb.cjs.prod.js +2 -2
  74. package/dist/ServerRequest-8e9629a5.cjs.dev.js +2 -2
  75. package/dist/{ServerResponse-03c252ea.esm.js → ServerResponse-de572c21.esm.js} +1 -1
  76. package/dist/{clientRequest-6121a7f6.esm.js → clientRequest-fe7578cf.esm.js} +1 -1
  77. package/dist/declarations/src/Error.d.ts +1 -1
  78. package/dist/declarations/src/Error.d.ts.map +1 -1
  79. package/dist/declarations/src/Http/App.d.ts +5 -0
  80. package/dist/declarations/src/Http/App.d.ts.map +1 -1
  81. package/dist/declarations/src/Http/Client.d.ts +5 -6
  82. package/dist/declarations/src/Http/Client.d.ts.map +1 -1
  83. package/dist/declarations/src/Http/Middleware.d.ts +0 -10
  84. package/dist/declarations/src/Http/Middleware.d.ts.map +1 -1
  85. package/dist/declarations/src/Worker.d.ts +170 -0
  86. package/dist/declarations/src/Worker.d.ts.map +1 -0
  87. package/dist/declarations/src/WorkerError.d.ts +30 -0
  88. package/dist/declarations/src/WorkerError.d.ts.map +1 -0
  89. package/dist/declarations/src/WorkerRunner.d.ts +72 -0
  90. package/dist/declarations/src/WorkerRunner.d.ts.map +1 -0
  91. package/dist/declarations/src/index.d.ts +12 -0
  92. package/dist/declarations/src/index.d.ts.map +1 -1
  93. package/dist/effect-platform.cjs.dev.js +9 -0
  94. package/dist/effect-platform.cjs.mjs +4 -1
  95. package/dist/effect-platform.cjs.prod.js +9 -0
  96. package/dist/effect-platform.esm.js +6 -0
  97. package/dist/middleware-85768a1e.cjs.prod.js +66 -0
  98. package/dist/middleware-98794cc2.cjs.dev.js +66 -0
  99. package/dist/middleware-ea618e68.esm.js +41 -0
  100. package/package.json +24 -3
  101. package/src/Error.ts +1 -1
  102. package/src/Http/App.ts +9 -0
  103. package/src/Http/Client.ts +10 -8
  104. package/src/Http/Middleware.ts +0 -12
  105. package/src/Worker.ts +207 -0
  106. package/src/WorkerError.ts +34 -0
  107. package/src/WorkerRunner.ts +83 -0
  108. package/src/index.ts +15 -0
  109. package/src/internal/http/client.ts +33 -33
  110. package/src/internal/http/middleware.ts +4 -26
  111. package/src/internal/worker.ts +262 -0
  112. package/src/internal/workerError.ts +16 -0
  113. package/src/internal/workerRunner.ts +83 -0
  114. package/dist/Middleware-04ddadf1.esm.js +0 -100
  115. package/dist/Middleware-3e264366.cjs.dev.js +0 -127
  116. package/dist/Middleware-8b05423d.cjs.prod.js +0 -127
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Data = require('effect/Data');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var Data__namespace = /*#__PURE__*/_interopNamespace(Data);
26
+
27
+ /** @internal */
28
+ const WorkerErrorTypeId$1 = /*#__PURE__*/Symbol.for("@effect-ts/platform/Worker/WorkerError");
29
+
30
+ /** @internal */
31
+ const WorkerError$1 = (reason, error) => Data__namespace.struct({
32
+ [WorkerErrorTypeId$1]: WorkerErrorTypeId$1,
33
+ _tag: "WorkerError",
34
+ reason,
35
+ error
36
+ });
37
+
38
+ /**
39
+ * @since 1.0.0
40
+ */
41
+
42
+ /**
43
+ * @since 1.0.0
44
+ * @category type ids
45
+ */
46
+ const WorkerErrorTypeId = WorkerErrorTypeId$1;
47
+
48
+ /**
49
+ * @since 1.0.0
50
+ * @category type ids
51
+ */
52
+
53
+ /**
54
+ * @since 1.0.0
55
+ * @category errors
56
+ */
57
+
58
+ /**
59
+ * @since 1.0.0
60
+ * @category errors
61
+ */
62
+ const WorkerError = WorkerError$1;
63
+
64
+ exports.WorkerError = WorkerError;
65
+ exports.WorkerErrorTypeId = WorkerErrorTypeId;
@@ -0,0 +1,40 @@
1
+ import * as Data from 'effect/Data';
2
+
3
+ /** @internal */
4
+ const WorkerErrorTypeId$1 = /*#__PURE__*/Symbol.for("@effect-ts/platform/Worker/WorkerError");
5
+
6
+ /** @internal */
7
+ const WorkerError$1 = (reason, error) => Data.struct({
8
+ [WorkerErrorTypeId$1]: WorkerErrorTypeId$1,
9
+ _tag: "WorkerError",
10
+ reason,
11
+ error
12
+ });
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ */
17
+
18
+ /**
19
+ * @since 1.0.0
20
+ * @category type ids
21
+ */
22
+ const WorkerErrorTypeId = WorkerErrorTypeId$1;
23
+
24
+ /**
25
+ * @since 1.0.0
26
+ * @category type ids
27
+ */
28
+
29
+ /**
30
+ * @since 1.0.0
31
+ * @category errors
32
+ */
33
+
34
+ /**
35
+ * @since 1.0.0
36
+ * @category errors
37
+ */
38
+ const WorkerError = WorkerError$1;
39
+
40
+ export { WorkerError, WorkerErrorTypeId };
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/effect-platform-WorkerError.cjs.js",
3
+ "module": "dist/effect-platform-WorkerError.esm.js"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../../dist/declarations/src/WorkerRunner.js";
2
+ //# sourceMappingURL=effect-platform-WorkerRunner.cjs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-platform-WorkerRunner.cjs.d.mts","sourceRoot":"","sources":["../../dist/declarations/src/WorkerRunner.d.ts"],"names":[],"mappings":"AAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "../../dist/declarations/src/WorkerRunner";
2
+ //# sourceMappingURL=effect-platform-WorkerRunner.cjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-platform-WorkerRunner.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/WorkerRunner.d.ts"],"names":[],"mappings":"AAAA"}
@@ -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,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./effect-platform-WorkerRunner.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./effect-platform-WorkerRunner.cjs.dev.js");
7
+ }
@@ -0,0 +1,5 @@
1
+ export {
2
+ PlatformRunner,
3
+ PlatformRunnerTypeId,
4
+ make
5
+ } from "./effect-platform-WorkerRunner.cjs.js";
@@ -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
+ }
@@ -3,6 +3,7 @@ import * as FiberRef from 'effect/FiberRef';
3
3
  import { dual } from 'effect/Function';
4
4
  import { globalValue } from 'effect/GlobalValue';
5
5
  import * as ReadonlyArray from 'effect/ReadonlyArray';
6
+ import { t as tracer } from './middleware-ea618e68.esm.js';
6
7
 
7
8
  /**
8
9
  * @since 1.0.0
@@ -18,6 +19,12 @@ import * as ReadonlyArray from 'effect/ReadonlyArray';
18
19
  * @category models
19
20
  */
20
21
 
22
+ /**
23
+ * @since 1.0.0
24
+ * @category combinators
25
+ */
26
+ const withDefaultMiddleware = self => tracer(self);
27
+
21
28
  /**
22
29
  * @since 1.0.0
23
30
  * @category models
@@ -56,10 +63,11 @@ const withPreResponseHandler = /*#__PURE__*/dual(2, (self, handler) => Effect.lo
56
63
 
57
64
  var App = /*#__PURE__*/Object.freeze({
58
65
  __proto__: null,
66
+ withDefaultMiddleware: withDefaultMiddleware,
59
67
  currentPreResponseHandlers: currentPreResponseHandlers,
60
68
  preResponseHandler: preResponseHandler,
61
69
  appendPreResponseHandler: appendPreResponseHandler,
62
70
  withPreResponseHandler: withPreResponseHandler
63
71
  });
64
72
 
65
- export { App as A, appendPreResponseHandler as a, currentPreResponseHandlers as c, preResponseHandler as p, withPreResponseHandler as w };
73
+ export { App as A, appendPreResponseHandler as a, withPreResponseHandler as b, currentPreResponseHandlers as c, preResponseHandler as p, withDefaultMiddleware as w };
@@ -5,6 +5,7 @@ var FiberRef = require('effect/FiberRef');
5
5
  var Function = require('effect/Function');
6
6
  var Global = require('effect/GlobalValue');
7
7
  var ReadonlyArray = require('effect/ReadonlyArray');
8
+ var middleware = require('./middleware-85768a1e.cjs.prod.js');
8
9
 
9
10
  function _interopNamespace(e) {
10
11
  if (e && e.__esModule) return e;
@@ -42,6 +43,12 @@ var ReadonlyArray__namespace = /*#__PURE__*/_interopNamespace(ReadonlyArray);
42
43
  * @category models
43
44
  */
44
45
 
46
+ /**
47
+ * @since 1.0.0
48
+ * @category combinators
49
+ */
50
+ const withDefaultMiddleware = self => middleware.tracer(self);
51
+
45
52
  /**
46
53
  * @since 1.0.0
47
54
  * @category models
@@ -80,6 +87,7 @@ const withPreResponseHandler = /*#__PURE__*/Function.dual(2, (self, handler) =>
80
87
 
81
88
  var App = /*#__PURE__*/Object.freeze({
82
89
  __proto__: null,
90
+ withDefaultMiddleware: withDefaultMiddleware,
83
91
  currentPreResponseHandlers: currentPreResponseHandlers,
84
92
  preResponseHandler: preResponseHandler,
85
93
  appendPreResponseHandler: appendPreResponseHandler,
@@ -90,4 +98,5 @@ exports.App = App;
90
98
  exports.appendPreResponseHandler = appendPreResponseHandler;
91
99
  exports.currentPreResponseHandlers = currentPreResponseHandlers;
92
100
  exports.preResponseHandler = preResponseHandler;
101
+ exports.withDefaultMiddleware = withDefaultMiddleware;
93
102
  exports.withPreResponseHandler = withPreResponseHandler;
@@ -5,6 +5,7 @@ var FiberRef = require('effect/FiberRef');
5
5
  var Function = require('effect/Function');
6
6
  var Global = require('effect/GlobalValue');
7
7
  var ReadonlyArray = require('effect/ReadonlyArray');
8
+ var middleware = require('./middleware-98794cc2.cjs.dev.js');
8
9
 
9
10
  function _interopNamespace(e) {
10
11
  if (e && e.__esModule) return e;
@@ -42,6 +43,12 @@ var ReadonlyArray__namespace = /*#__PURE__*/_interopNamespace(ReadonlyArray);
42
43
  * @category models
43
44
  */
44
45
 
46
+ /**
47
+ * @since 1.0.0
48
+ * @category combinators
49
+ */
50
+ const withDefaultMiddleware = self => middleware.tracer(self);
51
+
45
52
  /**
46
53
  * @since 1.0.0
47
54
  * @category models
@@ -80,6 +87,7 @@ const withPreResponseHandler = /*#__PURE__*/Function.dual(2, (self, handler) =>
80
87
 
81
88
  var App = /*#__PURE__*/Object.freeze({
82
89
  __proto__: null,
90
+ withDefaultMiddleware: withDefaultMiddleware,
83
91
  currentPreResponseHandlers: currentPreResponseHandlers,
84
92
  preResponseHandler: preResponseHandler,
85
93
  appendPreResponseHandler: appendPreResponseHandler,
@@ -90,4 +98,5 @@ exports.App = App;
90
98
  exports.appendPreResponseHandler = appendPreResponseHandler;
91
99
  exports.currentPreResponseHandlers = currentPreResponseHandlers;
92
100
  exports.preResponseHandler = preResponseHandler;
101
+ exports.withDefaultMiddleware = withDefaultMiddleware;
93
102
  exports.withPreResponseHandler = withPreResponseHandler;