react-obsidian
Version:
Dependency injection framework for React and React Native applications
12 lines • 706 B
TypeScript
import { ObjectGraph } from './graph/ObjectGraph';
import { GraphInternals, ServiceLocator, type Constructable } from './types';
import { GraphMiddleware } from './graph/registry/GraphMiddleware';
export default class Obsidian {
registerGraph(key: string, generator: () => Constructable<ObjectGraph>): void;
obtain<T extends ObjectGraph<P>, P = unknown>(keyOrGraph: string | (new (...args: P[]) => T), props?: P): ServiceLocator<Omit<T, GraphInternals>>;
inject<T extends object>(target: T, keyOrGraph?: string | ObjectGraph): object;
addGraphMiddleware(middleware: GraphMiddleware): void;
clearGraphMiddlewares(): void;
clearGraphs(): void;
}
//# sourceMappingURL=Obsidian.d.ts.map