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

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 +18 -4
  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 +46 -8
  8. package/dist/NodeClusterSocket.js.map +1 -1
  9. package/dist/NodeCrypto.d.ts +42 -0
  10. package/dist/NodeCrypto.d.ts.map +1 -0
  11. package/dist/NodeCrypto.js +70 -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 +56 -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 +39 -7
  20. package/dist/NodePath.js.map +1 -1
  21. package/dist/NodeRuntime.d.ts +48 -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 +49 -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 +50 -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 +46 -7
  40. package/dist/NodeStdio.js.map +1 -1
  41. package/dist/NodeStream.d.ts +93 -20
  42. package/dist/NodeStream.d.ts.map +1 -1
  43. package/dist/NodeStream.js +85 -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 +52 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +53 -0
  52. package/dist/index.js.map +1 -0
  53. package/package.json +7 -6
  54. package/src/NodeChildProcessSpawner.ts +116 -28
  55. package/src/NodeClusterSocket.ts +46 -8
  56. package/src/NodeCrypto.ts +75 -0
  57. package/src/NodeFileSystem.ts +63 -28
  58. package/src/NodePath.ts +39 -7
  59. package/src/NodeRuntime.ts +50 -13
  60. package/src/NodeSink.ts +56 -4
  61. package/src/NodeSocket.ts +56 -16
  62. package/src/NodeSocketServer.ts +64 -12
  63. package/src/NodeStdio.ts +64 -23
  64. package/src/NodeStream.ts +106 -30
  65. package/src/NodeTerminal.ts +44 -4
  66. package/src/index.ts +65 -0
@@ -1,5 +1,36 @@
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
+ * **Mental model**
11
+ *
12
+ * {@link layer} installs a process-backed `FileSystem` service. Each operation
13
+ * delegates to the corresponding Node filesystem API, then maps Node failures
14
+ * into `PlatformError` values and invalid arguments into `BadArgument` failures.
15
+ * Paths keep Node's normal behavior: relative paths resolve from the current
16
+ * working directory and platform path rules still apply.
17
+ *
18
+ * **Common tasks**
19
+ *
20
+ * Provide {@link layer} at the Node runtime boundary, then depend on the
21
+ * `FileSystem` service from application code. Use the service for ordinary
22
+ * reads and writes, directory management, metadata inspection, links, temporary
23
+ * resources, and file watching without importing Node's `fs` APIs directly.
24
+ *
25
+ * **Gotchas**
26
+ *
27
+ * Open files are scoped resources with tracked read and write positions; append
28
+ * mode lets the operating system choose the write offset. File watching follows
29
+ * `node:fs.watch` semantics unless a custom watch backend is supplied, so
30
+ * recursive support, event coalescing, and reported paths vary by runtime and
31
+ * platform.
32
+ *
33
+ * @since 4.0.0
3
34
  */
4
35
  import * as Cause from "effect/Cause";
5
36
  import * as Effect from "effect/Effect";
@@ -120,7 +151,7 @@ const makeFile = /*#__PURE__*/(() => {
120
151
  [FileSystem.FileTypeId];
121
152
  fd;
122
153
  append;
123
- position = 0n;
154
+ position = /*#__PURE__*/BigInt(0);
124
155
  constructor(fd, append) {
125
156
  this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
126
157
  this.fd = fd;
@@ -166,15 +197,15 @@ const makeFile = /*#__PURE__*/(() => {
166
197
  position
167
198
  }), bytesRead => {
168
199
  if (bytesRead === 0) {
169
- return undefined;
200
+ return Option.none();
170
201
  }
171
202
  this.position = position + BigInt(bytesRead);
172
203
  if (bytesRead === sizeNumber) {
173
- return buffer;
204
+ return Option.some(buffer);
174
205
  }
175
206
  const dst = Buffer.allocUnsafeSlow(bytesRead);
176
207
  buffer.copy(dst, 0, 0, bytesRead);
177
- return dst;
208
+ return Option.some(dst);
178
209
  });
179
210
  });
