UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 2.8 kB
{"version":3,"sources":["template_resolver.js"],"names":[],"mappings":"AAAA;AAAA,KAAO,EAAC,UAAS,CAAC,KAAO,cAAY,CAAC;AACtC,KAAO,EAAC,IAAG,CAAC,KAAO,qCAAmC,CAAC;AAEvD,KAAO,EAAC,IAAG;AAAG,UAAQ;AAAG,QAAM;AAAG,cAAY,CAAC,KAAO,2BAAyB,CAAC;AAChF,KAAO,EAAC,GAAE;AAAG,WAAS;AAAG,KAAG;AAAG,YAAU,CAAC,KAAO,iCAA+B,CAAC;AAEjF,KAAO,EAAC,SAAQ,CAAC,KAAO,qCAAmC,CAAC;AAI5D,KAAO,MAAM,iBAAe;AAG1B,YAAU,CAAE,AAAD,CAAG;AACZ,OAAG,OAAO,EAAI,CAAA,UAAS,OAAO,AAAC,EAAC,CAAC;EACnC;AAAA,AAEA,QAAM,CAAE,SAAQ,AAAM;AAjBxB,SAAK,cAAc,WAiBE,KAAG,CAjBc,CAAA;AAkBlC,AAAI,MAAA,CAAA,IAAG,EAAI,CAAA,UAAS,IAAI,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAC,CAAC;AAEjD,OAAI,OAAM,AAAC,CAAC,IAAG,CAAC,CAAG;AACjB,SAAG,EAAI,CAAA,IAAG,SAAS,AAAC,CAAC,SAAQ,CAAC,CAAC;AAC/B,eAAS,IAAI,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAG,KAAG,CAAC,CAAC;IAC9C;AAAA,AAvBJ,SAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CAyBd,IAAG,CAzB6B,CAiBf,KAAG,CAjBgC,CAAA;EA0B7D;AAEA,SAAO,CAAE,SAAQ,AAAM,CAAG;AA5B5B,SAAK,cAAc,WA4BG,KAAG,CA5Ba,CAAA;AA6BlC,AAAI,MAAA,CAAA,WAAU,EAAI,CAAA,SAAQ,YAAY,AAAC,CAAC,SAAQ,CAAC,CAAC;AAClD,QAAS,GAAA,CAAA,CAAA,EAAI,EAAA,CAAG,CAAA,CAAA,EAAI,CAAA,WAAU,OAAO,CAAG,CAAA,CAAA,EAAE,CAAG;AAC3C,AAAI,QAAA,CAAA,UAAS,EAAI,CAAA,WAAU,CAAE,CAAA,CAAC,CAAC;AAC/B,SAAI,UAAS,WAAa,KAAG,CAAG;AAC9B,aAAO,WAAS,CAAC;MACnB;AAAA,IACF;AAAA,AAEA,QAAM,IAAI,cAAY,AAAC,CAAC,yBAAyB,SAAQ,AAAC,CAAC,SAAQ,CAAC,EAAE,CAAC,CAAC;EAC1E;AAAA,AACF;AAAA,AAvCA,KAAK,eAAe,AAAC,iCACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAQzB,WAAS,AAAC,EAAC,EARqC;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,kDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAgBL,IAAG,GAhByB;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,mDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YA2BJ,IAAG,GA3BwB;EAAC,CAAC,CAAC,CAAC;AAuCrD","file":"angular2/src/core/compiler/template_resolver.es6","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {View} from 'angular2/src/core/annotations/view';\n\nimport {Type, stringify, isBlank, BaseException} from 'angular2/src/facade/lang';\nimport {Map, MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';\n\nimport {reflector} from 'angular2/src/reflection/reflection';\n\n\n@Injectable()\nexport class TemplateResolver {\n _cache: Map;\n\n constructor() {\n this._cache = MapWrapper.create();\n }\n\n resolve(component: Type): View {\n var view = MapWrapper.get(this._cache, component);\n\n if (isBlank(view)) {\n view = this._resolve(component);\n MapWrapper.set(this._cache, component, view);\n }\n\n return view;\n }\n\n _resolve(component: Type) {\n var annotations = reflector.annotations(component);\n for (var i = 0; i < annotations.length; i++) {\n var annotation = annotations[i];\n if (annotation instanceof View) {\n return annotation;\n }\n }\n\n throw new BaseException(`No template found for ${stringify(component)}`);\n }\n}\n"]}