@effect/platform-bun 0.38.26 → 0.39.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.
- package/dist/cjs/internal/httpServer.js +12 -12
- package/dist/cjs/internal/httpServer.js.map +1 -1
- package/dist/cjs/internal/worker.js +37 -46
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +38 -23
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/esm/internal/httpServer.js +12 -12
- package/dist/esm/internal/httpServer.js.map +1 -1
- package/dist/esm/internal/worker.js +37 -46
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +38 -23
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +4 -4
- package/src/internal/httpServer.ts +12 -12
- package/src/internal/worker.ts +42 -48
- package/src/internal/workerRunner.ts +53 -37
|
@@ -202,14 +202,14 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
202
202
|
return this.cachedCookies = Cookies.parseHeader(this.headers.cookie ?? "");
|
|
203
203
|
}
|
|
204
204
|
get stream() {
|
|
205
|
-
return this.source.body ? Stream.fromReadableStream(() => this.source.body,
|
|
205
|
+
return this.source.body ? Stream.fromReadableStream(() => this.source.body, cause => new Error.RequestError({
|
|
206
206
|
request: this,
|
|
207
207
|
reason: "Decode",
|
|
208
|
-
|
|
208
|
+
cause
|
|
209
209
|
})) : Stream.fail(new Error.RequestError({
|
|
210
210
|
request: this,
|
|
211
211
|
reason: "Decode",
|
|
212
|
-
|
|
212
|
+
description: "can not create stream from empty body"
|
|
213
213
|
}));
|
|
214
214
|
}
|
|
215
215
|
textEffect;
|
|
@@ -219,10 +219,10 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
219
219
|
}
|
|
220
220
|
this.textEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
221
221
|
try: () => this.source.text(),
|
|
222
|
-
catch:
|
|
222
|
+
catch: cause => new Error.RequestError({
|
|
223
223
|
request: this,
|
|
224
224
|
reason: "Decode",
|
|
225
|
-
|
|
225
|
+
cause
|
|
226
226
|
})
|
|
227
227
|
})));
|
|
228
228
|
return this.textEffect;
|
|
@@ -230,20 +230,20 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
230
230
|
get json() {
|
|
231
231
|
return Effect.tryMap(this.text, {
|
|
232
232
|
try: _ => JSON.parse(_),
|
|
233
|
-
catch:
|
|
233
|
+
catch: cause => new Error.RequestError({
|
|
234
234
|
request: this,
|
|
235
235
|
reason: "Decode",
|
|
236
|
-
|
|
236
|
+
cause
|
|
237
237
|
})
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
get urlParamsBody() {
|
|
241
241
|
return Effect.flatMap(this.text, _ => Effect.try({
|
|
242
242
|
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
243
|
-
catch:
|
|
243
|
+
catch: cause => new Error.RequestError({
|
|
244
244
|
request: this,
|
|
245
245
|
reason: "Decode",
|
|
246
|
-
|
|
246
|
+
cause
|
|
247
247
|
})
|
|
248
248
|
}));
|
|
249
249
|
}
|
|
@@ -265,10 +265,10 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
265
265
|
}
|
|
266
266
|
this.arrayBufferEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
267
267
|
try: () => this.source.arrayBuffer(),
|
|
268
|
-
catch:
|
|
268
|
+
catch: cause => new Error.RequestError({
|
|
269
269
|
request: this,
|
|
270
270
|
reason: "Decode",
|
|
271
|
-
|
|
271
|
+
cause
|
|
272
272
|
})
|
|
273
273
|
})));
|
|
274
274
|
return this.arrayBufferEffect;
|
|
@@ -287,7 +287,7 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
287
287
|
resume(Effect.fail(new Error.RequestError({
|
|
288
288
|
request: this,
|
|
289
289
|
reason: "Decode",
|
|
290
|
-
|
|
290
|
+
description: "Not an upgradeable ServerRequest"
|
|
291
291
|
})));
|
|
292
292
|
return;
|
|
293
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.js","names":["Etag","_interopRequireWildcard","require","MultipartNode","Cookies","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","_Function","Inspectable","Layer","Option","Stream","_nodeStream","BunContext","Platform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","pipe","makeRuntime","bindTo","bind","runtime","let","toHandled","request","response","impl","resolve","makeResponse","flatMap","app","runFork","async","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","push","reload","pop","length","interruptible","forkScoped","asVoid","exports","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","wsDefaultRun","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","RequestError","error","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","Readable","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"httpServer.js","names":["Etag","_interopRequireWildcard","require","MultipartNode","Cookies","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","_Function","Inspectable","Layer","Option","Stream","_nodeStream","BunContext","Platform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","pipe","makeRuntime","bindTo","bind","runtime","let","toHandled","request","response","impl","resolve","makeResponse","flatMap","app","runFork","async","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","push","reload","pop","length","interruptible","forkScoped","asVoid","exports","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","wsDefaultRun","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","Readable","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,58 +6,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.layerWorker = exports.layerManager = exports.layer = void 0;
|
|
7
7
|
var Worker = _interopRequireWildcard(require("@effect/platform/Worker"));
|
|
8
8
|
var _WorkerError = require("@effect/platform/WorkerError");
|
|
9
|
+
var Deferred = _interopRequireWildcard(require("effect/Deferred"));
|
|
9
10
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
10
|
-
var
|
|
11
|
+
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
11
12
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
12
|
-
var
|
|
13
|
+
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
const platformWorkerImpl = /*#__PURE__*/Worker.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
signal
|
|
24
|
-
});
|
|
25
|
-
port.postMessage([1]);
|
|
26
|
-
}),
|
|
27
|
-
// TODO: make configurable
|
|
28
|
-
// sometimes bun doesn't fire the close event
|
|
29
|
-
Effect.timeout(1000), Effect.orElse(() => Effect.sync(() => port.terminate())))));
|
|
30
|
-
const queue = yield* _(Queue.unbounded());
|
|
31
|
-
const fiber = yield* _(Effect.async(resume => {
|
|
32
|
-
function onMessage(event) {
|
|
33
|
-
queue.unsafeOffer(event.data);
|
|
34
|
-
}
|
|
35
|
-
function onError(event) {
|
|
36
|
-
resume(new _WorkerError.WorkerError({
|
|
37
|
-
reason: "unknown",
|
|
38
|
-
error: event.error ?? event.message
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
port.addEventListener("message", onMessage);
|
|
42
|
-
port.addEventListener("error", onError);
|
|
43
|
-
return Effect.sync(() => {
|
|
44
|
-
port.removeEventListener("message", onMessage);
|
|
45
|
-
port.removeEventListener("error", onError);
|
|
46
|
-
});
|
|
47
|
-
}), Effect.interruptible, Effect.forkScoped);
|
|
48
|
-
const send = (message, transfers) => Effect.try({
|
|
49
|
-
try: () => port.postMessage([0, message], transfers),
|
|
50
|
-
catch: error => new _WorkerError.WorkerError({
|
|
51
|
-
reason: "send",
|
|
52
|
-
error
|
|
53
|
-
})
|
|
16
|
+
const platformWorkerImpl = /*#__PURE__*/Worker.makePlatform()({
|
|
17
|
+
setup({
|
|
18
|
+
scope,
|
|
19
|
+
worker
|
|
20
|
+
}) {
|
|
21
|
+
return Effect.flatMap(Deferred.make(), closeDeferred => {
|
|
22
|
+
worker.addEventListener("close", () => {
|
|
23
|
+
Deferred.unsafeDone(closeDeferred, Exit.void);
|
|
54
24
|
});
|
|
55
|
-
return {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
25
|
+
return Effect.as(Scope.addFinalizer(scope, Effect.suspend(() => {
|
|
26
|
+
worker.postMessage([1]);
|
|
27
|
+
return Deferred.await(closeDeferred);
|
|
28
|
+
}).pipe(Effect.interruptible, Effect.timeout(5000), Effect.catchAllCause(() => Effect.sync(() => worker.terminate())))), worker);
|
|
60
29
|
});
|
|
30
|
+
},
|
|
31
|
+
listen({
|
|
32
|
+
deferred,
|
|
33
|
+
emit,
|
|
34
|
+
port,
|
|
35
|
+
scope
|
|
36
|
+
}) {
|
|
37
|
+
function onMessage(event) {
|
|
38
|
+
emit(event.data);
|
|
39
|
+
}
|
|
40
|
+
function onError(event) {
|
|
41
|
+
Deferred.unsafeDone(deferred, new _WorkerError.WorkerError({
|
|
42
|
+
reason: "unknown",
|
|
43
|
+
cause: event.error ?? event.message
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
port.addEventListener("message", onMessage);
|
|
47
|
+
port.addEventListener("error", onError);
|
|
48
|
+
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
49
|
+
port.removeEventListener("message", onMessage);
|
|
50
|
+
port.removeEventListener("error", onError);
|
|
51
|
+
}));
|
|
61
52
|
}
|
|
62
53
|
});
|
|
63
54
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Worker","_interopRequireWildcard","require","_WorkerError","Effect","
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Worker","_interopRequireWildcard","require","_WorkerError","Deferred","Effect","Exit","Layer","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","platformWorkerImpl","makePlatform","setup","scope","worker","flatMap","make","closeDeferred","addEventListener","unsafeDone","void","as","addFinalizer","suspend","postMessage","await","pipe","interruptible","timeout","catchAllCause","sync","terminate","listen","deferred","emit","port","onMessage","event","data","onError","WorkerError","reason","cause","error","message","removeEventListener","layerWorker","exports","succeed","PlatformWorker","layerManager","provide","layer","spawn","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AAAqC,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAErC,MAAMW,kBAAkB,gBAAG7B,MAAM,CAAC8B,YAAY,EAAqB,CAAC;EAClEC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,OAAO5B,MAAM,CAAC6B,OAAO,CAAC9B,QAAQ,CAAC+B,IAAI,EAAQ,EAAGC,aAAa,IAAI;MAC7DH,MAAM,CAACI,gBAAgB,CAAC,OAAO,EAAE,MAAK;QACpCjC,QAAQ,CAACkC,UAAU,CAACF,aAAa,EAAE9B,IAAI,CAACiC,IAAI,CAAC;MAC/C,CAAC,CAAC;MACF,OAAOlC,MAAM,CAACmC,EAAE,CACdhC,KAAK,CAACiC,YAAY,CAChBT,KAAK,EACL3B,MAAM,CAACqC,OAAO,CAAC,MAAK;QAClBT,MAAM,CAACU,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,OAAOvC,QAAQ,CAACwC,KAAK,CAACR,aAAa,CAAC;MACtC,CAAC,CAAC,CAACS,IAAI,CACLxC,MAAM,CAACyC,aAAa,EACpBzC,MAAM,CAAC0C,OAAO,CAAC,IAAI,CAAC,EACpB1C,MAAM,CAAC2C,aAAa,CAAC,MAAM3C,MAAM,CAAC4C,IAAI,CAAC,MAAMhB,MAAM,CAACiB,SAAS,EAAE,CAAC,CAAC,CAClE,CACF,EACDjB,MAAM,CACP;IACH,CAAC,CAAC;EACJ,CAAC;EACDkB,MAAMA,CAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAEtB;EAAK,CAAE;IACpC,SAASuB,SAASA,CAACC,KAAmB;MACpCH,IAAI,CAACG,KAAK,CAACC,IAAI,CAAC;IAClB;IACA,SAASC,OAAOA,CAACF,KAAiB;MAChCpD,QAAQ,CAACkC,UAAU,CACjBc,QAAQ,EACR,IAAIO,wBAAW,CAAC;QAAEC,MAAM,EAAE,SAAS;QAAEC,KAAK,EAAEL,KAAK,CAACM,KAAK,IAAIN,KAAK,CAACO;MAAO,CAAE,CAAC,CAC5E;IACH;IACAT,IAAI,CAACjB,gBAAgB,CAAC,SAAS,EAAEkB,SAAS,CAAC;IAC3CD,IAAI,CAACjB,gBAAgB,CAAC,OAAO,EAAEqB,OAAO,CAAC;IACvC,OAAOlD,KAAK,CAACiC,YAAY,CACvBT,KAAK,EACL3B,MAAM,CAAC4C,IAAI,CAAC,MAAK;MACfK,IAAI,CAACU,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC;MAC9CD,IAAI,CAACU,mBAAmB,CAAC,OAAO,EAAEN,OAAO,CAAC;IAC5C,CAAC,CAAC,CACH;EACH;CACD,CAAC;AAEF;AACO,MAAMO,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBAAG1D,KAAK,CAAC4D,OAAO,CAACnE,MAAM,CAACoE,cAAc,EAAEvC,kBAAkB,CAAC;AAEnF;AACO,MAAMwC,YAAY,GAAAH,OAAA,CAAAG,YAAA,gBAAG9D,KAAK,CAAC+D,OAAO,CAACtE,MAAM,CAACqE,YAAY,EAAEJ,WAAW,CAAC;AAE3E;AACO,MAAMM,KAAK,GAAIC,KAAwC,IAC5DjE,KAAK,CAACkE,KAAK,CACTJ,YAAY,EACZrE,MAAM,CAAC0E,YAAY,CAACF,KAAK,CAAC,CAC3B;AAAAN,OAAA,CAAAK,KAAA,GAAAA,KAAA","ignoreList":[]}
|
|
@@ -6,56 +6,71 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.layer = void 0;
|
|
7
7
|
var _WorkerError = require("@effect/platform/WorkerError");
|
|
8
8
|
var Runner = _interopRequireWildcard(require("@effect/platform/WorkerRunner"));
|
|
9
|
-
var
|
|
9
|
+
var Deferred = _interopRequireWildcard(require("effect/Deferred"));
|
|
10
10
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
+
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
12
|
+
var FiberId = _interopRequireWildcard(require("effect/FiberId"));
|
|
13
|
+
var FiberSet = _interopRequireWildcard(require("effect/FiberSet"));
|
|
11
14
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
12
|
-
var
|
|
13
|
-
var Schedule = _interopRequireWildcard(require("effect/Schedule"));
|
|
15
|
+
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
14
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
18
|
const platformRunnerImpl = /*#__PURE__*/Runner.PlatformRunner.of({
|
|
17
19
|
[Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
|
|
18
|
-
start(
|
|
20
|
+
start() {
|
|
19
21
|
return Effect.gen(function* () {
|
|
20
22
|
if (!("postMessage" in self)) {
|
|
21
|
-
return yield*
|
|
23
|
+
return yield* new _WorkerError.WorkerError({
|
|
24
|
+
reason: "spawn",
|
|
25
|
+
cause: new Error("not in a Worker context")
|
|
26
|
+
});
|
|
22
27
|
}
|
|
23
28
|
const port = self;
|
|
24
|
-
const
|
|
25
|
-
|
|
29
|
+
const run = handler => Effect.uninterruptibleMask(restore => Scope.make().pipe(Effect.bindTo("scope"), Effect.bind("fiberSet", ({
|
|
30
|
+
scope
|
|
31
|
+
}) => FiberSet.make().pipe(Scope.extend(scope))), Effect.bind("runFork", ({
|
|
32
|
+
fiberSet
|
|
33
|
+
}) => FiberSet.runtime(fiberSet)()), Effect.tap(({
|
|
34
|
+
fiberSet,
|
|
35
|
+
runFork,
|
|
36
|
+
scope
|
|
37
|
+
}) => {
|
|
26
38
|
function onMessage(event) {
|
|
27
39
|
const message = event.data;
|
|
28
40
|
if (message[0] === 0) {
|
|
29
|
-
|
|
41
|
+
runFork(restore(handler(0, message[1])));
|
|
30
42
|
} else {
|
|
31
|
-
|
|
43
|
+
Deferred.unsafeDone(fiberSet.deferred, Exit.interrupt(FiberId.none));
|
|
32
44
|
}
|
|
33
45
|
}
|
|
46
|
+
function onMessageError(error) {
|
|
47
|
+
Deferred.unsafeDone(fiberSet.deferred, new _WorkerError.WorkerError({
|
|
48
|
+
reason: "decode",
|
|
49
|
+
cause: error.data
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
34
52
|
function onError(error) {
|
|
35
|
-
|
|
53
|
+
Deferred.unsafeDone(fiberSet.deferred, new _WorkerError.WorkerError({
|
|
36
54
|
reason: "unknown",
|
|
37
|
-
|
|
38
|
-
cause: error.data
|
|
39
|
-
})
|
|
55
|
+
cause: error.data
|
|
40
56
|
}));
|
|
41
57
|
}
|
|
42
58
|
port.addEventListener("message", onMessage);
|
|
43
|
-
port.addEventListener("messageerror",
|
|
44
|
-
|
|
59
|
+
port.addEventListener("messageerror", onMessageError);
|
|
60
|
+
port.postMessage([0]);
|
|
61
|
+
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
45
62
|
port.removeEventListener("message", onMessage);
|
|
46
63
|
port.removeEventListener("messageerror", onError);
|
|
47
|
-
});
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
})
|
|
64
|
+
}));
|
|
65
|
+
}), Effect.flatMap(({
|
|
66
|
+
fiberSet,
|
|
67
|
+
scope
|
|
68
|
+
}) => restore(FiberSet.join(fiberSet)).pipe(Effect.ensuring(Scope.close(scope, Exit.void))))));
|
|
52
69
|
const send = (_portId, message, transfer) => Effect.sync(() => port.postMessage([1, message], {
|
|
53
70
|
transfer: transfer
|
|
54
71
|
}));
|
|
55
|
-
// ready
|
|
56
|
-
port.postMessage([0]);
|
|
57
72
|
return {
|
|
58
|
-
|
|
73
|
+
run,
|
|
59
74
|
send
|
|
60
75
|
};
|
|
61
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["_WorkerError","require","Runner","_interopRequireWildcard","
|
|
1
|
+
{"version":3,"file":"workerRunner.js","names":["_WorkerError","require","Runner","_interopRequireWildcard","Deferred","Effect","Exit","FiberId","FiberSet","Layer","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","gen","self","WorkerError","reason","cause","Error","port","run","handler","uninterruptibleMask","restore","make","pipe","bindTo","bind","scope","extend","fiberSet","runtime","tap","runFork","onMessage","event","message","data","unsafeDone","deferred","interrupt","none","onMessageError","error","onError","addEventListener","postMessage","addFinalizer","sync","removeEventListener","flatMap","join","ensuring","close","void","send","_portId","transfer","layer","exports","succeed"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -189,14 +189,14 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
189
189
|
return this.cachedCookies = Cookies.parseHeader(this.headers.cookie ?? "");
|
|
190
190
|
}
|
|
191
191
|
get stream() {
|
|
192
|
-
return this.source.body ? Stream.fromReadableStream(() => this.source.body,
|
|
192
|
+
return this.source.body ? Stream.fromReadableStream(() => this.source.body, cause => new Error.RequestError({
|
|
193
193
|
request: this,
|
|
194
194
|
reason: "Decode",
|
|
195
|
-
|
|
195
|
+
cause
|
|
196
196
|
})) : Stream.fail(new Error.RequestError({
|
|
197
197
|
request: this,
|
|
198
198
|
reason: "Decode",
|
|
199
|
-
|
|
199
|
+
description: "can not create stream from empty body"
|
|
200
200
|
}));
|
|
201
201
|
}
|
|
202
202
|
textEffect;
|
|
@@ -206,10 +206,10 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
206
206
|
}
|
|
207
207
|
this.textEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
208
208
|
try: () => this.source.text(),
|
|
209
|
-
catch:
|
|
209
|
+
catch: cause => new Error.RequestError({
|
|
210
210
|
request: this,
|
|
211
211
|
reason: "Decode",
|
|
212
|
-
|
|
212
|
+
cause
|
|
213
213
|
})
|
|
214
214
|
})));
|
|
215
215
|
return this.textEffect;
|
|
@@ -217,20 +217,20 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
217
217
|
get json() {
|
|
218
218
|
return Effect.tryMap(this.text, {
|
|
219
219
|
try: _ => JSON.parse(_),
|
|
220
|
-
catch:
|
|
220
|
+
catch: cause => new Error.RequestError({
|
|
221
221
|
request: this,
|
|
222
222
|
reason: "Decode",
|
|
223
|
-
|
|
223
|
+
cause
|
|
224
224
|
})
|
|
225
225
|
});
|
|
226
226
|
}
|
|
227
227
|
get urlParamsBody() {
|
|
228
228
|
return Effect.flatMap(this.text, _ => Effect.try({
|
|
229
229
|
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
230
|
-
catch:
|
|
230
|
+
catch: cause => new Error.RequestError({
|
|
231
231
|
request: this,
|
|
232
232
|
reason: "Decode",
|
|
233
|
-
|
|
233
|
+
cause
|
|
234
234
|
})
|
|
235
235
|
}));
|
|
236
236
|
}
|
|
@@ -252,10 +252,10 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
252
252
|
}
|
|
253
253
|
this.arrayBufferEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
254
254
|
try: () => this.source.arrayBuffer(),
|
|
255
|
-
catch:
|
|
255
|
+
catch: cause => new Error.RequestError({
|
|
256
256
|
request: this,
|
|
257
257
|
reason: "Decode",
|
|
258
|
-
|
|
258
|
+
cause
|
|
259
259
|
})
|
|
260
260
|
})));
|
|
261
261
|
return this.arrayBufferEffect;
|
|
@@ -274,7 +274,7 @@ class ServerRequestImpl extends Inspectable.Class {
|
|
|
274
274
|
resume(Effect.fail(new Error.RequestError({
|
|
275
275
|
request: this,
|
|
276
276
|
reason: "Decode",
|
|
277
|
-
|
|
277
|
+
description: "Not an upgradeable ServerRequest"
|
|
278
278
|
})));
|
|
279
279
|
return;
|
|
280
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.js","names":["Etag","MultipartNode","Cookies","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","pipe","Inspectable","Layer","Option","Stream","Readable","BunContext","Platform","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","makeRuntime","bindTo","bind","runtime","let","toHandled","request","response","impl","resolve","makeResponse","flatMap","app","runFork","async","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","push","reload","pop","length","interruptible","forkScoped","asVoid","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","wsDefaultRun","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","RequestError","error","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","set","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"httpServer.js","names":["Etag","MultipartNode","Cookies","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","pipe","Inspectable","Layer","Option","Stream","Readable","BunContext","Platform","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","makeRuntime","bindTo","bind","runtime","let","toHandled","request","response","impl","resolve","makeResponse","flatMap","app","runFork","async","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","push","reload","pop","length","interruptible","forkScoped","asVoid","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","wsDefaultRun","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","set","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,55 +1,46 @@
|
|
|
1
1
|
import * as Worker from "@effect/platform/Worker";
|
|
2
2
|
import { WorkerError } from "@effect/platform/WorkerError";
|
|
3
|
+
import * as Deferred from "effect/Deferred";
|
|
3
4
|
import * as Effect from "effect/Effect";
|
|
4
|
-
import
|
|
5
|
+
import * as Exit from "effect/Exit";
|
|
5
6
|
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as
|
|
7
|
-
const platformWorkerImpl = /*#__PURE__*/Worker.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
signal
|
|
16
|
-
});
|
|
17
|
-
port.postMessage([1]);
|
|
18
|
-
}),
|
|
19
|
-
// TODO: make configurable
|
|
20
|
-
// sometimes bun doesn't fire the close event
|
|
21
|
-
Effect.timeout(1000), Effect.orElse(() => Effect.sync(() => port.terminate())))));
|
|
22
|
-
const queue = yield* _(Queue.unbounded());
|
|
23
|
-
const fiber = yield* _(Effect.async(resume => {
|
|
24
|
-
function onMessage(event) {
|
|
25
|
-
queue.unsafeOffer(event.data);
|
|
26
|
-
}
|
|
27
|
-
function onError(event) {
|
|
28
|
-
resume(new WorkerError({
|
|
29
|
-
reason: "unknown",
|
|
30
|
-
error: event.error ?? event.message
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
port.addEventListener("message", onMessage);
|
|
34
|
-
port.addEventListener("error", onError);
|
|
35
|
-
return Effect.sync(() => {
|
|
36
|
-
port.removeEventListener("message", onMessage);
|
|
37
|
-
port.removeEventListener("error", onError);
|
|
38
|
-
});
|
|
39
|
-
}), Effect.interruptible, Effect.forkScoped);
|
|
40
|
-
const send = (message, transfers) => Effect.try({
|
|
41
|
-
try: () => port.postMessage([0, message], transfers),
|
|
42
|
-
catch: error => new WorkerError({
|
|
43
|
-
reason: "send",
|
|
44
|
-
error
|
|
45
|
-
})
|
|
7
|
+
import * as Scope from "effect/Scope";
|
|
8
|
+
const platformWorkerImpl = /*#__PURE__*/Worker.makePlatform()({
|
|
9
|
+
setup({
|
|
10
|
+
scope,
|
|
11
|
+
worker
|
|
12
|
+
}) {
|
|
13
|
+
return Effect.flatMap(Deferred.make(), closeDeferred => {
|
|
14
|
+
worker.addEventListener("close", () => {
|
|
15
|
+
Deferred.unsafeDone(closeDeferred, Exit.void);
|
|
46
16
|
});
|
|
47
|
-
return {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
};
|
|
17
|
+
return Effect.as(Scope.addFinalizer(scope, Effect.suspend(() => {
|
|
18
|
+
worker.postMessage([1]);
|
|
19
|
+
return Deferred.await(closeDeferred);
|
|
20
|
+
}).pipe(Effect.interruptible, Effect.timeout(5000), Effect.catchAllCause(() => Effect.sync(() => worker.terminate())))), worker);
|
|
52
21
|
});
|
|
22
|
+
},
|
|
23
|
+
listen({
|
|
24
|
+
deferred,
|
|
25
|
+
emit,
|
|
26
|
+
port,
|
|
27
|
+
scope
|
|
28
|
+
}) {
|
|
29
|
+
function onMessage(event) {
|
|
30
|
+
emit(event.data);
|
|
31
|
+
}
|
|
32
|
+
function onError(event) {
|
|
33
|
+
Deferred.unsafeDone(deferred, new WorkerError({
|
|
34
|
+
reason: "unknown",
|
|
35
|
+
cause: event.error ?? event.message
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
port.addEventListener("message", onMessage);
|
|
39
|
+
port.addEventListener("error", onError);
|
|
40
|
+
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
41
|
+
port.removeEventListener("message", onMessage);
|
|
42
|
+
port.removeEventListener("error", onError);
|
|
43
|
+
}));
|
|
53
44
|
}
|
|
54
45
|
});
|
|
55
46
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Worker","WorkerError","Effect","
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Worker","WorkerError","Deferred","Effect","Exit","Layer","Scope","platformWorkerImpl","makePlatform","setup","scope","worker","flatMap","make","closeDeferred","addEventListener","unsafeDone","void","as","addFinalizer","suspend","postMessage","await","pipe","interruptible","timeout","catchAllCause","sync","terminate","listen","deferred","emit","port","onMessage","event","data","onError","reason","cause","error","message","removeEventListener","layerWorker","succeed","PlatformWorker","layerManager","provide","layer","spawn","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,yBAAyB;AACjD,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,MAAMC,kBAAkB,gBAAGP,MAAM,CAACQ,YAAY,EAAqB,CAAC;EAClEC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,OAAOR,MAAM,CAACS,OAAO,CAACV,QAAQ,CAACW,IAAI,EAAQ,EAAGC,aAAa,IAAI;MAC7DH,MAAM,CAACI,gBAAgB,CAAC,OAAO,EAAE,MAAK;QACpCb,QAAQ,CAACc,UAAU,CAACF,aAAa,EAAEV,IAAI,CAACa,IAAI,CAAC;MAC/C,CAAC,CAAC;MACF,OAAOd,MAAM,CAACe,EAAE,CACdZ,KAAK,CAACa,YAAY,CAChBT,KAAK,EACLP,MAAM,CAACiB,OAAO,CAAC,MAAK;QAClBT,MAAM,CAACU,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,OAAOnB,QAAQ,CAACoB,KAAK,CAACR,aAAa,CAAC;MACtC,CAAC,CAAC,CAACS,IAAI,CACLpB,MAAM,CAACqB,aAAa,EACpBrB,MAAM,CAACsB,OAAO,CAAC,IAAI,CAAC,EACpBtB,MAAM,CAACuB,aAAa,CAAC,MAAMvB,MAAM,CAACwB,IAAI,CAAC,MAAMhB,MAAM,CAACiB,SAAS,EAAE,CAAC,CAAC,CAClE,CACF,EACDjB,MAAM,CACP;IACH,CAAC,CAAC;EACJ,CAAC;EACDkB,MAAMA,CAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAEtB;EAAK,CAAE;IACpC,SAASuB,SAASA,CAACC,KAAmB;MACpCH,IAAI,CAACG,KAAK,CAACC,IAAI,CAAC;IAClB;IACA,SAASC,OAAOA,CAACF,KAAiB;MAChChC,QAAQ,CAACc,UAAU,CACjBc,QAAQ,EACR,IAAI7B,WAAW,CAAC;QAAEoC,MAAM,EAAE,SAAS;QAAEC,KAAK,EAAEJ,KAAK,CAACK,KAAK,IAAIL,KAAK,CAACM;MAAO,CAAE,CAAC,CAC5E;IACH;IACAR,IAAI,CAACjB,gBAAgB,CAAC,SAAS,EAAEkB,SAAS,CAAC;IAC3CD,IAAI,CAACjB,gBAAgB,CAAC,OAAO,EAAEqB,OAAO,CAAC;IACvC,OAAO9B,KAAK,CAACa,YAAY,CACvBT,KAAK,EACLP,MAAM,CAACwB,IAAI,CAAC,MAAK;MACfK,IAAI,CAACS,mBAAmB,CAAC,SAAS,EAAER,SAAS,CAAC;MAC9CD,IAAI,CAACS,mBAAmB,CAAC,OAAO,EAAEL,OAAO,CAAC;IAC5C,CAAC,CAAC,CACH;EACH;CACD,CAAC;AAEF;AACA,OAAO,MAAMM,WAAW,gBAAGrC,KAAK,CAACsC,OAAO,CAAC3C,MAAM,CAAC4C,cAAc,EAAErC,kBAAkB,CAAC;AAEnF;AACA,OAAO,MAAMsC,YAAY,gBAAGxC,KAAK,CAACyC,OAAO,CAAC9C,MAAM,CAAC6C,YAAY,EAAEH,WAAW,CAAC;AAE3E;AACA,OAAO,MAAMK,KAAK,GAAIC,KAAwC,IAC5D3C,KAAK,CAAC4C,KAAK,CACTJ,YAAY,EACZ7C,MAAM,CAACkD,YAAY,CAACF,KAAK,CAAC,CAC3B","ignoreList":[]}
|
|
@@ -1,53 +1,68 @@
|
|
|
1
1
|
import { WorkerError } from "@effect/platform/WorkerError";
|
|
2
2
|
import * as Runner from "@effect/platform/WorkerRunner";
|
|
3
|
-
import * as
|
|
3
|
+
import * as Deferred from "effect/Deferred";
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Exit from "effect/Exit";
|
|
6
|
+
import * as FiberId from "effect/FiberId";
|
|
7
|
+
import * as FiberSet from "effect/FiberSet";
|
|
5
8
|
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as
|
|
7
|
-
import * as Schedule from "effect/Schedule";
|
|
9
|
+
import * as Scope from "effect/Scope";
|
|
8
10
|
const platformRunnerImpl = /*#__PURE__*/Runner.PlatformRunner.of({
|
|
9
11
|
[Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
|
|
10
|
-
start(
|
|
12
|
+
start() {
|
|
11
13
|
return Effect.gen(function* () {
|
|
12
14
|
if (!("postMessage" in self)) {
|
|
13
|
-
return yield*
|
|
15
|
+
return yield* new WorkerError({
|
|
16
|
+
reason: "spawn",
|
|
17
|
+
cause: new Error("not in a Worker context")
|
|
18
|
+
});
|
|
14
19
|
}
|
|
15
20
|
const port = self;
|
|
16
|
-
const
|
|
17
|
-
|
|
21
|
+
const run = handler => Effect.uninterruptibleMask(restore => Scope.make().pipe(Effect.bindTo("scope"), Effect.bind("fiberSet", ({
|
|
22
|
+
scope
|
|
23
|
+
}) => FiberSet.make().pipe(Scope.extend(scope))), Effect.bind("runFork", ({
|
|
24
|
+
fiberSet
|
|
25
|
+
}) => FiberSet.runtime(fiberSet)()), Effect.tap(({
|
|
26
|
+
fiberSet,
|
|
27
|
+
runFork,
|
|
28
|
+
scope
|
|
29
|
+
}) => {
|
|
18
30
|
function onMessage(event) {
|
|
19
31
|
const message = event.data;
|
|
20
32
|
if (message[0] === 0) {
|
|
21
|
-
|
|
33
|
+
runFork(restore(handler(0, message[1])));
|
|
22
34
|
} else {
|
|
23
|
-
|
|
35
|
+
Deferred.unsafeDone(fiberSet.deferred, Exit.interrupt(FiberId.none));
|
|
24
36
|
}
|
|
25
37
|
}
|
|
38
|
+
function onMessageError(error) {
|
|
39
|
+
Deferred.unsafeDone(fiberSet.deferred, new WorkerError({
|
|
40
|
+
reason: "decode",
|
|
41
|
+
cause: error.data
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
26
44
|
function onError(error) {
|
|
27
|
-
|
|
45
|
+
Deferred.unsafeDone(fiberSet.deferred, new WorkerError({
|
|
28
46
|
reason: "unknown",
|
|
29
|
-
|
|
30
|
-
cause: error.data
|
|
31
|
-
})
|
|
47
|
+
cause: error.data
|
|
32
48
|
}));
|
|
33
49
|
}
|
|
34
50
|
port.addEventListener("message", onMessage);
|
|
35
|
-
port.addEventListener("messageerror",
|
|
36
|
-
|
|
51
|
+
port.addEventListener("messageerror", onMessageError);
|
|
52
|
+
port.postMessage([0]);
|
|
53
|
+
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
37
54
|
port.removeEventListener("message", onMessage);
|
|
38
55
|
port.removeEventListener("messageerror", onError);
|
|
39
|
-
});
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
})
|
|
56
|
+
}));
|
|
57
|
+
}), Effect.flatMap(({
|
|
58
|
+
fiberSet,
|
|
59
|
+
scope
|
|
60
|
+
}) => restore(FiberSet.join(fiberSet)).pipe(Effect.ensuring(Scope.close(scope, Exit.void))))));
|
|
44
61
|
const send = (_portId, message, transfer) => Effect.sync(() => port.postMessage([1, message], {
|
|
45
62
|
transfer: transfer
|
|
46
63
|
}));
|
|
47
|
-
// ready
|
|
48
|
-
port.postMessage([0]);
|
|
49
64
|
return {
|
|
50
|
-
|
|
65
|
+
run,
|
|
51
66
|
send
|
|
52
67
|
};
|
|
53
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["WorkerError","Runner","
|
|
1
|
+
{"version":3,"file":"workerRunner.js","names":["WorkerError","Runner","Deferred","Effect","Exit","FiberId","FiberSet","Layer","Scope","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","gen","self","reason","cause","Error","port","run","handler","uninterruptibleMask","restore","make","pipe","bindTo","bind","scope","extend","fiberSet","runtime","tap","runFork","onMessage","event","message","data","unsafeDone","deferred","interrupt","none","onMessageError","error","onError","addEventListener","postMessage","addFinalizer","sync","removeEventListener","flatMap","join","ensuring","close","void","send","_portId","transfer","layer","succeed"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-bun",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.0",
|
|
4
4
|
"description": "Platform specific implementations for the Bun runtime",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
},
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@effect/platform-node-shared": "^0.
|
|
13
|
+
"@effect/platform-node-shared": "^0.9.0"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@effect/platform": "^0.
|
|
17
|
-
"effect": "^3.5.
|
|
16
|
+
"@effect/platform": "^0.59.0",
|
|
17
|
+
"effect": "^3.5.4"
|
|
18
18
|
},
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"provenance": true
|
|
@@ -261,17 +261,17 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
261
261
|
|
|
262
262
|
get stream(): Stream.Stream<Uint8Array, Error.RequestError> {
|
|
263
263
|
return this.source.body
|
|
264
|
-
? Stream.fromReadableStream(() => this.source.body as any, (
|
|
264
|
+
? Stream.fromReadableStream(() => this.source.body as any, (cause) =>
|
|
265
265
|
new Error.RequestError({
|
|
266
266
|
request: this,
|
|
267
267
|
reason: "Decode",
|
|
268
|
-
|
|
268
|
+
cause
|
|
269
269
|
}))
|
|
270
270
|
: Stream.fail(
|
|
271
271
|
new Error.RequestError({
|
|
272
272
|
request: this,
|
|
273
273
|
reason: "Decode",
|
|
274
|
-
|
|
274
|
+
description: "can not create stream from empty body"
|
|
275
275
|
})
|
|
276
276
|
)
|
|
277
277
|
}
|
|
@@ -284,11 +284,11 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
284
284
|
this.textEffect = Effect.runSync(Effect.cached(
|
|
285
285
|
Effect.tryPromise({
|
|
286
286
|
try: () => this.source.text(),
|
|
287
|
-
catch: (
|
|
287
|
+
catch: (cause) =>
|
|
288
288
|
new Error.RequestError({
|
|
289
289
|
request: this,
|
|
290
290
|
reason: "Decode",
|
|
291
|
-
|
|
291
|
+
cause
|
|
292
292
|
})
|
|
293
293
|
})
|
|
294
294
|
))
|
|
@@ -298,11 +298,11 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
298
298
|
get json(): Effect.Effect<unknown, Error.RequestError> {
|
|
299
299
|
return Effect.tryMap(this.text, {
|
|
300
300
|
try: (_) => JSON.parse(_) as unknown,
|
|
301
|
-
catch: (
|
|
301
|
+
catch: (cause) =>
|
|
302
302
|
new Error.RequestError({
|
|
303
303
|
request: this,
|
|
304
304
|
reason: "Decode",
|
|
305
|
-
|
|
305
|
+
cause
|
|
306
306
|
})
|
|
307
307
|
})
|
|
308
308
|
}
|
|
@@ -311,11 +311,11 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
311
311
|
return Effect.flatMap(this.text, (_) =>
|
|
312
312
|
Effect.try({
|
|
313
313
|
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
314
|
-
catch: (
|
|
314
|
+
catch: (cause) =>
|
|
315
315
|
new Error.RequestError({
|
|
316
316
|
request: this,
|
|
317
317
|
reason: "Decode",
|
|
318
|
-
|
|
318
|
+
cause
|
|
319
319
|
})
|
|
320
320
|
}))
|
|
321
321
|
}
|
|
@@ -353,11 +353,11 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
353
353
|
this.arrayBufferEffect = Effect.runSync(Effect.cached(
|
|
354
354
|
Effect.tryPromise({
|
|
355
355
|
try: () => this.source.arrayBuffer(),
|
|
356
|
-
catch: (
|
|
356
|
+
catch: (cause) =>
|
|
357
357
|
new Error.RequestError({
|
|
358
358
|
request: this,
|
|
359
359
|
reason: "Decode",
|
|
360
|
-
|
|
360
|
+
cause
|
|
361
361
|
})
|
|
362
362
|
})
|
|
363
363
|
))
|
|
@@ -386,7 +386,7 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
|
|
|
386
386
|
new Error.RequestError({
|
|
387
387
|
request: this,
|
|
388
388
|
reason: "Decode",
|
|
389
|
-
|
|
389
|
+
description: "Not an upgradeable ServerRequest"
|
|
390
390
|
})
|
|
391
391
|
))
|
|
392
392
|
return
|
package/src/internal/worker.ts
CHANGED
|
@@ -1,58 +1,52 @@
|
|
|
1
1
|
import * as Worker from "@effect/platform/Worker"
|
|
2
2
|
import { WorkerError } from "@effect/platform/WorkerError"
|
|
3
|
+
import * as Deferred from "effect/Deferred"
|
|
3
4
|
import * as Effect from "effect/Effect"
|
|
4
|
-
import
|
|
5
|
+
import * as Exit from "effect/Exit"
|
|
5
6
|
import * as Layer from "effect/Layer"
|
|
6
|
-
import * as
|
|
7
|
+
import * as Scope from "effect/Scope"
|
|
7
8
|
|
|
8
|
-
const platformWorkerImpl = Worker.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const queue = yield* _(Queue.unbounded<Worker.BackingWorker.Message<O>>())
|
|
28
|
-
|
|
29
|
-
const fiber = yield* _(
|
|
30
|
-
Effect.async<never, WorkerError>((resume) => {
|
|
31
|
-
function onMessage(event: MessageEvent) {
|
|
32
|
-
queue.unsafeOffer((event as MessageEvent).data)
|
|
33
|
-
}
|
|
34
|
-
function onError(event: ErrorEvent) {
|
|
35
|
-
resume(new WorkerError({ reason: "unknown", error: event.error ?? event.message }))
|
|
36
|
-
}
|
|
37
|
-
port.addEventListener("message", onMessage)
|
|
38
|
-
port.addEventListener("error", onError)
|
|
39
|
-
return Effect.sync(() => {
|
|
40
|
-
port.removeEventListener("message", onMessage)
|
|
41
|
-
port.removeEventListener("error", onError)
|
|
42
|
-
})
|
|
43
|
-
}),
|
|
44
|
-
Effect.interruptible,
|
|
45
|
-
Effect.forkScoped
|
|
9
|
+
const platformWorkerImpl = Worker.makePlatform<globalThis.Worker>()({
|
|
10
|
+
setup({ scope, worker }) {
|
|
11
|
+
return Effect.flatMap(Deferred.make<void>(), (closeDeferred) => {
|
|
12
|
+
worker.addEventListener("close", () => {
|
|
13
|
+
Deferred.unsafeDone(closeDeferred, Exit.void)
|
|
14
|
+
})
|
|
15
|
+
return Effect.as(
|
|
16
|
+
Scope.addFinalizer(
|
|
17
|
+
scope,
|
|
18
|
+
Effect.suspend(() => {
|
|
19
|
+
worker.postMessage([1])
|
|
20
|
+
return Deferred.await(closeDeferred)
|
|
21
|
+
}).pipe(
|
|
22
|
+
Effect.interruptible,
|
|
23
|
+
Effect.timeout(5000),
|
|
24
|
+
Effect.catchAllCause(() => Effect.sync(() => worker.terminate()))
|
|
25
|
+
)
|
|
26
|
+
),
|
|
27
|
+
worker
|
|
46
28
|
)
|
|
47
|
-
|
|
48
|
-
const send = (message: I, transfers?: ReadonlyArray<unknown>) =>
|
|
49
|
-
Effect.try({
|
|
50
|
-
try: () => port.postMessage([0, message], transfers as any),
|
|
51
|
-
catch: (error) => new WorkerError({ reason: "send", error })
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
return { fiber, queue, send }
|
|
55
29
|
})
|
|
30
|
+
},
|
|
31
|
+
listen({ deferred, emit, port, scope }) {
|
|
32
|
+
function onMessage(event: MessageEvent) {
|
|
33
|
+
emit(event.data)
|
|
34
|
+
}
|
|
35
|
+
function onError(event: ErrorEvent) {
|
|
36
|
+
Deferred.unsafeDone(
|
|
37
|
+
deferred,
|
|
38
|
+
new WorkerError({ reason: "unknown", cause: event.error ?? event.message })
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
port.addEventListener("message", onMessage)
|
|
42
|
+
port.addEventListener("error", onError)
|
|
43
|
+
return Scope.addFinalizer(
|
|
44
|
+
scope,
|
|
45
|
+
Effect.sync(() => {
|
|
46
|
+
port.removeEventListener("message", onMessage)
|
|
47
|
+
port.removeEventListener("error", onError)
|
|
48
|
+
})
|
|
49
|
+
)
|
|
56
50
|
}
|
|
57
51
|
})
|
|
58
52
|
|
|
@@ -1,59 +1,75 @@
|
|
|
1
1
|
import { WorkerError } from "@effect/platform/WorkerError"
|
|
2
2
|
import * as Runner from "@effect/platform/WorkerRunner"
|
|
3
|
-
import * as
|
|
3
|
+
import * as Deferred from "effect/Deferred"
|
|
4
4
|
import * as Effect from "effect/Effect"
|
|
5
|
+
import * as Exit from "effect/Exit"
|
|
6
|
+
import * as FiberId from "effect/FiberId"
|
|
7
|
+
import * as FiberSet from "effect/FiberSet"
|
|
5
8
|
import * as Layer from "effect/Layer"
|
|
6
|
-
import * as
|
|
7
|
-
import * as Schedule from "effect/Schedule"
|
|
9
|
+
import * as Scope from "effect/Scope"
|
|
8
10
|
|
|
9
11
|
declare const self: MessagePort
|
|
10
12
|
|
|
11
13
|
const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
12
14
|
[Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
|
|
13
|
-
start<I, O>(
|
|
15
|
+
start<I, O>() {
|
|
14
16
|
return Effect.gen(function*() {
|
|
15
17
|
if (!("postMessage" in self)) {
|
|
16
|
-
return yield*
|
|
18
|
+
return yield* new WorkerError({ reason: "spawn", cause: new Error("not in a Worker context") })
|
|
17
19
|
}
|
|
18
20
|
const port = self
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
21
|
+
const run = <A, E, R>(handler: (portId: number, message: I) => Effect.Effect<A, E, R>) =>
|
|
22
|
+
Effect.uninterruptibleMask((restore) =>
|
|
23
|
+
Scope.make().pipe(
|
|
24
|
+
Effect.bindTo("scope"),
|
|
25
|
+
Effect.bind("fiberSet", ({ scope }) => FiberSet.make<any, WorkerError | E>().pipe(Scope.extend(scope))),
|
|
26
|
+
Effect.bind("runFork", ({ fiberSet }) => FiberSet.runtime(fiberSet)<R>()),
|
|
27
|
+
Effect.tap(({ fiberSet, runFork, scope }) => {
|
|
28
|
+
function onMessage(event: MessageEvent) {
|
|
29
|
+
const message = (event as MessageEvent).data as Runner.BackingRunner.Message<I>
|
|
30
|
+
if (message[0] === 0) {
|
|
31
|
+
runFork(restore(handler(0, message[1])))
|
|
32
|
+
} else {
|
|
33
|
+
Deferred.unsafeDone(fiberSet.deferred, Exit.interrupt(FiberId.none))
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function onMessageError(error: MessageEvent) {
|
|
37
|
+
Deferred.unsafeDone(
|
|
38
|
+
fiberSet.deferred,
|
|
39
|
+
new WorkerError({ reason: "decode", cause: error.data })
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
function onError(error: MessageEvent) {
|
|
43
|
+
Deferred.unsafeDone(
|
|
44
|
+
fiberSet.deferred,
|
|
45
|
+
new WorkerError({ reason: "unknown", cause: error.data })
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
port.addEventListener("message", onMessage)
|
|
49
|
+
port.addEventListener("messageerror", onMessageError)
|
|
50
|
+
port.postMessage([0])
|
|
51
|
+
return Scope.addFinalizer(
|
|
52
|
+
scope,
|
|
53
|
+
Effect.sync(() => {
|
|
54
|
+
port.removeEventListener("message", onMessage)
|
|
55
|
+
port.removeEventListener("messageerror", onError)
|
|
56
|
+
})
|
|
57
|
+
)
|
|
58
|
+
}),
|
|
59
|
+
Effect.flatMap(({ fiberSet, scope }) =>
|
|
60
|
+
restore(FiberSet.join(fiberSet) as Effect.Effect<never, E | WorkerError>).pipe(
|
|
61
|
+
Effect.ensuring(Scope.close(scope, Exit.void))
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
)
|
|
48
66
|
const send = (_portId: number, message: O, transfer?: ReadonlyArray<unknown>) =>
|
|
49
67
|
Effect.sync(() =>
|
|
50
68
|
port.postMessage([1, message], {
|
|
51
69
|
transfer: transfer as any
|
|
52
70
|
})
|
|
53
71
|
)
|
|
54
|
-
|
|
55
|
-
port.postMessage([0])
|
|
56
|
-
return { queue, send }
|
|
72
|
+
return { run, send }
|
|
57
73
|
})
|
|
58
74
|
}
|
|
59
75
|
})
|