UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

1 lines 1.13 kB
{"version":3,"sources":["../../src/types/Builder.ts"],"sourcesContent":["import { Constructor } from './Constructor';\nimport { asString } from './Text';\n\nclass builder {\n private static state: any = {};\n static singleton = <T>(ctr: Constructor<T>, ...args: any[]): T => builder.state[asString(ctr)] ?? (builder.state[asString(ctr)] = new ctr(...args));\n static reset = (): void => {\n builder.state = {};\n };\n}\n\nexport const build = {\n singleton: <T>(ctr: Constructor<T>, ...args: any[]): T => builder.singleton(ctr, ...args),\n reset: (): void => builder.reset(),\n};\n\nexport const singleton = <T>(ctr: Constructor<T>, ...args: any[]): T => build.singleton(ctr, ...args);\n"],"mappings":";;;;;;;;;AAGA,IAAM,UAAN,MAAM,SAAQ;AAAA,EACZ,OAAe,QAAa,CAAC;AAAA,EAC7B,OAAO,YAAY,CAAI,QAAwB,SAAmB,SAAQ,MAAM,SAAS,GAAG,CAAC,MAAM,SAAQ,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI;AAAA,EACjJ,OAAO,QAAQ,MAAY;AACzB,aAAQ,QAAQ,CAAC;AAAA,EACnB;AACF;AAEO,IAAM,QAAQ;AAAA,EACnB,WAAW,CAAI,QAAwB,SAAmB,QAAQ,UAAU,KAAK,GAAG,IAAI;AAAA,EACxF,OAAO,MAAY,QAAQ,MAAM;AACnC;AAEO,IAAM,YAAY,CAAI,QAAwB,SAAmB,MAAM,UAAU,KAAK,GAAG,IAAI;","names":[]}