@effect/platform-node-shared 4.0.0-beta.7 → 4.0.0-beta.70

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 (66) hide show
  1. package/dist/NodeChildProcessSpawner.d.ts +3 -3
  2. package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  3. package/dist/NodeChildProcessSpawner.js +76 -17
  4. package/dist/NodeChildProcessSpawner.js.map +1 -1
  5. package/dist/NodeClusterSocket.d.ts +10 -4
  6. package/dist/NodeClusterSocket.d.ts.map +1 -1
  7. package/dist/NodeClusterSocket.js +33 -8
  8. package/dist/NodeClusterSocket.js.map +1 -1
  9. package/dist/NodeCrypto.d.ts +22 -0
  10. package/dist/NodeCrypto.d.ts.map +1 -0
  11. package/dist/NodeCrypto.js +50 -0
  12. package/dist/NodeCrypto.js.map +1 -0
  13. package/dist/NodeFileSystem.d.ts +5 -2
  14. package/dist/NodeFileSystem.d.ts.map +1 -1
  15. package/dist/NodeFileSystem.js +43 -26
  16. package/dist/NodeFileSystem.js.map +1 -1
  17. package/dist/NodePath.d.ts +15 -6
  18. package/dist/NodePath.d.ts.map +1 -1
  19. package/dist/NodePath.js +30 -7
  20. package/dist/NodePath.js.map +1 -1
  21. package/dist/NodeRuntime.d.ts +36 -7
  22. package/dist/NodeRuntime.d.ts.map +1 -1
  23. package/dist/NodeRuntime.js +8 -8
  24. package/dist/NodeRuntime.js.map +1 -1
  25. package/dist/NodeSink.d.ts +34 -4
  26. package/dist/NodeSink.d.ts.map +1 -1
  27. package/dist/NodeSink.js +23 -4
  28. package/dist/NodeSink.js.map +1 -1
  29. package/dist/NodeSocket.d.ts +40 -9
  30. package/dist/NodeSocket.d.ts.map +1 -1
  31. package/dist/NodeSocket.js +31 -15
  32. package/dist/NodeSocket.js.map +1 -1
  33. package/dist/NodeSocketServer.d.ts +24 -7
  34. package/dist/NodeSocketServer.d.ts.map +1 -1
  35. package/dist/NodeSocketServer.js +28 -11
  36. package/dist/NodeSocketServer.js.map +1 -1
  37. package/dist/NodeStdio.d.ts +6 -5
  38. package/dist/NodeStdio.d.ts.map +1 -1
  39. package/dist/NodeStdio.js +31 -7
  40. package/dist/NodeStdio.js.map +1 -1
  41. package/dist/NodeStream.d.ts +84 -20
  42. package/dist/NodeStream.d.ts.map +1 -1
  43. package/dist/NodeStream.js +76 -23
  44. package/dist/NodeStream.js.map +1 -1
  45. package/dist/NodeTerminal.d.ts +9 -2
  46. package/dist/NodeTerminal.d.ts.map +1 -1
  47. package/dist/NodeTerminal.js +13 -3
  48. package/dist/NodeTerminal.js.map +1 -1
  49. package/dist/index.d.ts +220 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +221 -0
  52. package/dist/index.js.map +1 -0
  53. package/package.json +7 -6
  54. package/src/NodeChildProcessSpawner.ts +101 -27
  55. package/src/NodeClusterSocket.ts +33 -8
  56. package/src/NodeCrypto.ts +55 -0
  57. package/src/NodeFileSystem.ts +50 -28
  58. package/src/NodePath.ts +30 -7
  59. package/src/NodeRuntime.ts +38 -13
  60. package/src/NodeSink.ts +41 -4
  61. package/src/NodeSocket.ts +46 -16
  62. package/src/NodeSocketServer.ts +46 -12
  63. package/src/NodeStdio.ts +49 -23
  64. package/src/NodeStream.ts +97 -30
  65. package/src/NodeTerminal.ts +31 -4
  66. package/src/index.ts +233 -0
@@ -1,5 +1,23 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Shared Node-compatible implementation of Effect's `FileSystem` service.
3
+ *
4
+ * This module adapts Node's `node:fs`, `node:os`, and `node:path` APIs into a
5
+ * layer that can be provided to Effect programs running on Node-compatible
6
+ * runtimes. It is used by platform packages to provide file and directory I/O,
7
+ * permissions, links, metadata, temporary files and directories, and file
8
+ * watching through the `FileSystem` service.
9
+ *
10
+ * Paths are passed to Node filesystem APIs, so relative paths are resolved by
11
+ * the current working directory and platform path rules still apply. Node
12
+ * filesystem failures are translated into `PlatformError` values, while invalid
13
+ * arguments become `BadArgument` failures. Open files are scoped resources with
14
+ * tracked read and write positions; append mode lets the operating system choose
15
+ * the write offset. File watching is exposed as a stream and follows
16
+ * `node:fs.watch` semantics unless a `WatchBackend` is provided, so recursive
17
+ * support, event coalescing, and reported paths can vary by runtime and
18
+ * platform.
19
+ *
20
+ * @since 4.0.0
3
21
  */
4
22
  import * as Cause from "effect/Cause";
5
23
  import * as Effect from "effect/Effect";
@@ -120,7 +138,7 @@ const makeFile = /*#__PURE__*/(() => {
120
138
  [FileSystem.FileTypeId];
121
139
  fd;
122
140
  append;
123
- position = 0n;
141
+ position = /*#__PURE__*/BigInt(0);
124
142
  constructor(fd, append) {
125
143
  this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
126
144
  this.fd = fd;
@@ -166,15 +184,15 @@ const makeFile = /*#__PURE__*/(() => {
166
184
  position
167
185
  }), bytesRead => {
168
186
  if (bytesRead === 0) {
169
- return undefined;
187
+ return Option.none();
170
188
  }
171
189
  this.position = position + BigInt(bytesRead);
172
190
  if (bytesRead === sizeNumber) {
173
- return buffer;
191
+ return Option.some(buffer);
174
192
  }
175
193
  const dst = Buffer.allocUnsafeSlow(bytesRead);
176
194
  buffer.copy(dst, 0, 0, bytesRead);
177
- return dst;
195
+ return Option.some(dst);
178
196
  });
179
197
  });
180
198
  }
