@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.
Files changed (107) hide show
  1. package/dist/cjs/Error.js +1 -25
  2. package/dist/cjs/Error.js.map +1 -1
  3. package/dist/cjs/HttpApp.js +4 -1
  4. package/dist/cjs/HttpApp.js.map +1 -1
  5. package/dist/cjs/HttpClientError.js +5 -6
  6. package/dist/cjs/HttpClientError.js.map +1 -1
  7. package/dist/cjs/HttpServerError.js +6 -5
  8. package/dist/cjs/HttpServerError.js.map +1 -1
  9. package/dist/cjs/HttpServerResponse.js.map +1 -1
  10. package/dist/cjs/Multipart.js.map +1 -1
  11. package/dist/cjs/Socket.js +11 -11
  12. package/dist/cjs/Socket.js.map +1 -1
  13. package/dist/cjs/Worker.js +10 -1
  14. package/dist/cjs/Worker.js.map +1 -1
  15. package/dist/cjs/WorkerError.js +13 -4
  16. package/dist/cjs/WorkerError.js.map +1 -1
  17. package/dist/cjs/WorkerRunner.js +6 -1
  18. package/dist/cjs/WorkerRunner.js.map +1 -1
  19. package/dist/cjs/internal/httpClient.js +7 -7
  20. package/dist/cjs/internal/httpClient.js.map +1 -1
  21. package/dist/cjs/internal/httpClientResponse.js +13 -13
  22. package/dist/cjs/internal/httpClientResponse.js.map +1 -1
  23. package/dist/cjs/internal/httpServerRequest.js +16 -16
  24. package/dist/cjs/internal/httpServerRequest.js.map +1 -1
  25. package/dist/cjs/internal/httpServerResponse.js +4 -3
  26. package/dist/cjs/internal/httpServerResponse.js.map +1 -1
  27. package/dist/cjs/internal/multipart.js +16 -16
  28. package/dist/cjs/internal/multipart.js.map +1 -1
  29. package/dist/cjs/internal/path.js +461 -11
  30. package/dist/cjs/internal/path.js.map +1 -1
  31. package/dist/cjs/internal/worker.js +126 -59
  32. package/dist/cjs/internal/worker.js.map +1 -1
  33. package/dist/cjs/internal/workerRunner.js +39 -65
  34. package/dist/cjs/internal/workerRunner.js.map +1 -1
  35. package/dist/dts/Error.d.ts +0 -10
  36. package/dist/dts/Error.d.ts.map +1 -1
  37. package/dist/dts/HttpApp.d.ts +1 -1
  38. package/dist/dts/HttpApp.d.ts.map +1 -1
  39. package/dist/dts/HttpClientError.d.ts +6 -8
  40. package/dist/dts/HttpClientError.d.ts.map +1 -1
  41. package/dist/dts/HttpServerError.d.ts +10 -13
  42. package/dist/dts/HttpServerError.d.ts.map +1 -1
  43. package/dist/dts/HttpServerResponse.d.ts +5 -1
  44. package/dist/dts/HttpServerResponse.d.ts.map +1 -1
  45. package/dist/dts/Multipart.d.ts +3 -2
  46. package/dist/dts/Multipart.d.ts.map +1 -1
  47. package/dist/dts/Socket.d.ts +2 -4
  48. package/dist/dts/Socket.d.ts.map +1 -1
  49. package/dist/dts/Worker.d.ts +27 -27
  50. package/dist/dts/Worker.d.ts.map +1 -1
  51. package/dist/dts/WorkerError.d.ts +2 -2
  52. package/dist/dts/WorkerError.d.ts.map +1 -1
  53. package/dist/dts/WorkerRunner.d.ts +8 -5
  54. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  55. package/dist/esm/Error.js +0 -23
  56. package/dist/esm/Error.js.map +1 -1
  57. package/dist/esm/HttpApp.js +4 -1
  58. package/dist/esm/HttpApp.js.map +1 -1
  59. package/dist/esm/HttpClientError.js +5 -6
  60. package/dist/esm/HttpClientError.js.map +1 -1
  61. package/dist/esm/HttpServerError.js +7 -6
  62. package/dist/esm/HttpServerError.js.map +1 -1
  63. package/dist/esm/HttpServerResponse.js.map +1 -1
  64. package/dist/esm/Multipart.js.map +1 -1
  65. package/dist/esm/Socket.js +12 -12
  66. package/dist/esm/Socket.js.map +1 -1
  67. package/dist/esm/Worker.js +9 -0
  68. package/dist/esm/Worker.js.map +1 -1
  69. package/dist/esm/WorkerError.js +13 -4
  70. package/dist/esm/WorkerError.js.map +1 -1
  71. package/dist/esm/WorkerRunner.js +5 -0
  72. package/dist/esm/WorkerRunner.js.map +1 -1
  73. package/dist/esm/internal/httpClient.js +7 -7
  74. package/dist/esm/internal/httpClient.js.map +1 -1
  75. package/dist/esm/internal/httpClientResponse.js +13 -13
  76. package/dist/esm/internal/httpClientResponse.js.map +1 -1
  77. package/dist/esm/internal/httpServerRequest.js +16 -16
  78. package/dist/esm/internal/httpServerRequest.js.map +1 -1
  79. package/dist/esm/internal/httpServerResponse.js +4 -3
  80. package/dist/esm/internal/httpServerResponse.js.map +1 -1
  81. package/dist/esm/internal/multipart.js +17 -17
  82. package/dist/esm/internal/multipart.js.map +1 -1
  83. package/dist/esm/internal/path.js +461 -10
  84. package/dist/esm/internal/path.js.map +1 -1
  85. package/dist/esm/internal/worker.js +124 -57
  86. package/dist/esm/internal/worker.js.map +1 -1
  87. package/dist/esm/internal/workerRunner.js +38 -65
  88. package/dist/esm/internal/workerRunner.js.map +1 -1
  89. package/package.json +5 -6
  90. package/src/Error.ts +0 -38
  91. package/src/HttpApp.ts +2 -2
  92. package/src/HttpClientError.ts +13 -6
  93. package/src/HttpServerError.ts +17 -6
  94. package/src/HttpServerResponse.ts +8 -1
  95. package/src/Multipart.ts +3 -2
  96. package/src/Socket.ts +10 -9
  97. package/src/Worker.ts +32 -29
  98. package/src/WorkerError.ts +15 -8
  99. package/src/WorkerRunner.ts +15 -8
  100. package/src/internal/httpClient.ts +7 -7
  101. package/src/internal/httpClientResponse.ts +13 -13
  102. package/src/internal/httpServerRequest.ts +15 -15
  103. package/src/internal/httpServerResponse.ts +7 -3
  104. package/src/internal/multipart.ts +16 -15
  105. package/src/internal/path.ts +510 -14
  106. package/src/internal/worker.ts +193 -146
  107. 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.RefailError)(ErrorTypeId, "MultipartError") {
44
+ class MultipartError extends (0, _Error.TypeIdError)(ErrorTypeId, "MultipartError") {
45
45
  get message() {
46
- return `${this.reason}: ${super.message}`;
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(error) {
189
- switch (error._tag) {
188
+ function convertError(cause) {
189
+ switch (cause._tag) {
190
190
  case "ReachedLimit":
191
191
  {
192
- switch (error.limit) {
192
+ switch (cause.limit) {
193
193
  case "MaxParts":
194
194
  {
195
195
  return new MultipartError({
196
196
  reason: "TooManyParts",
197
- error
197
+ cause
198
198
  });
199
199
  }
200
200
  case "MaxFieldSize":
201
201
  {
202
202
  return new MultipartError({
203
203
  reason: "FieldTooLarge",
204
- error
204
+ cause
205
205
  });
206
206
  }
207
207
  case "MaxPartSize":
208
208
  {
209
209
  return new MultipartError({
210
210
  reason: "FileTooLarge",
211
- error
211
+ cause
212
212
  });
213
213
  }
214
214
  case "MaxTotalSize":
215
215
  {
216
216
  return new MultipartError({
217
217
  reason: "BodyTooLarge",
218
- error
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
- error
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)), error => new MultipartError({
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
- error
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: error => Effect.fail(new MultipartError({
307
+ SystemError: cause => Effect.fail(new MultipartError({
308
308
  reason: "InternalError",
309
- error
309
+ cause
310
310
  })),
311
- BadArgument: error => Effect.fail(new MultipartError({
311
+ BadArgument: cause => Effect.fail(new MultipartError({
312
312
  reason: "InternalError",
313
- error
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 = _pathBrowserify.default.resolve(filepath);
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