@effect/platform-node-shared 4.0.0-beta.10 → 4.0.0-beta.100

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 (69) hide show
  1. package/README.md +3 -3
  2. package/dist/NodeChildProcessSpawner.d.ts +19 -5
  3. package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  4. package/dist/NodeChildProcessSpawner.js +99 -29
  5. package/dist/NodeChildProcessSpawner.js.map +1 -1
  6. package/dist/NodeClusterSocket.d.ts +10 -4
  7. package/dist/NodeClusterSocket.d.ts.map +1 -1
  8. package/dist/NodeClusterSocket.js +22 -8
  9. package/dist/NodeClusterSocket.js.map +1 -1
  10. package/dist/NodeCrypto.d.ts +27 -0
  11. package/dist/NodeCrypto.d.ts.map +1 -0
  12. package/dist/NodeCrypto.js +55 -0
  13. package/dist/NodeCrypto.js.map +1 -0
  14. package/dist/NodeFileSystem.d.ts +5 -2
  15. package/dist/NodeFileSystem.d.ts.map +1 -1
  16. package/dist/NodeFileSystem.js +42 -26
  17. package/dist/NodeFileSystem.js.map +1 -1
  18. package/dist/NodePath.d.ts +15 -6
  19. package/dist/NodePath.d.ts.map +1 -1
  20. package/dist/NodePath.js +23 -7
  21. package/dist/NodePath.js.map +1 -1
  22. package/dist/NodeRuntime.d.ts +26 -7
  23. package/dist/NodeRuntime.d.ts.map +1 -1
  24. package/dist/NodeRuntime.js +8 -8
  25. package/dist/NodeRuntime.js.map +1 -1
  26. package/dist/NodeSink.d.ts +33 -4
  27. package/dist/NodeSink.d.ts.map +1 -1
  28. package/dist/NodeSink.js +31 -4
  29. package/dist/NodeSink.js.map +1 -1
  30. package/dist/NodeSocket.d.ts +41 -10
  31. package/dist/NodeSocket.d.ts.map +1 -1
  32. package/dist/NodeSocket.js +39 -16
  33. package/dist/NodeSocket.js.map +1 -1
  34. package/dist/NodeSocketServer.d.ts +25 -8
  35. package/dist/NodeSocketServer.d.ts.map +1 -1
  36. package/dist/NodeSocketServer.js +29 -12
  37. package/dist/NodeSocketServer.js.map +1 -1
  38. package/dist/NodeStdio.d.ts +6 -5
  39. package/dist/NodeStdio.d.ts.map +1 -1
  40. package/dist/NodeStdio.js +23 -7
  41. package/dist/NodeStdio.js.map +1 -1
  42. package/dist/NodeStream.d.ts +76 -20
  43. package/dist/NodeStream.d.ts.map +1 -1
  44. package/dist/NodeStream.js +71 -24
  45. package/dist/NodeStream.js.map +1 -1
  46. package/dist/NodeTerminal.d.ts +9 -2
  47. package/dist/NodeTerminal.d.ts.map +1 -1
  48. package/dist/NodeTerminal.js +13 -3
  49. package/dist/NodeTerminal.js.map +1 -1
  50. package/dist/index.d.ts +52 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +53 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/internal/utils.js.map +1 -1
  55. package/package.json +9 -9
  56. package/src/NodeChildProcessSpawner.ts +143 -46
  57. package/src/NodeClusterSocket.ts +22 -8
  58. package/src/NodeCrypto.ts +60 -0
  59. package/src/NodeFileSystem.ts +56 -28
  60. package/src/NodePath.ts +23 -7
  61. package/src/NodeRuntime.ts +28 -13
  62. package/src/NodeSink.ts +40 -4
  63. package/src/NodeSocket.ts +47 -17
  64. package/src/NodeSocketServer.ts +39 -13
  65. package/src/NodeStdio.ts +41 -23
  66. package/src/NodeStream.ts +92 -31
  67. package/src/NodeTerminal.ts +22 -4
  68. package/src/index.ts +65 -0
  69. package/src/internal/utils.ts +1 -1
@@ -1,5 +1,13 @@
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
+ * `FileSystem` layer for Effect programs running on Node-compatible runtimes.
6
+ * Platform packages use it to provide file and directory I/O, permissions,
7
+ * links, metadata, temporary files and directories, and file watching through
8
+ * the shared `FileSystem` service.
9
+ *
10
+ * @since 4.0.0
3
11
  */
4
12
  import * as Cause from "effect/Cause";
