@effect/platform-bun 4.0.2 → 4.0.4

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 (44) hide show
  1. package/AGENTS.md +24 -0
  2. package/CLAUDE.md +24 -0
  3. package/ai-docs/package.json +2 -2
  4. package/ai-docs/src/52_graphql/10_basics.ts +111 -0
  5. package/ai-docs/src/52_graphql/20_testing.ts +45 -0
  6. package/ai-docs/src/52_graphql/30_batching.ts +116 -0
  7. package/ai-docs/src/52_graphql/40_aliased-batching.ts +122 -0
  8. package/ai-docs/src/52_graphql/50_errors-and-retries.ts +74 -0
  9. package/ai-docs/src/52_graphql/index.md +6 -0
  10. package/dist/BunAddressResolver.d.ts +15 -0
  11. package/dist/BunAddressResolver.d.ts.map +1 -0
  12. package/dist/BunAddressResolver.js +15 -0
  13. package/dist/BunAddressResolver.js.map +1 -0
  14. package/dist/BunDatagramSocket.d.ts +227 -0
  15. package/dist/BunDatagramSocket.d.ts.map +1 -0
  16. package/dist/BunDatagramSocket.js +502 -0
  17. package/dist/BunDatagramSocket.js.map +1 -0
  18. package/dist/BunDns.d.ts +72 -0
  19. package/dist/BunDns.d.ts.map +1 -0
  20. package/dist/BunDns.js +66 -0
  21. package/dist/BunDns.js.map +1 -0
  22. package/dist/BunSocket.d.ts +4 -2
  23. package/dist/BunSocket.d.ts.map +1 -1
  24. package/dist/BunSocket.js +16 -6
  25. package/dist/BunSocket.js.map +1 -1
  26. package/dist/BunTerminal.d.ts +4 -3
  27. package/dist/BunTerminal.d.ts.map +1 -1
  28. package/dist/BunTerminal.js +4 -3
  29. package/dist/BunTerminal.js.map +1 -1
  30. package/dist/BunWorkerRunner.d.ts.map +1 -1
  31. package/dist/BunWorkerRunner.js +0 -1
  32. package/dist/BunWorkerRunner.js.map +1 -1
  33. package/dist/index.d.ts +15 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +15 -0
  36. package/dist/index.js.map +1 -1
  37. package/package.json +7 -5
  38. package/src/BunAddressResolver.ts +15 -0
  39. package/src/BunDatagramSocket.ts +666 -0
  40. package/src/BunDns.ts +82 -0
  41. package/src/BunSocket.ts +25 -6
  42. package/src/BunTerminal.ts +4 -3
  43. package/src/BunWorkerRunner.ts +0 -1
  44. package/src/index.ts +18 -0
@@ -19,7 +19,8 @@ import * as Socket from "effect/socket/Socket";
19
19
  export * from "@effect/platform-node-shared/NodeSocket";
20
20
  /**
21
21
  * Provides a `Socket.WebSocketConstructor` backed by Bun's global
22
- * `WebSocket` implementation.
22
+ * `WebSocket` implementation, supporting handshake headers and subprotocols
23
+ * together in client options objects.
23
24
  *
24
25
  * @stability unstable
25
26
  * @category layers
@@ -28,7 +29,7 @@ export * from "@effect/platform-node-shared/NodeSocket";
28
29
  export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
29
30
  /**
30
31
  * Creates a `Socket.Socket` layer for a WebSocket URL using Bun's global
31
- * `WebSocket` constructor, honoring protocol, open-timeout, and
32
+ * `WebSocket` constructor, honoring protocol, handshake-header, open-timeout, and
32
33
  * high-water-mark options.
33
34
  *
34
35
  * @stability unstable
@@ -38,6 +39,7 @@ export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketCons
38
39
  export declare const layerWebSocket: (url: string | Effect<string>, options?: {
39
40
  readonly openTimeout?: Duration.Input | undefined;
40
41
  readonly protocols?: string | Array<string> | undefined;
42
+ readonly headers?: Readonly<Record<string, string>> | undefined;
41
43
  readonly highWaterMark?: number | undefined;
42
44
  } | undefined) => Layer.Layer<Socket.Socket, never, never>;
43
45
  //# sourceMappingURL=BunSocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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,sBAAsB,CAAA;AAE9C;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAM5B,CAAA;AAED;;;;;;;;GAQG;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"}
1
+ {"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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,sBAAsB,CAAA;AAE9C;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAuB5B,CAAA;AAED;;;;;;;;GAQG;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,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/D,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
@@ -7,19 +7,29 @@ import * as Socket from "effect/socket/Socket";
7
7
  export * from "@effect/platform-node-shared/NodeSocket";
8
8
  /**
9
9
  * Provides a `Socket.WebSocketConstructor` backed by Bun's global
10
- * `WebSocket` implementation.
10
+ * `WebSocket` implementation, supporting handshake headers and subprotocols
11
+ * together in client options objects.
11
12
  *
12
13
  * @stability unstable
13
14
  * @category layers
14
15
  * @since 4.0.0
15
16
  */
