@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.
- package/Http/App/dist/effect-platform-Http-App.cjs.dev.js +22 -1
- package/Http/App/dist/effect-platform-Http-App.cjs.mjs +1 -0
- package/Http/App/dist/effect-platform-Http-App.cjs.prod.js +22 -1
- package/Http/App/dist/effect-platform-Http-App.esm.js +21 -1
- package/Http/Client/dist/effect-platform-Http-Client.cjs.dev.js +12 -12
- package/Http/Client/dist/effect-platform-Http-Client.cjs.mjs +2 -2
- package/Http/Client/dist/effect-platform-Http-Client.cjs.prod.js +12 -12
- package/Http/Client/dist/effect-platform-Http-Client.esm.js +12 -12
- package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.esm.js +2 -2
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.dev.js +5 -13
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.mjs +0 -2
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.prod.js +5 -13
- package/Http/Middleware/dist/effect-platform-Http-Middleware.esm.js +7 -13
- package/Http/Router/dist/effect-platform-Http-Router.cjs.dev.js +1 -1
- package/Http/Router/dist/effect-platform-Http-Router.cjs.prod.js +1 -1
- package/Http/Router/dist/effect-platform-Http-Router.esm.js +3 -3
- package/Http/ServerError/dist/effect-platform-Http-ServerError.esm.js +1 -1
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.dev.js +1 -1
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.prod.js +1 -1
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.esm.js +2 -2
- package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.esm.js +1 -1
- package/HttpClient/dist/effect-platform-HttpClient.cjs.dev.js +5 -5
- package/HttpClient/dist/effect-platform-HttpClient.cjs.prod.js +5 -5
- package/HttpClient/dist/effect-platform-HttpClient.esm.js +6 -6
- package/HttpServer/dist/effect-platform-HttpServer.cjs.dev.js +12 -11
- package/HttpServer/dist/effect-platform-HttpServer.cjs.prod.js +12 -11
- package/HttpServer/dist/effect-platform-HttpServer.esm.js +14 -13
- package/Worker/dist/effect-platform-Worker.cjs.d.mts +2 -0
- package/Worker/dist/effect-platform-Worker.cjs.d.mts.map +1 -0
- package/Worker/dist/effect-platform-Worker.cjs.d.ts +2 -0
- package/Worker/dist/effect-platform-Worker.cjs.d.ts.map +1 -0
- package/Worker/dist/effect-platform-Worker.cjs.dev.js +291 -0
- package/Worker/dist/effect-platform-Worker.cjs.js +7 -0
- package/Worker/dist/effect-platform-Worker.cjs.mjs +10 -0
- package/Worker/dist/effect-platform-Worker.cjs.prod.js +291 -0
- package/Worker/dist/effect-platform-Worker.esm.js +252 -0
- package/Worker/package.json +4 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts +2 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.d.mts.map +1 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts +2 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.d.ts.map +1 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.dev.js +65 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.js +7 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.mjs +4 -0
- package/WorkerError/dist/effect-platform-WorkerError.cjs.prod.js +65 -0
- package/WorkerError/dist/effect-platform-WorkerError.esm.js +40 -0
- package/WorkerError/package.json +4 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts +2 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.mts.map +1 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts +2 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.d.ts.map +1 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.dev.js +129 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.js +7 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.mjs +5 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.prod.js +129 -0
- package/WorkerRunner/dist/effect-platform-WorkerRunner.esm.js +97 -0
- package/WorkerRunner/package.json +4 -0
- package/dist/{App-1ca51fa7.esm.js → App-2d206a13.esm.js} +9 -1
- package/dist/{App-d8b904fa.cjs.prod.js → App-7ef679dc.cjs.prod.js} +9 -0
- package/dist/{App-18152f12.cjs.dev.js → App-bad10dc1.cjs.dev.js} +9 -0
- package/dist/{Client-3938c9f5.cjs.dev.js → Client-0146412d.cjs.dev.js} +16 -19
- package/dist/{Client-e8ebeb3a.esm.js → Client-4f8f804b.esm.js} +18 -21
- package/dist/{Client-5497adf2.cjs.prod.js → Client-e9835f16.cjs.prod.js} +16 -19
- package/dist/{ClientRequest-490c76cd.esm.js → ClientRequest-27630c54.esm.js} +1 -1
- package/dist/Middleware-934a0c8f.esm.js +41 -0
- package/dist/Middleware-a2c50c35.cjs.dev.js +46 -0
- package/dist/Middleware-e53794a3.cjs.prod.js +46 -0
- package/dist/{Router-3112d780.esm.js → Router-2505b5dd.esm.js} +2 -2
- package/dist/{Router-2c0b718b.cjs.prod.js → Router-3645c2b3.cjs.prod.js} +3 -3
- package/dist/{Router-06c5cb9a.cjs.dev.js → Router-b9feed01.cjs.dev.js} +3 -3
- package/dist/{ServerError-04ad5b57.esm.js → ServerError-97730ed2.esm.js} +1 -1
- package/dist/{ServerRequest-41c7e979.esm.js → ServerRequest-078a4bb2.esm.js} +2 -2
- package/dist/ServerRequest-705b12bb.cjs.prod.js +2 -2
- package/dist/ServerRequest-8e9629a5.cjs.dev.js +2 -2
- package/dist/{ServerResponse-03c252ea.esm.js → ServerResponse-de572c21.esm.js} +1 -1
- package/dist/{clientRequest-6121a7f6.esm.js → clientRequest-fe7578cf.esm.js} +1 -1
- package/dist/declarations/src/Error.d.ts +1 -1
- package/dist/declarations/src/Error.d.ts.map +1 -1
- package/dist/declarations/src/Http/App.d.ts +5 -0
- package/dist/declarations/src/Http/App.d.ts.map +1 -1
- package/dist/declarations/src/Http/Client.d.ts +5 -6
- package/dist/declarations/src/Http/Client.d.ts.map +1 -1
- package/dist/declarations/src/Http/Middleware.d.ts +0 -10
- package/dist/declarations/src/Http/Middleware.d.ts.map +1 -1
- package/dist/declarations/src/Worker.d.ts +170 -0
- package/dist/declarations/src/Worker.d.ts.map +1 -0
- package/dist/declarations/src/WorkerError.d.ts +30 -0
- package/dist/declarations/src/WorkerError.d.ts.map +1 -0
- package/dist/declarations/src/WorkerRunner.d.ts +72 -0
- package/dist/declarations/src/WorkerRunner.d.ts.map +1 -0
- package/dist/declarations/src/index.d.ts +12 -0
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/effect-platform.cjs.dev.js +9 -0
- package/dist/effect-platform.cjs.mjs +4 -1
- package/dist/effect-platform.cjs.prod.js +9 -0
- package/dist/effect-platform.esm.js +6 -0
- package/dist/middleware-85768a1e.cjs.prod.js +66 -0
- package/dist/middleware-98794cc2.cjs.dev.js +66 -0
- package/dist/middleware-ea618e68.esm.js +41 -0
- package/package.json +24 -3
- package/src/Error.ts +1 -1
- package/src/Http/App.ts +9 -0
- package/src/Http/Client.ts +10 -8
- package/src/Http/Middleware.ts +0 -12
- package/src/Worker.ts +207 -0
- package/src/WorkerError.ts +34 -0
- package/src/WorkerRunner.ts +83 -0
- package/src/index.ts +15 -0
- package/src/internal/http/client.ts +33 -33
- package/src/internal/http/middleware.ts +4 -26
- package/src/internal/worker.ts +262 -0
- package/src/internal/workerError.ts +16 -0
- package/src/internal/workerRunner.ts +83 -0
- package/dist/Middleware-04ddadf1.esm.js +0 -100
- package/dist/Middleware-3e264366.cjs.dev.js +0 -127
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"effect-platform-WorkerRunner.cjs.d.mts","sourceRoot":"","sources":["../../dist/declarations/src/WorkerRunner.d.ts"],"names":[],"mappings":"AAAA"}
|
|
@@ -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,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 };
|
|
@@ -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,
|
|
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;
|