@effect/platform-bun 0.59.4 → 0.60.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BunClusterRunnerHttp/package.json +6 -0
- package/BunClusterRunnerSocket/package.json +6 -0
- package/BunClusterShardManagerHttp/package.json +6 -0
- package/BunClusterShardManagerSocket/package.json +6 -0
- package/BunSocketServer/package.json +6 -0
- package/dist/cjs/BunClusterRunnerHttp.js +50 -0
- package/dist/cjs/BunClusterRunnerHttp.js.map +1 -0
- package/dist/cjs/BunClusterRunnerSocket.js +17 -0
- package/dist/cjs/BunClusterRunnerSocket.js.map +1 -0
- package/dist/cjs/BunClusterShardManagerHttp.js +41 -0
- package/dist/cjs/BunClusterShardManagerHttp.js.map +1 -0
- package/dist/cjs/BunClusterShardManagerSocket.js +17 -0
- package/dist/cjs/BunClusterShardManagerSocket.js.map +1 -0
- package/dist/cjs/BunSocketServer.js +17 -0
- package/dist/cjs/BunSocketServer.js.map +1 -0
- package/dist/cjs/BunWorker.js +6 -1
- package/dist/cjs/BunWorker.js.map +1 -1
- package/dist/cjs/index.js +11 -1
- package/dist/cjs/internal/worker.js +4 -1
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +6 -3
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/BunClusterRunnerHttp.d.ts +29 -0
- package/dist/dts/BunClusterRunnerHttp.d.ts.map +1 -0
- package/dist/dts/BunClusterRunnerSocket.d.ts +9 -0
- package/dist/dts/BunClusterRunnerSocket.d.ts.map +1 -0
- package/dist/dts/BunClusterShardManagerHttp.d.ts +27 -0
- package/dist/dts/BunClusterShardManagerHttp.d.ts.map +1 -0
- package/dist/dts/BunClusterShardManagerSocket.d.ts +9 -0
- package/dist/dts/BunClusterShardManagerSocket.d.ts.map +1 -0
- package/dist/dts/BunSocketServer.d.ts +8 -0
- package/dist/dts/BunSocketServer.d.ts.map +1 -0
- package/dist/dts/BunWorker.d.ts +5 -0
- package/dist/dts/BunWorker.d.ts.map +1 -1
- package/dist/dts/index.d.ts +20 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/BunClusterRunnerHttp.js +40 -0
- package/dist/esm/BunClusterRunnerHttp.js.map +1 -0
- package/dist/esm/BunClusterRunnerSocket.js +9 -0
- package/dist/esm/BunClusterRunnerSocket.js.map +1 -0
- package/dist/esm/BunClusterShardManagerHttp.js +31 -0
- package/dist/esm/BunClusterShardManagerHttp.js.map +1 -0
- package/dist/esm/BunClusterShardManagerSocket.js +9 -0
- package/dist/esm/BunClusterShardManagerSocket.js.map +1 -0
- package/dist/esm/BunSocketServer.js +8 -0
- package/dist/esm/BunSocketServer.js.map +1 -0
- package/dist/esm/BunWorker.js +5 -0
- package/dist/esm/BunWorker.js.map +1 -1
- package/dist/esm/index.js +20 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/worker.js +2 -0
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +6 -3
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +47 -4
- package/src/BunClusterRunnerHttp.ts +92 -0
- package/src/BunClusterRunnerSocket.ts +9 -0
- package/src/BunClusterShardManagerHttp.ts +71 -0
- package/src/BunClusterShardManagerSocket.ts +9 -0
- package/src/BunSocketServer.ts +8 -0
- package/src/BunWorker.ts +8 -0
- package/src/index.ts +25 -0
- package/src/internal/worker.ts +4 -0
- package/src/internal/workerRunner.ts +7 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunClusterRunnerSocket.js","names":[],"sources":["../../src/BunClusterRunnerSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;;AAIA,cAAc,sDAAsD","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as HttpShardManager from "@effect/cluster/HttpShardManager";
|
|
5
|
+
import * as ShardingConfig from "@effect/cluster/ShardingConfig";
|
|
6
|
+
import * as ShardManager from "@effect/cluster/ShardManager";
|
|
7
|
+
import * as ShardStorage from "@effect/cluster/ShardStorage";
|
|
8
|
+
import * as SqlShardStorage from "@effect/cluster/SqlShardStorage";
|
|
9
|
+
import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
|
|
10
|
+
import * as RpcSerialization from "@effect/rpc/RpcSerialization";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Layer from "effect/Layer";
|
|
13
|
+
import * as BunHttpServer from "./BunHttpServer.js";
|
|
14
|
+
import * as BunSocket from "./BunSocket.js";
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category Layers
|
|
18
|
+
*/
|
|
19
|
+
export const layerHttpServer = /*#__PURE__*/Effect.gen(function* () {
|
|
20
|
+
const config = yield* ShardingConfig.ShardingConfig;
|
|
21
|
+
return BunHttpServer.layer(config.shardManagerAddress);
|
|
22
|
+
}).pipe(Layer.unwrapEffect);
|
|
23
|
+
/**
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @category Layers
|
|
26
|
+
*/
|
|
27
|
+
export const layer = options => {
|
|
28
|
+
const layer = options.transport === "http" ? HttpShardManager.layerHttp.pipe(Layer.provide([HttpShardManager.layerRunnerHealthHttp, layerHttpServer]), Layer.provide(FetchHttpClient.layer)) : HttpShardManager.layerWebsocket.pipe(Layer.provide([HttpShardManager.layerRunnerHealthWebsocket, layerHttpServer]), Layer.provide(BunSocket.layerWebSocketConstructor));
|
|
29
|
+
return layer.pipe(Layer.provide(options?.storage === "sql" ? SqlShardStorage.layer : ShardStorage.layerNoop), Layer.provide([ShardingConfig.layerFromEnv(options.shardingConfig), ShardManager.layerConfigFromEnv, options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack]));
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=BunClusterShardManagerHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunClusterShardManagerHttp.js","names":["HttpShardManager","ShardingConfig","ShardManager","ShardStorage","SqlShardStorage","FetchHttpClient","RpcSerialization","Effect","Layer","BunHttpServer","BunSocket","layerHttpServer","gen","config","layer","shardManagerAddress","pipe","unwrapEffect","options","transport","layerHttp","provide","layerRunnerHealthHttp","layerWebsocket","layerRunnerHealthWebsocket","layerWebSocketConstructor","storage","layerNoop","layerFromEnv","shardingConfig","layerConfigFromEnv","serialization","layerNdjson","layerMsgPack"],"sources":["../../src/BunClusterShardManagerHttp.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,gBAAgB,MAAM,kCAAkC;AACpE,OAAO,KAAKC,cAAc,MAAM,gCAAgC;AAChE,OAAO,KAAKC,YAAY,MAAM,8BAA8B;AAC5D,OAAO,KAAKC,YAAY,MAAM,8BAA8B;AAC5D,OAAO,KAAKC,eAAe,MAAM,iCAAiC;AAElE,OAAO,KAAKC,eAAe,MAAM,kCAAkC;AAInE,OAAO,KAAKC,gBAAgB,MAAM,8BAA8B;AAIhE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,MAAMC,eAAe,gBAOxBJ,MAAM,CAACK,GAAG,CAAC,aAAS;EACtB,MAAMC,MAAM,GAAG,OAAOZ,cAAc,CAACA,cAAc;EACnD,OAAOQ,aAAa,CAACK,KAAK,CAACD,MAAM,CAACE,mBAAmB,CAAC;AACxD,CAAC,CAAC,CAACC,IAAI,CAACR,KAAK,CAACS,YAAY,CAAC;AAE3B;;;;AAIA,OAAO,MAAMH,KAAK,GAAmDI,OAKpE,IAIG;EACF,MAAMJ,KAAK,GAA+BI,OAAO,CAACC,SAAS,KAAK,MAAM,GACpEnB,gBAAgB,CAACoB,SAAS,CAACJ,IAAI,CAC7BR,KAAK,CAACa,OAAO,CAAC,CAACrB,gBAAgB,CAACsB,qBAAqB,EAAEX,eAAe,CAAC,CAAC,EACxEH,KAAK,CAACa,OAAO,CAAChB,eAAe,CAACS,KAAK,CAAC,CACrC,GACDd,gBAAgB,CAACuB,cAAc,CAACP,IAAI,CAClCR,KAAK,CAACa,OAAO,CAAC,CAACrB,gBAAgB,CAACwB,0BAA0B,EAAEb,eAAe,CAAC,CAAC,EAC7EH,KAAK,CAACa,OAAO,CAACX,SAAS,CAACe,yBAAyB,CAAC,CACnD;EACH,OAAOX,KAAK,CAACE,IAAI,CACfR,KAAK,CAACa,OAAO,CAACH,OAAO,EAAEQ,OAAO,KAAK,KAAK,GAAGtB,eAAe,CAACU,KAAK,GAAGX,YAAY,CAACwB,SAAS,CAAC,EAC1FnB,KAAK,CAACa,OAAO,CAAC,CACZpB,cAAc,CAAC2B,YAAY,CAACV,OAAO,CAACW,cAAc,CAAC,EACnD3B,YAAY,CAAC4B,kBAAkB,EAC/BZ,OAAO,EAAEa,aAAa,KAAK,QAAQ,GAAGzB,gBAAgB,CAAC0B,WAAW,GAAG1B,gBAAgB,CAAC2B,YAAY,CACnG,CAAC,CACH;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunClusterShardManagerSocket.js","names":[],"sources":["../../src/BunClusterShardManagerSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;;AAIA,cAAc,4DAA4D","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSocketServer.js","names":[],"sources":["../../src/BunSocketServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,+CAA+C","ignoreList":[]}
|
package/dist/esm/BunWorker.js
CHANGED
|
@@ -14,4 +14,9 @@ export const layerWorker = internal.layerWorker;
|
|
|
14
14
|
* @category layers
|
|
15
15
|
*/
|
|
16
16
|
export const layer = internal.layer;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category layers
|
|
20
|
+
*/
|
|
21
|
+
export const layerPlatform = internal.layerPlatform;
|
|
17
22
|
//# sourceMappingURL=BunWorker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunWorker.js","names":["internal","layerManager","layerWorker","layer"],"sources":["../../src/BunWorker.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAEhD;;;;AAIA,OAAO,MAAMC,YAAY,GAAsCD,QAAQ,CAACC,YAAY;AAEpF;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCF,QAAQ,CAACE,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,KAAK,GAEsDH,QAAQ,CAACG,KAAK","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BunWorker.js","names":["internal","layerManager","layerWorker","layer","layerPlatform"],"sources":["../../src/BunWorker.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAEhD;;;;AAIA,OAAO,MAAMC,YAAY,GAAsCD,QAAQ,CAACC,YAAY;AAEpF;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCF,QAAQ,CAACE,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,KAAK,GAEsDH,QAAQ,CAACG,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,aAAa,GAE+CJ,QAAQ,CAACI,aAAa","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
export * as BunClusterRunnerHttp from "./BunClusterRunnerHttp.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export * as BunClusterRunnerSocket from "./BunClusterRunnerSocket.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export * as BunClusterShardManagerHttp from "./BunClusterShardManagerHttp.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as BunClusterShardManagerSocket from "./BunClusterShardManagerSocket.js";
|
|
1
17
|
/**
|
|
2
18
|
* @since 1.0.0
|
|
3
19
|
*/
|
|
@@ -46,6 +62,10 @@ export * as BunSink from "./BunSink.js";
|
|
|
46
62
|
* @since 1.0.0
|
|
47
63
|
*/
|
|
48
64
|
export * as BunSocket from "./BunSocket.js";
|
|
65
|
+
/**
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
*/
|
|
68
|
+
export * as BunSocketServer from "./BunSocketServer.js";
|
|
49
69
|
/**
|
|
50
70
|
* @since 1.0.0
|
|
51
71
|
*/
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BunCommandExecutor","BunContext","BunFileSystem","BunHttpPlatform","BunHttpServer","BunHttpServerRequest","BunKeyValueStore","BunMultipart","BunPath","BunRuntime","BunSink","BunSocket","BunStream","BunTerminal","BunWorker","BunWorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,oBAAoB,MAAM,2BAA2B;AAEjE;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["BunClusterRunnerHttp","BunClusterRunnerSocket","BunClusterShardManagerHttp","BunClusterShardManagerSocket","BunCommandExecutor","BunContext","BunFileSystem","BunHttpPlatform","BunHttpServer","BunHttpServerRequest","BunKeyValueStore","BunMultipart","BunPath","BunRuntime","BunSink","BunSocket","BunSocketServer","BunStream","BunTerminal","BunWorker","BunWorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,oBAAoB,MAAM,2BAA2B;AAEjE;;;AAGA,OAAO,KAAKC,sBAAsB,MAAM,6BAA6B;AAErE;;;AAGA,OAAO,KAAKC,0BAA0B,MAAM,iCAAiC;AAE7E;;;AAGA,OAAO,KAAKC,4BAA4B,MAAM,mCAAmC;AAEjF;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,oBAAoB,MAAM,2BAA2B;AAEjE;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB","ignoreList":[]}
|
|
@@ -49,4 +49,6 @@ export const layerWorker = /*#__PURE__*/Layer.succeed(Worker.PlatformWorker, pla
|
|
|
49
49
|
export const layerManager = /*#__PURE__*/Layer.provide(Worker.layerManager, layerWorker);
|
|
50
50
|
/** @internal */
|
|
51
51
|
export const layer = spawn => Layer.merge(layerManager, Worker.layerSpawner(spawn));
|
|
52
|
+
/** @internal */
|
|
53
|
+
export const layerPlatform = spawn => Layer.merge(layerWorker, Worker.layerSpawner(spawn));
|
|
52
54
|
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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","layerPlatform"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -32,9 +32,12 @@ const platformRunnerImpl = /*#__PURE__*/Runner.PlatformRunner.of({
|
|
|
32
32
|
function onMessage(event) {
|
|
33
33
|
const message = event.data;
|
|
34
34
|
if (message[0] === 0) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
const result = handler(0, message[1]);
|
|
36
|
+
if (Effect.isEffect(result)) {
|
|
37
|
+
const fiber = runFork(result);
|
|
38
|
+
fiber.addObserver(onExit);
|
|
39
|
+
FiberSet.unsafeAdd(fiberSet, fiber);
|
|
40
|
+
}
|
|
38
41
|
} else {
|
|
39
42
|
port.close();
|
|
40
43
|
Deferred.unsafeDone(closeLatch, Exit.void);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["WorkerError","Runner","Cause","Context","Deferred","Effect","Exit","FiberSet","Layer","Runtime","Scope","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","fnUntraced","closeLatch","self","reason","cause","Error","port","run","handler","scope","runtime","pipe","interruptible","updateContext","omit","fiberSet","make","runFork","onExit","exit","_tag","isInterruptedOnly","unsafeDone","die","squash","onMessage","event","message","data","fiber","addObserver","unsafeAdd","close","void","onMessageError","error","onError","addFinalizer","sync","removeEventListener","addEventListener","postMessage","send","_portId","transfer","layer","succeed"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,8BAA8B;AAC1D,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AACvD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAIrC,MAAMC,kBAAkB,gBAAGV,MAAM,CAACW,cAAc,CAACC,EAAE,CAAC;EAClD,CAACZ,MAAM,CAACa,oBAAoB,GAAGb,MAAM,CAACa,oBAAoB;EAC1DC,KAAK,eAAEV,MAAM,CAACW,UAAU,CAAC,WAAUC,UAAgD;IACjF,IAAI,EAAE,aAAa,IAAIC,IAAI,CAAC,EAAE;MAC5B,OAAO,OAAO,IAAIlB,WAAW,CAAC;QAAEmB,MAAM,EAAE,OAAO;QAAEC,KAAK,EAAE,IAAIC,KAAK,CAAC,yBAAyB;MAAC,CAAE,CAAC;IACjG;IACA,MAAMC,IAAI,GAAGJ,IAAI;IACjB,MAAMK,GAAG,GAAGlB,MAAM,CAACW,UAAU,CAAC,WAC5BQ,
|
|
1
|
+
{"version":3,"file":"workerRunner.js","names":["WorkerError","Runner","Cause","Context","Deferred","Effect","Exit","FiberSet","Layer","Runtime","Scope","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","fnUntraced","closeLatch","self","reason","cause","Error","port","run","handler","scope","runtime","pipe","interruptible","updateContext","omit","fiberSet","make","runFork","onExit","exit","_tag","isInterruptedOnly","unsafeDone","die","squash","onMessage","event","message","data","result","isEffect","fiber","addObserver","unsafeAdd","close","void","onMessageError","error","onError","addFinalizer","sync","removeEventListener","addEventListener","postMessage","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.60.1",
|
|
4
4
|
"description": "Platform specific implementations for the Bun runtime",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,11 +11,14 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"multipasta": "^0.2.5",
|
|
14
|
-
"@effect/platform-node-shared": "^0.
|
|
14
|
+
"@effect/platform-node-shared": "^0.30.1"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@effect/
|
|
18
|
-
"effect": "^
|
|
17
|
+
"@effect/cluster": "^0.29.1",
|
|
18
|
+
"@effect/platform": "^0.80.1",
|
|
19
|
+
"@effect/rpc": "^0.55.1",
|
|
20
|
+
"@effect/sql": "^0.33.1",
|
|
21
|
+
"effect": "^3.14.1"
|
|
19
22
|
},
|
|
20
23
|
"publishConfig": {
|
|
21
24
|
"provenance": true
|
|
@@ -30,6 +33,26 @@
|
|
|
30
33
|
"import": "./dist/esm/index.js",
|
|
31
34
|
"default": "./dist/cjs/index.js"
|
|
32
35
|
},
|
|
36
|
+
"./BunClusterRunnerHttp": {
|
|
37
|
+
"types": "./dist/dts/BunClusterRunnerHttp.d.ts",
|
|
38
|
+
"import": "./dist/esm/BunClusterRunnerHttp.js",
|
|
39
|
+
"default": "./dist/cjs/BunClusterRunnerHttp.js"
|
|
40
|
+
},
|
|
41
|
+
"./BunClusterRunnerSocket": {
|
|
42
|
+
"types": "./dist/dts/BunClusterRunnerSocket.d.ts",
|
|
43
|
+
"import": "./dist/esm/BunClusterRunnerSocket.js",
|
|
44
|
+
"default": "./dist/cjs/BunClusterRunnerSocket.js"
|
|
45
|
+
},
|
|
46
|
+
"./BunClusterShardManagerHttp": {
|
|
47
|
+
"types": "./dist/dts/BunClusterShardManagerHttp.d.ts",
|
|
48
|
+
"import": "./dist/esm/BunClusterShardManagerHttp.js",
|
|
49
|
+
"default": "./dist/cjs/BunClusterShardManagerHttp.js"
|
|
50
|
+
},
|
|
51
|
+
"./BunClusterShardManagerSocket": {
|
|
52
|
+
"types": "./dist/dts/BunClusterShardManagerSocket.d.ts",
|
|
53
|
+
"import": "./dist/esm/BunClusterShardManagerSocket.js",
|
|
54
|
+
"default": "./dist/cjs/BunClusterShardManagerSocket.js"
|
|
55
|
+
},
|
|
33
56
|
"./BunCommandExecutor": {
|
|
34
57
|
"types": "./dist/dts/BunCommandExecutor.d.ts",
|
|
35
58
|
"import": "./dist/esm/BunCommandExecutor.js",
|
|
@@ -95,6 +118,11 @@
|
|
|
95
118
|
"import": "./dist/esm/BunSocket.js",
|
|
96
119
|
"default": "./dist/cjs/BunSocket.js"
|
|
97
120
|
},
|
|
121
|
+
"./BunSocketServer": {
|
|
122
|
+
"types": "./dist/dts/BunSocketServer.d.ts",
|
|
123
|
+
"import": "./dist/esm/BunSocketServer.js",
|
|
124
|
+
"default": "./dist/cjs/BunSocketServer.js"
|
|
125
|
+
},
|
|
98
126
|
"./BunStream": {
|
|
99
127
|
"types": "./dist/dts/BunStream.d.ts",
|
|
100
128
|
"import": "./dist/esm/BunStream.js",
|
|
@@ -118,6 +146,18 @@
|
|
|
118
146
|
},
|
|
119
147
|
"typesVersions": {
|
|
120
148
|
"*": {
|
|
149
|
+
"BunClusterRunnerHttp": [
|
|
150
|
+
"./dist/dts/BunClusterRunnerHttp.d.ts"
|
|
151
|
+
],
|
|
152
|
+
"BunClusterRunnerSocket": [
|
|
153
|
+
"./dist/dts/BunClusterRunnerSocket.d.ts"
|
|
154
|
+
],
|
|
155
|
+
"BunClusterShardManagerHttp": [
|
|
156
|
+
"./dist/dts/BunClusterShardManagerHttp.d.ts"
|
|
157
|
+
],
|
|
158
|
+
"BunClusterShardManagerSocket": [
|
|
159
|
+
"./dist/dts/BunClusterShardManagerSocket.d.ts"
|
|
160
|
+
],
|
|
121
161
|
"BunCommandExecutor": [
|
|
122
162
|
"./dist/dts/BunCommandExecutor.d.ts"
|
|
123
163
|
],
|
|
@@ -157,6 +197,9 @@
|
|
|
157
197
|
"BunSocket": [
|
|
158
198
|
"./dist/dts/BunSocket.d.ts"
|
|
159
199
|
],
|
|
200
|
+
"BunSocketServer": [
|
|
201
|
+
"./dist/dts/BunSocketServer.d.ts"
|
|
202
|
+
],
|
|
160
203
|
"BunStream": [
|
|
161
204
|
"./dist/dts/BunStream.d.ts"
|
|
162
205
|
],
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as HttpRunner from "@effect/cluster/HttpRunner"
|
|
5
|
+
import * as MessageStorage from "@effect/cluster/MessageStorage"
|
|
6
|
+
import type * as Runners from "@effect/cluster/Runners"
|
|
7
|
+
import type { Sharding } from "@effect/cluster/Sharding"
|
|
8
|
+
import * as ShardingConfig from "@effect/cluster/ShardingConfig"
|
|
9
|
+
import * as ShardStorage from "@effect/cluster/ShardStorage"
|
|
10
|
+
import * as SqlMessageStorage from "@effect/cluster/SqlMessageStorage"
|
|
11
|
+
import * as SqlShardStorage from "@effect/cluster/SqlShardStorage"
|
|
12
|
+
import type * as Etag from "@effect/platform/Etag"
|
|
13
|
+
import * as FetchHttpClient from "@effect/platform/FetchHttpClient"
|
|
14
|
+
import type { HttpPlatform } from "@effect/platform/HttpPlatform"
|
|
15
|
+
import type { HttpServer } from "@effect/platform/HttpServer"
|
|
16
|
+
import type { ServeError } from "@effect/platform/HttpServerError"
|
|
17
|
+
import * as RpcSerialization from "@effect/rpc/RpcSerialization"
|
|
18
|
+
import type { SqlClient } from "@effect/sql/SqlClient"
|
|
19
|
+
import type { SqlError } from "@effect/sql/SqlError"
|
|
20
|
+
import type { ConfigError } from "effect/ConfigError"
|
|
21
|
+
import * as Effect from "effect/Effect"
|
|
22
|
+
import * as Layer from "effect/Layer"
|
|
23
|
+
import * as Option from "effect/Option"
|
|
24
|
+
import type { BunContext } from "./BunContext.js"
|
|
25
|
+
import * as BunHttpServer from "./BunHttpServer.js"
|
|
26
|
+
import * as BunSocket from "./BunSocket.js"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category Layers
|
|
31
|
+
*/
|
|
32
|
+
export const layerHttpServer: Layer.Layer<
|
|
33
|
+
| HttpPlatform
|
|
34
|
+
| Etag.Generator
|
|
35
|
+
| BunContext
|
|
36
|
+
| HttpServer,
|
|
37
|
+
ServeError,
|
|
38
|
+
ShardingConfig.ShardingConfig
|
|
39
|
+
> = Effect.gen(function*() {
|
|
40
|
+
const config = yield* ShardingConfig.ShardingConfig
|
|
41
|
+
if (Option.isNone(config.runnerAddress)) {
|
|
42
|
+
return yield* Effect.dieMessage("BunClusterHttpRunners.layerHttpServer: ShardingConfig.runnerAddress is None")
|
|
43
|
+
}
|
|
44
|
+
return BunHttpServer.layer(config.runnerAddress.value)
|
|
45
|
+
}).pipe(Layer.unwrapEffect)
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category Layers
|
|
50
|
+
*/
|
|
51
|
+
export const layer = <
|
|
52
|
+
const ClientOnly extends boolean = false,
|
|
53
|
+
const Storage extends "noop" | "sql" = "noop"
|
|
54
|
+
>(options: {
|
|
55
|
+
readonly transport: "http" | "websocket"
|
|
56
|
+
readonly serialization?: "msgpack" | "ndjson" | undefined
|
|
57
|
+
readonly clientOnly?: ClientOnly | undefined
|
|
58
|
+
readonly storage?: Storage | undefined
|
|
59
|
+
readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Type"]> | undefined
|
|
60
|
+
}): ClientOnly extends true ? Layer.Layer<
|
|
61
|
+
Sharding | Runners.Runners,
|
|
62
|
+
ConfigError | (Storage extends "sql" ? SqlError : never),
|
|
63
|
+
Storage extends "sql" ? SqlClient : never
|
|
64
|
+
> :
|
|
65
|
+
Layer.Layer<
|
|
66
|
+
Sharding | Runners.Runners,
|
|
67
|
+
ServeError | ConfigError | (Storage extends "sql" ? SqlError : never),
|
|
68
|
+
Storage extends "sql" ? SqlClient : never
|
|
69
|
+
> =>
|
|
70
|
+
{
|
|
71
|
+
const layer: Layer.Layer<any, any, any> = options.clientOnly
|
|
72
|
+
// client only
|
|
73
|
+
? options.transport === "http"
|
|
74
|
+
? Layer.provide(HttpRunner.layerHttpClientOnly, FetchHttpClient.layer)
|
|
75
|
+
: Layer.provide(HttpRunner.layerWebsocketClientOnly, BunSocket.layerWebSocketConstructor)
|
|
76
|
+
// with server
|
|
77
|
+
: options.transport === "http"
|
|
78
|
+
? Layer.provide(HttpRunner.layerHttp, [layerHttpServer, FetchHttpClient.layer])
|
|
79
|
+
: Layer.provide(HttpRunner.layerWebsocket, [layerHttpServer, BunSocket.layerWebSocketConstructor])
|
|
80
|
+
|
|
81
|
+
return layer.pipe(
|
|
82
|
+
Layer.provide(
|
|
83
|
+
options?.storage === "sql"
|
|
84
|
+
? options.clientOnly ? [SqlMessageStorage.layer] : [SqlMessageStorage.layer, SqlShardStorage.layer]
|
|
85
|
+
: [MessageStorage.layerNoop, ShardStorage.layerNoop]
|
|
86
|
+
),
|
|
87
|
+
Layer.provide(ShardingConfig.layerFromEnv(options?.shardingConfig)),
|
|
88
|
+
Layer.provide(
|
|
89
|
+
options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack
|
|
90
|
+
)
|
|
91
|
+
) as any
|
|
92
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as HttpShardManager from "@effect/cluster/HttpShardManager"
|
|
5
|
+
import * as ShardingConfig from "@effect/cluster/ShardingConfig"
|
|
6
|
+
import * as ShardManager from "@effect/cluster/ShardManager"
|
|
7
|
+
import * as ShardStorage from "@effect/cluster/ShardStorage"
|
|
8
|
+
import * as SqlShardStorage from "@effect/cluster/SqlShardStorage"
|
|
9
|
+
import type * as Etag from "@effect/platform/Etag"
|
|
10
|
+
import * as FetchHttpClient from "@effect/platform/FetchHttpClient"
|
|
11
|
+
import type { HttpPlatform } from "@effect/platform/HttpPlatform"
|
|
12
|
+
import type { HttpServer } from "@effect/platform/HttpServer"
|
|
13
|
+
import type { ServeError } from "@effect/platform/HttpServerError"
|
|
14
|
+
import * as RpcSerialization from "@effect/rpc/RpcSerialization"
|
|
15
|
+
import type { SqlClient } from "@effect/sql/SqlClient"
|
|
16
|
+
import type { SqlError } from "@effect/sql/SqlError"
|
|
17
|
+
import type { ConfigError } from "effect/ConfigError"
|
|
18
|
+
import * as Effect from "effect/Effect"
|
|
19
|
+
import * as Layer from "effect/Layer"
|
|
20
|
+
import type { BunContext } from "./BunContext.js"
|
|
21
|
+
import * as BunHttpServer from "./BunHttpServer.js"
|
|
22
|
+
import * as BunSocket from "./BunSocket.js"
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @since 1.0.0
|
|
26
|
+
* @category Layers
|
|
27
|
+
*/
|
|
28
|
+
export const layerHttpServer: Layer.Layer<
|
|
29
|
+
| HttpPlatform
|
|
30
|
+
| Etag.Generator
|
|
31
|
+
| BunContext
|
|
32
|
+
| HttpServer,
|
|
33
|
+
ServeError,
|
|
34
|
+
ShardingConfig.ShardingConfig
|
|
35
|
+
> = Effect.gen(function*() {
|
|
36
|
+
const config = yield* ShardingConfig.ShardingConfig
|
|
37
|
+
return BunHttpServer.layer(config.shardManagerAddress)
|
|
38
|
+
}).pipe(Layer.unwrapEffect)
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @category Layers
|
|
43
|
+
*/
|
|
44
|
+
export const layer = <const Storage extends "sql" | "noop" = "noop">(options: {
|
|
45
|
+
readonly transport: "http" | "websocket"
|
|
46
|
+
readonly serialization?: "msgpack" | "ndjson" | undefined
|
|
47
|
+
readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Type"]> | undefined
|
|
48
|
+
readonly storage?: Storage | undefined
|
|
49
|
+
}): Layer.Layer<
|
|
50
|
+
ShardManager.ShardManager,
|
|
51
|
+
ServeError | ConfigError | (Storage extends "sql" ? SqlError : never),
|
|
52
|
+
Storage extends "sql" ? SqlClient : never
|
|
53
|
+
> => {
|
|
54
|
+
const layer: Layer.Layer<any, any, any> = options.transport === "http" ?
|
|
55
|
+
HttpShardManager.layerHttp.pipe(
|
|
56
|
+
Layer.provide([HttpShardManager.layerRunnerHealthHttp, layerHttpServer]),
|
|
57
|
+
Layer.provide(FetchHttpClient.layer)
|
|
58
|
+
) :
|
|
59
|
+
HttpShardManager.layerWebsocket.pipe(
|
|
60
|
+
Layer.provide([HttpShardManager.layerRunnerHealthWebsocket, layerHttpServer]),
|
|
61
|
+
Layer.provide(BunSocket.layerWebSocketConstructor)
|
|
62
|
+
)
|
|
63
|
+
return layer.pipe(
|
|
64
|
+
Layer.provide(options?.storage === "sql" ? SqlShardStorage.layer : ShardStorage.layerNoop),
|
|
65
|
+
Layer.provide([
|
|
66
|
+
ShardingConfig.layerFromEnv(options.shardingConfig),
|
|
67
|
+
ShardManager.layerConfigFromEnv,
|
|
68
|
+
options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack
|
|
69
|
+
])
|
|
70
|
+
)
|
|
71
|
+
}
|
package/src/BunWorker.ts
CHANGED
|
@@ -24,3 +24,11 @@ export const layerWorker: Layer.Layer<Worker.PlatformWorker> = internal.layerWor
|
|
|
24
24
|
export const layer: (
|
|
25
25
|
spawn: (id: number) => Worker
|
|
26
26
|
) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never> = internal.layer
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category layers
|
|
31
|
+
*/
|
|
32
|
+
export const layerPlatform: (
|
|
33
|
+
spawn: (id: number) => globalThis.Worker
|
|
34
|
+
) => Layer.Layer<Worker.PlatformWorker | Worker.Spawner, never, never> = internal.layerPlatform
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
export * as BunClusterRunnerHttp from "./BunClusterRunnerHttp.js"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export * as BunClusterRunnerSocket from "./BunClusterRunnerSocket.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
export * as BunClusterShardManagerHttp from "./BunClusterShardManagerHttp.js"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
export * as BunClusterShardManagerSocket from "./BunClusterShardManagerSocket.js"
|
|
20
|
+
|
|
1
21
|
/**
|
|
2
22
|
* @since 1.0.0
|
|
3
23
|
*/
|
|
@@ -58,6 +78,11 @@ export * as BunSink from "./BunSink.js"
|
|
|
58
78
|
*/
|
|
59
79
|
export * as BunSocket from "./BunSocket.js"
|
|
60
80
|
|
|
81
|
+
/**
|
|
82
|
+
* @since 1.0.0
|
|
83
|
+
*/
|
|
84
|
+
export * as BunSocketServer from "./BunSocketServer.js"
|
|
85
|
+
|
|
61
86
|
/**
|
|
62
87
|
* @since 1.0.0
|
|
63
88
|
*/
|
package/src/internal/worker.ts
CHANGED
|
@@ -62,3 +62,7 @@ export const layer = (spawn: (id: number) => globalThis.Worker) =>
|
|
|
62
62
|
layerManager,
|
|
63
63
|
Worker.layerSpawner(spawn)
|
|
64
64
|
)
|
|
65
|
+
|
|
66
|
+
/** @internal */
|
|
67
|
+
export const layerPlatform = (spawn: (id: number) => globalThis.Worker) =>
|
|
68
|
+
Layer.merge(layerWorker, Worker.layerSpawner(spawn))
|
|
@@ -20,7 +20,7 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
|
20
20
|
}
|
|
21
21
|
const port = self
|
|
22
22
|
const run = Effect.fnUntraced(function*<A, E, R>(
|
|
23
|
-
handler: (portId: number, message: any) => Effect.Effect<A, E, R>
|
|
23
|
+
handler: (portId: number, message: any) => Effect.Effect<A, E, R> | void
|
|
24
24
|
) {
|
|
25
25
|
const scope = yield* Effect.scope
|
|
26
26
|
const runtime = (yield* Effect.runtime<R | Scope.Scope>().pipe(
|
|
@@ -39,9 +39,12 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
|
|
|
39
39
|
function onMessage(event: MessageEvent) {
|
|
40
40
|
const message = (event as MessageEvent).data as Runner.BackingRunner.Message<any>
|
|
41
41
|
if (message[0] === 0) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const result = handler(0, message[1])
|
|
43
|
+
if (Effect.isEffect(result)) {
|
|
44
|
+
const fiber = runFork(result)
|
|
45
|
+
fiber.addObserver(onExit)
|
|
46
|
+
FiberSet.unsafeAdd(fiberSet, fiber)
|
|
47
|
+
}
|
|
45
48
|
} else {
|
|
46
49
|
port.close()
|
|
47
50
|
Deferred.unsafeDone(closeLatch, Exit.void)
|