@effect/platform-bun 4.0.0-rc.111 → 4.0.0-rc.113

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.
Files changed (49) hide show
  1. package/AGENTS.md +24 -9
  2. package/CLAUDE.md +24 -9
  3. package/ai-docs/package.json +2 -2
  4. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
  5. package/ai-docs/src/01_effect/01_basics/index.md +5 -3
  6. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
  7. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
  8. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
  9. package/ai-docs/src/03_stream/30_encoding.ts +5 -7
  10. package/ai-docs/src/08_observability/10_logging.ts +1 -1
  11. package/ai-docs/src/70_cli/10_basics.ts +7 -7
  12. package/ai-docs/src/71_ai/10_language-model.ts +2 -2
  13. package/ai-docs/src/71_ai/20_tools.ts +1 -1
  14. package/ai-docs/src/71_ai/30_chat.ts +1 -1
  15. package/dist/BunClusterHttp.d.ts +2 -2
  16. package/dist/BunClusterHttp.d.ts.map +1 -1
  17. package/dist/BunClusterHttp.js +3 -3
  18. package/dist/BunClusterHttp.js.map +1 -1
  19. package/dist/BunClusterSocket.d.ts +1 -1
  20. package/dist/BunClusterSocket.d.ts.map +1 -1
  21. package/dist/BunClusterSocket.js +2 -2
  22. package/dist/BunClusterSocket.js.map +1 -1
  23. package/dist/BunHttpPlatform.d.ts.map +1 -1
  24. package/dist/BunHttpPlatform.js +7 -4
  25. package/dist/BunHttpPlatform.js.map +1 -1
  26. package/dist/BunHttpServer.d.ts +22 -7
  27. package/dist/BunHttpServer.d.ts.map +1 -1
  28. package/dist/BunHttpServer.js +149 -39
  29. package/dist/BunHttpServer.js.map +1 -1
  30. package/dist/BunRedis.d.ts +1 -1
  31. package/dist/BunRedis.d.ts.map +1 -1
  32. package/dist/BunRedis.js +3 -12
  33. package/dist/BunRedis.js.map +1 -1
  34. package/dist/BunSocket.d.ts +3 -3
  35. package/dist/BunSocket.d.ts.map +1 -1
  36. package/dist/BunSocket.js +6 -3
  37. package/dist/BunSocket.js.map +1 -1
  38. package/dist/BunStream.d.ts +1 -1
  39. package/dist/BunStream.d.ts.map +1 -1
  40. package/dist/BunStream.js +8 -2
  41. package/dist/BunStream.js.map +1 -1
  42. package/package.json +5 -5
  43. package/src/BunClusterHttp.ts +3 -3
  44. package/src/BunClusterSocket.ts +4 -2
  45. package/src/BunHttpPlatform.ts +8 -4
  46. package/src/BunHttpServer.ts +180 -62
  47. package/src/BunRedis.ts +2 -1
  48. package/src/BunSocket.ts +7 -4
  49. package/src/BunStream.ts +12 -3
@@ -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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"}
@@ -5,11 +5,12 @@ import * as Duration from "effect/Duration";
5
5
  import * as Effect from "effect/Effect";
6
6
  import * as Exit from "effect/Exit";
7
7
  import * as Fiber from "effect/Fiber";
8
- import * as FiberSet from "effect/FiberSet";
9
- import { flow } from "effect/Function";
8
+ import { constVoid, flow } from "effect/Function";
10
9
  import * as Inspectable from "effect/Inspectable";
11
10
  import * as Layer from "effect/Layer";
12
11
  import * as Option from "effect/Option";
12
+ import * as Result from "effect/Result";
13
+ import * as Scheduler from "effect/Scheduler";
13
14
  import * as Scope from "effect/Scope";
14
15
  import * as Semaphore from "effect/Semaphore";
15
16
  import * as Stream from "effect/Stream";