@@ -285,19 +303,19 @@ const rename = /*#__PURE__*/(() => {
285
303
  // == stat
286
304
  const makeFileInfo = stat => ({
287
305
  type: stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : stat.isBlockDevice() ? "BlockDevice" : stat.isCharacterDevice() ? "CharacterDevice" : stat.isFIFO() ? "FIFO" : stat.isSocket() ? "Socket" : "Unknown",
288
- mtime: stat.mtime,
289
- atime: stat.atime,
290
- birthtime: stat.birthtime,
306
+ mtime: Option.fromNullishOr(stat.mtime),
307
+ atime: Option.fromNullishOr(stat.atime),
308
+ birthtime: Option.fromNullishOr(stat.birthtime),
291
309
  dev: stat.dev,
292
- rdev: stat.rdev,
293
- ino: stat.ino,
310
+ rdev: Option.fromNullishOr(stat.rdev),
311
+ ino: Option.fromNullishOr(stat.ino),
294
312
  mode: stat.mode,
295
- nlink: stat.nlink,
296
- uid: stat.uid,
297
- gid: stat.gid,
313
+ nlink: Option.fromNullishOr(stat.nlink),
314
+ uid: Option.fromNullishOr(stat.uid),
315
+ gid: Option.fromNullishOr(stat.gid),
298
316
  size: FileSystem.Size(stat.size),
299
- blksize: FileSystem.Size(stat.blksize),
300
- blocks: stat.blocks
317
+ blksize: stat.blksize !== undefined ? Option.some(FileSystem.Size(stat.blksize)) : Option.none(),
318
+ blocks: Option.fromNullishOr(stat.blocks)
301
319
  });
302
320
  const stat = /*#__PURE__*/(() => {
303
321
  const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
@@ -320,7 +338,9 @@ const utimes = /*#__PURE__*/(() => {
320
338
  })();
321
339
  // == watch
322
340
  const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
323
- const watcher = NFS.watch(path, {}, (event, path) => {
341
+ const watcher = NFS.watch(path, {
342
+ recursive: true
343
+ }, (event, path) => {
324
344
  if (!path) return;
325
345
  switch (event) {
326
346
  case "rename":
@@ -361,13 +381,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
361
381
  });
362
382
  return watcher;
363
383
  }), watcher => Effect.sync(() => watcher.close())));
364
- const watch = (backend, path) => stat(path).pipe(Effect.map(stat => {
365
- if (backend) {
366
- const stream = backend.register(path, stat);
367
- if (stream) return stream;
368
- }
369
- return watchNode(path);
370
- }), Stream.unwrap);
384
+ const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
371
385
  // == writeFile
372
386
  const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
373
387
  try {
@@ -410,13 +424,16 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
410
424
  truncate,
411
425
  utimes,
412
426
  watch(path) {
413
- return watch(Option.getOrUndefined(backend), path);
427
+ return watch(backend, path);
414
428
  },
415
429
  writeFile
416
430
  }));
417
431
  /**
418
- * @since 1.0.0
419
- * @category Layers
432
+ * Provides the `FileSystem` service backed by Node filesystem APIs, including
433
+ * file operations, directory operations, links, metadata, and file watching.
434
+ *
435
+ * @category layers
436
+ * @since 4.0.0
420
437
  */
421
438
  export const layer = /*#__PURE__*/Layer.effect(FileSystem.FileSystem)(makeFileSystem);
422
439
  //# sourceMappingURL=NodeFileSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystem.js","names":["Cause","Effect","effectify","FileSystem","pipe","Layer","Option","Error","Queue","Stream","Crypto","NFS","OS","Path","handleErrnoException","handleBadArgument","method","err","badArgument","module","description","message","String","access","nodeAccess","path","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","flag","fd","map","makeFile","FileDescriptor","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeSync","fsync","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","FileTypeId","append","position","constructor","stat","makeFileInfo","sync","seek","offset","from","offsetSize","Size","buffer","bytesRead","sizeRead","readAlloc","size","sizeNumber","Number","Buffer","allocUnsafeSlow","undefined","BigInt","dst","truncate","length","len","bytesWritten","sizeWritten","writeAllChunk","flatMap","fail","systemError","_tag","pathOrDescriptor","subarray","void","writeAll","makeTempFileFactory","fnUntraced","random","randomBytes","toString","name","suffix","writeFile","Uint8Array","makeTempFile","makeTempFileScoped","file","dirname","readDirectory","tryPromise","try","promises","readdir","catch","readFile","callback","resume","signal","data","succeed","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","watchNode","queue","watcher","watch","event","runFork","matchEffect","onSuccess","_","offer","onFailure","offerUnsafe","on","error","failCauseUnsafe","cause","endUnsafe","backend","stream","register","unwrap","makeFileSystem","serviceOption","WatchBackend","make","getOrUndefined","layer","effect"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeFileSystem.js","names":["Cause","Effect","effectify","FileSystem","pipe","Layer","Option","Error","Queue","Stream","Crypto","NFS","OS","Path","handleErrnoException","handleBadArgument","method","err","badArgument","module","description","message","String","access","nodeAccess","path","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","flag","fd","map","makeFile","FileDescriptor","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeSync","fsync","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","FileTypeId","append","position","BigInt","constructor","stat","makeFileInfo","sync","seek","offset","from","offsetSize","Size","buffer","bytesRead","sizeRead","readAlloc","size","sizeNumber","Number","Buffer","allocUnsafeSlow","none","some","dst","truncate","length","undefined","len","bytesWritten","sizeWritten","writeAllChunk","flatMap","fail","systemError","_tag","pathOrDescriptor","subarray","void","writeAll","makeTempFileFactory","fnUntraced","random","randomBytes","toString","name","suffix","writeFile","Uint8Array","makeTempFile","makeTempFileScoped","file","dirname","readDirectory","tryPromise","try","promises","readdir","catch","readFile","callback","resume","signal","data","succeed","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","fromNullishOr","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","watchNode","queue","watcher","watch","event","runFork","matchEffect","onSuccess","_","offer","onFailure","offerUnsafe","on","error","failCauseUnsafe","cause","endUnsafe","backend","register","getOrElse","unwrap","makeFileSystem","serviceOption","WatchBackend","make","layer","effect"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,SAAS,QAAQ,eAAe;AACzC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,sBAAsB;AAC7C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,OAAO,KAAKC,GAAG,MAAM,SAAS;AAC9B,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,SAASC,oBAAoB,QAAQ,qBAAqB;AAE1D,MAAMC,iBAAiB,GAAIC,MAAc,IAAMC,GAAY,IACzDV,KAAK,CAACW,WAAW,CAAC;EAChBC,MAAM,EAAE,YAAY;EACpBH,MAAM;EACNI,WAAW,EAAGH,GAAa,CAACI,OAAO,IAAIC,MAAM,CAACL,GAAG;CAClD,CAAC;AAEJ;AAEA,MAAMM,MAAM,gBAAG,CAAC,MAAsC;EACpD,MAAMC,UAAU,gBAAGtB,SAAS,CAC1BS,GAAG,CAACY,MAAM,eACVT,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,eAC5CC,iBAAiB,CAAC,QAAQ,CAAC,CAC5B;EACD,OAAO,CAACU,IAAI,EAAEC,OAAO,KAAI;IACvB,IAAIC,IAAI,GAAGhB,GAAG,CAACiB,SAAS,CAACC,IAAI;IAC7B,IAAIH,OAAO,EAAEI,QAAQ,EAAE;MACrBH,IAAI,IAAIhB,GAAG,CAACiB,SAAS,CAACG,IAAI;IAC5B;IACA,IAAIL,OAAO,EAAEM,QAAQ,EAAE;MACrBL,IAAI,IAAIhB,GAAG,CAACiB,SAAS,CAACK,IAAI;IAC5B;IACA,OAAOT,UAAU,CAACC,IAAI,EAAEE,IAAI,CAAC;EAC/B,CAAC;AACH,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMO,IAAI,gBAAG,CAAC,MAAoC;EAChD,MAAMC,MAAM,gBAAGjC,SAAS,CACtBS,GAAG,CAACyB,EAAE,eACNtB,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,eAC1CC,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAO,CAACsB,QAAQ,EAAEC,MAAM,EAAEZ,OAAO,KAC/BS,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,gBAAG1C,SAAS,CAC5BS,GAAG,CAACgC,QAAQ,eACZ7B,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,eAC9CC,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAO,CAACsB,QAAgB,EAAEC,MAAc,KAAKM,YAAY,CAACP,QAAQ,EAAEC,MAAM,CAAC;AAC7E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMO,KAAK,gBAAG,CAAC,MAAK;EAClB,MAAMC,SAAS,gBAAG5C,SAAS,CACzBS,GAAG,CAACkC,KAAK,eACT/B,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,eAC3CC,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACU,IAAY,EAAEE,IAAY,KAAKmB,SAAS,CAACrB,IAAI,EAAEE,IAAI,CAAC;AAC9D,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMoB,KAAK,gBAAG,CAAC,MAAK;EAClB,MAAMC,SAAS,gBAAG9C,SAAS,CACzBS,GAAG,CAACoC,KAAK,eACTjC,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,eAC3CC,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACU,IAAY,EAAEwB,GAAW,EAAEC,GAAW,KAAKF,SAAS,CAACvB,IAAI,EAAEwB,GAAG,EAAEC,GAAG,CAAC;AAC9E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,IAAI,gBAAG,CAAC,MAAK;EACjB,MAAMC,QAAQ,gBAAGlD,SAAS,CACxBS,GAAG,CAACwC,IAAI,eACRrC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,eAC1CC,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAO,CAACsC,YAAoB,EAAEC,OAAe,KAAKF,QAAQ,CAACC,YAAY,EAAEC,OAAO,CAAC;AACnF,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMC,aAAa,gBAAG,CAAC,MAA6C;EAClE,MAAMC,SAAS,gBAAGtD,SAAS,CACzBS,GAAG,CAAC8C,KAAK,eACT3C,oBAAoB,CAAC,YAAY,EAAE,eAAe,CAAC,eACnDC,iBAAiB,CAAC,eAAe,CAAC,CACnC;EACD,OAAO,CAACU,IAAI,EAAEC,OAAO,KACnB8B,SAAS,CAAC/B,IAAI,EAAE;IACdiB,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAI,KAAK;IACtCf,IAAI,EAAED,OAAO,EAAEC;GAChB,CAAC;AACN,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAM+B,wBAAwB,GAAI1C,MAAc,IAAgD;EAC9F,MAAM2C,WAAW,GAAGzD,SAAS,CAC3BS,GAAG,CAACiD,OAAO,EACX9C,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EACD,OAAQU,OAAO,IACbzB,MAAM,CAAC4D,OAAO,CAAC,MAAK;IAClB,MAAMC,MAAM,GAAGpC,OAAO,EAAEoC,MAAM,IAAI,EAAE;IACpC,MAAMC,SAAS,GAAG,OAAOrC,OAAO,EAAEqC,SAAS,KAAK,QAAQ,GACpDlD,IAAI,CAACmD,IAAI,CAACtC,OAAO,CAACqC,SAAS,EAAE,GAAG,CAAC,GACjCnD,EAAE,CAACqD,MAAM,EAAE;IAEf,OAAON,WAAW,CAACG,MAAM,GAAGjD,IAAI,CAACmD,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,GAAInD,MAAc,IAAqC;EACxE,MAAMoD,MAAM,GAAGlE,SAAS,CACtBS,GAAG,CAAC0D,EAAE,EACNvD,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EACD,OAAO,CAACS,IAAI,EAAEC,OAAO,KACnB0C,MAAM,CACJ3C,IAAI,EACJ;IAAEiB,SAAS,EAAEhB,OAAO,EAAEgB,SAAS,IAAI,KAAK;IAAEH,KAAK,EAAEb,OAAO,EAAEa,KAAK,IAAI;EAAK,CAAE,CAC3E;AACL,CAAC;AACD,MAAM+B,MAAM,gBAAGH,aAAa,CAAC,QAAQ,CAAC;AAEtC;AAEA,MAAMI,uBAAuB,gBAAG,CAAC,MAAuD;EACtF,MAAMhB,aAAa,gBAAGG,wBAAwB,CAAC,yBAAyB,CAAC;EACzE,MAAMc,eAAe,gBAAGL,aAAa,CAAC,yBAAyB,CAAC;EAChE,OAAQzC,OAAO,IACbzB,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,GAAI3D,MAAc,IAAmC;EACpE,MAAM4D,QAAQ,GAAG1E,SAAS,CACxBS,GAAG,CAACkE,IAAI,EACR/D,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EACD,MAAM8D,SAAS,GAAG5E,SAAS,CACzBS,GAAG,CAACoE,KAAK,EACTjE,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EAED,OAAO,CAACS,IAAI,EAAEC,OAAO,KACnBtB,IAAI,CACFH,MAAM,CAACwE,cAAc,CACnBG,QAAQ,CAACnD,IAAI,EAAEC,OAAO,EAAEsD,IAAI,IAAI,GAAG,EAAEtD,OAAO,EAAEC,IAAI,CAAC,EAClDsD,EAAE,IAAKhF,MAAM,CAACyE,KAAK,CAACI,SAAS,CAACG,EAAE,CAAC,CAAC,CACpC,EACDhF,MAAM,CAACiF,GAAG,CAAED,EAAE,IAAKE,QAAQ,CAAChF,UAAU,CAACiF,cAAc,CAACH,EAAE,CAAC,EAAEvD,OAAO,EAAEsD,IAAI,EAAEK,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CACrG;AACL,CAAC;AACD,MAAMR,IAAI,gBAAGF,WAAW,CAAC,MAAM,CAAC;AAEhC,MAAMQ,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMG,eAAe,GAAItE,MAAc,IACrCd,SAAS,CACPS,GAAG,CAAC4E,IAAI,EACRzE,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EACH,MAAMwE,QAAQ,gBAAGF,eAAe,CAAC,MAAM,CAAC;EACxC,MAAMG,aAAa,gBAAGH,eAAe,CAAC,WAAW,CAAC;EAClD,MAAMI,QAAQ,gBAAGxF,SAAS,CACxBS,GAAG,CAACgF,KAAK,eACT7E,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,eAC1CC,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,MAAM6E,YAAY,gBAAG1F,SAAS,CAC5BS,GAAG,CAACkF,SAAS,eACb/E,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,eAC9CC,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EAED,MAAM+E,QAAQ,gBAAG5F,SAAS,CACxBS,GAAG,CAACoF,KAAK,eACTjF,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,eAC1CC,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EAED,MAAMiF,gBAAgB,GAAIhF,MAAc,IACtCd,SAAS,CACPS,GAAG,CAACsF,KAAK,EACTnF,oBAAoB,CAAC,YAAY,EAAEE,MAAM,CAAC,EAC1CD,iBAAiB,CAACC,MAAM,CAAC,CAC1B;EACH,MAAMkF,SAAS,gBAAGF,gBAAgB,CAAC,OAAO,CAAC;EAC3C,MAAMG,YAAY,gBAAGH,gBAAgB,CAAC,UAAU,CAAC;EAEjD,MAAMI,QAAQ;IACH,CAACjG,UAAU,CAACkG,UAAU;IACtBpB,EAAE;IACMqB,MAAM;IAEfC,QAAQ,gBAAWC,MAAM,CAAC,CAAC,CAAC;IAEpCC,YACExB,EAA8B,EAC9BqB,MAAe;MAEf,IAAI,CAACnG,UAAU,CAACkG,UAAU,CAAC,GAAGlG,UAAU,CAACkG,UAAU;MACnD,IAAI,CAACpB,EAAE,GAAGA,EAAE;MACZ,IAAI,CAACqB,MAAM,GAAGA,MAAM;IACtB;IAEA,IAAII,IAAIA,CAAA;MACN,OAAOzG,MAAM,CAACiF,GAAG,CAACQ,QAAQ,CAAC,IAAI,CAACT,EAAE,CAAC,EAAE0B,YAAY,CAAC;IACpD;IAEA,IAAIC,IAAIA,CAAA;MACN,OAAOd,QAAQ,CAAC,IAAI,CAACb,EAAE,CAAC;IAC1B;IAEA4B,IAAIA,CAACC,MAA4B,EAAEC,IAAyB;MAC1D,MAAMC,UAAU,GAAG7G,UAAU,CAAC8G,IAAI,CAACH,MAAM,CAAC;MAC1C,OAAO7G,MAAM,CAAC2G,IAAI,CAAC,MAAK;QACtB,IAAIG,IAAI,KAAK,OAAO,EAAE;UACpB,IAAI,CAACR,QAAQ,GAAGS,UAAU;QAC5B,CAAC,MAAM,IAAID,IAAI,KAAK,SAAS,EAAE;UAC7B,IAAI,CAACR,QAAQ,GAAG,IAAI,CAACA,QAAQ,GAAGS,UAAU;QAC5C;QAEA,OAAO,IAAI,CAACT,QAAQ;MACtB,CAAC,CAAC;IACJ;IAEAhB,IAAIA,CAAC2B,MAAkB;MACrB,OAAOjH,MAAM,CAAC4D,OAAO,CAAC,MAAK;QACzB,MAAM0C,QAAQ,GAAG,IAAI,CAACA,QAAQ;QAC9B,OAAOtG,MAAM,CAACiF,GAAG,CACfM,QAAQ,CAAC,IAAI,CAACP,EAAE,EAAE;UAAEiC,MAAM;UAAEX;QAAQ,CAAE,CAAC,EACtCY,SAAS,IAAI;UACZ,MAAMC,QAAQ,GAAGjH,UAAU,CAAC8G,IAAI,CAACE,SAAS,CAAC;UAC3C,IAAI,CAACZ,QAAQ,GAAGA,QAAQ,GAAGa,QAAQ;UACnC,OAAOA,QAAQ;QACjB,CAAC,CACF;MACH,CAAC,CAAC;IACJ;IAEAC,SAASA,CAACC,IAA0B;MAClC,MAAMC,UAAU,GAAGC,MAAM,CAACF,IAAI,CAAC;MAC/B,OAAOrH,MAAM,CAAC4D,OAAO,CAAC,MAAK;QACzB,MAAMqD,MAAM,GAAGO,MAAM,CAACC,eAAe,CAACH,UAAU,CAAC;QACjD,MAAMhB,QAAQ,GAAG,IAAI,CAACA,QAAQ;QAC9B,OAAOtG,MAAM,CAACiF,GAAG,CACfO,aAAa,CAAC,IAAI,CAACR,EAAE,EAAE;UAAEiC,MAAM;UAAEX;QAAQ,CAAE,CAAC,EAC3CY,SAAS,IAA2B;UACnC,IAAIA,SAAS,KAAK,CAAC,EAAE;YACnB,OAAO7G,MAAM,CAACqH,IAAI,EAAE;UACtB;UAEA,IAAI,CAACpB,QAAQ,GAAGA,QAAQ,GAAGC,MAAM,CAACW,SAAS,CAAC;UAC5C,IAAIA,SAAS,KAAKI,UAAU,EAAE;YAC5B,OAAOjH,MAAM,CAACsH,IAAI,CAACV,MAAM,CAAC;UAC5B;UAEA,MAAMW,GAAG,GAAGJ,MAAM,CAACC,eAAe,CAACP,SAAS,CAAC;UAC7CD,MAAM,CAAChF,IAAI,CAAC2F,GAAG,EAAE,CAAC,EAAE,CAAC,EAAEV,SAAS,CAAC;UACjC,OAAO7G,MAAM,CAACsH,IAAI,CAACC,GAAG,CAAC;QACzB,CAAC,CACF;MACH,CAAC,CAAC;IACJ;IAEAC,QAAQA,CAACC,MAA6B;MACpC,OAAO9H,MAAM,CAACiF,GAAG,CAACU,YAAY,CAAC,IAAI,CAACX,EAAE,EAAE8C,MAAM,GAAGP,MAAM,CAACO,MAAM,CAAC,GAAGC,SAAS,CAAC,EAAE,MAAK;QACjF,IAAI,CAAC,IAAI,CAAC1B,MAAM,EAAE;UAChB,MAAM2B,GAAG,GAAGzB,MAAM,CAACuB,MAAM,IAAI,CAAC,CAAC;UAC/B,IAAI,IAAI,CAACxB,QAAQ,GAAG0B,GAAG,EAAE;YACvB,IAAI,CAAC1B,QAAQ,GAAG0B,GAAG;UACrB;QACF;MACF,CAAC,CAAC;IACJ;IAEAhC,KAAKA,CAACiB,MAAkB;MACtB,OAAOjH,MAAM,CAAC4D,OAAO,CAAC,MAAK;QACzB,MAAM0C,QAAQ,GAAG,IAAI,CAACA,QAAQ;QAC9B,OAAOtG,MAAM,CAACiF,GAAG,CACfgB,SAAS,CAAC,IAAI,CAACjB,EAAE,EAAEiC,MAAM,EAAEc,SAAS,EAAEA,SAAS,EAAE,IAAI,CAAC1B,MAAM,GAAG0B,SAAS,GAAGR,MAAM,CAACjB,QAAQ,CAAC,CAAC,EAC3F2B,YAAY,IAAI;UACf,MAAMC,WAAW,GAAGhI,UAAU,CAAC8G,IAAI,CAACiB,YAAY,CAAC;UACjD,IAAI,CAAC,IAAI,CAAC5B,MAAM,EAAE;YAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ,GAAG4B,WAAW;UACxC;UACA,OAAOA,WAAW;QACpB,CAAC,CACF;MACH,CAAC,CAAC;IACJ;IAEQC,aAAaA,CAAClB,MAAkB;MACtC,OAAOjH,MAAM,CAAC4D,OAAO,CAAC,MAAK;QACzB,MAAM0C,QAAQ,GAAG,IAAI,CAACA,QAAQ;QAC9B,OAAOtG,MAAM,CAACoI,OAAO,CACnBlC,YAAY,CAAC,IAAI,CAAClB,EAAE,EAAEiC,MAAM,EAAEc,SAAS,EAAEA,SAAS,EAAE,IAAI,CAAC1B,MAAM,GAAG0B,SAAS,GAAGR,MAAM,CAACjB,QAAQ,CAAC,CAAC,EAC9F2B,YAAY,IAAI;UACf,IAAIA,YAAY,KAAK,CAAC,EAAE;YACtB,OAAOjI,MAAM,CAACqI,IAAI,CAChB/H,KAAK,CAACgI,WAAW,CAAC;cAChBpH,MAAM,EAAE,YAAY;cACpBH,MAAM,EAAE,UAAU;cAClBwH,IAAI,EAAE,WAAW;cACjBC,gBAAgB,EAAE,IAAI,CAACxD,EAAE;cACzB7D,WAAW,EAAE;aACd,CAAC,CACH;UACH;UAEA,IAAI,CAAC,IAAI,CAACkF,MAAM,EAAE;YAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ,GAAGC,MAAM,CAAC0B,YAAY,CAAC;UACjD;UAEA,OAAOA,YAAY,GAAGhB,MAAM,CAACa,MAAM,GAAG,IAAI,CAACK,aAAa,CAAClB,MAAM,CAACwB,QAAQ,CAACR,YAAY,CAAC,CAAC,GAAGjI,MAAM,CAAC0I,IAAI;QACvG,CAAC,CACF;MACH,CAAC,CAAC;IACJ;IAEAC,QAAQA,CAAC1B,MAAkB;MACzB,OAAO,IAAI,CAACkB,aAAa,CAAClB,MAAM,CAAC;IACnC;;EAGF,OAAO,CAACjC,EAA8B,EAAEqB,MAAe,KAAsB,IAAIF,QAAQ,CAACnB,EAAE,EAAEqB,MAAM,CAAC;AACvG,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMuC,mBAAmB,GAAI7H,MAAc,IAA2C;EACpF,MAAMuC,aAAa,GAAGG,wBAAwB,CAAC1C,MAAM,CAAC;EACtD,OAAOf,MAAM,CAAC6I,UAAU,CAAC,WAAUpH,OAAO;IACxC,MAAMqC,SAAS,GAAG,OAAOR,aAAa,CAAC7B,OAAO,CAAC;IAC/C,MAAMqH,MAAM,GAAGrI,MAAM,CAACsI,WAAW,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC;IACpD,MAAMC,IAAI,GAAGrI,IAAI,CAACmD,IAAI,CAACD,SAAS,EAAErC,OAAO,EAAEyH,MAAM,GAAG,GAAGJ,MAAM,GAAGrH,OAAO,CAACyH,MAAM,EAAE,GAAGJ,MAAM,CAAC;IAC1F,OAAOK,SAAS,CAACF,IAAI,EAAE,IAAIG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzC,OAAOH,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;AACD,MAAMI,YAAY,gBAAGT,mBAAmB,CAAC,cAAc,CAAC;AAExD;AAEA,MAAMU,kBAAkB,gBAAG,CAAC,MAAkD;EAC5E,MAAMpE,QAAQ,gBAAG0D,mBAAmB,CAAC,oBAAoB,CAAC;EAC1D,MAAMrE,eAAe,gBAAGL,aAAa,CAAC,oBAAoB,CAAC;EAC3D,OAAQzC,OAAO,IACbzB,MAAM,CAACwE,cAAc,CACnBU,QAAQ,CAACzD,OAAO,CAAC,EAChB8H,IAAI,IAAKvJ,MAAM,CAACyE,KAAK,CAACF,eAAe,CAAC3D,IAAI,CAAC4I,OAAO,CAACD,IAAI,CAAC,EAAE;IAAE9G,SAAS,EAAE;EAAI,CAAE,CAAC,CAAC,CACjF;AACL,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMgH,aAAa,GAA2CA,CAACjI,IAAI,EAAEC,OAAO,KAC1EzB,MAAM,CAAC0J,UAAU,CAAC;EAChBC,GAAG,EAAEA,CAAA,KAAMjJ,GAAG,CAACkJ,QAAQ,CAACC,OAAO,CAACrI,IAAI,EAAEC,OAAO,CAAC;EAC9CqI,KAAK,EAAG9I,GAAG,IAAKH,oBAAoB,CAAC,YAAY,EAAE,eAAe,CAAC,CAACG,GAAU,EAAE,CAACQ,IAAI,CAAC;CACvF,CAAC;AAEJ;AAEA,MAAMuI,QAAQ,GAAIvI,IAAY,IAC5BxB,MAAM,CAACgK,QAAQ,CAAkC,CAACC,MAAM,EAAEC,MAAM,KAAI;EAClE,IAAI;IACFxJ,GAAG,CAACqJ,QAAQ,CAACvI,IAAI,EAAE;MAAE0I;IAAM,CAAE,EAAE,CAAClJ,GAAG,EAAEmJ,IAAI,KAAI;MAC3C,IAAInJ,GAAG,EAAE;QACPiJ,MAAM,CAACjK,MAAM,CAACqI,IAAI,CAACxH,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAACG,GAAG,EAAE,CAACQ,IAAI,CAAC,CAAC,CAAC,CAAC;MAClF,CAAC,MAAM;QACLyI,MAAM,CAACjK,MAAM,CAACoK,OAAO,CAACD,IAAI,CAAC,CAAC;MAC9B;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOnJ,GAAG,EAAE;IACZiJ,MAAM,CAACjK,MAAM,CAACqI,IAAI,CAACvH,iBAAiB,CAAC,UAAU,CAAC,CAACE,GAAG,CAAC,CAAC,CAAC;EACzD;AACF,CAAC,CAAC;AAEJ;AAEA,MAAMqJ,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMC,YAAY,gBAAGrK,SAAS,CAC5BS,GAAG,CAAC6J,QAAQ,eACZ1J,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,eAC9CC,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAQU,IAAY,IAAK8I,YAAY,CAAC9I,IAAI,CAAC;AAC7C,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMgJ,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMC,YAAY,gBAAGxK,SAAS,CAC5BS,GAAG,CAACgK,QAAQ,eACZ7J,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,eAC9CC,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAQU,IAAY,IAAKiJ,YAAY,CAACjJ,IAAI,CAAC;AAC7C,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMmJ,MAAM,gBAAG,CAAC,MAAK;EACnB,MAAMC,UAAU,gBAAG3K,SAAS,CAC1BS,GAAG,CAACiK,MAAM,eACV9J,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,eAC5CC,iBAAiB,CAAC,QAAQ,CAAC,CAC5B;EACD,OAAO,CAAC+J,OAAe,EAAExH,OAAe,KAAKuH,UAAU,CAACC,OAAO,EAAExH,OAAO,CAAC;AAC3E,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMqD,YAAY,GAAID,IAAe,KAA4B;EAC/DqE,IAAI,EAAErE,IAAI,CAACsE,MAAM,EAAE,GACjB,MAAM,GACNtE,IAAI,CAACuE,WAAW,EAAE,GAClB,WAAW,GACXvE,IAAI,CAACwE,cAAc,EAAE,GACrB,cAAc,GACdxE,IAAI,CAACyE,aAAa,EAAE,GACpB,aAAa,GACbzE,IAAI,CAAC0E,iBAAiB,EAAE,GACxB,iBAAiB,GACjB1E,IAAI,CAAC2E,MAAM,EAAE,GACb,MAAM,GACN3E,IAAI,CAAC4E,QAAQ,EAAE,GACf,QAAQ,GACR,SAAS;EACXC,KAAK,EAAEjL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAAC6E,KAAK,CAAC;EACvCE,KAAK,EAAEnL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAAC+E,KAAK,CAAC;EACvCC,SAAS,EAAEpL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACgF,SAAS,CAAC;EAC/CC,GAAG,EAAEjF,IAAI,CAACiF,GAAG;EACbC,IAAI,EAAEtL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACkF,IAAI,CAAC;EACrCC,GAAG,EAAEvL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACmF,GAAG,CAAC;EACnClK,IAAI,EAAE+E,IAAI,CAAC/E,IAAI;EACfmK,KAAK,EAAExL,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACoF,KAAK,CAAC;EACvC7I,GAAG,EAAE3C,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACzD,GAAG,CAAC;EACnCC,GAAG,EAAE5C,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACxD,GAAG,CAAC;EACnCoE,IAAI,EAAEnH,UAAU,CAAC8G,IAAI,CAACP,IAAI,CAACY,IAAI,CAAC;EAChCyE,OAAO,EAAErF,IAAI,CAACqF,OAAO,KAAK/D,SAAS,GAAG1H,MAAM,CAACsH,IAAI,CAACzH,UAAU,CAAC8G,IAAI,CAACP,IAAI,CAACqF,OAAO,CAAC,CAAC,GAAGzL,MAAM,CAACqH,IAAI,EAAE;EAChGqE,MAAM,EAAE1L,MAAM,CAACkL,aAAa,CAAC9E,IAAI,CAACsF,MAAM;CACzC,CAAC;AACF,MAAMtF,IAAI,gBAAG,CAAC,MAAK;EACjB,MAAMhB,QAAQ,gBAAGxF,SAAS,CACxBS,GAAG,CAAC+F,IAAI,eACR5F,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,eAC1CC,iBAAiB,CAAC,MAAM,CAAC,CAC1B;EACD,OAAQU,IAAY,IAAKxB,MAAM,CAACiF,GAAG,CAACQ,QAAQ,CAACjE,IAAI,CAAC,EAAEkF,YAAY,CAAC;AACnE,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMsF,OAAO,gBAAG,CAAC,MAAK;EACpB,MAAMC,WAAW,gBAAGhM,SAAS,CAC3BS,GAAG,CAACsL,OAAO,eACXnL,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,eAC7CC,iBAAiB,CAAC,SAAS,CAAC,CAC7B;EACD,OAAO,CAACoL,MAAc,EAAE1K,IAAY,KAAKyK,WAAW,CAACC,MAAM,EAAE1K,IAAI,CAAC;AACpE,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMqG,QAAQ,gBAAG,CAAC,MAAK;EACrB,MAAMlC,YAAY,gBAAG1F,SAAS,CAC5BS,GAAG,CAACmH,QAAQ,eACZhH,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,eAC9CC,iBAAiB,CAAC,UAAU,CAAC,CAC9B;EACD,OAAO,CAACU,IAAY,EAAEsG,MAA6B,KACjDnC,YAAY,CAACnE,IAAI,EAAEsG,MAAM,KAAKC,SAAS,GAAGR,MAAM,CAACO,MAAM,CAAC,GAAGC,SAAS,CAAC;AACzE,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMoE,MAAM,gBAAG,CAAC,MAAK;EACnB,MAAMC,UAAU,gBAAGnM,SAAS,CAC1BS,GAAG,CAACyL,MAAM,eACVtL,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,eAC3CC,iBAAiB,CAAC,OAAO,CAAC,CAC3B;EACD,OAAO,CAACU,IAAY,EAAEgK,KAAoB,EAAEF,KAAoB,KAAKc,UAAU,CAAC5K,IAAI,EAAEgK,KAAK,EAAEF,KAAK,CAAC;AACrG,CAAC,EAAC,CAAE;AAEJ;AAEA,MAAMe,SAAS,GAAI7K,IAAY,IAC7BhB,MAAM,CAACwJ,QAAQ,CAA8CsC,KAAK,IAChEtM,MAAM,CAACwE,cAAc,CACnBxE,MAAM,CAAC2G,IAAI,CAAC,MAAK;EACf,MAAM4F,OAAO,GAAG7L,GAAG,CAAC8L,KAAK,CAAChL,IAAI,EAAE;IAC9BiB,SAAS,EAAE;GACZ,EAAE,CAACgK,KAAK,EAAEjL,IAAI,KAAI;IACjB,IAAI,CAACA,IAAI,EAAE;IACX,QAAQiL,KAAK;MACX,KAAK,QAAQ;QAAE;UACbzM,MAAM,CAAC0M,OAAO,CAAC1M,MAAM,CAAC2M,WAAW,CAAClG,IAAI,CAACjF,IAAI,CAAC,EAAE;YAC5CoL,SAAS,EAAGC,CAAC,IAAKtM,KAAK,CAACuM,KAAK,CAACR,KAAK,EAAE;cAAE/D,IAAI,EAAE,QAAQ;cAAE/G;YAAI,CAAE,CAAC;YAC9DuL,SAAS,EAAGF,CAAC,IAAKtM,KAAK,CAACuM,KAAK,CAACR,KAAK,EAAE;cAAE/D,IAAI,EAAE,QAAQ;cAAE/G;YAAI,CAAE;WAC9D,CAAC,CAAC;UACH;QACF;MACA,KAAK,QAAQ;QAAE;UACbjB,KAAK,CAACyM,WAAW,CAACV,KAAK,EAAE;YAAE/D,IAAI,EAAE,QAAQ;YAAE/G;UAAI,CAAE,CAAC;UAClD;QACF;IACF;EACF,CAAC,CAAC;EACF+K,OAAO,CAACU,EAAE,CAAC,OAAO,EAAGC,KAAK,IAAI;IAC5B3M,KAAK,CAAC4M,eAAe,CACnBb,KAAK,EACLvM,KAAK,CAACsI,IAAI,CACR/H,KAAK,CAACgI,WAAW,CAAC;MAChBpH,MAAM,EAAE,YAAY;MACpBqH,IAAI,EAAE,SAAS;MACfxH,MAAM,EAAE,OAAO;MACfyH,gBAAgB,EAAEhH,IAAI;MACtB4L,KAAK,EAAEF;KACR,CAAC,CACH,CACF;EACH,CAAC,CAAC;EACFX,OAAO,CAACU,EAAE,CAAC,OAAO,EAAE,MAAK;IACvB1M,KAAK,CAAC8M,SAAS,CAACf,KAAK,CAAC;EACxB,CAAC,CAAC;EACF,OAAOC,OAAO;AAChB,CAAC,CAAC,EACDA,OAAO,IAAKvM,MAAM,CAAC2G,IAAI,CAAC,MAAM4F,OAAO,CAACzH,KAAK,EAAE,CAAC,CAChD,CACF;AAEH,MAAM0H,KAAK,GAAGA,CAACc,OAA0D,EAAE9L,IAAY,KACrFiF,IAAI,CAACjF,IAAI,CAAC,CAACrB,IAAI,CACbH,MAAM,CAACiF,GAAG,CAAEwB,IAAI,IACd6G,OAAO,CAACnN,IAAI,CACVE,MAAM,CAAC+H,OAAO,CAAEyE,CAAC,IAAKA,CAAC,CAACU,QAAQ,CAAC/L,IAAI,EAAEiF,IAAI,CAAC,CAAC,EAC7CpG,MAAM,CAACmN,SAAS,CAAC,MAAMnB,SAAS,CAAC7K,IAAI,CAAC,CAAC,CACxC,CACF,EACDhB,MAAM,CAACiN,MAAM,CACd;AAEH;AAEA,MAAMtE,SAAS,GAAuCA,CAAC3H,IAAI,EAAE2I,IAAI,EAAE1I,OAAO,KACxEzB,MAAM,CAACgK,QAAQ,CAA4B,CAACC,MAAM,EAAEC,MAAM,KAAI;EAC5D,IAAI;IACFxJ,GAAG,CAACyI,SAAS,CAAC3H,IAAI,EAAE2I,IAAI,EAAE;MACxBD,MAAM;MACNnF,IAAI,EAAEtD,OAAO,EAAEsD,IAAI;MACnBrD,IAAI,EAAED,OAAO,EAAEC;KAChB,EAAGV,GAAG,IAAI;MACT,IAAIA,GAAG,EAAE;QACPiJ,MAAM,CAACjK,MAAM,CAACqI,IAAI,CAACxH,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAACG,GAAG,EAAE,CAACQ,IAAI,CAAC,CAAC,CAAC,CAAC;MACnF,CAAC,MAAM;QACLyI,MAAM,CAACjK,MAAM,CAAC0I,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAO1H,GAAG,EAAE;IACZiJ,MAAM,CAACjK,MAAM,CAACqI,IAAI,CAACvH,iBAAiB,CAAC,WAAW,CAAC,CAACE,GAAG,CAAC,CAAC,CAAC;EAC1D;AACF,CAAC,CAAC;AAEJ,MAAM0M,cAAc,gBAAG1N,MAAM,CAACiF,GAAG,cAACjF,MAAM,CAAC2N,aAAa,CAACzN,UAAU,CAAC0N,YAAY,CAAC,EAAGN,OAAO,IACvFpN,UAAU,CAAC2N,IAAI,CAAC;EACdvM,MAAM;EACNsB,KAAK;EACLE,KAAK;EACLb,IAAI;EACJS,QAAQ;EACRQ,IAAI;EACJI,aAAa;EACbW,iBAAiB;EACjBK,uBAAuB;EACvB+E,YAAY;EACZC,kBAAkB;EAClB1E,IAAI;EACJ6E,aAAa;EACbM,QAAQ;EACRM,QAAQ;EACRG,QAAQ;EACRnG,MAAM;EACNsG,MAAM;EACNlE,IAAI;EACJuF,OAAO;EACPnE,QAAQ;EACRsE,MAAM;EACNK,KAAKA,CAAChL,IAAI;IACR,OAAOgL,KAAK,CAACc,OAAO,EAAE9L,IAAI,CAAC;EAC7B,CAAC;EACD2H;CACD,CAAC,CAAC;AAEL;;;;;;;AAOA,OAAO,MAAM2E,KAAK,gBAAuC1N,KAAK,CAAC2N,MAAM,CAAC7N,UAAU,CAACA,UAAU,CAAC,CAACwN,cAAc,CAAC","ignoreList":[]}
@@ -1,18 +1,27 @@
1
1
  import * as Layer from "effect/Layer";
2
2
  import { Path } from "effect/Path";
3
3
  /**
4
- * @since 1.0.0
5
- * @category Layers
4
+ * Provides the `Path` service using Node's POSIX path implementation plus
5
+ * file URL conversion helpers.
6
+ *
7
+ * @category layers
8
+ * @since 4.0.0
6
9
  */
7
10
  export declare const layerPosix: Layer.Layer<Path>;
8
11
  /**
9
- * @since 1.0.0
10
- * @category Layers
12
+ * Provides the `Path` service using Node's Windows path implementation plus
13
+ * file URL conversion helpers.
14
+ *
15
+ * @category layers
16
+ * @since 4.0.0
11
17
  */
12
18
  export declare const layerWin32: Layer.Layer<Path>;
13
19
  /**
14
- * @since 1.0.0
15
- * @category Layers
20
+ * Provides the default `Path` service using the host platform's Node path
21
+ * implementation plus file URL conversion helpers.
22
+ *
23
+ * @category layers
24
+ * @since 4.0.0
16
25
  */
17
26
  export declare const layer: Layer.Layer<Path>;
18
27
  //# sourceMappingURL=NodePath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodePath.d.ts","sourceRoot":"","sources":["../src/NodePath.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAU,MAAM,aAAa,CAAA;AA2B1C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKlC,CAAA"}
1
+ {"version":3,"file":"NodePath.d.ts","sourceRoot":"","sources":["../src/NodePath.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAU,MAAM,aAAa,CAAA;AA2B1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKvC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAKlC,CAAA"}
package/dist/NodePath.js CHANGED
@@ -1,5 +1,19 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Shared Node-compatible implementation of Effect's `Path` service.
3
+ *
4
+ * This module adapts Node's `node:path` and `node:url` APIs into layers that
5
+ * can be provided to Effect programs needing path manipulation, such as
6
+ * resolving configuration files, building file system locations, parsing
7
+ * names and extensions, or converting between file paths and `file:` URLs.
8
+ *
9
+ * The default layer follows the host platform semantics exposed by
10
+ * `node:path`, while `layerPosix` and `layerWin32` provide stable POSIX or
11
+ * Windows behavior regardless of the current runtime. Path operations are
12
+ * syntactic and do not check whether files exist; separators, drive letters,
13
+ * UNC paths, and URL encoding rules can also differ by platform. Invalid
14
+ * file URL conversions are reported through `BadArgument`.
15
+ *
16
+ * @since 4.0.0
3
17
  */
4
18
  import * as Effect from "effect/Effect";
5
19
  import * as Layer from "effect/Layer";
@@ -24,8 +38,11 @@ const toFileUrl = path => Effect.try({
24
38
  })
25
39
  });
