@vielzeug/wireit
v3.0.4
Published
--- description: Typed dependency injection for TypeScript. package: wireit category: di keywords: [dependency-injection, ioc, container, singleton, transient, factory, scoped] related: [logit, eventit, permit] exports: [createContainer, createToken] ---
Readme
description: Typed dependency injection for TypeScript. package: wireit category: di keywords: [dependency-injection, ioc, container, singleton, transient, factory, scoped] related: [logit, eventit, permit] exports: [createContainer, createToken]
@vielzeug/wireit
Typed dependency injection for TypeScript.
Package: @vielzeug/wireit · Category: Di
Key exports: createContainer, createToken
When to use: Typed dependency injection for TypeScript.
Related: @vielzeug/logit · @vielzeug/eventit · @vielzeug/permit
@vielzeug/wireit is part of Vielzeug and ships as a zero-dependency TypeScript package with ESM+CJS output.
Installation
pnpm add @vielzeug/wireit
npm install @vielzeug/wireit
yarn add @vielzeug/wireitQuick Start
import { createContainer, createToken } from '@vielzeug/wireit';
const Logger = createToken<{ log(message: string): void }>('Logger');
const Service = createToken<{ run(): Promise<void> }>('Service');
const container = createContainer();
container.value(Logger, {
log(message) {
console.log(message);
},
});
container.factory(Service, (logger) => {
return {
async run() {
logger.log('started');
},
};
}, {
deps: [Logger],
});
await container.resolve(Service);Documentation
License
MIT © Helmuth Saatkamp — part of the Vielzeug monorepo.
