@bgord/bun 0.29.4 → 0.29.5

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.
@@ -1,14 +1,11 @@
1
1
  import type { LoggerPort } from "./logger.port";
2
2
  type ServerType = ReturnType<typeof Bun.serve>;
3
- type GracefulShutdownOptions = {
4
- exitFn?: (code: number) => never;
5
- };
6
3
  export declare class GracefulShutdown {
7
4
  private readonly logger;
8
- private readonly base;
9
5
  private readonly exitFn;
6
+ private readonly base;
10
7
  private isShuttingDown;
11
- constructor(logger: LoggerPort, options?: GracefulShutdownOptions);
8
+ constructor(logger: LoggerPort, exitFn?: (code: number) => never);
12
9
  private shutdown;
13
10
  applyTo(server: ServerType, cleanup?: () => any): void;
14
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graceful-shutdown.service.d.ts","sourceRoot":"","sources":["../src/graceful-shutdown.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/C,KAAK,uBAAuB,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAA;CAAE,CAAC;AAEpE,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0D;IAC/E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,cAAc,CAAS;gBAGZ,MAAM,EAAE,UAAU,EACnC,OAAO,GAAE,uBAA4B;YAKzB,QAAQ;IAoBtB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,MAAM,GAAgB;CAqB5D"}
1
+ {"version":3,"file":"graceful-shutdown.service.d.ts","sourceRoot":"","sources":["../src/graceful-shutdown.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/C,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0D;IAC/E,OAAO,CAAC,cAAc,CAAS;gBAGZ,MAAM,EAAE,UAAU,EAClB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAuD;IAGpG,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,MAAM,GAAgB;CAqB5D"}
@@ -2,14 +2,14 @@ import * as tools from "@bgord/tools";
2
2
  import { formatError } from "./logger-format-error.service";
3
3
  export class GracefulShutdown {
4
4
  logger;
5
- base = { operation: "shutdown", component: "infra" };
6
5
  exitFn;
6
+ base = { operation: "shutdown", component: "infra" };
7
7
  isShuttingDown = false;
8
- constructor(logger, options = {}) {
8
+ constructor(logger, exitFn = ((code) => process.exit(code))) {
9
9
  this.logger = logger;
10
- this.exitFn = options.exitFn ?? ((code) => process.exit(code));
10
+ this.exitFn = exitFn;
11
11
  }
12
- async shutdown(server, cleanup, exitCode) {
12
+ shutdown(server, cleanup, exitCode) {
13
13
  if (this.isShuttingDown)
14
14
  return;
15
15
  this.isShuttingDown = true;
@@ -19,33 +19,30 @@ export class GracefulShutdown {
19
19
  catch (error) {
20
20
  this.logger.error({ message: "Server stop failed", error: formatError(error), ...this.base });
21
21
  }
22
- try {
23
- await cleanup();
24
- this.logger.info({ message: "HTTP server closed", ...this.base });
25
- }
26
- catch (error) {
27
- this.logger.error({ message: "Cleanup hook failed", error: formatError(error), ...this.base });
28
- }
29
- finally {
22
+ Promise.resolve()
23
+ .then(() => cleanup())
24
+ .then(() => this.logger.info({ message: "HTTP server closed", ...this.base }))
25
+ .catch((error) => this.logger.error({ message: "Cleanup hook failed", error: formatError(error), ...this.base }))
26
+ .finally(() => {
30
27
  this.exitFn(exitCode);
31
- }
28
+ });
32
29
  }
33
30
  applyTo(server, cleanup = tools.noop) {
34
- process.once("SIGTERM", async () => {
31
+ process.once("SIGTERM", () => {
35
32
  this.logger.info({ message: "SIGTERM received", ...this.base });
36
- await this.shutdown(server, cleanup, 0);
33
+ this.shutdown(server, cleanup, 0);
37
34
  });
38
- process.once("SIGINT", async () => {
35
+ process.once("SIGINT", () => {
39
36
  this.logger.info({ message: "SIGINT received", ...this.base });
40
- await this.shutdown(server, cleanup, 0);
37
+ this.shutdown(server, cleanup, 0);
41
38
  });
42
- process.once("unhandledRejection", async (reason /*, promise*/) => {
39
+ process.once("unhandledRejection", (reason) => {
43
40
  this.logger.error({ message: "UnhandledRejection received", error: formatError(reason), ...this.base });
44
- await this.shutdown(server, cleanup, 1);
41
+ this.shutdown(server, cleanup, 1);
45
42
  });
46
- process.once("uncaughtException", async (error) => {
43
+ process.once("uncaughtException", (error) => {
47
44
  this.logger.error({ message: "UncaughtException received", error: formatError(error), ...this.base });
48
- await this.shutdown(server, cleanup, 1);
45
+ this.shutdown(server, cleanup, 1);
49
46
  });
50
47
  }
51
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graceful-shutdown.service.js","sourceRoot":"","sources":["../src/graceful-shutdown.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graceful-shutdown.service.js","sourceRoot":"","sources":["../src/graceful-shutdown.service.ts"],"names":[],"mappings":"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"}