UNPKG

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