Skip to content
Download

OnModuleInit

OnModuleInit is a lifecycle interface for providers that need startup logic.

When a module is initialized, Bunstone executes onModuleInit() for providers that implement OnModuleInit.

Basic Usage

typescript
import { Injectable, Module } from "@grupodiariodaregiao/bunstone";
import type { OnModuleInit } from "@grupodiariodaregiao/bunstone";

@Injectable()
class AppInitService implements OnModuleInit {
  onModuleInit(): void {
    console.log("Module initialized");
  }
}

@Module({
  providers: [AppInitService],
})
export class AppModule {}

Async Initialization

onModuleInit() can be async:

typescript
@Injectable()
class CacheWarmupService implements OnModuleInit {
  async onModuleInit(): Promise<void> {
    await this.loadCache();
  }

  private async loadCache() {
    // startup logic
  }
}

Notes

  • Use it only in providers registered in @Module({ providers: [...] }).
  • The method is awaited during app/module startup.

Released under the MIT License.