@effect/platform 0.28.3 → 0.29.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.
Files changed (38) hide show
  1. package/dist/cjs/Http/FormData.js +21 -26
  2. package/dist/cjs/Http/FormData.js.map +1 -1
  3. package/dist/cjs/Http/ServerRequest.js +3 -3
  4. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  5. package/dist/cjs/Terminal.js.map +1 -1
  6. package/dist/cjs/internal/http/formData.js +212 -31
  7. package/dist/cjs/internal/http/formData.js.map +1 -1
  8. package/dist/cjs/internal/http/serverRequest.js +4 -4
  9. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  10. package/dist/cjs/internal/worker.js +6 -5
  11. package/dist/cjs/internal/worker.js.map +1 -1
  12. package/dist/dts/Http/FormData.d.ts +46 -35
  13. package/dist/dts/Http/FormData.d.ts.map +1 -1
  14. package/dist/dts/Http/ServerRequest.d.ts +3 -3
  15. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  16. package/dist/dts/Terminal.d.ts +4 -0
  17. package/dist/dts/Terminal.d.ts.map +1 -1
  18. package/dist/dts/WorkerRunner.d.ts +1 -1
  19. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  20. package/dist/esm/Http/FormData.js +20 -25
  21. package/dist/esm/Http/FormData.js.map +1 -1
  22. package/dist/esm/Http/ServerRequest.js +1 -1
  23. package/dist/esm/Http/ServerRequest.js.map +1 -1
  24. package/dist/esm/Terminal.js.map +1 -1
  25. package/dist/esm/internal/http/formData.js +207 -29
  26. package/dist/esm/internal/http/formData.js.map +1 -1
  27. package/dist/esm/internal/http/serverRequest.js +3 -3
  28. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  29. package/dist/esm/internal/worker.js +2 -1
  30. package/dist/esm/internal/worker.js.map +1 -1
  31. package/package.json +2 -1
  32. package/src/Http/FormData.ts +62 -41
  33. package/src/Http/ServerRequest.ts +9 -5
  34. package/src/Terminal.ts +4 -0
  35. package/src/WorkerRunner.ts +1 -1
  36. package/src/internal/http/formData.ts +320 -62
  37. package/src/internal/http/serverRequest.ts +4 -10
  38. package/src/internal/worker.ts +2 -1
@@ -1,14 +1,20 @@
1
1
  import * as Schema from "@effect/schema/Schema";
2
+ import * as Cause from "effect/Cause";
3
+ import * as Channel from "effect/Channel";
2
4
  import * as Chunk from "effect/Chunk";
3
5
  import * as Data from "effect/Data";
4
6
  import * as Effect from "effect/Effect";
5
7
  import * as FiberRef from "effect/FiberRef";
6
- import { dual, pipe } from "effect/Function";
8
+ import { dual, flow, pipe } from "effect/Function";
7
9
  import { globalValue } from "effect/GlobalValue";
8
10
  import * as Option from "effect/Option";
9
11
  import * as Predicate from "effect/Predicate";
10
- import * as ReadonlyArray from "effect/ReadonlyArray";
12
+ import * as Queue from "effect/Queue";
13
+ import * as Stream from "effect/Stream";
14
+ import * as MP from "multipasta";
11
15
  import * as FileSystem from "../../FileSystem.js";
16
+ import * as IncomingMessage from "../../Http/IncomingMessage.js";
17
+ import * as Path from "../../Path.js";
12
18
  /** @internal */
13
19
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/FormData");
14
20
  /** @internal */
@@ -21,6 +27,8 @@ export const FormDataError = (reason, error) => Data.struct({
21
27
  error
22
28
  });
23
29
  /** @internal */
30
+ export const isField = u => Predicate.hasProperty(u, TypeId) && Predicate.isTagged(u, "Field");
31
+ /** @internal */
24
32
  export const maxParts = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxParts", () => FiberRef.unsafeMake(Option.none()));
25
33
  /** @internal */
26
34
  export const withMaxParts = /*#__PURE__*/dual(2, (effect, count) => Effect.locally(effect, maxParts, count));
