Skip to content

Injectable

Marks a class as an injectable provider for a token.

Dependencies are explicit and ordered by constructor parameter position. No reflect-metadata, parameter decorators, or global container are used.

@Injectable({ token: USER_SERVICE, deps: [LOGGER] })
class UserService {
private readonly logger: Logger;
constructor(logger: Logger) {
this.logger = logger;
}
}

Injectable<T, TDeps>(options): InjectableDecorator<InjectableConstructor<T, TDeps>>

Defined in: packages/di-craft/src/core/annotation/annotation.ts:47

T

TDeps extends readonly Dependency<unknown>[]

InjectableOptions<T, TDeps> & object

InjectableDecorator<InjectableConstructor<T, TDeps>>

Injectable<T>(options): InjectableDecorator<InjectableConstructor<T, readonly []>>

Defined in: packages/di-craft/src/core/annotation/annotation.ts:54

T

InjectableOptionsWithoutDeps<T>

InjectableDecorator<InjectableConstructor<T, readonly []>>