180
211
  }
@@ -285,19 +316,19 @@ const rename = /*#__PURE__*/(() => {
285
316
  // == stat
286
317
  const makeFileInfo = stat => ({
287
318
  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,
319
+ mtime: Option.fromNullishOr(stat.mtime),
320
+ atime: Option.fromNullishOr(stat.atime),
321
+ birthtime: Option.fromNullishOr(stat.birthtime),
291
322
  dev: stat.dev,
292
- rdev: stat.rdev,
293
- ino: stat.ino,
323
+ rdev: Option.fromNullishOr(stat.rdev),
324
+ ino: Option.fromNullishOr(stat.ino),
294
325
  mode: stat.mode,
295
- nlink: stat.nlink,
296
- uid: stat.uid,
297
- gid: stat.gid,
326
+ nlink: Option.fromNullishOr(stat.nlink),
327
+ uid: Option.fromNullishOr(stat.uid),
328
+ gid: Option.fromNullishOr(stat.gid),
298
329
  size: FileSystem.Size(stat.size),
299
- blksize: FileSystem.Size(stat.blksize),
300
- blocks: stat.blocks
330
+ blksize: stat.blksize !== undefined ? Option.some(FileSystem.Size(stat.blksize)) : Option.none(),
331
+ blocks: Option.fromNullishOr(stat.blocks)
301
332
  });
302
333
  const stat = /*#__PURE__*/(() => {
303
334
  const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
@@ -320,7 +351,9 @@ const utimes = /*#__PURE__*/(() => {
320
351
  })();
321
352
  // == watch
322
353
  const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
323
- const watcher = NFS.watch(path, {}, (event, path) => {
354
+ const watcher = NFS.watch(path, {
355
+ recursive: true
356
+ }, (event, path) => {
324
357
  if (!path) return;
325
358
  switch (event) {
326
359
  case "rename":
@@ -361,13 +394,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
361
394
  });
362
395
  return watcher;
363
396
  }), 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);
397
+ const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
371
398
  // == writeFile
372
399
  const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
373
400
  try {
@@ -410,13 +437,16 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
410
437
  truncate,
411
438
  utimes,
412
439
  watch(path) {
413
- return watch(Option.getOrUndefined(backend), path);
440
+ return watch(backend, path);
414
441
  },
415
442
  writeFile
416
443
  }));
417
444
  /**
418
- * @since 1.0.0
419
- * @category Layers
445
+ * Provides the `FileSystem` service backed by Node filesystem APIs, including
446
+ * file operations, directory operations, links, metadata, and file watching.
447
+ *
448
+ * @category layers
449
+ * @since 4.0.0
420
450
  */
421
451
  export const layer = /*#__PURE__*/Layer.effect(FileSystem.FileSystem)(makeFileSystem);
422
452
  //# 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":"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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":"AA2BA,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,28 @@
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 `Layer`s for
5
+ * programs that depend on `Path`. Use it when code should receive path
6
+ * operations from the Effect environment instead of importing `node:path`
7
+ * directly, including configuration loading, filesystem composition, and file
8
+ * URL conversion.
9
+ *
10
+ * **Mental model**
11
+ *
12
+ * `layer` follows the platform semantics of the current Node runtime. The
13
+ * `layerPosix` and `layerWin32` variants pin the syntax rules to POSIX or
14
+ * Windows, which is useful for deterministic parsing, formatting, and tests.
15
+ * All three layers include `fromFileUrl` and `toFileUrl` behavior backed by
16
+ * Node's URL conversion functions.
17
+ *
18
+ * **Gotchas**
19
+ *
20
+ * Path operations are syntactic: they normalize separators, roots, drive
21
+ * letters, UNC segments, extensions, and relative segments without checking the
22
+ * filesystem. File URL conversion follows Node's validation and encoding
23
+ * rules, and invalid conversions fail with `BadArgument`.
24
+ *
25
+ * @since 4.0.0
3
26
  */
4
27
  import * as Effect from "effect/Effect";
5
28
  import * as Layer from "effect/Layer";
@@ -24,8 +47,11 @@ const toFileUrl = path => Effect.try({
24
47
  })
25
48
  });