5
13
  import * as Effect from "effect/Effect";
@@ -59,6 +67,14 @@ const chown = /*#__PURE__*/(() => {
59
67
  const nodeChown = /*#__PURE__*/effectify(NFS.chown, /*#__PURE__*/handleErrnoException("FileSystem", "chown"), /*#__PURE__*/handleBadArgument("chown"));
60
68
  return (path, uid, gid) => nodeChown(path, uid, gid);
61
69
  })();
70
+ // == glob
71
+ const glob = /*#__PURE__*/(() => {
72
+ const nodeGlob = /*#__PURE__*/effectify(NFS.glob, /*#__PURE__*/handleErrnoException("FileSystem", "glob"), /*#__PURE__*/handleBadArgument("glob"));
73
+ return (pattern, options) => nodeGlob(pattern, {
74
+ cwd: options?.root,
75
+ exclude: options?.exclude
76
+ });
77
+ })();
62
78
  // == link
63
79
  const link = /*#__PURE__*/(() => {
64
80
  const nodeLink = /*#__PURE__*/effectify(NFS.link, /*#__PURE__*/handleErrnoException("FileSystem", "link"), /*#__PURE__*/handleBadArgument("link"));
@@ -120,7 +136,7 @@ const makeFile = /*#__PURE__*/(() => {
120
136
  [FileSystem.FileTypeId];
121
137
  fd;
122
138
  append;
123
- position = 0n;
139
+ position = /*#__PURE__*/BigInt(0);
124
140
  constructor(fd, append) {
125
141
  this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
126
142
  this.fd = fd;
@@ -166,15 +182,15 @@ const makeFile = /*#__PURE__*/(() => {
166
182
  position
167
183
  }), bytesRead => {
168
184
  if (bytesRead === 0) {
169
- return undefined;
185
+ return Option.none();
170
186
  }
171
187
  this.position = position + BigInt(bytesRead);
172
188
  if (bytesRead === sizeNumber) {
173
- return buffer;
189
+ return Option.some(buffer);
174
190
  }
175
191
  const dst = Buffer.allocUnsafeSlow(bytesRead);
176
192
  buffer.copy(dst, 0, 0, bytesRead);
177
- return dst;
193
+ return Option.some(dst);
178
194
  });
179
195
  });
180
196
  }
@@ -285,19 +301,19 @@ const rename = /*#__PURE__*/(() => {
285
301
  // == stat
286
302
  const makeFileInfo = stat => ({
287
303
  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,
304
+ mtime: Option.fromNullishOr(stat.mtime),
305
+ atime: Option.fromNullishOr(stat.atime),
306
+ birthtime: Option.fromNullishOr(stat.birthtime),
291
307
  dev: stat.dev,
292
- rdev: stat.rdev,
293
- ino: stat.ino,
308
+ rdev: Option.fromNullishOr(stat.rdev),
309
+ ino: Option.fromNullishOr(stat.ino),
294
310
  mode: stat.mode,
295
- nlink: stat.nlink,
296
- uid: stat.uid,
297
- gid: stat.gid,
311
+ nlink: Option.fromNullishOr(stat.nlink),
312
+ uid: Option.fromNullishOr(stat.uid),
313
+ gid: Option.fromNullishOr(stat.gid),
298
314
  size: FileSystem.Size(stat.size),
299
- blksize: FileSystem.Size(stat.blksize),
300
- blocks: stat.blocks
315
+ blksize: stat.blksize !== undefined ? Option.some(FileSystem.Size(stat.blksize)) : Option.none(),
316
+ blocks: Option.fromNullishOr(stat.blocks)
301
317
  });
302
318
  const stat = /*#__PURE__*/(() => {
303
319
  const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
@@ -320,7 +336,9 @@ const utimes = /*#__PURE__*/(() => {
320
336
  })();
321
337
  // == watch
322
338
  const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
323
- const watcher = NFS.watch(path, {}, (event, path) => {
339
+ const watcher = NFS.watch(path, {
340
+ recursive: true
341
+ }, (event, path) => {
324
342
  if (!path) return;
325
343
  switch (event) {
326
344
  case "rename":
@@ -361,13 +379,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
361
379
  });
362
380
  return watcher;
363
381
  }), 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);
382
+ const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
371
383
  // == writeFile
372
384
  const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
373
385
  try {
@@ -392,6 +404,7 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
392
404
  chown,
393
405
  copy,
394
406
  copyFile,
407
+ glob,
395
408
  link,
396
409
  makeDirectory,
397
410
  makeTempDirectory,
@@ -410,13 +423,16 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
410
423
  truncate,
411
424
  utimes,
412
425
  watch(path) {
413
- return watch(Option.getOrUndefined(backend), path);
426
+ return watch(backend, path);
414
427
  },
415
428
  writeFile
416
429
  }));
417
430
  /**
418
- * @since 1.0.0
419
- * @category Layers
431
+ * Provides the `FileSystem` service backed by Node filesystem APIs, including
432
+ * file operations, directory operations, links, metadata, and file watching.
433
+ *
434
+ * @category layers
435
+ * @since 4.0.0
420
436
  */
421
437
  export const layer = /*#__PURE__*/Layer.effect(FileSystem.FileSystem)(makeFileSystem);
422
438
  //# 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","glob","nodeGlob","pattern","cwd","root","exclude","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":"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","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":"AAWA,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,12 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node-backed provider for Effect's `Path` service.
3
+ *
4
+ * This module turns Node's `node:path` and `node:url` APIs into `Path` layers.
5
+ * `layer` uses the host platform path implementation, while `layerPosix` and
6
+ * `layerWin32` provide fixed POSIX and Windows variants. All three layers also
7
+ * include helpers for converting between file paths and file URLs.
8
+ *
9
+ * @since 4.0.0
3
10
  */
4
11
  import * as Effect from "effect/Effect";
5
12
  import * as Layer from "effect/Layer";
@@ -24,8 +31,11 @@ const toFileUrl = path => Effect.try({
24
31
  })
25
32
  });
26
33
  /**
27
- * @since 1.0.0
28
- * @category Layers
34
+ * Provides the `Path` service using Node's POSIX path implementation plus
35
+ * file URL conversion helpers.
36
+ *
37
+ * @category layers
38
+ * @since 4.0.0
29
39
  */
30
40
  export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
31
41
  [TypeId]: TypeId,
@@ -34,8 +44,11 @@ export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
34
44
  toFileUrl
35
45
  });