16
- export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, options) =>
17
- // Bun accepts `WebSocketOptions`, but `bun-types` selects the DOM overload
18
- // when `lib.dom` is loaded and hides those constructor options.
19
- new globalThis.WebSocket(url, options));
17
+ export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, options) => {
18
+ if (options === undefined || typeof options === "string" || Array.isArray(options)) {
19
+ return new globalThis.WebSocket(url, options);
20
+ }
21
+ // Bun accepts `WebSocketOptions`, but `bun-types` selects the DOM
22
+ // overload when `lib.dom` is loaded and hides those constructor options.
23
+ const WebSocket = globalThis.WebSocket;
24
+ return new WebSocket(url, {
25
+ // Bun requires a sequence for `protocols` in its options object.
26
+ protocols: typeof options.protocols === "string" ? [options.protocols] : options.protocols,
27
+ headers: options.headers
28
+ });
29
+ });
20
30
  /**
21
31
  * Creates a `Socket.Socket` layer for a WebSocket URL using Bun's global
22
- * `WebSocket` constructor, honoring protocol, open-timeout, and
32
+ * `WebSocket` constructor, honoring protocol, handshake-header, open-timeout, and
23
33
  * high-water-mark options.
24
34
  *
25
35
  * @stability unstable
@@ -1 +1 @@
1
- {"version":3,"file":"BunSocket.js","names":[],"sources":["../src/BunSocket.ts"],"sourcesContent":[null],"mappings":"AAaA,SAAS,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,sBAAsB;AAE9C;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;;AAQA,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;;;;;;;;;AASA,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":"AAaA,SAAS,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,sBAAsB;AAE9C;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;;;AASA,OAAO,MAAM,yBAAyB,gBAElC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAC5C,CAAC,GAAG,EAAE,OAAO,KAAI;EACf,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAClF,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;EAC/C;EACA;EACA;EACA,MAAM,SAAS,GAAG,UAAU,CAAC,SAQ5B;EACD,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE;IACxB;IACA,SAAS,EAAE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS;IAC1F,OAAO,EAAE,OAAO,CAAC;GAClB,CAAC;AACJ,CAAC,CACF;AAED;;;;;;;;;AASA,OAAO,MAAM,cAAc,gBAQqB,IAAI,CAClD,MAAM,CAAC,aAAa,eACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAC3B,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CACzC","ignoreList":[]}
@@ -3,8 +3,9 @@ import type { Layer } from "effect/Layer";
3
3
  import type { Scope } from "effect/Scope";
4
4
  import type { Terminal, UserInput } from "effect/Terminal";
5
5
  /**
6
- * Creates a scoped `Terminal` service backed by process stdin/stdout, using the
7
- * optional predicate to decide when key input should end the input stream.
6
+ * Creates a scoped `Terminal` service backed by process stdin/stdout.
7
+ * By default, Esc, Ctrl+C, and Ctrl+D end key input. Supply `shouldQuit` to
8
+ * override these quit keys.
8
9
  *
9
10
  * @stability unstable
10
11
  * @category constructors
@@ -13,7 +14,7 @@ import type { Terminal, UserInput } from "effect/Terminal";
13
14
  export declare const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope>;
14
15
  /**
15
16
  * Provides the default process-backed `Terminal` service, ending key input on
16
- * the default quit keys.
17
+ * bare Esc, Ctrl+C, or Ctrl+D.
17
18
  *
18
19
  * @stability unstable
19
20
  * @category layers
@@ -1 +1 @@
1
- {"version":3,"file":"BunTerminal.d.ts","sourceRoot":"","sources":["../src/BunTerminal.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"}
1
+ {"version":3,"file":"BunTerminal.d.ts","sourceRoot":"","sources":["../src/BunTerminal.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"}
@@ -10,8 +10,9 @@
10
10
  */
11
11
  import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal";
