@effect/platform-node-shared 4.0.0-beta.5 → 4.0.0-beta.51

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 (44) hide show
  1. package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  2. package/dist/NodeChildProcessSpawner.js +91 -115
  3. package/dist/NodeChildProcessSpawner.js.map +1 -1
  4. package/dist/NodeClusterSocket.d.ts.map +1 -1
  5. package/dist/NodeClusterSocket.js +4 -3
  6. package/dist/NodeClusterSocket.js.map +1 -1
  7. package/dist/NodeFileSystem.d.ts.map +1 -1
  8. package/dist/NodeFileSystem.js +19 -23
  9. package/dist/NodeFileSystem.js.map +1 -1
  10. package/dist/NodeRuntime.d.ts.map +1 -1
  11. package/dist/NodeRuntime.js +2 -6
  12. package/dist/NodeRuntime.js.map +1 -1
  13. package/dist/NodeSink.d.ts.map +1 -1
  14. package/dist/NodeSink.js +7 -1
  15. package/dist/NodeSink.js.map +1 -1
  16. package/dist/NodeSocket.d.ts +4 -4
  17. package/dist/NodeSocket.d.ts.map +1 -1
  18. package/dist/NodeSocket.js +9 -8
  19. package/dist/NodeSocket.js.map +1 -1
  20. package/dist/NodeSocketServer.d.ts +2 -2
  21. package/dist/NodeSocketServer.d.ts.map +1 -1
  22. package/dist/NodeSocketServer.js +6 -6
  23. package/dist/NodeSocketServer.js.map +1 -1
  24. package/dist/NodeStdio.d.ts +0 -3
  25. package/dist/NodeStdio.d.ts.map +1 -1
  26. package/dist/NodeStdio.js +8 -4
  27. package/dist/NodeStdio.js.map +1 -1
  28. package/dist/NodeStream.d.ts.map +1 -1
  29. package/dist/NodeStream.js +8 -6
  30. package/dist/NodeStream.js.map +1 -1
  31. package/dist/NodeTerminal.d.ts.map +1 -1
  32. package/dist/NodeTerminal.js +2 -1
  33. package/dist/NodeTerminal.js.map +1 -1
  34. package/package.json +6 -6
  35. package/src/NodeChildProcessSpawner.ts +121 -135
  36. package/src/NodeClusterSocket.ts +4 -3
  37. package/src/NodeFileSystem.ts +26 -25
  38. package/src/NodeRuntime.ts +2 -6
  39. package/src/NodeSink.ts +7 -0
  40. package/src/NodeSocket.ts +11 -10
  41. package/src/NodeSocketServer.ts +6 -6
  42. package/src/NodeStdio.ts +26 -20
  43. package/src/NodeStream.ts +11 -8
  44. package/src/NodeTerminal.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAmC,MAAM,6CAA6C,CAAA;AA6mBlH;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,mBAAmB,EACnB,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACQ,CAAA;AAM3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,YAAY,CAAC,OAAO,KAC5B,iBAoCF,CAAA"}
1
+ {"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,mBAAmB,EAKpB,MAAM,6CAA6C,CAAA;AAylBpD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,mBAAmB,EACnB,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACQ,CAAA;AAM3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,YAAY,CAAC,OAAO,KAC5B,iBAoCF,CAAA"}
@@ -8,9 +8,8 @@ import * as Predicate from "effect/Predicate";
8
8
  import * as Sink from "effect/Sink";
9
9
  import * as Stream from "effect/Stream";
10
10
  import * as ChildProcess from "effect/unstable/process/ChildProcess";
11
- import { ChildProcessSpawner, ExitCode, makeHandle, ProcessId } from "effect/unstable/process/ChildProcessSpawner";
11
+ import { ChildProcessSpawner, ExitCode, make as makeSpawner, makeHandle, ProcessId } from "effect/unstable/process/ChildProcessSpawner";
12
12
  import * as NodeChildProcess from "node:child_process";
13
- import * as NodeJSStream from "node:stream";
14
13
  import { handleErrnoException } from "./internal/utils.js";
15
14
  import * as NodeSink from "./NodeSink.js";
16
15
  import * as NodeStream from "./NodeStream.js";
