@effect/platform-node 0.0.0 → 0.1.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.
@@ -1,10 +1,10 @@
1
+ import { identity } from "@effect/data/Function";
1
2
  import * as Option from "@effect/data/Option";
2
3
  import * as Effect from "@effect/io/Effect";
3
4
  import * as Layer from "@effect/io/Layer";
4
5
  import { effectify } from "@effect/platform/Effectify";
5
6
  import * as Error from "@effect/platform/Error";
6
7
  import * as FileSystem from "@effect/platform/FileSystem";
7
- import * as File from "@effect/platform/FileSystem/File";
8
8
  import * as Crypto from "node:crypto";
9
9
  import * as NFS from "node:fs";
10
10
  import * as OS from "node:os";
@@ -39,7 +39,7 @@ const handleErrnoException = method => (err, [path]) => {
39
39
  reason,
40
40
  module: "FileSystem",
41
41
  method,
42
- pathOrDescriptor: path.toString(),
42
+ pathOrDescriptor: path,
43
43
  syscall: err.syscall,
44
44
  message: err.message
45
45
  });
@@ -63,6 +63,15 @@ const access = /*#__PURE__*/(() => {
63
63
  return nodeAccess(path, mode);
64
64
  };
65
65
  })();
66
+ // == copy
67
+ const copy = /*#__PURE__*/(() => {
68
+ const nodeCp = /*#__PURE__*/effectify(NFS.cp, /*#__PURE__*/handleErrnoException("copy"), /*#__PURE__*/handleBadArgument("copy"));
69
+ return (fromPath, toPath, options) => nodeCp(fromPath, toPath, {
70
+ force: options?.overwrite ?? false,
71
+ preserveTimestamps: options?.preserveTimestamps ?? false,
72
+ recursive: true
73
+ });
74
+ })();
66
75
  // == copyFile
67
76
  const copyFile = /*#__PURE__*/(() => {
68
77
  const nodeCopyFile = /*#__PURE__*/effectify(NFS.copyFile, /*#__PURE__*/handleErrnoException("copyFile"), /*#__PURE__*/handleBadArgument("copyFile"));
@@ -97,7 +106,7 @@ const makeTempDirectoryFactory = method => {
97
106
  return options => Effect.suspend(() => {
98
107
  const prefix = options?.prefix ?? "";
99
108
  const directory = typeof options?.directory === "string" ? Path.join(options.directory, ".") : OS.tmpdir();
100
- return nodeMkdtemp(prefix ? Path.join(directory, prefix) : directory);
109
+ return nodeMkdtemp(prefix ? Path.join(directory, prefix) : directory + "/");
101
110
  });
102
111
  };
103
112
  const makeTempDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempDirectory");
@@ -117,20 +126,13 @@ const makeTempDirectoryScoped = /*#__PURE__*/(() => {
117
126
  recursive: true
118
127
  })));
119
128
  })();
120
- // == makeTempFile
121
- const makeTempFile = /*#__PURE__*/(() => {
122
- const makeDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempFile");
123
- const randomHexString = bytes => Effect.sync(() => Crypto.randomBytes(bytes).toString("hex"));
124
- return options => Effect.flatMap(path => open(path, {
125
- flag: "w+"
126
- }))(Effect.map(([directory, random]) => Path.join(directory, random))(Effect.zip(makeDirectory(options), randomHexString(6))));
127
- })();
128
129
  // == open