@@ -23,6 +24,7 @@ import * as Server from "effect/unstable/http/HttpServer";
23
24
  import * as Error from "effect/unstable/http/HttpServerError";
24
25
  import * as ServerRequest from "effect/unstable/http/HttpServerRequest";
25
26
  import * as UrlParams from "effect/unstable/http/UrlParams";
27
+ import * as NetAddress from "effect/unstable/net/NetAddress";
26
28
  import * as Socket from "effect/unstable/socket/Socket";
27
29
  import * as Platform from "./BunHttpPlatform.js";
28
30
  import * as BunMultipart from "./BunMultipart.js";
@@ -36,16 +38,43 @@ import * as BunStream from "./BunStream.js";
36
38
  */
37
39
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
38
40
  const scope = yield* Effect.scope;
41
+ let listenOptions = options;
42
+ if (!("unix" in options) || options.unix === undefined) {
43
+ const internetOptions = options;
44
+ const hostname = internetOptions.hostname ?? "0.0.0.0";
45
+ if (Result.isFailure(NetAddress.ipFromString(hostname))) {
46
+ const resolved = yield* Effect.tryPromise({
47
+ try: async () => {
48
+ const result = await Bun.dns.lookup(hostname, {
49
+ socketType: "tcp"
50
+ });
51
+ if (result.length === 0) throw new globalThis.Error(`Could not resolve hostname: ${hostname}`);
52
+ return result[0].address;
53
+ },
54
+ catch: cause => new Error.ServeError({
55
+ cause
56
+ })
57
+ });
58
+ listenOptions = {
59
+ ...options,
60
+ hostname: resolved
61
+ };
62
+ }
63
+ }
64
+ const {
65
+ compressionThreshold = MIN_COMPRESSIBLE_SIZE,
66
+ ...websocket
67
+ } = options.websocket ?? {};
39
68
  const handlerStack = [function (_request, _server) {
40
69
  return new Response("not found", {
41
70
  status: 404
42
71
  });
43
72
  }];
44
73
  const server = Bun.serve({
45
- ...options,
74
+ ...listenOptions,
46
75
  fetch: handlerStack[0],
47
76
  websocket: {
48
- ...options.websocket,
77
+ ...websocket,
49
78
  open(ws) {
50
79
  Deferred.doneUnsafe(ws.data.deferred, Exit.succeed(ws));
51
80
  },
@@ -54,12 +83,14 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
54
83
  },
55
84
  close(ws, code, closeReason) {
56
85
  code = typeof code === "number" ? code : 1001;
57
- Deferred.doneUnsafe(ws.data.closeDeferred, Socket.defaultCloseCodeIsError(code) ? Exit.fail(new Socket.SocketError({
86
+ const error = new Socket.SocketError({
58
87
  reason: new Socket.SocketCloseError({
59
88
  code,
60
89
  closeReason
61
90
  })
62
- })) : Exit.void);
91
+ });
92
+ ws.data.closeError = error;
93
+ ws.data.onClose(error);
63
94
  }
64
95
  }
65
96
  });
@@ -69,12 +100,11 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
69
100
  orElse: () => Effect.void
70
101
  });
71
102
  yield* Scope.addFinalizer(scope, shutdown);
