@effect/platform-node-shared 0.16.1 → 0.16.3

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.
@@ -5,24 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.runMain = void 0;
7
7
  var _Runtime = require("@effect/platform/Runtime");
8
+ var _Function = require("effect/Function");
8
9
  /** @internal */
9
10
  const runMain = exports.runMain = /*#__PURE__*/(0, _Runtime.makeRunMain)(({
10
11
  fiber,
11
12
  teardown
12
13
  }) => {
13
- const keepAlive = setInterval(() => {}, 2 ** 31 - 1);
14
+ const keepAlive = setInterval(_Function.constVoid, 2 ** 31 - 1);
15
+ let receivedSignal = false;
14
16
  fiber.addObserver(exit => {
17
+ if (!receivedSignal) {
18
+ process.removeListener("SIGINT", onSigint);
19
+ process.removeListener("SIGTERM", onSigint);
20
+ }
15
21
  clearInterval(keepAlive);
16
22
  teardown(exit, code => {
17
- process.exit(code);
23
+ if (receivedSignal || code !== 0) {
24
+ process.exit(code);
25
+ }
18
26
  });
19
27
  });
20
28
  function onSigint() {
29
+ receivedSignal = true;
21
30
  process.removeListener("SIGINT", onSigint);
22
31
  process.removeListener("SIGTERM", onSigint);
23
32
  fiber.unsafeInterruptAsFork(fiber.id());
24
33
  }
25
- process.once("SIGINT", onSigint);
26
- process.once("SIGTERM", onSigint);
34
+ process.on("SIGINT", onSigint);
35
+ process.on("SIGTERM", onSigint);
27
36
  });