@@ -147,14 +146,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
147
146
  {
148
147
  // Create a sink to write to for input file descriptors
149
148
  let sink = Sink.drain;
150
- if (Predicate.isNotNullish(nodeStream) && "write" in nodeStream) {
149
+ if (nodeStream && "write" in nodeStream) {
151
150
  sink = NodeSink.fromWritable({
152
151
  evaluate: () => nodeStream,
153
152
  onError: error => toPlatformError(`fromWritable(fd${fd})`, toError(error), command)
154
153
  });
155
154
  }
156
155
  // If user provided a stream, pipe it into the sink
157
- if (Predicate.isNotUndefined(config.stream)) {
156
+ if (config.stream) {
158
157
  yield* Effect.forkScoped(Stream.run(config.stream, sink));
159
158
  }
160
159
  inputSinks.set(fd, sink);
@@ -164,14 +163,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
164
163
  {
165
164
  // Create a stream to read from for output file descriptors
166
165
  let stream = Stream.empty;
167
- if (Predicate.isNotNull(nodeStream) && Predicate.isNotUndefined(nodeStream) && "read" in nodeStream) {
166
+ if (nodeStream && "read" in nodeStream) {
168
167
  stream = NodeStream.fromReadable({
169
168
  evaluate: () => nodeStream,
170
169
  onError: error => toPlatformError(`fromReadable(fd${fd})`, toError(error), command)
171
170
  });
172
171
  }
173
172
  // If user provided a sink, transduce the stream through it
174
- if (Predicate.isNotUndefined(config.sink)) {
173
+ if (config.sink) {
175
174
  stream = Stream.transduce(stream, config.sink);
176
175
  }
177
176
  outputStreams.set(fd, stream);
@@ -202,104 +201,22 @@ const make = /*#__PURE__*/Effect.gen(function* () {
202
201
  }
203
202
  return Effect.succeed(sink);
204
203
  });
205
- /**
206
- * Given that `NodeStream.fromReadable` uses `.read` to read data from the
207
- * provided `Readable` stream, consumers would race to read data from the
208
- * `handle.stdout` and `handle.stderr` streams if they were also simultaneously
209
- * reading from the `handle.all` stream.
210
- *
211
- * To solve this, we leverage the fact that NodeJS `Readable` streams can be
212
- * piped to multiple destinations simultaneously. The logic for the solution
213
- * is as follows:
214
- *
215
- * 1. Pipe each original stream to two `PassThrough` streams:
216
- * - One dedicated PassThrough for individual access (.stdout / .stderr)
217
- * - One shared PassThrough for combined access (.all)
218
- * 2. Create Effect streams from the PassThrough streams (not the originals)
219
- *
220
- * **Diagram**
221
- *
222
- * ┌─────────────┐
223
- * ┌────►│ passthrough │────► Effect stdout Stream
224
- * │ └─────────────┘
225
- * childProcess.stdout ────┤
226
- * │ ┌─────────────┐
227
- * └────►│ passthrough │────► Effect all Stream
228
- * ┌────►│ │
229
- * childProcess.stderr ────┤ └─────────────┘
230
- * │ ┌─────────────┐
231
- * └────►│ passthrough │────► Effect stderr Stream
232
- * └─────────────┘
233
- */
234
204
  const setupChildOutputStreams = (command, childProcess, stdoutConfig, stderrConfig) => {
235
- const nodeStdout = childProcess.stdout;
236
- const nodeStderr = childProcess.stderr;
237
- // Create PassThrough streams for individual access to stdout and stderr.
238
- // We pipe the original Node.js streams to these PassThroughs so that
239
- // the data can be consumed by both the individual streams AND the
240
- // combined stream (.all) simultaneously.
241
- const stdoutPassThrough = Predicate.isNotNull(nodeStdout) ? new NodeJSStream.PassThrough() : null;
242
- const stderrPassThrough = Predicate.isNotNull(nodeStderr) ? new NodeJSStream.PassThrough() : null;
243
- // Create PassThrough for combined output (.all)
244
- const combinedPassThrough = new NodeJSStream.PassThrough();
245
- // Track stream endings for the combined stream
246
- const totalStreams = (Predicate.isNotNull(nodeStdout) ? 1 : 0) + (Predicate.isNotNull(nodeStderr) ? 1 : 0);
247
- let endedCount = 0;
248
- const onStreamEnd = () => {
249
- endedCount++;
250
- if (endedCount >= totalStreams) {
251
- combinedPassThrough.end();
252
- }
253
- };
254
- // Pipe stdout to both its own PassThrough and the combined PassThrough
255
- if (Predicate.isNotNull(nodeStdout) && Predicate.isNotNull(stdoutPassThrough)) {
256
- nodeStdout.pipe(stdoutPassThrough);
257
- nodeStdout.pipe(combinedPassThrough, {
258
- end: false
259
- });
260
- nodeStdout.once("end", onStreamEnd);
205
+ let stdout = childProcess.stdout ? NodeStream.fromReadable({
206
+ evaluate: () => childProcess.stdout,
207
+ onError: error => toPlatformError("fromReadable(stdout)", toError(error), command)
208
+ }) : Stream.empty;
209
+ let stderr = childProcess.stderr ? NodeStream.fromReadable({
210
+ evaluate: () => childProcess.stderr,
211
+ onError: error => toPlatformError("fromReadable(stderr)", toError(error), command)
212
+ }) : Stream.empty;
213
+ if (Sink.isSink(stdoutConfig.stream)) {
214
+ stdout = Stream.transduce(stdout, stdoutConfig.stream);
261
215
  }
262
- // Pipe stderr to both its own PassThrough and the combined PassThrough
263
- if (Predicate.isNotNull(nodeStderr) && Predicate.isNotNull(stderrPassThrough)) {
264
- nodeStderr.pipe(stderrPassThrough);
265
- nodeStderr.pipe(combinedPassThrough, {
266
- end: false
267
- });
268
- nodeStderr.once("end", onStreamEnd);
269
- }
270
- // Handle edge case: no streams available
271
- if (totalStreams === 0) {
272
- combinedPassThrough.end();
216
+ if (Sink.isSink(stderrConfig.stream)) {
217
+ stderr = Stream.transduce(stderr, stderrConfig.stream);
273
218
  }
274
- // Create Effect stream for stdout from its PassThrough
275
- let stdout = Stream.empty;
276
- if (Predicate.isNotNull(stdoutPassThrough)) {
277
- stdout = NodeStream.fromReadable({
278
- evaluate: () => stdoutPassThrough,
279
- onError: error => toPlatformError("fromReadable(stdout)", toError(error), command)
280
- });
281
- // Apply user-provided Sink if configured
282
- if (Sink.isSink(stdoutConfig.stream)) {
283
- stdout = Stream.transduce(stdout, stdoutConfig.stream);
284
- }
285
- }
286
- // Create Effect stream for stderr from its PassThrough
287
- let stderr = Stream.empty;
288
- if (Predicate.isNotNull(stderrPassThrough)) {
289
- stderr = NodeStream.fromReadable({
290
- evaluate: () => stderrPassThrough,
291
- onError: error => toPlatformError("fromReadable(stderr)", toError(error), command)
292
- });
293
- // Apply user-provided Sink if configured
294
- if (Sink.isSink(stderrConfig.stream)) {
295
- stderr = Stream.transduce(stderr, stderrConfig.stream);
296
- }
297
- }
298
- // Create Effect stream for combined output from the combined PassThrough
299
- const all = NodeStream.fromReadable({
300
- evaluate: () => combinedPassThrough,
301
- onError: error => toPlatformError("fromReadable(all)", toError(error), command)
302
- });
219
+ const all = Stream.merge(stdout, stderr);
303
220
  return {
304
221
  stdout,
305
222
  stderr,
@@ -341,6 +258,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
341
258
  catch: error => toPlatformError("kill", toError(error), command)
342
259
  });
343
260
  };
261
+ const killProcessGroupOnExit = (childProcess, signal) => {
262
+ if (globalThis.process.platform === "win32") {
263
+ NodeChildProcess.exec(`taskkill /pid ${childProcess.pid} /T /F`, () => {
264
+ // ignore errors during best-effort cleanup
265
+ });
266
+ return;
267
+ }
268
+ try {
269
+ globalThis.process.kill(-childProcess.pid, signal);
270
+ } catch {
271
+ // ignore errors during best-effort cleanup
272
+ }
273
+ };
344
274
  const killProcess = (command, childProcess, signal) => Effect.suspend(() => {
345
275
  const killed = childProcess.kill(signal);
346
276
  if (!killed) {
@@ -353,7 +283,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
353
283
  const killSignal = options?.killSignal ?? "SIGTERM";
354
284
  return Predicate.isUndefined(options?.forceKillAfter) ? kill(command, childProcess, killSignal) : Effect.timeoutOrElse(kill(command, childProcess, killSignal), {
355
285
  duration: options.forceKillAfter,
356
- onTimeout: () => kill(command, childProcess, "SIGKILL")
286
+ orElse: () => kill(command, childProcess, "SIGKILL")
357
287
  });
358
288
  };
359
289
  /**
@@ -389,6 +319,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
389
319
  const stdoutConfig = resolveOutputOption(cmd.options, "stdout");
390
320
  const stderrConfig = resolveOutputOption(cmd.options, "stderr");
391
321
  const resolvedAdditionalFds = resolveAdditionalFds(cmd.options);
322
+ let isReferenced = true;
323
+ let cleanupOnNonZeroExit = false;
392
324
  const cwd = yield* resolveWorkingDirectory(cmd.options);
393
325
  const env = resolveEnvironment(cmd.options);
394
326
  const stdio = buildStdioArray(stdinConfig, stdoutConfig, stderrConfig, resolvedAdditionalFds);
@@ -410,10 +342,33 @@ const make = /*#__PURE__*/Effect.gen(function* () {
410
342
  }
411
343
  return yield* Effect.void;
412
344
  }
345
+ if (!isReferenced) {
346
+ return yield* Effect.void;
347
+ }
413
348
  // Process is still running, kill it
414
349
  return yield* killWithTimeout((command, childProcess, signal) => Effect.catch(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(Effect.andThen(Deferred.await(exitSignal)), Effect.ignore);
415
350
  }));
416
351
  const pid = ProcessId(childProcess.pid);
352
+ childProcess.on("exit", code => {
353
+ if (cleanupOnNonZeroExit && code !== 0 && Predicate.isNotNull(code)) {
354
+ killProcessGroupOnExit(childProcess, cmd.options.killSignal ?? "SIGTERM");
355
+ }
356
+ });
357
+ const reref = Effect.sync(() => {
358
+ if (!isReferenced) {
359
+ childProcess.ref();
360
+ isReferenced = true;
361
+ cleanupOnNonZeroExit = false;
362
+ }
363
+ });
364
+ const unref = Effect.sync(() => {
365
+ if (isReferenced) {
366
+ childProcess.unref();
367
+ isReferenced = false;
368
+ cleanupOnNonZeroExit = true;
369
+ }
370
+ return reref;
371
+ });
417
372
  const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig);
418
373
  const {
419
374
  all,
@@ -449,7 +404,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
449
404
  stderr,
450
405
  all,
451
406
  getInputFd,
452
- getOutputFd
407
+ getOutputFd,
408
+ unref
453
409
  });
454
410
  }
455
411
  case "PipedCommand":
@@ -459,31 +415,31 @@ const make = /*#__PURE__*/Effect.gen(function* () {
459
415
  pipeOptions
460
416
  } = flattenCommand(cmd);
461
417
  const [root, ...pipeline] = commands;
462
- let handle = spawnCommand(root);
418
+ const handles = [yield* spawnCommand(root)];
463
419
  for (let i = 0; i < pipeline.length; i++) {
464
420
  const command = pipeline[i];
465
421
  const options = pipeOptions[i] ?? {};
466
422
  const stdinConfig = resolveStdinOption(command.options);
467
423
  // Get the appropriate stream from the source based on `from` option
468
- const sourceStream = Stream.unwrap(Effect.map(handle, h => getSourceStream(h, options.from)));
424
+ const sourceStream = Stream.unwrap(Effect.succeed(getSourceStream(handles[handles.length - 1], options.from)));
469
425
  // Determine where to pipe: stdin or custom fd
470
426
  const toOption = options.to ?? "stdin";
471
427
  if (toOption === "stdin") {
472
428
  // Pipe to stdin (default behavior)
473
- handle = spawnCommand(ChildProcess.make(command.command, command.args, {
429
+ handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
474
430
  ...command.options,
475
431
  stdin: {
476
432
  ...stdinConfig,
477
433
  stream: sourceStream
478
434
  }
479
- }));
435
+ })));
480
436
  } else {
481
437
  // Pipe to custom fd (fd3, fd4, etc.)
482
438
  const fd = ChildProcess.parseFdName(toOption);
483
439
  if (Predicate.isNotUndefined(fd)) {
484
440
  const fdName = ChildProcess.fdName(fd);
485
441
  const existingFds = command.options.additionalFds ?? {};
486
- handle = spawnCommand(ChildProcess.make(command.command, command.args, {
442
+ handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
487
443
  ...command.options,
488
444
  additionalFds: {
489
445
  ...existingFds,
@@ -492,26 +448,46 @@ const make = /*#__PURE__*/Effect.gen(function* () {
492
448
  stream: sourceStream
493
449
  }
494
450
  }
495
- }));
451
+ })));
496
452
  } else {
497
453
  // Invalid fd name, fall back to stdin
498
- handle = spawnCommand(ChildProcess.make(command.command, command.args, {
454
+ handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
499
455
  ...command.options,
500
456
  stdin: {
501
457
  ...stdinConfig,
502
458
  stream: sourceStream
503
459
  }
504
- }));
460
+ })));
505
461
  }
506
462
  }