103
+ const address = "unix" in options && options.unix !== undefined ? NetAddress.unixPathAddress(options.unix) : yield* Effect.fromResult(NetAddress.inetAddressFromIpString(server.hostname, server.port)).pipe(Effect.mapError(cause => new Error.ServeError({
104
+ cause
105
+ })));
72
106
  return Server.make({
73
- address: {
74
- _tag: "TcpAddress",
75
- port: server.port,
76
- hostname: server.hostname
77
- },
107
+ address,
78
108
  serve: Effect.fnUntraced(function* (httpApp, middleware) {
79
109
  const parent = yield* Effect.fiber;
80
110
  const services = parent.context;
@@ -86,7 +116,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
86
116
  }), middleware);
87
117
  function handler(request, server) {
88
118
  return new Promise((resolve, _reject) => {
89
- const context = Context.add(services, ServerRequest.HttpServerRequest, new BunServerRequest(request, resolve, removeHost(request.url), server));
119
+ const context = Context.add(services, ServerRequest.HttpServerRequest, new BunServerRequest(request, resolve, removeHost(request.url), server, compressionThreshold));
90
120
  const fiber = Fiber.runIn(Effect.runForkWith(context)(httpEffect), scope);
91
121
  request.signal.addEventListener("abort", () => {
92
122
  fiber.interruptUnsafe(parent.id, Error.ClientAbort.annotation);
@@ -99,17 +129,24 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
99
129
  const index = handlerStack.indexOf(handler);
100
130
  if (index !== -1) handlerStack.splice(index, 1);
101
131
  server.reload({
102
- fetch: handlerStack[handlerStack.length - 1]
132
+ fetch: handlerStack[handlerStack.length - 1],
133
+ ...(options.routes === undefined ? undefined : {
134
+ routes: options.routes
135
+ })
103
136
  });
104
137
  return handlerStack.length === 1 ? preemptiveShutdown : Effect.void;
105
138
  });
106
139
  handlerStack.push(handler);
107
140
  server.reload({
108
- fetch: handler
141
+ fetch: handler,
142
+ ...(options.routes === undefined ? undefined : {
143
+ routes: options.routes
144
+ })
109
145
  });
110
146
  })
111
147
  });
112
148
  });