28
37
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["_Runtime","require","runMain","exports","makeRunMain","fiber","teardown","keepAlive","setInterval","addObserver","exit","clearInterval","code","process","onSigint","removeListener","unsafeInterruptAsFork","id","once"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACO,MAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAW,EAAC,CAAC;EAClCC,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,MAAMC,SAAS,GAAGC,WAAW,CAAC,MAAK,CAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EAEpDH,KAAK,CAACI,WAAW,CAAEC,IAAI,IAAI;IACzBC,aAAa,CAACJ,SAAS,CAAC;IACxBD,QAAQ,CAACI,IAAI,EAAGE,IAAI,IAAI;MACtBC,OAAO,CAACH,IAAI,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASE,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAC3CT,KAAK,CAACW,qBAAqB,CAACX,KAAK,CAACY,EAAE,EAAE,CAAC;EACzC;EAEAJ,OAAO,CAACK,IAAI,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAChCD,OAAO,CAACK,IAAI,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"runtime.js","names":["_Runtime","require","_Function","runMain","exports","makeRunMain","fiber","teardown","keepAlive","setInterval","constVoid","receivedSignal","addObserver","exit","process","removeListener","onSigint","clearInterval","code","unsafeInterruptAsFork","id","on"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA;AACO,MAAME,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAW,EAAC,CAAC;EAClCC,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,MAAMC,SAAS,GAAGC,WAAW,CAACC,mBAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EACrD,IAAIC,cAAc,GAAG,KAAK;EAE1BL,KAAK,CAACM,WAAW,CAAEC,IAAI,IAAI;IACzB,IAAI,CAACF,cAAc,EAAE;MACnBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;MAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC7C;IACAC,aAAa,CAACT,SAAS,CAAC;IACxBD,QAAQ,CAACM,IAAI,EAAGK,IAAI,IAAI;MACtB,IAAIP,cAAc,IAAIO,IAAI,KAAK,CAAC,EAAE;QAChCJ,OAAO,CAACD,IAAI,CAACK,IAAI,CAAC;MACpB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASF,QAAQA,CAAA;IACfL,cAAc,GAAG,IAAI;IACrBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;IAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC3CV,KAAK,CAACa,qBAAqB,CAACb,KAAK,CAACc,EAAE,EAAE,CAAC;EACzC;EAEAN,OAAO,CAACO,EAAE,CAAC,QAAQ,EAAEL,QAAQ,CAAC;EAC9BF,OAAO,CAACO,EAAE,CAAC,SAAS,EAAEL,QAAQ,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -1,22 +1,31 @@
1
1
  import { makeRunMain } from "@effect/platform/Runtime";
2
+ import { constVoid } from "effect/Function";
2
3
  /** @internal */
3
4
  export const runMain = /*#__PURE__*/makeRunMain(({
4
5
  fiber,
5
6
  teardown
6
7
  }) => {
7
- const keepAlive = setInterval(() => {}, 2 ** 31 - 1);
8
+ const keepAlive = setInterval(constVoid, 2 ** 31 - 1);
9
+ let receivedSignal = false;
8
10
  fiber.addObserver(exit => {
11
+ if (!receivedSignal) {
12
+ process.removeListener("SIGINT", onSigint);
13
+ process.removeListener("SIGTERM", onSigint);
14
+ }
9
15
  clearInterval(keepAlive);
10
16
  teardown(exit, code => {
11
- process.exit(code);
17
+ if (receivedSignal || code !== 0) {
18
+ process.exit(code);
19
+ }
12
20
  });
13
21
  });
14
22
  function onSigint() {
23
+ receivedSignal = true;
15
24
  process.removeListener("SIGINT", onSigint);
16
25
  process.removeListener("SIGTERM", onSigint);
17
26
  fiber.unsafeInterruptAsFork(fiber.id());
18
27
  }
19
- process.once("SIGINT", onSigint);
20
- process.once("SIGTERM", onSigint);
28
+ process.on("SIGINT", onSigint);
29
+ process.on("SIGTERM", onSigint);
21
30
  });
22
31
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["makeRunMain","runMain","fiber","teardown","keepAlive","setInterval","addObserver","exit","clearInterval","code","process","onSigint","removeListener","unsafeInterruptAsFork","id","once"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,0BAA0B;AAEtD;AACA,OAAO,MAAMC,OAAO,gBAAGD,WAAW,CAAC,CAAC;EAClCE,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,MAAMC,SAAS,GAAGC,WAAW,CAAC,MAAK,CAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EAEpDH,KAAK,CAACI,WAAW,CAAEC,IAAI,IAAI;IACzBC,aAAa,CAACJ,SAAS,CAAC;IACxBD,QAAQ,CAACI,IAAI,EAAGE,IAAI,IAAI;MACtBC,OAAO,CAACH,IAAI,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASE,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAC3CT,KAAK,CAACW,qBAAqB,CAACX,KAAK,CAACY,EAAE,EAAE,CAAC;EACzC;EAEAJ,OAAO,CAACK,IAAI,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAChCD,OAAO,CAACK,IAAI,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"runtime.js","names":["makeRunMain","constVoid","runMain","fiber","teardown","keepAlive","setInterval","receivedSignal","addObserver","exit","process","removeListener","onSigint","clearInterval","code","unsafeInterruptAsFork","id","on"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,0BAA0B;AACtD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C;AACA,OAAO,MAAMC,OAAO,gBAAGF,WAAW,CAAC,CAAC;EAClCG,KAAK;EACLC;AAAQ,CACT,KAAI;EACH,MAAMC,SAAS,GAAGC,WAAW,CAACL,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EACrD,IAAIM,cAAc,GAAG,KAAK;EAE1BJ,KAAK,CAACK,WAAW,CAAEC,IAAI,IAAI;IACzB,IAAI,CAACF,cAAc,EAAE;MACnBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;MAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC7C;IACAC,aAAa,CAACR,SAAS,CAAC;IACxBD,QAAQ,CAACK,IAAI,EAAGK,IAAI,IAAI;MACtB,IAAIP,cAAc,IAAIO,IAAI,KAAK,CAAC,EAAE;QAChCJ,OAAO,CAACD,IAAI,CAACK,IAAI,CAAC;MACpB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASF,QAAQA,CAAA;IACfL,cAAc,GAAG,IAAI;IACrBG,OAAO,CAACC,cAAc,CAAC,QAAQ,EAAEC,QAAQ,CAAC;IAC1CF,OAAO,CAACC,cAAc,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAC3CT,KAAK,CAACY,qBAAqB,CAACZ,KAAK,CAACa,EAAE,EAAE,CAAC;EACzC;EAEAN,OAAO,CAACO,EAAE,CAAC,QAAQ,EAAEL,QAAQ,CAAC;EAC9BF,OAAO,CAACO,EAAE,CAAC,SAAS,EAAEL,QAAQ,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node-shared",
3
- "version": "0.16.1",
3
+ "version": "0.16.3",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,8 +14,8 @@
14
14
  "multipasta": "^0.2.5"
15
15
  },
16
16
  "peerDependencies": {
17
- "@effect/platform": "^0.66.1",
18
- "effect": "^3.8.3"
17
+ "@effect/platform": "^0.66.2",
18
+ "effect": "^3.8.4"
19
19
  },
20
20
  "publishConfig": {
21
21
  "provenance": true
@@ -1,25 +1,34 @@
1
1
  import { makeRunMain } from "@effect/platform/Runtime"
2
+ import { constVoid } from "effect/Function"
2
3
 
3
4
  /** @internal */
4
5
  export const runMain = makeRunMain(({
5
6
  fiber,
6
7
  teardown
7
8
  }) => {
8
- const keepAlive = setInterval(() => {}, 2 ** 31 - 1)
9
+ const keepAlive = setInterval(constVoid, 2 ** 31 - 1)
10
+ let receivedSignal = false
9
11
 
10
12
  fiber.addObserver((exit) => {
13
+ if (!receivedSignal) {
14
+ process.removeListener("SIGINT", onSigint)
15
+ process.removeListener("SIGTERM", onSigint)
16
+ }
11
17
  clearInterval(keepAlive)
12
18
  teardown(exit, (code) => {
13
- process.exit(code)
19
+ if (receivedSignal || code !== 0) {
20
+ process.exit(code)
21
+ }
14
22
  })
15
23
  })
16
24
 
17
25
  function onSigint() {
26
+ receivedSignal = true
18
27
  process.removeListener("SIGINT", onSigint)
19
28
  process.removeListener("SIGTERM", onSigint)
20
29
  fiber.unsafeInterruptAsFork(fiber.id())
21
30
  }
22
31
 
23
- process.once("SIGINT", onSigint)
24
- process.once("SIGTERM", onSigint)
32
+ process.on("SIGINT", onSigint)
33
+ process.on("SIGTERM", onSigint)
25
34
  })