507
463
  }
508
- return yield* handle;
464
+ const handle = handles[handles.length - 1];
465
+ const unref = Effect.gen(function* () {
466
+ const rerefs = [];
467
+ for (const handle of handles) {
468
+ rerefs.push(yield* handle.unref);
469
+ }
470
+ return Effect.forEach([...rerefs].reverse(), reref => reref, {
471
+ discard: true
472
+ });
473
+ });
474
+ return makeHandle({
475
+ pid: handle.pid,
476
+ exitCode: handle.exitCode,
477
+ isRunning: handle.isRunning,
478
+ kill: handle.kill,
479
+ stdin: handle.stdin,
480
+ stdout: handle.stdout,
481
+ stderr: handle.stderr,
482
+ all: handle.all,
483
+ getInputFd: handle.getInputFd,
484
+ getOutputFd: handle.getOutputFd,
485
+ unref
486
+ });
509
487
  }
510
488
  }
511
489
  });
512
- return ChildProcessSpawner.of({
513
- spawn: spawnCommand
514
- });
490
+ return makeSpawner(spawnCommand);
515
491
  });
516
492
  /**
517
493
  * Layer providing the `NodeChildProcessSpawner` implementation.
@@ -1 +1 @@
1
- {"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","makeHandle","ProcessId","NodeChildProcess","NodeJSStream","handleErrnoException","NodeSink","NodeStream","toError","error","globalThis","Error","String","toPlatformError","method","command","commands","flattenCommand","commandStr","reduce","acc","curr","cmd","args","join","length","make","gen","fs","path","resolveWorkingDirectory","fnUntraced","options","isUndefined","cwd","undefined","access","resolve","resolveEnvironment","extendEnv","process","env","inputToStdioOption","input","isStream","outputToStdioOption","isSink","resolveStdinOption","defaultConfig","stream","encoding","endOnDone","stdin","resolveOutputOption","streamName","option","resolveAdditionalFds","additionalFds","result","name","config","Object","entries","fd","parseFdName","isNotUndefined","push","sort","a","b","buildStdioArray","stdinConfig","stdoutConfig","stderrConfig","stdio","maxFd","max","Math","i","setupAdditionalFds","childProcess","getInputFd","drain","getOutputFd","empty","inputSinks","Map","outputStreams","nodeStream","type","sink","isNotNullish","fromWritable","evaluate","onError","forkScoped","run","set","isNotNull","fromReadable","transduce","get","setupChildStdin","suspend","as","succeed","setupChildOutputStreams","nodeStdout","stdout","nodeStderr","stderr","stdoutPassThrough","PassThrough","stderrPassThrough","combinedPassThrough","totalStreams","endedCount","onStreamEnd","end","pipe","once","all","spawn","spawnOptions","callback","resume","deferred","makeUnsafe","handle","on","fail","doneUnsafe","sync","kill","killProcessGroup","signal","platform","exec","pid","void","try","catch","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","onTimeout","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","andThen","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","sourceStream","unwrap","h","toOption","to","fdName","existingFds","of","layer","effect","flatten","left","right","first","rest","nonEmptyCommands"],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","make","makeSpawner","makeHandle","ProcessId","NodeChildProcess","handleErrnoException","NodeSink","NodeStream","toError","error","globalThis","Error","String","toPlatformError","method","command","commands","flattenCommand","commandStr","reduce","acc","curr","cmd","args","join","length","gen","fs","path","resolveWorkingDirectory","fnUntraced","options","isUndefined","cwd","undefined","access","resolve","resolveEnvironment","extendEnv","process","env","inputToStdioOption","input","isStream","outputToStdioOption","isSink","resolveStdinOption","defaultConfig","stream","encoding","endOnDone","stdin","resolveOutputOption","streamName","option","resolveAdditionalFds","additionalFds","result","name","config","Object","entries","fd","parseFdName","isNotUndefined","push","sort","a","b","buildStdioArray","stdinConfig","stdoutConfig","stderrConfig","stdio","maxFd","max","Math","i","setupAdditionalFds","childProcess","getInputFd","drain","getOutputFd","empty","inputSinks","Map","outputStreams","nodeStream","type","sink","fromWritable","evaluate","onError","forkScoped","run","set","fromReadable","transduce","get","setupChildStdin","suspend","isNotNull","as","succeed","setupChildOutputStreams","stdout","stderr","all","merge","spawn","spawnOptions","callback","resume","deferred","makeUnsafe","handle","on","fail","doneUnsafe","sync","kill","killProcessGroup","signal","platform","exec","pid","void","try","catch","killProcessGroupOnExit","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","orElse","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","isReferenced","cleanupOnNonZeroExit","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","pipe","andThen","reref","ref","unref","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","handles","sourceStream","unwrap","toOption","to","fdName","existingFds","rerefs","forEach","reverse","discard","layer","effect","flatten","left","right","first","rest","nonEmptyCommands"],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAEnC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAE7C,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,sCAAsC;AAEpE,SACEC,mBAAmB,EACnBC,QAAQ,EACRC,IAAI,IAAIC,WAAW,EACnBC,UAAU,EACVC,SAAS,QACJ,6CAA6C;AACpD,OAAO,KAAKC,gBAAgB,MAAM,oBAAoB;AACtD,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C,MAAMC,OAAO,GAAIC,KAAc,IAC7BA,KAAK,YAAYC,UAAU,CAACC,KAAK,GAC7BF,KAAK,GACL,IAAIC,UAAU,CAACC,KAAK,CAACC,MAAM,CAACH,KAAK,CAAC,CAAC;AAEzC,MAAMI,eAAe,GAAGA,CACtBC,MAAc,EACdL,KAA4B,EAC5BM,OAA6B,KACE;EAC/B,MAAM;IAAEC;EAAQ,CAAE,GAAGC,cAAc,CAACF,OAAO,CAAC;EAC5C,MAAMG,UAAU,GAAGF,QAAQ,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAI;IAC/C,MAAMC,GAAG,GAAG,GAAGD,IAAI,CAACN,OAAO,IAAIM,IAAI,CAACE,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,EAAE;IACpD,OAAOJ,GAAG,CAACK,MAAM,KAAK,CAAC,GAAGH,GAAG,GAAG,GAAGF,GAAG,MAAME,GAAG,EAAE;EACnD,CAAC,EAAE,EAAE,CAAC;EACN,OAAOjB,oBAAoB,CAAC,cAAc,EAAES,MAAM,CAAC,CAACL,KAAK,EAAE,CAACS,UAAU,CAAC,CAAC;AAC1E,CAAC;AAKD,MAAMlB,IAAI,gBAAGX,MAAM,CAACqC,GAAG,CAAC,aAAS;EAC/B,MAAMC,EAAE,GAAG,OAAOpC,UAAU,CAACA,UAAU;EACvC,MAAMqC,IAAI,GAAG,OAAOnC,IAAI,CAACA,IAAI;EAE7B,MAAMoC,uBAAuB,GAAGxC,MAAM,CAACyC,UAAU,CAC/C,WAAUC,OAAoC;IAC5C,IAAIrC,SAAS,CAACsC,WAAW,CAACD,OAAO,CAACE,GAAG,CAAC,EAAE,OAAOC,SAAS;IACxD;IACA,OAAOP,EAAE,CAACQ,MAAM,CAACJ,OAAO,CAACE,GAAG,CAAC;IAC7B,OAAOL,IAAI,CAACQ,OAAO,CAACL,OAAO,CAACE,GAAG,CAAC;EAClC,CAAC,CACF;EAED,MAAMI,kBAAkB,GAAIN,OAAoC,IAAI;IAClE,OAAOA,OAAO,CAACO,SAAS,GACpB;MAAE,GAAG5B,UAAU,CAAC6B,OAAO,CAACC,GAAG;MAAE,GAAGT,OAAO,CAACS;IAAG,CAAE,GAC7CT,OAAO,CAACS,GAAG;EACjB,CAAC;EAED,MAAMC,kBAAkB,GAAIC,KAA4C,IACtE9C,MAAM,CAAC+C,QAAQ,CAACD,KAAK,CAAC,GAAG,MAAM,GAAGA,KAAK;EAEzC,MAAME,mBAAmB,GAAIF,KAA6C,IACxE/C,IAAI,CAACkD,MAAM,CAACH,KAAK,CAAC,GAAG,MAAM,GAAGA,KAAK;EAErC,MAAMI,kBAAkB,GAAIf,OAAoC,IAA8B;IAC5F,MAAMgB,aAAa,GAA6B;MAAEC,MAAM,EAAE,MAAM;MAAEC,QAAQ,EAAE,OAAO;MAAEC,SAAS,EAAE;IAAI,CAAE;IACtG,IAAIxD,SAAS,CAACsC,WAAW,CAACD,OAAO,CAACoB,KAAK,CAAC,EAAE;MACxC,OAAOJ,aAAa;IACtB;IACA,IAAI,OAAOhB,OAAO,CAACoB,KAAK,KAAK,QAAQ,EAAE;MACrC,OAAO;QAAE,GAAGJ,aAAa;QAAEC,MAAM,EAAEjB,OAAO,CAACoB;MAAK,CAAE;IACpD;IACA,IAAIvD,MAAM,CAAC+C,QAAQ,CAACZ,OAAO,CAACoB,KAAK,CAAC,EAAE;MAClC,OAAO;QAAE,GAAGJ,aAAa;QAAEC,MAAM,EAAEjB,OAAO,CAACoB;MAAK,CAAE;IACpD;IACA,OAAO;MACLH,MAAM,EAAEjB,OAAO,CAACoB,KAAK,CAACH,MAAM;MAC5BC,QAAQ,EAAElB,OAAO,CAACoB,KAAK,CAACF,QAAQ,IAAIF,aAAa,CAACE,QAAQ;MAC1DC,SAAS,EAAEnB,OAAO,CAACoB,KAAK,CAACD,SAAS,IAAIH,aAAa,CAACG;KACrD;EACH,CAAC;EAED,MAAME,mBAAmB,GAAGA,CAC1BrB,OAAoC,EACpCsB,UAA+B,KACF;IAC7B,MAAMC,MAAM,GAAGvB,OAAO,CAACsB,UAAU,CAAC;IAClC,IAAI3D,SAAS,CAACsC,WAAW,CAACsB,MAAM,CAAC,EAAE;MACjC,OAAO;QAAEN,MAAM,EAAE;MAAM,CAAE;IAC3B;IACA,IAAI,OAAOM,MAAM,KAAK,QAAQ,EAAE;MAC9B,OAAO;QAAEN,MAAM,EAAEM;MAAM,CAAE;IAC3B;IACA,IAAI3D,IAAI,CAACkD,MAAM,CAACS,MAAM,CAAC,EAAE;MACvB,OAAO;QAAEN,MAAM,EAAEM;MAAM,CAAE;IAC3B;IACA,OAAO;MAAEN,MAAM,EAAEM,MAAM,CAACN;IAAM,CAAE;EAClC,CAAC;EAOD,MAAMO,oBAAoB,GACxBxB,OAAoC,IACG;IACvC,IAAIrC,SAAS,CAACsC,WAAW,CAACD,OAAO,CAACyB,aAAa,CAAC,EAAE;MAChD,OAAO,EAAE;IACX;IACA,MAAMC,MAAM,GAAgC,EAAE;IAC9C,KAAK,MAAM,CAACC,IAAI,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC9B,OAAO,CAACyB,aAAa,CAAC,EAAE;MAClE,MAAMM,EAAE,GAAGjE,YAAY,CAACkE,WAAW,CAACL,IAAI,CAAC;MACzC,IAAIhE,SAAS,CAACsE,cAAc,CAACF,EAAE,CAAC,EAAE;QAChCL,MAAM,CAACQ,IAAI,CAAC;UAAEH,EAAE;UAAEH;QAAM,CAAE,CAAC;MAC7B;IACF;IACA;IACA,OAAOF,MAAM,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACL,EAAE,GAAGM,CAAC,CAACN,EAAE,CAAC;EAC3C,CAAC;EAED,MAAMO,eAAe,GAAGA,CACtBC,WAAqC,EACrCC,YAAuC,EACvCC,YAAuC,EACvChB,aAAkD,KACjB;IACjC,MAAMiB,KAAK,GAA+C,CACxDhC,kBAAkB,CAAC6B,WAAW,CAACtB,MAAM,CAAC,EACtCJ,mBAAmB,CAAC2B,YAAY,CAACvB,MAAM,CAAC,EACxCJ,mBAAmB,CAAC4B,YAAY,CAACxB,MAAM,CAAC,CACzC;IAED,IAAIQ,aAAa,CAAC/B,MAAM,KAAK,CAAC,EAAE;MAC9B,OAAOgD,KAAsC;IAC/C;IAEA;IACA,MAAMC,KAAK,GAAGlB,aAAa,CAACrC,MAAM,CAAC,CAACwD,GAAG,EAAE;MAAEb;IAAE,CAAE,KAAKc,IAAI,CAACD,GAAG,CAACA,GAAG,EAAEb,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE;IACA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,KAAK,EAAEG,CAAC,EAAE,EAAE;MAC/BJ,KAAK,CAACI,CAAC,CAAC,GAAG,QAAQ;IACrB;IAEA;IACA,KAAK,MAAM;MAAEf;IAAE,CAAE,IAAIN,aAAa,EAAE;MAClCiB,KAAK,CAACX,EAAE,CAAC,GAAG,MAAM;IACpB;IAEA,OAAOW,KAAsC;EAC/C,CAAC;EAED,MAAMK,kBAAkB,GAAGzF,MAAM,CAACyC,UAAU,CAAC,WAC3Cf,OAAqC,EACrCgE,YAA2C,EAC3CvB,aAAkD;IAElD,IAAIA,aAAa,CAAC/B,MAAM,KAAK,CAAC,EAAE;MAC9B,OAAO;QACLuD,UAAU,EAAEA,CAAA,KAAMrF,IAAI,CAACsF,KAAK;QAC5BC,WAAW,EAAEA,CAAA,KAAMtF,MAAM,CAACuF;OAC3B;IACH;IAEA,MAAMC,UAAU,GAAG,IAAIC,GAAG,EAA2E;IACrG,MAAMC,aAAa,GAAG,IAAID,GAAG,EAAkE;IAE/F,KAAK,MAAM;MAAE1B,MAAM;MAAEG;IAAE,CAAE,IAAIN,aAAa,EAAE;MAC1C,MAAM+B,UAAU,GAAGR,YAAY,CAACN,KAAK,CAACX,EAAE,CAAC;MAEzC,QAAQH,MAAM,CAAC6B,IAAI;QACjB,KAAK,OAAO;UAAE;YACZ;YACA,IAAIC,IAAI,GAAoE9F,IAAI,CAACsF,KAAK;YACtF,IAAIM,UAAU,IAAI,OAAO,IAAIA,UAAU,EAAE;cACvCE,IAAI,GAAGnF,QAAQ,CAACoF,YAAY,CAAC;gBAC3BC,QAAQ,EAAEA,CAAA,KAAMJ,UAAU;gBAC1BK,OAAO,EAAGnF,KAAK,IAAKI,eAAe,CAAC,kBAAkBiD,EAAE,GAAG,EAAEtD,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO;eACrF,CAAC;YACJ;YAEA;YACA,IAAI4C,MAAM,CAACX,MAAM,EAAE;cACjB,OAAO3D,MAAM,CAACwG,UAAU,CAACjG,MAAM,CAACkG,GAAG,CAACnC,MAAM,CAACX,MAAM,EAAEyC,IAAI,CAAC,CAAC;YAC3D;YAEAL,UAAU,CAACW,GAAG,CAACjC,EAAE,EAAE2B,IAAI,CAAC;YAExB;UACF;QACA,KAAK,QAAQ;UAAE;YACb;YACA,IAAIzC,MAAM,GAA2DpD,MAAM,CAACuF,KAAK;YACjF,IAAII,UAAU,IAAI,MAAM,IAAIA,UAAU,EAAE;cACtCvC,MAAM,GAAGzC,UAAU,CAACyF,YAAY,CAAC;gBAC/BL,QAAQ,EAAEA,CAAA,KAAMJ,UAAU;gBAC1BK,OAAO,EAAGnF,KAAK,IAAKI,eAAe,CAAC,kBAAkBiD,EAAE,GAAG,EAAEtD,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO;eACrF,CAAC;YACJ;YAEA;YACA,IAAI4C,MAAM,CAAC8B,IAAI,EAAE;cACfzC,MAAM,GAAGpD,MAAM,CAACqG,SAAS,CAACjD,MAAM,EAAEW,MAAM,CAAC8B,IAAI,CAAC;YAChD;YAEAH,aAAa,CAACS,GAAG,CAACjC,EAAE,EAAEd,MAAM,CAAC;YAE7B;UACF;MACF;IACF;IAEA,OAAO;MACLgC,UAAU,EAAGlB,EAAU,IAAKsB,UAAU,CAACc,GAAG,CAACpC,EAAE,CAAC,IAAInE,IAAI,CAACsF,KAAK;MAC5DC,WAAW,EAAGpB,EAAU,IAAKwB,aAAa,CAACY,GAAG,CAACpC,EAAE,CAAC,IAAIlE,MAAM,CAACuF;KAC9D;EACH,CAAC,CAAC;EAEF,MAAMgB,eAAe,GAAGA,CACtBpF,OAAqC,EACrCgE,YAA2C,EAC3CpB,MAAgC,KAEhCtE,MAAM,CAAC+G,OAAO,CAAC,MAAK;IAClB;IACA;IACA,IAAIX,IAAI,GAAiE9F,IAAI,CAACsF,KAAK;IACnF,IAAIvF,SAAS,CAAC2G,SAAS,CAACtB,YAAY,CAAC5B,KAAK,CAAC,EAAE;MAC3CsC,IAAI,GAAGnF,QAAQ,CAACoF,YAAY,CAAC;QAC3BC,QAAQ,EAAEA,CAAA,KAAMZ,YAAY,CAAC5B,KAAM;QACnCyC,OAAO,EAAGnF,KAAK,IAAKI,eAAe,CAAC,qBAAqB,EAAEL,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO,CAAC;QACnFmC,SAAS,EAAES,MAAM,CAACT,SAAS;QAC3BD,QAAQ,EAAEU,MAAM,CAACV;OAClB,CAAC;IACJ;IAEA;IACA,IAAIrD,MAAM,CAAC+C,QAAQ,CAACgB,MAAM,CAACX,MAAM,CAAC,EAAE;MAClC,OAAO3D,MAAM,CAACiH,EAAE,CAACjH,MAAM,CAACwG,UAAU,CAACjG,MAAM,CAACkG,GAAG,CAACnC,MAAM,CAACX,MAAM,EAAEyC,IAAI,CAAC,CAAC,EAAEA,IAAI,CAAC;IAC5E;IAEA,OAAOpG,MAAM,CAACkH,OAAO,CAACd,IAAI,CAAC;EAC7B,CAAC,CAAC;EAEJ,MAAMe,uBAAuB,GAAGA,CAC9BzF,OAAqC,EACrCgE,YAA2C,EAC3CR,YAAuC,EACvCC,YAAuC,KAKrC;IACF,IAAIiC,MAAM,GAAG1B,YAAY,CAAC0B,MAAM,GAC9BlG,UAAU,CAACyF,YAAY,CAAC;MACtBL,QAAQ,EAAEA,CAAA,KAAMZ,YAAY,CAAC0B,MAAO;MACpCb,OAAO,EAAGnF,KAAK,IAAKI,eAAe,CAAC,sBAAsB,EAAEL,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO;KACpF,CAAC,GACFnB,MAAM,CAACuF,KAAK;IACd,IAAIuB,MAAM,GAAG3B,YAAY,CAAC2B,MAAM,GAC9BnG,UAAU,CAACyF,YAAY,CAAC;MACtBL,QAAQ,EAAEA,CAAA,KAAMZ,YAAY,CAAC2B,MAAO;MACpCd,OAAO,EAAGnF,KAAK,IAAKI,eAAe,CAAC,sBAAsB,EAAEL,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO;KACpF,CAAC,GACFnB,MAAM,CAACuF,KAAK;IAEd,IAAIxF,IAAI,CAACkD,MAAM,CAAC0B,YAAY,CAACvB,MAAM,CAAC,EAAE;MACpCyD,MAAM,GAAG7G,MAAM,CAACqG,SAAS,CAACQ,MAAM,EAAElC,YAAY,CAACvB,MAAM,CAAC;IACxD;IACA,IAAIrD,IAAI,CAACkD,MAAM,CAAC2B,YAAY,CAACxB,MAAM,CAAC,EAAE;MACpC0D,MAAM,GAAG9G,MAAM,CAACqG,SAAS,CAACS,MAAM,EAAElC,YAAY,CAACxB,MAAM,CAAC;IACxD;IAEA,MAAM2D,GAAG,GAAG/G,MAAM,CAACgH,KAAK,CAACH,MAAM,EAAEC,MAAM,CAAC;IAExC,OAAO;MAAED,MAAM;MAAEC,MAAM;MAAEC;IAAG,CAAE;EAChC,CAAC;EAED,MAAME,KAAK,GAAGA,CACZ9F,OAAqC,EACrC+F,YAA2C,KAE3CzH,MAAM,CAAC0H,QAAQ,CAGZC,MAAM,IAAI;IACX,MAAMC,QAAQ,GAAG7H,QAAQ,CAAC8H,UAAU,EAAsB;IAC1D,MAAMC,MAAM,GAAG/G,gBAAgB,CAACyG,KAAK,CACnC9F,OAAO,CAACA,OAAO,EACfA,OAAO,CAACQ,IAAI,EACZuF,YAAY,CACb;IACDK,MAAM,CAACC,EAAE,CAAC,OAAO,EAAG3G,KAAK,IAAI;MAC3BuG,MAAM,CAAC3H,MAAM,CAACgI,IAAI,CAACxG,eAAe,CAAC,OAAO,EAAEJ,KAAK,EAAEM,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IACFoG,MAAM,CAACC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG7F,IAAI,KAAI;MAC5BnC,QAAQ,CAACkI,UAAU,CAACL,QAAQ,EAAE3H,IAAI,CAACiH,OAAO,CAAChF,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IACF4F,MAAM,CAACC,EAAE,CAAC,OAAO,EAAE,MAAK;MACtBJ,MAAM,CAAC3H,MAAM,CAACkH,OAAO,CAAC,CAACY,MAAM,EAAEF,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO5H,MAAM,CAACkI,IAAI,CAAC,MAAK;MACtBJ,MAAM,CAACK,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEJ,MAAMC,gBAAgB,GAAGA,CACvB1G,OAAqC,EACrCgE,YAA2C,EAC3C2C,MAAsB,KACpB;IACF,IAAIhH,UAAU,CAAC6B,OAAO,CAACoF,QAAQ,KAAK,OAAO,EAAE;MAC3C,OAAOtI,MAAM,CAAC0H,QAAQ,CAAqCC,MAAM,IAAI;QACnE5G,gBAAgB,CAACwH,IAAI,CAAC,iBAAiB7C,YAAY,CAAC8C,GAAG,QAAQ,EAAGpH,KAAK,IAAI;UACzE,IAAIA,KAAK,EAAE;YACTuG,MAAM,CAAC3H,MAAM,CAACgI,IAAI,CAACxG,eAAe,CAAC,MAAM,EAAEL,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO,CAAC,CAAC,CAAC;UACvE,CAAC,MAAM;YACLiG,MAAM,CAAC3H,MAAM,CAACyI,IAAI,CAAC;UACrB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IACA,OAAOzI,MAAM,CAAC0I,GAAG,CAAC;MAChBA,GAAG,EAAEA,CAAA,KAAK;QACRrH,UAAU,CAAC6B,OAAO,CAACiF,IAAI,CAAC,CAACzC,YAAY,CAAC8C,GAAI,EAAEH,MAAM,CAAC;MACrD,CAAC;MACDM,KAAK,EAAGvH,KAAK,IAAKI,eAAe,CAAC,MAAM,EAAEL,OAAO,CAACC,KAAK,CAAC,EAAEM,OAAO;KAClE,CAAC;EACJ,CAAC;EAED,MAAMkH,sBAAsB,GAAGA,CAC7BlD,YAA2C,EAC3C2C,MAAsB,KACd;IACR,IAAIhH,UAAU,CAAC6B,OAAO,CAACoF,QAAQ,KAAK,OAAO,EAAE;MAC3CvH,gBAAgB,CAACwH,IAAI,CAAC,iBAAiB7C,YAAY,CAAC8C,GAAG,QAAQ,EAAE,MAAK;QACpE;MAAA,CACD,CAAC;MACF;IACF;IACA,IAAI;MACFnH,UAAU,CAAC6B,OAAO,CAACiF,IAAI,CAAC,CAACzC,YAAY,CAAC8C,GAAI,EAAEH,MAAM,CAAC;IACrD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC;EAED,MAAMQ,WAAW,GAAGA,CAClBnH,OAAqC,EACrCgE,YAA2C,EAC3C2C,MAAsB,KAEtBrI,MAAM,CAAC+G,OAAO,CAAC,MAAK;IAClB,MAAM+B,MAAM,GAAGpD,YAAY,CAACyC,IAAI,CAACE,MAAM,CAAC;IACxC,IAAI,CAACS,MAAM,EAAE;MACX,MAAM1H,KAAK,GAAG,IAAIC,UAAU,CAACC,KAAK,CAAC,8BAA8B,CAAC;MAClE,OAAOtB,MAAM,CAACgI,IAAI,CAACxG,eAAe,CAAC,MAAM,EAAEJ,KAAK,EAAEM,OAAO,CAAC,CAAC;IAC7D;IACA,OAAO1B,MAAM,CAACyI,IAAI;EACpB,CAAC,CAAC;EAEJ,MAAMM,WAAW,GAAGA,CAClBrD,YAA2C,EAC3ChE,OAAqC,EACrCgB,OAA6C,KAG7CyF,IAI2B,IACzB;IACF,MAAMa,UAAU,GAAGtG,OAAO,EAAEsG,UAAU,IAAI,SAAS;IACnD,OAAO3I,SAAS,CAACsC,WAAW,CAACD,OAAO,EAAEuG,cAAc,CAAC,GACjDd,IAAI,CAACzG,OAAO,EAAEgE,YAAY,EAAEsD,UAAU,CAAC,GACvChJ,MAAM,CAACkJ,aAAa,CAACf,IAAI,CAACzG,OAAO,EAAEgE,YAAY,EAAEsD,UAAU,CAAC,EAAE;MAC9DG,QAAQ,EAAEzG,OAAO,CAACuG,cAAc;MAChCG,MAAM,EAAEA,CAAA,KAAMjB,IAAI,CAACzG,OAAO,EAAEgE,YAAY,EAAE,SAAS;KACpD,CAAC;EACN,CAAC;EAED;;;;EAIA,MAAM2D,eAAe,GAAGA,CACtBvB,MAA0B,EAC1BwB,IAA6C,KACa;IAC1D,MAAMC,UAAU,GAAGD,IAAI,IAAI,QAAQ;IACnC,QAAQC,UAAU;MAChB,KAAK,QAAQ;QACX,OAAOzB,MAAM,CAACV,MAAM;MACtB,KAAK,QAAQ;QACX,OAAOU,MAAM,CAACT,MAAM;MACtB,KAAK,KAAK;QACR,OAAOS,MAAM,CAACR,GAAG;MACnB;QAAS;UACP;UACA,MAAM7C,EAAE,GAAGjE,YAAY,CAACkE,WAAW,CAAC6E,UAAU,CAAC;UAC/C,IAAIlJ,SAAS,CAACsE,cAAc,CAACF,EAAE,CAAC,EAAE;YAChC,OAAOqD,MAAM,CAACjC,WAAW,CAACpB,EAAE,CAAC;UAC/B;UACA;UACA,OAAOqD,MAAM,CAACV,MAAM;QACtB;IACF;EACF,CAAC;EAED,MAAMoC,YAAY,GAMdxJ,MAAM,CAACyC,UAAU,CAAC,WAAUR,GAAG;IACjC,QAAQA,GAAG,CAACwH,IAAI;MACd,KAAK,iBAAiB;QAAE;UACtB,MAAMxE,WAAW,GAAGxB,kBAAkB,CAACxB,GAAG,CAACS,OAAO,CAAC;UACnD,MAAMwC,YAAY,GAAGnB,mBAAmB,CAAC9B,GAAG,CAACS,OAAO,EAAE,QAAQ,CAAC;UAC/D,MAAMyC,YAAY,GAAGpB,mBAAmB,CAAC9B,GAAG,CAACS,OAAO,EAAE,QAAQ,CAAC;UAC/D,MAAMgH,qBAAqB,GAAGxF,oBAAoB,CAACjC,GAAG,CAACS,OAAO,CAAC;UAC/D,IAAIiH,YAAY,GAAG,IAAI;UACvB,IAAIC,oBAAoB,GAAG,KAAK;UAEhC,MAAMhH,GAAG,GAAG,OAAOJ,uBAAuB,CAACP,GAAG,CAACS,OAAO,CAAC;UACvD,MAAMS,GAAG,GAAGH,kBAAkB,CAACf,GAAG,CAACS,OAAO,CAAC;UAC3C,MAAM0C,KAAK,GAAGJ,eAAe,CAACC,WAAW,EAAEC,YAAY,EAAEC,YAAY,EAAEuE,qBAAqB,CAAC;UAE7F,MAAM,CAAChE,YAAY,EAAEmE,UAAU,CAAC,GAAG,OAAO7J,MAAM,CAAC8J,cAAc,CAC7DtC,KAAK,CAACvF,GAAG,EAAE;YACTW,GAAG;YACHO,GAAG;YACHiC,KAAK;YACL2E,QAAQ,EAAE9H,GAAG,CAACS,OAAO,CAACqH,QAAQ,IAAI7G,OAAO,CAACoF,QAAQ,KAAK,OAAO;YAC9D0B,KAAK,EAAE/H,GAAG,CAACS,OAAO,CAACsH;WACpB,CAAC,EACFhK,MAAM,CAACyC,UAAU,CAAC,WAAU,CAACiD,YAAY,EAAEmE,UAAU,CAAC;YACpD,MAAMI,MAAM,GAAG,OAAOlK,QAAQ,CAACmK,MAAM,CAACL,UAAU,CAAC;YACjD,MAAMM,eAAe,GAAGpB,WAAW,CAACrD,YAAY,EAAEzD,GAAG,EAAEA,GAAG,CAACS,OAAO,CAAC;YACnE,IAAIuH,MAAM,EAAE;cACV;cACA,MAAM,CAACG,IAAI,CAAC,GAAG,OAAOrK,QAAQ,CAACsK,KAAK,CAACR,UAAU,CAAC;cAChD,IAAIO,IAAI,KAAK,CAAC,IAAI/J,SAAS,CAAC2G,SAAS,CAACoD,IAAI,CAAC,EAAE;gBAC3C;gBACA,OAAO,OAAOpK,MAAM,CAACsK,MAAM,CAACH,eAAe,CAAC/B,gBAAgB,CAAC,CAAC;cAChE;cACA,OAAO,OAAOpI,MAAM,CAACyI,IAAI;YAC3B;YACA,IAAI,CAACkB,YAAY,EAAE;cACjB,OAAO,OAAO3J,MAAM,CAACyI,IAAI;YAC3B;YACA;YACA,OAAO,OAAO0B,eAAe,CAAC,CAACzI,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,KAC1DrI,MAAM,CAAC2I,KAAK,CACVP,gBAAgB,CAAC1G,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,CAAC,EAC/C,MAAMQ,WAAW,CAACnH,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,CAAC,CACjD,CACF,CAACkC,IAAI,CACJvK,MAAM,CAACwK,OAAO,CAACzK,QAAQ,CAACsK,KAAK,CAACR,UAAU,CAAC,CAAC,EAC1C7J,MAAM,CAACsK,MAAM,CACd;UACH,CAAC,CAAC,CACH;UAED,MAAM9B,GAAG,GAAG1H,SAAS,CAAC4E,YAAY,CAAC8C,GAAI,CAAC;UACxC9C,YAAY,CAACqC,EAAE,CAAC,MAAM,EAAGqC,IAAI,IAAI;YAC/B,IAAIR,oBAAoB,IAAIQ,IAAI,KAAK,CAAC,IAAI/J,SAAS,CAAC2G,SAAS,CAACoD,IAAI,CAAC,EAAE;cACnExB,sBAAsB,CAAClD,YAAY,EAAEzD,GAAG,CAACS,OAAO,CAACsG,UAAU,IAAI,SAAS,CAAC;YAC3E;UACF,CAAC,CAAC;UACF,MAAMyB,KAAK,GAAGzK,MAAM,CAACkI,IAAI,CAAC,MAAK;YAC7B,IAAI,CAACyB,YAAY,EAAE;cACjBjE,YAAY,CAACgF,GAAG,EAAE;cAClBf,YAAY,GAAG,IAAI;cACnBC,oBAAoB,GAAG,KAAK;YAC9B;UACF,CAAC,CAAC;UACF,MAAMe,KAAK,GAAG3K,MAAM,CAACkI,IAAI,CAAC,MAAK;YAC7B,IAAIyB,YAAY,EAAE;cAChBjE,YAAY,CAACiF,KAAK,EAAE;cACpBhB,YAAY,GAAG,KAAK;cACpBC,oBAAoB,GAAG,IAAI;YAC7B;YACA,OAAOa,KAAK;UACd,CAAC,CAAC;UACF,MAAM3G,KAAK,GAAG,OAAOgD,eAAe,CAAC7E,GAAG,EAAEyD,YAAY,EAAET,WAAW,CAAC;UACpE,MAAM;YAAEqC,GAAG;YAAED,MAAM;YAAED;UAAM,CAAE,GAAGD,uBAAuB,CAAClF,GAAG,EAAEyD,YAAY,EAAER,YAAY,EAAEC,YAAY,CAAC;UACtG,MAAM;YAAEQ,UAAU;YAAEE;UAAW,CAAE,GAAG,OAAOJ,kBAAkB,CAACxD,GAAG,EAAEyD,YAAY,EAAEgE,qBAAqB,CAAC;UACvG,MAAMkB,SAAS,GAAG5K,MAAM,CAAC6K,GAAG,CAAC9K,QAAQ,CAACmK,MAAM,CAACL,UAAU,CAAC,EAAGiB,IAAI,IAAK,CAACA,IAAI,CAAC;UAC1E,MAAMC,QAAQ,GAAG/K,MAAM,CAACgL,OAAO,CAACjL,QAAQ,CAACsK,KAAK,CAACR,UAAU,CAAC,EAAE,CAAC,CAACO,IAAI,EAAE/B,MAAM,CAAC,KAAI;YAC7E,IAAIhI,SAAS,CAAC2G,SAAS,CAACoD,IAAI,CAAC,EAAE;cAC7B,OAAOpK,MAAM,CAACkH,OAAO,CAACxG,QAAQ,CAAC0J,IAAI,CAAC,CAAC;YACvC;YACA;YACA;YACA;YACA,MAAMhJ,KAAK,GAAG,IAAIC,UAAU,CAACC,KAAK,CAAC,kDAAkD+G,MAAM,GAAG,CAAC;YAC/F,OAAOrI,MAAM,CAACgI,IAAI,CAACxG,eAAe,CAAC,UAAU,EAAEJ,KAAK,EAAEa,GAAG,CAAC,CAAC;UAC7D,CAAC,CAAC;UACF,MAAMkG,IAAI,GAAIzF,OAA8C,IAAI;YAC9D,MAAMyH,eAAe,GAAGpB,WAAW,CAACrD,YAAY,EAAEzD,GAAG,EAAES,OAAO,CAAC;YAC/D,OAAOyH,eAAe,CAAC,CAACzI,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,KACnDrI,MAAM,CAAC2I,KAAK,CACVP,gBAAgB,CAAC1G,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,CAAC,EAC/C,MAAMQ,WAAW,CAACnH,OAAO,EAAEgE,YAAY,EAAE2C,MAAM,CAAC,CACjD,CACF,CAACkC,IAAI,CACJvK,MAAM,CAACwK,OAAO,CAACzK,QAAQ,CAACsK,KAAK,CAACR,UAAU,CAAC,CAAC,EAC1C7J,MAAM,CAACiL,MAAM,CACd;UACH,CAAC;UAED,OAAOpK,UAAU,CAAC;YAChB2H,GAAG;YACHuC,QAAQ;YACRH,SAAS;YACTzC,IAAI;YACJrE,KAAK;YACLsD,MAAM;YACNC,MAAM;YACNC,GAAG;YACH3B,UAAU;YACVE,WAAW;YACX8E;WACD,CAAC;QACJ;MACA,KAAK,cAAc;QAAE;UACnB,MAAM;YAAEhJ,QAAQ;YAAEuJ;UAAW,CAAE,GAAGtJ,cAAc,CAACK,GAAG,CAAC;UACrD,MAAM,CAACkJ,IAAI,EAAE,GAAGC,QAAQ,CAAC,GAAGzJ,QAAQ;UAEpC,MAAM0J,OAAO,GAAG,CAAC,OAAO7B,YAAY,CAAC2B,IAAI,CAAC,CAAC;UAE3C,KAAK,IAAI3F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4F,QAAQ,CAAChJ,MAAM,EAAEoD,CAAC,EAAE,EAAE;YACxC,MAAM9D,OAAO,GAAG0J,QAAQ,CAAC5F,CAAC,CAAC;YAC3B,MAAM9C,OAAO,GAAGwI,WAAW,CAAC1F,CAAC,CAAC,IAAI,EAAE;YACpC,MAAMP,WAAW,GAAGxB,kBAAkB,CAAC/B,OAAO,CAACgB,OAAO,CAAC;YAEvD;YACA,MAAM4I,YAAY,GAAG/K,MAAM,CAACgL,MAAM,CAChCvL,MAAM,CAACkH,OAAO,CAACmC,eAAe,CAACgC,OAAO,CAACA,OAAO,CAACjJ,MAAM,GAAG,CAAC,CAAC,EAAEM,OAAO,CAAC4G,IAAI,CAAC,CAAC,CAC3E;YAED;YACA,MAAMkC,QAAQ,GAAG9I,OAAO,CAAC+I,EAAE,IAAI,OAAO;YAEtC,IAAID,QAAQ,KAAK,OAAO,EAAE;cACxB;cACAH,OAAO,CAACzG,IAAI,CACV,OAAO4E,YAAY,CAAChJ,YAAY,CAACG,IAAI,CAACe,OAAO,CAACA,OAAO,EAAEA,OAAO,CAACQ,IAAI,EAAE;gBACnE,GAAGR,OAAO,CAACgB,OAAO;gBAClBoB,KAAK,EAAE;kBAAE,GAAGmB,WAAW;kBAAEtB,MAAM,EAAE2H;gBAAY;eAC9C,CAAC,CAAC,CACJ;YACH,CAAC,MAAM;cACL;cACA,MAAM7G,EAAE,GAAGjE,YAAY,CAACkE,WAAW,CAAC8G,QAAQ,CAAC;cAC7C,IAAInL,SAAS,CAACsE,cAAc,CAACF,EAAE,CAAC,EAAE;gBAChC,MAAMiH,MAAM,GAAGlL,YAAY,CAACkL,MAAM,CAACjH,EAAE,CAAkB;gBACvD,MAAMkH,WAAW,GAAGjK,OAAO,CAACgB,OAAO,CAACyB,aAAa,IAAI,EAAE;gBACvDkH,OAAO,CAACzG,IAAI,CACV,OAAO4E,YAAY,CAAChJ,YAAY,CAACG,IAAI,CAACe,OAAO,CAACA,OAAO,EAAEA,OAAO,CAACQ,IAAI,EAAE;kBACnE,GAAGR,OAAO,CAACgB,OAAO;kBAClByB,aAAa,EAAE;oBACb,GAAGwH,WAAW;oBACd,CAACD,MAAM,GAAG;sBAAEvF,IAAI,EAAE,OAAgB;sBAAExC,MAAM,EAAE2H;oBAAY;;iBAE3D,CAAC,CAAC,CACJ;cACH,CAAC,MAAM;gBACL;gBACAD,OAAO,CAACzG,IAAI,CACV,OAAO4E,YAAY,CAAChJ,YAAY,CAACG,IAAI,CAACe,OAAO,CAACA,OAAO,EAAEA,OAAO,CAACQ,IAAI,EAAE;kBACnE,GAAGR,OAAO,CAACgB,OAAO;kBAClBoB,KAAK,EAAE;oBAAE,GAAGmB,WAAW;oBAAEtB,MAAM,EAAE2H;kBAAY;iBAC9C,CAAC,CAAC,CACJ;cACH;YACF;UACF;UAEA,MAAMxD,MAAM,GAAGuD,OAAO,CAACA,OAAO,CAACjJ,MAAM,GAAG,CAAC,CAAC;UAC1C,MAAMuI,KAAK,GAAG3K,MAAM,CAACqC,GAAG,CAAC,aAAS;YAChC,MAAMuJ,MAAM,GAA4D,EAAE;YAC1E,KAAK,MAAM9D,MAAM,IAAIuD,OAAO,EAAE;cAC5BO,MAAM,CAAChH,IAAI,CAAC,OAAOkD,MAAM,CAAC6C,KAAK,CAAC;YAClC;YACA,OAAO3K,MAAM,CAAC6L,OAAO,CAAC,CAAC,GAAGD,MAAM,CAAC,CAACE,OAAO,EAAE,EAAGrB,KAAK,IAAKA,KAAK,EAAE;cAAEsB,OAAO,EAAE;YAAI,CAAE,CAAC;UACnF,CAAC,CAAC;UAEF,OAAOlL,UAAU,CAAC;YAChB2H,GAAG,EAAEV,MAAM,CAACU,GAAG;YACfuC,QAAQ,EAAEjD,MAAM,CAACiD,QAAQ;YACzBH,SAAS,EAAE9C,MAAM,CAAC8C,SAAS;YAC3BzC,IAAI,EAAEL,MAAM,CAACK,IAAI;YACjBrE,KAAK,EAAEgE,MAAM,CAAChE,KAAK;YACnBsD,MAAM,EAAEU,MAAM,CAACV,MAAM;YACrBC,MAAM,EAAES,MAAM,CAACT,MAAM;YACrBC,GAAG,EAAEQ,MAAM,CAACR,GAAG;YACf3B,UAAU,EAAEmC,MAAM,CAACnC,UAAU;YAC7BE,WAAW,EAAEiC,MAAM,CAACjC,WAAW;YAC/B8E;WACD,CAAC;QACJ;IACF;EACF,CAAC,CAAC;EAEF,OAAO/J,WAAW,CAAC4I,YAAY,CAAC;AAClC,CAAC,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMwC,KAAK,gBAId7L,KAAK,CAAC8L,MAAM,CAACxL,mBAAmB,EAAEE,IAAI,CAAC;AAiB3C;;;;;;;AAOA,OAAO,MAAMiB,cAAc,GACzBF,OAA6B,IACR;EACrB,MAAMC,QAAQ,GAAwC,EAAE;EACxD,MAAMuJ,WAAW,GAAoC,EAAE;EAEvD,MAAMgB,OAAO,GAAIjK,GAAyB,IAAU;IAClD,QAAQA,GAAG,CAACwH,IAAI;MACd,KAAK,iBAAiB;QAAE;UACtB9H,QAAQ,CAACiD,IAAI,CAAC3C,GAAG,CAAC;UAClB;QACF;MACA,KAAK,cAAc;QAAE;UACnB;UACAiK,OAAO,CAACjK,GAAG,CAACkK,IAAI,CAAC;UACjB;UACAjB,WAAW,CAACtG,IAAI,CAAC3C,GAAG,CAACS,OAAO,CAAC;UAC7B;UACAwJ,OAAO,CAACjK,GAAG,CAACmK,KAAK,CAAC;UAClB;QACF;IACF;EACF,CAAC;EAEDF,OAAO,CAACxK,OAAO,CAAC;EAEhB;EACA;EACA;EACA,IAAIC,QAAQ,CAACS,MAAM,KAAK,CAAC,EAAE;IACzB;IACA,MAAM,IAAId,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM,CAAC+K,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAG3K,QAAQ;EACjC,MAAM4K,gBAAgB,GAA4D,CAACF,KAAK,EAAE,GAAGC,IAAI,CAAC;EAElG,OAAO;IAAE3K,QAAQ,EAAE4K,gBAAgB;IAAErB;EAAW,CAAE;AACpD,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AAExE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AAIxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,OAAO,CAAC,iBAAiB,EACzB,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAiBlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CACzC,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CAAC,cAAc,CAQV,CAAA"}
1
+ {"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AAExE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AAIxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,OAAO,CAAC,iBAAiB,EACzB,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAiBlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CACzC,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,EAC9B,cAAc,CAAC,cAAc,CAQV,CAAA"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
+ import * as Option from "effect/Option";
6
7
  import * as Runners from "effect/unstable/cluster/Runners";
7
8
  import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
8
9
  import * as RpcClient from "effect/unstable/rpc/RpcClient";
@@ -32,10 +33,10 @@ export const layerClientProtocol = /*#__PURE__*/Layer.effect(Runners.RpcClientPr
32
33
  */
33
34
  export const layerSocketServer = /*#__PURE__*/Effect.gen(function* () {
34
35
  const config = yield* ShardingConfig.ShardingConfig;
35
- const listenAddress = config.runnerListenAddress ?? config.runnerAddress;
36
- if (listenAddress === undefined) {
36
+ const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress);
37
+ if (Option.isNone(listenAddress)) {
37
38
  return yield* Effect.die("layerSocketServer: ShardingConfig.runnerListenAddress is None");
38
39
  }
39
- return NodeSocketServer.layer(listenAddress);
40
+ return NodeSocketServer.layer(listenAddress.value);
40
41
  }).pipe(Layer.unwrap);
41
42
  //# sourceMappingURL=NodeClusterSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","runnerListenAddress","runnerAddress","undefined","die","layer","unwrap"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AACxE,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAI5BR,KAAK,CAACS,MAAM,CAACR,OAAO,CAACS,iBAAiB,CAAC,cACzCX,MAAM,CAACY,GAAG,CAAC,aAAS;EAClB,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,OAAOL,MAAM,CAACc,UAAU,CAAC,WAAUC,OAAO;IACxC,MAAMC,MAAM,GAAG,OAAOT,UAAU,CAACU,OAAO,CAAC;MACvCC,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEL,OAAO,CAACK,IAAI;MAClBC,IAAI,EAAEN,OAAO,CAACM;KACf,CAAC;IACF,OAAO,OAAOjB,SAAS,CAACkB,kBAAkB,EAAE,CAACC,IAAI,CAC/CvB,MAAM,CAACwB,cAAc,CAAClB,MAAM,EAAEU,MAAM,CAAC,EACrChB,MAAM,CAACwB,cAAc,CAACnB,gBAAgB,CAACA,gBAAgB,EAAEQ,aAAa,CAAC,CACxE;EACH,CAAC,EAAEb,MAAM,CAACyB,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAI1B1B,MAAM,CAACY,GAAG,CAAC,aAAS;EACtB,MAAMe,MAAM,GAAG,OAAOxB,cAAc,CAACA,cAAc;EACnD,MAAMyB,aAAa,GAAGD,MAAM,CAACE,mBAAmB,IAAIF,MAAM,CAACG,aAAa;EACxE,IAAIF,aAAa,KAAKG,SAAS,EAAE;IAC/B,OAAO,OAAO/B,MAAM,CAACgC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAOxB,gBAAgB,CAACyB,KAAK,CAACL,aAAa,CAAC;AAC9C,CAAC,CAAC,CAACL,IAAI,CAACtB,KAAK,CAACiC,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Option","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","layer","value","unwrap"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AACxE,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAI5BT,KAAK,CAACU,MAAM,CAACR,OAAO,CAACS,iBAAiB,CAAC,cACzCZ,MAAM,CAACa,GAAG,CAAC,aAAS;EAClB,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,OAAON,MAAM,CAACe,UAAU,CAAC,WAAUC,OAAO;IACxC,MAAMC,MAAM,GAAG,OAAOT,UAAU,CAACU,OAAO,CAAC;MACvCC,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEL,OAAO,CAACK,IAAI;MAClBC,IAAI,EAAEN,OAAO,CAACM;KACf,CAAC;IACF,OAAO,OAAOjB,SAAS,CAACkB,kBAAkB,EAAE,CAACC,IAAI,CAC/CxB,MAAM,CAACyB,cAAc,CAAClB,MAAM,EAAEU,MAAM,CAAC,EACrCjB,MAAM,CAACyB,cAAc,CAACnB,gBAAgB,CAACA,gBAAgB,EAAEQ,aAAa,CAAC,CACxE;EACH,CAAC,EAAEd,MAAM,CAAC0B,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAI1B3B,MAAM,CAACa,GAAG,CAAC,aAAS;EACtB,MAAMe,MAAM,GAAG,OAAOxB,cAAc,CAACA,cAAc;EACnD,MAAMyB,aAAa,GAAG3B,MAAM,CAAC4B,MAAM,CAACF,MAAM,CAACG,mBAAmB,EAAE,MAAMH,MAAM,CAACI,aAAa,CAAC;EAC3F,IAAI9B,MAAM,CAAC+B,MAAM,CAACJ,aAAa,CAAC,EAAE;IAChC,OAAO,OAAO7B,MAAM,CAACkC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAOzB,gBAAgB,CAAC0B,KAAK,CAACN,aAAa,CAACO,KAAK,CAAC;AACpD,CAAC,CAAC,CAACZ,IAAI,CAACvB,KAAK,CAACoC,MAAM,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAmnBrC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
1
+ {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAonBrC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
@@ -120,7 +120,7 @@ const makeFile = /*#__PURE__*/(() => {
120
120
  [FileSystem.FileTypeId];
121
121
  fd;
122
122
  append;
123
- position = 0n;
123
+ position = /*#__PURE__*/BigInt(0);
124
124
  constructor(fd, append) {
125
125
  this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
126
126
  this.fd = fd;
@@ -166,15 +166,15 @@ const makeFile = /*#__PURE__*/(() => {
166
166
  position
167
167
  }), bytesRead => {
168
168
  if (bytesRead === 0) {
169
- return undefined;
169
+ return Option.none();
170
170
  }
171
171
  this.position = position + BigInt(bytesRead);
172
172
  if (bytesRead === sizeNumber) {
173
- return buffer;
173
+ return Option.some(buffer);
174
174
  }
175
175
  const dst = Buffer.allocUnsafeSlow(bytesRead);
176
176
  buffer.copy(dst, 0, 0, bytesRead);
177
- return dst;
177
+ return Option.some(dst);
178
178
  });
179
179
  });
180
180
  }
@@ -285,19 +285,19 @@ const rename = /*#__PURE__*/(() => {
285
285
  // == stat
286
286
  const makeFileInfo = stat => ({
287
287
  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,
288
+ mtime: Option.fromNullishOr(stat.mtime),
289
+ atime: Option.fromNullishOr(stat.atime),
290
+ birthtime: Option.fromNullishOr(stat.birthtime),
291
291
  dev: stat.dev,
292
- rdev: stat.rdev,
293
- ino: stat.ino,
292
+ rdev: Option.fromNullishOr(stat.rdev),
293
+ ino: Option.fromNullishOr(stat.ino),
294
294
  mode: stat.mode,
295
- nlink: stat.nlink,
296
- uid: stat.uid,
297
- gid: stat.gid,
295
+ nlink: Option.fromNullishOr(stat.nlink),
296
+ uid: Option.fromNullishOr(stat.uid),
297
+ gid: Option.fromNullishOr(stat.gid),
298
298
  size: FileSystem.Size(stat.size),
299
- blksize: FileSystem.Size(stat.blksize),
300
- blocks: stat.blocks
299
+ blksize: stat.blksize !== undefined ? Option.some(FileSystem.Size(stat.blksize)) : Option.none(),
300
+ blocks: Option.fromNullishOr(stat.blocks)
301
301
  });
302
302
  const stat = /*#__PURE__*/(() => {
303
303
  const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
@@ -320,7 +320,9 @@ const utimes = /*#__PURE__*/(() => {
320
320
  })();
321
321
  // == watch
322
322
  const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
323
- const watcher = NFS.watch(path, {}, (event, path) => {
323
+ const watcher = NFS.watch(path, {
324
+ recursive: true
325
+ }, (event, path) => {
324
326
  if (!path) return;
325
327
  switch (event) {
326
328
  case "rename":
@@ -361,13 +363,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
361
363
  });
362
364
  return watcher;
363
365
  }), 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);
366
+ const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
371
367
  // == writeFile
372
368
  const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
373
369
  try {
@@ -410,7 +406,7 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
410
406
  truncate,
411
407
  utimes,
412
408
  watch(path) {
413
- return watch(Option.getOrUndefined(backend), path);
409
+ return watch(backend, path);
414
410
  },
415
411
  writeFile
416
412
  }));