36
46
  /**
37
- * @since 1.0.0
38
- * @category Layers
47
+ * Provides the `Path` service using Node's Windows path implementation plus
48
+ * file URL conversion helpers.
49
+ *
50
+ * @category layers
51
+ * @since 4.0.0
39
52
  */
40
53
  export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
41
54
  [TypeId]: TypeId,
@@ -44,8 +57,11 @@ export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
44
57
  toFileUrl
45
58
  });
46
59
  /**
47
- * @since 1.0.0
48
- * @category Layers
60
+ * Provides the default `Path` service using the host platform's Node path
61
+ * implementation plus file URL conversion helpers.
62
+ *
63
+ * @category layers
64
+ * @since 4.0.0
49
65
  */
50
66
  export const layer = /*#__PURE__*/Layer.succeed(Path)({
51
67
  [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;;;;;;;;;;AAUA,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,43 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node-compatible process runner for Effect programs.
3
+ *
4
+ * This module provides the shared `runMain` implementation used by
5
+ * Node-compatible platform packages. It runs one Effect as the main process
6
+ * fiber, interrupts that fiber on `SIGINT` or `SIGTERM`, and delegates final
7
+ * exit-code handling to the configured teardown.
8
+ *
9
+ * @since 4.0.0
3
10
  */
4
11
  import type { Effect } from "effect/Effect";
5
12
  import * as Runtime from "effect/Runtime";
6
13
  /**
7
- * @since 1.0.0
8
- * @category Run main
14
+ * Runs an Effect as the Node process main program, interrupting the fiber on
15
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
16
+ * process exit code.
17
+ *
18
+ * @category running
19
+ * @since 4.0.0
9
20
  */
10
21
  export declare const runMain: {
11
22
  /**
12
- * @since 1.0.0
13
- * @category Run main
23
+ * Runs an Effect as the Node process main program, interrupting the fiber on
24
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
25
+ * process exit code.
26
+ *
27
+ * @category running
28
+ * @since 4.0.0
14
29
  */
15
30
  (options?: {
16
31
  readonly disableErrorReporting?: boolean | undefined;
17
32
  readonly teardown?: Runtime.Teardown | undefined;
18
33
  }): <E, A>(effect: Effect<A, E>) => void;
19
34
  /**
20
- * @since 1.0.0
21
- * @category Run main
35
+ * Runs an Effect as the Node process main program, interrupting the fiber on
36
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
37
+ * process exit code.
38
+ *
39
+ * @category running
40
+ * @since 4.0.0
22
41
  */
23
42
  <E, A>(effect: Effect<A, E>, options?: {
24
43
  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;;;;;;;;;GASG;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":"AAWA,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,13 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Sink adapters for writing Effect chunks into Node writable streams.
3
+ *
4
+ * `fromWritable` creates a `Sink`, `fromWritableChannel` creates a lower-level
5
+ * `Channel`, and `pullIntoWritable` writes from an existing pull loop. All
6
+ * three adapters respect writable-stream backpressure, map writable errors with
7
+ * the supplied `onError` function, and can end the writable when the upstream
8
+ * data is done.
9
+ *
10
+ * @since 4.0.0
3
11
  */
4
12
  import type { NonEmptyReadonlyArray } from "effect/Array";
5
13
  import * as Channel from "effect/Channel";
@@ -8,8 +16,12 @@ import * as Pull from "effect/Pull";
8
16
  import * as Sink from "effect/Sink";
9
17
  import type { Writable } from "node:stream";
10
18
  /**
19
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
20
+ * backpressure, mapping writable errors with `onError`, and ending the stream
21
+ * on completion unless `endOnDone` is `false`.
22
+ *
11
23
  * @category constructors
12
- * @since 1.0.0
24
+ * @since 4.0.0
13
25
  */
14
26
  export declare const fromWritable: <E, A = Uint8Array | string>(options: {
15
27
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -18,8 +30,12 @@ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
18
30
  readonly encoding?: BufferEncoding | undefined;
19
31
  }) => Sink.Sink<void, A, never, E>;
20
32
  /**
33
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
34
+ * Node writable stream, respecting backpressure and optionally ending the
35
+ * writable when upstream is done.
36
+ *
21
37
  * @category constructors
22
- * @since 1.0.0
38
+ * @since 4.0.0
23
39
  */
24
40
  export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(options: {
25
41
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -28,7 +44,20 @@ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(optio
28
44
  readonly encoding?: BufferEncoding | undefined;
29
45
  }) => Channel.Channel<never, IE | E, void, NonEmptyReadonlyArray<A>, IE>;
30
46
  /**
31
- * @since 1.0.0
47
+ * Writes Effect chunks into a Node writable stream.
48
+ *
49
+ * **When to use**
50
+ *
51
+ * Use to implement custom Node stream adapters that already have an upstream
52
+ * pull and need direct control over a writable stream.
53
+ *
54
+ * **Details**
55
+ *
56
+ * The loop waits for `drain` when needed, fails on writable errors, and ends
57
+ * the writable on upstream completion unless `endOnDone` is `false`.
58
+ *
59
+ * @category converting
60
+ * @since 4.0.0
32
61
  */
33
62
  export declare const pullIntoWritable: <A, IE, E>(options: {
34
63
  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;;;;;;;;;;GAUG;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,WAC5C;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,WACvD;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,WAAW;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,20 @@ export const fromWritableChannel = options => Channel.fromTransform(pull => {
22
30
  }));
23
31
  });
24
32
  /**
25
- * @since 1.0.0
33
+ * Writes Effect chunks into a Node writable stream.
34
+ *
35
+ * **When to use**
36
+ *
37
+ * Use to implement custom Node stream adapters that already have an upstream
38
+ * pull and need direct control over a writable stream.
39
+ *
40
+ * **Details**
41
+ *
42
+ * The loop waits for `drain` when needed, fails on writable errors, and ends
43
+ * the writable on upstream completion unless `endOnDone` is `false`.
44
+ *
45
+ * @category converting
46
+ * @since 4.0.0
26
47
  */
27
48
  export const pullIntoWritable = options => options.pull.pipe(Effect.flatMap(chunk => {
28
49
  let i = 0;
@@ -38,7 +59,13 @@ export const pullIntoWritable = options => options.pull.pipe(Effect.flatMap(chun
38
59
  });
39
60
  }), Effect.forever({
40
61
  disableYield: true
41
- }), options.endOnDone !== false ? Pull.catchDone(_ => {
62
+ }), Effect.raceFirst(Effect.callback(resume => {
63
+ const onError = error => resume(Effect.fail(options.onError(error)));
64
+ options.writable.once("error", onError);
65
+ return Effect.sync(() => {
66
+ options.writable.off("error", onError);
67
+ });
68
+ })), options.endOnDone !== false ? Pull.catchDone(_ => {
42
69
  if ("closed" in options.writable && options.writable.closed) {
43
70
  return Cause.done(_);
44
71
  }
@@ -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":[]}