| 33 | |
| 34 | /** @internal */ |
| 35 | export const persisted = ( |
| 36 | source: Readable, |
| 37 | headers: IncomingHttpHeaders |
| 38 | ) => |
| 39 | Multipart.toPersisted(stream(source, headers), (path, file) => |
| 40 | Effect.tryPromise({ |
| 41 | try: (signal) => NodeStreamP.pipeline((file as FileImpl).file, NFS.createWriteStream(path), { signal }), |
| 42 | catch: (cause) => new Multipart.MultipartError({ reason: "InternalError", cause }) |
| 43 | })) |
| 44 | |
| 45 | const convertPart = (part: MP.Part): Multipart.Part => |
| 46 | part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part) |