{"version":3,"sources":["../../src/resources/Requires.ts"],"sourcesContent":["import { meta } from '@thisisagile/easy';\nimport { Scope, UseCase } from '@thisisagile/easy';\n\nexport class Requires {\n  readonly labCoat =\n    (): PropertyDecorator =>\n    (subject: unknown, property: string | symbol): void => {\n      meta(subject).property(property).set('labCoat', true);\n    };\n\n  readonly token =\n    (): PropertyDecorator =>\n    (subject: unknown, property: string | symbol): void => {\n      meta(subject).property(property).set('token', true);\n    };\n\n  readonly scope =\n    (scope: Scope): PropertyDecorator =>\n    (subject: unknown, property: string | symbol): void => {\n      meta(subject).property(property).set('token', true);\n      meta(subject).property(property).set('scope', scope);\n    };\n\n  readonly useCase =\n    (uc: UseCase): PropertyDecorator =>\n    (subject: unknown, property: string | symbol): void => {\n      meta(subject).property(property).set('token', true);\n      meta(subject).property(property).set('uc', uc);\n    };\n}\n\nexport const requires = new Requires();\n"],"mappings":";;;AAAA,SAAS,YAAY;AAGd,IAAM,WAAN,MAAe;AAAA,EACX,UACP,MACA,CAAC,SAAkB,aAAoC;AACrD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,WAAW,IAAI;AAAA,EACtD;AAAA,EAEO,QACP,MACA,CAAC,SAAkB,aAAoC;AACrD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,SAAS,IAAI;AAAA,EACpD;AAAA,EAEO,QACP,CAAC,UACD,CAAC,SAAkB,aAAoC;AACrD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,SAAS,IAAI;AAClD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,SAAS,KAAK;AAAA,EACrD;AAAA,EAEO,UACP,CAAC,OACD,CAAC,SAAkB,aAAoC;AACrD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,SAAS,IAAI;AAClD,SAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,MAAM,EAAE;AAAA,EAC/C;AACJ;AAEO,IAAM,WAAW,IAAI,SAAS;","names":[]}