{"version":3,"sources":["../../src/FlexibleFactory.mts"],"sourcesContent":["export interface FlexibleFactoryInterface<T> {\n  register<T>(key: string, factory: (...args: any[]) => T): void;\n  create<T>(key: string, ...args: any[]): Promise<T>;\n}\n\nexport class FlexibleFactory<T> {\n  registry: Map<string, any> = new Map();\n\n  register<T>(key: string, ctor: (...args: any[]) => T) {\n    this.registry.set(key, ctor);\n  }\n\n  create<T>(key: string, ...args: any[]): T {\n    const ctor = this.registry.get(key);\n    if (!ctor) {\n      throw new Error(`No class registered for key: ${key}`);\n    }\n    return ctor(...args);\n  }\n}\n"],"mappings":";;AAKO,MAAM,gBAAmB;AAAA,EALhC,OAKgC;AAAA;AAAA;AAAA,EAC9B,WAA6B,oBAAI,IAAI;AAAA,EAErC,SAAY,KAAa,MAA6B;AACpD,SAAK,SAAS,IAAI,KAAK,IAAI;AAAA,EAC7B;AAAA,EAEA,OAAU,QAAgB,MAAgB;AACxC,UAAM,OAAO,KAAK,SAAS,IAAI,GAAG;AAClC,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,MAAM,gCAAgC,GAAG,EAAE;AAAA,IACvD;AACA,WAAO,KAAK,GAAG,IAAI;AAAA,EACrB;AACF;","names":[]}