@wirestate/core [monorepo] [docs]
Framework-agnostic Wirestate runtime.
Use this package to define injectable services, create containers, run lifecycle hooks, and communicate through container-local events, commands, and queries.
Install
bash
npm install @wirestate/coreStart
ts
import { Injectable, Container } from "@wirestate/core";
@Injectable()
class CounterService {
public count: number = 0;
public increment(): void {
this.count++;
}
}
const container = new Container({
bindings: [CounterService],
});
const counterService = container.get(CounterService);
counterService.increment();What Is Included
- DI primitives such as
Injectable,inject,Container,ServiceToken, andInjectionToken. Containerand container methods such asbind,unbind,unbindAll,get,has, andgetOwnBindings.OnActivation,OnDeactivation,OnProvision, andOnDeprovision.WireStatusandProvisionIdfor lifecycle guards on resolved service instances.EventBus,CommandBus,QueryBus, and their decorators (OnEvent,OnCommand,OnQuery), enabled by registeringEventsPlugin,CommandsPlugin, orQueriesPlugin.- An optional
@wirestate/core/devtoolssubpath (DevToolsPlugin) for development-time container inspection.
React and Lit integration live in @wirestate/react and @wirestate/lit.
Learn More
License
MIT