@effect/platform-bun 0.87.0 → 4.0.0-beta.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/BunChildProcessSpawner.d.ts +7 -0
- package/dist/BunChildProcessSpawner.d.ts.map +1 -0
- package/dist/BunChildProcessSpawner.js +7 -0
- package/dist/BunChildProcessSpawner.js.map +1 -0
- package/dist/BunClusterHttp.d.ts +45 -0
- package/dist/BunClusterHttp.d.ts.map +1 -0
- package/dist/BunClusterHttp.js +48 -0
- package/dist/BunClusterHttp.js.map +1 -0
- package/dist/BunClusterSocket.d.ts +46 -0
- package/dist/BunClusterSocket.d.ts.map +1 -0
- package/dist/BunClusterSocket.js +60 -0
- package/dist/BunClusterSocket.js.map +1 -0
- package/dist/BunFileSystem.d.ts +8 -0
- package/dist/BunFileSystem.d.ts.map +1 -0
- package/dist/BunFileSystem.js.map +1 -0
- package/dist/BunHttpClient.d.ts +9 -0
- package/dist/BunHttpClient.d.ts.map +1 -0
- package/dist/BunHttpClient.js +9 -0
- package/dist/BunHttpClient.js.map +1 -0
- package/dist/BunHttpPlatform.d.ts +8 -0
- package/dist/BunHttpPlatform.d.ts.map +1 -0
- package/dist/BunHttpPlatform.js +35 -0
- package/dist/BunHttpPlatform.js.map +1 -0
- package/dist/BunHttpServer.d.ts +71 -0
- package/dist/BunHttpServer.d.ts.map +1 -0
- package/dist/{esm/internal/httpServer.js → BunHttpServer.js} +149 -118
- package/dist/BunHttpServer.js.map +1 -0
- package/dist/BunHttpServerRequest.d.ts +10 -0
- package/dist/BunHttpServerRequest.d.ts.map +1 -0
- package/dist/BunHttpServerRequest.js +6 -0
- package/dist/BunHttpServerRequest.js.map +1 -0
- package/dist/BunMultipart.d.ts +20 -0
- package/dist/BunMultipart.d.ts.map +1 -0
- package/dist/BunMultipart.js +17 -0
- package/dist/BunMultipart.js.map +1 -0
- package/dist/BunPath.d.ts +18 -0
- package/dist/BunPath.d.ts.map +1 -0
- package/dist/BunPath.js.map +1 -0
- package/dist/BunRedis.d.ts +35 -0
- package/dist/BunRedis.d.ts.map +1 -0
- package/dist/BunRedis.js +51 -0
- package/dist/BunRedis.js.map +1 -0
- package/dist/BunRuntime.d.ts +94 -0
- package/dist/BunRuntime.d.ts.map +1 -0
- package/dist/BunRuntime.js +33 -0
- package/dist/BunRuntime.js.map +1 -0
- package/dist/BunServices.d.ts +20 -0
- package/dist/BunServices.d.ts.map +1 -0
- package/dist/BunServices.js +12 -0
- package/dist/BunServices.js.map +1 -0
- package/dist/BunSink.d.ts.map +1 -0
- package/dist/BunSink.js.map +1 -0
- package/dist/BunSocket.d.ts +26 -0
- package/dist/BunSocket.d.ts.map +1 -0
- package/dist/BunSocket.js +18 -0
- package/dist/BunSocket.js.map +1 -0
- package/dist/BunSocketServer.d.ts.map +1 -0
- package/dist/BunSocketServer.js.map +1 -0
- package/dist/BunStdio.d.ts +8 -0
- package/dist/BunStdio.d.ts.map +1 -0
- package/dist/BunStdio.js +10 -0
- package/dist/BunStdio.js.map +1 -0
- package/dist/BunStream.d.ts +18 -0
- package/dist/BunStream.d.ts.map +1 -0
- package/dist/BunStream.js +44 -0
- package/dist/BunStream.js.map +1 -0
- package/dist/{dts/BunTerminal.d.ts → BunTerminal.d.ts} +2 -2
- package/dist/BunTerminal.d.ts.map +1 -0
- package/dist/{esm/BunTerminal.js → BunTerminal.js} +1 -1
- package/dist/BunTerminal.js.map +1 -0
- package/dist/BunWorker.d.ts +13 -0
- package/dist/BunWorker.d.ts.map +1 -0
- package/dist/BunWorker.js +59 -0
- package/dist/BunWorker.js.map +1 -0
- package/dist/BunWorkerRunner.d.ts +8 -0
- package/dist/BunWorkerRunner.d.ts.map +1 -0
- package/dist/BunWorkerRunner.js +88 -0
- package/dist/BunWorkerRunner.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{esm/index.js → index.js} +21 -7
- package/dist/index.js.map +1 -0
- package/package.json +51 -195
- package/src/BunChildProcessSpawner.ts +6 -0
- package/src/BunClusterHttp.ts +48 -35
- package/src/BunClusterSocket.ts +55 -21
- package/src/BunFileSystem.ts +3 -3
- package/src/BunHttpClient.ts +9 -0
- package/src/BunHttpPlatform.ts +28 -9
- package/src/BunHttpServer.ts +510 -58
- package/src/BunHttpServerRequest.ts +4 -4
- package/src/BunMultipart.ts +22 -11
- package/src/BunPath.ts +5 -6
- package/src/BunRedis.ts +74 -0
- package/src/BunRuntime.ts +95 -3
- package/src/BunServices.ts +33 -0
- package/src/BunSocket.ts +20 -10
- package/src/BunStdio.ts +12 -0
- package/src/BunStream.ts +51 -0
- package/src/BunTerminal.ts +2 -2
- package/src/BunWorker.ts +63 -21
- package/src/BunWorkerRunner.ts +92 -11
- package/src/index.ts +37 -19
- package/BunClusterHttp/package.json +0 -6
- package/BunClusterSocket/package.json +0 -6
- package/BunCommandExecutor/package.json +0 -6
- package/BunContext/package.json +0 -6
- package/BunFileSystem/ParcelWatcher/package.json +0 -6
- package/BunFileSystem/package.json +0 -6
- package/BunHttpPlatform/package.json +0 -6
- package/BunHttpServer/package.json +0 -6
- package/BunHttpServerRequest/package.json +0 -6
- package/BunKeyValueStore/package.json +0 -6
- package/BunMultipart/package.json +0 -6
- package/BunPath/package.json +0 -6
- package/BunRuntime/package.json +0 -6
- package/BunSink/package.json +0 -6
- package/BunSocket/package.json +0 -6
- package/BunSocketServer/package.json +0 -6
- package/BunStream/package.json +0 -6
- package/BunTerminal/package.json +0 -6
- package/BunWorker/package.json +0 -6
- package/BunWorkerRunner/package.json +0 -6
- package/dist/cjs/BunClusterHttp.js +0 -59
- package/dist/cjs/BunClusterHttp.js.map +0 -1
- package/dist/cjs/BunClusterSocket.js +0 -55
- package/dist/cjs/BunClusterSocket.js.map +0 -1
- package/dist/cjs/BunCommandExecutor.js +0 -18
- package/dist/cjs/BunCommandExecutor.js.map +0 -1
- package/dist/cjs/BunContext.js +0 -20
- package/dist/cjs/BunContext.js.map +0 -1
- package/dist/cjs/BunFileSystem/ParcelWatcher.js +0 -18
- package/dist/cjs/BunFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/cjs/BunFileSystem.js +0 -18
- package/dist/cjs/BunFileSystem.js.map +0 -1
- package/dist/cjs/BunHttpPlatform.js +0 -19
- package/dist/cjs/BunHttpPlatform.js.map +0 -1
- package/dist/cjs/BunHttpServer.js +0 -48
- package/dist/cjs/BunHttpServer.js.map +0 -1
- package/dist/cjs/BunHttpServerRequest.js +0 -14
- package/dist/cjs/BunHttpServerRequest.js.map +0 -1
- package/dist/cjs/BunKeyValueStore.js +0 -18
- package/dist/cjs/BunKeyValueStore.js.map +0 -1
- package/dist/cjs/BunMultipart.js +0 -19
- package/dist/cjs/BunMultipart.js.map +0 -1
- package/dist/cjs/BunPath.js +0 -28
- package/dist/cjs/BunPath.js.map +0 -1
- package/dist/cjs/BunRuntime.js +0 -18
- package/dist/cjs/BunRuntime.js.map +0 -1
- package/dist/cjs/BunSink.js +0 -17
- package/dist/cjs/BunSink.js.map +0 -1
- package/dist/cjs/BunSocket.js +0 -45
- package/dist/cjs/BunSocket.js.map +0 -1
- package/dist/cjs/BunSocketServer.js +0 -17
- package/dist/cjs/BunSocketServer.js.map +0 -1
- package/dist/cjs/BunStream.js +0 -17
- package/dist/cjs/BunStream.js.map +0 -1
- package/dist/cjs/BunTerminal.js +0 -23
- package/dist/cjs/BunTerminal.js.map +0 -1
- package/dist/cjs/BunWorker.js +0 -29
- package/dist/cjs/BunWorker.js.map +0 -1
- package/dist/cjs/BunWorkerRunner.js +0 -21
- package/dist/cjs/BunWorkerRunner.js.map +0 -1
- package/dist/cjs/index.js +0 -46
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/httpPlatform.js +0 -36
- package/dist/cjs/internal/httpPlatform.js.map +0 -1
- package/dist/cjs/internal/httpServer.js +0 -356
- package/dist/cjs/internal/httpServer.js.map +0 -1
- package/dist/cjs/internal/multipart.js +0 -160
- package/dist/cjs/internal/multipart.js.map +0 -1
- package/dist/cjs/internal/worker.js +0 -63
- package/dist/cjs/internal/worker.js.map +0 -1
- package/dist/cjs/internal/workerRunner.js +0 -84
- package/dist/cjs/internal/workerRunner.js.map +0 -1
- package/dist/dts/BunClusterHttp.d.ts +0 -30
- package/dist/dts/BunClusterHttp.d.ts.map +0 -1
- package/dist/dts/BunClusterSocket.d.ts +0 -35
- package/dist/dts/BunClusterSocket.d.ts.map +0 -1
- package/dist/dts/BunCommandExecutor.d.ts +0 -9
- package/dist/dts/BunCommandExecutor.d.ts.map +0 -1
- package/dist/dts/BunContext.d.ts +0 -20
- package/dist/dts/BunContext.d.ts.map +0 -1
- package/dist/dts/BunFileSystem/ParcelWatcher.d.ts +0 -8
- package/dist/dts/BunFileSystem/ParcelWatcher.d.ts.map +0 -1
- package/dist/dts/BunFileSystem.d.ts +0 -8
- package/dist/dts/BunFileSystem.d.ts.map +0 -1
- package/dist/dts/BunHttpPlatform.d.ts +0 -19
- package/dist/dts/BunHttpPlatform.d.ts.map +0 -1
- package/dist/dts/BunHttpServer.d.ts +0 -72
- package/dist/dts/BunHttpServer.d.ts.map +0 -1
- package/dist/dts/BunHttpServerRequest.d.ts +0 -10
- package/dist/dts/BunHttpServerRequest.d.ts.map +0 -1
- package/dist/dts/BunKeyValueStore.d.ts +0 -9
- package/dist/dts/BunKeyValueStore.d.ts.map +0 -1
- package/dist/dts/BunMultipart.d.ts +0 -20
- package/dist/dts/BunMultipart.d.ts.map +0 -1
- package/dist/dts/BunPath.d.ts +0 -21
- package/dist/dts/BunPath.d.ts.map +0 -1
- package/dist/dts/BunRuntime.d.ts +0 -7
- package/dist/dts/BunRuntime.d.ts.map +0 -1
- package/dist/dts/BunSink.d.ts.map +0 -1
- package/dist/dts/BunSocket.d.ts +0 -22
- package/dist/dts/BunSocket.d.ts.map +0 -1
- package/dist/dts/BunSocketServer.d.ts.map +0 -1
- package/dist/dts/BunStream.d.ts +0 -8
- package/dist/dts/BunStream.d.ts.map +0 -1
- package/dist/dts/BunTerminal.d.ts.map +0 -1
- package/dist/dts/BunWorker.d.ts +0 -26
- package/dist/dts/BunWorker.d.ts.map +0 -1
- package/dist/dts/BunWorkerRunner.d.ts +0 -17
- package/dist/dts/BunWorkerRunner.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -77
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/internal/httpPlatform.d.ts +0 -2
- package/dist/dts/internal/httpPlatform.d.ts.map +0 -1
- package/dist/dts/internal/httpServer.d.ts +0 -2
- package/dist/dts/internal/httpServer.d.ts.map +0 -1
- package/dist/dts/internal/multipart.d.ts +0 -2
- package/dist/dts/internal/multipart.d.ts.map +0 -1
- package/dist/dts/internal/worker.d.ts +0 -2
- package/dist/dts/internal/worker.d.ts.map +0 -1
- package/dist/dts/internal/workerRunner.d.ts +0 -2
- package/dist/dts/internal/workerRunner.d.ts.map +0 -1
- package/dist/esm/BunClusterHttp.js +0 -50
- package/dist/esm/BunClusterHttp.js.map +0 -1
- package/dist/esm/BunClusterSocket.js +0 -45
- package/dist/esm/BunClusterSocket.js.map +0 -1
- package/dist/esm/BunCommandExecutor.js +0 -10
- package/dist/esm/BunCommandExecutor.js.map +0 -1
- package/dist/esm/BunContext.js +0 -13
- package/dist/esm/BunContext.js.map +0 -1
- package/dist/esm/BunFileSystem/ParcelWatcher.js +0 -10
- package/dist/esm/BunFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/esm/BunFileSystem.js.map +0 -1
- package/dist/esm/BunHttpPlatform.js +0 -12
- package/dist/esm/BunHttpPlatform.js.map +0 -1
- package/dist/esm/BunHttpServer.js +0 -41
- package/dist/esm/BunHttpServer.js.map +0 -1
- package/dist/esm/BunHttpServerRequest.js +0 -7
- package/dist/esm/BunHttpServerRequest.js.map +0 -1
- package/dist/esm/BunKeyValueStore.js +0 -10
- package/dist/esm/BunKeyValueStore.js.map +0 -1
- package/dist/esm/BunMultipart.js +0 -12
- package/dist/esm/BunMultipart.js.map +0 -1
- package/dist/esm/BunPath.js.map +0 -1
- package/dist/esm/BunRuntime.js +0 -10
- package/dist/esm/BunRuntime.js.map +0 -1
- package/dist/esm/BunSink.js.map +0 -1
- package/dist/esm/BunSocket.js +0 -20
- package/dist/esm/BunSocket.js.map +0 -1
- package/dist/esm/BunSocketServer.js.map +0 -1
- package/dist/esm/BunStream.js +0 -8
- package/dist/esm/BunStream.js.map +0 -1
- package/dist/esm/BunTerminal.js.map +0 -1
- package/dist/esm/BunWorker.js +0 -22
- package/dist/esm/BunWorker.js.map +0 -1
- package/dist/esm/BunWorkerRunner.js +0 -13
- package/dist/esm/BunWorkerRunner.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internal/httpPlatform.js +0 -29
- package/dist/esm/internal/httpPlatform.js.map +0 -1
- package/dist/esm/internal/httpServer.js.map +0 -1
- package/dist/esm/internal/multipart.js +0 -151
- package/dist/esm/internal/multipart.js.map +0 -1
- package/dist/esm/internal/worker.js +0 -54
- package/dist/esm/internal/worker.js.map +0 -1
- package/dist/esm/internal/workerRunner.js +0 -77
- package/dist/esm/internal/workerRunner.js.map +0 -1
- package/dist/esm/package.json +0 -4
- package/index/package.json +0 -6
- package/src/BunCommandExecutor.ts +0 -13
- package/src/BunContext.ts +0 -40
- package/src/BunFileSystem/ParcelWatcher.ts +0 -12
- package/src/BunKeyValueStore.ts +0 -15
- package/src/internal/httpPlatform.ts +0 -25
- package/src/internal/httpServer.ts +0 -478
- package/src/internal/multipart.ts +0 -149
- package/src/internal/worker.ts +0 -68
- package/src/internal/workerRunner.ts +0 -87
- /package/dist/{esm/BunFileSystem.js → BunFileSystem.js} +0 -0
- /package/dist/{esm/BunPath.js → BunPath.js} +0 -0
- /package/dist/{dts/BunSink.d.ts → BunSink.d.ts} +0 -0
- /package/dist/{esm/BunSink.js → BunSink.js} +0 -0
- /package/dist/{dts/BunSocketServer.d.ts → BunSocketServer.d.ts} +0 -0
- /package/dist/{esm/BunSocketServer.js → BunSocketServer.js} +0 -0
package/dist/BunRedis.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { RedisClient } from "bun";
|
|
5
|
+
import * as Config from "effect/Config";
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Fn from "effect/Function";
|
|
8
|
+
import * as Layer from "effect/Layer";
|
|
9
|
+
import * as Scope from "effect/Scope";
|
|
10
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
11
|
+
import * as Redis from "effect/unstable/persistence/Redis";
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category Service
|
|
15
|
+
*/
|
|
16
|
+
export class BunRedis extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-bun/BunRedis") {}
|
|
17
|
+
const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
18
|
+
const scope = yield* Effect.scope;
|
|
19
|
+
yield* Scope.addFinalizer(scope, Effect.sync(() => client.close()));
|
|
20
|
+
const client = new RedisClient(options?.url, options);
|
|
21
|
+
const use = f => Effect.tryPromise({
|
|
22
|
+
try: () => f(client),
|
|
23
|
+
catch: cause => new Redis.RedisError({
|
|
24
|
+
cause
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
const redis = yield* Redis.make({
|
|
28
|
+
send: (command, ...args) => Effect.tryPromise({
|
|
29
|
+
try: () => client.send(command, args),
|
|
30
|
+
catch: cause => new Redis.RedisError({
|
|
31
|
+
cause
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
const bunRedis = Fn.identity({
|
|
36
|
+
client,
|
|
37
|
+
use
|
|
38
|
+
});
|
|
39
|
+
return ServiceMap.make(BunRedis, bunRedis).pipe(ServiceMap.add(Redis.Redis, redis));
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* @since 1.0.0
|
|
43
|
+
* @category Layers
|
|
44
|
+
*/
|
|
45
|
+
export const layer = options => Layer.effectServices(make(options));
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
* @category Layers
|
|
49
|
+
*/
|
|
50
|
+
export const layerConfig = options => Layer.effectServices(Config.unwrap(options).asEffect().pipe(Effect.flatMap(make)));
|
|
51
|
+
//# sourceMappingURL=BunRedis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunRedis.js","names":["RedisClient","Config","Effect","Fn","Layer","Scope","ServiceMap","Redis","BunRedis","Service","make","fnUntraced","options","scope","addFinalizer","sync","client","close","url","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","bunRedis","identity","pipe","add","layer","effectServices","layerConfig","unwrap","asEffect","flatMap"],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,WAAW,QAA2B,KAAK;AACpD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAE1D;;;;AAIA,OAAM,MAAOC,QAAS,sBAAQF,UAAU,CAACG,OAAO,EAG5C,CAAC,+BAA+B,CAAC;AAErC,MAAMC,IAAI,gBAAGR,MAAM,CAACS,UAAU,CAAC,WAC7BC,OAEgB;EAEhB,MAAMC,KAAK,GAAG,OAAOX,MAAM,CAACW,KAAK;EACjC,OAAOR,KAAK,CAACS,YAAY,CAACD,KAAK,EAAEX,MAAM,CAACa,IAAI,CAAC,MAAMC,MAAM,CAACC,KAAK,EAAE,CAAC,CAAC;EACnE,MAAMD,MAAM,GAAG,IAAIhB,WAAW,CAACY,OAAO,EAAEM,GAAG,EAAEN,OAAO,CAAC;EAErD,MAAMO,GAAG,GAAOC,CAAsC,IACpDlB,MAAM,CAACmB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMF,CAAC,CAACJ,MAAM,CAAC;IACpBO,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;MAAED;IAAK,CAAE;GACjD,CAAC;EAEJ,MAAME,KAAK,GAAG,OAAOnB,KAAK,CAACG,IAAI,CAAC;IAC9BiB,IAAI,EAAEA,CAAcC,OAAe,EAAE,GAAGC,IAA2B,KACjE3B,MAAM,CAACmB,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAMN,MAAM,CAACW,IAAI,CAACC,OAAO,EAAEC,IAAqB,CAAe;MACpEN,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;QAAED;MAAK,CAAE;KACjD;GACJ,CAAC;EAEF,MAAMM,QAAQ,GAAG3B,EAAE,CAAC4B,QAAQ,CAAsB;IAChDf,MAAM;IACNG;GACD,CAAC;EAEF,OAAOb,UAAU,CAACI,IAAI,CAACF,QAAQ,EAAEsB,QAAQ,CAAC,CAACE,IAAI,CAC7C1B,UAAU,CAAC2B,GAAG,CAAC1B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CACnC;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMQ,KAAK,GAChBtB,OAAgE,IACxBR,KAAK,CAAC+B,cAAc,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE7E;;;;AAIA,OAAO,MAAMwB,WAAW,GACtBxB,OAA8D,IAE9DR,KAAK,CAAC+B,cAAc,CAClBlC,MAAM,CAACoC,MAAM,CAACzB,OAAO,CAAC,CAAC0B,QAAQ,EAAE,CAACN,IAAI,CACpC9B,MAAM,CAACqC,OAAO,CAAC7B,IAAI,CAAC,CACrB,CACF","ignoreList":[]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { Effect } from "effect/Effect";
|
|
2
|
+
import type { Teardown } from "effect/Runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Helps you run a main effect with built-in error handling, logging, and signal management.
|
|
5
|
+
*
|
|
6
|
+
* **Details**
|
|
7
|
+
*
|
|
8
|
+
* This function launches an Effect as the main entry point, setting exit codes
|
|
9
|
+
* based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
|
|
10
|
+
* logging errors. By default, it logs errors and uses a "pretty" format, but both
|
|
11
|
+
* behaviors can be turned off. You can also provide custom teardown logic to
|
|
12
|
+
* finalize resources or produce different exit codes.
|
|
13
|
+
*
|
|
14
|
+
* **Options**
|
|
15
|
+
*
|
|
16
|
+
* An optional object that can include:
|
|
17
|
+
* - `disableErrorReporting`: Turn off automatic error logging.
|
|
18
|
+
* - `disablePrettyLogger`: Avoid adding the pretty logger.
|
|
19
|
+
* - `teardown`: Provide custom finalization logic.
|
|
20
|
+
*
|
|
21
|
+
* **When to Use**
|
|
22
|
+
*
|
|
23
|
+
* Use this function to run an Effect as your application’s main program, especially
|
|
24
|
+
* when you need structured error handling, log management, interrupt support,
|
|
25
|
+
* or advanced teardown capabilities.
|
|
26
|
+
*
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
* @category Run main
|
|
29
|
+
*/
|
|
30
|
+
export declare const runMain: {
|
|
31
|
+
/**
|
|
32
|
+
* Helps you run a main effect with built-in error handling, logging, and signal management.
|
|
33
|
+
*
|
|
34
|
+
* **Details**
|
|
35
|
+
*
|
|
36
|
+
* This function launches an Effect as the main entry point, setting exit codes
|
|
37
|
+
* based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
|
|
38
|
+
* logging errors. By default, it logs errors and uses a "pretty" format, but both
|
|
39
|
+
* behaviors can be turned off. You can also provide custom teardown logic to
|
|
40
|
+
* finalize resources or produce different exit codes.
|
|
41
|
+
*
|
|
42
|
+
* **Options**
|
|
43
|
+
*
|
|
44
|
+
* An optional object that can include:
|
|
45
|
+
* - `disableErrorReporting`: Turn off automatic error logging.
|
|
46
|
+
* - `disablePrettyLogger`: Avoid adding the pretty logger.
|
|
47
|
+
* - `teardown`: Provide custom finalization logic.
|
|
48
|
+
*
|
|
49
|
+
* **When to Use**
|
|
50
|
+
*
|
|
51
|
+
* Use this function to run an Effect as your application’s main program, especially
|
|
52
|
+
* when you need structured error handling, log management, interrupt support,
|
|
53
|
+
* or advanced teardown capabilities.
|
|
54
|
+
*
|
|
55
|
+
* @since 1.0.0
|
|
56
|
+
* @category Run main
|
|
57
|
+
*/
|
|
58
|
+
(options?: {
|
|
59
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
60
|
+
readonly teardown?: Teardown | undefined;
|
|
61
|
+
}): <E, A>(effect: Effect<A, E>) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Helps you run a main effect with built-in error handling, logging, and signal management.
|
|
64
|
+
*
|
|
65
|
+
* **Details**
|
|
66
|
+
*
|
|
67
|
+
* This function launches an Effect as the main entry point, setting exit codes
|
|
68
|
+
* based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
|
|
69
|
+
* logging errors. By default, it logs errors and uses a "pretty" format, but both
|
|
70
|
+
* behaviors can be turned off. You can also provide custom teardown logic to
|
|
71
|
+
* finalize resources or produce different exit codes.
|
|
72
|
+
*
|
|
73
|
+
* **Options**
|
|
74
|
+
*
|
|
75
|
+
* An optional object that can include:
|
|
76
|
+
* - `disableErrorReporting`: Turn off automatic error logging.
|
|
77
|
+
* - `disablePrettyLogger`: Avoid adding the pretty logger.
|
|
78
|
+
* - `teardown`: Provide custom finalization logic.
|
|
79
|
+
*
|
|
80
|
+
* **When to Use**
|
|
81
|
+
*
|
|
82
|
+
* Use this function to run an Effect as your application’s main program, especially
|
|
83
|
+
* when you need structured error handling, log management, interrupt support,
|
|
84
|
+
* or advanced teardown capabilities.
|
|
85
|
+
*
|
|
86
|
+
* @since 1.0.0
|
|
87
|
+
* @category Run main
|
|
88
|
+
*/
|
|
89
|
+
<E, A>(effect: Effect<A, E>, options?: {
|
|
90
|
+
readonly disableErrorReporting?: boolean | undefined;
|
|
91
|
+
readonly teardown?: Teardown | undefined;
|
|
92
|
+
}): void;
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=BunRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunRuntime.d.ts","sourceRoot":"","sources":["../src/BunRuntime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,IAAI,CAAA;CACc,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime";
|
|
5
|
+
/**
|
|
6
|
+
* Helps you run a main effect with built-in error handling, logging, and signal management.
|
|
7
|
+
*
|
|
8
|
+
* **Details**
|
|
9
|
+
*
|
|
10
|
+
* This function launches an Effect as the main entry point, setting exit codes
|
|
11
|
+
* based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
|
|
12
|
+
* logging errors. By default, it logs errors and uses a "pretty" format, but both
|
|
13
|
+
* behaviors can be turned off. You can also provide custom teardown logic to
|
|
14
|
+
* finalize resources or produce different exit codes.
|
|
15
|
+
*
|
|
16
|
+
* **Options**
|
|
17
|
+
*
|
|
18
|
+
* An optional object that can include:
|
|
19
|
+
* - `disableErrorReporting`: Turn off automatic error logging.
|
|
20
|
+
* - `disablePrettyLogger`: Avoid adding the pretty logger.
|
|
21
|
+
* - `teardown`: Provide custom finalization logic.
|
|
22
|
+
*
|
|
23
|
+
* **When to Use**
|
|
24
|
+
*
|
|
25
|
+
* Use this function to run an Effect as your application’s main program, especially
|
|
26
|
+
* when you need structured error handling, log management, interrupt support,
|
|
27
|
+
* or advanced teardown capabilities.
|
|
28
|
+
*
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category Run main
|
|
31
|
+
*/
|
|
32
|
+
export const runMain = NodeRuntime.runMain;
|
|
33
|
+
//# sourceMappingURL=BunRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/BunRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAMC,OAAO,GAoEhBD,WAAW,CAACC,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { FileSystem } from "effect/FileSystem";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import type { Path } from "effect/Path";
|
|
7
|
+
import type { Stdio } from "effect/Stdio";
|
|
8
|
+
import type { Terminal } from "effect/Terminal";
|
|
9
|
+
import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
* @category models
|
|
13
|
+
*/
|
|
14
|
+
export type BunServices = ChildProcessSpawner | FileSystem | Path | Terminal | Stdio;
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category layer
|
|
18
|
+
*/
|
|
19
|
+
export declare const layer: Layer.Layer<BunServices>;
|
|
20
|
+
//# sourceMappingURL=BunServices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunServices.d.ts","sourceRoot":"","sources":["../src/BunServices.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAOtF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAO1C,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import * as BunChildProcessSpawner from "./BunChildProcessSpawner.js";
|
|
3
|
+
import * as BunFileSystem from "./BunFileSystem.js";
|
|
4
|
+
import * as BunPath from "./BunPath.js";
|
|
5
|
+
import * as BunStdio from "./BunStdio.js";
|
|
6
|
+
import * as BunTerminal from "./BunTerminal.js";
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category layer
|
|
10
|
+
*/
|
|
11
|
+
export const layer = /*#__PURE__*/BunChildProcessSpawner.layer.pipe(/*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.mergeAll(BunFileSystem.layer, BunPath.layer, BunStdio.layer, BunTerminal.layer)));
|
|
12
|
+
//# sourceMappingURL=BunServices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunServices.js","names":["Layer","BunChildProcessSpawner","BunFileSystem","BunPath","BunStdio","BunTerminal","layer","pipe","provideMerge","mergeAll"],"sources":["../src/BunServices.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAKrC,OAAO,KAAKC,sBAAsB,MAAM,6BAA6B;AACrE,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAQ/C;;;;AAIA,OAAO,MAAMC,KAAK,gBAA6BL,sBAAsB,CAACK,KAAK,CAACC,IAAI,cAC9EP,KAAK,CAACQ,YAAY,cAACR,KAAK,CAACS,QAAQ,CAC/BP,aAAa,CAACI,KAAK,EACnBH,OAAO,CAACG,KAAK,EACbF,QAAQ,CAACE,KAAK,EACdD,WAAW,CAACC,KAAK,CAClB,CAAC,CACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSink.d.ts","sourceRoot":"","sources":["../src/BunSink.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,uCAAuC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSink.js","names":[],"sources":["../src/BunSink.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,uCAAuC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Duration from "effect/Duration";
|
|
5
|
+
import type { Effect } from "effect/Effect";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import * as Socket from "effect/unstable/socket/Socket";
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
export * from "@effect/platform-node-shared/NodeSocket";
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category layers
|
|
15
|
+
*/
|
|
16
|
+
export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category layers
|
|
20
|
+
*/
|
|
21
|
+
export declare const layerWebSocket: (url: string | Effect<string>, options?: {
|
|
22
|
+
readonly closeCodeIsError?: ((code: number) => boolean) | undefined;
|
|
23
|
+
readonly openTimeout?: Duration.DurationInput | undefined;
|
|
24
|
+
readonly protocols?: string | Array<string> | undefined;
|
|
25
|
+
} | undefined) => Layer.Layer<Socket.Socket, never, never>;
|
|
26
|
+
//# sourceMappingURL=BunSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAG5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACxD,GAAG,SAAS,KACV,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAI3C,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { flow } from "effect/Function";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as Socket from "effect/unstable/socket/Socket";
|
|
4
|
+
/**
|
|
5
|
+
* @since 1.0.0
|
|
6
|
+
*/
|
|
7
|
+
export * from "@effect/platform-node-shared/NodeSocket";
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category layers
|
|
11
|
+
*/
|
|
12
|
+
export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, protocols) => new globalThis.WebSocket(url, protocols));
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
* @category layers
|
|
16
|
+
*/
|
|
17
|
+
export const layerWebSocket = /*#__PURE__*/flow(Socket.makeWebSocket, /*#__PURE__*/Layer.effect(Socket.Socket), /*#__PURE__*/Layer.provide(layerWebSocketConstructor));
|
|
18
|
+
//# sourceMappingURL=BunSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSocket.js","names":["flow","Layer","Socket","layerWebSocketConstructor","succeed","WebSocketConstructor","url","protocols","globalThis","WebSocket","layerWebSocket","makeWebSocket","effect","provide"],"sources":["../src/BunSocket.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;AAIA,OAAO,MAAMC,yBAAyB,gBAElCF,KAAK,CAACG,OAAO,CAACF,MAAM,CAACG,oBAAoB,CAAC,CAC5C,CAACC,GAAG,EAAEC,SAAS,KAAK,IAAIC,UAAU,CAACC,SAAS,CAACH,GAAG,EAAEC,SAAS,CAAC,CAC7D;AAED;;;;AAIA,OAAO,MAAMG,cAAc,gBAOqBV,IAAI,CAClDE,MAAM,CAACS,aAAa,eACpBV,KAAK,CAACW,MAAM,CAACV,MAAM,CAACA,MAAM,CAAC,eAC3BD,KAAK,CAACY,OAAO,CAACV,yBAAyB,CAAC,CACzC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSocketServer.d.ts","sourceRoot":"","sources":["../src/BunSocketServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,+CAA+C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSocketServer.js","names":[],"sources":["../src/BunSocketServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,+CAA+C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunStdio.d.ts","sourceRoot":"","sources":["../src/BunStdio.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAA"}
|
package/dist/BunStdio.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunStdio.js","names":["NodeStdio","layer"],"sources":["../src/BunStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,wCAAwC;AAInE;;;;AAIA,OAAO,MAAMC,KAAK,GAAuBD,SAAS,CAACC,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LazyArg } from "effect/Function";
|
|
2
|
+
import * as Stream from "effect/Stream";
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "@effect/platform-node-shared/NodeStream";
|
|
7
|
+
/**
|
|
8
|
+
* An optimized version of `Stream.fromReadableStream` that uses the Bun
|
|
9
|
+
* .readMany API to read multiple values at once from a `ReadableStream`.
|
|
10
|
+
*
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
export declare const fromReadableStream: <A, E>(options: {
|
|
14
|
+
readonly evaluate: LazyArg<ReadableStream<A>>;
|
|
15
|
+
readonly onError: (error: unknown) => E;
|
|
16
|
+
readonly releaseLockOnEnd?: boolean | undefined;
|
|
17
|
+
}) => Stream.Stream<A, E>;
|
|
18
|
+
//# sourceMappingURL=BunStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunStream.d.ts","sourceRoot":"","sources":["../src/BunStream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EACrC,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAChD,KACA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CA6Bf,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Arr from "effect/Array";
|
|
5
|
+
import * as Cause from "effect/Cause";
|
|
6
|
+
import * as Channel from "effect/Channel";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import * as Scope from "effect/Scope";
|
|
9
|
+
import * as Stream from "effect/Stream";
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
export * from "@effect/platform-node-shared/NodeStream";
|
|
14
|
+
/**
|
|
15
|
+
* An optimized version of `Stream.fromReadableStream` that uses the Bun
|
|
16
|
+
* .readMany API to read multiple values at once from a `ReadableStream`.
|
|
17
|
+
*
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
export const fromReadableStream = options => Stream.fromChannel(Channel.fromTransform(Effect.fnUntraced(function* (_, scope) {
|
|
21
|
+
const reader = options.evaluate().getReader();
|
|
22
|
+
yield* Scope.addFinalizer(scope, options.releaseLockOnEnd ? Effect.sync(() => reader.releaseLock()) : Effect.promise(() => reader.cancel()));
|
|
23
|
+
const readMany = Effect.callback(resume => {
|
|
24
|
+
const result = reader.readMany();
|
|
25
|
+
if ("then" in result) {
|
|
26
|
+
result.then(_ => resume(Effect.succeed(_)), e => resume(Effect.fail(options.onError(e))));
|
|
27
|
+
} else {
|
|
28
|
+
resume(Effect.succeed(result));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
// @effect-diagnostics-next-line returnEffectInGen:off
|
|
32
|
+
return Effect.flatMap(readMany, function loop({
|
|
33
|
+
done,
|
|
34
|
+
value
|
|
35
|
+
}) {
|
|
36
|
+
if (done) {
|
|
37
|
+
return Cause.done();
|
|
38
|
+
} else if (!Arr.isReadonlyArrayNonEmpty(value)) {
|
|
39
|
+
return Effect.flatMap(readMany, loop);
|
|
40
|
+
}
|
|
41
|
+
return Effect.succeed(value);
|
|
42
|
+
});
|
|
43
|
+
})));
|
|
44
|
+
//# sourceMappingURL=BunStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunStream.js","names":["Arr","Cause","Channel","Effect","Scope","Stream","fromReadableStream","options","fromChannel","fromTransform","fnUntraced","_","scope","reader","evaluate","getReader","addFinalizer","releaseLockOnEnd","sync","releaseLock","promise","cancel","readMany","callback","resume","result","then","succeed","e","fail","onError","flatMap","loop","done","value","isReadonlyArrayNonEmpty"],"sources":["../src/BunStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;AAMA,OAAO,MAAMC,kBAAkB,GAC7BC,OAIC,IAEDF,MAAM,CAACG,WAAW,CAACN,OAAO,CAACO,aAAa,CAACN,MAAM,CAACO,UAAU,CAAC,WAAUC,CAAC,EAAEC,KAAK;EAC3E,MAAMC,MAAM,GAAGN,OAAO,CAACO,QAAQ,EAAE,CAACC,SAAS,EAAE;EAC7C,OAAOX,KAAK,CAACY,YAAY,CACvBJ,KAAK,EACLL,OAAO,CAACU,gBAAgB,GAAGd,MAAM,CAACe,IAAI,CAAC,MAAML,MAAM,CAACM,WAAW,EAAE,CAAC,GAAGhB,MAAM,CAACiB,OAAO,CAAC,MAAMP,MAAM,CAACQ,MAAM,EAAE,CAAC,CAC3G;EACD,MAAMC,QAAQ,GAAGnB,MAAM,CAACoB,QAAQ,CAAiDC,MAAM,IAAI;IACzF,MAAMC,MAAM,GAAGZ,MAAM,CAACS,QAAQ,EAAE;IAChC,IAAI,MAAM,IAAIG,MAAM,EAAE;MACpBA,MAAM,CAACC,IAAI,CAAEf,CAAC,IAAKa,MAAM,CAACrB,MAAM,CAACwB,OAAO,CAAChB,CAAC,CAAC,CAAC,EAAGiB,CAAC,IAAKJ,MAAM,CAACrB,MAAM,CAAC0B,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAACF,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC,MAAM;MACLJ,MAAM,CAACrB,MAAM,CAACwB,OAAO,CAACF,MAAM,CAAC,CAAC;IAChC;EACF,CAAC,CAAC;EACF;EACA,OAAOtB,MAAM,CAAC4B,OAAO,CACnBT,QAAQ,EACR,SAASU,IAAIA,CACX;IAAEC,IAAI;IAAEC;EAAK,CAAE;IAEf,IAAID,IAAI,EAAE;MACR,OAAOhC,KAAK,CAACgC,IAAI,EAAE;IACrB,CAAC,MAAM,IAAI,CAACjC,GAAG,CAACmC,uBAAuB,CAACD,KAAK,CAAC,EAAE;MAC9C,OAAO/B,MAAM,CAAC4B,OAAO,CAACT,QAAQ,EAAEU,IAAI,CAAC;IACvC;IACA,OAAO7B,MAAM,CAACwB,OAAO,CAACO,KAAK,CAAC;EAC9B,CAAC,CACF;AACH,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Terminal, UserInput } from "@effect/platform/Terminal";
|
|
2
1
|
import type { Effect } from "effect/Effect";
|
|
3
2
|
import type { Layer } from "effect/Layer";
|
|
4
3
|
import type { Scope } from "effect/Scope";
|
|
4
|
+
import type { Terminal, UserInput } from "effect/Terminal";
|
|
5
5
|
/**
|
|
6
6
|
* @since 1.0.0
|
|
7
7
|
* @category constructors
|
|
@@ -9,7 +9,7 @@ import type { Scope } from "effect/Scope";
|
|
|
9
9
|
export declare const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope>;
|
|
10
10
|
/**
|
|
11
11
|
* @since 1.0.0
|
|
12
|
-
* @category
|
|
12
|
+
* @category layers
|
|
13
13
|
*/
|
|
14
14
|
export declare const layer: Layer<Terminal>;
|
|
15
15
|
//# sourceMappingURL=BunTerminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunTerminal.d.ts","sourceRoot":"","sources":["../src/BunTerminal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"}
|
|
@@ -9,7 +9,7 @@ import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal";
|
|
|
9
9
|
export const make = NodeTerminal.make;
|
|
10
10
|
/**
|
|
11
11
|
* @since 1.0.0
|
|
12
|
-
* @category
|
|
12
|
+
* @category layers
|
|
13
13
|
*/
|
|
14
14
|
export const layer = NodeTerminal.layer;
|
|
15
15
|
//# sourceMappingURL=BunTerminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunTerminal.js","names":["NodeTerminal","make","layer"],"sources":["../src/BunTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,YAAY,MAAM,2CAA2C;AAMzE;;;;AAIA,OAAO,MAAMC,IAAI,GAAmFD,YAAY,CAACC,IAAI;AAErH;;;;AAIA,OAAO,MAAMC,KAAK,GAAoBF,YAAY,CAACE,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import * as Worker from "effect/unstable/workers/Worker";
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
* @category layers
|
|
6
|
+
*/
|
|
7
|
+
export declare const layer: (spawn: (id: number) => globalThis.Worker) => Layer.Layer<Worker.WorkerPlatform | Worker.Spawner>;
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category layers
|
|
11
|
+
*/
|
|
12
|
+
export declare const layerPlatform: Layer.Layer<Worker.WorkerPlatform, never, never>;
|
|
13
|
+
//# sourceMappingURL=BunWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunWorker.d.ts","sourceRoot":"","sources":["../src/BunWorker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAGxD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC,MAAM,KACvC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAIlD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,kDAgDzB,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Deferred from "effect/Deferred";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Exit from "effect/Exit";
|
|
7
|
+
import * as Layer from "effect/Layer";
|
|
8
|
+
import * as Scope from "effect/Scope";
|
|
9
|
+
import * as Worker from "effect/unstable/workers/Worker";
|
|
10
|
+
import { WorkerError, WorkerUnknownError } from "effect/unstable/workers/WorkerError";
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category layers
|
|
14
|
+
*/
|
|
15
|
+
export const layer = spawn => Layer.merge(layerPlatform, Layer.succeed(Worker.Spawner)(spawn));
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category layers
|
|
19
|
+
*/
|
|
20
|
+
export const layerPlatform = /*#__PURE__*/Layer.succeed(Worker.WorkerPlatform)(/*#__PURE__*/Worker.makePlatform()({
|
|
21
|
+
setup({
|
|
22
|
+
scope,
|
|
23
|
+
worker
|
|
24
|
+
}) {
|
|
25
|
+
const closeDeferred = Deferred.makeUnsafe();
|
|
26
|
+
worker.addEventListener("close", () => {
|
|
27
|
+
Deferred.doneUnsafe(closeDeferred, Exit.void);
|
|
28
|
+
});
|
|
29
|
+
return Effect.as(Scope.addFinalizer(scope, Effect.suspend(() => {
|
|
30
|
+
worker.postMessage([1]);
|
|
31
|
+
return Deferred.await(closeDeferred);
|
|
32
|
+
}).pipe(Effect.interruptible, Effect.timeout(5000), Effect.catchCause(() => Effect.sync(() => worker.terminate())))), worker);
|
|
33
|
+
},
|
|
34
|
+
listen({
|
|
35
|
+
deferred,
|
|
36
|
+
emit,
|
|
37
|
+
port,
|
|
38
|
+
scope
|
|
39
|
+
}) {
|
|
40
|
+
function onMessage(event) {
|
|
41
|
+
emit(event.data);
|
|
42
|
+
}
|
|
43
|
+
function onError(event) {
|
|
44
|
+
Deferred.doneUnsafe(deferred, new WorkerError({
|
|
45
|
+
reason: new WorkerUnknownError({
|
|
46
|
+
message: "An error event was emitted",
|
|
47
|
+
cause: event.error ?? event.message
|
|
48
|
+
})
|
|
49
|
+
}).asEffect());
|
|
50
|
+
}
|
|
51
|
+
port.addEventListener("message", onMessage);
|
|
52
|
+
port.addEventListener("error", onError);
|
|
53
|
+
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
54
|
+
port.removeEventListener("message", onMessage);
|
|
55
|
+
port.removeEventListener("error", onError);
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
//# sourceMappingURL=BunWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunWorker.js","names":["Deferred","Effect","Exit","Layer","Scope","Worker","WorkerError","WorkerUnknownError","layer","spawn","merge","layerPlatform","succeed","Spawner","WorkerPlatform","makePlatform","setup","scope","worker","closeDeferred","makeUnsafe","addEventListener","doneUnsafe","void","as","addFinalizer","suspend","postMessage","await","pipe","interruptible","timeout","catchCause","sync","terminate","listen","deferred","emit","port","onMessage","event","data","onError","reason","message","cause","error","asEffect","removeEventListener"],"sources":["../src/BunWorker.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,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;AACrC,OAAO,KAAKC,MAAM,MAAM,gCAAgC;AACxD,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,qCAAqC;AAErF;;;;AAIA,OAAO,MAAMC,KAAK,GAChBC,KAAwC,IAExCN,KAAK,CAACO,KAAK,CACTC,aAAa,EACbR,KAAK,CAACS,OAAO,CAACP,MAAM,CAACQ,OAAO,CAAC,CAACJ,KAAK,CAAC,CACrC;AAEH;;;;AAIA,OAAO,MAAME,aAAa,gBAAGR,KAAK,CAACS,OAAO,CAACP,MAAM,CAACS,cAAc,CAAC,cAC/DT,MAAM,CAACU,YAAY,EAAqB,CAAC;EACvCC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,MAAMC,aAAa,GAAGnB,QAAQ,CAACoB,UAAU,EAAQ;IACjDF,MAAM,CAACG,gBAAgB,CAAC,OAAO,EAAE,MAAK;MACpCrB,QAAQ,CAACsB,UAAU,CAACH,aAAa,EAAEjB,IAAI,CAACqB,IAAI,CAAC;IAC/C,CAAC,CAAC;IACF,OAAOtB,MAAM,CAACuB,EAAE,CACdpB,KAAK,CAACqB,YAAY,CAChBR,KAAK,EACLhB,MAAM,CAACyB,OAAO,CAAC,MAAK;MAClBR,MAAM,CAACS,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,OAAO3B,QAAQ,CAAC4B,KAAK,CAACT,aAAa,CAAC;IACtC,CAAC,CAAC,CAACU,IAAI,CACL5B,MAAM,CAAC6B,aAAa,EACpB7B,MAAM,CAAC8B,OAAO,CAAC,IAAI,CAAC,EACpB9B,MAAM,CAAC+B,UAAU,CAAC,MAAM/B,MAAM,CAACgC,IAAI,CAAC,MAAMf,MAAM,CAACgB,SAAS,EAAE,CAAC,CAAC,CAC/D,CACF,EACDhB,MAAM,CACP;EACH,CAAC;EACDiB,MAAMA,CAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAErB;EAAK,CAAE;IACpC,SAASsB,SAASA,CAACC,KAAmB;MACpCH,IAAI,CAACG,KAAK,CAACC,IAAI,CAAC;IAClB;IACA,SAASC,OAAOA,CAACF,KAAiB;MAChCxC,QAAQ,CAACsB,UAAU,CACjBc,QAAQ,EACR,IAAI9B,WAAW,CAAC;QACdqC,MAAM,EAAE,IAAIpC,kBAAkB,CAAC;UAC7BqC,OAAO,EAAE,4BAA4B;UACrCC,KAAK,EAAEL,KAAK,CAACM,KAAK,IAAIN,KAAK,CAACI;SAC7B;OACF,CAAC,CAACG,QAAQ,EAAE,CACd;IACH;IACAT,IAAI,CAACjB,gBAAgB,CAAC,SAAS,EAAEkB,SAAS,CAAC;IAC3CD,IAAI,CAACjB,gBAAgB,CAAC,OAAO,EAAEqB,OAAO,CAAC;IACvC,OAAOtC,KAAK,CAACqB,YAAY,CACvBR,KAAK,EACLhB,MAAM,CAACgC,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,CACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
* @category layers
|
|
6
|
+
*/
|
|
7
|
+
export declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>;
|
|
8
|
+
//# sourceMappingURL=BunWorkerRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BunWorkerRunner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAIpE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAgF/D,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Cause from "effect/Cause";
|
|
5
|
+
import * as Deferred from "effect/Deferred";
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Exit from "effect/Exit";
|
|
8
|
+
import * as Fiber from "effect/Fiber";
|
|
9
|
+
import { identity } from "effect/Function";
|
|
10
|
+
import * as Layer from "effect/Layer";
|
|
11
|
+
import * as Scope from "effect/Scope";
|
|
12
|
+
import { WorkerError, WorkerReceiveError, WorkerSpawnError } from "effect/unstable/workers/WorkerError";
|
|
13
|
+
import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
|
|
14
|
+
/**
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
* @category layers
|
|
17
|
+
*/
|
|
18
|
+
export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatform)({
|
|
19
|
+
start: /*#__PURE__*/Effect.fnUntraced(function* () {
|
|
20
|
+
if (!("postMessage" in self)) {
|
|
21
|
+
return yield* new WorkerError({
|
|
22
|
+
reason: new WorkerSpawnError({
|
|
23
|
+
message: "not in a Worker context"
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const port = self;
|
|
28
|
+
const run = handler => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
|
|
29
|
+
const closeLatch = Deferred.makeUnsafe();
|
|
30
|
+
const trackFiber = Fiber.runIn(scope);
|
|
31
|
+
const services = yield* Effect.services();
|
|
32
|
+
const runFork = Effect.runForkWith(services);
|
|
33
|
+
const onExit = exit => {
|
|
34
|
+
if (exit._tag === "Failure" && !Cause.hasInterruptsOnly(exit.cause)) {
|
|
35
|
+
runFork(Effect.logError("unhandled error in worker", exit.cause));
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
function onMessage(event) {
|
|
39
|
+
const message = event.data;
|
|
40
|
+
if (message[0] === 0) {
|
|
41
|
+
const result = handler(0, message[1]);
|
|
42
|
+
if (Effect.isEffect(result)) {
|
|
43
|
+
const fiber = runFork(result);
|
|
44
|
+
fiber.addObserver(onExit);
|
|
45
|
+
trackFiber(fiber);
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
port.close();
|
|
49
|
+
Deferred.doneUnsafe(closeLatch, Exit.void);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function onMessageError(error) {
|
|
53
|
+
Deferred.doneUnsafe(closeLatch, new WorkerError({
|
|
54
|
+
reason: new WorkerReceiveError({
|
|
55
|
+
message: "received messageerror event",
|
|
56
|
+
cause: error.data
|
|
57
|
+
})
|
|
58
|
+
}).asEffect());
|
|
59
|
+
}
|
|
60
|
+
function onError(error) {
|
|
61
|
+
Deferred.doneUnsafe(closeLatch, new WorkerError({
|
|
62
|
+
reason: new WorkerReceiveError({
|
|
63
|
+
message: "received error event",
|
|
64
|
+
cause: error.data
|
|
65
|
+
})
|
|
66
|
+
}).asEffect());
|
|
67
|
+
}
|
|
68
|
+
yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
69
|
+
port.removeEventListener("message", onMessage);
|
|
70
|
+
port.removeEventListener("messageerror", onError);
|
|
71
|
+
}));
|
|
72
|
+
port.addEventListener("message", onMessage);
|
|
73
|
+
port.addEventListener("messageerror", onMessageError);
|
|
74
|
+
port.postMessage([0]);
|
|
75
|
+
return yield* Deferred.await(closeLatch);
|
|
76
|
+
}));
|
|
77
|
+
const sendUnsafe = (_portId, message, transfer) => port.postMessage([1, message], {
|
|
78
|
+
transfer: transfer
|
|
79
|
+
});
|
|
80
|
+
const send = (_portId, message, transfer) => Effect.sync(() => sendUnsafe(0, message, transfer));
|
|
81
|
+
return identity({
|
|
82
|
+
run,
|
|
83
|
+
send,
|
|
84
|
+
sendUnsafe
|
|
85
|
+
});
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=BunWorkerRunner.js.map
|