opinionated-machine
Version:
Very opinionated DI framework for fastify, built on top of awilix
28 lines • 1.06 kB
JavaScript
export class AbstractModule {
/**
* Override to register REST and SSE controllers.
* Returns empty object by default - no changes needed for modules without controllers.
*
* Controllers registered here are automatically added to the DI container.
* SSE controllers (created with asSSEControllerClass) are automatically detected
* and registered for SSE route handling.
*
* @param diOptions - DI options (use for test mode detection with asSSEControllerClass)
*
* @example
* ```typescript
* public resolveControllers(diOptions: DependencyInjectionOptions) {
* return {
* // REST controller
* usersController: asControllerClass(UsersController),
* // SSE controller (automatically detected via isSSEController flag)
* notificationsSSEController: asSSEControllerClass(NotificationsSSEController, { diOptions }),
* }
* }
* ```
*/
resolveControllers(_diOptions) {
return {};
}
}
//# sourceMappingURL=AbstractModule.js.map