@half0wl/container / BaseService
Abstract Class: BaseService<TDeps>
Defined in: base.ts:86
Abstract base class that all container-managed services extend.
Receives injected dependencies via its constructor and exposes them as this.deps (user-defined) and this.registry (the container).
Example
ts
interface ContainerDeps {
db: DatabaseClient;
logger: Logger;
}
@Service()
class UserService extends BaseService<ContainerDeps> {
findById(id: string) {
return this.deps.db.users.findUnique({ where: { id } });
}
}Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
TDeps | unknown | User-defined dependency interface |
Constructors
Constructor
ts
new BaseService<TDeps>(dependencies): BaseService<TDeps>;Defined in: base.ts:93
Parameters
| Parameter | Type |
|---|---|
dependencies | ServiceDependencies<TDeps> |
Returns
BaseService<TDeps>
Properties
deps
ts
protected readonly deps: TDeps;Defined in: base.ts:88
The user-defined dependencies (everything except registry).
registry
ts
protected readonly registry: IContainer;Defined in: base.ts:91
The container instance, used internally by Inject to resolve other services.