@@ -29,14 +37,6 @@ export const maxFieldSize = /*#__PURE__*/globalValue("@effect/platform/Http/Form
29
37
  /** @internal */
30
38
  export const withMaxFieldSize = /*#__PURE__*/dual(2, (effect, size) => Effect.locally(effect, maxFieldSize, FileSystem.Size(size)));
31
39
  /** @internal */
32
- export const maxFields = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxFields", () => FiberRef.unsafeMake(Option.none()));
33
- /** @internal */
34
- export const withMaxFields = /*#__PURE__*/dual(2, (effect, count) => Effect.locally(effect, maxFields, count));
35
- /** @internal */
36
- export const maxFiles = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxFiles", () => FiberRef.unsafeMake(Option.none()));
37
- /** @internal */
38
- export const withMaxFiles = /*#__PURE__*/dual(2, (effect, count) => Effect.locally(effect, maxFiles, count));
39
- /** @internal */
40
40
  export const maxFileSize = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxFileSize", () => FiberRef.unsafeMake(Option.none()));
41
41
  /** @internal */
42
42
  export const withMaxFileSize = /*#__PURE__*/dual(2, (effect, size) => Effect.locally(effect, maxFileSize, Option.map(size, FileSystem.Size)));
@@ -45,32 +45,210 @@ export const fieldMimeTypes = /*#__PURE__*/globalValue("@effect/platform/Http/Fo
45
45
  /** @internal */
46
46
  export const withFieldMimeTypes = /*#__PURE__*/dual(2, (effect, mimeTypes) => Effect.locally(effect, fieldMimeTypes, Chunk.fromIterable(mimeTypes)));
47
47
  /** @internal */
48
- export const toRecord = formData => ReadonlyArray.reduce(formData.entries(), {}, (acc, [key, value]) => {
49
- if (Predicate.isString(value)) {
50
- acc[key] = value;
51
- } else {
52
- const existing = acc[key];
53
- if (Array.isArray(existing)) {
54
- existing.push(value);
55
- } else {
56
- acc[key] = [value];
57
- }
58
- }
59
- return acc;
60
- });
61
- /** @internal */
62
- export const filesSchema = /*#__PURE__*/Schema.array( /*#__PURE__*/pipe( /*#__PURE__*/Schema.instanceOf(Blob), /*#__PURE__*/Schema.filter(blob => "name" in blob)));
48
+ export const filesSchema = /*#__PURE__*/Schema.array( /*#__PURE__*/pipe(Schema.object, /*#__PURE__*/Schema.filter(file => TypeId in file && "_tag" in file && file._tag === "PersistedFile")));
63
49
  /** @internal */
64
- export const schemaRecord = schema => {
50
+ export const schemaPersisted = schema => {
65
51
  const parse = Schema.parse(schema);
66
- return formData => parse(toRecord(formData));
52
+ return formData => parse(formData);
67
53
  };
68
54
  /** @internal */
69
55
  export const schemaJson = schema => {
70
56
  const parse = Schema.parse(schema);
71
- return dual(2, (formData, field) => pipe(Effect.succeed(formData.get(field)), Effect.filterOrFail(field => Predicate.isString(field), () => FormDataError("Parse", `schemaJson: field was not a string`)), Effect.tryMap({
72
- try: field => JSON.parse(field),
57
+ return dual(2, (formData, field) => pipe(Effect.succeed(formData[field]), Effect.filterOrFail(isField, () => FormDataError("Parse", `schemaJson: was not a field`)), Effect.tryMap({
58
+ try: field => JSON.parse(field.value),
73
59
  catch: error => FormDataError("Parse", `schemaJson: field was not valid json: ${error}`)
74
60
  }), Effect.flatMap(parse)));
75
61
  };
62
+ /** @internal */
63
+ export const makeConfig = headers => Effect.map(Effect.all({
64
+ maxParts: Effect.map(FiberRef.get(maxParts), Option.getOrUndefined),
65
+ maxFieldSize: Effect.map(FiberRef.get(maxFieldSize), Number),
66
+ maxPartSize: Effect.map(FiberRef.get(maxFileSize), flow(Option.map(Number), Option.getOrUndefined)),
67
+ maxTotalSize: Effect.map(FiberRef.get(IncomingMessage.maxBodySize), flow(Option.map(Number), Option.getOrUndefined)),
68
+ isFile: Effect.map(FiberRef.get(fieldMimeTypes), mimeTypes => {
69
+ if (mimeTypes.length === 0) {
70
+ return undefined;
71
+ }
72
+ return info => Chunk.some(mimeTypes, _ => info.contentType.includes(_)) || MP.defaultIsFile(info);
73
+ })
74
+ }), _ => ({
75
+ ..._,
76
+ headers
77
+ }));
78
+ /** @internal */
79
+ export const makeChannel = (headers, bufferSize = 16) => Channel.acquireUseRelease(Effect.all([makeConfig(headers), Queue.bounded(bufferSize)]), ([config, queue]) => makeFromQueue(config, queue), ([, queue]) => Queue.shutdown(queue));
80
+ const makeFromQueue = (config, queue) => Channel.suspend(() => {
81
+ let error = Option.none();
82
+ let partsBuffer = [];
83
+ let partsFinished = false;
84
+ const input = {
85
+ awaitRead: () => Effect.unit,
86
+ emit(element) {
87
+ return Queue.offer(queue, element);
88
+ },
89
+ error(cause) {
90
+ error = Option.some(cause);
91
+ return Queue.offer(queue, null);
92
+ },
93
+ done(_value) {
94
+ return Queue.offer(queue, null);
95
+ }
96
+ };
97
+ const parser = MP.make({
98
+ ...config,
99
+ onField(info, value) {
100
+ partsBuffer.push(new FieldImpl(info.name, info.contentType, MP.decodeField(info, value)));
101
+ },
102
+ onFile(info) {
103
+ let chunks = [];
104
+ let finished = false;
105
+ const take = Channel.suspend(() => {
106
+ if (finished) {
107
+ return Channel.unit;
108
+ } else if (chunks.length === 0) {
109
+ return Channel.zipRight(pump, take);
110
+ }
111
+ const chunk = Chunk.unsafeFromArray(chunks);
112
+ chunks = [];
113
+ return Channel.zipRight(Channel.write(chunk), Channel.zipRight(pump, take));
114
+ });
115
+ partsBuffer.push(new FileImpl(info, take));
116
+ return function (chunk) {
117
+ if (chunk === null) {
118
+ finished = true;
119
+ } else {
120
+ chunks.push(chunk);
121
+ }
122
+ };
123
+ },
124
+ onError(error_) {
125
+ error = Option.some(Cause.fail(convertError(error_)));
126
+ },
127
+ onDone() {
128
+ partsFinished = true;
129
+ }
130
+ });
131
+ const pump = Channel.flatMap(Queue.take(queue), chunk => Channel.sync(() => {
132
+ if (chunk === null) {
133
+ parser.end();
134
+ } else {
135
+ Chunk.forEach(chunk, function (buf) {
136
+ parser.write(buf);
137
+ });
138
+ }
139
+ }));
140
+ const takeParts = Channel.zipRight(pump, Channel.suspend(() => {
141
+ if (partsBuffer.length === 0) {
142
+ return Channel.unit;
143
+ }
144
+ const parts = Chunk.unsafeFromArray(partsBuffer);
145
+ partsBuffer = [];
146
+ return Channel.write(parts);
147
+ }));
148
+ const partsChannel = Channel.suspend(() => {
149
+ if (error._tag === "Some") {
150
+ return Channel.failCause(error.value);
151
+ } else if (partsFinished) {
152
+ return Channel.unit;
153
+ }
154
+ return Channel.zipRight(takeParts, partsChannel);
155
+ });
156
+ return Channel.embedInput(partsChannel, input);
157
+ });
158
+ function convertError(error) {
159
+ switch (error._tag) {
160
+ case "ReachedLimit":
161
+ {
162
+ switch (error.limit) {
163
+ case "MaxParts":
164
+ {
165
+ return FormDataError("TooManyParts", error);
166
+ }
167
+ case "MaxFieldSize":
168
+ {
169
+ return FormDataError("FieldTooLarge", error);
170
+ }
171
+ case "MaxPartSize":
172
+ {
173
+ return FormDataError("FileTooLarge", error);
174
+ }
175
+ case "MaxTotalSize":
176
+ {
177
+ return FormDataError("BodyTooLarge", error);
178
+ }
179
+ }
180
+ }
181
+ default:
182
+ {
183
+ return FormDataError("Parse", error);
184
+ }
185
+ }
186
+ }
187
+ class FieldImpl {
188
+ key;
189
+ contentType;
190
+ value;
191
+ [TypeId];
192
+ _tag = "Field";
193
+ constructor(key, contentType, value) {
194
+ this.key = key;
195
+ this.contentType = contentType;
196
+ this.value = value;
197
+ this[TypeId] = TypeId;
198
+ }
199
+ }
200
+ class FileImpl {
201
+ _tag = "File";
202
+ [TypeId];
203
+ key;
204
+ name;
205
+ contentType;
206
+ content;
207
+ constructor(info, channel) {
208
+ this[TypeId] = TypeId;
209
+ this.key = info.name;
210
+ this.name = info.filename ?? info.name;
211
+ this.contentType = info.contentType;
212
+ this.content = Stream.fromChannel(channel);
213
+ }
214
+ }
215
+ const defaultWriteFile = (path, file) => Effect.flatMap(FileSystem.FileSystem, fs => Effect.mapError(Stream.run(file.content, fs.sink(path)), error => FormDataError("InternalError", error)));
216
+ /** @internal */
217
+ export const formData = (stream, writeFile = defaultWriteFile) => pipe(Effect.Do, Effect.bind("fs", () => FileSystem.FileSystem), Effect.bind("path", () => Path.Path), Effect.bind("dir", ({
218
+ fs
219
+ }) => fs.makeTempDirectoryScoped()), Effect.flatMap(({
220
+ dir,
221
+ path: path_
222
+ }) => Stream.runFoldEffect(stream, Object.create(null), (formData, part) => {
223
+ if (part._tag === "Field") {
224
+ formData[part.key] = part.value;
225
+ return Effect.succeed(formData);
226
+ }
227
+ const file = part;
228
+ const path = path_.join(dir, path_.basename(file.name).slice(-128));
229
+ if (!Array.isArray(formData[part.key])) {
230
+ formData[part.key] = [];
231
+ }
232
+ ;
233
+ formData[part.key].push(new PersistedFileImpl(file.key, file.name, file.contentType, path));
234
+ return Effect.as(writeFile(path, file), formData);
235
+ })), Effect.catchTags({
236
+ SystemError: err => Effect.fail(FormDataError("InternalError", err)),
237
+ BadArgument: err => Effect.fail(FormDataError("InternalError", err))
238
+ }));
239
+ class PersistedFileImpl {
240
+ key;
241
+ name;
242
+ contentType;
243
+ path;
244
+ [TypeId];
245
+ _tag = "PersistedFile";
246
+ constructor(key, name, contentType, path) {
247
+ this.key = key;
248
+ this.name = name;
249
+ this.contentType = contentType;
250
+ this.path = path;
251
+ this[TypeId] = TypeId;
252
+ }
253
+ }
76
254
  //# sourceMappingURL=formData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formData.js","names":["Schema","Chunk","Data","Effect","FiberRef","dual","pipe","globalValue","Option","Predicate","ReadonlyArray","FileSystem","TypeId","Symbol","for","ErrorTypeId","FormDataError","reason","error","struct","_tag","maxParts","unsafeMake","none","withMaxParts","effect","count","locally","maxFieldSize","Size","withMaxFieldSize","size","maxFields","withMaxFields","maxFiles","withMaxFiles","maxFileSize","withMaxFileSize","map","fieldMimeTypes","make","withFieldMimeTypes","mimeTypes","fromIterable","toRecord","formData","reduce","entries","acc","key","value","isString","existing","Array","isArray","push","filesSchema","array","instanceOf","Blob","filter","blob","schemaRecord","schema","parse","schemaJson","field","succeed","get","filterOrFail","tryMap","try","JSON","catch","flatMap"],"sources":["../../../../src/internal/http/formData.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"formData.js","names":["Schema","Cause","Channel","Chunk","Data","Effect","FiberRef","dual","flow","pipe","globalValue","Option","Predicate","Queue","Stream","MP","FileSystem","IncomingMessage","Path","TypeId","Symbol","for","ErrorTypeId","FormDataError","reason","error","struct","_tag","isField","u","hasProperty","isTagged","maxParts","unsafeMake","none","withMaxParts","effect","count","locally","maxFieldSize","Size","withMaxFieldSize","size","maxFileSize","withMaxFileSize","map","fieldMimeTypes","make","withFieldMimeTypes","mimeTypes","fromIterable","filesSchema","array","object","filter","file","schemaPersisted","schema","parse","formData","schemaJson","field","succeed","filterOrFail","tryMap","try","JSON","value","catch","flatMap","makeConfig","headers","all","get","getOrUndefined","Number","maxPartSize","maxTotalSize","maxBodySize","isFile","length","undefined","info","some","_","contentType","includes","defaultIsFile","makeChannel","bufferSize","acquireUseRelease","bounded","config","queue","makeFromQueue","shutdown","suspend","partsBuffer","partsFinished","input","awaitRead","unit","emit","element","offer","cause","done","_value","parser","onField","push","FieldImpl","name","decodeField","onFile","chunks","finished","take","zipRight","pump","chunk","unsafeFromArray","write","FileImpl","onError","error_","fail","convertError","onDone","sync","end","forEach","buf","takeParts","parts","partsChannel","failCause","embedInput","limit","key","constructor","content","channel","filename","fromChannel","defaultWriteFile","path","fs","mapError","run","sink","stream","writeFile","Do","bind","makeTempDirectoryScoped","dir","path_","runFoldEffect","Object","create","part","join","basename","slice","Array","isArray","PersistedFileImpl","as","catchTags","SystemError","err","BadArgument"],"sources":["../../../../src/internal/http/formData.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -8,7 +8,7 @@ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerReque
8
8
  /** @internal */
9
9
  export const serverRequestTag = /*#__PURE__*/Context.Tag(TypeId);
10
10
  /** @internal */
11
- export const formDataRecord = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.flatMap(serverRequestTag, request => request.formData), FormData.toRecord);
11
+ export const persistedFormData = /*#__PURE__*/Effect.flatMap(serverRequestTag, request => request.formData);
12
12
  /** @internal */
13
13
  export const schemaHeaders = schema => {
14
14
  const parse = IncomingMessage.schemaHeaders(schema);
@@ -26,8 +26,8 @@ export const schemaBodyUrlParams = schema => {
26
26
  };
27
27
  /** @internal */
28
28
  export const schemaFormData = schema => {
29
- const parse = FormData.schemaRecord(schema);
30
- return Effect.flatMap(Effect.flatMap(serverRequestTag, request => request.formData), parse);
29
+ const parse = FormData.schemaPersisted(schema);
30
+ return Effect.flatMap(persistedFormData, parse);
31
31
  };
32
32
  /** @internal */
33
33
  export const schemaFormDataJson = schema => {
@@ -1 +1 @@
1
- {"version":3,"file":"serverRequest.js","names":["Context","Effect","FormData","IncomingMessage","Error","TypeId","Symbol","for","serverRequestTag","Tag","formDataRecord","map","flatMap","request","formData","toRecord","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaRecord","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAClD,OAAO,KAAKC,eAAe,MAAM,+BAA+B;AAChE,OAAO,KAAKC,KAAK,MAAM,2BAA2B;AAGlD;AACA,OAAO,MAAMC,MAAM,gBAAyBC,MAAM,CAACC,GAAG,CAAC,qCAAqC,CAAyB;AAErH;AACA,OAAO,MAAMC,gBAAgB,gBAAGR,OAAO,CAACS,GAAG,CAA8BJ,MAAM,CAAC;AAEhF;AACA,OAAO,MAAMK,cAAc,gBAAGT,MAAM,CAACU,GAAG,eACtCV,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC,EAC/DZ,QAAQ,CAACa,QAAQ,CAClB;AAED;AACA,OAAO,MAAMC,aAAa,GAAmDC,MAA2B,IAAI;EAC1G,MAAMC,KAAK,GAAGf,eAAe,CAACa,aAAa,CAACC,MAAM,CAAC;EACnD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMC,cAAc,GAAUF,MAA2B,IAAI;EAClE,MAAMC,KAAK,GAAGf,eAAe,CAACgB,cAAc,CAACF,MAAM,CAAC;EACpD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAME,mBAAmB,GAAmDH,MAA2B,IAAI;EAChH,MAAMC,KAAK,GAAGf,eAAe,CAACiB,mBAAmB,CAACH,MAAM,CAAC;EACzD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMG,cAAc,GACzBJ,MAA2B,IACzB;EACF,MAAMC,KAAK,GAAGhB,QAAQ,CAACoB,YAAY,CAACL,MAAM,CAAC;EAC3C,OAAOhB,MAAM,CAACW,OAAO,CACnBX,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC,EAC/DI,KAAK,CACN;AACH,CAAC;AAED;AACA,OAAO,MAAMK,kBAAkB,GAAUN,MAA2B,IAAI;EACtE,MAAMC,KAAK,GAAGhB,QAAQ,CAACsB,UAAU,CAACP,MAAM,CAAC;EACzC,OAAQQ,KAAa,IACnBxB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IACvCZ,MAAM,CAACW,OAAO,CACZC,OAAO,CAACC,QAAQ,EACfA,QAAQ,IACPb,MAAM,CAACyB,QAAQ,CACbR,KAAK,CAACJ,QAAQ,EAAEW,KAAK,CAAC,EACtB,eAAe,EACdE,KAAK,IACJ1B,MAAM,CAAC2B,IAAI,CACTxB,KAAK,CAACyB,YAAY,CAAC;IACjBC,MAAM,EAAE,QAAQ;IAChBjB,OAAO;IACPc,KAAK,EAAEA,KAAK,CAACA;GACd,CAAC,CACH,CACJ,CACJ,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"serverRequest.js","names":["Context","Effect","FormData","IncomingMessage","Error","TypeId","Symbol","for","serverRequestTag","Tag","persistedFormData","flatMap","request","formData","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaPersisted","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAClD,OAAO,KAAKC,eAAe,MAAM,+BAA+B;AAChE,OAAO,KAAKC,KAAK,MAAM,2BAA2B;AAGlD;AACA,OAAO,MAAMC,MAAM,gBAAyBC,MAAM,CAACC,GAAG,CAAC,qCAAqC,CAAyB;AAErH;AACA,OAAO,MAAMC,gBAAgB,gBAAGR,OAAO,CAACS,GAAG,CAA8BJ,MAAM,CAAC;AAEhF;AACA,OAAO,MAAMK,iBAAiB,gBAAGT,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAGI,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC;AAEhG;AACA,OAAO,MAAMC,aAAa,GAAmDC,MAA2B,IAAI;EAC1G,MAAMC,KAAK,GAAGb,eAAe,CAACW,aAAa,CAACC,MAAM,CAAC;EACnD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMC,cAAc,GAAUF,MAA2B,IAAI;EAClE,MAAMC,KAAK,GAAGb,eAAe,CAACc,cAAc,CAACF,MAAM,CAAC;EACpD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAME,mBAAmB,GAAmDH,MAA2B,IAAI;EAChH,MAAMC,KAAK,GAAGb,eAAe,CAACe,mBAAmB,CAACH,MAAM,CAAC;EACzD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMG,cAAc,GACzBJ,MAA2B,IACzB;EACF,MAAMC,KAAK,GAAGd,QAAQ,CAACkB,eAAe,CAACL,MAAM,CAAC;EAC9C,OAAOd,MAAM,CAACU,OAAO,CAACD,iBAAiB,EAAEM,KAAK,CAAC;AACjD,CAAC;AAED;AACA,OAAO,MAAMK,kBAAkB,GAAUN,MAA2B,IAAI;EACtE,MAAMC,KAAK,GAAGd,QAAQ,CAACoB,UAAU,CAACP,MAAM,CAAC;EACzC,OAAQQ,KAAa,IACnBtB,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAGI,OAAO,IACvCX,MAAM,CAACU,OAAO,CACZC,OAAO,CAACC,QAAQ,EACfA,QAAQ,IACPZ,MAAM,CAACuB,QAAQ,CACbR,KAAK,CAACH,QAAQ,EAAEU,KAAK,CAAC,EACtB,eAAe,EACdE,KAAK,IACJxB,MAAM,CAACyB,IAAI,CACTtB,KAAK,CAACuB,YAAY,CAAC;IACjBC,MAAM,EAAE,QAAQ;IAChBhB,OAAO;IACPa,KAAK,EAAEA,KAAK,CAACA;GACd,CAAC,CACH,CACJ,CACJ,CAAC;AACR,CAAC"}
@@ -1,5 +1,6 @@
1
- import { Cause, Chunk } from "effect";
1
+ import * as Cause from "effect/Cause";
2
2
  import * as Channel from "effect/Channel";
3
+ import * as Chunk from "effect/Chunk";
3
4
  import * as Context from "effect/Context";
4
5
  import * as Deferred from "effect/Deferred";
5
6
  import * as Effect from "effect/Effect";
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","names":["Cause","Chunk","Channel","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Pool","Queue","Stream","defaultQueue","map","unbounded","queue","offer","id","item","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","Tag","WorkerManagerTypeId","WorkerManager","makeManager","gen","_","platform","idCounter","of","spawn","encode","permits","transfers","requestIdCounter","readyLatch","make","semaphore","makeSemaphore","requestMap","Map","outbound","addFinalizer","backing","zipRight","forEach","values","failCause","empty","discard","sync","clear","handleMessage","msg","suspend","complete","unit","response","get","succeed","length","fail","die","executeAcquire","request","tap","all","deferred","set","executeRelease","exit","release","delete","isInterrupted","send","execute","flatMap","acquireRelease","loop","match","onFailure","cause","isEmpty","onSuccess","value","write","fromChannel","executeEffect","acquireUseRelease","flatten","handleMessages","forever","interruptible","forkScoped","postMessages","result","transferables","payload","await","ensuring","fork","join","joinAll","fiber","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","message","concurrency","unwrap","scoped","makePoolLayer","managerLayer","tag","provide"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","names":["Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Pool","Queue","Stream","defaultQueue","map","unbounded","queue","offer","id","item","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","Tag","WorkerManagerTypeId","WorkerManager","makeManager","gen","_","platform","idCounter","of","spawn","encode","permits","transfers","requestIdCounter","readyLatch","make","semaphore","makeSemaphore","requestMap","Map","outbound","addFinalizer","backing","zipRight","forEach","values","failCause","empty","discard","sync","clear","handleMessage","msg","suspend","complete","unit","response","get","succeed","length","fail","die","executeAcquire","request","tap","all","deferred","set","executeRelease","exit","release","delete","isInterrupted","send","execute","flatMap","acquireRelease","loop","match","onFailure","cause","isEmpty","onSuccess","value","write","fromChannel","executeEffect","acquireUseRelease","flatten","handleMessages","forever","interruptible","forkScoped","postMessages","result","transferables","payload","await","ensuring","fork","join","joinAll","fiber","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","message","concurrency","unwrap","scoped","makePoolLayer","managerLayer","tag","provide"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.28.3",
3
+ "version": "0.29.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,6 +11,7 @@
11
11
  "author": "Effect contributors",
12
12
  "dependencies": {
13
13
  "find-my-way": "^7.7.0",
14
+ "multipasta": "^0.1.11",
14
15
  "path-browserify": "^1.0.1"
15
16
  },
16
17
  "peerDependencies": {
@@ -3,14 +3,18 @@
3
3
  */
4
4
  import type * as ParseResult from "@effect/schema/ParseResult"
5
5
  import type * as Schema from "@effect/schema/Schema"
6
+ import type * as Channel from "effect/Channel"
6
7
  import type * as Chunk from "effect/Chunk"
7
8
  import type * as Data from "effect/Data"
8
9
  import type * as Effect from "effect/Effect"
9
10
  import type * as FiberRef from "effect/FiberRef"
10
11
  import type * as Option from "effect/Option"
12
+ import type * as Scope from "effect/Scope"
11
13
  import type * as Stream from "effect/Stream"
14
+ import type * as Multipasta from "multipasta"
12
15
  import type * as FileSystem from "../FileSystem.js"
13
16
  import * as internal from "../internal/http/formData.js"
17
+ import type * as Path from "../Path.js"
14
18
 
15
19
  /**
16
20
  * @since 1.0.0
@@ -67,6 +71,26 @@ export interface File extends Part.Proto {
67
71
  readonly content: Stream.Stream<never, FormDataError, Uint8Array>
68
72
  }
69
73
 
74
+ /**
75
+ * @since 1.0.0
76
+ * @category models
77
+ */
78
+ export interface PersistedFile extends Part.Proto {
79
+ readonly _tag: "PersistedFile"
80
+ readonly key: string
81
+ readonly name: string
82
+ readonly contentType: string
83
+ readonly path: string
84
+ }
85
+
86
+ /**
87
+ * @since 1.0.0
88
+ * @category models
89
+ */
90
+ export interface PersistedFormData {
91
+ readonly [key: string]: ReadonlyArray<PersistedFile> | string
92
+ }
93
+
70
94
  /**
71
95
  * @since 1.0.0
72
96
  * @category type ids
@@ -86,7 +110,7 @@ export type ErrorTypeId = typeof ErrorTypeId
86
110
  export interface FormDataError extends Data.Case {
87
111
  readonly [ErrorTypeId]: ErrorTypeId
88
112
  readonly _tag: "FormDataError"
89
- readonly reason: "FileTooLarge" | "FieldTooLarge" | "InternalError" | "Parse"
113
+ readonly reason: "FileTooLarge" | "FieldTooLarge" | "BodyTooLarge" | "TooManyParts" | "InternalError" | "Parse"
90
114
  readonly error: unknown
91
115
  }
92
116
 
@@ -101,33 +125,24 @@ export const FormDataError: (
101
125
 
102
126
  /**
103
127
  * @since 1.0.0
104
- * @category fiber refs
105
- */
106
- export const maxParts: FiberRef.FiberRef<Option.Option<number>> = internal.maxParts
107
-
108
- /**
109
- * @since 1.0.0
110
- * @category fiber refs
128
+ * @category refinements
111
129
  */
112
- export const withMaxParts: {
113
- (count: Option.Option<number>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
114
- <R, E, A>(effect: Effect.Effect<R, E, A>, count: Option.Option<number>): Effect.Effect<R, E, A>
115
- } = internal.withMaxParts
130
+ export const isField: (u: unknown) => u is Field = internal.isField
116
131
 
117
132
  /**
118
133
  * @since 1.0.0
119
134
  * @category fiber refs
120
135
  */
121
- export const maxFields: FiberRef.FiberRef<Option.Option<number>> = internal.maxFields
136
+ export const maxParts: FiberRef.FiberRef<Option.Option<number>> = internal.maxParts
122
137
 
123
138
  /**
124
139
  * @since 1.0.0
125
140
  * @category fiber refs
126
141
  */
127
- export const withMaxFields: {
142
+ export const withMaxParts: {
128
143
  (count: Option.Option<number>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
129
144
  <R, E, A>(effect: Effect.Effect<R, E, A>, count: Option.Option<number>): Effect.Effect<R, E, A>
130
- } = internal.withMaxFields
145
+ } = internal.withMaxParts
131
146
 
132
147
  /**
133
148
  * @since 1.0.0
@@ -144,21 +159,6 @@ export const withMaxFieldSize: {
144
159
  <R, E, A>(effect: Effect.Effect<R, E, A>, size: FileSystem.SizeInput): Effect.Effect<R, E, A>
145
160
  } = internal.withMaxFieldSize
146
161
 
147
- /**
148
- * @since 1.0.0
149
- * @category fiber refs
150
- */
151
- export const maxFiles: FiberRef.FiberRef<Option.Option<number>> = internal.maxFiles
152
-
153
- /**
154
- * @since 1.0.0
155
- * @category fiber refs
156
- */
157
- export const withMaxFiles: {
158
- (count: Option.Option<number>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
159
- <R, E, A>(effect: Effect.Effect<R, E, A>, count: Option.Option<number>): Effect.Effect<R, E, A>
160
- } = internal.withMaxFiles
161
-
162
162
  /**
163
163
  * @since 1.0.0
164
164
  * @category fiber refs
@@ -189,17 +189,11 @@ export const withFieldMimeTypes: {
189
189
  <R, E, A>(effect: Effect.Effect<R, E, A>, mimeTypes: ReadonlyArray<string>): Effect.Effect<R, E, A>
190
190
  } = internal.withFieldMimeTypes
191
191
 
192
- /**
193
- * @since 1.0.0
194
- * @category conversions
195
- */
196
- export const toRecord: (formData: FormData) => Record<string, string | Array<globalThis.File>> = internal.toRecord
197
-
198
192
  /**
199
193
  * @since 1.0.0
200
194
  * @category schema
201
195
  */
202
- export const filesSchema: Schema.Schema<ReadonlyArray<globalThis.File>, ReadonlyArray<globalThis.File>> =
196
+ export const filesSchema: Schema.Schema<ReadonlyArray<PersistedFile>, ReadonlyArray<PersistedFile>> =
203
197
  internal.filesSchema
204
198
 
205
199
  /**
@@ -209,14 +203,41 @@ export const filesSchema: Schema.Schema<ReadonlyArray<globalThis.File>, Readonly
209
203
  export const schemaJson: <I, A>(
210
204
  schema: Schema.Schema<I, A>
211
205
  ) => {
212
- (field: string): (formData: FormData) => Effect.Effect<never, FormDataError | ParseResult.ParseError, A>
213
- (formData: FormData, field: string): Effect.Effect<never, FormDataError | ParseResult.ParseError, A>
206
+ (field: string): (formData: PersistedFormData) => Effect.Effect<never, FormDataError | ParseResult.ParseError, A>
207
+ (formData: PersistedFormData, field: string): Effect.Effect<never, FormDataError | ParseResult.ParseError, A>
214
208
  } = internal.schemaJson
215
209
 
216
210
  /**
217
211
  * @since 1.0.0
218
212
  * @category schema
219
213
  */
220
- export const schemaRecord: <I extends Readonly<Record<string, string | ReadonlyArray<globalThis.File>>>, A>(
214
+ export const schemaPersisted: <I extends PersistedFormData, A>(
221
215
  schema: Schema.Schema<I, A>
222
- ) => (formData: FormData) => Effect.Effect<never, ParseResult.ParseError, A> = internal.schemaRecord
216
+ ) => (formData: PersistedFormData) => Effect.Effect<never, ParseResult.ParseError, A> = internal.schemaPersisted
217
+
218
+ /**
219
+ * @since 1.0.0
220
+ * @category constructors
221
+ */
222
+ export const makeChannel: <IE>(
223
+ headers: Record<string, string>,
224
+ bufferSize?: number
225
+ ) => Channel.Channel<never, IE, Chunk.Chunk<Uint8Array>, unknown, FormDataError | IE, Chunk.Chunk<Part>, unknown> =
226
+ internal.makeChannel
227
+
228
+ /**
229
+ * @since 1.0.0
230
+ * @category constructors
231
+ */
232
+ export const makeConfig: (headers: Record<string, string>) => Effect.Effect<never, never, Multipasta.BaseConfig> =
233
+ internal.makeConfig
234
+
235
+ /**
236
+ * @since 1.0.0
237
+ * @category constructors
238
+ */
239
+ export const formData: (
240
+ stream: Stream.Stream<never, FormDataError, Part>,
241
+ writeFile?: (path: string, file: File) => Effect.Effect<FileSystem.FileSystem, FormDataError, void>
242
+ ) => Effect.Effect<FileSystem.FileSystem | Path.Path | Scope.Scope, FormDataError, PersistedFormData> =
243
+ internal.formData
@@ -46,7 +46,11 @@ export interface ServerRequest extends IncomingMessage.IncomingMessage<Error.Req
46
46
  readonly originalUrl: string
47
47
  readonly method: Method
48
48
 
49
- readonly formData: Effect.Effect<Scope.Scope | FileSystem.FileSystem | Path.Path, FormData.FormDataError, FormData>
49
+ readonly formData: Effect.Effect<
50
+ Scope.Scope | FileSystem.FileSystem | Path.Path,
51
+ FormData.FormDataError,
52
+ FormData.PersistedFormData
53
+ >
50
54
  readonly formDataStream: Stream.Stream<never, FormData.FormDataError, FormData.Part>
51
55
 
52
56
  readonly modify: (
@@ -68,11 +72,11 @@ export const ServerRequest: Context.Tag<ServerRequest, ServerRequest> = internal
68
72
  * @since 1.0.0
69
73
  * @category accessors
70
74
  */
71
- export const formDataRecord: Effect.Effect<
75
+ export const persistedFormData: Effect.Effect<
72
76
  Scope.Scope | FileSystem.FileSystem | Path.Path | ServerRequest,
73
77
  FormData.FormDataError,
74
- Record<string, string | Array<File>>
75
- > = internal.formDataRecord
78
+ unknown
79
+ > = internal.persistedFormData
76
80
 
77
81
  /**
78
82
  * @since 1.0.0
@@ -102,7 +106,7 @@ export const schemaBodyUrlParams: <I extends Readonly<Record<string, string>>, A
102
106
  * @since 1.0.0
103
107
  * @category schema
104
108
  */
105
- export const schemaFormData: <I extends Readonly<Record<string, string | ReadonlyArray<File>>>, A>(
109
+ export const schemaFormData: <I extends FormData.PersistedFormData, A>(
106
110
  schema: Schema.Schema<I, A>
107
111
  ) => Effect.Effect<
108
112
  ServerRequest | Scope.Scope | FileSystem.FileSystem | Path.Path,