@effect/platform-bun 4.0.0-beta.5 → 4.0.0-beta.51

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BunClusterHttp.d.ts","sourceRoot":"","sources":["../src/BunClusterHttp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAGxE,OAAO,KAAK,KAAK,IAAI,MAAM,2BAA2B,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,OAAO;AACL;;;GAGG;AACH,kBAAkB,EACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CACrC,YAAY,GACZ,IAAI,CAAC,SAAS,GACd,WAAW,GACX,UAAU,EACZ,UAAU,EACV,cAAc,CAAC,cAAc,CAQV,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EACrD,SAAS;IACT,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KAAG,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACrC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,MAAM,CAAC,WAAW,EAClB,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,EAC1D,UAAU,GAAG,MAAM,CAAC,WAAW,EAC/B,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAiDhB,CAAA"}
1
+ {"version":3,"file":"BunClusterHttp.d.ts","sourceRoot":"","sources":["../src/BunClusterHttp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAGxE,OAAO,KAAK,KAAK,IAAI,MAAM,2BAA2B,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,OAAO;AACL;;;GAGG;AACH,kBAAkB,EACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CACrC,YAAY,GACZ,IAAI,CAAC,SAAS,GACd,WAAW,GACX,UAAU,EACZ,UAAU,EACV,cAAc,CAAC,cAAc,CAQV,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EACrD,SAAS;IACT,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KAAG,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACrC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,MAAM,CAAC,WAAW,EAClB,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,EAC1D,UAAU,GAAG,MAAM,CAAC,WAAW,EAC/B,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAiDhB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Layer from "effect/Layer";
3
+ import * as Option from "effect/Option";
3
4
  import * as HttpRunner from "effect/unstable/cluster/HttpRunner";
4
5
  import * as MessageStorage from "effect/unstable/cluster/MessageStorage";
5
6
  import * as RunnerHealth from "effect/unstable/cluster/RunnerHealth";
@@ -26,11 +27,11 @@ layerK8sHttpClient };
26
27
  */
27
28
  export const layerHttpServer = /*#__PURE__*/Effect.gen(function* () {
28
29
  const config = yield* ShardingConfig.ShardingConfig;
29
- const listenAddress = config.runnerListenAddress ?? config.runnerAddress;
30
- if (listenAddress === undefined) {
31
- return yield* Effect.die("BunClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is undefined");
30
+ const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress);
31
+ if (Option.isNone(listenAddress)) {
32
+ return yield* Effect.die("BunClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None");
32
33
  }
33
- return BunHttpServer.layer(listenAddress);
34
+ return BunHttpServer.layer(listenAddress.value);
34
35
  }).pipe(Layer.unwrap);
35
36
  /**
36
37
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"BunClusterHttp.js","names":["Effect","Layer","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","FetchHttpClient","RpcSerialization","layerK8sHttpClient","BunFileSystem","BunHttpServer","BunSocket","layerHttpServer","gen","config","listenAddress","runnerListenAddress","runnerAddress","undefined","die","layer","pipe","unwrap","options","clientOnly","transport","provide","layerHttpClientOnly","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack"],"sources":["../src/BunClusterHttp.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,oCAAoC;AAChE,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,YAAY,MAAM,sCAAsC;AACpE,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,aAAa,MAAM,uCAAuC;AAEtE,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,iBAAiB,MAAM,2CAA2C;AAC9E,OAAO,KAAKC,gBAAgB,MAAM,0CAA0C;AAE5E,OAAO,KAAKC,eAAe,MAAM,sCAAsC;AAIvE,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AAExE,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;AACE;;;;AAIAH,kBAAkB;AAGpB;;;;AAIA,OAAO,MAAMI,eAAe,gBAOxBhB,MAAM,CAACiB,GAAG,CAAC,aAAS;EACtB,MAAMC,MAAM,GAAG,OAAOX,cAAc,CAACA,cAAc;EACnD,MAAMY,aAAa,GAAGD,MAAM,CAACE,mBAAmB,IAAIF,MAAM,CAACG,aAAa;EACxE,IAAIF,aAAa,KAAKG,SAAS,EAAE;IAC/B,OAAO,OAAOtB,MAAM,CAACuB,GAAG,CAAC,2EAA2E,CAAC;EACvG;EACA,OAAOT,aAAa,CAACU,KAAK,CAACL,aAAa,CAAC;AAC3C,CAAC,CAAC,CAACM,IAAI,CAACxB,KAAK,CAACyB,MAAM,CAAC;AAErB;;;;AAIA,OAAO,MAAMF,KAAK,GAGhBG,OAWD,IAaK;EAEJ,MAAMH,KAAK,GAA+BG,OAAO,CAACC;EAChD;EAAA,EACED,OAAO,CAACE,SAAS,KAAK,MAAM,GAC1B5B,KAAK,CAAC6B,OAAO,CAAC5B,UAAU,CAAC6B,mBAAmB,EAAErB,eAAe,CAACc,KAAK,CAAC,GACpEvB,KAAK,CAAC6B,OAAO,CAAC5B,UAAU,CAAC8B,wBAAwB,EAAEjB,SAAS,CAACkB,yBAAyB;EAC1F;EAAA,EACEN,OAAO,CAACE,SAAS,KAAK,MAAM,GAC5B5B,KAAK,CAAC6B,OAAO,CAAC5B,UAAU,CAACgC,SAAS,EAAE,CAAClB,eAAe,EAAEN,eAAe,CAACc,KAAK,CAAC,CAAC,GAC7EvB,KAAK,CAAC6B,OAAO,CAAC5B,UAAU,CAACiC,cAAc,EAAE,CAACnB,eAAe,EAAED,SAAS,CAACkB,yBAAyB,CAAC,CAAC;EAEpG,MAAMG,YAAY,GAA+BT,OAAO,EAAEC,UAAU,GAChE3B,KAAK,CAACoC,KAAY,GAClBV,OAAO,EAAES,YAAY,KAAK,KAAK,GAC/BhC,YAAY,CAACkC,QAAQ,CAACX,OAAO,CAACY,eAAe,CAAC,CAACd,IAAI,CACnDxB,KAAK,CAAC6B,OAAO,CAAC,CAACjB,aAAa,CAACW,KAAK,EAAEZ,kBAAkB,CAAC,CAAC,CACzD,GACCR,YAAY,CAACoC,SAAS,CAACf,IAAI,CAC3BxB,KAAK,CAAC6B,OAAO,CAACzB,OAAO,CAACoC,QAAQ,CAAC,EAC/BxC,KAAK,CAAC6B,OAAO,CACXH,OAAO,CAACE,SAAS,KAAK,MAAM,GACxB3B,UAAU,CAACwC,8BAA8B,CAACjB,IAAI,CAACxB,KAAK,CAAC6B,OAAO,CAACpB,eAAe,CAACc,KAAK,CAAC,CAAC,GACpFtB,UAAU,CAACyC,mCAAmC,CAAClB,IAAI,CAACxB,KAAK,CAAC6B,OAAO,CAACf,SAAS,CAACkB,yBAAyB,CAAC,CAAC,CAC5G,CACF;EAEH,OAAOT,KAAK,CAACC,IAAI,CACfxB,KAAK,CAAC6B,OAAO,CAACM,YAAY,CAAC,EAC3BnC,KAAK,CAAC2C,YAAY,CAChBjB,OAAO,EAAEkB,OAAO,KAAK,OAAO,GACxB1C,cAAc,CAAC2C,SAAS,GACxBnB,OAAO,EAAEkB,OAAO,KAAK,KAAK,GAC1B5C,KAAK,CAACoC,KAAK,GACXpC,KAAK,CAAC8C,KAAK,CAACvC,iBAAiB,CAACgB,KAAK,CAAC,CACzC,EACDvB,KAAK,CAAC6B,OAAO,CACXH,OAAO,EAAEkB,OAAO,KAAK,OAAO,GACxBvC,aAAa,CAAC0C,WAAW,GACzBrB,OAAO,EAAEkB,OAAO,KAAK,KAAK,GAC1B5C,KAAK,CAACoC,KAAK,GACXpC,KAAK,CAAC8C,KAAK,CAACtC,gBAAgB,CAACe,KAAK,CAAC,CACxC,EACDvB,KAAK,CAAC6B,OAAO,CAACvB,cAAc,CAAC0C,YAAY,CAACtB,OAAO,EAAEuB,cAAc,CAAC,CAAC,EACnEjD,KAAK,CAAC6B,OAAO,CACXH,OAAO,EAAEwB,aAAa,KAAK,QAAQ,GAAGxC,gBAAgB,CAACyC,WAAW,GAAGzC,gBAAgB,CAAC0C,YAAY,CACnG,CACK;AACV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"BunClusterHttp.js","names":["Effect","Layer","Option","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","FetchHttpClient","RpcSerialization","layerK8sHttpClient","BunFileSystem","BunHttpServer","BunSocket","layerHttpServer","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","layer","value","pipe","unwrap","options","clientOnly","transport","provide","layerHttpClientOnly","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack"],"sources":["../src/BunClusterHttp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,11 +5,12 @@ import type { ServerWebSocket } from "bun";
5
5
  import * as Config from "effect/Config";
6
6
  import type { ConfigError } from "effect/Config";
7
7
  import * as Deferred from "effect/Deferred";
8
+ import * as Duration from "effect/Duration";
8
9
  import * as Effect from "effect/Effect";
9
10
  import type * as FileSystem from "effect/FileSystem";
10
11
  import * as Layer from "effect/Layer";
11
12
  import type * as Path from "effect/Path";
12
- import type * as Scope from "effect/Scope";
13
+ import * as Scope from "effect/Scope";
13
14
  import * as Etag from "effect/unstable/http/Etag";
14
15
  import type { HttpClient } from "effect/unstable/http/HttpClient";
15
16
  import type { HttpPlatform } from "effect/unstable/http/HttpPlatform";
@@ -29,7 +30,10 @@ export type ServeOptions<R extends string> = (Bun.Serve.UnixServeOptions<WebSock
29
30
  * @since 1.0.0
30
31
  * @category Constructors
31
32
  */
32
- export declare const make: <R extends string>(options: ServeOptions<R>) => Effect.Effect<{
33
+ export declare const make: <R extends string>(options: ServeOptions<R> & {
34
+ readonly disablePreemptiveShutdown?: boolean | undefined;
35
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined;
36
+ }) => Effect.Effect<{
33
37
  readonly serve: {
34
38
  <E, R_1>(effect: Effect.Effect<ServerResponse.HttpServerResponse, E, R_1>): Effect.Effect<void, never, Exclude<R_1, ServerRequest.HttpServerRequest> | Scope.Scope>;
35
39
  <E, R_2, App extends Effect.Effect<ServerResponse.HttpServerResponse, any, any>>(effect: Effect.Effect<ServerResponse.HttpServerResponse, E, R_2>, middleware: import("effect/unstable/http/HttpMiddleware").HttpMiddleware.Applied<App, E, R_2>): Effect.Effect<void, never, Exclude<R_2, ServerRequest.HttpServerRequest> | Scope.Scope>;
@@ -40,7 +44,10 @@ export declare const make: <R extends string>(options: ServeOptions<R>) => Effec
40
44
  * @since 1.0.0
41
45
  * @category Layers
42
46
  */
43
- export declare const layerServer: <R extends string>(options: ServeOptions<R>) => Layer.Layer<Server.HttpServer>;
47
+ export declare const layerServer: <R extends string>(options: ServeOptions<R> & {
48
+ readonly disablePreemptiveShutdown?: boolean | undefined;
49
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined;
50
+ }) => Layer.Layer<Server.HttpServer>;
44
51
  /**
45
52
  * @since 1.0.0
46
53
  * @category Layers
@@ -50,7 +57,10 @@ export declare const layerHttpServices: Layer.Layer<HttpPlatform | Etag.Generato
50
57
  * @since 1.0.0
51
58
  * @category Layers
52
59
  */
53
- export declare const layer: <R extends string>(options: ServeOptions<R>) => Layer.Layer<Server.HttpServer | HttpPlatform | Etag.Generator | BunServices.BunServices>;
60
+ export declare const layer: <R extends string>(options: ServeOptions<R> & {
61
+ readonly disablePreemptiveShutdown?: boolean | undefined;
62
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined;
63
+ }) => Layer.Layer<Server.HttpServer | HttpPlatform | Etag.Generator | BunServices.BunServices>;
54
64
  /**
55
65
  * @since 1.0.0
56
66
  * @category Layers
@@ -60,7 +70,10 @@ export declare const layerTest: Layer.Layer<Server.HttpServer | HttpPlatform | F
60
70
  * @since 1.0.0
61
71
  * @category Layers
62
72
  */
63
- export declare const layerConfig: <R extends string>(options: Config.Wrap<ServeOptions<R>>) => Layer.Layer<Server.HttpServer | HttpPlatform | FileSystem.FileSystem | Etag.Generator | Path.Path, ConfigError>;
73
+ export declare const layerConfig: <R extends string>(options: Config.Wrap<ServeOptions<R> & {
74
+ readonly disablePreemptiveShutdown?: boolean | undefined;
75
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined;
76
+ }>) => Layer.Layer<Server.HttpServer | HttpPlatform | FileSystem.FileSystem | Etag.Generator | Path.Path, ConfigError>;
64
77
  interface WebSocketContext {
65
78
  readonly deferred: Deferred.Deferred<ServerWebSocket<WebSocketContext>>;
66
79
  readonly closeDeferred: Deferred.Deferred<void, Socket.SocketError>;
@@ -1 +1 @@
1
- {"version":3,"file":"BunHttpServer.d.ts","sourceRoot":"","sources":["../src/BunHttpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BunHttpServer.d.ts","sourceRoot":"","sources":["../src/BunHttpServer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import * as Config from "effect/Config";
2
+ import * as Context from "effect/Context";
2
3
  import * as Deferred from "effect/Deferred";
4
+ import * as Duration from "effect/Duration";
3
5
  import * as Effect from "effect/Effect";
4
6
  import * as Exit from "effect/Exit";
5
7
  import * as Fiber from "effect/Fiber";
@@ -7,7 +9,9 @@ import * as FiberSet from "effect/FiberSet";
7
9
  import { flow } from "effect/Function";
8
10
  import * as Inspectable from "effect/Inspectable";
9
11
  import * as Layer from "effect/Layer";
10
- import * as ServiceMap from "effect/ServiceMap";
12
+ import * as Option from "effect/Option";
13
+ import * as Scope from "effect/Scope";
14
+ import * as Semaphore from "effect/Semaphore";
11
15
  import * as Stream from "effect/Stream";
12
16
  import * as Cookies from "effect/unstable/http/Cookies";
13
17
  import * as Etag from "effect/unstable/http/Etag";
@@ -29,6 +33,7 @@ import * as BunStream from "./BunStream.js";
29
33
  * @category Constructors
30
34
  */
31
35
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
36
+ const scope = yield* Effect.scope;
32
37
  const handlerStack = [function (_request, _server) {
33
38
  return new Response("not found", {
34
39
  status: 404
@@ -45,6 +50,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
45
50
  ws.data.run(message);
46
51
  },
47
52
  close(ws, code, closeReason) {
53
+ code = typeof code === "number" ? code : 1001;
48
54
  Deferred.doneUnsafe(ws.data.closeDeferred, Socket.defaultCloseCodeIsError(code) ? Exit.fail(new Socket.SocketError({
49
55
  reason: new Socket.SocketCloseError({
50
56
  code,
@@ -54,7 +60,12 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
54
60
  }
55
61
  }
56
62
  });
57
- yield* Effect.addFinalizer(() => Effect.promise(() => server.stop()));
63
+ const shutdown = yield* Effect.promise(() => server.stop()).pipe(Effect.cached);
64
+ const preemptiveShutdown = options.disablePreemptiveShutdown ? Effect.void : Effect.timeoutOrElse(shutdown, {
65
+ duration: options.gracefulShutdownTimeout ?? Duration.seconds(20),
66
+ orElse: () => Effect.void
67
+ });
68
+ yield* Scope.addFinalizer(scope, shutdown);
58
69
  return Server.make({
59
70
  address: {
60
71
  _tag: "TcpAddress",
@@ -62,8 +73,10 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
62
73
  hostname: server.hostname
63
74
  },
64
75
  serve: Effect.fnUntraced(function* (httpApp, middleware) {
65
- const scope = yield* Effect.scope;
66
- const services = yield* Effect.services();
76
+ const parent = yield* Effect.fiber;
77
+ const services = parent.context;
78
+ const serveScope = Context.getUnsafe(services, Scope.Scope);
79
+ const scope = Scope.forkUnsafe(serveScope, "parallel");
67
80
  const httpEffect = HttpEffect.toHandled(httpApp, (request, response) => Effect.sync(() => {
68
81
  ;
69
82
  request.resolve(makeResponse(request, response, services, scope));
@@ -72,29 +85,29 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
72
85
  return new Promise((resolve, _reject) => {
73
86
  const map = new Map(services.mapUnsafe);
74
87
  map.set(ServerRequest.HttpServerRequest.key, new BunServerRequest(request, resolve, removeHost(request.url), server));
75
- const fiber = Fiber.runIn(Effect.runForkWith(ServiceMap.makeUnsafe(map))(httpEffect), scope);
88
+ const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe(map))(httpEffect), scope);
76
89
  request.signal.addEventListener("abort", () => {
77
- fiber.interruptUnsafe(Error.clientAbortFiberId);
90
+ fiber.interruptUnsafe(parent.id, Error.ClientAbort.annotation);
78
91
  }, {
79
92
  once: true
80
93
  });
81
94
  });
82
95
  }
83
- yield* Effect.acquireRelease(Effect.sync(() => {
84
- handlerStack.push(handler);
85
- server.reload({
86
- fetch: handler
87
- });
88
- }), () => Effect.sync(() => {
96
+ yield* Scope.addFinalizerExit(serveScope, () => {
89
97
  handlerStack.pop();
90
98
  server.reload({
91
99
  fetch: handlerStack[handlerStack.length - 1]
92
100
  });
93
- }));
101
+ return preemptiveShutdown;
102
+ });
103
+ handlerStack.push(handler);
104
+ server.reload({
105
+ fetch: handler
106
+ });
94
107
  })
95
108
  });
96
109
  });
97
- const makeResponse = (request, response, services, scope) => {
110
+ const makeResponse = (request, response, context, scope) => {
98
111
  const fields = {
99
112
  headers: new globalThis.Headers(response.headers),
100
113
  status: response.status
@@ -137,7 +150,7 @@ const makeResponse = (request, response, services, scope) => {
137
150
  return new Response(Stream.toReadableStreamWith(Stream.unwrap(Effect.withFiber(fiber => {
138
151
  Fiber.runIn(fiber, scope);
139
152
  return Effect.succeed(body.stream);
140
- })), services), fields);
153
+ })), context), fields);
141
154
  }
142
155
  }
143
156
  };
@@ -201,7 +214,7 @@ class BunServerRequest extends Inspectable.Class {
201
214
  });
202
215
  }
203
216
  modify(options) {
204
- return new BunServerRequest(this.source, this.resolve, options.url ?? this.url, this.bunServer, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
217
+ return new BunServerRequest(this.source, this.resolve, options.url ?? this.url, this.bunServer, options.headers ?? this.headersOverride, "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride);
205
218
  }
206
219
  get method() {
207
220
  return this.source.method.toUpperCase();
@@ -210,7 +223,7 @@ class BunServerRequest extends Inspectable.Class {
210
223
  return this.source.url;
211
224
  }
212
225
  get remoteAddress() {
213
- return this.remoteAddressOverride ?? this.bunServer.requestIP(this.source)?.address;
226
+ return this.remoteAddressOverride ?? Option.fromNullishOr(this.bunServer.requestIP(this.source)?.address);
214
227
  }
215
228
  get headers() {
216
229
  this.headersOverride ??= Headers.fromInput(this.source.headers);
@@ -308,7 +321,7 @@ class BunServerRequest extends Inspectable.Class {
308
321
  return Effect.callback(resume => {
309
322
  const deferred = Deferred.makeUnsafe();
310
323
  const closeDeferred = Deferred.makeUnsafe();
311
- const semaphore = Effect.makeSemaphoreUnsafe(1);
324
+ const semaphore = Semaphore.makeUnsafe(1);
312
325
  const success = this.bunServer.upgrade(this.source, {
313
326
  data: {
314
327
  deferred,
@@ -1 +1 @@
1
- {"version":3,"file":"BunHttpServer.js","names":["Config","Deferred","Effect","Exit","Fiber","FiberSet","flow","Inspectable","Layer","ServiceMap","Stream","Cookies","Etag","FetchHttpClient","Headers","HttpEffect","IncomingMessage","Server","Error","ServerRequest","UrlParams","Socket","Platform","BunMultipart","BunServices","BunStream","make","fnUntraced","options","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","doneUnsafe","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketError","reason","SocketCloseError","void","addFinalizer","promise","stop","address","_tag","port","hostname","httpApp","middleware","scope","services","httpEffect","toHandled","request","response","sync","resolve","makeResponse","handler","Promise","_reject","map","Map","mapUnsafe","set","HttpServerRequest","key","BunServerRequest","removeHost","url","fiber","runIn","runForkWith","makeUnsafe","signal","addEventListener","interruptUnsafe","clientAbortFiberId","once","acquireRelease","push","reload","pop","length","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","scopeTransferToStream","body","value","entries","formData","toReadableStreamWith","unwrap","withFiber","stream","layerServer","effect","HttpServer","layerHttpServices","mergeAll","layer","layerWeak","layerTest","layerTestClient","pipe","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","asEffect","wsDefaultRun","_","buffer","Class","TypeId","source","bunServer","headersOverride","remoteAddressOverride","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","requestIP","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","evaluate","onError","cause","HttpServerError","RequestParseError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","callback","resume","semaphore","makeSemaphoreUnsafe","success","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","opts","runtime","result","isEffect","forEach","onOpen","join","scoped","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice"],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BunHttpServer.js","names":["Config","Context","Deferred","Duration","Effect","Exit","Fiber","FiberSet","flow","Inspectable","Layer","Option","Scope","Semaphore","Stream","Cookies","Etag","FetchHttpClient","Headers","HttpEffect","IncomingMessage","Server","Error","ServerRequest","UrlParams","Socket","Platform","BunMultipart","BunServices","BunStream","make","fnUntraced","options","scope","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","doneUnsafe","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketError","reason","SocketCloseError","void","shutdown","promise","stop","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","address","_tag","port","hostname","httpApp","middleware","parent","fiber","services","context","serveScope","getUnsafe","forkUnsafe","httpEffect","toHandled","request","response","sync","resolve","makeResponse","handler","Promise","_reject","map","Map","mapUnsafe","set","HttpServerRequest","key","BunServerRequest","removeHost","url","runIn","runForkWith","makeUnsafe","signal","addEventListener","interruptUnsafe","id","ClientAbort","annotation","once","addFinalizerExit","pop","reload","length","push","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","scopeTransferToStream","body","value","entries","formData","toReadableStreamWith","unwrap","withFiber","stream","layerServer","effect","HttpServer","layerHttpServices","mergeAll","layer","layerWeak","layerTest","layerTestClient","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","asEffect","wsDefaultRun","_","buffer","Class","TypeId","source","bunServer","headersOverride","remoteAddressOverride","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","fromNullishOr","requestIP","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","evaluate","onError","cause","HttpServerError","RequestParseError","description","textEffect","text","runSync","tryPromise","try","catch","json","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","callback","resume","semaphore","success","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","opts","runtime","result","isEffect","forEach","onOpen","join","scoped","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice"],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import { RedisClient, type RedisOptions } from "bun";
5
5
  import * as Config from "effect/Config";
6
+ import * as Context from "effect/Context";
6
7
  import * as Effect from "effect/Effect";
7
8
  import * as Layer from "effect/Layer";
8
- import * as ServiceMap from "effect/ServiceMap";
9
9
  import * as Redis from "effect/unstable/persistence/Redis";
10
- declare const BunRedis_base: ServiceMap.ServiceClass<BunRedis, "@effect/platform-bun/BunRedis", {
10
+ declare const BunRedis_base: Context.ServiceClass<BunRedis, "@effect/platform-bun/BunRedis", {
11
11
  readonly client: RedisClient;
12
12
  readonly use: <A>(f: (client: RedisClient) => Promise<A>) => Effect.Effect<A, Redis.RedisError>;
13
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"BunRedis.d.ts","sourceRoot":"","sources":["../src/BunRedis.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;;qBAOvC,WAAW;kBACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AANjG;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAmCxC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,GAAG,SAAS,KAC/D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAwC,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,CAAC,IAAI,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,KAC7D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,WAAW,CAKtD,CAAA"}
1
+ {"version":3,"file":"BunRedis.d.ts","sourceRoot":"","sources":["../src/BunRedis.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;;qBAOvC,WAAW;kBACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AANjG;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAmCxC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,GAAG,SAAS,KAC/D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAuC,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,CAAC,IAAI,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,KAC7D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,WAAW,CAKtD,CAAA"}
package/dist/BunRedis.js CHANGED
@@ -3,17 +3,17 @@
3
3
  */
4
4
  import { RedisClient } from "bun";
5
5
  import * as Config from "effect/Config";
6
+ import * as Context from "effect/Context";
6
7
  import * as Effect from "effect/Effect";
7
8
  import * as Fn from "effect/Function";
8
9
  import * as Layer from "effect/Layer";
9
10
  import * as Scope from "effect/Scope";
10
- import * as ServiceMap from "effect/ServiceMap";
11
11
  import * as Redis from "effect/unstable/persistence/Redis";
12
12
  /**
13
13
  * @since 1.0.0
14
14
  * @category Service
15
15
  */
16
- export class BunRedis extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-bun/BunRedis") {}
16
+ export class BunRedis extends /*#__PURE__*/Context.Service()("@effect/platform-bun/BunRedis") {}
17
17
  const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
18
18
  const scope = yield* Effect.scope;
19
19
  yield* Scope.addFinalizer(scope, Effect.sync(() => client.close()));
@@ -36,16 +36,16 @@ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
36
36
  client,
37
37
  use
38
38
  });
39
- return ServiceMap.make(BunRedis, bunRedis).pipe(ServiceMap.add(Redis.Redis, redis));
39
+ return Context.make(BunRedis, bunRedis).pipe(Context.add(Redis.Redis, redis));
40
40
  });
41
41
  /**
42
42
  * @since 1.0.0
43
43
  * @category Layers
44
44
  */
45
- export const layer = options => Layer.effectServices(make(options));
45
+ export const layer = options => Layer.effectContext(make(options));
46
46
  /**
47
47
  * @since 1.0.0
48
48
  * @category Layers
49
49
  */
50
- export const layerConfig = options => Layer.effectServices(Config.unwrap(options).asEffect().pipe(Effect.flatMap(make)));
50
+ export const layerConfig = options => Layer.effectContext(Config.unwrap(options).asEffect().pipe(Effect.flatMap(make)));
51
51
  //# sourceMappingURL=BunRedis.js.map
@@ -1 +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":[]}
1
+ {"version":3,"file":"BunRedis.js","names":["RedisClient","Config","Context","Effect","Fn","Layer","Scope","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","effectContext","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,OAAO,MAAM,gBAAgB;AACzC,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,KAAK,MAAM,mCAAmC;AAE1D;;;;AAIA,OAAM,MAAOC,QAAS,sBAAQN,OAAO,CAACO,OAAO,EAGzC,CAAC,+BAA+B,CAAC;AAErC,MAAMC,IAAI,gBAAGP,MAAM,CAACQ,UAAU,CAAC,WAC7BC,OAEgB;EAEhB,MAAMC,KAAK,GAAG,OAAOV,MAAM,CAACU,KAAK;EACjC,OAAOP,KAAK,CAACQ,YAAY,CAACD,KAAK,EAAEV,MAAM,CAACY,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,IACpDjB,MAAM,CAACkB,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,KACjE1B,MAAM,CAACkB,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,GAAG1B,EAAE,CAAC2B,QAAQ,CAAsB;IAChDf,MAAM;IACNG;GACD,CAAC;EAEF,OAAOjB,OAAO,CAACQ,IAAI,CAACF,QAAQ,EAAEsB,QAAQ,CAAC,CAACE,IAAI,CAC1C9B,OAAO,CAAC+B,GAAG,CAAC1B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CAChC;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMQ,KAAK,GAChBtB,OAAgE,IACxBP,KAAK,CAAC8B,aAAa,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE5E;;;;AAIA,OAAO,MAAMwB,WAAW,GACtBxB,OAA8D,IAE9DP,KAAK,CAAC8B,aAAa,CACjBlC,MAAM,CAACoC,MAAM,CAACzB,OAAO,CAAC,CAAC0B,QAAQ,EAAE,CAACN,IAAI,CACpC7B,MAAM,CAACoC,OAAO,CAAC7B,IAAI,CAAC,CACrB,CACF","ignoreList":[]}
@@ -20,7 +20,7 @@ export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketCons
20
20
  */
21
21
  export declare const layerWebSocket: (url: string | Effect<string>, options?: {
22
22
  readonly closeCodeIsError?: ((code: number) => boolean) | undefined;
23
- readonly openTimeout?: Duration.DurationInput | undefined;
23
+ readonly openTimeout?: Duration.Input | undefined;
24
24
  readonly protocols?: string | Array<string> | undefined;
25
25
  } | undefined) => Layer.Layer<Socket.Socket, never, never>;
26
26
  //# sourceMappingURL=BunSocket.d.ts.map
@@ -1 +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"}
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,KAAK,GAAG,SAAS,CAAA;IACjD,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"}
@@ -28,7 +28,7 @@ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatfor
28
28
  const run = handler => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
29
29
  const closeLatch = Deferred.makeUnsafe();
30
30
  const trackFiber = Fiber.runIn(scope);
31
- const services = yield* Effect.services();
31
+ const services = yield* Effect.context();
32
32
  const runFork = Effect.runForkWith(services);
33
33
  const onExit = exit => {
34
34
  if (exit._tag === "Failure" && !Cause.hasInterruptsOnly(exit.cause)) {
@@ -1 +1 @@
1
- {"version":3,"file":"BunWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","identity","Layer","Scope","WorkerError","WorkerReceiveError","WorkerSpawnError","WorkerRunner","layer","succeed","WorkerRunnerPlatform","start","fnUntraced","self","reason","message","port","run","handler","scopedWith","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","onMessage","event","data","result","isEffect","fiber","addObserver","close","doneUnsafe","void","onMessageError","error","asEffect","onError","addFinalizer","sync","removeEventListener","addEventListener","postMessage","await","sendUnsafe","_portId","transfer","send"],"sources":["../src/BunWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BunWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","identity","Layer","Scope","WorkerError","WorkerReceiveError","WorkerSpawnError","WorkerRunner","layer","succeed","WorkerRunnerPlatform","start","fnUntraced","self","reason","message","port","run","handler","scopedWith","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","context","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","onMessage","event","data","result","isEffect","fiber","addObserver","close","doneUnsafe","void","onMessageError","error","asEffect","onError","addFinalizer","sync","removeEventListener","addEventListener","postMessage","await","sendUnsafe","_portId","transfer","send"],"sources":["../src/BunWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@effect/platform-bun",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.5",
4
+ "version": "4.0.0-beta.51",
5
5
  "license": "MIT",
6
6
  "description": "Platform specific implementations for the Bun runtime",
7
7
  "homepage": "https://effect.website",
@@ -45,14 +45,14 @@
45
45
  "provenance": true
46
46
  },
47
47
  "peerDependencies": {
48
- "effect": "^4.0.0-beta.5"
48
+ "effect": "^4.0.0-beta.51"
49
49
  },
50
50
  "dependencies": {
51
- "@effect/platform-node-shared": "^4.0.0-beta.5"
51
+ "@effect/platform-node-shared": "^4.0.0-beta.51"
52
52
  },
53
53
  "devDependencies": {
54
- "@types/bun": "^1.3.8",
55
- "effect": "^4.0.0-beta.5"
54
+ "@types/bun": "^1.3.12",
55
+ "effect": "^4.0.0-beta.51"
56
56
  },
57
57
  "scripts": {
58
58
  "codegen": "effect-utils codegen",
@@ -4,6 +4,7 @@
4
4
  import type * as Config from "effect/Config"
5
5
  import * as Effect from "effect/Effect"
6
6
  import * as Layer from "effect/Layer"
7
+ import * as Option from "effect/Option"
7
8
  import * as HttpRunner from "effect/unstable/cluster/HttpRunner"
8
9
  import * as MessageStorage from "effect/unstable/cluster/MessageStorage"
9
10
  import * as RunnerHealth from "effect/unstable/cluster/RunnerHealth"
@@ -47,11 +48,11 @@ export const layerHttpServer: Layer.Layer<
47
48
  ShardingConfig.ShardingConfig
48
49
  > = Effect.gen(function*() {
49
50
  const config = yield* ShardingConfig.ShardingConfig
50
- const listenAddress = config.runnerListenAddress ?? config.runnerAddress
51
- if (listenAddress === undefined) {
52
- return yield* Effect.die("BunClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is undefined")
51
+ const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress)
52
+ if (Option.isNone(listenAddress)) {
53
+ return yield* Effect.die("BunClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None")
53
54
  }
54
- return BunHttpServer.layer(listenAddress)
55
+ return BunHttpServer.layer(listenAddress.value)
55
56
  }).pipe(Layer.unwrap)
56
57
 
57
58
  /**
@@ -4,7 +4,9 @@
4
4
  import type { Server as BunServer, ServerWebSocket } from "bun"
5
5
  import * as Config from "effect/Config"
6
6
  import type { ConfigError } from "effect/Config"
7
+ import * as Context from "effect/Context"
7
8
  import * as Deferred from "effect/Deferred"
9
+ import * as Duration from "effect/Duration"
8
10
  import * as Effect from "effect/Effect"
9
11
  import * as Exit from "effect/Exit"
10
12
  import * as Fiber from "effect/Fiber"
@@ -13,10 +15,12 @@ import type * as FileSystem from "effect/FileSystem"
13
15
  import { flow } from "effect/Function"
14
16
  import * as Inspectable from "effect/Inspectable"
15
17
  import * as Layer from "effect/Layer"
18
+ import * as Option from "effect/Option"
16
19
  import type * as Path from "effect/Path"
17
20
  import type * as Record from "effect/Record"
18
- import type * as Scope from "effect/Scope"
19
- import * as ServiceMap from "effect/ServiceMap"
21
+ import type * as Schema from "effect/Schema"
22
+ import * as Scope from "effect/Scope"
23
+ import * as Semaphore from "effect/Semaphore"
20
24
  import * as Stream from "effect/Stream"
21
25
  import * as Cookies from "effect/unstable/http/Cookies"
22
26
  import * as Etag from "effect/unstable/http/Etag"
@@ -56,8 +60,12 @@ export type ServeOptions<R extends string> =
56
60
  */
57
61
  export const make = Effect.fnUntraced(
58
62
  function*<R extends string>(
59
- options: ServeOptions<R>
63
+ options: ServeOptions<R> & {
64
+ readonly disablePreemptiveShutdown?: boolean | undefined
65
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined
66
+ }
60
67
  ) {
68
+ const scope = yield* Effect.scope
61
69
  const handlerStack: Array<(request: Request, server: BunServer<WebSocketContext>) => Response | Promise<Response>> =
62
70
  [
63
71
  function(_request, _server) {
@@ -75,6 +83,7 @@ export const make = Effect.fnUntraced(
75
83
  ws.data.run(message)
76
84
  },
77
85
  close(ws, code, closeReason) {
86
+ code = typeof code === "number" ? code : 1001
78
87
  Deferred.doneUnsafe(
79
88
  ws.data.closeDeferred,
80
89
  Socket.defaultCloseCodeIsError(code)
@@ -89,13 +98,24 @@ export const make = Effect.fnUntraced(
89
98
  }
90
99
  })
91
100
 
92
- yield* Effect.addFinalizer(() => Effect.promise(() => server.stop()))
101
+ const shutdown = yield* Effect.promise(() => server.stop()).pipe(
102
+ Effect.cached
103
+ )
104
+ const preemptiveShutdown = options.disablePreemptiveShutdown ? Effect.void : Effect.timeoutOrElse(shutdown, {
105
+ duration: options.gracefulShutdownTimeout ?? Duration.seconds(20),
106
+ orElse: () => Effect.void
107
+ })
108
+
109
+ yield* Scope.addFinalizer(scope, shutdown)
93
110
 
94
111
  return Server.make({
95
112
  address: { _tag: "TcpAddress", port: server.port!, hostname: server.hostname! },
96
113
  serve: Effect.fnUntraced(function*(httpApp, middleware) {
97
- const scope = yield* Effect.scope
98
- const services = yield* Effect.services<never>()
114
+ const parent = yield* Effect.fiber
115
+ const services = parent.context
116
+ const serveScope = Context.getUnsafe(services, Scope.Scope)
117
+ const scope = Scope.forkUnsafe(serveScope, "parallel")
118
+
99
119
  const httpEffect = HttpEffect.toHandled(httpApp, (request, response) =>
100
120
  Effect.sync(() => {
101
121
  ;(request as BunServerRequest).resolve(makeResponse(request, response, services, scope))
@@ -108,24 +128,20 @@ export const make = Effect.fnUntraced(
108
128
  ServerRequest.HttpServerRequest.key,
109
129
  new BunServerRequest(request, resolve, removeHost(request.url), server)
110
130
  )
111
- const fiber = Fiber.runIn(Effect.runForkWith(ServiceMap.makeUnsafe<any>(map))(httpEffect), scope)
131
+ const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe<any>(map))(httpEffect), scope)
112
132
  request.signal.addEventListener("abort", () => {
113
- fiber.interruptUnsafe(Error.clientAbortFiberId)
133
+ fiber.interruptUnsafe(parent.id, Error.ClientAbort.annotation)
114
134
  }, { once: true })
115
135
  })
116
136
  }
117
137
 
118
- yield* Effect.acquireRelease(
119
- Effect.sync(() => {
120
- handlerStack.push(handler)
121
- server.reload({ fetch: handler })
122
- }),
123
- () =>
124
- Effect.sync(() => {
125
- handlerStack.pop()
126
- server.reload({ fetch: handlerStack[handlerStack.length - 1] })
127
- })
128
- )
138
+ yield* Scope.addFinalizerExit(serveScope, () => {
139
+ handlerStack.pop()
140
+ server.reload({ fetch: handlerStack[handlerStack.length - 1] })
141
+ return preemptiveShutdown
142
+ })
143
+ handlerStack.push(handler)
144
+ server.reload({ fetch: handler })
129
145
  })
130
146
  })
131
147
  }
@@ -134,7 +150,7 @@ export const make = Effect.fnUntraced(
134
150
  const makeResponse = (
135
151
  request: ServerRequest.HttpServerRequest,
136
152
  response: ServerResponse.HttpServerResponse,
137
- services: ServiceMap.ServiceMap<never>,
153
+ context: Context.Context<never>,
138
154
  scope: Scope.Scope
139
155
  ): Response => {
140
156
  const fields: {
@@ -185,7 +201,7 @@ const makeResponse = (
185
201
  Fiber.runIn(fiber, scope)
186
202
  return Effect.succeed(body.stream)
187
203
  })),
188
- services
204
+ context
189
205
  ),
190
206
  fields
191
207
  )
@@ -198,7 +214,10 @@ const makeResponse = (
198
214
  * @category Layers
199
215
  */
200
216
  export const layerServer: <R extends string>(
201
- options: ServeOptions<R>
217
+ options: ServeOptions<R> & {
218
+ readonly disablePreemptiveShutdown?: boolean | undefined
219
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined
220
+ }
202
221
  ) => Layer.Layer<Server.HttpServer> = flow(make, Layer.effect(Server.HttpServer)) as any
203
222
 
204
223
  /**
@@ -220,7 +239,10 @@ export const layerHttpServices: Layer.Layer<
220
239
  * @category Layers
221
240
  */
222
241
  export const layer = <R extends string>(
223
- options: ServeOptions<R>
242
+ options: ServeOptions<R> & {
243
+ readonly disablePreemptiveShutdown?: boolean | undefined
244
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined
245
+ }
224
246
  ): Layer.Layer<
225
247
  | Server.HttpServer
226
248
  | HttpPlatform
@@ -246,7 +268,12 @@ export const layerTest: Layer.Layer<
246
268
  * @category Layers
247
269
  */
248
270
  export const layerConfig = <R extends string>(
249
- options: Config.Wrap<ServeOptions<R>>
271
+ options: Config.Wrap<
272
+ ServeOptions<R> & {
273
+ readonly disablePreemptiveShutdown?: boolean | undefined
274
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined
275
+ }
276
+ >
250
277
  ): Layer.Layer<
251
278
  Server.HttpServer | HttpPlatform | FileSystem.FileSystem | Etag.Generator | Path.Path,
252
279
  ConfigError
@@ -279,7 +306,7 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
279
306
  readonly url: string
280
307
  private bunServer: BunServer<WebSocketContext>
281
308
  public headersOverride?: Headers.Headers | undefined
282
- private remoteAddressOverride?: string | undefined
309
+ private remoteAddressOverride?: Option.Option<string> | undefined
283
310
 
284
311
  constructor(
285
312
  source: Request,
@@ -287,7 +314,7 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
287
314
  url: string,
288
315
  bunServer: BunServer<WebSocketContext>,
289
316
  headersOverride?: Headers.Headers,
290
- remoteAddressOverride?: string
317
+ remoteAddressOverride?: Option.Option<string>
291
318
  ) {
292
319
  super()
293
320
  this[ServerRequest.TypeId] = ServerRequest.TypeId
@@ -310,7 +337,7 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
310
337
  options: {
311
338
  readonly url?: string | undefined
312
339
  readonly headers?: Headers.Headers | undefined
313
- readonly remoteAddress?: string | undefined
340
+ readonly remoteAddress?: Option.Option<string> | undefined
314
341
  }
315
342
  ) {
316
343
  return new BunServerRequest(
@@ -319,7 +346,7 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
319
346
  options.url ?? this.url,
320
347
  this.bunServer,
321
348
  options.headers ?? this.headersOverride,
322
- options.remoteAddress ?? this.remoteAddressOverride
349
+ "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride
323
350
  )
324
351
  }
325
352
  get method(): HttpMethod {
@@ -328,8 +355,8 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
328
355
  get originalUrl() {
329
356
  return this.source.url
330
357
  }
331
- get remoteAddress(): string | undefined {
332
- return this.remoteAddressOverride ?? this.bunServer.requestIP(this.source)?.address
358
+ get remoteAddress(): Option.Option<string> {
359
+ return this.remoteAddressOverride ?? Option.fromNullishOr(this.bunServer.requestIP(this.source)?.address)
333
360
  }
334
361
  get headers(): Headers.Headers {
335
362
  this.headersOverride ??= Headers.fromInput(this.source.headers)
@@ -386,10 +413,10 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
386
413
  return this.textEffect
387
414
  }
388
415
 
389
- get json(): Effect.Effect<unknown, Error.HttpServerError> {
416
+ get json(): Effect.Effect<Schema.Json, Error.HttpServerError> {
390
417
  return Effect.flatMap(this.text, (_) =>
391
418
  Effect.try({
392
- try: () => JSON.parse(_) as unknown,
419
+ try: () => JSON.parse(_) as Schema.Json,
393
420
  catch: (cause) =>
394
421
  new Error.HttpServerError({
395
422
  reason: new Error.RequestParseError({
@@ -463,7 +490,7 @@ class BunServerRequest extends Inspectable.Class implements ServerRequest.HttpSe
463
490
  return Effect.callback<Socket.Socket, Error.HttpServerError>((resume) => {
464
491
  const deferred = Deferred.makeUnsafe<ServerWebSocket<WebSocketContext>>()
465
492
  const closeDeferred = Deferred.makeUnsafe<void, Socket.SocketError>()
466
- const semaphore = Effect.makeSemaphoreUnsafe(1)
493
+ const semaphore = Semaphore.makeUnsafe(1)
467
494
 
468
495
  const success = this.bunServer.upgrade(this.source, {
469
496
  data: {
package/src/BunRedis.ts CHANGED
@@ -3,18 +3,18 @@
3
3
  */
4
4
  import { RedisClient, type RedisOptions } from "bun"
5
5
  import * as Config from "effect/Config"
6
+ import * as Context from "effect/Context"
6
7
  import * as Effect from "effect/Effect"
7
8
  import * as Fn from "effect/Function"
8
9
  import * as Layer from "effect/Layer"
9
10
  import * as Scope from "effect/Scope"
10
- import * as ServiceMap from "effect/ServiceMap"
11
11
  import * as Redis from "effect/unstable/persistence/Redis"
12
12
 
13
13
  /**
14
14
  * @since 1.0.0
15
15
  * @category Service
16
16
  */
17
- export class BunRedis extends ServiceMap.Service<BunRedis, {
17
+ export class BunRedis extends Context.Service<BunRedis, {
18
18
  readonly client: RedisClient
19
19
  readonly use: <A>(f: (client: RedisClient) => Promise<A>) => Effect.Effect<A, Redis.RedisError>
20
20
  }>()("@effect/platform-bun/BunRedis") {}
@@ -47,8 +47,8 @@ const make = Effect.fnUntraced(function*(
47
47
  use
48
48
  })
49
49
 
50
- return ServiceMap.make(BunRedis, bunRedis).pipe(
51
- ServiceMap.add(Redis.Redis, redis)
50
+ return Context.make(BunRedis, bunRedis).pipe(
51
+ Context.add(Redis.Redis, redis)
52
52
  )
53
53
  })
54
54
 
@@ -58,7 +58,7 @@ const make = Effect.fnUntraced(function*(
58
58
  */
59
59
  export const layer = (
60
60
  options?: ({ readonly url?: string } & RedisOptions) | undefined
61
- ): Layer.Layer<Redis.Redis | BunRedis> => Layer.effectServices(make(options))
61
+ ): Layer.Layer<Redis.Redis | BunRedis> => Layer.effectContext(make(options))
62
62
 
63
63
  /**
64
64
  * @since 1.0.0
@@ -67,7 +67,7 @@ export const layer = (
67
67
  export const layerConfig = (
68
68
  options: Config.Wrap<{ readonly url?: string } & RedisOptions>
69
69
  ): Layer.Layer<Redis.Redis | BunRedis, Config.ConfigError> =>
70
- Layer.effectServices(
70
+ Layer.effectContext(
71
71
  Config.unwrap(options).asEffect().pipe(
72
72
  Effect.flatMap(make)
73
73
  )
package/src/BunSocket.ts CHANGED
@@ -30,7 +30,7 @@ export const layerWebSocket: (
30
30
  url: string | Effect<string>,
31
31
  options?: {
32
32
  readonly closeCodeIsError?: ((code: number) => boolean) | undefined
33
- readonly openTimeout?: Duration.DurationInput | undefined
33
+ readonly openTimeout?: Duration.Input | undefined
34
34
  readonly protocols?: string | Array<string> | undefined
35
35
  } | undefined
36
36
  ) => Layer.Layer<Socket.Socket, never, never> = flow(
@@ -32,7 +32,7 @@ export const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform> = Layer.succe
32
32
  Effect.scopedWith(Effect.fnUntraced(function*(scope) {
33
33
  const closeLatch = Deferred.makeUnsafe<void, WorkerError>()
34
34
  const trackFiber = Fiber.runIn(scope)
35
- const services = yield* Effect.services<R>()
35
+ const services = yield* Effect.context<R>()
36
36
  const runFork = Effect.runForkWith(services)
37
37
  const onExit = (exit: Exit.Exit<any, E>) => {
38
38
  if (exit._tag === "Failure" && !Cause.hasInterruptsOnly(exit.cause)) {