@darthcav/ts-utils
    Preparing search index...

    Function main

    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • launcher: LauncherFunction

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • monitorMemoryHours: number

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • defaultInterruptionHandler: boolean

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • launcher: LauncherFunction
      • monitorMemoryHours: number

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • launcher: LauncherFunction
      • defaultInterruptionHandler: boolean

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Bootstraps an application process: logs startup information, registers handlers for SIGINT, SIGTERM, uncaughtException, and unhandledRejection, then delegates to the optional launcher function.

      The three optional parameters — launcher, monitorMemoryHours, and defaultInterruptionHandler — have distinct types and can be supplied in any subset and in that order, omitting whichever are not needed:

      Call launcher monitorMemoryHours defaultInterruptionHandler
      main(name, logger) 0 true
      main(name, logger, fn) fn 0 true
      main(name, logger, 2) 2 true
      main(name, logger, false) 0 false
      main(name, logger, fn, 2) fn 2 true
      main(name, logger, fn, false) fn 0 false
      main(name, logger, 2, false) 2 false
      main(name, logger, fn, 2, false) fn 2 false

      Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • monitorMemoryHours: number
      • defaultInterruptionHandler: boolean

      Returns void

      main("my-app", logger)
      
      main("my-app", logger, () => startServer())
      
      main("my-app", logger, 2)
      main("my-app", logger, () => startServer(), 2)
      main("my-app", logger, false)
      main("my-app", logger, () => startServer(), false)
      main("my-app", logger, 2, false)
      main("my-app", logger, () => startServer(), 2, false)
    • Parameters

      • name: string

        Human-readable application name used in log output.

      • logger: Logger

        Logger instance used for all startup and lifecycle messages.

      • launcher: LauncherFunction

        Optional function invoked after all process handlers are registered. Use a closure to capture any context needed (e.g. a logger).

      • monitorMemoryHours: number

        When greater than 0, starts periodic memory logging every monitorMemoryHours hours via monitorMemory. Defaults to 0 (disabled).

      • defaultInterruptionHandler: boolean

        When true (default), registers SIGINT and SIGTERM handlers that log and exit cleanly. Set to false when the application manages its own graceful shutdown (e.g. closing servers or database connections).

      Returns void