12
12
  /**
13
- * Creates a scoped `Terminal` service backed by process stdin/stdout, using the
14
- * optional predicate to decide when key input should end the input stream.
13
+ * Creates a scoped `Terminal` service backed by process stdin/stdout.
14
+ * By default, Esc, Ctrl+C, and Ctrl+D end key input. Supply `shouldQuit` to
15
+ * override these quit keys.
15
16
  *
16
17
  * @stability unstable
17
18
  * @category constructors
@@ -20,7 +21,7 @@ import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal";
20
21
  export const make = NodeTerminal.make;
21
22
  /**
22
23
  * Provides the default process-backed `Terminal` service, ending key input on
23
- * the default quit keys.
24
+ * bare Esc, Ctrl+C, or Ctrl+D.
24
25
  *
25
26
  * @stability unstable
26
27
  * @category layers
@@ -1 +1 @@
1
- {"version":3,"file":"BunTerminal.js","names":[],"sources":["../src/BunTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,YAAY,MAAM,2CAA2C;AAMzE;;;;;;;;AAQA,OAAO,MAAM,IAAI,GAAmF,YAAY,CAAC,IAAI;AAErH;;;;;;;;AAQA,OAAO,MAAM,KAAK,GAAoB,YAAY,CAAC,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"BunTerminal.js","names":[],"sources":["../src/BunTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,YAAY,MAAM,2CAA2C;AAMzE;;;;;;;;;AASA,OAAO,MAAM,IAAI,GAAmF,YAAY,CAAC,IAAI;AAErH;;;;;;;;AAQA,OAAO,MAAM,KAAK,GAAoB,YAAY,CAAC,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BunWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BunWorkerRunner.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAI3D;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAqE/D,CAAA"}
1
+ {"version":3,"file":"BunWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BunWorkerRunner.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAI3D;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAoE/D,CAAA"}
@@ -59,7 +59,6 @@ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatfor
59
59
  trackFiber(fiber);
60
60
  }
61
61
  } else {
62
- port.close();
63
62
  Deferred.doneUnsafe(closeLatch, Exit.void);
64
63
  }
65
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BunWorkerRunner.js","names":[],"sources":["../src/BunWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BunWorkerRunner.js","names":[],"sources":["../src/BunWorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,QAAQ,4BAA4B;AAC9F,OAAO,KAAK,YAAY,MAAM,6BAA6B;AAI3D;;;;;;;;;AASA,OAAO,MAAM,KAAK,gBAAmD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;EACpH,KAAK,eAAE,MAAM,CAAC,UAAU,CAAC,aAAS;IAChC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,EAAE;MAC5B,OAAO,OAAO,IAAI,WAAW,CAAC;QAC5B,MAAM,EAAE,IAAI,gBAAgB,CAAC;UAAE,OAAO,EAAE;QAAyB,CAAE;OACpE,CAAC;IACJ;IACA,MAAM,IAAI,GAAG,IAAI;IACjB,MAAM,GAAG,GACP,OAAsE,IAEtE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,WAAU,KAAK;MACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAqB;MAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;MACrC,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,OAAO,EAAK;MAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;MAC5C,MAAM,MAAM,GAAI,IAAuB,IAAI;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;UACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE;MACF,CAAC;MAED,SAAS,SAAS,CAAC,KAAmB;QACpC,MAAM,OAAO,GAAI,KAAsB,CAAC,IAAuC;QAC/E,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;UACpB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;UACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YACzB,UAAU,CAAC,KAAK,CAAC;UACnB;QACF,CAAC,MAAM;UACL,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;QAC5C;MACF;MACA,SAAS,cAAc,CAAC,KAAmB;QACzC,QAAQ,CAAC,UAAU,CACjB,UAAU,EACV,IAAI,WAAW,CAAC;UACd,MAAM,EAAE,IAAI,kBAAkB,CAAC;YAC7B,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,KAAK,CAAC;WACd;SACF,CAAC,CACH;MACH;MACA,OAAO,KAAK,CAAC,YAAY,CACvB,KAAK,EACL,MAAM,CAAC,IAAI,CAAC,MAAK;QACf,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC;MAC1D,CAAC,CAAC,CACH;MACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;MAC3C,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC;MACrD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;MAErB,OAAO,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,OAAU,EAAE,QAAiC,KAChF,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;MAC7B,QAAQ,EAAE;KACX,CAAC;IACJ,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,OAAU,EAAE,QAAiC,KAC1E,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAsC;MAAE,GAAG;MAAE,IAAI;MAAE;IAAU,CAAE,CAAC;EACjF,CAAC;CACF,CAAC","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,11 @@
2
2
  * @stability unstable
3
3
  * @since 4.0.0
4
4
  */
