@effect/platform-node-shared 0.3.9 → 0.3.10
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.
- package/dist/cjs/internal/commandExecutor.js +13 -3
- package/dist/cjs/internal/commandExecutor.js.map +1 -1
- package/dist/cjs/internal/http/multipart.js +57 -12
- package/dist/cjs/internal/http/multipart.js.map +1 -1
- package/dist/cjs/internal/path.js +3 -0
- package/dist/cjs/internal/path.js.map +1 -1
- package/dist/esm/internal/commandExecutor.js +13 -3
- package/dist/esm/internal/commandExecutor.js.map +1 -1
- package/dist/esm/internal/http/multipart.js +57 -12
- package/dist/esm/internal/http/multipart.js.map +1 -1
- package/dist/esm/internal/path.js +4 -1
- package/dist/esm/internal/path.js.map +1 -1
- package/package.json +3 -3
- package/src/internal/commandExecutor.ts +14 -3
- package/src/internal/http/multipart.ts +42 -12
- package/src/internal/path.ts +4 -1
|
@@ -10,6 +10,7 @@ var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@ef
|
|
|
10
10
|
var Deferred = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Deferred"));
|
|
11
11
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
12
12
|
var _Function = /*#__PURE__*/require("effect/Function");
|
|
13
|
+
var Inspectable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Inspectable"));
|
|
13
14
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
14
15
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
|
15
16
|
var Sink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Sink"));
|
|
@@ -56,6 +57,16 @@ const toPlatformError = (method, error, command) => {
|
|
|
56
57
|
}, "");
|
|
57
58
|
return (0, _error.handleErrnoException)("Command", method)(error, [flattened]);
|
|
58
59
|
};
|
|
60
|
+
const ProcessProto = {
|
|
61
|
+
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
62
|
+
...Inspectable.BaseProto,
|
|
63
|
+
toJSON() {
|
|
64
|
+
return {
|
|
65
|
+
_id: "@effect/platform/CommandExecutor/Process",
|
|
66
|
+
pid: this.pid
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
};
|
|
59
70
|
const runCommand = fileSystem => command => {
|
|
60
71
|
switch (command._tag) {
|
|
61
72
|
case "StandardCommand":
|
|
@@ -116,8 +127,7 @@ const runCommand = fileSystem => command => {
|
|
|
116
127
|
if (typeof command.stdout !== "string") {
|
|
117
128
|
stdout = Stream.transduce(stdout, command.stdout);
|
|
118
129
|
}
|
|
119
|
-
return {
|
|
120
|
-
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
130
|
+
return Object.assign(Object.create(ProcessProto), {
|
|
121
131
|
pid,
|
|
122
132
|
exitCode,
|
|
123
133
|
isRunning,
|
|
@@ -125,7 +135,7 @@ const runCommand = fileSystem => command => {
|
|
|
125
135
|
stdin,
|
|
126
136
|
stderr,
|
|
127
137
|
stdout
|
|
128
|
-
};
|
|
138
|
+
});
|
|
129
139
|
}), Effect.tap(process => Option.match(command.stdin, {
|
|
130
140
|
onNone: () => Effect.unit,
|
|
131
141
|
onSome: stdin => Effect.forkDaemon(Stream.run(stdin, process.stdin))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandExecutor.js","names":["Command","_interopRequireWildcard","require","CommandExecutor","FileSystem","Deferred","Effect","_Function","Layer","Option","Sink","Stream","ChildProcess","_error","_sink","_stream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","handleErrnoException","runCommand","fileSystem","_tag","spawn","flatMap","make","exitCode","async","resume","handle","stdio","stdout","stderr","cwd","getOrElse","constUndefined","shell","env","process","fromEntries","on","fail","unsafeDone","succeed","sync","kill","pipe","unit","dir","access","zipRight","acquireRelease","isDone","done","suspend","await","map","exitCodeDeferred","drain","fromWritable","code","signal","ExitCode","isRunning","negate","asUnit","
|
|
1
|
+
{"version":3,"file":"commandExecutor.js","names":["Command","_interopRequireWildcard","require","CommandExecutor","FileSystem","Deferred","Effect","_Function","Inspectable","Layer","Option","Sink","Stream","ChildProcess","_error","_sink","_stream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","handleErrnoException","ProcessProto","ProcessTypeId","BaseProto","toJSON","_id","pid","runCommand","fileSystem","_tag","spawn","flatMap","make","exitCode","async","resume","handle","stdio","stdout","stderr","cwd","getOrElse","constUndefined","shell","env","process","fromEntries","on","fail","unsafeDone","succeed","sync","kill","pipe","unit","dir","access","zipRight","acquireRelease","isDone","done","suspend","await","map","exitCodeDeferred","drain","fromWritable","code","signal","ExitCode","isRunning","negate","asUnit","ProcessId","fromReadable","transduce","assign","create","tap","forkDaemon","run","head","tail","slice","initial","last","stream","unwrapScoped","layer","exports","effect","makeExecutor"],"sources":["../../../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.stream = exports.persisted = exports.fileToReadable = void 0;
|
|
|
7
7
|
var Multipart = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Multipart"));
|
|
8
8
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
9
9
|
var _Function = /*#__PURE__*/require("effect/Function");
|
|
10
|
+
var Inspectable = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Inspectable"));
|
|
10
11
|
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
|
|
11
12
|
var _multipasta = /*#__PURE__*/require("multipasta");
|
|
12
13
|
var MP = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("multipasta/node"));
|
|
@@ -50,38 +51,67 @@ const persisted = (source, headers) => Multipart.toPersisted(stream(source, head
|
|
|
50
51
|
try: signal => NodeStreamP.pipeline(file.file, NFS.createWriteStream(path), {
|
|
51
52
|
signal
|
|
52
53
|
}),
|
|
53
|
-
catch: error => Multipart.MultipartError(
|
|
54
|
+
catch: error => new Multipart.MultipartError({
|
|
55
|
+
reason: "InternalError",
|
|
56
|
+
error
|
|
57
|
+
})
|
|
54
58
|
}));
|
|
55
59
|
exports.persisted = persisted;
|
|
56
60
|
const convertPart = part => part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part);
|
|
57
|
-
class
|
|
61
|
+
class PartBase extends Inspectable.Class {
|
|
58
62
|
[Multipart.TypeId];
|
|
63
|
+
constructor() {
|
|
64
|
+
super();
|
|
65
|
+
this[Multipart.TypeId] = Multipart.TypeId;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
class FieldImpl extends PartBase {
|
|
59
69
|
_tag = "Field";
|
|
60
70
|
key;
|
|
61
71
|
contentType;
|
|
62
72
|
value;
|
|
63
73
|
constructor(info, value) {
|
|
64
|
-
|
|
74
|
+
super();
|
|
65
75
|
this.key = info.name;
|
|
66
76
|
this.contentType = info.contentType;
|
|
67
77
|
this.value = (0, _multipasta.decodeField)(info, value);
|
|
68
78
|
}
|
|
79
|
+
toJSON() {
|
|
80
|
+
return {
|
|
81
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
82
|
+
_tag: "Field",
|
|
83
|
+
key: this.key,
|
|
84
|
+
value: this.value,
|
|
85
|
+
contentType: this.contentType
|
|
86
|
+
};
|
|
87
|
+
}
|
|
69
88
|
}
|
|
70
|
-
class FileImpl {
|
|
89
|
+
class FileImpl extends PartBase {
|
|
71
90
|
file;
|
|
72
91
|
_tag = "File";
|
|
73
|
-
[Multipart.TypeId];
|
|
74
92
|
key;
|
|
75
93
|
name;
|
|
76
94
|
contentType;
|
|
77
95
|
content;
|
|
78
96
|
constructor(file) {
|
|
97
|
+
super();
|
|
79
98
|
this.file = file;
|
|
80
|
-
this[Multipart.TypeId] = Multipart.TypeId;
|
|
81
99
|
this.key = file.info.name;
|
|
82
100
|
this.name = file.filename ?? file.info.name;
|
|
83
101
|
this.contentType = file.info.contentType;
|
|
84
|
-
this.content = NodeStream.fromReadable(() => file, error => Multipart.MultipartError(
|
|
102
|
+
this.content = NodeStream.fromReadable(() => file, error => new Multipart.MultipartError({
|
|
103
|
+
reason: "InternalError",
|
|
104
|
+
error
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
toJSON() {
|
|
108
|
+
return {
|
|
109
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
110
|
+
_tag: "File",
|
|
111
|
+
key: this.key,
|
|
112
|
+
name: this.name,
|
|
113
|
+
contentType: this.contentType
|
|
114
|
+
};
|
|
85
115
|
}
|
|
86
116
|
}
|
|
87
117
|
/** @internal */
|
|
@@ -94,25 +124,40 @@ function convertError(error) {
|
|
|
94
124
|
switch (error.limit) {
|
|
95
125
|
case "MaxParts":
|
|
96
126
|
{
|
|
97
|
-
return Multipart.MultipartError(
|
|
127
|
+
return new Multipart.MultipartError({
|
|
128
|
+
reason: "TooManyParts",
|
|
129
|
+
error
|
|
130
|
+
});
|
|
98
131
|
}
|
|
99
132
|
case "MaxFieldSize":
|
|
100
133
|
{
|
|
101
|
-
return Multipart.MultipartError(
|
|
134
|
+
return new Multipart.MultipartError({
|
|
135
|
+
reason: "FieldTooLarge",
|
|
136
|
+
error
|
|
137
|
+
});
|
|
102
138
|
}
|
|
103
139
|
case "MaxPartSize":
|
|
104
140
|
{
|
|
105
|
-
return Multipart.MultipartError(
|
|
141
|
+
return new Multipart.MultipartError({
|
|
142
|
+
reason: "FileTooLarge",
|
|
143
|
+
error
|
|
144
|
+
});
|
|
106
145
|
}
|
|
107
146
|
case "MaxTotalSize":
|
|
108
147
|
{
|
|
109
|
-
return Multipart.MultipartError(
|
|
148
|
+
return new Multipart.MultipartError({
|
|
149
|
+
reason: "BodyTooLarge",
|
|
150
|
+
error
|
|
151
|
+
});
|
|
110
152
|
}
|
|
111
153
|
}
|
|
112
154
|
}
|
|
113
155
|
default:
|
|
114
156
|
{
|
|
115
|
-
return Multipart.MultipartError(
|
|
157
|
+
return new Multipart.MultipartError({
|
|
158
|
+
reason: "Parse",
|
|
159
|
+
error
|
|
160
|
+
});
|
|
116
161
|
}
|
|
117
162
|
}
|
|
118
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multipart.js","names":["Multipart","_interopRequireWildcard","require","Effect","_Function","Stream","_multipasta","MP","NFS","NodeStreamP","NodeStream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","stream","source","headers","pipe","makeConfig","map","config","fromReadable","parser","make","error","convertError","unwrap","convertPart","exports","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","MultipartError","part","_tag","FieldImpl","info","value","FileImpl","
|
|
1
|
+
{"version":3,"file":"multipart.js","names":["Multipart","_interopRequireWildcard","require","Effect","_Function","Inspectable","Stream","_multipasta","MP","NFS","NodeStreamP","NodeStream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","stream","source","headers","pipe","makeConfig","map","config","fromReadable","parser","make","error","convertError","unwrap","convertPart","exports","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","MultipartError","reason","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","filename","fileToReadable","limit"],"sources":["../../../../src/internal/http/multipart.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -53,18 +53,21 @@ const toFileUrl = path => Effect.try({
|
|
|
53
53
|
});
|
|
54
54
|
/** @internal */
|
|
55
55
|
const layerPosix = exports.layerPosix = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
|
|
56
|
+
[_Path.TypeId]: _Path.TypeId,
|
|
56
57
|
...NodePath.posix,
|
|
57
58
|
fromFileUrl,
|
|
58
59
|
toFileUrl
|
|
59
60
|
}));
|
|
60
61
|
/** @internal */
|
|
61
62
|
const layerWin32 = exports.layerWin32 = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
|
|
63
|
+
[_Path.TypeId]: _Path.TypeId,
|
|
62
64
|
...NodePath.win32,
|
|
63
65
|
fromFileUrl,
|
|
64
66
|
toFileUrl
|
|
65
67
|
}));
|
|
66
68
|
/** @internal */
|
|
67
69
|
const layer = exports.layer = /*#__PURE__*/Layer.succeed(_Path.Path, /*#__PURE__*/_Path.Path.of({
|
|
70
|
+
[_Path.TypeId]: _Path.TypeId,
|
|
68
71
|
...NodePath,
|
|
69
72
|
fromFileUrl,
|
|
70
73
|
toFileUrl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","names":["_Error","require","_Path","Effect","_interopRequireWildcard","Layer","NodePath","NodeUrl","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fromFileUrl","url","try","fileURLToPath","catch","error","BadArgument","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","exports","succeed","Path","of","posix","layerWin32","win32","layer"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAD,OAAA;AACA,IAAAE,MAAA,gBAAAC,uBAAA,eAAAH,OAAA;AACA,IAAAI,KAAA,gBAAAD,uBAAA,eAAAH,OAAA;AACA,IAAAK,QAAA,gBAAAF,uBAAA,eAAAH,OAAA;AACA,IAAAM,OAAA,gBAAAH,uBAAA,eAAAH,OAAA;AAAmC,SAAAO,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAEnC,MAAMY,WAAW,GAAIC,GAAQ,IAC3B3B,MAAM,CAAC4B,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMxB,OAAO,CAACyB,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACX,IAAAlC,MAAA,CAAAmC,WAAW,EAAC;IACVC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBC,OAAO,EAAE,GAAGJ,KAAK;GAClB;CACJ,CAAC;AAEJ,MAAMK,SAAS,GAAIC,IAAY,IAC7BrC,MAAM,CAAC4B,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMxB,OAAO,CAACkC,aAAa,CAACD,IAAI,CAAC;EACtCP,KAAK,EAAGC,KAAK,IACX,IAAAlC,MAAA,CAAAmC,WAAW,EAAC;IACVC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,GAAGJ,KAAK;GAClB;CACJ,CAAC;AAEJ;AACO,MAAMQ,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAGrC,KAAK,CAACuC,OAAO,CACrC1C,KAAA,CAAA2C,IAAI,eACJ3C,KAAA,CAAA2C,IAAI,CAACC,EAAE,CAAC;EACN,
|
|
1
|
+
{"version":3,"file":"path.js","names":["_Error","require","_Path","Effect","_interopRequireWildcard","Layer","NodePath","NodeUrl","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fromFileUrl","url","try","fileURLToPath","catch","error","BadArgument","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","exports","succeed","Path","of","TypeId","posix","layerWin32","win32","layer"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import * as FileSystem from "@effect/platform/FileSystem";
|
|
|
4
4
|
import * as Deferred from "effect/Deferred";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
6
|
import { constUndefined, pipe } from "effect/Function";
|
|
7
|
+
import * as Inspectable from "effect/Inspectable";
|
|
7
8
|
import * as Layer from "effect/Layer";
|
|
8
9
|
import * as Option from "effect/Option";
|
|
9
10
|
import * as Sink from "effect/Sink";
|
|
@@ -25,6 +26,16 @@ const toPlatformError = (method, error, command) => {
|
|
|
25
26
|
}, "");
|
|
26
27
|
return handleErrnoException("Command", method)(error, [flattened]);
|
|
27
28
|
};
|
|
29
|
+
const ProcessProto = {
|
|
30
|
+
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
31
|
+
...Inspectable.BaseProto,
|
|
32
|
+
toJSON() {
|
|
33
|
+
return {
|
|
34
|
+
_id: "@effect/platform/CommandExecutor/Process",
|
|
35
|
+
pid: this.pid
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
28
39
|
const runCommand = fileSystem => command => {
|
|
29
40
|
switch (command._tag) {
|
|
30
41
|
case "StandardCommand":
|
|
@@ -85,8 +96,7 @@ const runCommand = fileSystem => command => {
|
|
|
85
96
|
if (typeof command.stdout !== "string") {
|
|
86
97
|
stdout = Stream.transduce(stdout, command.stdout);
|
|
87
98
|
}
|
|
88
|
-
return {
|
|
89
|
-
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
99
|
+
return Object.assign(Object.create(ProcessProto), {
|
|
90
100
|
pid,
|
|
91
101
|
exitCode,
|
|
92
102
|
isRunning,
|
|
@@ -94,7 +104,7 @@ const runCommand = fileSystem => command => {
|
|
|
94
104
|
stdin,
|
|
95
105
|
stderr,
|
|
96
106
|
stdout
|
|
97
|
-
};
|
|
107
|
+
});
|
|
98
108
|
}), Effect.tap(process => Option.match(command.stdin, {
|
|
99
109
|
onNone: () => Effect.unit,
|
|
100
110
|
onSome: stdin => Effect.forkDaemon(Stream.run(stdin, process.stdin))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandExecutor.js","names":["Command","CommandExecutor","FileSystem","Deferred","Effect","constUndefined","pipe","Layer","Option","Sink","Stream","ChildProcess","handleErrnoException","fromWritable","fromReadable","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","runCommand","fileSystem","_tag","spawn","flatMap","make","exitCode","async","resume","handle","stdio","stdout","stderr","cwd","getOrElse","shell","env","process","Object","fromEntries","on","fail","unsafeDone","succeed","sync","kill","unit","dir","access","zipRight","acquireRelease","isDone","done","suspend","await","map","exitCodeDeferred","drain","code","signal","ExitCode","isRunning","negate","asUnit","
|
|
1
|
+
{"version":3,"file":"commandExecutor.js","names":["Command","CommandExecutor","FileSystem","Deferred","Effect","constUndefined","pipe","Inspectable","Layer","Option","Sink","Stream","ChildProcess","handleErrnoException","fromWritable","fromReadable","inputToStdioOption","stdin","match","onNone","onSome","outputToStdioOption","output","toError","err","globalThis","Error","String","toPlatformError","method","error","command","flattened","flatten","reduce","acc","curr","args","join","length","ProcessProto","ProcessTypeId","BaseProto","toJSON","_id","pid","runCommand","fileSystem","_tag","spawn","flatMap","make","exitCode","async","resume","handle","stdio","stdout","stderr","cwd","getOrElse","shell","env","process","Object","fromEntries","on","fail","unsafeDone","succeed","sync","kill","unit","dir","access","zipRight","acquireRelease","isDone","done","suspend","await","map","exitCodeDeferred","drain","code","signal","ExitCode","isRunning","negate","asUnit","ProcessId","transduce","assign","create","tap","forkDaemon","run","head","tail","slice","initial","last","stream","unwrapScoped","layer","effect","makeExecutor"],"sources":["../../../src/internal/commandExecutor.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Multipart from "@effect/platform/Http/Multipart";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import { pipe } from "effect/Function";
|
|
4
|
+
import * as Inspectable from "effect/Inspectable";
|
|
4
5
|
import * as Stream from "effect/Stream";
|
|
5
6
|
import { decodeField } from "multipasta";
|
|
6
7
|
import * as MP from "multipasta/node";
|
|
@@ -18,37 +19,66 @@ export const persisted = (source, headers) => Multipart.toPersisted(stream(sourc
|
|
|
18
19
|
try: signal => NodeStreamP.pipeline(file.file, NFS.createWriteStream(path), {
|
|
19
20
|
signal
|
|
20
21
|
}),
|
|
21
|
-
catch: error => Multipart.MultipartError(
|
|
22
|
+
catch: error => new Multipart.MultipartError({
|
|
23
|
+
reason: "InternalError",
|
|
24
|
+
error
|
|
25
|
+
})
|
|
22
26
|
}));
|
|
23
27
|
const convertPart = part => part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part);
|
|
24
|
-
class
|
|
28
|
+
class PartBase extends Inspectable.Class {
|
|
25
29
|
[Multipart.TypeId];
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
this[Multipart.TypeId] = Multipart.TypeId;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
class FieldImpl extends PartBase {
|
|
26
36
|
_tag = "Field";
|
|
27
37
|
key;
|
|
28
38
|
contentType;
|
|
29
39
|
value;
|
|
30
40
|
constructor(info, value) {
|
|
31
|
-
|
|
41
|
+
super();
|
|
32
42
|
this.key = info.name;
|
|
33
43
|
this.contentType = info.contentType;
|
|
34
44
|
this.value = decodeField(info, value);
|
|
35
45
|
}
|
|
46
|
+
toJSON() {
|
|
47
|
+
return {
|
|
48
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
49
|
+
_tag: "Field",
|
|
50
|
+
key: this.key,
|
|
51
|
+
value: this.value,
|
|
52
|
+
contentType: this.contentType
|
|
53
|
+
};
|
|
54
|
+
}
|
|
36
55
|
}
|
|
37
|
-
class FileImpl {
|
|
56
|
+
class FileImpl extends PartBase {
|
|
38
57
|
file;
|
|
39
58
|
_tag = "File";
|
|
40
|
-
[Multipart.TypeId];
|
|
41
59
|
key;
|
|
42
60
|
name;
|
|
43
61
|
contentType;
|
|
44
62
|
content;
|
|
45
63
|
constructor(file) {
|
|
64
|
+
super();
|
|
46
65
|
this.file = file;
|
|
47
|
-
this[Multipart.TypeId] = Multipart.TypeId;
|
|
48
66
|
this.key = file.info.name;
|
|
49
67
|
this.name = file.filename ?? file.info.name;
|
|
50
68
|
this.contentType = file.info.contentType;
|
|
51
|
-
this.content = NodeStream.fromReadable(() => file, error => Multipart.MultipartError(
|
|
69
|
+
this.content = NodeStream.fromReadable(() => file, error => new Multipart.MultipartError({
|
|
70
|
+
reason: "InternalError",
|
|
71
|
+
error
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
toJSON() {
|
|
75
|
+
return {
|
|
76
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
77
|
+
_tag: "File",
|
|
78
|
+
key: this.key,
|
|
79
|
+
name: this.name,
|
|
80
|
+
contentType: this.contentType
|
|
81
|
+
};
|
|
52
82
|
}
|
|
53
83
|
}
|
|
54
84
|
/** @internal */
|
|
@@ -60,25 +90,40 @@ function convertError(error) {
|
|
|
60
90
|
switch (error.limit) {
|
|
61
91
|
case "MaxParts":
|
|
62
92
|
{
|
|
63
|
-
return Multipart.MultipartError(
|
|
93
|
+
return new Multipart.MultipartError({
|
|
94
|
+
reason: "TooManyParts",
|
|
95
|
+
error
|
|
96
|
+
});
|
|
64
97
|
}
|
|
65
98
|
case "MaxFieldSize":
|
|
66
99
|
{
|
|
67
|
-
return Multipart.MultipartError(
|
|
100
|
+
return new Multipart.MultipartError({
|
|
101
|
+
reason: "FieldTooLarge",
|
|
102
|
+
error
|
|
103
|
+
});
|
|
68
104
|
}
|
|
69
105
|
case "MaxPartSize":
|
|
70
106
|
{
|
|
71
|
-
return Multipart.MultipartError(
|
|
107
|
+
return new Multipart.MultipartError({
|
|
108
|
+
reason: "FileTooLarge",
|
|
109
|
+
error
|
|
110
|
+
});
|
|
72
111
|
}
|
|
73
112
|
case "MaxTotalSize":
|
|
74
113
|
{
|
|
75
|
-
return Multipart.MultipartError(
|
|
114
|
+
return new Multipart.MultipartError({
|
|
115
|
+
reason: "BodyTooLarge",
|
|
116
|
+
error
|
|
117
|
+
});
|
|
76
118
|
}
|
|
77
119
|
}
|
|
78
120
|
}
|
|
79
121
|
default:
|
|
80
122
|
{
|
|
81
|
-
return Multipart.MultipartError(
|
|
123
|
+
return new Multipart.MultipartError({
|
|
124
|
+
reason: "Parse",
|
|
125
|
+
error
|
|
126
|
+
});
|
|
82
127
|
}
|
|
83
128
|
}
|
|
84
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multipart.js","names":["Multipart","Effect","pipe","Stream","decodeField","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","map","config","fromReadable","parser","make","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","MultipartError","part","_tag","FieldImpl","info","value","FileImpl","TypeId","key","contentType","
|
|
1
|
+
{"version":3,"file":"multipart.js","names":["Multipart","Effect","pipe","Inspectable","Stream","decodeField","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","map","config","fromReadable","parser","make","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","MultipartError","reason","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","toJSON","_id","content","filename","fileToReadable","limit"],"sources":["../../../../src/internal/http/multipart.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BadArgument } from "@effect/platform/Error";
|
|
2
|
-
import { Path } from "@effect/platform/Path";
|
|
2
|
+
import { Path, TypeId } from "@effect/platform/Path";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
5
|
import * as NodePath from "node:path";
|
|
@@ -22,18 +22,21 @@ const toFileUrl = path => Effect.try({
|
|
|
22
22
|
});
|
|
23
23
|
/** @internal */
|
|
24
24
|
export const layerPosix = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
|
|
25
|
+
[TypeId]: TypeId,
|
|
25
26
|
...NodePath.posix,
|
|
26
27
|
fromFileUrl,
|
|
27
28
|
toFileUrl
|
|
28
29
|
}));
|
|
29
30
|
/** @internal */
|
|
30
31
|
export const layerWin32 = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
|
|
32
|
+
[TypeId]: TypeId,
|
|
31
33
|
...NodePath.win32,
|
|
32
34
|
fromFileUrl,
|
|
33
35
|
toFileUrl
|
|
34
36
|
}));
|
|
35
37
|
/** @internal */
|
|
36
38
|
export const layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
|
|
39
|
+
[TypeId]: TypeId,
|
|
37
40
|
...NodePath,
|
|
38
41
|
fromFileUrl,
|
|
39
42
|
toFileUrl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","names":["BadArgument","Path","Effect","Layer","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,SAASC,IAAI,QAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"file":"path.js","names":["BadArgument","Path","TypeId","Effect","Layer","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,SAASC,IAAI,EAAEC,MAAM,QAAQ,uBAAuB;AACpD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BL,MAAM,CAACM,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACXZ,WAAW,CAAC;IACVa,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ,MAAMI,SAAS,GAAIC,IAAY,IAC7Bd,MAAM,CAACM,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACY,aAAa,CAACD,IAAI,CAAC;EACtCN,KAAK,EAAGC,KAAK,IACXZ,WAAW,CAAC;IACVa,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ;AACA,OAAO,MAAMO,UAAU,gBAAGf,KAAK,CAACgB,OAAO,CACrCnB,IAAI,eACJA,IAAI,CAACoB,EAAE,CAAC;EACN,CAACnB,MAAM,GAAGA,MAAM;EAChB,GAAGG,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMO,UAAU,gBAAGnB,KAAK,CAACgB,OAAO,CACrCnB,IAAI,eACJA,IAAI,CAACoB,EAAE,CAAC;EACN,CAACnB,MAAM,GAAGA,MAAM;EAChB,GAAGG,QAAQ,CAACmB,KAAK;EACjBjB,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMS,KAAK,gBAAGrB,KAAK,CAACgB,OAAO,CAChCnB,IAAI,eACJA,IAAI,CAACoB,EAAE,CAAC;EACN,CAACnB,MAAM,GAAGA,MAAM;EAChB,GAAGG,QAAQ;EACXE,WAAW;EACXS;CACD,CAAC,CACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node-shared",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"multipasta": "^0.1.21"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"effect": "^
|
|
18
|
-
"
|
|
17
|
+
"@effect/platform": "^0.48.10",
|
|
18
|
+
"effect": "^2.4.9"
|
|
19
19
|
},
|
|
20
20
|
"exports": {
|
|
21
21
|
"./package.json": "./package.json",
|
|
@@ -5,6 +5,7 @@ import * as FileSystem from "@effect/platform/FileSystem"
|
|
|
5
5
|
import * as Deferred from "effect/Deferred"
|
|
6
6
|
import * as Effect from "effect/Effect"
|
|
7
7
|
import { constUndefined, pipe } from "effect/Function"
|
|
8
|
+
import * as Inspectable from "effect/Inspectable"
|
|
8
9
|
import * as Layer from "effect/Layer"
|
|
9
10
|
import * as Option from "effect/Option"
|
|
10
11
|
import type * as Scope from "effect/Scope"
|
|
@@ -38,6 +39,17 @@ const toPlatformError = (
|
|
|
38
39
|
type ExitCode = readonly [code: number | null, signal: NodeJS.Signals | null]
|
|
39
40
|
type ExitCodeDeferred = Deferred.Deferred<ExitCode>
|
|
40
41
|
|
|
42
|
+
const ProcessProto = {
|
|
43
|
+
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
44
|
+
...Inspectable.BaseProto,
|
|
45
|
+
toJSON(this: CommandExecutor.Process) {
|
|
46
|
+
return {
|
|
47
|
+
_id: "@effect/platform/CommandExecutor/Process",
|
|
48
|
+
pid: this.pid
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
41
53
|
const runCommand =
|
|
42
54
|
(fileSystem: FileSystem.FileSystem) =>
|
|
43
55
|
(command: Command.Command): Effect.Effect<CommandExecutor.Process, Error.PlatformError, Scope.Scope> => {
|
|
@@ -146,8 +158,7 @@ const runCommand =
|
|
|
146
158
|
if (typeof command.stdout !== "string") {
|
|
147
159
|
stdout = Stream.transduce(stdout, command.stdout)
|
|
148
160
|
}
|
|
149
|
-
return {
|
|
150
|
-
[CommandExecutor.ProcessTypeId]: CommandExecutor.ProcessTypeId,
|
|
161
|
+
return Object.assign(Object.create(ProcessProto), {
|
|
151
162
|
pid,
|
|
152
163
|
exitCode,
|
|
153
164
|
isRunning,
|
|
@@ -155,7 +166,7 @@ const runCommand =
|
|
|
155
166
|
stdin,
|
|
156
167
|
stderr,
|
|
157
168
|
stdout
|
|
158
|
-
}
|
|
169
|
+
})
|
|
159
170
|
}),
|
|
160
171
|
Effect.tap((process) =>
|
|
161
172
|
Option.match(command.stdin, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Multipart from "@effect/platform/Http/Multipart"
|
|
2
2
|
import * as Effect from "effect/Effect"
|
|
3
3
|
import { pipe } from "effect/Function"
|
|
4
|
+
import * as Inspectable from "effect/Inspectable"
|
|
4
5
|
import * as Stream from "effect/Stream"
|
|
5
6
|
import type { MultipartError, PartInfo } from "multipasta"
|
|
6
7
|
import { decodeField } from "multipasta"
|
|
@@ -38,14 +39,21 @@ export const persisted = (
|
|
|
38
39
|
Multipart.toPersisted(stream(source, headers), (path, file) =>
|
|
39
40
|
Effect.tryPromise({
|
|
40
41
|
try: (signal) => NodeStreamP.pipeline((file as FileImpl).file, NFS.createWriteStream(path), { signal }),
|
|
41
|
-
catch: (error) => Multipart.MultipartError("InternalError", error)
|
|
42
|
+
catch: (error) => new Multipart.MultipartError({ reason: "InternalError", error })
|
|
42
43
|
}))
|
|
43
44
|
|
|
44
45
|
const convertPart = (part: MP.Part): Multipart.Part =>
|
|
45
46
|
part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part)
|
|
46
47
|
|
|
47
|
-
class
|
|
48
|
+
abstract class PartBase extends Inspectable.Class {
|
|
48
49
|
readonly [Multipart.TypeId]: Multipart.TypeId
|
|
50
|
+
constructor() {
|
|
51
|
+
super()
|
|
52
|
+
this[Multipart.TypeId] = Multipart.TypeId
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class FieldImpl extends PartBase implements Multipart.Field {
|
|
49
57
|
readonly _tag = "Field"
|
|
50
58
|
readonly key: string
|
|
51
59
|
readonly contentType: string
|
|
@@ -55,27 +63,49 @@ class FieldImpl implements Multipart.Field {
|
|
|
55
63
|
info: PartInfo,
|
|
56
64
|
value: Uint8Array
|
|
57
65
|
) {
|
|
58
|
-
|
|
66
|
+
super()
|
|
59
67
|
this.key = info.name
|
|
60
68
|
this.contentType = info.contentType
|
|
61
69
|
this.value = decodeField(info, value)
|
|
62
70
|
}
|
|
71
|
+
|
|
72
|
+
toJSON(): unknown {
|
|
73
|
+
return {
|
|
74
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
75
|
+
_tag: "Field",
|
|
76
|
+
key: this.key,
|
|
77
|
+
value: this.value,
|
|
78
|
+
contentType: this.contentType
|
|
79
|
+
}
|
|
80
|
+
}
|
|
63
81
|
}
|
|
64
82
|
|
|
65
|
-
class FileImpl implements Multipart.File {
|
|
83
|
+
class FileImpl extends PartBase implements Multipart.File {
|
|
66
84
|
readonly _tag = "File"
|
|
67
|
-
readonly [Multipart.TypeId]: Multipart.TypeId
|
|
68
85
|
readonly key: string
|
|
69
86
|
readonly name: string
|
|
70
87
|
readonly contentType: string
|
|
71
88
|
readonly content: Stream.Stream<Uint8Array, Multipart.MultipartError>
|
|
72
89
|
|
|
73
90
|
constructor(readonly file: MP.FileStream) {
|
|
74
|
-
|
|
91
|
+
super()
|
|
75
92
|
this.key = file.info.name
|
|
76
93
|
this.name = file.filename ?? file.info.name
|
|
77
94
|
this.contentType = file.info.contentType
|
|
78
|
-
this.content = NodeStream.fromReadable(
|
|
95
|
+
this.content = NodeStream.fromReadable(
|
|
96
|
+
() => file,
|
|
97
|
+
(error) => new Multipart.MultipartError({ reason: "InternalError", error })
|
|
98
|
+
)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
toJSON(): unknown {
|
|
102
|
+
return {
|
|
103
|
+
_id: "@effect/platform/Http/Multipart/Part",
|
|
104
|
+
_tag: "File",
|
|
105
|
+
key: this.key,
|
|
106
|
+
name: this.name,
|
|
107
|
+
contentType: this.contentType
|
|
108
|
+
}
|
|
79
109
|
}
|
|
80
110
|
}
|
|
81
111
|
|
|
@@ -87,21 +117,21 @@ function convertError(error: MultipartError): Multipart.MultipartError {
|
|
|
87
117
|
case "ReachedLimit": {
|
|
88
118
|
switch (error.limit) {
|
|
89
119
|
case "MaxParts": {
|
|
90
|
-
return Multipart.MultipartError("TooManyParts", error)
|
|
120
|
+
return new Multipart.MultipartError({ reason: "TooManyParts", error })
|
|
91
121
|
}
|
|
92
122
|
case "MaxFieldSize": {
|
|
93
|
-
return Multipart.MultipartError("FieldTooLarge", error)
|
|
123
|
+
return new Multipart.MultipartError({ reason: "FieldTooLarge", error })
|
|
94
124
|
}
|
|
95
125
|
case "MaxPartSize": {
|
|
96
|
-
return Multipart.MultipartError("FileTooLarge", error)
|
|
126
|
+
return new Multipart.MultipartError({ reason: "FileTooLarge", error })
|
|
97
127
|
}
|
|
98
128
|
case "MaxTotalSize": {
|
|
99
|
-
return Multipart.MultipartError("BodyTooLarge", error)
|
|
129
|
+
return new Multipart.MultipartError({ reason: "BodyTooLarge", error })
|
|
100
130
|
}
|
|
101
131
|
}
|
|
102
132
|
}
|
|
103
133
|
default: {
|
|
104
|
-
return Multipart.MultipartError("Parse", error)
|
|
134
|
+
return new Multipart.MultipartError({ reason: "Parse", error })
|
|
105
135
|
}
|
|
106
136
|
}
|
|
107
137
|
}
|
package/src/internal/path.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BadArgument } from "@effect/platform/Error"
|
|
2
|
-
import { Path } from "@effect/platform/Path"
|
|
2
|
+
import { Path, TypeId } from "@effect/platform/Path"
|
|
3
3
|
import * as Effect from "effect/Effect"
|
|
4
4
|
import * as Layer from "effect/Layer"
|
|
5
5
|
import * as NodePath from "node:path"
|
|
@@ -31,6 +31,7 @@ const toFileUrl = (path: string): Effect.Effect<URL, BadArgument> =>
|
|
|
31
31
|
export const layerPosix = Layer.succeed(
|
|
32
32
|
Path,
|
|
33
33
|
Path.of({
|
|
34
|
+
[TypeId]: TypeId,
|
|
34
35
|
...NodePath.posix,
|
|
35
36
|
fromFileUrl,
|
|
36
37
|
toFileUrl
|
|
@@ -41,6 +42,7 @@ export const layerPosix = Layer.succeed(
|
|
|
41
42
|
export const layerWin32 = Layer.succeed(
|
|
42
43
|
Path,
|
|
43
44
|
Path.of({
|
|
45
|
+
[TypeId]: TypeId,
|
|
44
46
|
...NodePath.win32,
|
|
45
47
|
fromFileUrl,
|
|
46
48
|
toFileUrl
|
|
@@ -51,6 +53,7 @@ export const layerWin32 = Layer.succeed(
|
|
|
51
53
|
export const layer = Layer.succeed(
|
|
52
54
|
Path,
|
|
53
55
|
Path.of({
|
|
56
|
+
[TypeId]: TypeId,
|
|
54
57
|
...NodePath,
|
|
55
58
|
fromFileUrl,
|
|
56
59
|
toFileUrl
|