149
+ const MIN_COMPRESSIBLE_SIZE = 1024;
113
150
  const makeResponse = (request, response, context, scope) => {
114
151
  const fields = {
115
152
  headers: new globalThis.Headers(response.headers),
@@ -134,6 +171,9 @@ const makeResponse = (request, response, context, scope) => {
134
171
  return new Response(undefined, fields);
135
172
  }
136
173
  case "Uint8Array":
174
+ {
175
+ return new Response(body.text ?? body.body, fields);
176
+ }
137
177
  case "Raw":
138
178
  {
139
179
  if (body.body instanceof Response) {
@@ -186,9 +226,10 @@ export const layer = options => Layer.mergeAll(layerServer(options), layerHttpSe
186
226
  */
187
227
  export const layerTest = /*#__PURE__*/Server.layerTestClient.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/FetchHttpClient.layer.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.succeed(FetchHttpClient.RequestInit)({
188
228
  keepalive: false
189
- })))), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/layer({
229
+ })))), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.orDie(/*#__PURE__*/layer({
230
+ hostname: "127.0.0.1",
190
231
  port: 0
191
- })));
232
+ }))));
192
233
  /**
193
234
  * Creates the Bun HTTP server and support-services layer from configurable serve options.
194
235
  *
@@ -206,9 +247,10 @@ class BunServerRequest extends Inspectable.Class {
206
247
  resolve;
207
248
  url;
208
249
  bunServer;
250
+ compressionThreshold;
209
251
  headersOverride;
210
252
  remoteAddressOverride;
211
- constructor(source, resolve, url, bunServer, headersOverride, remoteAddressOverride) {
253
+ constructor(source, resolve, url, bunServer, compressionThreshold, headersOverride, remoteAddressOverride) {
212
254
  super();
213
255
  this[ServerRequest.TypeId] = ServerRequest.TypeId;
214
256
  this[IncomingMessage.TypeId] = IncomingMessage.TypeId;
@@ -216,6 +258,7 @@ class BunServerRequest extends Inspectable.Class {
216
258
  this.resolve = resolve;
217
259
  this.url = url;
218
260
  this.bunServer = bunServer;
261
+ this.compressionThreshold = compressionThreshold;
219
262
  this.headersOverride = headersOverride;
220
263
  this.remoteAddressOverride = remoteAddressOverride;
221
264
  }
@@ -227,7 +270,7 @@ class BunServerRequest extends Inspectable.Class {
227
270
  });
228
271
  }
229
272
  modify(options) {
230
- return new BunServerRequest(this.source, this.resolve, options.url ?? this.url, this.bunServer, options.headers ?? this.headersOverride, "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride);
273
+ return new BunServerRequest(this.source, this.resolve, options.url ?? this.url, this.bunServer, this.compressionThreshold, options.headers ?? this.headersOverride, "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride);
231
274
  }
232
275
  get method() {
233
276
  return this.source.method.toUpperCase();
@@ -334,14 +377,14 @@ class BunServerRequest extends Inspectable.Class {
334
377
  get upgrade() {
335
378
  return Effect.callback(resume => {
336
379
  const deferred = Deferred.makeUnsafe();
337
- const closeDeferred = Deferred.makeUnsafe();
338
380
  const semaphore = Semaphore.makeUnsafe(1);
339
381
  const success = this.bunServer.upgrade(this.source, {
340
382
  data: {
341
383
  deferred,
342
- closeDeferred,
343
384
  buffer: [],
344
- run: wsDefaultRun
385
+ closeError: undefined,
386
+ run: wsDefaultRun,
387
+ onClose: constVoid
345
388
  }
346
389
  });
347
390
  if (!success) {
@@ -353,35 +396,102 @@ class BunServerRequest extends Inspectable.Class {
353
396
  })));
354
397
  return;
355
398
  }
399
+ const compressionThreshold = this.compressionThreshold;
356
400
  resume(Effect.map(Deferred.await(deferred), ws => {
357
401
  const write = chunk => Effect.sync(() => {
358
402
  if (typeof chunk === "string") {
359
- ws.sendText(chunk);
403
+ ws.sendText(chunk, chunk.length >= compressionThreshold);
360
404
  } else if (Socket.isCloseEvent(chunk)) {
361
405
  ws.close(chunk.code, chunk.reason);
362
406
  } else {
363
- ws.sendBinary(chunk);
407
+ ws.sendBinary(chunk, chunk.byteLength >= compressionThreshold);
364
408
  }
365
- return true;
366
409
  });
367
- const writer = Effect.succeed(write);
368
- const runRaw = Effect.fnUntraced(function* (handler, opts) {
369
- const set = yield* FiberSet.make();
370
- const run = yield* FiberSet.runtime(set)();
371
- function runRaw(data) {
372
- const result = handler(data);
373
- if (Effect.isEffect(result)) {
374
- run(result);
410
+ const writeAll = chunks => Effect.sync(() => {
411
+ for (let i = 0; i < chunks.length; i++) {
412
+ const chunk = chunks[i];
413
+ if (typeof chunk === "string") {
414
+ ws.sendText(chunk, chunk.length >= compressionThreshold);
415
+ } else {
416
+ ws.sendBinary(chunk, chunk.byteLength >= compressionThreshold);
375
417
  }
376
418
  }
377
- ws.data.run = runRaw;
378
- ws.data.buffer.forEach(runRaw);
379
- ws.data.buffer.length = 0;
380
- if (opts?.onOpen) yield* opts.onOpen;
381
- return yield* FiberSet.join(set);
382
- }, Effect.scoped, Effect.onExit(exit => Effect.sync(() => ws.close(exit._tag === "Success" ? 1000 : 1011))), Effect.raceFirst(Deferred.await(closeDeferred)), semaphore.withPermits(1));
419
+ });
420
+ const writer = Effect.succeed({
421
+ write,
422
+ writeAll
423
+ });
424
+ const reader = Effect.gen(function* () {
425
+ const dispatcher = (yield* Scheduler.Scheduler).makeDispatcher();
426
+ yield* Effect.acquireRelease(semaphore.take(1), () => semaphore.release(1));
427
+ const closeError = ws.data.closeError ?? (ws.readyState >= 2 ? new Socket.SocketError({
428
+ reason: new Socket.SocketCloseError({
429
+ code: 1006
430
+ })
431
+ }) : undefined);
432
+ if (closeError !== undefined && ws.data.buffer.length === 0) {
433
+ return yield* closeError;
434
+ }
435
+ const scope = yield* Effect.scope;
436
+ let buffer = ws.data.buffer.splice(0);
437
+ let error = closeError;
438
+ let waiter;
439
+ let flushScheduled = false;
440
+ function takeBuffer() {
441
+ const chunk = buffer;
442
+ buffer = [];
443
+ return chunk;
444
+ }
445
+ function deliver() {
446
+ flushScheduled = false;
447
+ if (waiter === undefined || buffer.length === 0) return;
448
+ const resumeRead = waiter;
449
+ waiter = undefined;
450
+ resumeRead(Effect.succeed(takeBuffer()));
451
+ }
452
+ function push(data) {
453
+ buffer.push(data);
454
+ if (waiter !== undefined && !flushScheduled) {
455
+ flushScheduled = true;
456
+ dispatcher.scheduleTask(deliver, 0);
457
+ }
458
+ }
459
+ function fail(err) {
460
+ if (error === undefined) error = err;
461
+ if (waiter !== undefined) {
462
+ const resumeRead = waiter;
463
+ waiter = undefined;
464
+ resumeRead(buffer.length > 0 ? Effect.succeed(takeBuffer()) : Effect.fail(error));
465
+ }
466
+ }
467
+ ws.data.run = push;
468
+ ws.data.onClose = fail;
469
+ yield* Scope.addFinalizer(scope, Effect.suspend(() => {
470
+ // resume a pull blocked in another fiber before detaching
471
+ fail(new Socket.SocketError({
472
+ reason: new Socket.SocketCloseError({
473
+ code: 1006
474
+ })
475
+ }));
476
+ ws.data.run = wsDefaultRun;
477
+ ws.data.onClose = constVoid;
478
+ ws.close(1000);
479
+ return Effect.void;
480
+ }));
481
+ return {
482
+ pull: Effect.callback(resumeRead => {
483
+ if (buffer.length > 0) return resumeRead(Effect.succeed(takeBuffer()));
484
+ if (error !== undefined) return resumeRead(Effect.fail(error));
485
+ waiter = resumeRead;
486
+ return Effect.sync(() => {
487
+ if (waiter === resumeRead) waiter = undefined;
488
+ });
489
+ }),
490
+ upgrade: Socket.SocketUpgradeError.unsupported
491
+ };
492
+ });
383
493
  return Socket.make({
384
- runRaw,
494
+ reader,
385
495
  writer
386
496
  });
387
497
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"BunHttpServer.js","names":[],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BunHttpServer.js","names":[],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @since 4.0.0
11
11
  */
