UNPKG

24.9 kBJavaScriptView Raw
1/**
2 * @license Angular v9.0.6
3 * (c) 2010-2020 Google LLC. https://angular.io/
4 * License: MIT
5 */
6
7import { getUrlScheme, syntaxError, Identifiers, JitCompiler, ProviderMeta, I18NHtmlParser, CompilerConfig, CompileReflector, ResourceLoader, JitSummaryResolver, SummaryResolver, Lexer, Parser, HtmlParser, TemplateParser, ElementSchemaRegistry, JitEvaluator, DirectiveNormalizer, UrlResolver, CompileMetadataResolver, NgModuleResolver, DirectiveResolver, PipeResolver, StaticSymbolCache, StyleCompiler, ViewCompiler, NgModuleCompiler, DomElementSchemaRegistry } from '@angular/compiler';
8import { ɵReflectionCapabilities, ɵstringify, ANALYZE_FOR_ENTRY_COMPONENTS, ElementRef, NgModuleRef, ViewContainerRef, ChangeDetectorRef, Renderer2, QueryList, TemplateRef, ɵCodegenComponentFactoryResolver, ComponentFactoryResolver, ComponentFactory, ComponentRef, NgModuleFactory, ɵcmf, ɵmod, ɵmpd, ɵregisterModuleFactory, Injector, ViewEncapsulation, ChangeDetectionStrategy, SecurityContext, LOCALE_ID, TRANSLATIONS_FORMAT, ɵinlineInterpolate, ɵinterpolate, ɵEMPTY_ARRAY, ɵEMPTY_MAP, ɵvid, ɵeld, ɵand, ɵted, ɵdid, ɵprd, ɵqud, ɵpad, ɵpod, ɵppd, ɵpid, ɵnov, ɵncd, ɵunv, ɵcrt, ɵccf, InjectionToken, PACKAGE_ROOT_URL, Compiler, MissingTranslationStrategy, ɵConsole, Optional, Inject, TRANSLATIONS, isDevMode, createPlatformFactory, platformCore, COMPILER_OPTIONS, CompilerFactory, Injectable, PLATFORM_ID, ɵglobal, Version } from '@angular/core';
9import { ɵPLATFORM_BROWSER_ID } from '@angular/common';
10import { ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS } from '@angular/platform-browser';
11
12/**
13 * @fileoverview added by tsickle
14 * Generated from: packages/platform-browser-dynamic/src/compiler_reflector.ts
15 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16 */
17/** @type {?} */
18const MODULE_SUFFIX = '';
19/** @type {?} */
20const builtinExternalReferences = createBuiltinExternalReferencesMap();
21class JitReflector {
22 constructor() {
23 this.reflectionCapabilities = new ɵReflectionCapabilities();
24 }
25 /**
26 * @param {?} type
27 * @param {?} cmpMetadata
28 * @return {?}
29 */
30 componentModuleUrl(type, cmpMetadata) {
31 /** @type {?} */
32 const moduleId = cmpMetadata.moduleId;
33 if (typeof moduleId === 'string') {
34 /** @type {?} */
35 const scheme = getUrlScheme(moduleId);
36 return scheme ? moduleId : `package:${moduleId}${MODULE_SUFFIX}`;
37 }
38 else if (moduleId !== null && moduleId !== void 0) {
39 throw syntaxError(`moduleId should be a string in "${ɵstringify(type)}". See https://goo.gl/wIDDiL for more information.\n` +
40 `If you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.`);
41 }
42 return `./${ɵstringify(type)}`;
43 }
44 /**
45 * @param {?} typeOrFunc
46 * @return {?}
47 */
48 parameters(typeOrFunc) {
49 return this.reflectionCapabilities.parameters(typeOrFunc);
50 }
51 /**
52 * @param {?} typeOrFunc
53 * @return {?}
54 */
55 tryAnnotations(typeOrFunc) { return this.annotations(typeOrFunc); }
56 /**
57 * @param {?} typeOrFunc
58 * @return {?}
59 */
60 annotations(typeOrFunc) {
61 return this.reflectionCapabilities.annotations(typeOrFunc);
62 }
63 /**
64 * @param {?} typeOrFunc
65 * @return {?}
66 */
67 shallowAnnotations(typeOrFunc) {
68 throw new Error('Not supported in JIT mode');
69 }
70 /**
71 * @param {?} typeOrFunc
72 * @return {?}
73 */
74 propMetadata(typeOrFunc) {
75 return this.reflectionCapabilities.propMetadata(typeOrFunc);
76 }
77 /**
78 * @param {?} type
79 * @param {?} lcProperty
80 * @return {?}
81 */
82 hasLifecycleHook(type, lcProperty) {
83 return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty);
84 }
85 /**
86 * @param {?} type
87 * @return {?}
88 */
89 guards(type) { return this.reflectionCapabilities.guards(type); }
90 /**
91 * @param {?} ref
92 * @return {?}
93 */
94 resolveExternalReference(ref) {
95 return builtinExternalReferences.get(ref) || ref.runtime;
96 }
97}
98if (false) {
99 /**
100 * @type {?}
101 * @private
102 */
103 JitReflector.prototype.reflectionCapabilities;
104}
105/**
106 * @return {?}
107 */
108function createBuiltinExternalReferencesMap() {
109 /** @type {?} */
110 const map = new Map();
111 map.set(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS, ANALYZE_FOR_ENTRY_COMPONENTS);
112 map.set(Identifiers.ElementRef, ElementRef);
113 map.set(Identifiers.NgModuleRef, NgModuleRef);
114 map.set(Identifiers.ViewContainerRef, ViewContainerRef);
115 map.set(Identifiers.ChangeDetectorRef, ChangeDetectorRef);
116 map.set(Identifiers.Renderer2, Renderer2);
117 map.set(Identifiers.QueryList, QueryList);
118 map.set(Identifiers.TemplateRef, TemplateRef);
119 map.set(Identifiers.CodegenComponentFactoryResolver, ɵCodegenComponentFactoryResolver);
120 map.set(Identifiers.ComponentFactoryResolver, ComponentFactoryResolver);
121 map.set(Identifiers.ComponentFactory, ComponentFactory);
122 map.set(Identifiers.ComponentRef, ComponentRef);
123 map.set(Identifiers.NgModuleFactory, NgModuleFactory);
124 map.set(Identifiers.createModuleFactory, ɵcmf);
125 map.set(Identifiers.moduleDef, ɵmod);
126 map.set(Identifiers.moduleProviderDef, ɵmpd);
127 map.set(Identifiers.RegisterModuleFactoryFn, ɵregisterModuleFactory);
128 map.set(Identifiers.Injector, Injector);
129 map.set(Identifiers.ViewEncapsulation, ViewEncapsulation);
130 map.set(Identifiers.ChangeDetectionStrategy, ChangeDetectionStrategy);
131 map.set(Identifiers.SecurityContext, SecurityContext);
132 map.set(Identifiers.LOCALE_ID, LOCALE_ID);
133 map.set(Identifiers.TRANSLATIONS_FORMAT, TRANSLATIONS_FORMAT);
134 map.set(Identifiers.inlineInterpolate, ɵinlineInterpolate);
135 map.set(Identifiers.interpolate, ɵinterpolate);
136 map.set(Identifiers.EMPTY_ARRAY, ɵEMPTY_ARRAY);
137 map.set(Identifiers.EMPTY_MAP, ɵEMPTY_MAP);
138 map.set(Identifiers.viewDef, ɵvid);
139 map.set(Identifiers.elementDef, ɵeld);
140 map.set(Identifiers.anchorDef, ɵand);
141 map.set(Identifiers.textDef, ɵted);
142 map.set(Identifiers.directiveDef, ɵdid);
143 map.set(Identifiers.providerDef, ɵprd);
144 map.set(Identifiers.queryDef, ɵqud);
145 map.set(Identifiers.pureArrayDef, ɵpad);
146 map.set(Identifiers.pureObjectDef, ɵpod);
147 map.set(Identifiers.purePipeDef, ɵppd);
148 map.set(Identifiers.pipeDef, ɵpid);
149 map.set(Identifiers.nodeValue, ɵnov);
150 map.set(Identifiers.ngContentDef, ɵncd);
151 map.set(Identifiers.unwrapValue, ɵunv);
152 map.set(Identifiers.createRendererType2, ɵcrt);
153 map.set(Identifiers.createComponentFactory, ɵccf);
154 return map;
155}
156
157/**
158 * @fileoverview added by tsickle
159 * Generated from: packages/platform-browser-dynamic/src/compiler_factory.ts
160 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
161 */
162/** @type {?} */
163const ERROR_COLLECTOR_TOKEN = new InjectionToken('ErrorCollector');
164/**
165 * A default provider for {\@link PACKAGE_ROOT_URL} that maps to '/'.
166 * @type {?}
167 */
168const DEFAULT_PACKAGE_URL_PROVIDER = {
169 provide: PACKAGE_ROOT_URL,
170 useValue: '/'
171};
172/** @type {?} */
173const _NO_RESOURCE_LOADER = {
174 /**
175 * @param {?} url
176 * @return {?}
177 */
178 get(url) {
179 throw new Error(`No ResourceLoader implementation has been provided. Can't read the url "${url}"`);
180 }
181};
182/** @type {?} */
183const baseHtmlParser = new InjectionToken('HtmlParser');
184class CompilerImpl {
185 /**
186 * @param {?} injector
187 * @param {?} _metadataResolver
188 * @param {?} templateParser
189 * @param {?} styleCompiler
190 * @param {?} viewCompiler
191 * @param {?} ngModuleCompiler
192 * @param {?} summaryResolver
193 * @param {?} compileReflector
194 * @param {?} jitEvaluator
195 * @param {?} compilerConfig
196 * @param {?} console
197 */
198 constructor(injector, _metadataResolver, templateParser, styleCompiler, viewCompiler, ngModuleCompiler, summaryResolver, compileReflector, jitEvaluator, compilerConfig, console) {
199 this._metadataResolver = _metadataResolver;
200 this._delegate = new JitCompiler(_metadataResolver, templateParser, styleCompiler, viewCompiler, ngModuleCompiler, summaryResolver, compileReflector, jitEvaluator, compilerConfig, console, this.getExtraNgModuleProviders.bind(this));
201 this.injector = injector;
202 }
203 /**
204 * @private
205 * @return {?}
206 */
207 getExtraNgModuleProviders() {
208 return [this._metadataResolver.getProviderMetadata(new ProviderMeta(Compiler, { useValue: this }))];
209 }
210 /**
211 * @template T
212 * @param {?} moduleType
213 * @return {?}
214 */
215 compileModuleSync(moduleType) {
216 return (/** @type {?} */ (this._delegate.compileModuleSync(moduleType)));
217 }
218 /**
219 * @template T
220 * @param {?} moduleType
221 * @return {?}
222 */
223 compileModuleAsync(moduleType) {
224 return (/** @type {?} */ (this._delegate.compileModuleAsync(moduleType)));
225 }
226 /**
227 * @template T
228 * @param {?} moduleType
229 * @return {?}
230 */
231 compileModuleAndAllComponentsSync(moduleType) {
232 /** @type {?} */
233 const result = this._delegate.compileModuleAndAllComponentsSync(moduleType);
234 return {
235 ngModuleFactory: (/** @type {?} */ (result.ngModuleFactory)),
236 componentFactories: (/** @type {?} */ (result.componentFactories)),
237 };
238 }
239 /**
240 * @template T
241 * @param {?} moduleType
242 * @return {?}
243 */
244 compileModuleAndAllComponentsAsync(moduleType) {
245 return this._delegate.compileModuleAndAllComponentsAsync(moduleType)
246 .then((/**
247 * @param {?} result
248 * @return {?}
249 */
250 (result) => ({
251 ngModuleFactory: (/** @type {?} */ (result.ngModuleFactory)),
252 componentFactories: (/** @type {?} */ (result.componentFactories)),
253 })));
254 }
255 /**
256 * @param {?} summaries
257 * @return {?}
258 */
259 loadAotSummaries(summaries) { this._delegate.loadAotSummaries(summaries); }
260 /**
261 * @param {?} ref
262 * @return {?}
263 */
264 hasAotSummary(ref) { return this._delegate.hasAotSummary(ref); }
265 /**
266 * @template T
267 * @param {?} component
268 * @return {?}
269 */
270 getComponentFactory(component) {
271 return (/** @type {?} */ (this._delegate.getComponentFactory(component)));
272 }
273 /**
274 * @return {?}
275 */
276 clearCache() { this._delegate.clearCache(); }
277 /**
278 * @param {?} type
279 * @return {?}
280 */
281 clearCacheFor(type) { this._delegate.clearCacheFor(type); }
282 /**
283 * @param {?} moduleType
284 * @return {?}
285 */
286 getModuleId(moduleType) {
287 /** @type {?} */
288 const meta = this._metadataResolver.getNgModuleMetadata(moduleType);
289 return meta && meta.id || undefined;
290 }
291}
292if (false) {
293 /**
294 * @type {?}
295 * @private
296 */
297 CompilerImpl.prototype._delegate;
298 /** @type {?} */
299 CompilerImpl.prototype.injector;
300 /**
301 * @type {?}
302 * @private
303 */
304 CompilerImpl.prototype._metadataResolver;
305}
306const ɵ0 = new JitReflector(), ɵ1 = _NO_RESOURCE_LOADER, ɵ2 = /**
307 * @param {?} parser
308 * @param {?} translations
309 * @param {?} format
310 * @param {?} config
311 * @param {?} console
312 * @return {?}
313 */
314(parser, translations, format, config, console) => {
315 translations = translations || '';
316 /** @type {?} */
317 const missingTranslation = translations ? (/** @type {?} */ (config.missingTranslation)) : MissingTranslationStrategy.Ignore;
318 return new I18NHtmlParser(parser, translations, format, missingTranslation, console);
319}, ɵ3 = new CompilerConfig();
320/**
321 * A set of providers that provide `JitCompiler` and its dependencies to use for
322 * template compilation.
323 * @type {?}
324 */
325const COMPILER_PROVIDERS__PRE_R3__ = (/** @type {?} */ ([
326 { provide: CompileReflector, useValue: ɵ0 },
327 { provide: ResourceLoader, useValue: ɵ1 },
328 { provide: JitSummaryResolver, deps: [] },
329 { provide: SummaryResolver, useExisting: JitSummaryResolver },
330 { provide: ɵConsole, deps: [] },
331 { provide: Lexer, deps: [] },
332 { provide: Parser, deps: [Lexer] },
333 {
334 provide: baseHtmlParser,
335 useClass: HtmlParser,
336 deps: [],
337 },
338 {
339 provide: I18NHtmlParser,
340 useFactory: (ɵ2),
341 deps: [
342 baseHtmlParser,
343 [new Optional(), new Inject(TRANSLATIONS)],
344 [new Optional(), new Inject(TRANSLATIONS_FORMAT)],
345 [CompilerConfig],
346 [ɵConsole],
347 ]
348 },
349 {
350 provide: HtmlParser,
351 useExisting: I18NHtmlParser,
352 },
353 {
354 provide: TemplateParser, deps: [CompilerConfig, CompileReflector,
355 Parser, ElementSchemaRegistry,
356 I18NHtmlParser, ɵConsole]
357 },
358 { provide: JitEvaluator, useClass: JitEvaluator, deps: [] },
359 { provide: DirectiveNormalizer, deps: [ResourceLoader, UrlResolver, HtmlParser, CompilerConfig] },
360 { provide: CompileMetadataResolver, deps: [CompilerConfig, HtmlParser, NgModuleResolver,
361 DirectiveResolver, PipeResolver,
362 SummaryResolver,
363 ElementSchemaRegistry,
364 DirectiveNormalizer, ɵConsole,
365 [Optional, StaticSymbolCache],
366 CompileReflector,
367 [Optional, ERROR_COLLECTOR_TOKEN]] },
368 DEFAULT_PACKAGE_URL_PROVIDER,
369 { provide: StyleCompiler, deps: [UrlResolver] },
370 { provide: ViewCompiler, deps: [CompileReflector] },
371 { provide: NgModuleCompiler, deps: [CompileReflector] },
372 { provide: CompilerConfig, useValue: ɵ3 },
373 { provide: Compiler, useClass: CompilerImpl, deps: [Injector, CompileMetadataResolver,
374 TemplateParser, StyleCompiler,
375 ViewCompiler, NgModuleCompiler,
376 SummaryResolver, CompileReflector, JitEvaluator, CompilerConfig,
377 ɵConsole] },
378 { provide: DomElementSchemaRegistry, deps: [] },
379 { provide: ElementSchemaRegistry, useExisting: DomElementSchemaRegistry },
380 { provide: UrlResolver, deps: [PACKAGE_ROOT_URL] },
381 { provide: DirectiveResolver, deps: [CompileReflector] },
382 { provide: PipeResolver, deps: [CompileReflector] },
383 { provide: NgModuleResolver, deps: [CompileReflector] },
384]));
385/** @type {?} */
386const COMPILER_PROVIDERS__POST_R3__ = (/** @type {?} */ ([{ provide: Compiler, useFactory: (/**
387 * @return {?}
388 */
389 () => new Compiler()) }]));
390/** @type {?} */
391const COMPILER_PROVIDERS = COMPILER_PROVIDERS__PRE_R3__;
392/**
393 * \@publicApi
394 */
395class JitCompilerFactory {
396 /* @internal */
397 /**
398 * @param {?} defaultOptions
399 */
400 constructor(defaultOptions) {
401 /** @type {?} */
402 const compilerOptions = {
403 useJit: true,
404 defaultEncapsulation: ViewEncapsulation.Emulated,
405 missingTranslation: MissingTranslationStrategy.Warning,
406 };
407 this._defaultOptions = [compilerOptions, ...defaultOptions];
408 }
409 /**
410 * @param {?=} options
411 * @return {?}
412 */
413 createCompiler(options = []) {
414 /** @type {?} */
415 const opts = _mergeOptions(this._defaultOptions.concat(options));
416 /** @type {?} */
417 const injector = Injector.create([
418 COMPILER_PROVIDERS, {
419 provide: CompilerConfig,
420 useFactory: (/**
421 * @return {?}
422 */
423 () => {
424 return new CompilerConfig({
425 // let explicit values from the compiler options overwrite options
426 // from the app providers
427 useJit: opts.useJit,
428 jitDevMode: isDevMode(),
429 // let explicit values from the compiler options overwrite options
430 // from the app providers
431 defaultEncapsulation: opts.defaultEncapsulation,
432 missingTranslation: opts.missingTranslation,
433 preserveWhitespaces: opts.preserveWhitespaces,
434 });
435 }),
436 deps: []
437 },
438 (/** @type {?} */ (opts.providers))
439 ]);
440 return injector.get(Compiler);
441 }
442}
443if (false) {
444 /**
445 * @type {?}
446 * @private
447 */
448 JitCompilerFactory.prototype._defaultOptions;
449}
450/**
451 * @param {?} optionsArr
452 * @return {?}
453 */
454function _mergeOptions(optionsArr) {
455 return {
456 useJit: _lastDefined(optionsArr.map((/**
457 * @param {?} options
458 * @return {?}
459 */
460 options => options.useJit))),
461 defaultEncapsulation: _lastDefined(optionsArr.map((/**
462 * @param {?} options
463 * @return {?}
464 */
465 options => options.defaultEncapsulation))),
466 providers: _mergeArrays(optionsArr.map((/**
467 * @param {?} options
468 * @return {?}
469 */
470 options => (/** @type {?} */ (options.providers))))),
471 missingTranslation: _lastDefined(optionsArr.map((/**
472 * @param {?} options
473 * @return {?}
474 */
475 options => options.missingTranslation))),
476 preserveWhitespaces: _lastDefined(optionsArr.map((/**
477 * @param {?} options
478 * @return {?}
479 */
480 options => options.preserveWhitespaces))),
481 };
482}
483/**
484 * @template T
485 * @param {?} args
486 * @return {?}
487 */
488function _lastDefined(args) {
489 for (let i = args.length - 1; i >= 0; i--) {
490 if (args[i] !== undefined) {
491 return args[i];
492 }
493 }
494 return undefined;
495}
496/**
497 * @param {?} parts
498 * @return {?}
499 */
500function _mergeArrays(parts) {
501 /** @type {?} */
502 const result = [];
503 parts.forEach((/**
504 * @param {?} part
505 * @return {?}
506 */
507 (part) => part && result.push(...part)));
508 return result;
509}
510
511/**
512 * @fileoverview added by tsickle
513 * Generated from: packages/platform-browser-dynamic/src/platform_core_dynamic.ts
514 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
515 */
516const ɵ0$1 = {};
517/**
518 * A platform that included corePlatform and the compiler.
519 *
520 * \@publicApi
521 * @type {?}
522 */
523const platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [
524 { provide: COMPILER_OPTIONS, useValue: ɵ0$1, multi: true },
525 { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] },
526]);
527
528/**
529 * @fileoverview added by tsickle
530 * Generated from: packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts
531 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
532 */
533class ResourceLoaderImpl extends ResourceLoader {
534 /**
535 * @param {?} url
536 * @return {?}
537 */
538 get(url) {
539 /** @type {?} */
540 let resolve;
541 /** @type {?} */
542 let reject;
543 /** @type {?} */
544 const promise = new Promise((/**
545 * @param {?} res
546 * @param {?} rej
547 * @return {?}
548 */
549 (res, rej) => {
550 resolve = res;
551 reject = rej;
552 }));
553 /** @type {?} */
554 const xhr = new XMLHttpRequest();
555 xhr.open('GET', url, true);
556 xhr.responseType = 'text';
557 xhr.onload = (/**
558 * @return {?}
559 */
560 function () {
561 // responseText is the old-school way of retrieving response (supported by IE8 & 9)
562 // response/responseType properties were introduced in ResourceLoader Level2 spec (supported
563 // by IE10)
564 /** @type {?} */
565 const response = xhr.response || xhr.responseText;
566 // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
567 /** @type {?} */
568 let status = xhr.status === 1223 ? 204 : xhr.status;
569 // fix status code when it is 0 (0 status is undocumented).
570 // Occurs when accessing file resources or on Android 4.1 stock browser
571 // while retrieving files from application cache.
572 if (status === 0) {
573 status = response ? 200 : 0;
574 }
575 if (200 <= status && status <= 300) {
576 resolve(response);
577 }
578 else {
579 reject(`Failed to load ${url}`);
580 }
581 });
582 xhr.onerror = (/**
583 * @return {?}
584 */
585 function () { reject(`Failed to load ${url}`); });
586 xhr.send();
587 return promise;
588 }
589}
590ResourceLoaderImpl.decorators = [
591 { type: Injectable }
592];
593
594/**
595 * @fileoverview added by tsickle
596 * Generated from: packages/platform-browser-dynamic/src/platform_providers.ts
597 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
598 */
599const ɵ0$2 = { providers: [{ provide: ResourceLoader, useClass: ResourceLoaderImpl, deps: [] }] }, ɵ1$1 = ɵPLATFORM_BROWSER_ID;
600/**
601 * \@publicApi
602 * @type {?}
603 */
604const INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [
605 ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS,
606 {
607 provide: COMPILER_OPTIONS,
608 useValue: ɵ0$2,
609 multi: true
610 },
611 { provide: PLATFORM_ID, useValue: ɵ1$1 },
612];
613
614/**
615 * @fileoverview added by tsickle
616 * Generated from: packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts
617 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
618 */
619/**
620 * An implementation of ResourceLoader that uses a template cache to avoid doing an actual
621 * ResourceLoader.
622 *
623 * The template cache needs to be built and loaded into window.$templateCache
624 * via a separate mechanism.
625 *
626 * \@publicApi
627 */
628class CachedResourceLoader extends ResourceLoader {
629 constructor() {
630 super();
631 this._cache = ((/** @type {?} */ (ɵglobal))).$templateCache;
632 if (this._cache == null) {
633 throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.');
634 }
635 }
636 /**
637 * @param {?} url
638 * @return {?}
639 */
640 get(url) {
641 if (this._cache.hasOwnProperty(url)) {
642 return Promise.resolve(this._cache[url]);
643 }
644 else {
645 return (/** @type {?} */ (Promise.reject('CachedResourceLoader: Did not find cached template for ' + url)));
646 }
647 }
648}
649if (false) {
650 /**
651 * @type {?}
652 * @private
653 */
654 CachedResourceLoader.prototype._cache;
655}
656
657/**
658 * @fileoverview added by tsickle
659 * Generated from: packages/platform-browser-dynamic/src/private_export.ts
660 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
661 */
662
663/**
664 * @fileoverview added by tsickle
665 * Generated from: packages/platform-browser-dynamic/src/version.ts
666 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
667 */
668/**
669 * \@publicApi
670 * @type {?}
671 */
672const VERSION = new Version('9.0.6');
673
674/**
675 * @fileoverview added by tsickle
676 * Generated from: packages/platform-browser-dynamic/src/platform-browser-dynamic.ts
677 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
678 */
679/**
680 * \@publicApi
681 * @type {?}
682 */
683const RESOURCE_CACHE_PROVIDER = [{ provide: ResourceLoader, useClass: CachedResourceLoader, deps: [] }];
684/**
685 * \@publicApi
686 * @type {?}
687 */
688const platformBrowserDynamic = createPlatformFactory(platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);
689
690/**
691 * @fileoverview added by tsickle
692 * Generated from: packages/platform-browser-dynamic/public_api.ts
693 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
694 */
695
696/**
697 * @fileoverview added by tsickle
698 * Generated from: packages/platform-browser-dynamic/index.ts
699 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
700 */
701
702/**
703 * Generated bundle index. Do not edit.
704 */
705
706export { JitCompilerFactory, RESOURCE_CACHE_PROVIDER, VERSION, platformBrowserDynamic, COMPILER_PROVIDERS__POST_R3__ as ɵCOMPILER_PROVIDERS__POST_R3__, CompilerImpl as ɵCompilerImpl, INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS, ResourceLoaderImpl as ɵResourceLoaderImpl, CachedResourceLoader as ɵangular_packages_platform_browser_dynamic_platform_browser_dynamic_a, platformCoreDynamic as ɵplatformCoreDynamic };
707//# sourceMappingURL=platform-browser-dynamic.js.map