for consistency.
The decorated class must:
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);
}
}
Optional options: RegisterForStartupOptions
Decorator to mark a singleton class for automatic loading at application startup. Similar naming convention to