26
49
  /**
27
- * @since 1.0.0
28
- * @category Layers
50
+ * Provides the `Path` service using Node's POSIX path implementation plus
51
+ * file URL conversion helpers.
52
+ *
53
+ * @category layers
54
+ * @since 4.0.0
29
55
  */
30
56
  export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
31
57
  [TypeId]: TypeId,
@@ -34,8 +60,11 @@ export const layerPosix = /*#__PURE__*/Layer.succeed(Path)({
34
60
  toFileUrl
35
61
  });
36
62
  /**
37
- * @since 1.0.0
38
- * @category Layers
63
+ * Provides the `Path` service using Node's Windows path implementation plus
64
+ * file URL conversion helpers.
65
+ *
66
+ * @category layers
67
+ * @since 4.0.0
39
68
  */
40
69
  export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
41
70
  [TypeId]: TypeId,
@@ -44,8 +73,11 @@ export const layerWin32 = /*#__PURE__*/Layer.succeed(Path)({
44
73
  toFileUrl
45
74
  });
46
75
  /**
47
- * @since 1.0.0
48
- * @category Layers
76
+ * Provides the default `Path` service using the host platform's Node path
77
+ * implementation plus file URL conversion helpers.
78
+ *
79
+ * @category layers
80
+ * @since 4.0.0
49
81
  */