26
40
  /**
27
- * @since 1.0.0
28
- * @category Layers
41
+ * Provides the `Path` service using Node's POSIX path implementation plus
42
+ * file URL conversion helpers.
43
+ *
44
+ * @category layers
45
+ * @since 4.0.0
29
46
  */
30
47
  export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
31
48
  [TypeId]: TypeId,
@@ -34,8 +51,11 @@ export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
34
51
  toFileUrl
35
52
  });
36
53
  /**
37
- * @since 1.0.0
38
- * @category Layers
54
+ * Provides the `Path` service using Node's Windows path implementation plus
55
+ * file URL conversion helpers.
56
+ *
57
+ * @category layers
58
+ * @since 4.0.0
39
59
  */
40
60
  export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
41
61
  [TypeId]: TypeId,
@@ -44,8 +64,11 @@ export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
44
64
  toFileUrl
45
65
  });
46
66
  /**
47
- * @since 1.0.0
48
- * @category Layers
67
+ * Provides the default `Path` service using the host platform's Node path
68
+ * implementation plus file URL conversion helpers.
69
+ *
70
+ * @category layers
71
+ * @since 4.0.0
49
72
  */
50
73
  export const layer = /*#__PURE__*/Layer.succeed(Path)({
51
74
  [TypeId]: TypeId,
@@ -1 +1 @@
1
- {"version":3,"file":"NodePath.js","names":["Effect","Layer","Path","TypeId","BadArgument","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","cause","module","method","toFileUrl","path","pathToFileURL","layerPosix","succeed","posix","layerWin32","win32","layer"],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,IAAI,EAAEC,MAAM,QAAQ,aAAa;AAC1C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BR,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBF;GACD;CACJ,CAAC;AAEJ,MAAMG,SAAS,GAAIC,IAAY,IAC7BhB,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACW,aAAa,CAACD,IAAI,CAAC;EACtCL,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBF;GACD;CACJ,CAAC;AAEJ;;;;AAIA,OAAO,MAAMM,UAAU,gBAAsBjB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACe,KAAK;EACjBb,WAAW;EACXQ;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,UAAU,gBAAsBpB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXQ;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMQ,KAAK,gBAAsBtB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC1D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ;EACXE,WAAW;EACXQ;CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodePath.js","names":["Effect","Layer","Path","TypeId","BadArgument","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","cause","module","method","toFileUrl","path","pathToFileURL","layerPosix","succeed","posix","layerWin32","win32","layer"],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;AAiBA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,IAAI,EAAEC,MAAM,QAAQ,aAAa;AAC1C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BR,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBF;GACD;CACJ,CAAC;AAEJ,MAAMG,SAAS,GAAIC,IAAY,IAC7BhB,MAAM,CAACS,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACW,aAAa,CAACD,IAAI,CAAC;EACtCL,KAAK,EAAGC,KAAK,IACX,IAAIR,WAAW,CAAC;IACdS,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBF;GACD;CACJ,CAAC;AAEJ;;;;;;;AAOA,OAAO,MAAMM,UAAU,gBAAsBjB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACe,KAAK;EACjBb,WAAW;EACXQ;CACD,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAMM,UAAU,gBAAsBpB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC/D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXQ;CACD,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAMQ,KAAK,gBAAsBtB,KAAK,CAACkB,OAAO,CAACjB,IAAI,CAAC,CAAC;EAC1D,CAACC,MAAM,GAAGA,MAAM;EAChB,GAAGE,QAAQ;EACXE,WAAW;EACXQ;CACD,CAAC","ignoreList":[]}
@@ -1,24 +1,53 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Shared runtime helpers for running Effect programs as Node-compatible
3
+ * process entry points.
4
+ *
5
+ * This module provides the common `runMain` implementation used by
6
+ * Node-compatible platform packages. It is intended for CLIs, scripts,
7
+ * workers, servers, and other process-oriented programs that should run an
8
+ * Effect as their main fiber while still following Node process conventions.
9
+ *
10
+ * The runner installs `SIGINT` and `SIGTERM` handlers for the lifetime of the
11
+ * main fiber, translating those process signals into fiber interruption so
12
+ * Effect finalizers and the configured teardown can run. When the fiber exits,
13
+ * the signal listeners are removed and teardown determines the exit code. Clean
14
+ * success lets the Node event loop drain naturally instead of forcing
15
+ * `process.exit(0)`, while signal-triggered or non-zero exits call
16
+ * `process.exit` after teardown, so long-running resources should be modeled
17
+ * in the Effect scope and finalized explicitly.
18
+ *
19
+ * @since 4.0.0
3
20
  */
4
21
  import type { Effect } from "effect/Effect";
5
22
  import * as Runtime from "effect/Runtime";
6
23
  /**
7
- * @since 1.0.0
8
- * @category Run main
24
+ * Runs an Effect as the Node process main program, interrupting the fiber on
25
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
26
+ * process exit code.
27
+ *
28
+ * @category running
29
+ * @since 4.0.0
9
30
  */
10
31
  export declare const runMain: {
11
32
  /**
12
- * @since 1.0.0
13
- * @category Run main
33
+ * Runs an Effect as the Node process main program, interrupting the fiber on
34
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
35
+ * process exit code.
36
+ *
37
+ * @category running
38
+ * @since 4.0.0
14
39
  */
15
40
  (options?: {
16
41
  readonly disableErrorReporting?: boolean | undefined;
17
42
  readonly teardown?: Runtime.Teardown | undefined;
18
43
  }): <E, A>(effect: Effect<A, E>) => void;
19
44
  /**
20
- * @since 1.0.0
21
- * @category Run main
45
+ * Runs an Effect as the Node process main program, interrupting the fiber on
46
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
47
+ * process exit code.
48
+ *
49
+ * @category running
50
+ * @since 4.0.0
22
51
  */
23
52
  <E, A>(effect: Effect<A, E>, options?: {
24
53
  readonly disableErrorReporting?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeRuntime.d.ts","sourceRoot":"","sources":["../src/NodeRuntime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;OAGG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,IAAI,CAAA;CA4BP,CAAA"}
1
+ {"version":3,"file":"NodeRuntime.d.ts","sourceRoot":"","sources":["../src/NodeRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;OAOG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;OAOG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,IAAI,CAAA;CAwBP,CAAA"}
@@ -1,7 +1,11 @@
1
1
  import * as Runtime from "effect/Runtime";
2
2
  /**
3
- * @since 1.0.0
4
- * @category Run main
3
+ * Runs an Effect as the Node process main program, interrupting the fiber on
4
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
5
+ * process exit code.
6
+ *
7
+ * @category running
8
+ * @since 4.0.0
5
9
  */
6
10
  export const runMain = /*#__PURE__*/Runtime.makeRunMain(({
7
11
  fiber,
@@ -9,10 +13,8 @@ export const runMain = /*#__PURE__*/Runtime.makeRunMain(({
9
13
  }) => {
10
14
  let receivedSignal = false;
11
15
  fiber.addObserver(exit => {
12
- if (!receivedSignal) {
13
- process.removeListener("SIGINT", onSigint);
14
- process.removeListener("SIGTERM", onSigint);
15
- }
16
+ process.removeListener("SIGINT", onSigint);
17
+ process.removeListener("SIGTERM", onSigint);
16
18
  teardown(exit, code => {
17
19
  if (receivedSignal || code !== 0) {
18
20
  process.exit(code);
@@ -21,8 +23,6 @@ export const runMain = /*#__PURE__*/Runtime.makeRunMain(({
21
23
  });
22
24
  function onSigint() {
23
25
  receivedSignal = true;
24
- process.removeListener("SIGINT", onSigint);
25
- process.removeListener("SIGTERM", onSigint);
26
26
  fiber.interruptUnsafe(fiber.id);
27
27
  }
28
28
  process.on("SIGINT", onSigint);
@@ -1 +1 @@
1
- {"version":3,"file":"NodeRuntime.js","names":["Runtime","runMain","makeRunMain","fiber","teardown","receivedSignal","addObserver","exit","process","removeListener","onSigint","code","interruptUnsafe","id","on"],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AAEzC;;;;AAIA,OAAO,MAAMC,OAAO,gBAsBhBD,OAAO,CAACE,WAAW,CAAC,CAAC;EACvBC,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,IAAIC,cAAc,GAAG,KAAK;EAE1BF,KAAK,CAACG,WAAW,CAAEC,IAAI,IAAI;IACzB,IAAI,CAACF,cAAc,EAAE;MACnBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;MAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC7C;IACAN,QAAQ,CAACG,IAAI,EAAGI,IAAI,IAAI;MACtB,IAAIN,cAAc,IAAIM,IAAI,KAAK,CAAC,EAAE;QAChCH,OAAO,CAACD,IAAI,CAACI,IAAI,CAAC;MACpB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASD,QAAQA,CAAA;IACfL,cAAc,GAAG,IAAI;IACrBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;IAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC3CP,KAAK,CAACS,eAAe,CAACT,KAAK,CAACU,EAAE,CAAC;EACjC;EAEAL,OAAO,CAACM,EAAE,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAC9BF,OAAO,CAACM,EAAE,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodeRuntime.js","names":["Runtime","runMain","makeRunMain","fiber","teardown","receivedSignal","addObserver","exit","process","removeListener","onSigint","code","interruptUnsafe","id","on"],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAqBA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AAEzC;;;;;;;;AAQA,OAAO,MAAMC,OAAO,gBA8BhBD,OAAO,CAACE,WAAW,CAAC,CAAC;EACvBC,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,IAAIC,cAAc,GAAG,KAAK;EAE1BF,KAAK,CAACG,WAAW,CAAEC,IAAI,IAAI;IACzBC,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;IAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC3CN,QAAQ,CAACG,IAAI,EAAGI,IAAI,IAAI;MACtB,IAAIN,cAAc,IAAIM,IAAI,KAAK,CAAC,EAAE;QAChCH,OAAO,CAACD,IAAI,CAACI,IAAI,CAAC;MACpB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASD,QAAQA,CAAA;IACfL,cAAc,GAAG,IAAI;IACrBF,KAAK,CAACS,eAAe,CAACT,KAAK,CAACU,EAAE,CAAC;EACjC;EAEAL,OAAO,CAACM,EAAE,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAC9BF,OAAO,CAACM,EAAE,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,22 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Sink adapters for writing Effect stream chunks into Node writable streams.
3
+ *
4
+ * This module is used at the boundary where Effect `Stream`s or `Channel`s need
5
+ * to push data into Node's writable side: file streams, HTTP request or
6
+ * response bodies, process stdio, sockets, and transform inputs such as
7
+ * compression or encryption streams. It exposes both a `Sink` constructor for
8
+ * ordinary stream pipelines and lower-level `Channel` and pull helpers used by
9
+ * other Node stream adapters.
10
+ *
11
+ * The implementation follows Node writable semantics. Chunks are written in
12
+ * order; when `write` returns `false`, pulling pauses until `drain` so upstream
13
+ * producers do not overrun the writable buffer. Writable `error` events are
14
+ * mapped through `onError`, and the writable is ended and awaited via `finish`
15
+ * when upstream completes unless `endOnDone` is `false`. Use `endOnDone: false`
16
+ * for externally owned or long-lived writables, and make sure `onError` keeps
17
+ * Node's untyped errors meaningful for the calling Effect workflow.
18
+ *
19
+ * @since 4.0.0
3
20
  */
4
21
  import type { NonEmptyReadonlyArray } from "effect/Array";
5
22
  import * as Channel from "effect/Channel";
@@ -8,8 +25,12 @@ import * as Pull from "effect/Pull";
8
25
  import * as Sink from "effect/Sink";
9
26
  import type { Writable } from "node:stream";
10
27
  /**
28
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
29
+ * backpressure, mapping writable errors with `onError`, and ending the stream
30
+ * on completion unless `endOnDone` is `false`.
31
+ *
11
32
  * @category constructors
12
- * @since 1.0.0
33
+ * @since 4.0.0
13
34
  */
14
35
  export declare const fromWritable: <E, A = Uint8Array | string>(options: {
15
36
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -18,8 +39,12 @@ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
18
39
  readonly encoding?: BufferEncoding | undefined;
19
40
  }) => Sink.Sink<void, A, never, E>;
20
41
  /**
42
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
43
+ * Node writable stream, respecting backpressure and optionally ending the
44
+ * writable when upstream is done.
45
+ *
21
46
  * @category constructors
22
- * @since 1.0.0
47
+ * @since 4.0.0
23
48
  */
24
49
  export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(options: {
25
50
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -28,7 +53,12 @@ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(optio
28
53
  readonly encoding?: BufferEncoding | undefined;
29
54
  }) => Channel.Channel<never, IE | E, void, NonEmptyReadonlyArray<A>, IE>;
30
55
  /**
31
- * @since 1.0.0
56
+ * Repeatedly pulls non-empty chunks and writes them to a Node writable stream,
57
+ * waiting for `drain` when needed, failing on writable errors, and ending the
58
+ * writable on upstream completion unless disabled.
59
+ *
60
+ * @category converting
61
+ * @since 4.0.0
32
62
  */
33
63
  export declare const pullIntoWritable: <A, IE, E>(options: {
34
64
  readonly pull: Pull.Pull<NonEmptyReadonlyArray<A>, IE, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSink.d.ts","sourceRoot":"","sources":["../src/NodeSink.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EACrD,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC4D,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EAChE,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAIhE,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,CA2BjC,CAAA"}
1
+ {"version":3,"file":"NodeSink.d.ts","sourceRoot":"","sources":["../src/NodeSink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EACrD,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC4D,CAAA;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EAChE,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAIhE,CAAA;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,CAkCjC,CAAA"}
package/dist/NodeSink.js CHANGED
@@ -5,13 +5,21 @@ import { identity } from "effect/Function";
5
5
  import * as Pull from "effect/Pull";
6
6
  import * as Sink from "effect/Sink";
7
7
  /**
8
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
9
+ * backpressure, mapping writable errors with `onError`, and ending the stream
10
+ * on completion unless `endOnDone` is `false`.
11
+ *
8
12
  * @category constructors
9
- * @since 1.0.0
13
+ * @since 4.0.0
10
14
  */
11
15
  export const fromWritable = options => Sink.fromChannel(Channel.mapDone(fromWritableChannel(options), _ => [_]));
12
16
  /**
17
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
18
+ * Node writable stream, respecting backpressure and optionally ending the
19
+ * writable when upstream is done.
20
+ *
13
21
  * @category constructors
14
- * @since 1.0.0
22
+ * @since 4.0.0
15
23
  */
16
24
  export const fromWritableChannel = options => Channel.fromTransform(pull => {
17
25
  const writable = options.evaluate();
@@ -22,7 +30,12 @@ export const fromWritableChannel = options => Channel.fromTransform(pull => {
22
30
  }));
23
31
  });
24
32
  /**
25
- * @since 1.0.0
33
+ * Repeatedly pulls non-empty chunks and writes them to a Node writable stream,
34
+ * waiting for `drain` when needed, failing on writable errors, and ending the
35
+ * writable on upstream completion unless disabled.
36
+ *
37
+ * @category converting
38
+ * @since 4.0.0
26
39
  */
27
40
  export const pullIntoWritable = options => options.pull.pipe(Effect.flatMap(chunk => {
28
41
  let i = 0;
@@ -38,7 +51,13 @@ export const pullIntoWritable = options => options.pull.pipe(Effect.flatMap(chun
38
51
  });
39
52
  }), Effect.forever({
40
53
  disableYield: true
41
- }), options.endOnDone !== false ? Pull.catchDone(_ => {
54
+ }), Effect.raceFirst(Effect.callback(resume => {
55
+ const onError = error => resume(Effect.fail(options.onError(error)));
56
+ options.writable.once("error", onError);
57
+ return Effect.sync(() => {
58
+ options.writable.off("error", onError);
59
+ });
60
+ })), options.endOnDone !== false ? Pull.catchDone(_ => {
42
61
  if ("closed" in options.writable && options.writable.closed) {
43
62
  return Cause.done(_);
44
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSink.js","names":["Cause","Channel","Effect","identity","Pull","Sink","fromWritable","options","fromChannel","mapDone","fromWritableChannel","_","fromTransform","pull","writable","evaluate","succeed","pullIntoWritable","pipe","flatMap","chunk","i","callback","loop","resume","length","success","write","encoding","once","void","forever","disableYield","endOnDone","catchDone","closed","done","end"],"sources":["../src/NodeSink.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAsB,iBAAiB;AACxD,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC;;;;AAIA,OAAO,MAAMC,YAAY,GACvBC,OAKC,IAEDF,IAAI,CAACG,WAAW,CAACP,OAAO,CAACQ,OAAO,CAACC,mBAAmB,CAAcH,OAAO,CAAC,EAAGI,CAAC,IAAK,CAACA,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;AAIA,OAAO,MAAMD,mBAAmB,GAC9BH,OAKC,IAEDN,OAAO,CAACW,aAAa,CAAEC,IAAsD,IAAI;EAC/E,MAAMC,QAAQ,GAAGP,OAAO,CAACQ,QAAQ,EAAc;EAC/C,OAAOb,MAAM,CAACc,OAAO,CAACC,gBAAgB,CAAC;IAAE,GAAGV,OAAO;IAAEO,QAAQ;IAAED;EAAI,CAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAEJ;;;AAGA,OAAO,MAAMI,gBAAgB,GAAcV,OAM1C,IACCA,OAAO,CAACM,IAAI,CAACK,IAAI,CACfhB,MAAM,CAACiB,OAAO,CAAEC,KAAK,IAAI;EACvB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOnB,MAAM,CAACoB,QAAQ,CAAU,SAASC,IAAIA,CAACC,MAAM;IAClD,OAAOH,CAAC,GAAGD,KAAK,CAACK,MAAM,GAAG;MACxB,MAAMC,OAAO,GAAGnB,OAAO,CAACO,QAAQ,CAACa,KAAK,CAACP,KAAK,CAACC,CAAC,EAAE,CAAC,EAAEd,OAAO,CAACqB,QAAe,CAAC;MAC3E,IAAI,CAACF,OAAO,EAAE;QACZnB,OAAO,CAACO,QAAQ,CAACe,IAAI,CAAC,OAAO,EAAE,MAAON,IAAY,CAACC,MAAM,CAAC,CAAC;QAC3D;MACF;IACF;IACAA,MAAM,CAACtB,MAAM,CAAC4B,IAAI,CAAC;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,EACF5B,MAAM,CAAC6B,OAAO,CAAC;EAAEC,YAAY,EAAE;AAAI,CAAE,CAAC,EACtCzB,OAAO,CAAC0B,SAAS,KAAK,KAAK,GACzB7B,IAAI,CAAC8B,SAAS,CAAEvB,CAAC,IAAI;EACnB,IAAI,QAAQ,IAAIJ,OAAO,CAACO,QAAQ,IAAIP,OAAO,CAACO,QAAQ,CAACqB,MAAM,EAAE;IAC3D,OAAOnC,KAAK,CAACoC,IAAI,CAACzB,CAAC,CAAC;EACtB;EACA,OAAOT,MAAM,CAACoB,QAAQ,CAAkCE,MAAM,IAAI;IAChEjB,OAAO,CAACO,QAAQ,CAACe,IAAI,CAAC,QAAQ,EAAE,MAAML,MAAM,CAACxB,KAAK,CAACoC,IAAI,CAACzB,CAAC,CAAC,CAAC,CAAC;IAC5DJ,OAAO,CAACO,QAAQ,CAACuB,GAAG,EAAE;EACxB,CAAC,CAAC;AACJ,CAAC,CAAC,GACFlC,QAAQ,CACX","ignoreList":[]}
1
+ {"version":3,"file":"NodeSink.js","names":["Cause","Channel","Effect","identity","Pull","Sink","fromWritable","options","fromChannel","mapDone","fromWritableChannel","_","fromTransform","pull","writable","evaluate","succeed","pullIntoWritable","pipe","flatMap","chunk","i","callback","loop","resume","length","success","write","encoding","once","void","forever","disableYield","raceFirst","onError","error","fail","sync","off","endOnDone","catchDone","closed","done","end"],"sources":["../src/NodeSink.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}