{"version":3,"file":"ng-auto-moq-jest.mjs","sources":["../../../projects/ng-auto-moq/jest/lib/jest.reflector.ts","../../../projects/ng-auto-moq/jest/lib/index.ts","../../../projects/ng-auto-moq/jest/public_api.ts","../../../projects/ng-auto-moq/jest/ng-auto-moq-jest.ts"],"sourcesContent":["import { InjectionFactory } from \"@testdozer/ng-injector-types\";\nimport { Inject, Optional, Self, SkipSelf, Type } from \"@angular/core\";\nimport { IParameter, TokenNameProvider, Visibility } from \"ng-auto-moq\";\nimport { ICtorParameter } from \"./ctor.parameter\";\n\nexport class JestReflector implements InjectionFactory {\n    constructor(@Inject(TokenNameProvider)\n                private readonly tokenNameProvider: TokenNameProvider) {\n        return this.factory() as any;\n    }\n\n    factory() {\n        return <T>(type: Type<T>): IParameter[] => {\n            if (((type as any).ctorParameters instanceof Function) === false) {\n                throw new Error(\n                    `Type should have a static 'ctorParameters' property containing downleveled decorator information.\nhttps://github.com/thymikee/jest-preset-angular/blob/ac9b689d9ba18b5ae2e18e9ed083d2cbbf86b2fd/src/transformers/downlevel-ctor.ts`);\n            }\n            const params = (type as any).ctorParameters() as ICtorParameter[];\n            return params.map(this.toParameter);\n        };\n    }\n\n    private toParameter = ({type, decorators}: ICtorParameter): IParameter => {\n\n        let visibility: Visibility = Visibility.None;\n        let token = type;\n        let optional = false;\n\n        for (const {type: decorator, args} of (decorators || [])) {\n            if (decorator === Inject) {\n                token = args[0];\n            } else if (decorator === Optional) {\n                optional = true;\n            } else if (decorator === Self) {\n                visibility = Visibility.Self;\n            } else if (decorator === SkipSelf) {\n                visibility = Visibility.SkipSelf;\n            }\n        }\n\n\n        return {\n            token: token as any,\n            optional,\n            visibility,\n            displayName: this.tokenNameProvider.getName(token)\n        };\n    };\n}\n","import { moqInjectorProvidersFactory as original, OnlyStaticProvider, Reflector, TokenNameProvider } from \"ng-auto-moq\";\nimport { JestReflector } from \"./jest.reflector\";\n\n/**\n * Provides the service-to-test and its (moq) dependencies\n */\nexport const moqInjectorProvidersFactory = (options: { providers?: OnlyStaticProvider[] } = {}) => original({\n        providers: [\n            {provide: Reflector, useClass: JestReflector, deps: [TokenNameProvider]},\n            ...(options.providers || [])\n        ]\n    });\n","/*\n * Public API Surface of ng-auto-moq/jest\n */\n\nexport * from \"./lib/jest.reflector\";\nexport * from \"./lib/index\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["original"],"mappings":";;;;AAKa,IAAA,aAAa,GAAnB,MAAM,aAAa,CAAA;AACtB,IAAA,WAAA,CAC6B,iBAAoC,EAAA;AAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAgBzD,IAAW,CAAA,WAAA,GAAG,CAAC,EAAC,IAAI,EAAE,UAAU,EAAiB,KAAgB;AAErE,YAAA,IAAI,UAAU,2BAA+B;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,YAAA,KAAK,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,KAAK,UAAU,IAAI,EAAE,GAAG;gBACtD,IAAI,SAAS,KAAK,MAAM,EAAE;AACtB,oBAAA,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,iBAAA;qBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;oBAC/B,QAAQ,GAAG,IAAI,CAAC;AACnB,iBAAA;qBAAM,IAAI,SAAS,KAAK,IAAI,EAAE;AAC3B,oBAAA,UAAU,2BAAmB;AAChC,iBAAA;qBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC/B,oBAAA,UAAU,+BAAuB;AACpC,iBAAA;AACJ,aAAA;YAGD,OAAO;AACH,gBAAA,KAAK,EAAE,KAAY;gBACnB,QAAQ;gBACR,UAAU;gBACV,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;aACrD,CAAC;AACN,SAAC,CAAC;AAxCE,QAAA,OAAO,IAAI,CAAC,OAAO,EAAS,CAAC;KAChC;IAED,OAAO,GAAA;QACH,OAAO,CAAI,IAAa,KAAkB;YACtC,IAAI,CAAE,IAAY,CAAC,cAAc,YAAY,QAAQ,MAAM,KAAK,EAAE;gBAC9D,MAAM,IAAI,KAAK,CACX,CAAA;AAC6G,gIAAA,CAAA,CAAC,CAAC;AACtH,aAAA;AACD,YAAA,MAAM,MAAM,GAAI,IAAY,CAAC,cAAc,EAAsB,CAAC;YAClE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxC,SAAC,CAAC;KACL;EA4BJ;AA5CY,aAAa,GAAA,UAAA,CAAA;AACT,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;qCACU,iBAAiB,CAAA,CAAA;CAFxD,EAAA,aAAa,CA4CzB;;AC9CD;;AAEG;AACI,MAAM,2BAA2B,GAAG,CAAC,OAAgD,GAAA,EAAE,KAAKA,6BAAQ,CAAC;AACpG,IAAA,SAAS,EAAE;AACP,QAAA,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAC;AACxE,QAAA,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;AAC/B,KAAA;AACJ,CAAA;;ACXL;;AAEG;;ACFH;;AAEG;;;;"}