5
+ /**
6
+ * @stability experimental
7
+ * @since 4.0.0
8
+ */
9
+ export * as BunAddressResolver from "./BunAddressResolver.ts";
5
10
  /**
6
11
  * @stability unstable
7
12
  * @since 4.0.0
@@ -22,6 +27,16 @@ export * as BunClusterSocket from "./BunClusterSocket.ts";
22
27
  * @since 1.0.0
23
28
  */
24
29
  export * as BunCrypto from "./BunCrypto.ts";
30
+ /**
31
+ * @stability experimental
32
+ * @since 4.0.0
33
+ */
34
+ export * as BunDatagramSocket from "./BunDatagramSocket.ts";
35
+ /**
36
+ * @stability experimental
37
+ * @since 4.0.0
38
+ */
39
+ export * as BunDns from "./BunDns.ts";
25
40
  /**
26
41
  * @stability unstable
27
42
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AAErE;;;GAGG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AAEjE;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;GAGG;AACH,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AAErE;;;GAGG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;GAGG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AAEjE;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -3,6 +3,11 @@
3
3
  * @since 4.0.0
4
4
  */
5
5
  // @barrel: Auto-generated exports. Do not edit manually.
6
+ /**
7
+ * @stability experimental
8
+ * @since 4.0.0
9
+ */
10
+ export * as BunAddressResolver from "./BunAddressResolver.js";
6
11
  /**
7
12
  * @stability unstable
8
13
  * @since 4.0.0
@@ -23,6 +28,16 @@ export * as BunClusterSocket from "./BunClusterSocket.js";
23
28
  * @since 1.0.0
24
29
  */
25
30
  export * as BunCrypto from "./BunCrypto.js";
31
+ /**
32
+ * @stability experimental
33
+ * @since 4.0.0
34
+ */
35
+ export * as BunDatagramSocket from "./BunDatagramSocket.js";
36
+ /**
37
+ * @stability experimental
38
+ * @since 4.0.0
39
+ */
40
+ export * as BunDns from "./BunDns.js";
26
41
  /**
27
42
  * @stability unstable
28
43
  * @since 4.0.0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA;AAEA;;;;AAIA,OAAO,KAAK,sBAAsB,MAAM,6BAA6B;AAErE;;;;AAIA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;;AAIA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,oBAAoB,MAAM,2BAA2B;AAEjE;;;;AAIA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;;AAIA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;;AAIA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;;AAIA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;;AAIA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;;AAIA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA;AAEA;;;;AAIA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB;AAE7D;;;;AAIA,OAAO,KAAK,sBAAsB,MAAM,6BAA6B;AAErE;;;;AAIA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;;AAIA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;;AAIA,OAAO,KAAK,MAAM,MAAM,aAAa;AAErC;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;;AAIA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,KAAK,oBAAoB,MAAM,2BAA2B;AAEjE;;;;AAIA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;;AAIA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;;AAIA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;;AAIA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;;AAIA,OAAO,KAAK,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;;AAIA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;;AAIA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAO,KAAK,eAAe,MAAM,sBAAsB","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.2",
4
+ "version": "4.0.4",
5
5
  "license": "MIT",
6
6
  "description": "Platform specific implementations for the Bun runtime",
7
7
  "homepage": "https://effect.website",
@@ -49,19 +49,21 @@
49
49
  "provenance": true
50
50
  },
51
51
  "peerDependencies": {
52
- "effect": "^4.0.2"
52
+ "effect": "^4.0.4"
53
53
  },
54
54
  "dependencies": {
55
- "@effect/platform-node-shared": "^4.0.2"
55
+ "@effect/platform-node-shared": "^4.0.4"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/bun": "^1.4.2",
59
- "effect": "^4.0.2"
59
+ "tinybench": "^6.2.1",
60
+ "effect": "^4.0.4"
60
61
  },
61
62
  "scripts": {
62
63
  "codegen": "effect-utils codegen",
63
64
  "build": "tsc -b tsconfig.json && pnpm babel",
64
65
  "babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
65
- "check": "tsc -b tsconfig.json"
66
+ "check": "tsc -b tsconfig.json",
67
+ "benchmark:datagram": "bun benchmark/DatagramSocket.ts"
66
68
  }
67
69
  }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Bun implementation of Effect's `AddressResolver` service.
3
+ *
4
+ * IPv6 literals with a named zone such as `fe80::1%eth0` get their scope ID
5
+ * from `os.networkInterfaces()`, listed each time a named zone is resolved.
6
+ *
7
+ * @stability experimental
8
+ * @since 4.0.0
9
+ */
10
+
11
+ /**
12
+ * @stability experimental
13
+ * @since 4.0.0
14
+ */
15
+ export * from "@effect/platform-node-shared/NodeAddressResolver"