import { AbstractConstructor, Constructable } from '../types'; import graphRegistry from '../graph/registry/GraphRegistry'; import { ObjectGraph } from '../graph/ObjectGraph'; interface GraphParams { subgraphs: Constructable[]; privateSubgraphs: Constructable[]; } export function graph( { subgraphs = [], privateSubgraphs = [] }: Partial = {}, ) { return (Clazz: Class) => { graphRegistry.register(Clazz as unknown as Constructable, subgraphs, privateSubgraphs); return Clazz; }; }