0.7.0 • Published 3 months ago

@armscye/hooks v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

@armscye/hooks

A collection of shared standard TypeScript definitions (@hooks).

Installation

Using npm:

npm install --save-dev @armscye/hooks

or using yarn:

yarn add @armscye/hooks --dev

Reference

ShutdownHook Interface

Interface defining method to respond to system signals (when application gets shutdown by, e.g., SIGTERM).

interface ShutdownHook {
  onShutdown(signal?: string): any;
}

The onShutdown method is called when an application receives a system signal indicating it's time to gracefully shutdown. Common signals include SIGTERM (termination request) and SIGINT (interrupt).

The optional signal parameter might be provided, revealing the specific signal received.

Usage notes

Here's a basic example demonstrating how to use ShutdownHook to close a database connection:

class MyShutdownHook implements ShutdownHook {
  onShutdown(signal?: string) {
    // Access and close database connection
    const db = /* get database connection */;
    db.close()
      .then(() => console.log("Database connection closed"))
      .catch(error => console.error("Error closing database:", error));
  }
}

StartupHook Interface

Interface defining method called during the application startup.

interface StartupHook {
  onStartup(): any;
}

The onStartup method is called before the application begins listening for incoming connections.

Usage notes

Here's a basic example demonstrating how to use a StartupHook to connect to a database:

class MyStartupHook implements StartupHook {
  onStartup() {
    // Connect to the database
    database.connect();
    console.log('Database connection established.');
  }
}

HookProvider Type

Describes type structure for hooks.

type HookProvider = string | symbol | object | Type<any> | Function;

License

This project is licensed under the MIT license.

See LICENSE for more information.

0.7.0

3 months ago

0.6.0

3 months ago

0.5.0

4 months ago

0.4.1

4 months ago

0.4.0

6 months ago

0.3.0

8 months ago

0.2.4

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.2.1

9 months ago

0.2.0

10 months ago

0.1.0

10 months ago