@effect/platform 0.58.27 → 0.59.1
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/Error.js +1 -25
- package/dist/cjs/Error.js.map +1 -1
- package/dist/cjs/HttpApp.js +4 -1
- package/dist/cjs/HttpApp.js.map +1 -1
- package/dist/cjs/HttpClientError.js +5 -6
- package/dist/cjs/HttpClientError.js.map +1 -1
- package/dist/cjs/HttpServerError.js +6 -5
- package/dist/cjs/HttpServerError.js.map +1 -1
- package/dist/cjs/HttpServerResponse.js.map +1 -1
- package/dist/cjs/Multipart.js.map +1 -1
- package/dist/cjs/Socket.js +11 -11
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/cjs/Worker.js +10 -1
- package/dist/cjs/Worker.js.map +1 -1
- package/dist/cjs/WorkerError.js +13 -4
- package/dist/cjs/WorkerError.js.map +1 -1
- package/dist/cjs/WorkerRunner.js +6 -1
- package/dist/cjs/WorkerRunner.js.map +1 -1
- package/dist/cjs/internal/httpClient.js +7 -7
- package/dist/cjs/internal/httpClient.js.map +1 -1
- package/dist/cjs/internal/httpClientResponse.js +13 -13
- package/dist/cjs/internal/httpClientResponse.js.map +1 -1
- package/dist/cjs/internal/httpServerRequest.js +16 -16
- package/dist/cjs/internal/httpServerRequest.js.map +1 -1
- package/dist/cjs/internal/httpServerResponse.js +4 -3
- package/dist/cjs/internal/httpServerResponse.js.map +1 -1
- package/dist/cjs/internal/multipart.js +16 -16
- package/dist/cjs/internal/multipart.js.map +1 -1
- package/dist/cjs/internal/path.js +461 -11
- package/dist/cjs/internal/path.js.map +1 -1
- package/dist/cjs/internal/worker.js +126 -59
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +39 -65
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/Error.d.ts +0 -10
- package/dist/dts/Error.d.ts.map +1 -1
- package/dist/dts/HttpApp.d.ts +1 -1
- package/dist/dts/HttpApp.d.ts.map +1 -1
- package/dist/dts/HttpClientError.d.ts +6 -8
- package/dist/dts/HttpClientError.d.ts.map +1 -1
- package/dist/dts/HttpServerError.d.ts +10 -13
- package/dist/dts/HttpServerError.d.ts.map +1 -1
- package/dist/dts/HttpServerResponse.d.ts +5 -1
- package/dist/dts/HttpServerResponse.d.ts.map +1 -1
- package/dist/dts/Multipart.d.ts +3 -2
- package/dist/dts/Multipart.d.ts.map +1 -1
- package/dist/dts/Socket.d.ts +2 -4
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/dts/Worker.d.ts +27 -27
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/dts/WorkerError.d.ts +2 -2
- package/dist/dts/WorkerError.d.ts.map +1 -1
- package/dist/dts/WorkerRunner.d.ts +8 -5
- package/dist/dts/WorkerRunner.d.ts.map +1 -1
- package/dist/esm/Error.js +0 -23
- package/dist/esm/Error.js.map +1 -1
- package/dist/esm/HttpApp.js +4 -1
- package/dist/esm/HttpApp.js.map +1 -1
- package/dist/esm/HttpClientError.js +5 -6
- package/dist/esm/HttpClientError.js.map +1 -1
- package/dist/esm/HttpServerError.js +7 -6
- package/dist/esm/HttpServerError.js.map +1 -1
- package/dist/esm/HttpServerResponse.js.map +1 -1
- package/dist/esm/Multipart.js.map +1 -1
- package/dist/esm/Socket.js +12 -12
- package/dist/esm/Socket.js.map +1 -1
- package/dist/esm/Worker.js +9 -0
- package/dist/esm/Worker.js.map +1 -1
- package/dist/esm/WorkerError.js +13 -4
- package/dist/esm/WorkerError.js.map +1 -1
- package/dist/esm/WorkerRunner.js +5 -0
- package/dist/esm/WorkerRunner.js.map +1 -1
- package/dist/esm/internal/httpClient.js +7 -7
- package/dist/esm/internal/httpClient.js.map +1 -1
- package/dist/esm/internal/httpClientResponse.js +13 -13
- package/dist/esm/internal/httpClientResponse.js.map +1 -1
- package/dist/esm/internal/httpServerRequest.js +16 -16
- package/dist/esm/internal/httpServerRequest.js.map +1 -1
- package/dist/esm/internal/httpServerResponse.js +4 -3
- package/dist/esm/internal/httpServerResponse.js.map +1 -1
- package/dist/esm/internal/multipart.js +17 -17
- package/dist/esm/internal/multipart.js.map +1 -1
- package/dist/esm/internal/path.js +461 -10
- package/dist/esm/internal/path.js.map +1 -1
- package/dist/esm/internal/worker.js +124 -57
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +38 -65
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +5 -6
- package/src/Error.ts +0 -38
- package/src/HttpApp.ts +2 -2
- package/src/HttpClientError.ts +13 -6
- package/src/HttpServerError.ts +17 -6
- package/src/HttpServerResponse.ts +8 -1
- package/src/Multipart.ts +3 -2
- package/src/Socket.ts +10 -9
- package/src/Worker.ts +32 -29
- package/src/WorkerError.ts +15 -8
- package/src/WorkerRunner.ts +15 -8
- package/src/internal/httpClient.ts +7 -7
- package/src/internal/httpClientResponse.ts +13 -13
- package/src/internal/httpServerRequest.ts +15 -15
- package/src/internal/httpServerResponse.ts +7 -3
- package/src/internal/multipart.ts +16 -15
- package/src/internal/path.ts +510 -14
- package/src/internal/worker.ts +193 -146
- package/src/internal/workerRunner.ts +106 -139
|
@@ -41,9 +41,9 @@ const isPersistedFile = u => Predicate.hasProperty(u, TypeId) && Predicate.isTag
|
|
|
41
41
|
exports.isPersistedFile = isPersistedFile;
|
|
42
42
|
const ErrorTypeId = exports.ErrorTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Multipart/MultipartError");
|
|
43
43
|
/** @internal */
|
|
44
|
-
class MultipartError extends (0, _Error.
|
|
44
|
+
class MultipartError extends (0, _Error.TypeIdError)(ErrorTypeId, "MultipartError") {
|
|
45
45
|
get message() {
|
|
46
|
-
return
|
|
46
|
+
return this.reason;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
/** @internal */
|
|
@@ -185,37 +185,37 @@ const makeFromQueue = (config, queue) => Channel.suspend(() => {
|
|
|
185
185
|
});
|
|
186
186
|
return Channel.embedInput(partsChannel, input);
|
|
187
187
|
});
|
|
188
|
-
function convertError(
|
|
189
|
-
switch (
|
|
188
|
+
function convertError(cause) {
|
|
189
|
+
switch (cause._tag) {
|
|
190
190
|
case "ReachedLimit":
|
|
191
191
|
{
|
|
192
|
-
switch (
|
|
192
|
+
switch (cause.limit) {
|
|
193
193
|
case "MaxParts":
|
|
194
194
|
{
|
|
195
195
|
return new MultipartError({
|
|
196
196
|
reason: "TooManyParts",
|
|
197
|
-
|
|
197
|
+
cause
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
case "MaxFieldSize":
|
|
201
201
|
{
|
|
202
202
|
return new MultipartError({
|
|
203
203
|
reason: "FieldTooLarge",
|
|
204
|
-
|
|
204
|
+
cause
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
207
|
case "MaxPartSize":
|
|
208
208
|
{
|
|
209
209
|
return new MultipartError({
|
|
210
210
|
reason: "FileTooLarge",
|
|
211
|
-
|
|
211
|
+
cause
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
case "MaxTotalSize":
|
|
215
215
|
{
|
|
216
216
|
return new MultipartError({
|
|
217
217
|
reason: "BodyTooLarge",
|
|
218
|
-
|
|
218
|
+
cause
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
}
|
|
@@ -224,7 +224,7 @@ function convertError(error) {
|
|
|
224
224
|
{
|
|
225
225
|
return new MultipartError({
|
|
226
226
|
reason: "Parse",
|
|
227
|
-
|
|
227
|
+
cause
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
}
|
|
@@ -280,9 +280,9 @@ class FileImpl extends PartBase {
|
|
|
280
280
|
};
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
|
-
const defaultWriteFile = (path, file) => Effect.flatMap(FileSystem.FileSystem, fs => Effect.mapError(Stream.run(file.content, fs.sink(path)),
|
|
283
|
+
const defaultWriteFile = (path, file) => Effect.flatMap(FileSystem.FileSystem, fs => Effect.mapError(Stream.run(file.content, fs.sink(path)), cause => new MultipartError({
|
|
284
284
|
reason: "InternalError",
|
|
285
|
-
|
|
285
|
+
cause
|
|
286
286
|
})));
|
|
287
287
|
/** @internal */
|
|
288
288
|
const toPersisted = (stream, writeFile = defaultWriteFile) => (0, _Function.pipe)(Effect.Do, Effect.bind("fs", () => FileSystem.FileSystem), Effect.bind("path", () => Path.Path), Effect.bind("dir", ({
|
|
@@ -304,13 +304,13 @@ const toPersisted = (stream, writeFile = defaultWriteFile) => (0, _Function.pipe
|
|
|
304
304
|
persisted[part.key].push(new PersistedFileImpl(file.key, file.name, file.contentType, path));
|
|
305
305
|
return Effect.as(writeFile(path, file), persisted);
|
|
306
306
|
})), Effect.catchTags({
|
|
307
|
-
SystemError:
|
|
307
|
+
SystemError: cause => Effect.fail(new MultipartError({
|
|
308
308
|
reason: "InternalError",
|
|
309
|
-
|
|
309
|
+
cause
|
|
310
310
|
})),
|
|
311
|
-
BadArgument:
|
|
311
|
+
BadArgument: cause => Effect.fail(new MultipartError({
|
|
312
312
|
reason: "InternalError",
|
|
313
|
-
|
|
313
|
+
cause
|
|
314
314
|
}))
|
|
315
315
|
}));
|
|
316
316
|
exports.toPersisted = toPersisted;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multipart.js","names":["Schema","_interopRequireWildcard","require","Cause","Channel","Chunk","Effect","FiberRef","_Function","_GlobalValue","Inspectable","Option","Predicate","Queue","Stream","MP","_Error","FileSystem","IncomingMessage","Path","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isPart","hasProperty","isField","_tag","isFile","isPersistedFile","isTagged","ErrorTypeId","MultipartError","RefailError","message","reason","maxParts","globalValue","unsafeMake","none","withMaxParts","dual","effect","count","locally","maxFieldSize","Size","withMaxFieldSize","size","maxFileSize","withMaxFileSize","map","fieldMimeTypes","make","withFieldMimeTypes","mimeTypes","fromIterable","FileSchema","declare","identifier","FilesSchema","Array","SingleFileSchema","transform","pipe","itemsCount","strict","decode","file","encode","schemaPersisted","schema","options","parse","decodeUnknown","persisted","schemaJson","fromJson","parseJson","field","Struct","_","makeConfig","headers","all","getOrUndefined","Number","maxPartSize","flow","maxTotalSize","maxBodySize","length","undefined","info","some","contentType","includes","defaultIsFile","makeChannel","bufferSize","acquireUseRelease","bounded","config","queue","makeFromQueue","shutdown","suspend","error","partsBuffer","partsFinished","input","awaitRead","void","emit","element","offer","cause","done","_value","parser","onField","value","push","FieldImpl","name","decodeField","onFile","chunks","finished","take","zipRight","pump","chunk","unsafeFromArray","write","FileImpl","onError","error_","fail","convertError","onDone","flatMap","sync","end","forEach","buf","takeParts","parts","partsChannel","failCause","embedInput","limit","PartBase","Class","constructor","key","toJSON","_id","content","channel","filename","fromChannel","defaultWriteFile","path","fs","mapError","run","sink","toPersisted","stream","writeFile","Do","bind","makeTempDirectoryScoped","dir","path_","runFoldEffect","create","part","succeed","join","basename","slice","isArray","PersistedFileImpl","as","catchTags","SystemError","BadArgument"],"sources":["../../../src/internal/multipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"multipart.js","names":["Schema","_interopRequireWildcard","require","Cause","Channel","Chunk","Effect","FiberRef","_Function","_GlobalValue","Inspectable","Option","Predicate","Queue","Stream","MP","_Error","FileSystem","IncomingMessage","Path","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","isPart","hasProperty","isField","_tag","isFile","isPersistedFile","isTagged","ErrorTypeId","MultipartError","TypeIdError","message","reason","maxParts","globalValue","unsafeMake","none","withMaxParts","dual","effect","count","locally","maxFieldSize","Size","withMaxFieldSize","size","maxFileSize","withMaxFileSize","map","fieldMimeTypes","make","withFieldMimeTypes","mimeTypes","fromIterable","FileSchema","declare","identifier","FilesSchema","Array","SingleFileSchema","transform","pipe","itemsCount","strict","decode","file","encode","schemaPersisted","schema","options","parse","decodeUnknown","persisted","schemaJson","fromJson","parseJson","field","Struct","_","makeConfig","headers","all","getOrUndefined","Number","maxPartSize","flow","maxTotalSize","maxBodySize","length","undefined","info","some","contentType","includes","defaultIsFile","makeChannel","bufferSize","acquireUseRelease","bounded","config","queue","makeFromQueue","shutdown","suspend","error","partsBuffer","partsFinished","input","awaitRead","void","emit","element","offer","cause","done","_value","parser","onField","value","push","FieldImpl","name","decodeField","onFile","chunks","finished","take","zipRight","pump","chunk","unsafeFromArray","write","FileImpl","onError","error_","fail","convertError","onDone","flatMap","sync","end","forEach","buf","takeParts","parts","partsChannel","failCause","embedInput","limit","PartBase","Class","constructor","key","toJSON","_id","content","channel","filename","fromChannel","defaultWriteFile","path","fs","mapError","run","sink","toPersisted","stream","writeFile","Do","bind","makeTempDirectoryScoped","dir","path_","runFoldEffect","create","part","succeed","join","basename","slice","isArray","PersistedFileImpl","as","catchTags","SystemError","BadArgument"],"sources":["../../../src/internal/multipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,23 +8,13 @@ var _Context = require("effect/Context");
|
|
|
8
8
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
9
9
|
var _Function = require("effect/Function");
|
|
10
10
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
11
|
-
var _pathBrowserify = _interopRequireDefault(require("path-browserify"));
|
|
12
11
|
var _Error = require("../Error.js");
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
12
|
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
13
|
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
14
|
/** @internal */
|
|
17
15
|
const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Path");
|
|
18
16
|
/** @internal */
|
|
19
17
|
const Path = exports.Path = /*#__PURE__*/(0, _Context.GenericTag)("@effect/platform/Path");
|
|
20
|
-
/** @internal */
|
|
21
|
-
const layer = exports.layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
|
|
22
|
-
[TypeId]: TypeId,
|
|
23
|
-
..._pathBrowserify.default,
|
|
24
|
-
fromFileUrl,
|
|
25
|
-
toFileUrl,
|
|
26
|
-
toNamespacedPath: _Function.identity
|
|
27
|
-
}));
|
|
28
18
|
/**
|
|
29
19
|
* The following functions are adapted from the Node.js source code:
|
|
30
20
|
* https://github.com/nodejs/node/blob/main/lib/internal/url.js
|
|
@@ -32,6 +22,86 @@ const layer = exports.layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path
|
|
|
32
22
|
* The following license applies to these functions:
|
|
33
23
|
* - MIT
|
|
34
24
|
*/
|
|
25
|
+
// Resolves . and .. elements in a path with directory names
|
|
26
|
+
function normalizeStringPosix(path, allowAboveRoot) {
|
|
27
|
+
let res = "";
|
|
28
|
+
let lastSegmentLength = 0;
|
|
29
|
+
let lastSlash = -1;
|
|
30
|
+
let dots = 0;
|
|
31
|
+
let code;
|
|
32
|
+
for (let i = 0; i <= path.length; ++i) {
|
|
33
|
+
if (i < path.length) {
|
|
34
|
+
code = path.charCodeAt(i);
|
|
35
|
+
} else if (code === 47 /*/*/) {
|
|
36
|
+
break;
|
|
37
|
+
} else {
|
|
38
|
+
code = 47; /*/*/
|
|
39
|
+
}
|
|
40
|
+
if (code === 47 /*/*/) {
|
|
41
|
+
if (lastSlash === i - 1 || dots === 1) {
|
|
42
|
+
// NOOP
|
|
43
|
+
} else if (lastSlash !== i - 1 && dots === 2) {
|
|
44
|
+
if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
|
|
45
|
+
if (res.length > 2) {
|
|
46
|
+
const lastSlashIndex = res.lastIndexOf("/");
|
|
47
|
+
if (lastSlashIndex !== res.length - 1) {
|
|
48
|
+
if (lastSlashIndex === -1) {
|
|
49
|
+
res = "";
|
|
50
|
+
lastSegmentLength = 0;
|
|
51
|
+
} else {
|
|
52
|
+
res = res.slice(0, lastSlashIndex);
|
|
53
|
+
lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
|
|
54
|
+
}
|
|
55
|
+
lastSlash = i;
|
|
56
|
+
dots = 0;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
} else if (res.length === 2 || res.length === 1) {
|
|
60
|
+
res = "";
|
|
61
|
+
lastSegmentLength = 0;
|
|
62
|
+
lastSlash = i;
|
|
63
|
+
dots = 0;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (allowAboveRoot) {
|
|
68
|
+
if (res.length > 0) {
|
|
69
|
+
res += "/..";
|
|
70
|
+
} else {
|
|
71
|
+
res = "..";
|
|
72
|
+
}
|
|
73
|
+
lastSegmentLength = 2;
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
if (res.length > 0) {
|
|
77
|
+
res += "/" + path.slice(lastSlash + 1, i);
|
|
78
|
+
} else {
|
|
79
|
+
res = path.slice(lastSlash + 1, i);
|
|
80
|
+
}
|
|
81
|
+
lastSegmentLength = i - lastSlash - 1;
|
|
82
|
+
}
|
|
83
|
+
lastSlash = i;
|
|
84
|
+
dots = 0;
|
|
85
|
+
} else if (code === 46 /*.*/ && dots !== -1) {
|
|
86
|
+
;
|
|
87
|
+
++dots;
|
|
88
|
+
} else {
|
|
89
|
+
dots = -1;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return res;
|
|
93
|
+
}
|
|
94
|
+
function _format(sep, pathObject) {
|
|
95
|
+
const dir = pathObject.dir || pathObject.root;
|
|
96
|
+
const base = pathObject.base || (pathObject.name || "") + (pathObject.ext || "");
|
|
97
|
+
if (!dir) {
|
|
98
|
+
return base;
|
|
99
|
+
}
|
|
100
|
+
if (dir === pathObject.root) {
|
|
101
|
+
return dir + base;
|
|
102
|
+
}
|
|
103
|
+
return dir + sep + base;
|
|
104
|
+
}
|
|
35
105
|
function fromFileUrl(url) {
|
|
36
106
|
if (url.protocol !== "file:") {
|
|
37
107
|
return Effect.fail((0, _Error.BadArgument)({
|
|
@@ -61,10 +131,48 @@ function fromFileUrl(url) {
|
|
|
61
131
|
}
|
|
62
132
|
return Effect.succeed(decodeURIComponent(pathname));
|
|
63
133
|
}
|
|
134
|
+
const resolve = function resolve() {
|
|
135
|
+
let resolvedPath = "";
|
|
136
|
+
let resolvedAbsolute = false;
|
|
137
|
+
let cwd = undefined;
|
|
138
|
+
for (let i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
139
|
+
let path;
|
|
140
|
+
if (i >= 0) {
|
|
141
|
+
path = arguments[i];
|
|
142
|
+
} else {
|
|
143
|
+
const process = globalThis.process;
|
|
144
|
+
if (cwd === undefined && "process" in globalThis && typeof process === "object" && process !== null && typeof process.cwd === "function") {
|
|
145
|
+
cwd = process.cwd();
|
|
146
|
+
}
|
|
147
|
+
path = cwd;
|
|
148
|
+
}
|
|
149
|
+
// Skip empty entries
|
|
150
|
+
if (path.length === 0) {
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
resolvedPath = path + "/" + resolvedPath;
|
|
154
|
+
resolvedAbsolute = path.charCodeAt(0) === 47; /*/*/
|
|
155
|
+
}
|
|
156
|
+
// At this point the path should be resolved to a full absolute path, but
|
|
157
|
+
// handle relative paths to be safe (might happen when process.cwd() fails)
|
|
158
|
+
// Normalize the path
|
|
159
|
+
resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
|
|
160
|
+
if (resolvedAbsolute) {
|
|
161
|
+
if (resolvedPath.length > 0) {
|
|
162
|
+
return "/" + resolvedPath;
|
|
163
|
+
} else {
|
|
164
|
+
return "/";
|
|
165
|
+
}
|
|
166
|
+
} else if (resolvedPath.length > 0) {
|
|
167
|
+
return resolvedPath;
|
|
168
|
+
} else {
|
|
169
|
+
return ".";
|
|
170
|
+
}
|
|
171
|
+
};
|
|
64
172
|
const CHAR_FORWARD_SLASH = 47;
|
|
65
173
|
function toFileUrl(filepath) {
|
|
66
174
|
const outURL = new URL("file://");
|
|
67
|
-
let resolved =
|
|
175
|
+
let resolved = resolve(filepath);
|
|
68
176
|
// path.resolve strips trailing slashes so we must add them back
|
|
69
177
|
const filePathLast = filepath.charCodeAt(filepath.length - 1);
|
|
70
178
|
if (filePathLast === CHAR_FORWARD_SLASH && resolved[resolved.length - 1] !== "/") {
|
|
@@ -96,4 +204,346 @@ function encodePathChars(filepath) {
|
|
|
96
204
|
}
|
|
97
205
|
return filepath;
|
|
98
206
|
}
|
|
207
|
+
const posixImpl = /*#__PURE__*/Path.of({
|
|
208
|
+
[TypeId]: TypeId,
|
|
209
|
+
resolve,
|
|
210
|
+
normalize(path) {
|
|
211
|
+
if (path.length === 0) return ".";
|
|
212
|
+
const isAbsolute = path.charCodeAt(0) === 47; /*/*/
|
|
213
|
+
const trailingSeparator = path.charCodeAt(path.length - 1) === 47; /*/*/
|
|
214
|
+
// Normalize the path
|
|
215
|
+
path = normalizeStringPosix(path, !isAbsolute);
|
|
216
|
+
if (path.length === 0 && !isAbsolute) path = ".";
|
|
217
|
+
if (path.length > 0 && trailingSeparator) path += "/";
|
|
218
|
+
if (isAbsolute) return "/" + path;
|
|
219
|
+
return path;
|
|
220
|
+
},
|
|
221
|
+
isAbsolute(path) {
|
|
222
|
+
return path.length > 0 && path.charCodeAt(0) === 47; /*/*/
|
|
223
|
+
},
|
|
224
|
+
join() {
|
|
225
|
+
if (arguments.length === 0) {
|
|
226
|
+
return ".";
|
|
227
|
+
}
|
|
228
|
+
let joined;
|
|
229
|
+
for (let i = 0; i < arguments.length; ++i) {
|
|
230
|
+
const arg = arguments[i];
|
|
231
|
+
if (arg.length > 0) {
|
|
232
|
+
if (joined === undefined) {
|
|
233
|
+
joined = arg;
|
|
234
|
+
} else {
|
|
235
|
+
joined += "/" + arg;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
if (joined === undefined) {
|
|
240
|
+
return ".";
|
|
241
|
+
}
|
|
242
|
+
return posixImpl.normalize(joined);
|
|
243
|
+
},
|
|
244
|
+
relative(from, to) {
|
|
245
|
+
if (from === to) return "";
|
|
246
|
+
from = posixImpl.resolve(from);
|
|
247
|
+
to = posixImpl.resolve(to);
|
|
248
|
+
if (from === to) return "";
|
|
249
|
+
// Trim any leading backslashes
|
|
250
|
+
let fromStart = 1;
|
|
251
|
+
for (; fromStart < from.length; ++fromStart) {
|
|
252
|
+
if (from.charCodeAt(fromStart) !== 47 /*/*/) {
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
const fromEnd = from.length;
|
|
257
|
+
const fromLen = fromEnd - fromStart;
|
|
258
|
+
// Trim any leading backslashes
|
|
259
|
+
let toStart = 1;
|
|
260
|
+
for (; toStart < to.length; ++toStart) {
|
|
261
|
+
if (to.charCodeAt(toStart) !== 47 /*/*/) {
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const toEnd = to.length;
|
|
266
|
+
const toLen = toEnd - toStart;
|
|
267
|
+
// Compare paths to find the longest common path from root
|
|
268
|
+
const length = fromLen < toLen ? fromLen : toLen;
|
|
269
|
+
let lastCommonSep = -1;
|
|
270
|
+
let i = 0;
|
|
271
|
+
for (; i <= length; ++i) {
|
|
272
|
+
if (i === length) {
|
|
273
|
+
if (toLen > length) {
|
|
274
|
+
if (to.charCodeAt(toStart + i) === 47 /*/*/) {
|
|
275
|
+
// We get here if `from` is the exact base path for `to`.
|
|
276
|
+
// For example: from='/foo/bar'; to='/foo/bar/baz'
|
|
277
|
+
return to.slice(toStart + i + 1);
|
|
278
|
+
} else if (i === 0) {
|
|
279
|
+
// We get here if `from` is the root
|
|
280
|
+
// For example: from='/'; to='/foo'
|
|
281
|
+
return to.slice(toStart + i);
|
|
282
|
+
}
|
|
283
|
+
} else if (fromLen > length) {
|
|
284
|
+
if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
|
|
285
|
+
// We get here if `to` is the exact base path for `from`.
|
|
286
|
+
// For example: from='/foo/bar/baz'; to='/foo/bar'
|
|
287
|
+
lastCommonSep = i;
|
|
288
|
+
} else if (i === 0) {
|
|
289
|
+
// We get here if `to` is the root.
|
|
290
|
+
// For example: from='/foo'; to='/'
|
|
291
|
+
lastCommonSep = 0;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
const fromCode = from.charCodeAt(fromStart + i);
|
|
297
|
+
const toCode = to.charCodeAt(toStart + i);
|
|
298
|
+
if (fromCode !== toCode) {
|
|
299
|
+
break;
|
|
300
|
+
} else if (fromCode === 47 /*/*/) {
|
|
301
|
+
lastCommonSep = i;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
let out = "";
|
|
305
|
+
// Generate the relative path based on the path difference between `to`
|
|
306
|
+
// and `from`
|
|
307
|
+
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
|
|
308
|
+
if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
|
|
309
|
+
if (out.length === 0) {
|
|
310
|
+
out += "..";
|
|
311
|
+
} else {
|
|
312
|
+
out += "/..";
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Lastly, append the rest of the destination (`to`) path that comes after
|
|
317
|
+
// the common path parts
|
|
318
|
+
if (out.length > 0) {
|
|
319
|
+
return out + to.slice(toStart + lastCommonSep);
|
|
320
|
+
} else {
|
|
321
|
+
toStart += lastCommonSep;
|
|
322
|
+
if (to.charCodeAt(toStart) === 47 /*/*/) {
|
|
323
|
+
;
|
|
324
|
+
++toStart;
|
|
325
|
+
}
|
|
326
|
+
return to.slice(toStart);
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
dirname(path) {
|
|
330
|
+
if (path.length === 0) return ".";
|
|
331
|
+
let code = path.charCodeAt(0);
|
|
332
|
+
const hasRoot = code === 47; /*/*/
|
|
333
|
+
let end = -1;
|
|
334
|
+
let matchedSlash = true;
|
|
335
|
+
for (let i = path.length - 1; i >= 1; --i) {
|
|
336
|
+
code = path.charCodeAt(i);
|
|
337
|
+
if (code === 47 /*/*/) {
|
|
338
|
+
if (!matchedSlash) {
|
|
339
|
+
end = i;
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
} else {
|
|
343
|
+
// We saw the first non-path separator
|
|
344
|
+
matchedSlash = false;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
if (end === -1) return hasRoot ? "/" : ".";
|
|
348
|
+
if (hasRoot && end === 1) return "//";
|
|
349
|
+
return path.slice(0, end);
|
|
350
|
+
},
|
|
351
|
+
basename(path, ext) {
|
|
352
|
+
let start = 0;
|
|
353
|
+
let end = -1;
|
|
354
|
+
let matchedSlash = true;
|
|
355
|
+
let i;
|
|
356
|
+
if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
|
|
357
|
+
if (ext.length === path.length && ext === path) return "";
|
|
358
|
+
let extIdx = ext.length - 1;
|
|
359
|
+
let firstNonSlashEnd = -1;
|
|
360
|
+
for (i = path.length - 1; i >= 0; --i) {
|
|
361
|
+
const code = path.charCodeAt(i);
|
|
362
|
+
if (code === 47 /*/*/) {
|
|
363
|
+
// If we reached a path separator that was not part of a set of path
|
|
364
|
+
// separators at the end of the string, stop now
|
|
365
|
+
if (!matchedSlash) {
|
|
366
|
+
start = i + 1;
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
} else {
|
|
370
|
+
if (firstNonSlashEnd === -1) {
|
|
371
|
+
// We saw the first non-path separator, remember this index in case
|
|
372
|
+
// we need it if the extension ends up not matching
|
|
373
|
+
matchedSlash = false;
|
|
374
|
+
firstNonSlashEnd = i + 1;
|
|
375
|
+
}
|
|
376
|
+
if (extIdx >= 0) {
|
|
377
|
+
// Try to match the explicit extension
|
|
378
|
+
if (code === ext.charCodeAt(extIdx)) {
|
|
379
|
+
if (--extIdx === -1) {
|
|
380
|
+
// We matched the extension, so mark this as the end of our path
|
|
381
|
+
// component
|
|
382
|
+
end = i;
|
|
383
|
+
}
|
|
384
|
+
} else {
|
|
385
|
+
// Extension does not match, so our result is the entire path
|
|
386
|
+
// component
|
|
387
|
+
extIdx = -1;
|
|
388
|
+
end = firstNonSlashEnd;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;
|
|
394
|
+
return path.slice(start, end);
|
|
395
|
+
} else {
|
|
396
|
+
for (i = path.length - 1; i >= 0; --i) {
|
|
397
|
+
if (path.charCodeAt(i) === 47 /*/*/) {
|
|
398
|
+
// If we reached a path separator that was not part of a set of path
|
|
399
|
+
// separators at the end of the string, stop now
|
|
400
|
+
if (!matchedSlash) {
|
|
401
|
+
start = i + 1;
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
} else if (end === -1) {
|
|
405
|
+
// We saw the first non-path separator, mark this as the end of our
|
|
406
|
+
// path component
|
|
407
|
+
matchedSlash = false;
|
|
408
|
+
end = i + 1;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
if (end === -1) return "";
|
|
412
|
+
return path.slice(start, end);
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
extname(path) {
|
|
416
|
+
let startDot = -1;
|
|
417
|
+
let startPart = 0;
|
|
418
|
+
let end = -1;
|
|
419
|
+
let matchedSlash = true;
|
|
420
|
+
// Track the state of characters (if any) we see before our first dot and
|
|
421
|
+
// after any path separator we find
|
|
422
|
+
let preDotState = 0;
|
|
423
|
+
for (let i = path.length - 1; i >= 0; --i) {
|
|
424
|
+
const code = path.charCodeAt(i);
|
|
425
|
+
if (code === 47 /*/*/) {
|
|
426
|
+
// If we reached a path separator that was not part of a set of path
|
|
427
|
+
// separators at the end of the string, stop now
|
|
428
|
+
if (!matchedSlash) {
|
|
429
|
+
startPart = i + 1;
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
continue;
|
|
433
|
+
}
|
|
434
|
+
if (end === -1) {
|
|
435
|
+
// We saw the first non-path separator, mark this as the end of our
|
|
436
|
+
// extension
|
|
437
|
+
matchedSlash = false;
|
|
438
|
+
end = i + 1;
|
|
439
|
+
}
|
|
440
|
+
if (code === 46 /*.*/) {
|
|
441
|
+
// If this is our first dot, mark it as the start of our extension
|
|
442
|
+
if (startDot === -1) {
|
|
443
|
+
startDot = i;
|
|
444
|
+
} else if (preDotState !== 1) {
|
|
445
|
+
preDotState = 1;
|
|
446
|
+
}
|
|
447
|
+
} else if (startDot !== -1) {
|
|
448
|
+
// We saw a non-dot and non-path separator before our dot, so we should
|
|
449
|
+
// have a good chance at having a non-empty extension
|
|
450
|
+
preDotState = -1;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
if (startDot === -1 || end === -1 ||
|
|
454
|
+
// We saw a non-dot character immediately before the dot
|
|
455
|
+
preDotState === 0 ||
|
|
456
|
+
// The (right-most) trimmed path component is exactly '..'
|
|
457
|
+
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
|
458
|
+
return "";
|
|
459
|
+
}
|
|
460
|
+
return path.slice(startDot, end);
|
|
461
|
+
},
|
|
462
|
+
format: function format(pathObject) {
|
|
463
|
+
if (pathObject === null || typeof pathObject !== "object") {
|
|
464
|
+
throw new TypeError("The \"pathObject\" argument must be of type Object. Received type " + typeof pathObject);
|
|
465
|
+
}
|
|
466
|
+
return _format("/", pathObject);
|
|
467
|
+
},
|
|
468
|
+
parse(path) {
|
|
469
|
+
const ret = {
|
|
470
|
+
root: "",
|
|
471
|
+
dir: "",
|
|
472
|
+
base: "",
|
|
473
|
+
ext: "",
|
|
474
|
+
name: ""
|
|
475
|
+
};
|
|
476
|
+
if (path.length === 0) return ret;
|
|
477
|
+
let code = path.charCodeAt(0);
|
|
478
|
+
const isAbsolute = code === 47; /*/*/
|
|
479
|
+
let start;
|
|
480
|
+
if (isAbsolute) {
|
|
481
|
+
ret.root = "/";
|
|
482
|
+
start = 1;
|
|
483
|
+
} else {
|
|
484
|
+
start = 0;
|
|
485
|
+
}
|
|
486
|
+
let startDot = -1;
|
|
487
|
+
let startPart = 0;
|
|
488
|
+
let end = -1;
|
|
489
|
+
let matchedSlash = true;
|
|
490
|
+
let i = path.length - 1;
|
|
491
|
+
// Track the state of characters (if any) we see before our first dot and
|
|
492
|
+
// after any path separator we find
|
|
493
|
+
let preDotState = 0;
|
|
494
|
+
// Get non-dir info
|
|
495
|
+
for (; i >= start; --i) {
|
|
496
|
+
code = path.charCodeAt(i);
|
|
497
|
+
if (code === 47 /*/*/) {
|
|
498
|
+
// If we reached a path separator that was not part of a set of path
|
|
499
|
+
// separators at the end of the string, stop now
|
|
500
|
+
if (!matchedSlash) {
|
|
501
|
+
startPart = i + 1;
|
|
502
|
+
break;
|
|
503
|
+
}
|
|
504
|
+
continue;
|
|
505
|
+
}
|
|
506
|
+
if (end === -1) {
|
|
507
|
+
// We saw the first non-path separator, mark this as the end of our
|
|
508
|
+
// extension
|
|
509
|
+
matchedSlash = false;
|
|
510
|
+
end = i + 1;
|
|
511
|
+
}
|
|
512
|
+
if (code === 46 /*.*/) {
|
|
513
|
+
// If this is our first dot, mark it as the start of our extension
|
|
514
|
+
if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
|
|
515
|
+
} else if (startDot !== -1) {
|
|
516
|
+
// We saw a non-dot and non-path separator before our dot, so we should
|
|
517
|
+
// have a good chance at having a non-empty extension
|
|
518
|
+
preDotState = -1;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
if (startDot === -1 || end === -1 ||
|
|
522
|
+
// We saw a non-dot character immediately before the dot
|
|
523
|
+
preDotState === 0 ||
|
|
524
|
+
// The (right-most) trimmed path component is exactly '..'
|
|
525
|
+
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
|
526
|
+
if (end !== -1) {
|
|
527
|
+
if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);
|
|
528
|
+
}
|
|
529
|
+
} else {
|
|
530
|
+
if (startPart === 0 && isAbsolute) {
|
|
531
|
+
ret.name = path.slice(1, startDot);
|
|
532
|
+
ret.base = path.slice(1, end);
|
|
533
|
+
} else {
|
|
534
|
+
ret.name = path.slice(startPart, startDot);
|
|
535
|
+
ret.base = path.slice(startPart, end);
|
|
536
|
+
}
|
|
537
|
+
ret.ext = path.slice(startDot, end);
|
|
538
|
+
}
|
|
539
|
+
if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = "/";
|
|
540
|
+
return ret;
|
|
541
|
+
},
|
|
542
|
+
sep: "/",
|
|
543
|
+
fromFileUrl,
|
|
544
|
+
toFileUrl,
|
|
545
|
+
toNamespacedPath: _Function.identity
|
|
546
|
+
});
|
|
547
|
+
/** @internal */
|
|
548
|
+
const layer = exports.layer = /*#__PURE__*/Layer.succeed(Path, posixImpl);
|
|
99
549
|
//# sourceMappingURL=path.js.map
|