129
- const open = /*#__PURE__*/(() => {
130
- const nodeOpen = /*#__PURE__*/effectify(NFS.open, /*#__PURE__*/handleErrnoException("open"), /*#__PURE__*/handleBadArgument("open"));
131
- const nodeClose = /*#__PURE__*/effectify(NFS.close, /*#__PURE__*/handleErrnoException("open"), /*#__PURE__*/handleBadArgument("open"));
132
- return (path, options) => Effect.map(fd => makeFile(File.Descriptor(fd)))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
133
- })();
130
+ const openFactory = method => {
131
+ const nodeOpen = effectify(NFS.open, handleErrnoException(method), handleBadArgument(method));
132
+ const nodeClose = effectify(NFS.close, handleErrnoException(method), handleBadArgument(method));
133
+ return (path, options) => Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd)))(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))));
134
+ };
135
+ const open = /*#__PURE__*/openFactory("open");
134
136
  const makeFile = /*#__PURE__*/(() => {
135
137
  var _a;
136
138
  const nodeReadFactory = method => effectify(NFS.read, handleErrnoException(method), handleBadArgument(method));
@@ -144,7 +146,7 @@ const makeFile = /*#__PURE__*/(() => {
144
146
  class FileImpl {
145
147
  constructor(fd) {
146
148
  this.fd = fd;
147
- this[_a] = File.FileTypeId;
149
+ this[_a] = identity;
148
150
  }
149
151
  get stat() {
150
152
  return Effect.map(nodeStat(this.fd), makeFileInfo);
@@ -181,16 +183,40 @@ const makeFile = /*#__PURE__*/(() => {
181
183
  }
182
184
  writeAll(buffer) {
183
185
  return Effect.flatMap(nodeWriteAll(this.fd, buffer), bytesWritten => {
184
- if (bytesWritten === buffer.length) {
185
- return Effect.unit();
186
+ if (bytesWritten === 0) {
187
+ return Effect.fail(Error.SystemError({
188
+ module: "FileSystem",
189
+ method: "writeAll",
190
+ reason: "WriteZero",
191
+ pathOrDescriptor: this.fd,
192
+ message: "write returned 0 bytes written"
193
+ }));
194
+ } else if (bytesWritten < buffer.length) {
195
+ return this.writeAll(buffer.subarray(bytesWritten));
186
196
  }
187
- return this.writeAll(buffer.subarray(bytesWritten));
197
+ return Effect.unit();
188
198
  });
189
199
  }
190
200
  }
191
- _a = File.FileTypeId;
201
+ _a = FileSystem.FileTypeId;
192
202
  return fd => new FileImpl(fd);
193
203
  })();
204
+ // == makeTempFile
205
+ const makeTempFileFactory = method => {
206
+ const makeDirectory = makeTempDirectoryFactory(method);
207
+ const open = openFactory(method);
208
+ const randomHexString = bytes => Effect.sync(() => Crypto.randomBytes(bytes).toString("hex"));
209
+ return options => Effect.tap(path => Effect.scoped(open(path, {
210
+ flag: "w+"
211
+ })))(Effect.map(([directory, random]) => Path.join(directory, random))(Effect.zip(makeDirectory(options), randomHexString(6))));
212
+ };
213
+ const makeTempFile = /*#__PURE__*/makeTempFileFactory("makeTempFile");
214
+ // == makeTempFileScoped
215
+ const makeTempFileScoped = /*#__PURE__*/(() => {
216
+ const makeFile = /*#__PURE__*/makeTempFileFactory("makeTempFileScoped");
217
+ const removeFile = /*#__PURE__*/removeFactory("makeTempFileScoped");
218
+ return options => Effect.acquireRelease(makeFile(options), file => Effect.orDie(removeFile(file)));
219
+ })();
194
220
  // == readDirectory
195
221
  const readDirectory = /*#__PURE__*/(() => {
196
222
  const nodeReadDirectory = /*#__PURE__*/effectify(NFS.readdir, /*#__PURE__*/handleErrnoException("readDirectory"), /*#__PURE__*/handleBadArgument("readDirectory"));
@@ -260,10 +286,10 @@ const truncate = /*#__PURE__*/(() => {
260
286
  const nodeTruncate = /*#__PURE__*/effectify(NFS.truncate, /*#__PURE__*/handleErrnoException("truncate"), /*#__PURE__*/handleBadArgument("truncate"));
261
287
  return (path, length) => nodeTruncate(path, Number(length));
262
288
  })();
263
- // == utime
264
- const utime = /*#__PURE__*/(() => {
265
- const nodeUtime = /*#__PURE__*/effectify(NFS.utimes, /*#__PURE__*/handleErrnoException("utime"), /*#__PURE__*/handleBadArgument("utime"));
266
- return (path, atime, mtime) => nodeUtime(path, atime, mtime);
289
+ // == utimes
290
+ const utimes = /*#__PURE__*/(() => {
291
+ const nodeUtimes = /*#__PURE__*/effectify(NFS.utimes, /*#__PURE__*/handleErrnoException("utime"), /*#__PURE__*/handleBadArgument("utime"));
292
+ return (path, atime, mtime) => nodeUtimes(path, atime, mtime);
267
293
  })();
268
294
  // == writeFile
269
295
  const writeFile = (path, data, options) => Effect.asyncInterrupt(resume => {
@@ -287,14 +313,16 @@ const writeFile = (path, data, options) => Effect.asyncInterrupt(resume => {
287
313
  });
288
314
  const fileSystemImpl = /*#__PURE__*/FileSystem.make({
289
315
  access,
290
- copyFile,
291
316
  chmod,
292
317
  chown,
318
+ copy,
319
+ copyFile,
293
320
  link,
294
321
  makeDirectory,
295
322
  makeTempDirectory,
296
323
  makeTempDirectoryScoped,
297
324
  makeTempFile,
325
+ makeTempFileScoped,
298
326
  open,
299
327
  readDirectory,
300
328
  readFile,
@@ -305,7 +333,7 @@ const fileSystemImpl = /*#__PURE__*/FileSystem.make({
305
333
  stat,
306
334
  symlink,
307
335
  truncate,
308
- utime,
336
+ utimes,
309
337
  writeFile
310
338
  });
311
339
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystem.mjs","names":["Option","Effect","Layer","effectify","Error","FileSystem","File","Crypto","NFS","OS","Path","handleErrnoException","method","err","path","reason","code","SystemError","module","pathOrDescriptor","toString","syscall","message","handleBadArgument","BadArgument","String","access","nodeAccess","options","mode","constants","F_OK","readable","R_OK","writable","W_OK","copyFile","nodeCopyFile","fromPath","toPath","chmod","nodeChmod","chown","nodeChown","uid","gid","link","nodeLink","existingPath","newPath","makeDirectory","nodeMkdir","mkdir","recursive","makeTempDirectoryFactory","nodeMkdtemp","mkdtemp","suspend","prefix","directory","join","tmpdir","makeTempDirectory","removeFactory","nodeRm","rm","remove","makeTempDirectoryScoped","removeDirectory","acquireRelease","orDie","makeTempFile","randomHexString","bytes","sync","randomBytes","flatMap","open","flag","map","random","zip","nodeOpen","nodeClose","close","fd","makeFile","Descriptor","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","_a","FileTypeId","stat","makeFileInfo","buffer","length","Number","undefined","offset","Size","readAlloc","size","Buffer","allocUnsafeSlow","bytesRead","none","some","dst","copy","truncate","writeAll","bytesWritten","unit","subarray","readDirectory","nodeReadDirectory","readdir","readFile","asyncInterrupt","resume","controller","AbortController","signal","data","fail","succeed","abort","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","fromNullable","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utime","nodeUtime","utimes","writeFile","fileSystemImpl","make","layer"],"sources":["../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"fileSystem.mjs","names":["identity","Option","Effect","Layer","effectify","Error","FileSystem","Crypto","NFS","OS","Path","handleErrnoException","method","err","path","reason","code","SystemError","module","pathOrDescriptor","syscall","message","handleBadArgument","BadArgument","String","access","nodeAccess","options","mode","constants","F_OK","readable","R_OK","writable","W_OK","copy","nodeCp","cp","fromPath","toPath","force","overwrite","preserveTimestamps","recursive","copyFile","nodeCopyFile","chmod","nodeChmod","chown","nodeChown","uid","gid","link","nodeLink","existingPath","newPath","makeDirectory","nodeMkdir","mkdir","makeTempDirectoryFactory","nodeMkdtemp","mkdtemp","suspend","prefix","directory","join","tmpdir","makeTempDirectory","removeFactory","nodeRm","rm","remove","makeTempDirectoryScoped","removeDirectory","acquireRelease","orDie","openFactory","nodeOpen","open","nodeClose","close","map","fd","makeFile","FileDescriptor","flag","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","constructor","_a","stat","makeFileInfo","buffer","length","Number","undefined","offset","Size","readAlloc","size","flatMap","sync","Buffer","allocUnsafeSlow","bytesRead","none","some","dst","truncate","writeAll","bytesWritten","fail","subarray","unit","FileTypeId","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","tap","scoped","random","zip","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","readFile","asyncInterrupt","resume","controller","AbortController","signal","data","succeed","abort","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","fromNullable","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","writeFile","fileSystemImpl","make","layer"],"sources":["../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAQ,QAAc,uBAAuB;AACtD,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,OAAO,KAAKC,KAAK,MAAM,wBAAwB;AAC/C,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,OAAO,KAAKC,GAAG,MAAM,SAAS;AAC9B,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;AAEA,MAAMC,oBAAoB,GAAIC,MAAc,IAC1C,CACEC,GAA0B,EAC1B,CAACC,IAAI,CAAqD,KACxD;EACF,IAAIC,MAAM,GAA4B,SAAS;EAE/C,QAAQF,GAAG,CAACG,IAAI;IACd,KAAK,QAAQ;MACXD,MAAM,GAAG,UAAU;MACnB;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,kBAAkB;MAC3B;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,eAAe;MACxB;IAEF,KAAK,QAAQ;MACXA,MAAM,GAAG,aAAa;MACtB;IAEF,KAAK,SAAS;MACZA,MAAM,GAAG,aAAa;MACtB;IAEF,KAAK,OAAO;MACVA,MAAM,GAAG,MAAM;MACf;IAEF,KAAK,OAAO;MACVA,MAAM,GAAG,aAAa;MACtB;;EAGJ,OAAOV,KAAK,CAACY,WAAW,CAAC;IACvBF,MAAM;IACNG,MAAM,EAAE,YAAY;IACpBN,MAAM;IACNO,gBAAgB,EAAEL,IAAuB;IACzCM,OAAO,EAAEP,GAAG,CAACO,OAAO;IACpBC,OAAO,EAAER,GAAG,CAACQ;GACd,CAAC;AACJ,CAAC;AAEH,MAAMC,iBAAiB,GAAIV,MAAc,IACtCC,GAAY,IACXR,KAAK,CAACkB,WAAW,CAAC;EAChBL,MAAM,EAAE,YAAY;EACpBN,MAAM;EACNS,OAAO,EAAGR,GAAa,CAACQ,OAAO,IAAIG,MAAM,CAACX,GAAG;CAC9C,CAAC;AAEN;AAEA,MAAMY,MAAM,gBAAG,CAAC,MAAK;EACnB,MAAMC,UAAU,gBAAGtB,SAAS,CAC1BI,GAAG,CAACiB,MAAM,eACVd,oBAAoB,CAAC,QAAQ,CAAC,eAC9BW,iBAAiB,CAAC,QAAQ,CAAC,CAC5B;EACD,OAAO,CAACR,IAAY,EAAEa,OAAsC,KAAI;IAC9D,IAAIC,IAAI,GAAGpB,GAAG,CAACqB,SAAS,CAACC,IAAI;IAC7B,IAAIH,OAAO,EAAEI,QAAQ,EAAE;MACrBH,IAAI,IAAIpB,GAAG,CAACqB,SAAS,CAACG,IAAI;;IAE5B,IAAIL,OAAO,EAAEM,QAAQ,EAAE;MACrBL,IAAI,IAAIpB,GAAG,CAACqB,SAAS,CAACK,IAAI;;IAE5B,OAAOR,UAAU,CAACZ,IAAI,EAAEc,IAAI,CAAC;EAC/B,CAAC;AACH,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMO,IAAI,gBAAG,CAAC,MAAK;EACjB,MAAMC,MAAM,gBAAGhC,SAAS,CACtBI,GAAG,CAAC6B,EAAE,eACN1B,oBAAoB,CAAC,MAAM,CAAC,eAC5BW,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAO,CAACgB,QAAgB,EAAEC,MAAc,EAAEZ,OAAgC,KACxES,MAAM,CAACE,QAAQ,EAAEC,MAAM,EAAE;IACvBC,KAAK,EAAEb,OAAO,EAAEc,SAAS,IAAI,KAAK;IAClCC,kBAAkB,EAAEf,OAAO,EAAEe,kBAAkB,IAAI,KAAK;IACxDC,SAAS,EAAE;GACZ,CAAC;AACN,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMC,YAAY,gBAAGzC,SAAS,CAC5BI,GAAG,CAACoC,QAAQ,eACZjC,oBAAoB,CAAC,UAAU,CAAC,eAChCW,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAO,CAACgB,QAAgB,EAAEC,MAAc,KAAKM,YAAY,CAACP,QAAQ,EAAEC,MAAM,CAAC;AAC7E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMO,KAAK,gBAAG,CAAC,MAAK;EAClB,MAAMC,SAAS,gBAAG3C,SAAS,CACzBI,GAAG,CAACsC,KAAK,eACTnC,oBAAoB,CAAC,OAAO,CAAC,eAC7BW,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACR,IAAY,EAAEc,IAAY,KAAKmB,SAAS,CAACjC,IAAI,EAAEc,IAAI,CAAC;AAC9D,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMoB,KAAK,gBAAG,CAAC,MAAK;EAClB,MAAMC,SAAS,gBAAG7C,SAAS,CACzBI,GAAG,CAACwC,KAAK,eACTrC,oBAAoB,CAAC,OAAO,CAAC,eAC7BW,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACR,IAAY,EAAEoC,GAAW,EAAEC,GAAW,KAAKF,SAAS,CAACnC,IAAI,EAAEoC,GAAG,EAAEC,GAAG,CAAC;AAC9E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,IAAI,gBAAG,CAAC,MAAK;EACjB,MAAMC,QAAQ,gBAAGjD,SAAS,CACxBI,GAAG,CAAC4C,IAAI,eACRzC,oBAAoB,CAAC,MAAM,CAAC,eAC5BW,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAO,CAACgC,YAAoB,EAAEC,OAAe,KAAKF,QAAQ,CAACC,YAAY,EAAEC,OAAO,CAAC;AACnF,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,aAAa,gBAAG,CAAC,MAAK;EAC1B,MAAMC,SAAS,gBAAGrD,SAAS,CACzBI,GAAG,CAACkD,KAAK,eACT/C,oBAAoB,CAAC,eAAe,CAAC,eACrCW,iBAAiB,CAAC,eAAe,CAAC,CACnC;EACD,OAAO,CAACR,IAAY,EAAEa,OAAyC,KAC7D8B,SAAS,CAAC3C,IAAI,EAAE;IACd6B,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAI,KAAK;IACtCf,IAAI,EAAED,OAAO,EAAEC;GAChB,CAAC;AACN,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM+B,wBAAwB,GAAI/C,MAAc,IAAI;EAClD,MAAMgD,WAAW,GAAGxD,SAAS,CAC3BI,GAAG,CAACqD,OAAO,EACXlD,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EACD,OAAQe,OAA6C,IACnDzB,MAAM,CAAC4D,OAAO,CAAC,MAAK;IAClB,MAAMC,MAAM,GAAGpC,OAAO,EAAEoC,MAAM,IAAI,EAAE;IACpC,MAAMC,SAAS,GAAG,OAAOrC,OAAO,EAAEqC,SAAS,KAAK,QAAQ,GACpDtD,IAAI,CAACuD,IAAI,CAACtC,OAAO,CAACqC,SAAS,EAAE,GAAG,CAAC,GACjCvD,EAAE,CAACyD,MAAM,EAAE;IAEf,OAAON,WAAW,CAACG,MAAM,GAAGrD,IAAI,CAACuD,IAAI,CAACD,SAAS,EAAED,MAAM,CAAC,GAAGC,SAAS,GAAG,GAAG,CAAC;EAC7E,CAAC,CAAC;AACN,CAAC;AACD,MAAMG,iBAAiB,gBAAGR,wBAAwB,CAAC,mBAAmB,CAAC;AAEvE;AAEA,MAAMS,aAAa,GAAIxD,MAAc,IAAI;EACvC,MAAMyD,MAAM,GAAGjE,SAAS,CACtBI,GAAG,CAAC8D,EAAE,EACN3D,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EACD,OAAO,CAACE,IAAY,EAAEa,OAAkC,KACtD0C,MAAM,CACJvD,IAAI,EACJ;IAAE6B,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAI;EAAK,CAAE,CAC3C;AACL,CAAC;AACD,MAAM4B,MAAM,gBAAGH,aAAa,CAAC,QAAQ,CAAC;AAEtC;AAEA,MAAMI,uBAAuB,gBAAG,CAAC,MAAK;EACpC,MAAMhB,aAAa,gBAAGG,wBAAwB,CAAC,yBAAyB,CAAC;EACzE,MAAMc,eAAe,gBAAGL,aAAa,CAAC,yBAAyB,CAAC;EAChE,OACEzC,OAA6C,IAE7CzB,MAAM,CAACwE,cAAc,CACnBlB,aAAa,CAAC7B,OAAO,CAAC,EACrBqC,SAAS,IAAK9D,MAAM,CAACyE,KAAK,CAACF,eAAe,CAACT,SAAS,EAAE;IAAErB,SAAS,EAAE;EAAI,CAAE,CAAC,CAAC,CAC7E;AACL,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMiC,WAAW,GAAIhE,MAAc,IAAI;EACrC,MAAMiE,QAAQ,GAAGzE,SAAS,CACxBI,GAAG,CAACsE,IAAI,EACRnE,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EACD,MAAMmE,SAAS,GAAG3E,SAAS,CACzBI,GAAG,CAACwE,KAAK,EACTrE,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EAED,OAAO,CAACE,IAAY,EAAEa,OAAoC,KAMtDzB,MAAM,CAAC+E,GAAG,CAAEC,EAAE,IAAKC,QAAQ,CAAC7E,UAAU,CAAC8E,cAAc,CAACF,EAAE,CAAC,CAAC,CAAC,CAJ3DhF,MAAM,CAACwE,cAAc,CACnBG,QAAQ,CAAC/D,IAAI,EAAEa,OAAO,EAAE0D,IAAI,IAAI,GAAG,EAAE1D,OAAO,EAAEC,IAAI,CAAC,EAClDsD,EAAE,IAAKhF,MAAM,CAACyE,KAAK,CAACI,SAAS,CAACG,EAAE,CAAC,CAAC,CACpC,CAEF;AACL,CAAC;AACD,MAAMJ,IAAI,gBAAGF,WAAW,CAAC,MAAM,CAAC;AAEhC,MAAMO,QAAQ,gBAAG,CAAC,MAAK;;EACrB,MAAMG,eAAe,GAAI1E,MAAc,IACrCR,SAAS,CACPI,GAAG,CAAC+E,IAAI,EACR5E,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EACH,MAAM4E,QAAQ,gBAAGF,eAAe,CAAC,MAAM,CAAC;EACxC,MAAMG,aAAa,gBAAGH,eAAe,CAAC,WAAW,CAAC;EAClD,MAAMI,QAAQ,gBAAGtF,SAAS,CACxBI,GAAG,CAACmF,KAAK,eACThF,oBAAoB,CAAC,MAAM,CAAC,eAC5BW,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,MAAMsE,YAAY,gBAAGxF,SAAS,CAC5BI,GAAG,CAACqF,SAAS,eACblF,oBAAoB,CAAC,UAAU,CAAC,eAChCW,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EAED,MAAMwE,gBAAgB,GAAIlF,MAAc,IACtCR,SAAS,CACPI,GAAG,CAACuF,KAAK,EACTpF,oBAAoB,CAACC,MAAM,CAAC,EAC5BU,iBAAiB,CAACV,MAAM,CAAC,CAC1B;EACH,MAAMoF,SAAS,gBAAGF,gBAAgB,CAAC,OAAO,CAAC;EAC3C,MAAMG,YAAY,gBAAGH,gBAAgB,CAAC,UAAU,CAAC;EAEjD,MAAMI,QAAQ;IAGZC,YACWjB,EAA8B;MAA9B,KAAAA,EAAE,GAAFA,EAAE;MAHJ,KAAAkB,EAAA,CAAuB,GAAGpG,QAAQ;IAIxC;IAEH,IAAIqG,IAAIA,CAAA;MACN,OAAOnG,MAAM,CAAC+E,GAAG,CAACS,QAAQ,CAAC,IAAI,CAACR,EAAE,CAAC,EAAEoB,YAAY,CAAC;IACpD;IAEAf,IAAIA,CACFgB,MAAkB,EAClB5E,OAAoC;MAEpC,OAAOzB,MAAM,CAAC+E,GAAG,CACfO,QAAQ,CAAC,IAAI,CAACN,EAAE,EAAE;QAChBqB,MAAM;QACNC,MAAM,EAAE7E,OAAO,EAAE6E,MAAM,GAAGC,MAAM,CAAC9E,OAAO,CAAC6E,MAAM,CAAC,GAAGE,SAAS;QAC5DC,MAAM,EAAEhF,OAAO,EAAEgF,MAAM,GAAGF,MAAM,CAAC9E,OAAO,CAACgF,MAAM,CAAC,GAAGD;OACpD,CAAC,EACFpG,UAAU,CAACsG,IAAI,CAChB;IACH;IAEAC,SAASA,CAACC,IAAqB,EAAEnF,OAAgD;MAC/E,OAAOzB,MAAM,CAAC6G,OAAO,CACnB7G,MAAM,CAAC8G,IAAI,CAAC,MAAMC,MAAM,CAACC,eAAe,CAACT,MAAM,CAACK,IAAI,CAAC,CAAC,CAAC,EACtDP,MAAM,IACLrG,MAAM,CAAC+E,GAAG,CACRQ,aAAa,CAAC,IAAI,CAACP,EAAE,EAAE;QACrBqB,MAAM;QACNC,MAAM,EAAE7E,OAAO,EAAE6E,MAAM,GAAGC,MAAM,CAAC9E,OAAO,CAAC6E,MAAM,CAAC,GAAGE,SAAS;QAC5DC,MAAM,EAAEhF,OAAO,EAAEgF,MAAM,GAAGF,MAAM,CAAC9E,OAAO,CAACgF,MAAM,CAAC,GAAGD;OACpD,CAAC,EACDS,SAAS,IAAI;QACZ,IAAIA,SAAS,KAAK,CAAC,EAAE;UACnB,OAAOlH,MAAM,CAACmH,IAAI,EAAE;;QAGtB,IAAID,SAAS,KAAKV,MAAM,CAACK,IAAI,CAAC,EAAE;UAC9B,OAAO7G,MAAM,CAACoH,IAAI,CAACd,MAAM,CAAC;;QAG5B,MAAMe,GAAG,GAAGL,MAAM,CAACC,eAAe,CAACC,SAAS,CAAC;QAC7CZ,MAAM,CAACpE,IAAI,CAACmF,GAAG,EAAE,CAAC,EAAE,CAAC,EAAEH,SAAS,CAAC;QACjC,OAAOlH,MAAM,CAACoH,IAAI,CAACC,GAAG,CAAC;MACzB,CAAC,CACF,CACJ;IACH;IAEAC,QAAQA,CAACf,MAAwB;MAC/B,OAAOZ,YAAY,CAAC,IAAI,CAACV,EAAE,EAAEuB,MAAM,CAACD,MAAM,CAAC,CAAC;IAC9C;IAEAT,KAAKA,CAACQ,MAAkB;MACtB,OAAOrG,MAAM,CAAC+E,GAAG,CAACe,SAAS,CAAC,IAAI,CAACd,EAAE,EAAEqB,MAAM,CAAC,EAAEjG,UAAU,CAACsG,IAAI,CAAC;IAChE;IAEAY,QAAQA,CAACjB,MAAkB;MACzB,OAAOrG,MAAM,CAAC6G,OAAO,CACnBd,YAAY,CAAC,IAAI,CAACf,EAAE,EAAEqB,MAAM,CAAC,EAC5BkB,YAAY,IAAI;QACf,IAAIA,YAAY,KAAK,CAAC,EAAE;UACtB,OAAOvH,MAAM,CAACwH,IAAI,CAACrH,KAAK,CAACY,WAAW,CAAC;YACnCC,MAAM,EAAE,YAAY;YACpBN,MAAM,EAAE,UAAU;YAClBG,MAAM,EAAE,WAAW;YACnBI,gBAAgB,EAAE,IAAI,CAAC+D,EAAE;YACzB7D,OAAO,EAAE;WACV,CAAC,CAAC;SACJ,MAAM,IAAIoG,YAAY,GAAGlB,MAAM,CAACC,MAAM,EAAE;UACvC,OAAO,IAAI,CAACgB,QAAQ,CAACjB,MAAM,CAACoB,QAAQ,CAACF,YAAY,CAAC,CAAC;;QAErD,OAAOvH,MAAM,CAAC0H,IAAI,EAAE;MACtB,CAAC,CACF;IACH;;OA7EUtH,UAAU,CAACuH,UAAU;EAgFjC,OAAQ3C,EAA8B,IAAsB,IAAIgB,QAAQ,CAAChB,EAAE,CAAC;AAC9E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM4C,mBAAmB,GAAIlH,MAAc,IAAI;EAC7C,MAAM4C,aAAa,GAAGG,wBAAwB,CAAC/C,MAAM,CAAC;EACtD,MAAMkE,IAAI,GAAGF,WAAW,CAAChE,MAAM,CAAC;EAChC,MAAMmH,eAAe,GAAIC,KAAa,IAAK9H,MAAM,CAAC8G,IAAI,CAAC,MAAMzG,MAAM,CAAC0H,WAAW,CAACD,KAAK,CAAC,CAACE,QAAQ,CAAC,KAAK,CAAC,CAAC;EACvG,OAAQvG,OAAwC,IAI5CzB,MAAM,CAACiI,GAAG,CAAErH,IAAI,IAAKZ,MAAM,CAACkI,MAAM,CAACtD,IAAI,CAAChE,IAAI,EAAE;IAAEuE,IAAI,EAAE;EAAI,CAAE,CAAC,CAAC,CAAC,CAD/DnF,MAAM,CAAC+E,GAAG,CAAC,CAAC,CAACjB,SAAS,EAAEqE,MAAM,CAAC,KAAK3H,IAAI,CAACuD,IAAI,CAACD,SAAS,EAAEqE,MAAM,CAAC,CAAC,CADjEnI,MAAM,CAACoI,GAAG,CAAC9E,aAAa,CAAC7B,OAAO,CAAC,EAAEoG,eAAe,CAAC,CAAC,CAAC,CAAC,EAGvD;AACL,CAAC;AACD,MAAMQ,YAAY,gBAAGT,mBAAmB,CAAC,cAAc,CAAC;AAExD;AAEA,MAAMU,kBAAkB,gBAAG,CAAC,MAAK;EAC/B,MAAMrD,QAAQ,gBAAG2C,mBAAmB,CAAC,oBAAoB,CAAC;EAC1D,MAAMW,UAAU,gBAAGrE,aAAa,CAAC,oBAAoB,CAAC;EACtD,OAAQzC,OAAwC,IAC9CzB,MAAM,CAACwE,cAAc,CACnBS,QAAQ,CAACxD,OAAO,CAAC,EAChB+G,IAAI,IAAKxI,MAAM,CAACyE,KAAK,CAAC8D,UAAU,CAACC,IAAI,CAAC,CAAC,CACzC;AACL,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,aAAa,gBAAG,CAAC,MAAK;EAC1B,MAAMC,iBAAiB,gBAAGxI,SAAS,CACjCI,GAAG,CAACqI,OAAO,eACXlI,oBAAoB,CAAC,eAAe,CAAC,eACrCW,iBAAiB,CAAC,eAAe,CAAC,CACnC;EAED,OAAO,CAACR,IAAY,EAAEa,OAAyC,KAC7DiH,iBAAiB,CAAC9H,IAAI,EAAEa,OAAO,CAAqE;AACxG,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMmH,QAAQ,GAAIhI,IAAY,IAC5BZ,MAAM,CAAC6I,cAAc,CAA0CC,MAAM,IAAI;EACvE,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;EAExC,IAAI;IACF1I,GAAG,CAACsI,QAAQ,CAAChI,IAAI,EAAE;MAAEqI,MAAM,EAAEF,UAAU,CAACE;IAAM,CAAE,EAAE,CAACtI,GAAG,EAAEuI,IAAI,KAAI;MAC9D,IAAIvI,GAAG,EAAE;QACPmI,MAAM,CAAC9I,MAAM,CAACwH,IAAI,CAAC/G,oBAAoB,CAAC,UAAU,CAAC,CAACE,GAAG,EAAE,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;OACnE,MAAM;QACLkI,MAAM,CAAC9I,MAAM,CAACmJ,OAAO,CAACD,IAAI,CAAC,CAAC;;IAEhC,CAAC,CAAC;GACH,CAAC,OAAOvI,GAAG,EAAE;IACZmI,MAAM,CAAC9I,MAAM,CAACwH,IAAI,CAACpG,iBAAiB,CAAC,UAAU,CAAC,CAACT,GAAG,CAAC,CAAC,CAAC;;EAGzD,OAAOX,MAAM,CAAC8G,IAAI,CAAC,MAAMiC,UAAU,CAACK,KAAK,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEJ;AAEA,MAAMC,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMC,YAAY,gBAAGpJ,SAAS,CAC5BI,GAAG,CAACiJ,QAAQ,eACZ9I,oBAAoB,CAAC,UAAU,CAAC,eAChCW,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAQR,IAAY,IAAK0I,YAAY,CAAC1I,IAAI,CAAC;AAC7C,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM4I,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMC,YAAY,gBAAGvJ,SAAS,CAC5BI,GAAG,CAACoJ,QAAQ,eACZjJ,oBAAoB,CAAC,UAAU,CAAC,eAChCW,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAQR,IAAY,IAAK6I,YAAY,CAAC7I,IAAI,CAAC;AAC7C,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM+I,MAAM,gBAAG,CAAC,MAAK;EACnB,MAAMC,UAAU,gBAAG1J,SAAS,CAC1BI,GAAG,CAACqJ,MAAM,eACVlJ,oBAAoB,CAAC,QAAQ,CAAC,eAC9BW,iBAAiB,CAAC,QAAQ,CAAC,CAC5B;EACD,OAAO,CAACyI,OAAe,EAAExG,OAAe,KAAKuG,UAAU,CAACC,OAAO,EAAExG,OAAO,CAAC;AAC3E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM+C,YAAY,GAAID,IAAe,KAA4B;EAC/D2D,IAAI,EAAE3D,IAAI,CAAC4D,MAAM,EAAE,GACjB,MAAM,GACN5D,IAAI,CAAC6D,WAAW,EAAE,GAClB,WAAW,GACX7D,IAAI,CAAC8D,cAAc,EAAE,GACrB,cAAc,GACd9D,IAAI,CAAC+D,aAAa,EAAE,GACpB,aAAa,GACb/D,IAAI,CAACgE,iBAAiB,EAAE,GACxB,iBAAiB,GACjBhE,IAAI,CAACiE,MAAM,EAAE,GACb,MAAM,GACNjE,IAAI,CAACkE,QAAQ,EAAE,GACf,QAAQ,GACR,SAAS;EACXC,KAAK,EAAEvK,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACmE,KAAK,CAAC;EACtCE,KAAK,EAAEzK,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACqE,KAAK,CAAC;EACtCC,SAAS,EAAE1K,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACsE,SAAS,CAAC;EAC9CC,GAAG,EAAEvE,IAAI,CAACuE,GAAG;EACbC,IAAI,EAAE5K,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACwE,IAAI,CAAC;EACpCC,GAAG,EAAE7K,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACyE,GAAG,CAAC;EAClClJ,IAAI,EAAEyE,IAAI,CAACzE,IAAI;EACfmJ,KAAK,EAAE9K,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAAC0E,KAAK,CAAC;EACtC7H,GAAG,EAAEjD,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAACnD,GAAG,CAAC;EAClCC,GAAG,EAAElD,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAAClD,GAAG,CAAC;EAClC2D,IAAI,EAAExG,UAAU,CAACsG,IAAI,CAACP,IAAI,CAACS,IAAI,CAAC;EAChCkE,OAAO,EAAE/K,MAAM,CAACwK,YAAY,CAACnK,UAAU,CAACsG,IAAI,CAACP,IAAI,CAAC2E,OAAO,CAAC,CAAC;EAC3DC,MAAM,EAAEhL,MAAM,CAACwK,YAAY,CAACpE,IAAI,CAAC4E,MAAM;CACxC,CAAC;AACF,MAAM5E,IAAI,gBAAG,CAAC,MAAK;EACjB,MAAMX,QAAQ,gBAAGtF,SAAS,CACxBI,GAAG,CAAC6F,IAAI,eACR1F,oBAAoB,CAAC,MAAM,CAAC,eAC5BW,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAQR,IAAY,IAAKZ,MAAM,CAAC+E,GAAG,CAACS,QAAQ,CAAC5E,IAAI,CAAC,EAAEwF,YAAY,CAAC;AACnE,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM4E,OAAO,gBAAG,CAAC,MAAK;EACpB,MAAMC,WAAW,gBAAG/K,SAAS,CAC3BI,GAAG,CAAC0K,OAAO,eACXvK,oBAAoB,CAAC,SAAS,CAAC,eAC/BW,iBAAiB,CAAC,SAAS,CAAC,CAC7B;EACD,OAAO,CAAC8J,MAAc,EAAEtK,IAAY,KAAKqK,WAAW,CAACC,MAAM,EAAEtK,IAAI,CAAC;AACpE,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMyG,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAM3B,YAAY,gBAAGxF,SAAS,CAC5BI,GAAG,CAAC+G,QAAQ,eACZ5G,oBAAoB,CAAC,UAAU,CAAC,eAChCW,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAO,CAACR,IAAY,EAAE0F,MAAwB,KAAKZ,YAAY,CAAC9E,IAAI,EAAE2F,MAAM,CAACD,MAAM,CAAC,CAAC;AACvF,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM6E,MAAM,gBAAG,CAAC,MAAK;EACnB,MAAMC,UAAU,gBAAGlL,SAAS,CAC1BI,GAAG,CAAC6K,MAAM,eACV1K,oBAAoB,CAAC,OAAO,CAAC,eAC7BW,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACR,IAAY,EAAE4J,KAAoB,EAAEF,KAAoB,KAAKc,UAAU,CAACxK,IAAI,EAAE4J,KAAK,EAAEF,KAAK,CAAC;AACrG,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMe,SAAS,GAAGA,CAACzK,IAAY,EAAEsI,IAAgB,EAAEzH,OAAqC,KACtFzB,MAAM,CAAC6I,cAAc,CAAoCC,MAAM,IAAI;EACjE,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;EACxC,IAAI;IACF1I,GAAG,CAAC+K,SAAS,CAACzK,IAAI,EAAEsI,IAAI,EAAE;MACxBD,MAAM,EAAEF,UAAU,CAACE,MAAM;MACzB9D,IAAI,EAAE1D,OAAO,EAAE0D,IAAI;MACnBzD,IAAI,EAAED,OAAO,EAAEC;KAChB,EAAGf,GAAG,IAAI;MACT,IAAIA,GAAG,EAAE;QACPmI,MAAM,CAAC9I,MAAM,CAACwH,IAAI,CAAC/G,oBAAoB,CAAC,WAAW,CAAC,CAACE,GAAG,EAAE,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;OACpE,MAAM;QACLkI,MAAM,CAAC9I,MAAM,CAAC0H,IAAI,EAAE,CAAC;;IAEzB,CAAC,CAAC;GACH,CAAC,OAAO/G,GAAG,EAAE;IACZmI,MAAM,CAAC9I,MAAM,CAACwH,IAAI,CAACpG,iBAAiB,CAAC,WAAW,CAAC,CAACT,GAAG,CAAC,CAAC,CAAC;;EAE1D,OAAOX,MAAM,CAAC8G,IAAI,CAAC,MAAMiC,UAAU,CAACK,KAAK,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEJ,MAAMkC,cAAc,gBAAGlL,UAAU,CAACmL,IAAI,CAAC;EACrChK,MAAM;EACNqB,KAAK;EACLE,KAAK;EACLb,IAAI;EACJS,QAAQ;EACRQ,IAAI;EACJI,aAAa;EACbW,iBAAiB;EACjBK,uBAAuB;EACvB+D,YAAY;EACZC,kBAAkB;EAClB1D,IAAI;EACJ6D,aAAa;EACbG,QAAQ;EACRS,QAAQ;EACRG,QAAQ;EACRnF,MAAM;EACNsF,MAAM;EACNxD,IAAI;EACJ6E,OAAO;EACP3D,QAAQ;EACR8D,MAAM;EACNE;CACD,CAAC;AAEF;AACA,OAAO,MAAMG,KAAK,gBAAGvL,KAAK,CAACkJ,OAAO,CAAC/I,UAAU,CAACA,UAAU,EAAEkL,cAAc,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { Tag } from "@effect/data/Context";
2
+ import * as Effect from "@effect/io/Effect";
3
+ import * as Layer from "@effect/io/Layer";
4
+ import { BadArgument } from "@effect/platform/Error";
5
+ import * as NodePath from "node:path";
6
+ import * as NodeUrl from "node:url";
7
+ /** @internal */
8
+ export const Path = /*#__PURE__*/Tag();
9
+ const fromFileUrl = url => Effect.tryCatch(() => NodeUrl.fileURLToPath(url), error => BadArgument({
10
+ module: "Path",
11
+ method: "fromFileUrl",
12
+ message: `${error}`
13
+ }));
14
+ const toFileUrl = path => Effect.tryCatch(() => NodeUrl.pathToFileURL(path), error => BadArgument({
15
+ module: "Path",
16
+ method: "toFileUrl",
17
+ message: `${error}`
18
+ }));
19
+ /** @internal */
20
+ export const layerPosix = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
21
+ ...NodePath.posix,
22
+ fromFileUrl,
23
+ toFileUrl
24
+ }));
25
+ /** @internal */
26
+ export const layerWin32 = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
27
+ ...NodePath.win32,
28
+ fromFileUrl,
29
+ toFileUrl
30
+ }));
31
+ /** @internal */
32
+ export const layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
33
+ ...NodePath,
34
+ fromFileUrl,
35
+ toFileUrl
36
+ }));
37
+ //# sourceMappingURL=path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","names":["Tag","Effect","Layer","BadArgument","NodePath","NodeUrl","Path","fromFileUrl","url","tryCatch","fileURLToPath","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAQ,sBAAsB;AAC1C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC;AACA,OAAO,MAAMC,IAAI,gBAAGN,GAAG,EAAS;AAEhC,MAAMO,WAAW,GAAIC,GAAQ,IAC3BP,MAAM,CAACQ,QAAQ,CACb,MAAMJ,OAAO,CAACK,aAAa,CAACF,GAAG,CAAC,EAC/BG,KAAK,IACJR,WAAW,CAAC;EACVS,MAAM,EAAE,MAAM;EACdC,MAAM,EAAE,aAAa;EACrBC,OAAO,EAAE,GAAGH,KAAK;CAClB,CAAC,CACL;AAEH,MAAMI,SAAS,GAAIC,IAAY,IAC7Bf,MAAM,CAACQ,QAAQ,CACb,MAAMJ,OAAO,CAACY,aAAa,CAACD,IAAI,CAAC,EAChCL,KAAK,IACJR,WAAW,CAAC;EACVS,MAAM,EAAE,MAAM;EACdC,MAAM,EAAE,WAAW;EACnBC,OAAO,EAAE,GAAGH,KAAK;CAClB,CAAC,CACL;AAEH;AACA,OAAO,MAAMO,UAAU,gBAAGhB,KAAK,CAACiB,OAAO,CACrCb,IAAI,eACJA,IAAI,CAACc,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACiB,KAAK;EACjBd,WAAW;EACXQ;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMO,UAAU,gBAAGpB,KAAK,CAACiB,OAAO,CACrCb,IAAI,eACJA,IAAI,CAACc,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACmB,KAAK;EACjBhB,WAAW;EACXQ;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMS,KAAK,gBAAGtB,KAAK,CAACiB,OAAO,CAChCb,IAAI,eACJA,IAAI,CAACc,EAAE,CAAC;EACN,GAAGhB,QAAQ;EACXG,WAAW;EACXQ;CACD,CAAC,CACH"}
@@ -1,11 +1,9 @@
1
1
  import * as Option from "@effect/data/Option";
2
2
  import * as Effect from "@effect/io/Effect";
3
- import { Size } from "@effect/platform/FileSystem";
4
3
  import * as Stream from "@effect/stream/Stream";
5
- const DEFAULT_CHUNK_SIZE = /*#__PURE__*/Size(64 * 1024);
6
4
  /** @internal */
7
5
  export const fromReadable = (evaluate, onError, {
8
- chunkSize = DEFAULT_CHUNK_SIZE
6
+ chunkSize = Option.none()
9
7
  } = {}) => Stream.flatMap(_ => Stream.repeatEffectOption(readChunk(_, chunkSize)))(Stream.unwrapScoped(Effect.map(stream => Stream.async(emit => {
10
8
  stream.once("error", err => {
11
9
  emit.fail(onError(err));
@@ -25,5 +23,5 @@ export const fromReadable = (evaluate, onError, {
25
23
  stream.destroy();
26
24
  }
27
25
  })))));
28
- const readChunk = (stream, size) => Effect.flatMap(a => a ? Effect.succeed(a) : Effect.fail(Option.none()))(Effect.sync(() => stream.read(Number(size))));
26
+ const readChunk = (stream, size) => Effect.flatMap(_ => _ ? Effect.succeed(_) : Effect.fail(Option.none()))(Effect.sync(() => size._tag === "Some" ? stream.read(Number(size)) : stream.read()));
29
27
  //# sourceMappingURL=stream.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.mjs","names":["Option","Effect","Size","Stream","DEFAULT_CHUNK_SIZE","fromReadable","evaluate","onError","chunkSize","flatMap","_","repeatEffectOption","readChunk","unwrapScoped","map","stream","async","emit","once","err","fail","end","on","single","readable","acquireRelease","sync","removeAllListeners","closed","destroy","size","a","succeed","none","read","Number"],"sources":["../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,SAASC,IAAI,QAAQ,6BAA6B;AAClD,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAG/C,MAAMC,kBAAkB,gBAAGF,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAE1C;AACA,OAAO,MAAMG,YAAY,GAAGA,CAC1BC,QAA2B,EAC3BC,OAA8B,EAC9B;EAAEC,SAAS,GAAGJ;AAAkB,IAA0B,EAAE,KA+B1DD,MAAM,CAACM,OAAO,CAAEC,CAAC,IAAKP,MAAM,CAACQ,kBAAkB,CAACC,SAAS,CAAIF,CAAC,EAAEF,SAAS,CAAC,CAAC,CAAC,CAD5EL,MAAM,CAACU,YAAY,CAnBnBZ,MAAM,CAACa,GAAG,CAAEC,MAAM,IAChBZ,MAAM,CAACa,KAAK,CAAsBC,IAAI,IAAI;EACxCF,MAAM,CAACG,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;IAC3BF,IAAI,CAACG,IAAI,CAACb,OAAO,CAACY,GAAG,CAAC,CAAC;EACzB,CAAC,CAAC;EAEFJ,MAAM,CAACG,IAAI,CAAC,KAAK,EAAE,MAAK;IACtBD,IAAI,CAACI,GAAG,EAAE;EACZ,CAAC,CAAC;EAEFN,MAAM,CAACO,EAAE,CAAC,UAAU,EAAE,MAAK;IACzBL,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;EACrB,CAAC,CAAC;EAEF,IAAIA,MAAM,CAACS,QAAQ,EAAE;IACnBP,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;;AAEvB,CAAC,EAAE,CAAC,CAAC,CACN,CA1BDd,MAAM,CAACwB,cAAc,CAACxB,MAAM,CAACyB,IAAI,CAACpB,QAAQ,CAAC,EAAGS,MAAM,IAClDd,MAAM,CAACyB,IAAI,CAAC,MAAK;EACfX,MAAM,CAACY,kBAAkB,EAAE;EAE3B,IAAI,CAACZ,MAAM,CAACa,MAAM,EAAE;IAClBb,MAAM,CAACc,OAAO,EAAE;;AAEpB,CAAC,CAAC,CAAC,GAsBN;AAEH,MAAMjB,SAAS,GAAGA,CAChBG,MAAgB,EAChBe,IAAU,KAIR7B,MAAM,CAACQ,OAAO,CAAEsB,CAAC,IAAMA,CAAC,GAAG9B,MAAM,CAAC+B,OAAO,CAACD,CAAC,CAAC,GAAG9B,MAAM,CAACmB,IAAI,CAACpB,MAAM,CAACiC,IAAI,EAAE,CAAE,CAAC,CAD3EhC,MAAM,CAACyB,IAAI,CAAC,MAAMX,MAAM,CAACmB,IAAI,CAACC,MAAM,CAACL,IAAI,CAAC,CAAa,CAAC,CAEzD"}
1
+ {"version":3,"file":"stream.mjs","names":["Option","Effect","Stream","fromReadable","evaluate","onError","chunkSize","none","flatMap","_","repeatEffectOption","readChunk","unwrapScoped","map","stream","async","emit","once","err","fail","end","on","single","readable","acquireRelease","sync","removeAllListeners","closed","destroy","size","succeed","_tag","read","Number"],"sources":["../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAG3C,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAG/C;AACA,OAAO,MAAMC,YAAY,GAAGA,CAC1BC,QAA2B,EAC3BC,OAA8B,EAC9B;EAAEC,SAAS,GAAGN,MAAM,CAACO,IAAI;AAAE,IAA0B,EAAE,KA+BrDL,MAAM,CAACM,OAAO,CAAEC,CAAC,IAAKP,MAAM,CAACQ,kBAAkB,CAACC,SAAS,CAAIF,CAAC,EAAEH,SAAS,CAAC,CAAC,CAAC,CAD5EJ,MAAM,CAACU,YAAY,CAnBnBX,MAAM,CAACY,GAAG,CAAEC,MAAM,IAChBZ,MAAM,CAACa,KAAK,CAAsBC,IAAI,IAAI;EACxCF,MAAM,CAACG,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;IAC3BF,IAAI,CAACG,IAAI,CAACd,OAAO,CAACa,GAAG,CAAC,CAAC;EACzB,CAAC,CAAC;EAEFJ,MAAM,CAACG,IAAI,CAAC,KAAK,EAAE,MAAK;IACtBD,IAAI,CAACI,GAAG,EAAE;EACZ,CAAC,CAAC;EAEFN,MAAM,CAACO,EAAE,CAAC,UAAU,EAAE,MAAK;IACzBL,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;EACrB,CAAC,CAAC;EAEF,IAAIA,MAAM,CAACS,QAAQ,EAAE;IACnBP,IAAI,CAACM,MAAM,CAACR,MAAM,CAAC;;AAEvB,CAAC,EAAE,CAAC,CAAC,CACN,CA1BDb,MAAM,CAACuB,cAAc,CAACvB,MAAM,CAACwB,IAAI,CAACrB,QAAQ,CAAC,EAAGU,MAAM,IAClDb,MAAM,CAACwB,IAAI,CAAC,MAAK;EACfX,MAAM,CAACY,kBAAkB,EAAE;EAE3B,IAAI,CAACZ,MAAM,CAACa,MAAM,EAAE;IAClBb,MAAM,CAACc,OAAO,EAAE;;AAEpB,CAAC,CAAC,CAAC,GAsBN;AAEH,MAAMjB,SAAS,GAAGA,CAChBG,MAAgB,EAChBe,IAAyB,KAIvB5B,MAAM,CAACO,OAAO,CAAEC,CAAC,IAAMA,CAAC,GAAGR,MAAM,CAAC6B,OAAO,CAACrB,CAAC,CAAC,GAAGR,MAAM,CAACkB,IAAI,CAACnB,MAAM,CAACO,IAAI,EAAE,CAAE,CAAC,CAD3EN,MAAM,CAACwB,IAAI,CAAC,MAAOI,IAAI,CAACE,IAAI,KAAK,MAAM,GAAGjB,MAAM,CAACkB,IAAI,CAACC,MAAM,CAACJ,IAAI,CAAC,CAAC,GAAGf,MAAM,CAACkB,IAAI,EAAe,CAAC,CAElG"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.0.0",
3
+ "version": "0.1.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/effect-ts/platform.git"
8
8
  },
9
9
  "dependencies": {
10
- "@effect/data": "^0.12.5",
11
- "@effect/io": "^0.26.0",
12
- "@effect/stream": "^0.22.0",
13
- "@effect/platform": "^0.0.0"
10
+ "@effect/data": "^0.12.8",
11
+ "@effect/io": "^0.26.1",
12
+ "@effect/stream": "^0.22.1",
13
+ "@effect/platform": "^0.1.0"
14
14
  },
15
15
  "publishConfig": {
16
16
  "access": "public"
package/src/Console.ts CHANGED
@@ -1,16 +1,4 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
-
5
- export {
6
- /**
7
- * @since 1.0.0
8
- * @category tag
9
- */
10
- Console,
11
- /**
12
- * @since 1.0.0
13
- * @category layer
14
- */
15
- layer
16
- } from "@effect/platform/Console"
4
+ export * from "@effect/platform/Console"
package/src/Path.ts ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+
5
+ import type { Layer } from "@effect/io/Layer"
6
+ import * as internal from "@effect/platform-node/internal/path"
7
+ import type { Path } from "@effect/platform/Path"
8
+
9
+ export {
10
+ /**
11
+ * @since 1.0.0
12
+ * @category tag
13
+ */
14
+ Path
15
+ } from "@effect/platform/Path"
16
+
17
+ /**
18
+ * @since 1.0.0
19
+ * @category layer
20
+ */
21
+ export const layer: Layer<never, never, Path> = internal.layer
22
+
23
+ /**
24
+ * @since 1.0.0
25
+ * @category layer
26
+ */
27
+ export const layerPosix: Layer<never, never, Path> = internal.layerPosix
28
+
29
+ /**
30
+ * @since 1.0.0
31
+ * @category layer
32
+ */
33
+ export const layerWin32: Layer<never, never, Path> = internal.layerWin32
package/src/Stream.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import type { LazyArg } from "@effect/data/Function"
5
+ import type { Option } from "@effect/data/Option"
5
6
  import * as internal from "@effect/platform-node/internal/stream"
6
7
  import type { Size } from "@effect/platform/FileSystem"
7
8
  import type { Stream } from "@effect/stream/Stream"
@@ -12,8 +13,8 @@ import type { Readable } from "stream"
12
13
  * @since 1.0.0
13
14
  */
14
15
  export interface FromReadableOptions {
15
- /** Defaults to 64kb */
16
- readonly chunkSize?: Size
16
+ /** Defaults to None, which lets Node.js decide the chunk size */
17
+ readonly chunkSize?: Option<Size>
17
18
  }
18
19
 
19
20
  /**