react-obsidian
Version:
Dependency injection framework for React and React Native applications
15 lines (12 loc) • 437 B
text/typescript
import { Constructor, Constructable } from '../types';
import graphRegistry from '../graph/registry/GraphRegistry';
import { ObjectGraph } from '../graph/ObjectGraph';
interface GraphParams {
subgraphs: Constructable<ObjectGraph>[];
}
export function graph<Class extends Constructor>({ subgraphs = [] }: Partial<GraphParams> = {}) {
return (Clazz: Class) => {
graphRegistry.register(Clazz, subgraphs);
return Clazz;
};
}