50
82
  export const layer = /*#__PURE__*/Layer.succeed(Path)({
51
83
  [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;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,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,65 @@
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. Use it at the outer edge of a CLI, script,
6
+ * worker, server, or test harness when a single Effect should become the main
7
+ * fiber for the process while still following Node signal and exit-code
8
+ * conventions.
9
+ *
10
+ * **Mental model**
11
+ *
12
+ * `runMain` starts the supplied Effect as the process root. While that fiber is
13
+ * running, `SIGINT` and `SIGTERM` are translated into fiber interruption so
14
+ * scoped resources and finalizers get a chance to run. After the fiber exits,
15
+ * the signal listeners are removed and the configured teardown decides the
16
+ * process exit code.
17
+ *
18
+ * **Common tasks**
19
+ *
20
+ * - Launch a command-line program or long-running service from an Effect.
21
+ * - Share the same main-runner behavior across Node-compatible packages.
22
+ * - Customize teardown or runtime error reporting with the `runMain` options.
23
+ *
24
+ * **Gotchas**
25
+ *
26
+ * Clean success lets the Node event loop drain naturally instead of forcing
27
+ * `process.exit(0)`. Signal-triggered interruption or a non-zero teardown code
28
+ * calls `process.exit`, so long-lived handles should be acquired in Effect
29
+ * scopes and released by finalizers.
30
+ *
31
+ * @since 4.0.0
3
32
  */
4
33
  import type { Effect } from "effect/Effect";
5
34
  import * as Runtime from "effect/Runtime";
6
35
  /**
7
- * @since 1.0.0
8
- * @category Run main
36
+ * Runs an Effect as the Node process main program, interrupting the fiber on
37
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
38
+ * process exit code.
39
+ *
40
+ * @category running
41
+ * @since 4.0.0
9
42
  */
10
43
  export declare const runMain: {
11
44
  /**
12
- * @since 1.0.0
13
- * @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
14
51
  */
15
52
  (options?: {
16
53
  readonly disableErrorReporting?: boolean | undefined;
17
54
  readonly teardown?: Runtime.Teardown | undefined;
18
55
  }): <E, A>(effect: Effect<A, E>) => void;
19
56
  /**
20
- * @since 1.0.0
21
- * @category Run main
57
+ * Runs an Effect as the Node process main program, interrupting the fiber on
58
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
59
+ * process exit code.
60
+ *
61
+ * @category running
62
+ * @since 4.0.0
22
63
  */
23
64
  <E, A>(effect: Effect<A, E>, options?: {
24
65
  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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;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":"AAiCA,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,37 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Sink adapters for writing Effect stream chunks into Node writable streams.
3
+ *
4
+ * This module is the writable-stream boundary for Node APIs: push Effect
5
+ * `Stream` or `Channel` chunks into file streams, HTTP request or response
6
+ * bodies, process stdio, sockets, and transform inputs such as compression or
7
+ * encryption streams. It exposes a `Sink` constructor for ordinary stream
8
+ * pipelines plus lower-level `Channel` and pull helpers used by other Node
9
+ * stream adapters.
10
+ *
11
+ * **Mental model**
12
+ *
13
+ * {@link fromWritable} builds a `Sink` for normal stream pipelines.
14
+ * {@link fromWritableChannel} exposes the same bridge as a `Channel`, and
15
+ * {@link pullIntoWritable} is the lower-level loop for adapters that already
16
+ * have a pull and a Node writable. All three write chunks in order and follow
17
+ * Node writable backpressure.
18
+ *
19
+ * **Common tasks**
20
+ *
21
+ * Use {@link fromWritable} to pipe an Effect stream into a Node destination.
22
+ * Use {@link fromWritableChannel} when composing at the `Channel` level. Use
23
+ * {@link pullIntoWritable} inside custom Node stream adapters that need direct
24
+ * control over the upstream pull.
25
+ *
26
+ * **Gotchas**
27
+ *
28
+ * When `write` returns `false`, pulling pauses until `drain` so upstream
29
+ * producers do not overrun the writable buffer. Writable `error` events are
30
+ * mapped through `onError`, and the writable is ended and awaited via `finish`
31
+ * when upstream completes unless `endOnDone` is `false`. Use `endOnDone: false`
32
+ * for externally owned or long-lived writables.
33
+ *
34
+ * @since 4.0.0
3
35
  */
4
36
  import type { NonEmptyReadonlyArray } from "effect/Array";
5
37
  import * as Channel from "effect/Channel";
@@ -8,8 +40,12 @@ import * as Pull from "effect/Pull";
8
40
  import * as Sink from "effect/Sink";
9
41
  import type { Writable } from "node:stream";
10
42
  /**
43
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
44
+ * backpressure, mapping writable errors with `onError`, and ending the stream
45
+ * on completion unless `endOnDone` is `false`.
46
+ *
11
47
  * @category constructors
12
- * @since 1.0.0
48
+ * @since 4.0.0
13
49
  */
14
50
  export declare const fromWritable: <E, A = Uint8Array | string>(options: {
15
51
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -18,8 +54,12 @@ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
18
54
  readonly encoding?: BufferEncoding | undefined;
19
55
  }) => Sink.Sink<void, A, never, E>;
20
56
  /**
57
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
58
+ * Node writable stream, respecting backpressure and optionally ending the
59
+ * writable when upstream is done.
60
+ *
21
61
  * @category constructors
22
- * @since 1.0.0
62
+ * @since 4.0.0
23
63
  */
24
64
  export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(options: {
25
65
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -28,7 +68,12 @@ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(optio
28
68
  readonly encoding?: BufferEncoding | undefined;
29
69
  }) => Channel.Channel<never, IE | E, void, NonEmptyReadonlyArray<A>, IE>;
30
70
  /**
31
- * @since 1.0.0
71
+ * Repeatedly pulls non-empty chunks and writes them to a Node writable stream,
72
+ * waiting for `drain` when needed, failing on writable errors, and ending the
73
+ * writable on upstream completion unless disabled.
74
+ *
75
+ * @category converting
76
+ * @since 4.0.0
32
77
  */
33
78
  export declare const pullIntoWritable: <A, IE, E>(options: {
34
79
  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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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
  }