@ng-doc/app
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
1 lines • 2.14 kB
Source Map (JSON)
{"version":3,"file":"ng-doc-app-providers-type-control.mjs","sources":["../../../../libs/app/providers/type-control/provide-type-control.ts","../../../../libs/app/providers/type-control/ng-doc-app-providers-type-control.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport {\n NgDocProvidedTypeControl,\n NgDocTypeControl,\n NgDocTypeControlProviderOptions,\n} from '@ng-doc/app/interfaces';\nimport { Constructor } from '@ng-doc/core/types';\n\nconst tokenStore: Map<string, InjectionToken<NgDocProvidedTypeControl>> = new Map<\n string,\n InjectionToken<NgDocProvidedTypeControl>\n>();\n\n/**\n *\n * @param type\n * @param control\n * @param options\n */\nexport function provideTypeControl(\n type: string,\n control: Constructor<NgDocTypeControl>,\n options?: NgDocTypeControlProviderOptions,\n): Provider {\n const token: InjectionToken<NgDocProvidedTypeControl> =\n new InjectionToken<NgDocProvidedTypeControl>(`NG_DOC_TYPE_CONTROL_${type}`, {\n providedIn: 'root',\n factory: () => {\n return {\n control,\n options,\n };\n },\n });\n tokenStore.set(type, token);\n\n return {\n provide: 'nothing',\n useValue: null,\n };\n}\n\n/**\n * Returns token for type control based on provided type\n * @param type - type for searched control (e.g. `string`)\n */\nexport function getTokenForType(\n type: string,\n): InjectionToken<NgDocProvidedTypeControl> | undefined {\n return tokenStore.get(type);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAQA,MAAM,UAAU,GAA0D,IAAI,GAAG,EAG9E;AAEH;;;;;AAKG;SACa,kBAAkB,CAChC,IAAY,EACZ,OAAsC,EACtC,OAAyC,EAAA;IAEzC,MAAM,KAAK,GACT,IAAI,cAAc,CAA2B,CAAuB,oBAAA,EAAA,IAAI,EAAE,EAAE;AAC1E,QAAA,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAK;YACZ,OAAO;gBACL,OAAO;gBACP,OAAO;aACR;SACF;AACF,KAAA,CAAC;AACJ,IAAA,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;IAE3B,OAAO;AACL,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,QAAQ,EAAE,IAAI;KACf;AACH;AAEA;;;AAGG;AACG,SAAU,eAAe,CAC7B,IAAY,EAAA;AAEZ,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B;;AClDA;;AAEG;;;;"}