import { GenericManifest } from "../manifest/ManifestTypes"; import { AutoConfig, AutoConfigFrom } from "./AutoConfig"; export function setupAutoConfig< WD, Input, Manifest extends GenericManifest, NestedConfigs extends { [key in keyof Manifest["dependencies"]]: unknown; }, >(configs: AutoConfigFrom) { type C = typeof configs; const answer = { ...configs } as unknown as { [k in keyof C]: AutoConfig; }; for (const key in configs) { answer[key as keyof typeof configs] = new AutoConfig< WD, Input, NestedConfigs >(configs, key as keyof typeof configs); } return answer; }