@effect/platform-bun 0.49.32 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,15 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _NodeMultipart = require("@effect/platform-node-shared/NodeMultipart");
7
- Object.keys(_NodeMultipart).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _NodeMultipart[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _NodeMultipart[key];
14
- }
15
- });
16
- });
6
+ exports.stream = exports.persisted = void 0;
7
+ var internal = _interopRequireWildcard(require("./internal/multipart.js"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ /**
11
+ * @since 1.0.0
12
+ * @category constructors
13
+ */
14
+ const stream = exports.stream = internal.stream;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category constructors
18
+ */
19
+ const persisted = exports.persisted = internal.persisted;
17
20
  //# sourceMappingURL=BunMultipart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BunMultipart.js","names":["_NodeMultipart","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":";;;;;AAOA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"BunMultipart.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","stream","exports","persisted"],"sources":["../../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEnD;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAiFvB,QAAQ,CAACuB,MAAM;AAEnH;;;;AAIO,MAAME,SAAS,GAAAD,OAAA,CAAAC,SAAA,GAGpBzB,QAAQ,CAACyB,SAAS","ignoreList":[]}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.requestSource = exports.make = exports.layerTest = exports.layerServer = exports.layerContext = exports.layerConfig = exports.layer = void 0;
7
- var MultipartNode = _interopRequireWildcard(require("@effect/platform-node-shared/NodeMultipart"));
8
7
  var Cookies = _interopRequireWildcard(require("@effect/platform/Cookies"));
9
8
  var Etag = _interopRequireWildcard(require("@effect/platform/Etag"));
10
9
  var FetchHttpClient = _interopRequireWildcard(require("@effect/platform/FetchHttpClient"));
@@ -25,9 +24,9 @@ var Inspectable = _interopRequireWildcard(require("effect/Inspectable"));
25
24
  var Layer = _interopRequireWildcard(require("effect/Layer"));
26
25
  var Option = _interopRequireWildcard(require("effect/Option"));
27
26
  var Stream = _interopRequireWildcard(require("effect/Stream"));
28
- var _nodeStream = require("node:stream");
29
27
  var BunContext = _interopRequireWildcard(require("../BunContext.js"));
30
28
  var Platform = _interopRequireWildcard(require("../BunHttpPlatform.js"));
29
+ var MultipartBun = _interopRequireWildcard(require("./multipart.js"));
31
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
32
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
33
32
  /** @internal */
@@ -257,11 +256,11 @@ class ServerRequestImpl extends Inspectable.Class {
257
256
  if (this.multipartEffect) {
258
257
  return this.multipartEffect;
259
258
  }
260
- this.multipartEffect = Effect.runSync(Effect.cached(MultipartNode.persisted(_nodeStream.Readable.fromWeb(this.source.body), this.headers)));
259
+ this.multipartEffect = Effect.runSync(Effect.cached(MultipartBun.persisted(this.source)));
261
260
  return this.multipartEffect;
262
261
  }
263
262
  get multipartStream() {
264
- return MultipartNode.stream(_nodeStream.Readable.fromWeb(this.source.body), this.headers);
263
+ return MultipartBun.stream(this.source);
265
264
  }
266
265
  arrayBufferEffect;
267
266
  get arrayBuffer() {
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","names":["MultipartNode","_interopRequireWildcard","require","Cookies","Etag","FetchHttpClient","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","Inspectable","Layer","Option","Stream","_nodeStream","BunContext","Platform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","options","gen","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","runFork","makeRuntime","runtime","app","toHandled","request","response","resolve","makeResponse","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","acquireRelease","push","reload","pop","length","exports","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layerContext","mergeAll","layer","layerWeak","layerTest","layerTestClient","pipe","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","unwrap","wsDefaultRun","_","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","Readable","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","async","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","result","isEffect","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpServer.js","names":["Cookies","_interopRequireWildcard","require","Etag","FetchHttpClient","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","Inspectable","Layer","Option","Stream","BunContext","Platform","MultipartBun","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","options","gen","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","runFork","makeRuntime","runtime","app","toHandled","request","response","resolve","makeResponse","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","acquireRelease","push","reload","pop","length","exports","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layerContext","mergeAll","layer","layerWeak","layerTest","layerTestClient","pipe","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","unwrap","wsDefaultRun","_","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","async","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","result","isEffect","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.stream = exports.persisted = void 0;
7
+ var Multipart = _interopRequireWildcard(require("@effect/platform/Multipart"));
8
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
9
+ var _Function = require("effect/Function");
10
+ var Inspectable = _interopRequireWildcard(require("effect/Inspectable"));
11
+ var Stream = _interopRequireWildcard(require("effect/Stream"));
12
+ var _multipasta = require("multipasta");
13
+ var MP = _interopRequireWildcard(require("multipasta/web"));
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ /** @internal */
17
+ const stream = source => (0, _Function.pipe)(Multipart.makeConfig({}), Effect.map(config => {
18
+ const parser = MP.make({
19
+ ...config,
20
+ headers: source.headers
21
+ });
22
+ return Stream.fromReadableStream(() => source.body.pipeThrough(parser), cause => convertError(cause));
23
+ }), Stream.unwrap, Stream.map(convertPart));
24
+ /** @internal */
25
+ exports.stream = stream;
26
+ const persisted = source => Multipart.toPersisted(stream(source), (path, file) => Effect.tryPromise({
27
+ try: async () => {
28
+ const fileImpl = file;
29
+ const writer = Bun.file(path).writer();
30
+ const reader = fileImpl.file.readable.getReader();
31
+ try {
32
+ while (true) {
33
+ const {
34
+ done,
35
+ value
36
+ } = await reader.readMany();
37
+ if (done) break;
38
+ for (const chunk of value) {
39
+ writer.write(chunk);
40
+ }
41
+ await writer.flush();
42
+ }
43
+ } finally {
44
+ reader.cancel();
45
+ await writer.end();
46
+ }
47
+ },
48
+ catch: cause => new Multipart.MultipartError({
49
+ reason: "InternalError",
50
+ cause
51
+ })
52
+ }));
53
+ exports.persisted = persisted;
54
+ const convertPart = part => part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part);
55
+ class PartBase extends Inspectable.Class {
56
+ [Multipart.TypeId];
57
+ constructor() {
58
+ super();
59
+ this[Multipart.TypeId] = Multipart.TypeId;
60
+ }
61
+ }
62
+ class FieldImpl extends PartBase {
63
+ _tag = "Field";
64
+ key;
65
+ contentType;
66
+ value;
67
+ constructor(info, value) {
68
+ super();
69
+ this.key = info.name;
70
+ this.contentType = info.contentType;
71
+ this.value = (0, _multipasta.decodeField)(info, value);
72
+ }
73
+ toJSON() {
74
+ return {
75
+ _id: "@effect/platform/Multipart/Part",
76
+ _tag: "Field",
77
+ key: this.key,
78
+ value: this.value,
79
+ contentType: this.contentType
80
+ };
81
+ }
82
+ }
83
+ class FileImpl extends PartBase {
84
+ file;
85
+ _tag = "File";
86
+ key;
87
+ name;
88
+ contentType;
89
+ content;
90
+ constructor(file) {
91
+ super();
92
+ this.file = file;
93
+ this.key = file.info.name;
94
+ this.name = file.info.filename ?? file.info.name;
95
+ this.contentType = file.info.contentType;
96
+ this.content = Stream.fromReadableStream(() => file.readable, cause => new Multipart.MultipartError({
97
+ reason: "InternalError",
98
+ cause
99
+ }));
100
+ }
101
+ toJSON() {
102
+ return {
103
+ _id: "@effect/platform/Multipart/Part",
104
+ _tag: "File",
105
+ key: this.key,
106
+ name: this.name,
107
+ contentType: this.contentType
108
+ };
109
+ }
110
+ }
111
+ function convertError(cause) {
112
+ switch (cause._tag) {
113
+ case "ReachedLimit":
114
+ {
115
+ switch (cause.limit) {
116
+ case "MaxParts":
117
+ {
118
+ return new Multipart.MultipartError({
119
+ reason: "TooManyParts",
120
+ cause
121
+ });
122
+ }
123
+ case "MaxFieldSize":
124
+ {
125
+ return new Multipart.MultipartError({
126
+ reason: "FieldTooLarge",
127
+ cause
128
+ });
129
+ }
130
+ case "MaxPartSize":
131
+ {
132
+ return new Multipart.MultipartError({
133
+ reason: "FileTooLarge",
134
+ cause
135
+ });
136
+ }
137
+ case "MaxTotalSize":
138
+ {
139
+ return new Multipart.MultipartError({
140
+ reason: "BodyTooLarge",
141
+ cause
142
+ });
143
+ }
144
+ }
145
+ }
146
+ default:
147
+ {
148
+ return new Multipart.MultipartError({
149
+ reason: "Parse",
150
+ cause
151
+ });
152
+ }
153
+ }
154
+ }
155
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","names":["Multipart","_interopRequireWildcard","require","Effect","_Function","Inspectable","Stream","_multipasta","MP","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","stream","source","pipe","makeConfig","map","config","parser","make","headers","fromReadableStream","body","pipeThrough","cause","convertError","unwrap","convertPart","exports","persisted","toPersisted","path","file","tryPromise","try","fileImpl","writer","Bun","reader","readable","getReader","done","value","readMany","chunk","write","flush","cancel","end","catch","MultipartError","reason","part","_tag","FieldImpl","info","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","filename","limit"],"sources":["../../../src/internal/multipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,20 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import type * as FileSystem from "@effect/platform/FileSystem";
5
+ import type * as Multipart from "@effect/platform/Multipart";
6
+ import type * as Path from "@effect/platform/Path";
7
+ import type * as Effect from "effect/Effect";
8
+ import type * as Scope from "effect/Scope";
9
+ import type * as Stream from "effect/Stream";
4
10
  /**
5
11
  * @since 1.0.0
12
+ * @category constructors
6
13
  */
7
- export * from "@effect/platform-node-shared/NodeMultipart";
14
+ export declare const stream: (source: Request) => Stream.Stream<Multipart.Part, Multipart.MultipartError>;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category constructors
18
+ */
19
+ export declare const persisted: (source: Request) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, FileSystem.FileSystem | Path.Path | Scope.Scope>;
8
20
  //# sourceMappingURL=BunMultipart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BunMultipart.d.ts","sourceRoot":"","sources":["../../src/BunMultipart.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,4CAA4C,CAAA"}
1
+ {"version":3,"file":"BunMultipart.d.ts","sourceRoot":"","sources":["../../src/BunMultipart.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAG5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAmB,CAAA;AAEnH;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,CACtB,MAAM,EAAE,OAAO,KACZ,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAC7F,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.d.ts","sourceRoot":"","sources":["../../../src/internal/multipart.ts"],"names":[],"mappings":""}
@@ -1,8 +1,12 @@
1
+ import * as internal from "./internal/multipart.js";
1
2
  /**
2
3
  * @since 1.0.0
4
+ * @category constructors
3
5
  */
6
+ export const stream = internal.stream;
4
7
  /**
5
8
  * @since 1.0.0
9
+ * @category constructors
6
10
  */
7
- export * from "@effect/platform-node-shared/NodeMultipart";
11
+ export const persisted = internal.persisted;
8
12
  //# sourceMappingURL=BunMultipart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BunMultipart.js","names":[],"sources":["../../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,4CAA4C","ignoreList":[]}
1
+ {"version":3,"file":"BunMultipart.js","names":["internal","stream","persisted"],"sources":["../../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,yBAAyB;AAEnD;;;;AAIA,OAAO,MAAMC,MAAM,GAAiFD,QAAQ,CAACC,MAAM;AAEnH;;;;AAIA,OAAO,MAAMC,SAAS,GAGpBF,QAAQ,CAACE,SAAS","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import * as MultipartNode from "@effect/platform-node-shared/NodeMultipart";
2
1
  import * as Cookies from "@effect/platform/Cookies";
3
2
  import * as Etag from "@effect/platform/Etag";
4
3
  import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
@@ -19,9 +18,9 @@ import * as Inspectable from "effect/Inspectable";
19
18
  import * as Layer from "effect/Layer";
20
19
  import * as Option from "effect/Option";
21
20
  import * as Stream from "effect/Stream";
22
- import { Readable } from "node:stream";
23
21
  import * as BunContext from "../BunContext.js";
24
22
  import * as Platform from "../BunHttpPlatform.js";
23
+ import * as MultipartBun from "./multipart.js";
25
24
  /** @internal */
26
25
  export const make = options => Effect.gen(function* () {
27
26
  const handlerStack = [function (_request, _server) {
@@ -245,11 +244,11 @@ class ServerRequestImpl extends Inspectable.Class {
245
244
  if (this.multipartEffect) {
246
245
  return this.multipartEffect;
247
246
  }
248
- this.multipartEffect = Effect.runSync(Effect.cached(MultipartNode.persisted(Readable.fromWeb(this.source.body), this.headers)));
247
+ this.multipartEffect = Effect.runSync(Effect.cached(MultipartBun.persisted(this.source)));
249
248
  return this.multipartEffect;
250
249
  }
251
250
  get multipartStream() {
252
- return MultipartNode.stream(Readable.fromWeb(this.source.body), this.headers);
251
+ return MultipartBun.stream(this.source);
253
252
  }
254
253
  arrayBufferEffect;
255
254
  get arrayBuffer() {
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","names":["MultipartNode","Cookies","Etag","FetchHttpClient","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","Inspectable","Layer","Option","Stream","Readable","BunContext","Platform","make","options","gen","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","runFork","makeRuntime","runtime","app","toHandled","request","response","resolve","makeResponse","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","acquireRelease","push","reload","pop","length","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layerContext","mergeAll","layer","layerWeak","layerTest","layerTestClient","pipe","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","unwrap","wsDefaultRun","_","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","fromWeb","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","async","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","set","result","isEffect","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpServer.js","names":["Cookies","Etag","FetchHttpClient","Headers","App","IncomingMessage","Server","Error","ServerRequest","Socket","UrlParams","Config","Deferred","Effect","Exit","FiberSet","Inspectable","Layer","Option","Stream","BunContext","Platform","MultipartBun","make","options","gen","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","unsafeDone","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketCloseError","reason","void","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","runFork","makeRuntime","runtime","app","toHandled","request","response","resolve","makeResponse","handler","Promise","_reject","fiber","provideService","HttpServerRequest","ServerRequestImpl","removeHost","url","signal","addEventListener","interruptAsFork","clientAbortFiberId","once","acquireRelease","push","reload","pop","length","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","body","formData","toReadableStreamRuntime","stream","layerServer","scoped","HttpServer","layerContext","mergeAll","layer","layerWeak","layerTest","layerTestClient","pipe","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","unwrap","wsDefaultRun","_","buffer","Class","source","bunServer","headersOverride","remoteAddressOverride","TypeId","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","some","none","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","cause","RequestError","description","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","upgrade","all","makeSemaphore","semaphore","async","resume","success","map","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","set","result","isEffect","forEach","join","onExit","exit","raceFirst","withPermits","encoder","TextEncoder","encode","of","index","indexOf","slice","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,145 @@
1
+ import * as Multipart from "@effect/platform/Multipart";
2
+ import * as Effect from "effect/Effect";
3
+ import { pipe } from "effect/Function";
4
+ import * as Inspectable from "effect/Inspectable";
5
+ import * as Stream from "effect/Stream";
6
+ import { decodeField } from "multipasta";
7
+ import * as MP from "multipasta/web";
8
+ /** @internal */
9
+ export const stream = source => pipe(Multipart.makeConfig({}), Effect.map(config => {
10
+ const parser = MP.make({
11
+ ...config,
12
+ headers: source.headers
13
+ });
14
+ return Stream.fromReadableStream(() => source.body.pipeThrough(parser), cause => convertError(cause));
15
+ }), Stream.unwrap, Stream.map(convertPart));
16
+ /** @internal */
17
+ export const persisted = source => Multipart.toPersisted(stream(source), (path, file) => Effect.tryPromise({
18
+ try: async () => {
19
+ const fileImpl = file;
20
+ const writer = Bun.file(path).writer();
21
+ const reader = fileImpl.file.readable.getReader();
22
+ try {
23
+ while (true) {
24
+ const {
25
+ done,
26
+ value
27
+ } = await reader.readMany();
28
+ if (done) break;
29
+ for (const chunk of value) {
30
+ writer.write(chunk);
31
+ }
32
+ await writer.flush();
33
+ }
34
+ } finally {
35
+ reader.cancel();
36
+ await writer.end();
37
+ }
38
+ },
39
+ catch: cause => new Multipart.MultipartError({
40
+ reason: "InternalError",
41
+ cause
42
+ })
43
+ }));
44
+ const convertPart = part => part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part);
45
+ class PartBase extends Inspectable.Class {
46
+ [Multipart.TypeId];
47
+ constructor() {
48
+ super();
49
+ this[Multipart.TypeId] = Multipart.TypeId;
50
+ }
51
+ }
52
+ class FieldImpl extends PartBase {
53
+ _tag = "Field";
54
+ key;
55
+ contentType;
56
+ value;
57
+ constructor(info, value) {
58
+ super();
59
+ this.key = info.name;
60
+ this.contentType = info.contentType;
61
+ this.value = decodeField(info, value);
62
+ }
63
+ toJSON() {
64
+ return {
65
+ _id: "@effect/platform/Multipart/Part",
66
+ _tag: "Field",
67
+ key: this.key,
68
+ value: this.value,
69
+ contentType: this.contentType
70
+ };
71
+ }
72
+ }
73
+ class FileImpl extends PartBase {
74
+ file;
75
+ _tag = "File";
76
+ key;
77
+ name;
78
+ contentType;
79
+ content;
80
+ constructor(file) {
81
+ super();
82
+ this.file = file;
83
+ this.key = file.info.name;
84
+ this.name = file.info.filename ?? file.info.name;
85
+ this.contentType = file.info.contentType;
86
+ this.content = Stream.fromReadableStream(() => file.readable, cause => new Multipart.MultipartError({
87
+ reason: "InternalError",
88
+ cause
89
+ }));
90
+ }
91
+ toJSON() {
92
+ return {
93
+ _id: "@effect/platform/Multipart/Part",
94
+ _tag: "File",
95
+ key: this.key,
96
+ name: this.name,
97
+ contentType: this.contentType
98
+ };
99
+ }
100
+ }
101
+ function convertError(cause) {
102
+ switch (cause._tag) {
103
+ case "ReachedLimit":
104
+ {
105
+ switch (cause.limit) {
106
+ case "MaxParts":
107
+ {
108
+ return new Multipart.MultipartError({
109
+ reason: "TooManyParts",
110
+ cause
111
+ });
112
+ }
113
+ case "MaxFieldSize":
114
+ {
115
+ return new Multipart.MultipartError({
116
+ reason: "FieldTooLarge",
117
+ cause
118
+ });
119
+ }
120
+ case "MaxPartSize":
121
+ {
122
+ return new Multipart.MultipartError({
123
+ reason: "FileTooLarge",
124
+ cause
125
+ });
126
+ }
127
+ case "MaxTotalSize":
128
+ {
129
+ return new Multipart.MultipartError({
130
+ reason: "BodyTooLarge",
131
+ cause
132
+ });
133
+ }
134
+ }
135
+ }
136
+ default:
137
+ {
138
+ return new Multipart.MultipartError({
139
+ reason: "Parse",
140
+ cause
141
+ });
142
+ }
143
+ }
144
+ }
145
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","names":["Multipart","Effect","pipe","Inspectable","Stream","decodeField","MP","stream","source","makeConfig","map","config","parser","make","headers","fromReadableStream","body","pipeThrough","cause","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","fileImpl","writer","Bun","reader","readable","getReader","done","value","readMany","chunk","write","flush","cancel","end","catch","MultipartError","reason","part","_tag","FieldImpl","info","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","toJSON","_id","content","filename","limit"],"sources":["../../../src/internal/multipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-bun",
3
- "version": "0.49.32",
3
+ "version": "0.50.0",
4
4
  "description": "Platform specific implementations for the Bun runtime",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,11 +10,12 @@
10
10
  },
11
11
  "sideEffects": [],
12
12
  "dependencies": {
13
- "@effect/platform-node-shared": "^0.19.31"
13
+ "multipasta": "^0.2.5",
14
+ "@effect/platform-node-shared": "^0.20.0"
14
15
  },
15
16
  "peerDependencies": {
16
- "@effect/platform": "^0.69.30",
17
- "effect": "^3.10.19"
17
+ "@effect/platform": "^0.70.0",
18
+ "effect": "^3.11.0"
18
19
  },
19
20
  "publishConfig": {
20
21
  "provenance": true
@@ -1,8 +1,25 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import type * as FileSystem from "@effect/platform/FileSystem"
5
+ import type * as Multipart from "@effect/platform/Multipart"
6
+ import type * as Path from "@effect/platform/Path"
7
+ import type * as Effect from "effect/Effect"
8
+ import type * as Scope from "effect/Scope"
9
+ import type * as Stream from "effect/Stream"
10
+ import * as internal from "./internal/multipart.js"
4
11
 
5
12
  /**
6
13
  * @since 1.0.0
14
+ * @category constructors
7
15
  */
8
- export * from "@effect/platform-node-shared/NodeMultipart"
16
+ export const stream: (source: Request) => Stream.Stream<Multipart.Part, Multipart.MultipartError> = internal.stream
17
+
18
+ /**
19
+ * @since 1.0.0
20
+ * @category constructors
21
+ */
22
+ export const persisted: (
23
+ source: Request
24
+ ) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, FileSystem.FileSystem | Path.Path | Scope.Scope> =
25
+ internal.persisted
@@ -1,4 +1,3 @@
1
- import * as MultipartNode from "@effect/platform-node-shared/NodeMultipart"
2
1
  import * as Cookies from "@effect/platform/Cookies"
3
2
  import * as Etag from "@effect/platform/Etag"
4
3
  import * as FetchHttpClient from "@effect/platform/FetchHttpClient"
@@ -28,9 +27,9 @@ import type { ReadonlyRecord } from "effect/Record"
28
27
  import type * as Runtime from "effect/Runtime"
29
28
  import type * as Scope from "effect/Scope"
30
29
  import * as Stream from "effect/Stream"
31
- import { Readable } from "node:stream"
32
30
  import * as BunContext from "../BunContext.js"
33
31
  import * as Platform from "../BunHttpPlatform.js"
32
+ import * as MultipartBun from "./multipart.js"
34
33
 
35
34
  /** @internal */
36
35
  export const make = (
@@ -343,13 +342,13 @@ class ServerRequestImpl extends Inspectable.Class implements ServerRequest.HttpS
343
342
  return this.multipartEffect
344
343
  }
345
344
  this.multipartEffect = Effect.runSync(Effect.cached(
346
- MultipartNode.persisted(Readable.fromWeb(this.source.body! as any), this.headers)
345
+ MultipartBun.persisted(this.source)
347
346
  ))
348
347
  return this.multipartEffect
349
348
  }
350
349
 
351
350
  get multipartStream(): Stream.Stream<Multipart.Part, Multipart.MultipartError> {
352
- return MultipartNode.stream(Readable.fromWeb(this.source.body! as any), this.headers)
351
+ return MultipartBun.stream(this.source)
353
352
  }
354
353
 
355
354
  private arrayBufferEffect: Effect.Effect<ArrayBuffer, Error.RequestError> | undefined
@@ -0,0 +1,142 @@
1
+ import * as Multipart from "@effect/platform/Multipart"
2
+ import * as Effect from "effect/Effect"
3
+ import { pipe } from "effect/Function"
4
+ import * as Inspectable from "effect/Inspectable"
5
+ import * as Stream from "effect/Stream"
6
+ import type { MultipartError, PartInfo } from "multipasta"
7
+ import { decodeField } from "multipasta"
8
+ import * as MP from "multipasta/web"
9
+
10
+ /** @internal */
11
+ export const stream = (source: Request): Stream.Stream<Multipart.Part, Multipart.MultipartError> =>
12
+ pipe(
13
+ Multipart.makeConfig({}),
14
+ Effect.map((config) => {
15
+ const parser = MP.make({
16
+ ...config,
17
+ headers: source.headers
18
+ })
19
+ return Stream.fromReadableStream(
20
+ () => source.body!.pipeThrough(parser),
21
+ (cause) => convertError(cause as MultipartError)
22
+ )
23
+ }),
24
+ Stream.unwrap,
25
+ Stream.map(convertPart)
26
+ )
27
+
28
+ /** @internal */
29
+ export const persisted = (source: Request) =>
30
+ Multipart.toPersisted(stream(source), (path, file) =>
31
+ Effect.tryPromise({
32
+ try: async () => {
33
+ const fileImpl = file as FileImpl
34
+ const writer = Bun.file(path).writer()
35
+ const reader = fileImpl.file.readable.getReader()
36
+ try {
37
+ while (true) {
38
+ const { done, value } = await reader.readMany()
39
+ if (done) break
40
+ for (const chunk of value) {
41
+ writer.write(chunk)
42
+ }
43
+ await writer.flush()
44
+ }
45
+ } finally {
46
+ reader.cancel()
47
+ await writer.end()
48
+ }
49
+ },
50
+ catch: (cause) => new Multipart.MultipartError({ reason: "InternalError", cause })
51
+ }))
52
+
53
+ const convertPart = (part: MP.Part): Multipart.Part =>
54
+ part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part)
55
+
56
+ abstract class PartBase extends Inspectable.Class {
57
+ readonly [Multipart.TypeId]: Multipart.TypeId
58
+ constructor() {
59
+ super()
60
+ this[Multipart.TypeId] = Multipart.TypeId
61
+ }
62
+ }
63
+
64
+ class FieldImpl extends PartBase implements Multipart.Field {
65
+ readonly _tag = "Field"
66
+ readonly key: string
67
+ readonly contentType: string
68
+ readonly value: string
69
+
70
+ constructor(
71
+ info: PartInfo,
72
+ value: Uint8Array
73
+ ) {
74
+ super()
75
+ this.key = info.name
76
+ this.contentType = info.contentType
77
+ this.value = decodeField(info, value)
78
+ }
79
+
80
+ toJSON(): unknown {
81
+ return {
82
+ _id: "@effect/platform/Multipart/Part",
83
+ _tag: "Field",
84
+ key: this.key,
85
+ value: this.value,
86
+ contentType: this.contentType
87
+ }
88
+ }
89
+ }
90
+
91
+ class FileImpl extends PartBase implements Multipart.File {
92
+ readonly _tag = "File"
93
+ readonly key: string
94
+ readonly name: string
95
+ readonly contentType: string
96
+ readonly content: Stream.Stream<Uint8Array, Multipart.MultipartError>
97
+
98
+ constructor(readonly file: MP.File) {
99
+ super()
100
+ this.key = file.info.name
101
+ this.name = file.info.filename ?? file.info.name
102
+ this.contentType = file.info.contentType
103
+ this.content = Stream.fromReadableStream(
104
+ () => file.readable,
105
+ (cause) => new Multipart.MultipartError({ reason: "InternalError", cause })
106
+ )
107
+ }
108
+
109
+ toJSON(): unknown {
110
+ return {
111
+ _id: "@effect/platform/Multipart/Part",
112
+ _tag: "File",
113
+ key: this.key,
114
+ name: this.name,
115
+ contentType: this.contentType
116
+ }
117
+ }
118
+ }
119
+
120
+ function convertError(cause: MultipartError): Multipart.MultipartError {
121
+ switch (cause._tag) {
122
+ case "ReachedLimit": {
123
+ switch (cause.limit) {
124
+ case "MaxParts": {
125
+ return new Multipart.MultipartError({ reason: "TooManyParts", cause })
126
+ }
127
+ case "MaxFieldSize": {
128
+ return new Multipart.MultipartError({ reason: "FieldTooLarge", cause })
129
+ }
130
+ case "MaxPartSize": {
131
+ return new Multipart.MultipartError({ reason: "FileTooLarge", cause })
132
+ }
133
+ case "MaxTotalSize": {
134
+ return new Multipart.MultipartError({ reason: "BodyTooLarge", cause })
135
+ }
136
+ }
137
+ }
138
+ default: {
139
+ return new Multipart.MultipartError({ reason: "Parse", cause })
140
+ }
141
+ }
142
+ }