@effect/platform-node-shared 4.0.0-beta.43 → 4.0.0-beta.45
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.
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/dist/NodeChildProcessSpawner.js +71 -10
- package/dist/NodeChildProcessSpawner.js.map +1 -1
- package/dist/NodeSocket.d.ts +2 -2
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +6 -6
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.d.ts.map +1 -1
- package/dist/NodeSocketServer.js +6 -6
- package/dist/NodeSocketServer.js.map +1 -1
- package/dist/NodeStream.d.ts.map +1 -1
- package/dist/NodeStream.js +4 -4
- package/dist/NodeStream.js.map +1 -1
- package/package.json +3 -3
- package/src/NodeChildProcessSpawner.ts +89 -19
- package/src/NodeSocket.ts +6 -6
- package/src/NodeSocketServer.ts +6 -6
- package/src/NodeStream.ts +5 -5
|
@@ -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,EACL,mBAAmB,EAKpB,MAAM,6CAA6C,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"}
|
|
@@ -258,6 +258,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
258
258
|
catch: error => toPlatformError("kill", toError(error), command)
|
|
259
259
|
});
|
|
260
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
|
+
};
|
|
261
274
|
const killProcess = (command, childProcess, signal) => Effect.suspend(() => {
|
|
262
275
|
const killed = childProcess.kill(signal);
|
|
263
276
|
if (!killed) {
|
|
@@ -306,6 +319,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
306
319
|
const stdoutConfig = resolveOutputOption(cmd.options, "stdout");
|
|
307
320
|
const stderrConfig = resolveOutputOption(cmd.options, "stderr");
|
|
308
321
|
const resolvedAdditionalFds = resolveAdditionalFds(cmd.options);
|
|
322
|
+
let isReferenced = true;
|
|
323
|
+
let cleanupOnNonZeroExit = false;
|
|
309
324
|
const cwd = yield* resolveWorkingDirectory(cmd.options);
|
|
310
325
|
const env = resolveEnvironment(cmd.options);
|
|
311
326
|
const stdio = buildStdioArray(stdinConfig, stdoutConfig, stderrConfig, resolvedAdditionalFds);
|
|
@@ -327,10 +342,33 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
327
342
|
}
|
|
328
343
|
return yield* Effect.void;
|
|
329
344
|
}
|
|
345
|
+
if (!isReferenced) {
|
|
346
|
+
return yield* Effect.void;
|
|
347
|
+
}
|
|
330
348
|
// Process is still running, kill it
|
|
331
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);
|
|
332
350
|
}));
|
|
333
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
|
+
});
|
|
334
372
|
const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig);
|
|
335
373
|
const {
|
|
336
374
|
all,
|
|
@@ -366,7 +404,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
366
404
|
stderr,
|
|
367
405
|
all,
|
|
368
406
|
getInputFd,
|
|
369
|
-
getOutputFd
|
|
407
|
+
getOutputFd,
|
|
408
|
+
unref
|
|
370
409
|
});
|
|
371
410
|
}
|
|
372
411
|
case "PipedCommand":
|
|
@@ -376,31 +415,31 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
376
415
|
pipeOptions
|
|
377
416
|
} = flattenCommand(cmd);
|
|
378
417
|
const [root, ...pipeline] = commands;
|
|
379
|
-
|
|
418
|
+
const handles = [yield* spawnCommand(root)];
|
|
380
419
|
for (let i = 0; i < pipeline.length; i++) {
|
|
381
420
|
const command = pipeline[i];
|
|
382
421
|
const options = pipeOptions[i] ?? {};
|
|
383
422
|
const stdinConfig = resolveStdinOption(command.options);
|
|
384
423
|
// Get the appropriate stream from the source based on `from` option
|
|
385
|
-
const sourceStream = Stream.unwrap(Effect.
|
|
424
|
+
const sourceStream = Stream.unwrap(Effect.succeed(getSourceStream(handles[handles.length - 1], options.from)));
|
|
386
425
|
// Determine where to pipe: stdin or custom fd
|
|
387
426
|
const toOption = options.to ?? "stdin";
|
|
388
427
|
if (toOption === "stdin") {
|
|
389
428
|
// Pipe to stdin (default behavior)
|
|
390
|
-
|
|
429
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
391
430
|
...command.options,
|
|
392
431
|
stdin: {
|
|
393
432
|
...stdinConfig,
|
|
394
433
|
stream: sourceStream
|
|
395
434
|
}
|
|
396
|
-
}));
|
|
435
|
+
})));
|
|
397
436
|
} else {
|
|
398
437
|
// Pipe to custom fd (fd3, fd4, etc.)
|
|
399
438
|
const fd = ChildProcess.parseFdName(toOption);
|
|
400
439
|
if (Predicate.isNotUndefined(fd)) {
|
|
401
440
|
const fdName = ChildProcess.fdName(fd);
|
|
402
441
|
const existingFds = command.options.additionalFds ?? {};
|
|
403
|
-
|
|
442
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
404
443
|
...command.options,
|
|
405
444
|
additionalFds: {
|
|
406
445
|
...existingFds,
|
|
@@ -409,20 +448,42 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
409
448
|
stream: sourceStream
|
|
410
449
|
}
|
|
411
450
|
}
|
|
412
|
-
}));
|
|
451
|
+
})));
|
|
413
452
|
} else {
|
|
414
453
|
// Invalid fd name, fall back to stdin
|
|
415
|
-
|
|
454
|
+
handles.push(yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
416
455
|
...command.options,
|
|
417
456
|
stdin: {
|
|
418
457
|
...stdinConfig,
|
|
419
458
|
stream: sourceStream
|
|
420
459
|
}
|
|
421
|
-
}));
|
|
460
|
+
})));
|
|
422
461
|
}
|
|
423
462
|
}
|
|
424
463
|
}
|
|
425
|
-
|
|
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
|
+
});
|
|
426
487
|
}
|
|
427
488
|
}
|
|
428
489
|
});
|
|
@@ -1 +1 @@
|
|
|
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","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","orElse","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","pipe","andThen","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","sourceStream","unwrap","h","toOption","to","fdName","existingFds","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":[]}
|
package/dist/NodeSocket.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Array } from "effect";
|
|
5
5
|
import * as Channel from "effect/Channel";
|
|
6
|
+
import * as Context from "effect/Context";
|
|
6
7
|
import type * as Duration from "effect/Duration";
|
|
7
8
|
import * as Effect from "effect/Effect";
|
|
8
9
|
import * as Layer from "effect/Layer";
|
|
9
10
|
import * as Scope from "effect/Scope";
|
|
10
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
11
11
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
12
12
|
import * as Net from "node:net";
|
|
13
13
|
import type { Duplex } from "node:stream";
|
|
@@ -16,7 +16,7 @@ import type { Duplex } from "node:stream";
|
|
|
16
16
|
* @category re-exports
|
|
17
17
|
*/
|
|
18
18
|
export * as NodeWS from "ws";
|
|
19
|
-
declare const NetSocket_base:
|
|
19
|
+
declare const NetSocket_base: Context.ServiceClass<NetSocket, "@effect/platform-node/NodeSocket/NetSocket", Net.Socket>;
|
|
20
20
|
/**
|
|
21
21
|
* @since 1.0.0
|
|
22
22
|
* @category tags
|
package/dist/NodeSocket.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,IAAI,CAAA;;AAE5B;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAEJ;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,SAAS,GAAG,CAAC,cAAc,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAmC3B,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,EAAE,EAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,EACnD,UAAU;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CA6H3D,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,GAAG,KAAK,EACvC,SAAS,GAAG,CAAC,cAAc,KAC1B,OAAO,CAAC,OAAO,CAChB,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,EACvC,MAAM,CAAC,WAAW,GAAG,EAAE,EACvB,IAAI,EACJ,KAAK,CAAC,qBAAqB,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EACpE,EAAE,CAID,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,CACjE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,CACmC,CAAA"}
|
package/dist/NodeSocket.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Channel from "effect/Channel";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
2
3
|
import * as Deferred from "effect/Deferred";
|
|
3
4
|
import * as Effect from "effect/Effect";
|
|
4
5
|
import * as FiberSet from "effect/FiberSet";
|
|
@@ -7,7 +8,6 @@ import { identity } from "effect/Function";
|
|
|
7
8
|
import * as Latch from "effect/Latch";
|
|
8
9
|
import * as Layer from "effect/Layer";
|
|
9
10
|
import * as Scope from "effect/Scope";
|
|
10
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
11
11
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
12
12
|
import * as Net from "node:net";
|
|
13
13
|
/**
|
|
@@ -19,14 +19,14 @@ export * as NodeWS from "ws";
|
|
|
19
19
|
* @since 1.0.0
|
|
20
20
|
* @category tags
|
|
21
21
|
*/
|
|
22
|
-
export class NetSocket extends /*#__PURE__*/
|
|
22
|
+
export class NetSocket extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeSocket/NetSocket") {}
|
|
23
23
|
/**
|
|
24
24
|
* @since 1.0.0
|
|
25
25
|
* @category constructors
|
|
26
26
|
*/
|
|
27
|
-
export const makeNet = options => fromDuplex(Effect.
|
|
27
|
+
export const makeNet = options => fromDuplex(Effect.contextWith(context => {
|
|
28
28
|
let conn;
|
|
29
|
-
return Effect.flatMap(Scope.addFinalizer(
|
|
29
|
+
return Effect.flatMap(Scope.addFinalizer(Context.get(context, Scope.Scope), Effect.sync(() => {
|
|
30
30
|
if (!conn) return;
|
|
31
31
|
if (conn.closed === false) {
|
|
32
32
|
if ("destroySoon" in conn) {
|
|
@@ -58,7 +58,7 @@ export const makeNet = options => fromDuplex(Effect.servicesWith(services => {
|
|
|
58
58
|
export const fromDuplex = (open, options) => Effect.withFiber(fiber => {
|
|
59
59
|
let currentSocket;
|
|
60
60
|
const latch = Latch.makeUnsafe(false);
|
|
61
|
-
const openServices = fiber.
|
|
61
|
+
const openServices = fiber.context;
|
|
62
62
|
const run = (handler, opts) => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
|
|
63
63
|
const fiberSet = yield* FiberSet.make().pipe(Scope.provide(scope));
|
|
64
64
|
let conn = undefined;
|
|
@@ -112,7 +112,7 @@ export const fromDuplex = (open, options) => Effect.withFiber(fiber => {
|
|
|
112
112
|
})
|
|
113
113
|
})));
|
|
114
114
|
}
|
|
115
|
-
})).pipe(Effect.
|
|
115
|
+
})).pipe(Effect.updateContext(input => Context.merge(openServices, input)), Effect.onExit(() => Effect.sync(() => {
|
|
116
116
|
latch.closeUnsafe();
|
|
117
117
|
currentSocket = undefined;
|
|
118
118
|
})));
|
package/dist/NodeSocket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSocket.js","names":["Channel","Deferred","Effect","FiberSet","Function","identity","Latch","Layer","Scope","
|
|
1
|
+
{"version":3,"file":"NodeSocket.js","names":["Channel","Context","Deferred","Effect","FiberSet","Function","identity","Latch","Layer","Scope","Socket","Net","NodeWS","NetSocket","Service","makeNet","options","fromDuplex","contextWith","context","conn","flatMap","addFinalizer","get","sync","closed","destroySoon","destroy","callback","resume","createConnection","once","succeed","on","cause","fail","SocketError","reason","SocketOpenError","kind","open","withFiber","fiber","currentSocket","latch","makeUnsafe","openServices","run","handler","opts","scopedWith","fnUntraced","scope","fiberSet","make","pipe","provide","undefined","off","onData","onEnd","onError","onClose","openTimeout","timeoutOrElse","duration","orElse","Error","provideService","runtime","openUnsafe","onOpen","join","chunk","result","isEffect","doneUnsafe","deferred","void","SocketReadError","hadError","SocketCloseError","code","updateContext","input","merge","onExit","closeUnsafe","write","whenOpen","isCloseEvent","SocketWriteError","writer","acquireRelease","writableEnded","end","of","TypeId","runRaw","makeNetChannel","unwrap","map","toChannelWith","layerNet","flow","effect"],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
1
2
|
import * as Effect from "effect/Effect";
|
|
2
3
|
import * as Layer from "effect/Layer";
|
|
3
4
|
import * as Scope from "effect/Scope";
|
|
4
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
5
5
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
6
6
|
import * as SocketServer from "effect/unstable/socket/SocketServer";
|
|
7
7
|
import type * as Http from "node:http";
|
|
8
8
|
import * as Net from "node:net";
|
|
9
9
|
import * as NodeSocket from "./NodeSocket.ts";
|
|
10
10
|
import { NodeWS } from "./NodeSocket.ts";
|
|
11
|
-
declare const IncomingMessage_base:
|
|
11
|
+
declare const IncomingMessage_base: Context.ServiceClass<IncomingMessage, "@effect/platform-node-shared/NodeSocketServer/IncomingMessage", Http.IncomingMessage>;
|
|
12
12
|
/**
|
|
13
13
|
* @since 1.0.0
|
|
14
14
|
* @category tags
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSocketServer.d.ts","sourceRoot":"","sources":["../src/NodeSocketServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeSocketServer.d.ts","sourceRoot":"","sources":["../src/NodeSocketServer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACnE,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;;AAExC;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAG+B;CAAG;AAEvE;;;GAGG;AACH,eAAO,MAAM,IAAI;;;+CA6Gf,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,KACxC,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACgC,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,CAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KAChF,MAAM,CAAC,MAAM,CAChB,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EACpC,YAAY,CAAC,iBAAiB,EAC9B,KAAK,CAAC,KAAK,CAyFX,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KACtG,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACyC,CAAA"}
|
package/dist/NodeSocketServer.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
1
2
|
import * as Deferred from "effect/Deferred";
|
|
2
3
|
import * as Effect from "effect/Effect";
|
|
3
4
|
import * as Exit from "effect/Exit";
|
|
@@ -7,7 +8,6 @@ import * as Function from "effect/Function";
|
|
|
7
8
|
import * as Layer from "effect/Layer";
|
|
8
9
|
import * as References from "effect/References";
|
|
9
10
|
import * as Scope from "effect/Scope";
|
|
10
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
11
11
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
12
12
|
import * as SocketServer from "effect/unstable/socket/SocketServer";
|
|
13
13
|
import * as Net from "node:net";
|
|
@@ -17,7 +17,7 @@ import { NodeWS } from "./NodeSocket.js";
|
|
|
17
17
|
* @since 1.0.0
|
|
18
18
|
* @category tags
|
|
19
19
|
*/
|
|
20
|
-
export class IncomingMessage extends /*#__PURE__*/
|
|
20
|
+
export class IncomingMessage extends /*#__PURE__*/Context.Service()("@effect/platform-node-shared/NodeSocketServer/IncomingMessage") {}
|
|
21
21
|
/**
|
|
22
22
|
* @since 1.0.0
|
|
23
23
|
* @category constructors
|
|
@@ -50,7 +50,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
50
50
|
}))));
|
|
51
51
|
const run = Effect.fnUntraced(function* (handler) {
|
|
52
52
|
const scope = yield* Scope.make();
|
|
53
|
-
const services =
|
|
53
|
+
const services = Context.omit(Scope.Scope)(yield* Effect.context());
|
|
54
54
|
const trackFiber = Fiber.runIn(scope);
|
|
55
55
|
const prevOnConnection = onConnection;
|
|
56
56
|
onConnection = function (conn) {
|
|
@@ -78,7 +78,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
78
78
|
if (conn.closed === false) {
|
|
79
79
|
conn.destroySoon();
|
|
80
80
|
}
|
|
81
|
-
}))), Effect.flatMap(handler), Effect.catchCause(reportUnhandledError), Effect.runForkWith(
|
|
81
|
+
}))), Effect.flatMap(handler), Effect.catchCause(reportUnhandledError), Effect.runForkWith(Context.add(services, NodeSocket.NetSocket, conn)), trackFiber);
|
|
82
82
|
};
|
|
83
83
|
pending.forEach(conn => {
|
|
84
84
|
conn.removeAllListeners("error");
|
|
@@ -143,7 +143,7 @@ export const makeWebSocket = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
143
143
|
});
|
|
144
144
|
const run = Effect.fnUntraced(function* (handler) {
|
|
145
145
|
const scope = yield* Scope.make();
|
|
146
|
-
const services =
|
|
146
|
+
const services = Context.omit(Scope.Scope)(yield* Effect.context());
|
|
147
147
|
const trackFiber = Fiber.runIn(scope);
|
|
148
148
|
const prevOnConnection = onConnection;
|
|
149
149
|
onConnection = function (conn, req) {
|
|
@@ -152,7 +152,7 @@ export const makeWebSocket = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
152
152
|
map.set(Socket.WebSocket.key, conn);
|
|
153
153
|
pipe(Socket.fromWebSocket(Effect.acquireRelease(Effect.succeed(conn), conn => Effect.sync(() => {
|
|
154
154
|
conn.close();
|
|
155
|
-
}))), Effect.flatMap(handler), Effect.catchCause(reportUnhandledError), Effect.runForkWith(
|
|
155
|
+
}))), Effect.flatMap(handler), Effect.catchCause(reportUnhandledError), Effect.runForkWith(Context.makeUnsafe(map)), trackFiber);
|
|
156
156
|
};
|
|
157
157
|
for (const [conn, req] of pendingConnections) {
|
|
158
158
|
onConnection(conn, req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSocketServer.js","names":["Deferred","Effect","Exit","Fiber","pipe","Function","Layer","References","Scope","
|
|
1
|
+
{"version":3,"file":"NodeSocketServer.js","names":["Context","Deferred","Effect","Exit","Fiber","pipe","Function","Layer","References","Scope","Socket","SocketServer","Net","NodeSocket","NodeWS","IncomingMessage","Service","make","fnUntraced","options","errorDeferred","makeUnsafe","pending","Set","defaultOnConnection","conn","add","remove","delete","on","onConnection","server","addFinalizer","callback","resume","close","void","createServer","err","doneUnsafe","fail","listen","raceFirst","mapError","await","SocketServerError","reason","SocketServerOpenError","cause","run","handler","scope","services","omit","context","trackFiber","runIn","prevOnConnection","error","fromDuplex","acquireRelease","suspend","SocketError","SocketOpenError","kind","closed","SocketCloseError","code","succeed","sync","destroySoon","flatMap","catchCause","reportUnhandledError","runForkWith","NetSocket","forEach","removeAllListeners","clear","_resume","address","of","_tag","path","hostname","port","layer","flow","effect","makeWebSocket","WebSocketServer","pendingConnections","defaultHandler","req","entry","addEventListener","once","map","Map","mapUnsafe","set","key","WebSocket","fromWebSocket","ensuring","layerWebSocket","withFiber","fiber","unhandledLogLevel","getRef","UnhandledLogLevel","logWithLevel"],"sources":["../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/NodeStream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"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"}
|
package/dist/NodeStream.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Arr from "effect/Array";
|
|
5
5
|
import * as Cause from "effect/Cause";
|
|
6
6
|
import * as Channel from "effect/Channel";
|
|
7
|
+
import * as Context from "effect/Context";
|
|
7
8
|
import * as Effect from "effect/Effect";
|
|
8
9
|
import * as Exit from "effect/Exit";
|
|
9
10
|
import * as Fiber from "effect/Fiber";
|
|
@@ -12,7 +13,6 @@ import * as Latch from "effect/Latch";
|
|
|
12
13
|
import * as MutableRef from "effect/MutableRef";
|
|
13
14
|
import * as Pull from "effect/Pull";
|
|
14
15
|
import * as Scope from "effect/Scope";
|
|
15
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
16
16
|
import * as Stream from "effect/Stream";
|
|
17
17
|
import { Readable } from "node:stream";
|
|
18
18
|
import { pullIntoWritable } from "./NodeSink.js";
|
|
@@ -73,12 +73,12 @@ export const pipeThroughSimple = /*#__PURE__*/dual(2, (self, duplex) => pipeThro
|
|
|
73
73
|
* @since 1.0.0
|
|
74
74
|
* @category conversions
|
|
75
75
|
*/
|
|
76
|
-
export const toReadable = stream => Effect.map(Effect.
|
|
76
|
+
export const toReadable = stream => Effect.map(Effect.context(), context => new StreamAdapter(context, stream));
|
|
77
77
|
/**
|
|
78
78
|
* @since 1.0.0
|
|
79
79
|
* @category conversions
|
|
80
80
|
*/
|
|
81
|
-
export const toReadableNever = stream => new StreamAdapter(
|
|
81
|
+
export const toReadableNever = stream => new StreamAdapter(Context.empty(), stream);
|
|
82
82
|
/**
|
|
83
83
|
* @since 1.0.0
|
|
84
84
|
* @category conversions
|
|
@@ -225,7 +225,7 @@ class StreamAdapter extends Readable {
|
|
|
225
225
|
this.push(item);
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
-
}))).pipe(this.readLatch.whenOpen, Effect.
|
|
228
|
+
}))).pipe(this.readLatch.whenOpen, Effect.provideContext(context), Effect.runFork);
|
|
229
229
|
this.fiber.addObserver(exit => {
|
|
230
230
|
this.fiber = undefined;
|
|
231
231
|
if (Exit.isSuccess(exit)) {
|
package/dist/NodeStream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","ServiceMap","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","services","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffer","alloc","slice","byteOffset","concat","length","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","push","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideServices","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,IAAI,QAAsB,iBAAiB;AACpD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,gBAAgB,QAAQ,eAAe;AAEhD;;;;AAIA,OAAO,MAAMC,YAAY,GAA4CC,OAMpE,IAA0BJ,MAAM,CAACK,WAAW,CAACC,mBAAmB,CAAOF,OAAO,CAAC,CAAC;AAEjF;;;;AAIA,OAAO,MAAME,mBAAmB,GAA4CF,OAK3E,IACCd,OAAO,CAACiB,aAAa,CAAC,CAACC,CAAC,EAAEC,KAAK,KAC7BC,oBAAoB,CAAC;EACnBD,KAAK;EACLE,QAAQ,EAAEP,OAAO,CAACQ,QAAQ,EAAE;EAC5BC,OAAO,EAAET,OAAO,CAACS,OAAO,IAAIC,cAAqB;EACjDC,SAAS,EAAEX,OAAO,CAACW,SAAS;EAC5BC,WAAW,EAAEZ,OAAO,CAACY;CACtB,CAAC,CACH;AAEH;;;;AAIA,OAAO,MAAMC,UAAU,GACrBb,OAOC,IAEDd,OAAO,CAACiB,aAAa,CAAC,CAACW,QAAQ,EAAET,KAAK,KAAI;EACxC,MAAMU,MAAM,GAAGf,OAAO,CAACQ,QAAQ,EAAE;EACjC,MAAMQ,IAAI,GAAGxB,UAAU,CAACyB,IAAI,CAAoDC,SAAS,CAAC;EAE1F,OAAOpB,gBAAgB,CAAC;IACtBqB,IAAI,EAAEL,QAAQ;IACdM,QAAQ,EAAEL,MAAM;IAChBN,OAAO,EAAET,OAAO,CAACS,OAAO,IAAIC,cAAqB;IACjDW,SAAS,EAAErB,OAAO,CAACqB,SAAS;IAC5BC,QAAQ,EAAEtB,OAAO,CAACsB;GACnB,CAAC,CAACC,IAAI,CACLpC,MAAM,CAACqC,UAAU,CAAEC,KAAK,IAAI;IAC1B,IAAIhC,IAAI,CAACiC,WAAW,CAACD,KAAK,CAAC,EAAE,OAAOtC,MAAM,CAACwC,IAAI;IAC/CX,IAAI,CAACY,OAAO,GAAGxC,IAAI,CAACyC,SAAS,CAACJ,KAAyC,CAAC;IACxE,OAAOtC,MAAM,CAACwC,IAAI;EACpB,CAAC,CAAC,EACFxC,MAAM,CAAC2C,MAAM,CAACzB,KAAK,CAAC,EACpBlB,MAAM,CAAC4C,OAAO,CAAC,MACbzB,oBAAoB,CAAC;IACnBD,KAAK;IACLW,IAAI;IACJT,QAAQ,EAAEQ,MAAM;IAChBN,OAAO,EAAET,OAAO,CAACS,OAAO,IAAIC,cAAqB;IACjDC,SAAS,EAAEX,OAAO,CAACW;GACpB,CAAC,CACH,CACF;AACH,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAMqB,iBAAiB,gBA8B1B1C,IAAI,CAAC,CAAC,EAAE,CACV2C,IAA4B,EAC5BjC,OAOC,KAEDJ,MAAM,CAACsC,wBAAwB,CAC7BD,IAAI,EACJpB,UAAU,CAACb,OAAO,CAAC,CACpB,CAAC;AAEJ;;;;AAIA,OAAO,MAAMmC,iBAAiB,gBAW1B7C,IAAI,CAAC,CAAC,EAAE,CACV2C,IAA8C,EAC9ClB,MAAuB,KACkCiB,iBAAiB,CAACC,IAAI,EAAE;EAAEzB,QAAQ,EAAEO;AAAM,CAAE,CAAC,CAAC;AAEzG;;;;AAIA,OAAO,MAAMqB,UAAU,GAAUC,MAAgD,IAC/ElD,MAAM,CAACmD,GAAG,CACRnD,MAAM,CAACoD,QAAQ,EAAK,EACnBC,OAAO,IAAK,IAAIC,aAAa,CAACD,OAAO,EAAEH,MAAM,CAAC,CAChD;AAEH;;;;AAIA,OAAO,MAAMK,eAAe,GAAOL,MAAoD,IACrF,IAAII,aAAa,CACf9C,UAAU,CAACgD,KAAK,EAAE,EAClBN,MAAM,CACP;AAEH;;;;AAIA,OAAO,MAAMO,QAAQ,GAAGA,CACtBrC,QAAmD,EACnDP,OAIC,KAC2B;EAC5B,MAAM6C,cAAc,GAAG7C,OAAO,EAAE8C,QAAQ,GAAGC,MAAM,CAAC/C,OAAO,CAAC8C,QAAQ,CAAC,GAAG5B,SAAS;EAC/E,MAAMT,OAAO,GAAGT,OAAO,EAAES,OAAO,IAAIC,cAAc;EAClD,MAAMY,QAAQ,GAAGtB,OAAO,EAAEsB,QAAQ,IAAI,MAAM;EAC5C,OAAOnC,MAAM,CAAC6D,QAAQ,CAAEC,MAAM,IAAI;IAChC,MAAMZ,MAAM,GAAG9B,QAAQ,EAAc;IACrC8B,MAAM,CAACa,WAAW,CAAC5B,QAAQ,CAAC;IAE5Be,MAAM,CAACc,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;MAC3B,IAAI,QAAQ,IAAIf,MAAM,IAAI,CAACA,MAAM,CAACgB,MAAM,EAAE;QACxChB,MAAM,CAACiB,OAAO,EAAE;MAClB;MACAL,MAAM,CAAC9D,MAAM,CAACoE,IAAI,CAAC9C,OAAO,CAAC2C,GAAG,CAAM,CAAC,CAAC;IACxC,CAAC,CAAC;IACFf,MAAM,CAACc,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;MAC3BH,MAAM,CAAC9D,MAAM,CAACoE,IAAI,CAAC9C,OAAO,CAAC2C,GAAG,CAAM,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,IAAII,MAAM,GAAG,EAAE;IACf,IAAIC,KAAK,GAAG,CAAC;IACbpB,MAAM,CAACc,IAAI,CAAC,KAAK,EAAE,MAAK;MACtBF,MAAM,CAAC9D,MAAM,CAACuE,OAAO,CAACF,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IACFnB,MAAM,CAACsB,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAI;MAC1BJ,MAAM,IAAII,KAAK;MACfH,KAAK,IAAII,MAAM,CAACC,UAAU,CAACF,KAAK,CAAC;MACjC,IAAIf,cAAc,IAAIY,KAAK,GAAGZ,cAAc,EAAE;QAC5CI,MAAM,CAAC9D,MAAM,CAACoE,IAAI,CAAC9C,OAAO,CAAC,IAAIsD,KAAK,CAAC,mBAAmB,CAAC,CAAM,CAAC,CAAC;MACnE;IACF,CAAC,CAAC;IACF,OAAO5E,MAAM,CAAC6E,IAAI,CAAC,MAAK;MACtB,IAAI,QAAQ,IAAI3B,MAAM,IAAI,CAACA,MAAM,CAACgB,MAAM,EAAE;QACxChB,MAAM,CAACiB,OAAO,EAAE;MAClB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMW,aAAa,GAAGA,CAC3B1D,QAAmD,EACnDP,OAGC,KACgC;EACjC,MAAM6C,cAAc,GAAG7C,OAAO,EAAE8C,QAAQ,GAAGC,MAAM,CAAC/C,OAAO,CAAC8C,QAAQ,CAAC,GAAG5B,SAAS;EAC/E,MAAMT,OAAO,GAAGT,OAAO,EAAES,OAAO,IAAIC,cAAc;EAClD,OAAOvB,MAAM,CAAC6D,QAAQ,CAAEC,MAAM,IAAI;IAChC,MAAMZ,MAAM,GAAG9B,QAAQ,EAAc;IACrC,IAAI2D,MAAM,GAAGL,MAAM,CAACM,KAAK,CAAC,CAAC,CAAC;IAC5B,IAAIV,KAAK,GAAG,CAAC;IACbpB,MAAM,CAACc,IAAI,CAAC,OAAO,EAAGC,GAAG,IAAI;MAC3B,IAAI,QAAQ,IAAIf,MAAM,IAAI,CAACA,MAAM,CAACgB,MAAM,EAAE;QACxChB,MAAM,CAACiB,OAAO,EAAE;MAClB;MACAL,MAAM,CAAC9D,MAAM,CAACoE,IAAI,CAAC9C,OAAO,CAAC2C,GAAG,CAAM,CAAC,CAAC;IACxC,CAAC,CAAC;IACFf,MAAM,CAACc,IAAI,CAAC,KAAK,EAAE,MAAK;MACtB,IAAIe,MAAM,CAACA,MAAM,CAACJ,UAAU,KAAKI,MAAM,CAACJ,UAAU,EAAE;QAClD,OAAOb,MAAM,CAAC9D,MAAM,CAACuE,OAAO,CAACQ,MAAM,CAACA,MAAM,CAAC,CAAC;MAC9C;MACAjB,MAAM,CAAC9D,MAAM,CAACuE,OAAO,CAACQ,MAAM,CAACA,MAAM,CAACE,KAAK,CAACF,MAAM,CAACG,UAAU,EAAEH,MAAM,CAACG,UAAU,GAAGH,MAAM,CAACJ,UAAU,CAAC,CAAC,CAAC;IACvG,CAAC,CAAC;IACFzB,MAAM,CAACsB,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAI;MAC1BM,MAAM,GAAGL,MAAM,CAACS,MAAM,CAAC,CAACJ,MAAM,EAAEN,KAAK,CAAC,CAAC;MACvCH,KAAK,IAAIG,KAAK,CAACW,MAAM;MACrB,IAAI1B,cAAc,IAAIY,KAAK,GAAGZ,cAAc,EAAE;QAC5CI,MAAM,CAAC9D,MAAM,CAACoE,IAAI,CAAC9C,OAAO,CAAC,IAAIsD,KAAK,CAAC,mBAAmB,CAAC,CAAM,CAAC,CAAC;MACnE;IACF,CAAC,CAAC;IACF,OAAO5E,MAAM,CAAC6E,IAAI,CAAC,MAAK;MACtB,IAAI,QAAQ,IAAI3B,MAAM,IAAI,CAACA,MAAM,CAACgB,MAAM,EAAE;QACxChB,MAAM,CAACiB,OAAO,EAAE;MAClB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMkB,YAAY,GAAGA,CAC1BjE,QAAmD,EACnDP,OAGC,KACgCb,MAAM,CAACmD,GAAG,CAAC2B,aAAa,CAAC1D,QAAQ,EAAEP,OAAO,CAAC,EAAGkE,MAAM,IAAK,IAAIO,UAAU,CAACP,MAAM,CAAC,CAAC;AAEnH;AACA;AACA;AAEA,MAAM5D,oBAAoB,GAAUN,OAOnC,IAAI;EACH,MAAMO,QAAQ,GAAGP,OAAO,CAACO,QAAoB;EAC7C,IAAIA,QAAQ,CAACmE,aAAa,EAAE,OAAOvF,MAAM,CAACuE,OAAO,CAACzE,KAAK,CAAC0F,IAAI,EAAE,CAAC;EAE/D,MAAM/D,WAAW,GAAGZ,OAAO,CAACY,WAAW,IAAI,IAAI;EAC/C,MAAMI,IAAI,GAAGhB,OAAO,CAACgB,IAAI,IAAIxB,UAAU,CAACyB,IAAI,CAACC,SAAS,CAAC;EACvD,MAAM0D,KAAK,GAAGrF,KAAK,CAACsF,UAAU,CAAC,KAAK,CAAC;EACrC,SAASC,UAAUA,CAAA;IACjBF,KAAK,CAACG,UAAU,EAAE;EACpB;EACA,SAAStE,OAAOA,CAACuE,KAAc;IAC7BhE,IAAI,CAACY,OAAO,GAAGxC,IAAI,CAACmE,IAAI,CAACvD,OAAO,CAACS,OAAO,CAACuE,KAAK,CAAC,CAAC;IAChDJ,KAAK,CAACG,UAAU,EAAE;EACpB;EACA,SAASE,KAAKA,CAAA;IACZjE,IAAI,CAACY,OAAO,GAAGxC,IAAI,CAACmE,IAAI,CAACtE,KAAK,CAACiG,IAAI,EAAE,CAAC;IACtCN,KAAK,CAACG,UAAU,EAAE;EACpB;EACAxE,QAAQ,CAACoD,EAAE,CAAC,UAAU,EAAEmB,UAAU,CAAC;EACnCvE,QAAQ,CAAC4C,IAAI,CAAC,OAAO,EAAE1C,OAAO,CAAC;EAC/BF,QAAQ,CAAC4C,IAAI,CAAC,KAAK,EAAE8B,KAAK,CAAC;EAE3B,MAAM9D,IAAI,GAAGhC,MAAM,CAACgG,OAAO,CAAC,SAASC,IAAIA,CAAA;IACvC,IAAIC,IAAI,GAAGrF,OAAO,CAACO,QAAQ,CAAC+E,IAAI,CAACtF,OAAO,CAACW,SAAS,CAAa;IAC/D,IAAI0E,IAAI,KAAK,IAAI,EAAE;MACjB,IAAIrE,IAAI,CAACY,OAAO,EAAE;QAChB,OAAOZ,IAAI,CAACY,OAAO;MACrB;MACAgD,KAAK,CAACW,WAAW,EAAE;MACnB,OAAOpG,MAAM,CAAC4C,OAAO,CAAC6C,KAAK,CAACY,KAAK,EAAEJ,IAAI,CAAC;IAC1C;IACA,MAAMxB,KAAK,GAAG5E,GAAG,CAACyG,EAAE,CAACJ,IAAS,CAAC;IAC/B,OAAO,IAAI,EAAE;MACXA,IAAI,GAAGrF,OAAO,CAACO,QAAQ,CAAC+E,IAAI,CAACtF,OAAO,CAACW,SAAS,CAAC;MAC/C,IAAI0E,IAAI,KAAK,IAAI,EAAE;MACnBzB,KAAK,CAAC8B,IAAI,CAACL,IAAI,CAAC;IAClB;IACA,OAAOlG,MAAM,CAACuE,OAAO,CAACE,KAAK,CAAC;EAC9B,CAAC,CAAC;EAEF,OAAOzE,MAAM,CAACwG,EAAE,CACdjG,KAAK,CAACkG,YAAY,CAChB5F,OAAO,CAACK,KAAK,EACblB,MAAM,CAAC6E,IAAI,CAAC,MAAK;IACfzD,QAAQ,CAACsF,GAAG,CAAC,UAAU,EAAEf,UAAU,CAAC;IACpCvE,QAAQ,CAACsF,GAAG,CAAC,OAAO,EAAEpF,OAAO,CAAC;IAC9BF,QAAQ,CAACsF,GAAG,CAAC,KAAK,EAAEZ,KAAK,CAAC;IAC1B,IAAIrE,WAAW,IAAI,QAAQ,IAAIZ,OAAO,CAACO,QAAQ,IAAI,CAACP,OAAO,CAACO,QAAQ,CAAC8C,MAAM,EAAE;MAC3ErD,OAAO,CAACO,QAAQ,CAAC+C,OAAO,EAAE;IAC5B;EACF,CAAC,CAAC,CACH,EACDnC,IAAI,CACL;AACH,CAAC;AAED,MAAMsB,aAAoB,SAAQ5C,QAAQ;EACvBiG,SAAS;EAClBC,KAAK,GAAqC7E,SAAS;EAE3D8E,YACExD,OAAiC,EACjCH,MAAgD;IAEhD,KAAK,CAAC,EAAE,CAAC;IACT,IAAI,CAACyD,SAAS,GAAGvG,KAAK,CAACsF,UAAU,CAAC,KAAK,CAAC;IACxC,IAAI,CAACkB,KAAK,GAAGnG,MAAM,CAACqG,eAAe,CAAC5D,MAAM,EAAGuB,KAAK,IAChD,IAAI,CAACkC,SAAS,CAACI,QAAQ,CAAC/G,MAAM,CAAC6E,IAAI,CAAC,MAAK;MACvC,IAAI,CAAC8B,SAAS,CAACP,WAAW,EAAE;MAC5B,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGvC,KAAK,CAACW,MAAM,EAAE4B,CAAC,EAAE,EAAE;QACrC,MAAMd,IAAI,GAAGzB,KAAK,CAACuC,CAAC,CAAC;QACrB,IAAI,OAAOd,IAAI,KAAK,QAAQ,EAAE;UAC5B,IAAI,CAACK,IAAI,CAACL,IAAI,EAAE,MAAM,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,CAACK,IAAI,CAACL,IAAI,CAAC;QACjB;MACF;IACF,CAAC,CAAC,CAAC,CAAC,CAAC9D,IAAI,CACP,IAAI,CAACuE,SAAS,CAACI,QAAQ,EACvB/G,MAAM,CAACiH,eAAe,CAAC5D,OAAO,CAAC,EAC/BrD,MAAM,CAACkH,OAAO,CACf;IACH,IAAI,CAACN,KAAK,CAACO,WAAW,CAAEtF,IAAI,IAAI;MAC9B,IAAI,CAAC+E,KAAK,GAAG7E,SAAS;MACtB,IAAI9B,IAAI,CAACmH,SAAS,CAACvF,IAAI,CAAC,EAAE;QACxB,IAAI,CAAC0E,IAAI,CAAC,IAAI,CAAC;MACjB,CAAC,MAAM;QACL,IAAI,CAACpC,OAAO,CAACrE,KAAK,CAACuH,MAAM,CAACxF,IAAI,CAACS,KAAK,CAAQ,CAAC;MAC/C;IACF,CAAC,CAAC;EACJ;EAESgF,KAAKA,CAACC,KAAa;IAC1B,IAAI,CAACZ,SAAS,CAACf,UAAU,EAAE;EAC7B;EAES4B,QAAQA,CAAC3B,KAAmB,EAAEhC,QAAoD;IACzF,IAAI,CAAC,IAAI,CAAC+C,KAAK,EAAE;MACf,OAAO/C,QAAQ,CAACgC,KAAK,CAAC;IACxB;IACA7F,MAAM,CAACkH,OAAO,CAAChH,KAAK,CAACuH,SAAS,CAAC,IAAI,CAACb,KAAK,CAAC,CAAC,CAACO,WAAW,CAAEtF,IAAI,IAAI;MAC/DgC,QAAQ,CAAChC,IAAI,CAAC6F,IAAI,KAAK,SAAS,GAAG5H,KAAK,CAACuH,MAAM,CAACxF,IAAI,CAACS,KAAK,CAAQ,GAAGuD,KAAK,CAAC;IAC7E,CAAC,CAAC;EACJ;;AAGF,MAAMtE,cAAc,GAAIsE,KAAc,IAAyB,IAAI/F,KAAK,CAAC6H,YAAY,CAAC9B,KAAK,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Context","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffer","alloc","slice","byteOffset","concat","length","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","push","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideContext","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node-shared",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.45",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Unified interfaces for common platform-specific services",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"provenance": true
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"effect": "^4.0.0-beta.
|
|
49
|
+
"effect": "^4.0.0-beta.45"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/node": "^25.2.0",
|
|
53
53
|
"tar": "^7.5.7",
|
|
54
|
-
"effect": "^4.0.0-beta.
|
|
54
|
+
"effect": "^4.0.0-beta.45"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@types/ws": "^8.18.1",
|
|
@@ -343,6 +343,23 @@ const make = Effect.gen(function*() {
|
|
|
343
343
|
})
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
+
const killProcessGroupOnExit = (
|
|
347
|
+
childProcess: NodeChildProcess.ChildProcess,
|
|
348
|
+
signal: NodeJS.Signals
|
|
349
|
+
): void => {
|
|
350
|
+
if (globalThis.process.platform === "win32") {
|
|
351
|
+
NodeChildProcess.exec(`taskkill /pid ${childProcess.pid} /T /F`, () => {
|
|
352
|
+
// ignore errors during best-effort cleanup
|
|
353
|
+
})
|
|
354
|
+
return
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
globalThis.process.kill(-childProcess.pid!, signal)
|
|
358
|
+
} catch {
|
|
359
|
+
// ignore errors during best-effort cleanup
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
346
363
|
const killProcess = (
|
|
347
364
|
command: ChildProcess.StandardCommand,
|
|
348
365
|
childProcess: NodeChildProcess.ChildProcess,
|
|
@@ -419,6 +436,8 @@ const make = Effect.gen(function*() {
|
|
|
419
436
|
const stdoutConfig = resolveOutputOption(cmd.options, "stdout")
|
|
420
437
|
const stderrConfig = resolveOutputOption(cmd.options, "stderr")
|
|
421
438
|
const resolvedAdditionalFds = resolveAdditionalFds(cmd.options)
|
|
439
|
+
let isReferenced = true
|
|
440
|
+
let cleanupOnNonZeroExit = false
|
|
422
441
|
|
|
423
442
|
const cwd = yield* resolveWorkingDirectory(cmd.options)
|
|
424
443
|
const env = resolveEnvironment(cmd.options)
|
|
@@ -444,6 +463,9 @@ const make = Effect.gen(function*() {
|
|
|
444
463
|
}
|
|
445
464
|
return yield* Effect.void
|
|
446
465
|
}
|
|
466
|
+
if (!isReferenced) {
|
|
467
|
+
return yield* Effect.void
|
|
468
|
+
}
|
|
447
469
|
// Process is still running, kill it
|
|
448
470
|
return yield* killWithTimeout((command, childProcess, signal) =>
|
|
449
471
|
Effect.catch(
|
|
@@ -458,6 +480,26 @@ const make = Effect.gen(function*() {
|
|
|
458
480
|
)
|
|
459
481
|
|
|
460
482
|
const pid = ProcessId(childProcess.pid!)
|
|
483
|
+
childProcess.on("exit", (code) => {
|
|
484
|
+
if (cleanupOnNonZeroExit && code !== 0 && Predicate.isNotNull(code)) {
|
|
485
|
+
killProcessGroupOnExit(childProcess, cmd.options.killSignal ?? "SIGTERM")
|
|
486
|
+
}
|
|
487
|
+
})
|
|
488
|
+
const reref = Effect.sync(() => {
|
|
489
|
+
if (!isReferenced) {
|
|
490
|
+
childProcess.ref()
|
|
491
|
+
isReferenced = true
|
|
492
|
+
cleanupOnNonZeroExit = false
|
|
493
|
+
}
|
|
494
|
+
})
|
|
495
|
+
const unref = Effect.sync(() => {
|
|
496
|
+
if (isReferenced) {
|
|
497
|
+
childProcess.unref()
|
|
498
|
+
isReferenced = false
|
|
499
|
+
cleanupOnNonZeroExit = true
|
|
500
|
+
}
|
|
501
|
+
return reref
|
|
502
|
+
})
|
|
461
503
|
const stdin = yield* setupChildStdin(cmd, childProcess, stdinConfig)
|
|
462
504
|
const { all, stderr, stdout } = setupChildOutputStreams(cmd, childProcess, stdoutConfig, stderrConfig)
|
|
463
505
|
const { getInputFd, getOutputFd } = yield* setupAdditionalFds(cmd, childProcess, resolvedAdditionalFds)
|
|
@@ -495,14 +537,15 @@ const make = Effect.gen(function*() {
|
|
|
495
537
|
stderr,
|
|
496
538
|
all,
|
|
497
539
|
getInputFd,
|
|
498
|
-
getOutputFd
|
|
540
|
+
getOutputFd,
|
|
541
|
+
unref
|
|
499
542
|
})
|
|
500
543
|
}
|
|
501
544
|
case "PipedCommand": {
|
|
502
545
|
const { commands, pipeOptions } = flattenCommand(cmd)
|
|
503
546
|
const [root, ...pipeline] = commands
|
|
504
547
|
|
|
505
|
-
|
|
548
|
+
const handles = [yield* spawnCommand(root)]
|
|
506
549
|
|
|
507
550
|
for (let i = 0; i < pipeline.length; i++) {
|
|
508
551
|
const command = pipeline[i]
|
|
@@ -511,7 +554,7 @@ const make = Effect.gen(function*() {
|
|
|
511
554
|
|
|
512
555
|
// Get the appropriate stream from the source based on `from` option
|
|
513
556
|
const sourceStream = Stream.unwrap(
|
|
514
|
-
Effect.
|
|
557
|
+
Effect.succeed(getSourceStream(handles[handles.length - 1], options.from))
|
|
515
558
|
)
|
|
516
559
|
|
|
517
560
|
// Determine where to pipe: stdin or custom fd
|
|
@@ -519,34 +562,61 @@ const make = Effect.gen(function*() {
|
|
|
519
562
|
|
|
520
563
|
if (toOption === "stdin") {
|
|
521
564
|
// Pipe to stdin (default behavior)
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
565
|
+
handles.push(
|
|
566
|
+
yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
567
|
+
...command.options,
|
|
568
|
+
stdin: { ...stdinConfig, stream: sourceStream }
|
|
569
|
+
}))
|
|
570
|
+
)
|
|
526
571
|
} else {
|
|
527
572
|
// Pipe to custom fd (fd3, fd4, etc.)
|
|
528
573
|
const fd = ChildProcess.parseFdName(toOption)
|
|
529
574
|
if (Predicate.isNotUndefined(fd)) {
|
|
530
575
|
const fdName = ChildProcess.fdName(fd) as `fd${number}`
|
|
531
576
|
const existingFds = command.options.additionalFds ?? {}
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
577
|
+
handles.push(
|
|
578
|
+
yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
579
|
+
...command.options,
|
|
580
|
+
additionalFds: {
|
|
581
|
+
...existingFds,
|
|
582
|
+
[fdName]: { type: "input" as const, stream: sourceStream }
|
|
583
|
+
}
|
|
584
|
+
}))
|
|
585
|
+
)
|
|
539
586
|
} else {
|
|
540
587
|
// Invalid fd name, fall back to stdin
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
588
|
+
handles.push(
|
|
589
|
+
yield* spawnCommand(ChildProcess.make(command.command, command.args, {
|
|
590
|
+
...command.options,
|
|
591
|
+
stdin: { ...stdinConfig, stream: sourceStream }
|
|
592
|
+
}))
|
|
593
|
+
)
|
|
545
594
|
}
|
|
546
595
|
}
|
|
547
596
|
}
|
|
548
597
|
|
|
549
|
-
|
|
598
|
+
const handle = handles[handles.length - 1]
|
|
599
|
+
const unref = Effect.gen(function*() {
|
|
600
|
+
const rerefs: Array<Effect.Effect<void, PlatformError.PlatformError>> = []
|
|
601
|
+
for (const handle of handles) {
|
|
602
|
+
rerefs.push(yield* handle.unref)
|
|
603
|
+
}
|
|
604
|
+
return Effect.forEach([...rerefs].reverse(), (reref) => reref, { discard: true })
|
|
605
|
+
})
|
|
606
|
+
|
|
607
|
+
return makeHandle({
|
|
608
|
+
pid: handle.pid,
|
|
609
|
+
exitCode: handle.exitCode,
|
|
610
|
+
isRunning: handle.isRunning,
|
|
611
|
+
kill: handle.kill,
|
|
612
|
+
stdin: handle.stdin,
|
|
613
|
+
stdout: handle.stdout,
|
|
614
|
+
stderr: handle.stderr,
|
|
615
|
+
all: handle.all,
|
|
616
|
+
getInputFd: handle.getInputFd,
|
|
617
|
+
getOutputFd: handle.getOutputFd,
|
|
618
|
+
unref
|
|
619
|
+
})
|
|
550
620
|
}
|
|
551
621
|
}
|
|
552
622
|
})
|
package/src/NodeSocket.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Array } from "effect"
|
|
5
5
|
import * as Channel from "effect/Channel"
|
|
6
|
+
import * as Context from "effect/Context"
|
|
6
7
|
import * as Deferred from "effect/Deferred"
|
|
7
8
|
import type * as Duration from "effect/Duration"
|
|
8
9
|
import * as Effect from "effect/Effect"
|
|
@@ -12,7 +13,6 @@ import { identity } from "effect/Function"
|
|
|
12
13
|
import * as Latch from "effect/Latch"
|
|
13
14
|
import * as Layer from "effect/Layer"
|
|
14
15
|
import * as Scope from "effect/Scope"
|
|
15
|
-
import * as ServiceMap from "effect/ServiceMap"
|
|
16
16
|
import * as Socket from "effect/unstable/socket/Socket"
|
|
17
17
|
import * as Net from "node:net"
|
|
18
18
|
import type { Duplex } from "node:stream"
|
|
@@ -27,7 +27,7 @@ export * as NodeWS from "ws"
|
|
|
27
27
|
* @since 1.0.0
|
|
28
28
|
* @category tags
|
|
29
29
|
*/
|
|
30
|
-
export class NetSocket extends
|
|
30
|
+
export class NetSocket extends Context.Service<NetSocket, Net.Socket>()(
|
|
31
31
|
"@effect/platform-node/NodeSocket/NetSocket"
|
|
32
32
|
) {}
|
|
33
33
|
|
|
@@ -41,11 +41,11 @@ export const makeNet = (
|
|
|
41
41
|
}
|
|
42
42
|
): Effect.Effect<Socket.Socket> =>
|
|
43
43
|
fromDuplex(
|
|
44
|
-
Effect.
|
|
44
|
+
Effect.contextWith((context: Context.Context<Scope.Scope>) => {
|
|
45
45
|
let conn: Net.Socket | undefined
|
|
46
46
|
return Effect.flatMap(
|
|
47
47
|
Scope.addFinalizer(
|
|
48
|
-
|
|
48
|
+
Context.get(context, Scope.Scope),
|
|
49
49
|
Effect.sync(() => {
|
|
50
50
|
if (!conn) return
|
|
51
51
|
if (conn.closed === false) {
|
|
@@ -89,7 +89,7 @@ export const fromDuplex = <RO>(
|
|
|
89
89
|
Effect.withFiber<Socket.Socket, never, Exclude<RO, Scope.Scope>>((fiber) => {
|
|
90
90
|
let currentSocket: Duplex | undefined
|
|
91
91
|
const latch = Latch.makeUnsafe(false)
|
|
92
|
-
const openServices = fiber.
|
|
92
|
+
const openServices = fiber.context as Context.Context<RO>
|
|
93
93
|
|
|
94
94
|
const run = <R, E, _>(handler: (_: Uint8Array) => Effect.Effect<_, E, R> | void, opts?: {
|
|
95
95
|
readonly onOpen?: Effect.Effect<void> | undefined
|
|
@@ -166,7 +166,7 @@ export const fromDuplex = <RO>(
|
|
|
166
166
|
)
|
|
167
167
|
}
|
|
168
168
|
})).pipe(
|
|
169
|
-
Effect.
|
|
169
|
+
Effect.updateContext((input: Context.Context<R>) => Context.merge(openServices, input)),
|
|
170
170
|
Effect.onExit(() =>
|
|
171
171
|
Effect.sync(() => {
|
|
172
172
|
latch.closeUnsafe()
|
package/src/NodeSocketServer.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type { Cause } from "effect/Cause"
|
|
5
|
+
import * as Context from "effect/Context"
|
|
5
6
|
import * as Deferred from "effect/Deferred"
|
|
6
7
|
import * as Effect from "effect/Effect"
|
|
7
8
|
import * as Exit from "effect/Exit"
|
|
@@ -11,7 +12,6 @@ import * as Function from "effect/Function"
|
|
|
11
12
|
import * as Layer from "effect/Layer"
|
|
12
13
|
import * as References from "effect/References"
|
|
13
14
|
import * as Scope from "effect/Scope"
|
|
14
|
-
import * as ServiceMap from "effect/ServiceMap"
|
|
15
15
|
import * as Socket from "effect/unstable/socket/Socket"
|
|
16
16
|
import * as SocketServer from "effect/unstable/socket/SocketServer"
|
|
17
17
|
import type * as Http from "node:http"
|
|
@@ -23,7 +23,7 @@ import { NodeWS } from "./NodeSocket.ts"
|
|
|
23
23
|
* @since 1.0.0
|
|
24
24
|
* @category tags
|
|
25
25
|
*/
|
|
26
|
-
export class IncomingMessage extends
|
|
26
|
+
export class IncomingMessage extends Context.Service<
|
|
27
27
|
IncomingMessage,
|
|
28
28
|
Http.IncomingMessage
|
|
29
29
|
>()("@effect/platform-node-shared/NodeSocketServer/IncomingMessage") {}
|
|
@@ -69,7 +69,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
69
69
|
|
|
70
70
|
const run = Effect.fnUntraced(function*<R, E, _>(handler: (socket: Socket.Socket) => Effect.Effect<_, E, R>) {
|
|
71
71
|
const scope = yield* Scope.make()
|
|
72
|
-
const services =
|
|
72
|
+
const services = Context.omit(Scope.Scope)(yield* Effect.context<R>()) as Context.Context<R>
|
|
73
73
|
const trackFiber = Fiber.runIn(scope)
|
|
74
74
|
const prevOnConnection = onConnection
|
|
75
75
|
onConnection = function(conn: Net.Socket) {
|
|
@@ -109,7 +109,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
109
109
|
),
|
|
110
110
|
Effect.flatMap(handler),
|
|
111
111
|
Effect.catchCause(reportUnhandledError),
|
|
112
|
-
Effect.runForkWith(
|
|
112
|
+
Effect.runForkWith(Context.add(services, NodeSocket.NetSocket, conn)),
|
|
113
113
|
trackFiber
|
|
114
114
|
)
|
|
115
115
|
}
|
|
@@ -202,7 +202,7 @@ export const makeWebSocket: (
|
|
|
202
202
|
|
|
203
203
|
const run = Effect.fnUntraced(function*<R, E, _>(handler: (socket: Socket.Socket) => Effect.Effect<_, E, R>) {
|
|
204
204
|
const scope = yield* Scope.make()
|
|
205
|
-
const services =
|
|
205
|
+
const services = Context.omit(Scope.Scope)(yield* Effect.context<R>()) as Context.Context<R>
|
|
206
206
|
const trackFiber = Fiber.runIn(scope)
|
|
207
207
|
const prevOnConnection = onConnection
|
|
208
208
|
onConnection = function(conn: globalThis.WebSocket, req: Http.IncomingMessage) {
|
|
@@ -221,7 +221,7 @@ export const makeWebSocket: (
|
|
|
221
221
|
),
|
|
222
222
|
Effect.flatMap(handler),
|
|
223
223
|
Effect.catchCause(reportUnhandledError),
|
|
224
|
-
Effect.runForkWith(
|
|
224
|
+
Effect.runForkWith(Context.makeUnsafe(map)),
|
|
225
225
|
trackFiber
|
|
226
226
|
)
|
|
227
227
|
}
|
package/src/NodeStream.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Arr from "effect/Array"
|
|
5
5
|
import * as Cause from "effect/Cause"
|
|
6
6
|
import * as Channel from "effect/Channel"
|
|
7
|
+
import * as Context from "effect/Context"
|
|
7
8
|
import * as Effect from "effect/Effect"
|
|
8
9
|
import * as Exit from "effect/Exit"
|
|
9
10
|
import * as Fiber from "effect/Fiber"
|
|
@@ -13,7 +14,6 @@ import * as Latch from "effect/Latch"
|
|
|
13
14
|
import * as MutableRef from "effect/MutableRef"
|
|
14
15
|
import * as Pull from "effect/Pull"
|
|
15
16
|
import * as Scope from "effect/Scope"
|
|
16
|
-
import * as ServiceMap from "effect/ServiceMap"
|
|
17
17
|
import * as Stream from "effect/Stream"
|
|
18
18
|
import type { Duplex } from "node:stream"
|
|
19
19
|
import { Readable } from "node:stream"
|
|
@@ -170,7 +170,7 @@ export const pipeThroughSimple: {
|
|
|
170
170
|
*/
|
|
171
171
|
export const toReadable = <E, R>(stream: Stream.Stream<string | Uint8Array, E, R>): Effect.Effect<Readable, never, R> =>
|
|
172
172
|
Effect.map(
|
|
173
|
-
Effect.
|
|
173
|
+
Effect.context<R>(),
|
|
174
174
|
(context) => new StreamAdapter(context, stream)
|
|
175
175
|
)
|
|
176
176
|
|
|
@@ -180,7 +180,7 @@ export const toReadable = <E, R>(stream: Stream.Stream<string | Uint8Array, E, R
|
|
|
180
180
|
*/
|
|
181
181
|
export const toReadableNever = <E>(stream: Stream.Stream<string | Uint8Array, E, never>): Readable =>
|
|
182
182
|
new StreamAdapter(
|
|
183
|
-
|
|
183
|
+
Context.empty(),
|
|
184
184
|
stream
|
|
185
185
|
)
|
|
186
186
|
|
|
@@ -361,7 +361,7 @@ class StreamAdapter<E, R> extends Readable {
|
|
|
361
361
|
private fiber: Fiber.Fiber<void, E> | undefined = undefined
|
|
362
362
|
|
|
363
363
|
constructor(
|
|
364
|
-
context:
|
|
364
|
+
context: Context.Context<R>,
|
|
365
365
|
stream: Stream.Stream<Uint8Array | string, E, R>
|
|
366
366
|
) {
|
|
367
367
|
super({})
|
|
@@ -379,7 +379,7 @@ class StreamAdapter<E, R> extends Readable {
|
|
|
379
379
|
}
|
|
380
380
|
}))).pipe(
|
|
381
381
|
this.readLatch.whenOpen,
|
|
382
|
-
Effect.
|
|
382
|
+
Effect.provideContext(context),
|
|
383
383
|
Effect.runFork
|
|
384
384
|
)
|
|
385
385
|
this.fiber.addObserver((exit) => {
|