Member Junction
    Preparing search index...

    Variable LoadOnStartupConst

    LoadOnStartup: {
        <T extends StartupClassConstructor>(constructor: T): T;
        (
            options?: RegisterForStartupOptions,
        ): <T extends StartupClassConstructor>(constructor: T) => T;
    } = RegisterForStartup

    Type Declaration

      • <T extends StartupClassConstructor>(constructor: T): T
      • Decorator to mark a singleton class for automatic loading at application startup. Similar naming convention to

        Type Parameters

        • T extends StartupClassConstructor

        Parameters

        • constructor: T

        Returns T

        for consistency.

        The decorated class must:

        1. Implement IStartupSink interface
        2. Have a static 'Instance' property (singleton pattern)

        This decorator also prevents tree-shaking by creating a runtime reference to the class during module initialization.

        Can be used with or without parentheses:

        • @RegisterForStartup - uses default options
        • @RegisterForStartup() - uses default options
        • @RegisterForStartup({ priority: 10 }) - uses custom options
        // With options
        @RegisterForStartup({ priority: 10, severity: 'fatal', description: 'Encryption services' })
        class EncryptionEngine extends BaseEngine<EncryptionEngine> implements IStartupSink {
        public async HandleStartup(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {
        await this.Config(false, contextUser, provider);
        }
        }

        // Without options (uses defaults)
        @RegisterForStartup
        class SimpleEngine extends BaseEngine<SimpleEngine> implements IStartupSink {
        public async HandleStartup(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {
        await this.Config(false, contextUser, provider);
        }
        }
      • (
            options?: RegisterForStartupOptions,
        ): <T extends StartupClassConstructor>(constructor: T) => T
      • Decorator to mark a singleton class for automatic loading at application startup. Similar naming convention to

        Parameters

        Returns <T extends StartupClassConstructor>(constructor: T) => T

        for consistency.

        The decorated class must:

        1. Implement IStartupSink interface
        2. Have a static 'Instance' property (singleton pattern)

        This decorator also prevents tree-shaking by creating a runtime reference to the class during module initialization.

        Can be used with or without parentheses:

        • @RegisterForStartup - uses default options
        • @RegisterForStartup() - uses default options
        • @RegisterForStartup({ priority: 10 }) - uses custom options
        // With options
        @RegisterForStartup({ priority: 10, severity: 'fatal', description: 'Encryption services' })
        class EncryptionEngine extends BaseEngine<EncryptionEngine> implements IStartupSink {
        public async HandleStartup(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {
        await this.Config(false, contextUser, provider);
        }
        }

        // Without options (uses defaults)
        @RegisterForStartup
        class SimpleEngine extends BaseEngine<SimpleEngine> implements IStartupSink {
        public async HandleStartup(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {
        await this.Config(false, contextUser, provider);
        }
        }

    Use RegisterForStartup instead