12
- import { RedisClient, type RedisOptions } from "bun";
12
+ import type { RedisClient, RedisOptions } from "bun";
13
13
  import * as Config from "effect/Config";
14
14
  import * as Context from "effect/Context";
15
15
  import * as Effect from "effect/Effect";
@@ -1 +1 @@
1
- {"version":3,"file":"BunRedis.d.ts","sourceRoot":"","sources":["../src/BunRedis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;;qBASvC,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;;AARjG;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAqExC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,aACN,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;;;;;GAKG;AACH,eAAO,MAAM,WAAW,YACb,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;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;;qBASvC,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;;AARjG;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAsExC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,aACN,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;;;;;GAKG;AACH,eAAO,MAAM,WAAW,YACb,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
@@ -1,15 +1,3 @@
1
- /**
2
- * Bun Redis integration backed by Bun's built-in `RedisClient`.
3
- *
4
- * This module creates scoped Bun `RedisClient` connections and exposes them as
5
- * both the portable `Redis` service and the Bun-specific `BunRedis` service for
6
- * direct access to the raw client. The `layer` helper accepts Redis options
7
- * directly, while `layerConfig` reads them from Effect config. Both close the
8
- * underlying client when the layer scope finalizes.
9
- *
10
- * @since 4.0.0
11
- */
12
- import { RedisClient } from "bun";
13
1
  import * as Config from "effect/Config";
14
2
  import * as Context from "effect/Context";
15
3
  import * as Deferred from "effect/Deferred";
@@ -26,6 +14,9 @@ import * as Redis from "effect/unstable/persistence/Redis";
26
14
  */
27
15
  export class BunRedis extends /*#__PURE__*/Context.Service()("@effect/platform-bun/BunRedis") {}
28
16
  const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
17
+ const {
18
+ RedisClient
19
+ } = yield* Effect.promise(() => import("bun"));
29
20
  const scope = yield* Effect.scope;
30
21
  yield* Scope.addFinalizer(scope, Effect.sync(() => client.close()));
31
22
  const client = new RedisClient(options?.url, options);
@@ -1 +1 @@
1
- {"version":3,"file":"BunRedis.js","names":[],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BunRedis.js","names":[],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -26,15 +26,15 @@ export * from "@effect/platform-node-shared/NodeSocket";
26
26
  export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
27
27
  /**
28
28
  * Creates a `Socket.Socket` layer for a WebSocket URL using Bun's global
29
- * `WebSocket` constructor, honoring protocol, open-timeout, and close-code
30
- * error options.
29
+ * `WebSocket` constructor, honoring protocol, open-timeout, and
30
+ * high-water-mark options.
31
31
  *
32
32
  * @category layers
33
33
  * @since 4.0.0
34
34
  */
35
35
  export declare const layerWebSocket: (url: string | Effect<string>, options?: {
36
- readonly closeCodeIsError?: ((code: number) => boolean) | undefined;
37
36
  readonly openTimeout?: Duration.Input | undefined;
38
37
  readonly protocols?: string | Array<string> | undefined;
38
+ readonly highWaterMark?: number | undefined;
39
39
  } | undefined) => Layer.Layer<Socket.Socket, never, never>;
40
40
  //# sourceMappingURL=BunSocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAG5B,CAAA;AAED;;;;;;;GAOG;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"}
1
+ {"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAM5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE;IACR,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;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C,GAAG,SAAS,KACV,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAI3C,CAAA"}
package/dist/BunSocket.js CHANGED
@@ -12,11 +12,14 @@ export * from "@effect/platform-node-shared/NodeSocket";
12
12
  * @category layers
13
13
  * @since 4.0.0
14
14
  */
15
- export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, protocols) => new globalThis.WebSocket(url, protocols));
15
+ export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, options) =>
16
+ // Bun accepts `WebSocketOptions`, but `bun-types` selects the DOM overload
17
+ // when `lib.dom` is loaded and hides those constructor options.
18
+ new globalThis.WebSocket(url, options));
16
19
  /**
17
20
  * Creates a `Socket.Socket` layer for a WebSocket URL using Bun's global
18
- * `WebSocket` constructor, honoring protocol, open-timeout, and close-code
19
- * error options.
21
+ * `WebSocket` constructor, honoring protocol, open-timeout, and
22
+ * high-water-mark options.
20
23
  *
21
24
  * @category layers
22
25
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"BunSocket.js","names":[],"sources":["../src/BunSocket.ts"],"sourcesContent":[null],"mappings":"AAYA,SAAS,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAM,yBAAyB,gBAElC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAC5C,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAC7D;AAED;;;;;;;;AAQA,OAAO,MAAM,cAAc,gBAOqB,IAAI,CAClD,MAAM,CAAC,aAAa,eACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAC3B,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CACzC","ignoreList":[]}
1
+ {"version":3,"file":"BunSocket.js","names":[],"sources":["../src/BunSocket.ts"],"sourcesContent":[null],"mappings":"AAYA,SAAS,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAM,yBAAyB,gBAElC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAC5C,CAAC,GAAG,EAAE,OAAO;AACX;AACA;AACA,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,OAA6C,CAAC,CAC/E;AAED;;;;;;;;AAQA,OAAO,MAAM,cAAc,gBAOqB,IAAI,CAClD,MAAM,CAAC,aAAa,eACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAC3B,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CACzC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { LazyArg } from "effect/Function";
1
+ import { type LazyArg } from "effect/Function";
2
2
  import * as Stream from "effect/Stream";
3
3
  /**
4
4
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"BunStream.d.ts","sourceRoot":"","sources":["../src/BunStream.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,WAC5B;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,CA4Bf,CAAA"}
1
+ {"version":3,"file":"BunStream.d.ts","sourceRoot":"","sources":["../src/BunStream.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,WAC5B;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,CAqCf,CAAA"}
package/dist/BunStream.js CHANGED
@@ -13,6 +13,7 @@ import * as Arr from "effect/Array";
13
13
  import * as Cause from "effect/Cause";
14
14
  import * as Channel from "effect/Channel";
15
15
  import * as Effect from "effect/Effect";
16
+ import { constVoid } from "effect/Function";
16
17
  import * as Scope from "effect/Scope";
17
18
  import * as Stream from "effect/Stream";
18
19
  /**
@@ -28,9 +29,14 @@ export * from "@effect/platform-node-shared/NodeStream";
28
29
  */
