@effect/platform-node 0.31.5 → 0.31.7

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.
@@ -9,6 +9,7 @@ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/L
9
9
  var CommandExecutor = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./CommandExecutor.js"));
10
10
  var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./FileSystem.js"));
11
11
  var Path = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Path.js"));
12
+ var Worker = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Worker.js"));
12
13
  function _getRequireWildcardCache(e) {
13
14
  if ("function" != typeof WeakMap) return null;
14
15
  var r = new WeakMap(),
@@ -42,5 +43,5 @@ function _interopRequireWildcard(e, r) {
42
43
  * @since 1.0.0
43
44
  * @category layer
44
45
  */
45
- const layer = exports.layer = /*#__PURE__*/(0, _Function.pipe)(FileSystem.layer, /*#__PURE__*/Layer.merge(Path.layer), /*#__PURE__*/Layer.merge( /*#__PURE__*/Layer.provideMerge(FileSystem.layer, CommandExecutor.layer)));
46
+ const layer = exports.layer = /*#__PURE__*/(0, _Function.pipe)(FileSystem.layer, /*#__PURE__*/Layer.merge(Path.layer), /*#__PURE__*/Layer.merge( /*#__PURE__*/Layer.provideMerge(FileSystem.layer, CommandExecutor.layer)), /*#__PURE__*/Layer.merge(Worker.layerManager));
46
47
  //# sourceMappingURL=NodeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContext.js","names":["_Function","require","Layer","_interopRequireWildcard","CommandExecutor","FileSystem","Path","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","layer","exports","pipe","merge","provideMerge"],"sources":["../../src/NodeContext.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,gBAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,eAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,UAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,IAAA,gBAAAH,uBAAA,eAAAF,OAAA;AAAiC,SAAAM,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAPjC;;;;AAeA;;;;AAIO,MAAMY,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAA2C,IAAA5B,SAAA,CAAA8B,IAAI,EAC/DzB,UAAU,CAACuB,KAAK,eAChB1B,KAAK,CAAC6B,KAAK,CAACzB,IAAI,CAACsB,KAAK,CAAC,eACvB1B,KAAK,CAAC6B,KAAK,eAAC7B,KAAK,CAAC8B,YAAY,CAAC3B,UAAU,CAACuB,KAAK,EAAExB,eAAe,CAACwB,KAAK,CAAC,CAAC,CACzE"}
1
+ {"version":3,"file":"NodeContext.js","names":["_Function","require","Layer","_interopRequireWildcard","CommandExecutor","FileSystem","Path","Worker","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","layer","exports","pipe","merge","provideMerge","layerManager"],"sources":["../../src/NodeContext.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,gBAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,eAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,UAAA,gBAAAF,uBAAA,eAAAF,OAAA;AACA,IAAAK,IAAA,gBAAAH,uBAAA,eAAAF,OAAA;AACA,IAAAM,MAAA,gBAAAJ,uBAAA,eAAAF,OAAA;AAAqC,SAAAO,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AARrC;;;;AAoBA;;;;AAIO,MAAMY,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAA2C,IAAA7B,SAAA,CAAA+B,IAAI,EAC/D1B,UAAU,CAACwB,KAAK,eAChB3B,KAAK,CAAC8B,KAAK,CAAC1B,IAAI,CAACuB,KAAK,CAAC,eACvB3B,KAAK,CAAC8B,KAAK,eAAC9B,KAAK,CAAC+B,YAAY,CAAC5B,UAAU,CAACwB,KAAK,EAAEzB,eAAe,CAACyB,KAAK,CAAC,CAAC,eACxE3B,KAAK,CAAC8B,KAAK,CAACzB,MAAM,CAAC2B,YAAY,CAAC,CACjC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.runMain = void 0;
7
7
  var _Runtime = /*#__PURE__*/require("@effect/platform/Runtime");
8
8
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
+ var _Equal = /*#__PURE__*/require("effect/Equal");
9
10
  var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
10
11
  function _getRequireWildcardCache(e) {
11
12
  if ("function" != typeof WeakMap) return null;
@@ -49,10 +50,11 @@ const runMain = (effect, teardown = _Runtime.defaultTeardown) => {
49
50
  process.once("SIGTERM", onSigint);
50
51
  };
51
52
  exports.runMain = runMain;
52
- const interruptAll = id => Effect.flatMap(Fiber.roots, roots => {
53
+ const rootWithoutSelf = /*#__PURE__*/Effect.fiberIdWith(selfId => Effect.map(Fiber.roots, roots => roots.filter(fiber => !(0, _Equal.equals)(fiber.id(), selfId))));
54
+ const interruptAll = id => Effect.flatMap(rootWithoutSelf, roots => {
53
55
  if (roots.length === 0) {
54
56
  return Effect.unit;
55
57
  }
56
- return Fiber.interruptAllAs(roots, id);
58
+ return Effect.flatMap(Fiber.interruptAllAs(roots, id), () => Effect.flatMap(rootWithoutSelf, postInterruptRoots => postInterruptRoots.length > 0 ? interruptAll(id) : Effect.unit));
57
59
  });
58
60
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["_Runtime","require","Effect","_interopRequireWildcard","Fiber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","runMain","effect","teardown","defaultTeardown","fiber","runFork","addObserver","exit","code","runCallback","interruptAll","id","process","onSigint","removeListener","interruptAsFork","once","exports","flatMap","roots","length","unit","interruptAllAs"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","names":["_Runtime","require","Effect","_interopRequireWildcard","_Equal","Fiber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","runMain","effect","teardown","defaultTeardown","fiber","runFork","addObserver","exit","code","runCallback","interruptAll","id","process","onSigint","removeListener","interruptAsFork","once","exports","rootWithoutSelf","fiberIdWith","selfId","map","roots","filter","equals","flatMap","length","unit","interruptAllAs","postInterruptRoots"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -70,8 +70,9 @@ const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
70
70
  };
71
71
  if (shouldQuit(userInput)) {
72
72
  resume(Effect.fail(new Terminal.QuitException()));
73
+ } else {
74
+ resume(Effect.succeed(userInput));
73
75
  }
74
- resume(Effect.succeed(userInput));
75
76
  };
76
77
  input.once("keypress", handleKeypress);
77
78
  return Effect.sync(() => {
@@ -91,7 +92,8 @@ const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
91
92
  });
92
93
  }));
93
94
  return Terminal.Terminal.of({
94
- columns: output.columns,
95
+ // The columns property can be undefined if stdout was redirected
96
+ columns: output.columns || 0,
95
97
  readInput,
96
98
  display
97
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Layer","Option","readline","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireRelease","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","readInput","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","exports","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,MAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,QAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAyC,SAAAM,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAEzC,MAAMY,iBAAiB,GAAIC,KAAyB,IAClDA,KAAK,CAACC,GAAG,CAACC,IAAI,KAAKF,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,IAAIH,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,CAAC;AAEtE;AACO,MAAMC,IAAI,GAAGA,CAClBC,UAAA,GAAqDN,iBAAiB,KAEtEzB,MAAM,CAACgC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMP,KAAK,GAAG,OAAOO,CAAC,CAACjC,MAAM,CAACkC,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;EACnE,MAAMC,MAAM,GAAG,OAAOL,CAAC,CAACjC,MAAM,CAACkC,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACG,MAAM,CAAC,CAAC;EAErE;EACA,OAAON,CAAC,CAACjC,MAAM,CAACwC,cAAc,CAC5BxC,MAAM,CAACkC,IAAI,CAAC,MAAK;IACf,MAAMO,EAAE,GAAGtC,QAAQ,CAACuC,eAAe,CAAC;MAAEhB,KAAK;MAAEiB,iBAAiB,EAAE;IAAE,CAAE,CAAC;IACrExC,QAAQ,CAACyC,kBAAkB,CAAClB,KAAK,EAAEe,EAAE,CAAC;IACtC,IAAIf,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,IAAI,CAAC;;IAExB,OAAOL,EAAE;EACX,CAAC,CAAC,EACDA,EAAE,IACDzC,MAAM,CAACkC,IAAI,CAAC,MAAK;IACf,IAAIR,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,KAAK,CAAC;;IAEzBL,EAAE,CAACM,KAAK,EAAE;EACZ,CAAC,CAAC,CACL,CAAC;EAEF,MAAMC,SAAS,GAAGhD,MAAM,CAACiD,KAAK,CAAqDC,MAAM,IAAI;IAC3F,MAAMC,cAAc,GAAGA,CAACzB,KAAyB,EAAEC,GAAiB,KAAI;MACtE,MAAMyB,SAAS,GAAuB;QACpC1B,KAAK,EAAExB,MAAM,CAACmD,YAAY,CAAC3B,KAAK,CAAC;QACjCC,GAAG,EAAE;UACHE,IAAI,EAAEF,GAAG,CAACE,IAAI,IAAI,EAAE;UACpBD,IAAI,EAAED,GAAG,CAACC,IAAI,IAAI,KAAK;UACvB0B,IAAI,EAAE3B,GAAG,CAAC2B,IAAI,IAAI,KAAK;UACvBC,KAAK,EAAE5B,GAAG,CAAC4B,KAAK,IAAI;;OAEvB;MACD,IAAIxB,UAAU,CAACqB,SAAS,CAAC,EAAE;QACzBF,MAAM,CAAClD,MAAM,CAACwD,IAAI,CAAC,IAAIzD,QAAQ,CAAC0D,aAAa,EAAE,CAAC,CAAC;;MAEnDP,MAAM,CAAClD,MAAM,CAAC0D,OAAO,CAACN,SAAS,CAAC,CAAC;IACnC,CAAC;IACD1B,KAAK,CAACiC,IAAI,CAAC,UAAU,EAAER,cAAc,CAAC;IACtC,OAAOnD,MAAM,CAACkC,IAAI,CAAC,MAAK;MACtBR,KAAK,CAACkC,cAAc,CAAC,UAAU,EAAET,cAAc,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMU,OAAO,GAAIC,MAAc,IAC7B9D,MAAM,CAAC+D,eAAe,CACpB/D,MAAM,CAACiD,KAAK,CAAEC,MAAM,IAAI;IACtBZ,MAAM,CAAC0B,KAAK,CAACF,MAAM,EAAGG,GAAG,IAAI;MAC3B,IAAIA,GAAG,EAAE;QACPf,MAAM,CAAClD,MAAM,CAACwD,IAAI,CAAC5D,KAAK,CAACsE,WAAW,CAAC;UACnCC,MAAM,EAAE,UAAU;UAClBC,MAAM,EAAE,SAAS;UACjBC,OAAO,EAAGJ,GAAa,CAACI,OAAO,IAAIC,MAAM,CAACL,GAAG;SAC9C,CAAC,CAAC,CAAC;;MAENf,MAAM,CAAClD,MAAM,CAACuE,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAEH,OAAOxE,QAAQ,CAACA,QAAQ,CAACyE,EAAE,CAAC;IAC1BC,OAAO,EAAEnC,MAAM,CAACmC,OAAO;IACvBzB,SAAS;IACTa;GACD,CAAC;AACJ,CAAC,CAAC;AAEJ;AAAAa,OAAA,CAAA5C,IAAA,GAAAA,IAAA;AACO,MAAM6C,KAAK,GAAAD,OAAA,CAAAC,KAAA,gBAAiD1E,KAAK,CAAC2E,MAAM,CAC7E7E,QAAQ,CAACA,QAAQ,eACjB+B,IAAI,CAACL,iBAAiB,CAAC,CACxB"}
1
+ {"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Layer","Option","readline","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireRelease","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","readInput","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","exports","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -2,11 +2,12 @@ import * as Layer from "effect/Layer";
2
2
  import * as CommandExecutor from "./CommandExecutor.js";
3
3
  import * as FileSystem from "./FileSystem.js";
4
4
  import * as Path from "./Path.js";
5
+ import * as Worker from "./Worker.js";
5
6
  /**
6
7
  * @since 1.0.0
7
8
  * @category models
8
9
  */
9
- export type NodeContext = CommandExecutor.CommandExecutor | FileSystem.FileSystem | Path.Path;
10
+ export type NodeContext = CommandExecutor.CommandExecutor | FileSystem.FileSystem | Path.Path | Worker.WorkerManager;
10
11
  /**
11
12
  * @since 1.0.0
12
13
  * @category layer
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContext.d.ts","sourceRoot":"","sources":["../../src/NodeContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAA;AAE7F;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAIxD,CAAA"}
1
+ {"version":3,"file":"NodeContext.d.ts","sourceRoot":"","sources":["../../src/NodeContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,CAAC,eAAe,GAC/B,UAAU,CAAC,UAAU,GACrB,IAAI,CAAC,IAAI,GACT,MAAM,CAAC,aAAa,CAAA;AAExB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAKxD,CAAA"}
@@ -6,9 +6,10 @@ import * as Layer from "effect/Layer";
6
6
  import * as CommandExecutor from "./CommandExecutor.js";
7
7
  import * as FileSystem from "./FileSystem.js";
8
8
  import * as Path from "./Path.js";
9
+ import * as Worker from "./Worker.js";
9
10
  /**
10
11
  * @since 1.0.0
11
12
  * @category layer
12
13
  */
13
- export const layer = /*#__PURE__*/pipe(FileSystem.layer, /*#__PURE__*/Layer.merge(Path.layer), /*#__PURE__*/Layer.merge( /*#__PURE__*/Layer.provideMerge(FileSystem.layer, CommandExecutor.layer)));
14
+ export const layer = /*#__PURE__*/pipe(FileSystem.layer, /*#__PURE__*/Layer.merge(Path.layer), /*#__PURE__*/Layer.merge( /*#__PURE__*/Layer.provideMerge(FileSystem.layer, CommandExecutor.layer)), /*#__PURE__*/Layer.merge(Worker.layerManager));
14
15
  //# sourceMappingURL=NodeContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContext.js","names":["pipe","Layer","CommandExecutor","FileSystem","Path","layer","merge","provideMerge"],"sources":["../../src/NodeContext.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AACvD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,IAAI,MAAM,WAAW;AAQjC;;;;AAIA,OAAO,MAAMC,KAAK,gBAA2CL,IAAI,CAC/DG,UAAU,CAACE,KAAK,eAChBJ,KAAK,CAACK,KAAK,CAACF,IAAI,CAACC,KAAK,CAAC,eACvBJ,KAAK,CAACK,KAAK,eAACL,KAAK,CAACM,YAAY,CAACJ,UAAU,CAACE,KAAK,EAAEH,eAAe,CAACG,KAAK,CAAC,CAAC,CACzE"}
1
+ {"version":3,"file":"NodeContext.js","names":["pipe","Layer","CommandExecutor","FileSystem","Path","Worker","layer","merge","provideMerge","layerManager"],"sources":["../../src/NodeContext.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AACvD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAYrC;;;;AAIA,OAAO,MAAMC,KAAK,gBAA2CN,IAAI,CAC/DG,UAAU,CAACG,KAAK,eAChBL,KAAK,CAACM,KAAK,CAACH,IAAI,CAACE,KAAK,CAAC,eACvBL,KAAK,CAACM,KAAK,eAACN,KAAK,CAACO,YAAY,CAACL,UAAU,CAACG,KAAK,EAAEJ,eAAe,CAACI,KAAK,CAAC,CAAC,eACxEL,KAAK,CAACM,KAAK,CAACF,MAAM,CAACI,YAAY,CAAC,CACjC"}
@@ -1,5 +1,6 @@
1
1
  import { defaultTeardown } from "@effect/platform/Runtime";
2
2
  import * as Effect from "effect/Effect";
3
+ import { equals } from "effect/Equal";
3
4
  import * as Fiber from "effect/Fiber";
4
5
  /** @internal */
5
6
  export const runMain = (effect, teardown = defaultTeardown) => {
@@ -17,10 +18,11 @@ export const runMain = (effect, teardown = defaultTeardown) => {
17
18
  process.once("SIGINT", onSigint);
18
19
  process.once("SIGTERM", onSigint);
19
20
  };
20
- const interruptAll = id => Effect.flatMap(Fiber.roots, roots => {
21
+ const rootWithoutSelf = /*#__PURE__*/Effect.fiberIdWith(selfId => Effect.map(Fiber.roots, roots => roots.filter(fiber => !equals(fiber.id(), selfId))));
22
+ const interruptAll = id => Effect.flatMap(rootWithoutSelf, roots => {
21
23
  if (roots.length === 0) {
22
24
  return Effect.unit;
23
25
  }
24
- return Fiber.interruptAllAs(roots, id);
26
+ return Effect.flatMap(Fiber.interruptAllAs(roots, id), () => Effect.flatMap(rootWithoutSelf, postInterruptRoots => postInterruptRoots.length > 0 ? interruptAll(id) : Effect.unit));
25
27
  });
26
28
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["defaultTeardown","Effect","Fiber","runMain","effect","teardown","fiber","runFork","addObserver","exit","code","runCallback","interruptAll","id","process","onSigint","removeListener","interruptAsFork","once","flatMap","roots","length","unit","interruptAllAs"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAe,QAAsB,0BAA0B;AACxE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAGrC;AACA,OAAO,MAAMC,OAAO,GAAYA,CAC9BC,MAAkC,EAClCC,QAAQ,GAAGL,eAAe,KACxB;EACF,MAAMM,KAAK,GAAGL,MAAM,CAACM,OAAO,CAACH,MAAM,CAAC;EAEpCE,KAAK,CAACE,WAAW,CAAEC,IAAI,IACrBJ,QAAQ,CAACI,IAAI,EAAGC,IAAI,IAAI;IACtBT,MAAM,CAACU,WAAW,CAACC,YAAY,CAACN,KAAK,CAACO,EAAE,EAAE,CAAC,EAAE,MAAK;MAChDC,OAAO,CAACL,IAAI,CAACC,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAED,SAASK,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAC3Cd,MAAM,CAACM,OAAO,CAACD,KAAK,CAACW,eAAe,CAACX,KAAK,CAACO,EAAE,EAAE,CAAC,CAAC;EACnD;EAEAC,OAAO,CAACI,IAAI,CAAC,QAAQ,EAAEH,QAAQ,CAAC;EAChCD,OAAO,CAACI,IAAI,CAAC,SAAS,EAAEH,QAAQ,CAAC;AACnC,CAAC;AAED,MAAMH,YAAY,GAAIC,EAAmB,IACvCZ,MAAM,CAACkB,OAAO,CAACjB,KAAK,CAACkB,KAAK,EAAGA,KAAK,IAAI;EACpC,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOpB,MAAM,CAACqB,IAAI;;EAGpB,OAAOpB,KAAK,CAACqB,cAAc,CAACH,KAAK,EAAEP,EAAE,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime.js","names":["defaultTeardown","Effect","equals","Fiber","runMain","effect","teardown","fiber","runFork","addObserver","exit","code","runCallback","interruptAll","id","process","onSigint","removeListener","interruptAsFork","once","rootWithoutSelf","fiberIdWith","selfId","map","roots","filter","flatMap","length","unit","interruptAllAs","postInterruptRoots"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAe,QAAsB,0BAA0B;AACxE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,MAAM,QAAQ,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAGrC;AACA,OAAO,MAAMC,OAAO,GAAYA,CAC9BC,MAAkC,EAClCC,QAAQ,GAAGN,eAAe,KACxB;EACF,MAAMO,KAAK,GAAGN,MAAM,CAACO,OAAO,CAACH,MAAM,CAAC;EAEpCE,KAAK,CAACE,WAAW,CAAEC,IAAI,IACrBJ,QAAQ,CAACI,IAAI,EAAGC,IAAI,IAAI;IACtBV,MAAM,CAACW,WAAW,CAACC,YAAY,CAACN,KAAK,CAACO,EAAE,EAAE,CAAC,EAAE,MAAK;MAChDC,OAAO,CAACL,IAAI,CAACC,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAED,SAASK,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAC3Cf,MAAM,CAACO,OAAO,CAACD,KAAK,CAACW,eAAe,CAACX,KAAK,CAACO,EAAE,EAAE,CAAC,CAAC;EACnD;EAEAC,OAAO,CAACI,IAAI,CAAC,QAAQ,EAAEH,QAAQ,CAAC;EAChCD,OAAO,CAACI,IAAI,CAAC,SAAS,EAAEH,QAAQ,CAAC;AACnC,CAAC;AAED,MAAMI,eAAe,gBAAGnB,MAAM,CAACoB,WAAW,CAAEC,MAAM,IAChDrB,MAAM,CAACsB,GAAG,CAACpB,KAAK,CAACqB,KAAK,EAAGA,KAAK,IAAKA,KAAK,CAACC,MAAM,CAAElB,KAAK,IAAK,CAACL,MAAM,CAACK,KAAK,CAACO,EAAE,EAAE,EAAEQ,MAAM,CAAC,CAAC,CAAC,CACzF;AAED,MAAMT,YAAY,GAAIC,EAAmB,IACvCb,MAAM,CAACyB,OAAO,CAACN,eAAe,EAAGI,KAAK,IAAI;EACxC,IAAIA,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;IACtB,OAAO1B,MAAM,CAAC2B,IAAI;;EAEpB,OAAO3B,MAAM,CAACyB,OAAO,CACnBvB,KAAK,CAAC0B,cAAc,CAACL,KAAK,EAAEV,EAAE,CAAC,EAC/B,MACEb,MAAM,CAACyB,OAAO,CACZN,eAAe,EACdU,kBAAkB,IAAKA,kBAAkB,CAACH,MAAM,GAAG,CAAC,GAAGd,YAAY,CAACC,EAAE,CAAC,GAAGb,MAAM,CAAC2B,IAAI,CACvF,CACJ;AACH,CAAC,CAAC"}
@@ -39,8 +39,9 @@ export const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_)
39
39
  };
40
40
  if (shouldQuit(userInput)) {
41
41
  resume(Effect.fail(new Terminal.QuitException()));
42
+ } else {
43
+ resume(Effect.succeed(userInput));
42
44
  }
43
- resume(Effect.succeed(userInput));
44
45
  };
45
46
  input.once("keypress", handleKeypress);
46
47
  return Effect.sync(() => {
@@ -60,7 +61,8 @@ export const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_)
60
61
  });
61
62
  }));
62
63
  return Terminal.Terminal.of({
63
- columns: output.columns,
64
+ // The columns property can be undefined if stdout was redirected
65
+ columns: output.columns || 0,
64
66
  readInput,
65
67
  display
66
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","names":["Error","Terminal","Effect","Layer","Option","readline","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireRelease","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","readInput","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","names":["Error","Terminal","Effect","Layer","Option","readline","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireRelease","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","readInput","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.31.5",
3
+ "version": "0.31.7",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -6,12 +6,17 @@ import * as Layer from "effect/Layer"
6
6
  import * as CommandExecutor from "./CommandExecutor.js"
7
7
  import * as FileSystem from "./FileSystem.js"
8
8
  import * as Path from "./Path.js"
9
+ import * as Worker from "./Worker.js"
9
10
 
10
11
  /**
11
12
  * @since 1.0.0
12
13
  * @category models
13
14
  */
14
- export type NodeContext = CommandExecutor.CommandExecutor | FileSystem.FileSystem | Path.Path
15
+ export type NodeContext =
16
+ | CommandExecutor.CommandExecutor
17
+ | FileSystem.FileSystem
18
+ | Path.Path
19
+ | Worker.WorkerManager
15
20
 
16
21
  /**
17
22
  * @since 1.0.0
@@ -20,5 +25,6 @@ export type NodeContext = CommandExecutor.CommandExecutor | FileSystem.FileSyste
20
25
  export const layer: Layer.Layer<never, never, NodeContext> = pipe(
21
26
  FileSystem.layer,
22
27
  Layer.merge(Path.layer),
23
- Layer.merge(Layer.provideMerge(FileSystem.layer, CommandExecutor.layer))
28
+ Layer.merge(Layer.provideMerge(FileSystem.layer, CommandExecutor.layer)),
29
+ Layer.merge(Worker.layerManager)
24
30
  )
@@ -1,5 +1,6 @@
1
1
  import { defaultTeardown, type RunMain } from "@effect/platform/Runtime"
2
2
  import * as Effect from "effect/Effect"
3
+ import { equals } from "effect/Equal"
3
4
  import * as Fiber from "effect/Fiber"
4
5
  import type * as FiberId from "effect/FiberId"
5
6
 
@@ -28,11 +29,21 @@ export const runMain: RunMain = <E, A>(
28
29
  process.once("SIGTERM", onSigint)
29
30
  }
30
31
 
31
- const interruptAll = (id: FiberId.FiberId) =>
32
- Effect.flatMap(Fiber.roots, (roots) => {
32
+ const rootWithoutSelf = Effect.fiberIdWith((selfId) =>
33
+ Effect.map(Fiber.roots, (roots) => roots.filter((fiber) => !equals(fiber.id(), selfId)))
34
+ )
35
+
36
+ const interruptAll = (id: FiberId.FiberId): Effect.Effect<never, never, void> =>
37
+ Effect.flatMap(rootWithoutSelf, (roots) => {
33
38
  if (roots.length === 0) {
34
39
  return Effect.unit
35
40
  }
36
-
37
- return Fiber.interruptAllAs(roots, id)
41
+ return Effect.flatMap(
42
+ Fiber.interruptAllAs(roots, id),
43
+ () =>
44
+ Effect.flatMap(
45
+ rootWithoutSelf,
46
+ (postInterruptRoots) => postInterruptRoots.length > 0 ? interruptAll(id) : Effect.unit
47
+ )
48
+ )
38
49
  })
@@ -48,8 +48,9 @@ export const make = (
48
48
  }
49
49
  if (shouldQuit(userInput)) {
50
50
  resume(Effect.fail(new Terminal.QuitException()))
51
+ } else {
52
+ resume(Effect.succeed(userInput))
51
53
  }
52
- resume(Effect.succeed(userInput))
53
54
  }
54
55
  input.once("keypress", handleKeypress)
55
56
  return Effect.sync(() => {
@@ -74,7 +75,8 @@ export const make = (
74
75
  )
75
76
 
76
77
  return Terminal.Terminal.of({
77
- columns: output.columns,
78
+ // The columns property can be undefined if stdout was redirected
79
+ columns: output.columns || 0,
78
80
  readInput,
79
81
  display
80
82
  })