29
30
  export const fromReadableStream = options => Stream.fromChannel(Channel.fromTransform(Effect.fnUntraced(function* (_, scope) {
30
31
  const reader = options.evaluate().getReader();
31
- yield* Scope.addFinalizer(scope, options.releaseLockOnEnd ? Effect.sync(() => reader.releaseLock()) : Effect.promise(() => reader.cancel()));
32
+ yield* Scope.addFinalizer(scope, options.releaseLockOnEnd ? Effect.sync(() => reader.releaseLock()) : Effect.promise(() => reader.cancel().catch(constVoid)));
32
33
  function readMany() {
33
- const result = reader.readMany();
34
+ let result;
35
+ try {
36
+ result = reader.readMany();
37
+ } catch (error) {
38
+ return Effect.fail(options.onError(error));
39
+ }
34
40
  if ("then" in result) {
35
41
  return Effect.callback(resume => {
36
42
  result.then(_ => resume(handleResult(_)), e => resume(Effect.fail(options.onError(e))));
@@ -1 +1 @@
1
- {"version":3,"file":"BunStream.js","names":[],"sources":["../src/BunStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,OAAO,KAAK,GAAG,MAAM,cAAc;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe;AAEvC;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAM,kBAAkB,GAC7B,OAIC,IAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAU,CAAC,EAAE,KAAK;EAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;EAC7C,OAAO,KAAK,CAAC,YAAY,CACvB,KAAK,EACL,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAC3G;EACD,SAAS,QAAQ;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE;IAChC,IAAI,MAAM,IAAI,MAAM,EAAE;MACpB,OAAO,MAAM,CAAC,QAAQ,CAAgD,MAAM,IAAI;QAC9E,MAAM,CAAC,IAAI,CAAE,CAAC,IAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7F,CAAC,CAAC;IACJ;IACA,OAAO,YAAY,CAAC,MAAM,CAAC;EAC7B;EACA,SAAS,YAAY,CACnB,MAAkD;IAElD,IAAI,MAAM,CAAC,IAAI,EAAE;MACf,OAAO,KAAK,CAAC,IAAI,EAAE;IACrB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;MACrD,OAAO,QAAQ,EAAE;IACnB;IACA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;EACrC;EACA;EACA,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"BunStream.js","names":[],"sources":["../src/BunStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,OAAO,KAAK,GAAG,MAAM,cAAc;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,SAAS,SAAS,QAAsB,iBAAiB;AAEzD,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe;AAEvC;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAM,kBAAkB,GAC7B,OAIC,IAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAU,CAAC,EAAE,KAAK;EAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;EAC7C,OAAO,KAAK,CAAC,YAAY,CACvB,KAAK,EACL,OAAO,CAAC,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,GACvC,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC3D;EACD,SAAS,QAAQ;IACf,IAAI,MAEmD;IACvD,IAAI;MACF,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE;IAC5B,CAAC,CAAC,OAAO,KAAK,EAAE;MACd,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C;IACA,IAAI,MAAM,IAAI,MAAM,EAAE;MACpB,OAAO,MAAM,CAAC,QAAQ,CAAgD,MAAM,IAAI;QAC9E,MAAM,CAAC,IAAI,CAAE,CAAC,IAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7F,CAAC,CAAC;IACJ;IACA,OAAO,YAAY,CAAC,MAAM,CAAC;EAC7B;EACA,SAAS,YAAY,CACnB,MAAkD;IAElD,IAAI,MAAM,CAAC,IAAI,EAAE;MACf,OAAO,KAAK,CAAC,IAAI,EAAE;IACrB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;MACrD,OAAO,QAAQ,EAAE;IACnB;IACA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;EACrC;EACA;EACA,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC","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-rc.111",
4
+ "version": "4.0.0-rc.113",
5
5
  "license": "MIT",
6
6
  "description": "Platform specific implementations for the Bun runtime",
7
7
  "homepage": "https://effect.website",
@@ -49,14 +49,14 @@
49
49
  "provenance": true
50
50
  },
51
51
  "peerDependencies": {
52
- "effect": "^4.0.0-rc.111"
52
+ "effect": "^4.0.0-rc.113"
53
53
  },
54
54
  "dependencies": {
55
- "@effect/platform-node-shared": "^4.0.0-rc.111"
55
+ "@effect/platform-node-shared": "^4.0.0-rc.113"
56
56
  },
57
57
  "devDependencies": {
58
- "@types/bun": "^1.3.14",
59
- "effect": "^4.0.0-rc.111"
58
+ "@types/bun": "^1.4.1",
59
+ "effect": "^4.0.0-rc.113"
60
60
  },
61
61
  "scripts": {
62
62
  "codegen": "effect-utils codegen",
@@ -78,7 +78,7 @@ export const layerHttpServer: Layer.Layer<
78
78
  *
79
79
  * **Details**
80
80
  *
81
- * `serialization` defaults to MessagePack, `runnerHealth` defaults to ping
81
+ * `serialization` defaults to SchemaBinary, `runnerHealth` defaults to ping
82
82
  * checks, SQL-backed storage is used by default, and `shardingConfig` is
83
83
  * overlaid on environment-loaded sharding configuration. `local` storage uses
84
84
  * no-op message storage plus in-memory runner storage, while `byo` leaves both
@@ -102,7 +102,7 @@ export const layer = <
102
102
  const Storage extends "local" | "sql" | "byo" = never
103
103
  >(options: {
104
104
  readonly transport: "http" | "websocket"
105
- readonly serialization?: "msgpack" | "ndjson" | undefined
105
+ readonly serialization?: "binary" | "ndjson" | undefined
106
106
  readonly serializationMaxBufferSize?: number | "unbounded" | undefined
107
107
  readonly clientOnly?: ClientOnly | undefined
108
108
  readonly storage?: Storage | undefined
@@ -172,7 +172,7 @@ export const layer = <
172
172
  Layer.provide(
173
173
  options?.serialization === "ndjson"
174
174
  ? RpcSerialization.layerNdjsonWith({ maxBufferSize: options.serializationMaxBufferSize })
175
- : RpcSerialization.layerMsgPackWith({ maxBufferSize: options.serializationMaxBufferSize })
175
+ : RpcSerialization.layerSchemaBinary({ maxFrameSize: options.serializationMaxBufferSize })
176
176
  )
177
177
  ) as any
178
178
  }