platform-browser-dynamic.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. /**
  2. * @license Angular v8.1.0
  3. * (c) 2010-2019 Google LLC. https://angular.io/
  4. * License: MIT
  5. */
  6. import { Identifiers, getUrlScheme, syntaxError, ProviderMeta, CompileReflector, ResourceLoader, JitSummaryResolver, SummaryResolver, Lexer, Parser, HtmlParser, I18NHtmlParser, CompilerConfig, TemplateParser, ElementSchemaRegistry, JitEvaluator, DirectiveNormalizer, UrlResolver, CompileMetadataResolver, NgModuleResolver, DirectiveResolver, PipeResolver, StaticSymbolCache, StyleCompiler, ViewCompiler, NgModuleCompiler, DomElementSchemaRegistry, JitCompiler } from '@angular/compiler';
  7. import { 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, ɵReflectionCapabilities, ɵstringify, InjectionToken, Compiler, ɵConsole, MissingTranslationStrategy, Optional, Inject, TRANSLATIONS, PACKAGE_ROOT_URL, isDevMode, createPlatformFactory, platformCore, COMPILER_OPTIONS, CompilerFactory, Injectable, PLATFORM_ID, ɵglobal, Version } from '@angular/core';
  8. import { __spread, __extends, __decorate } from 'tslib';
  9. import { ɵPLATFORM_BROWSER_ID } from '@angular/common';
  10. import { ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS } from '@angular/platform-browser';
  11. /**
  12. * @license
  13. * Copyright Google Inc. All Rights Reserved.
  14. *
  15. * Use of this source code is governed by an MIT-style license that can be
  16. * found in the LICENSE file at https://angular.io/license
  17. */
  18. var MODULE_SUFFIX = '';
  19. var builtinExternalReferences = createBuiltinExternalReferencesMap();
  20. var JitReflector = /** @class */ (function () {
  21. function JitReflector() {
  22. this.reflectionCapabilities = new ɵReflectionCapabilities();
  23. }
  24. JitReflector.prototype.componentModuleUrl = function (type, cmpMetadata) {
  25. var moduleId = cmpMetadata.moduleId;
  26. if (typeof moduleId === 'string') {
  27. var scheme = getUrlScheme(moduleId);
  28. return scheme ? moduleId : "package:" + moduleId + MODULE_SUFFIX;
  29. }
  30. else if (moduleId !== null && moduleId !== void 0) {
  31. throw syntaxError("moduleId should be a string in \"" + ɵstringify(type) + "\". See https://goo.gl/wIDDiL for more information.\n" +
  32. "If you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");
  33. }
  34. return "./" + ɵstringify(type);
  35. };
  36. JitReflector.prototype.parameters = function (typeOrFunc) {
  37. return this.reflectionCapabilities.parameters(typeOrFunc);
  38. };
  39. JitReflector.prototype.tryAnnotations = function (typeOrFunc) { return this.annotations(typeOrFunc); };
  40. JitReflector.prototype.annotations = function (typeOrFunc) {
  41. return this.reflectionCapabilities.annotations(typeOrFunc);
  42. };
  43. JitReflector.prototype.shallowAnnotations = function (typeOrFunc) {
  44. throw new Error('Not supported in JIT mode');
  45. };
  46. JitReflector.prototype.propMetadata = function (typeOrFunc) {
  47. return this.reflectionCapabilities.propMetadata(typeOrFunc);
  48. };
  49. JitReflector.prototype.hasLifecycleHook = function (type, lcProperty) {
  50. return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty);
  51. };
  52. JitReflector.prototype.guards = function (type) { return this.reflectionCapabilities.guards(type); };
  53. JitReflector.prototype.resolveExternalReference = function (ref) {
  54. return builtinExternalReferences.get(ref) || ref.runtime;
  55. };
  56. return JitReflector;
  57. }());
  58. function createBuiltinExternalReferencesMap() {
  59. var map = new Map();
  60. map.set(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS, ANALYZE_FOR_ENTRY_COMPONENTS);
  61. map.set(Identifiers.ElementRef, ElementRef);
  62. map.set(Identifiers.NgModuleRef, NgModuleRef);
  63. map.set(Identifiers.ViewContainerRef, ViewContainerRef);
  64. map.set(Identifiers.ChangeDetectorRef, ChangeDetectorRef);
  65. map.set(Identifiers.Renderer2, Renderer2);
  66. map.set(Identifiers.QueryList, QueryList);
  67. map.set(Identifiers.TemplateRef, TemplateRef);
  68. map.set(Identifiers.CodegenComponentFactoryResolver, ɵCodegenComponentFactoryResolver);
  69. map.set(Identifiers.ComponentFactoryResolver, ComponentFactoryResolver);
  70. map.set(Identifiers.ComponentFactory, ComponentFactory);
  71. map.set(Identifiers.ComponentRef, ComponentRef);
  72. map.set(Identifiers.NgModuleFactory, NgModuleFactory);
  73. map.set(Identifiers.createModuleFactory, ɵcmf);
  74. map.set(Identifiers.moduleDef, ɵmod);
  75. map.set(Identifiers.moduleProviderDef, ɵmpd);
  76. map.set(Identifiers.RegisterModuleFactoryFn, ɵregisterModuleFactory);
  77. map.set(Identifiers.Injector, Injector);
  78. map.set(Identifiers.ViewEncapsulation, ViewEncapsulation);
  79. map.set(Identifiers.ChangeDetectionStrategy, ChangeDetectionStrategy);
  80. map.set(Identifiers.SecurityContext, SecurityContext);
  81. map.set(Identifiers.LOCALE_ID, LOCALE_ID);
  82. map.set(Identifiers.TRANSLATIONS_FORMAT, TRANSLATIONS_FORMAT);
  83. map.set(Identifiers.inlineInterpolate, ɵinlineInterpolate);
  84. map.set(Identifiers.interpolate, ɵinterpolate);
  85. map.set(Identifiers.EMPTY_ARRAY, ɵEMPTY_ARRAY);
  86. map.set(Identifiers.EMPTY_MAP, ɵEMPTY_MAP);
  87. map.set(Identifiers.Renderer, Renderer);
  88. map.set(Identifiers.viewDef, ɵvid);
  89. map.set(Identifiers.elementDef, ɵeld);
  90. map.set(Identifiers.anchorDef, ɵand);
  91. map.set(Identifiers.textDef, ɵted);
  92. map.set(Identifiers.directiveDef, ɵdid);
  93. map.set(Identifiers.providerDef, ɵprd);
  94. map.set(Identifiers.queryDef, ɵqud);
  95. map.set(Identifiers.pureArrayDef, ɵpad);
  96. map.set(Identifiers.pureObjectDef, ɵpod);
  97. map.set(Identifiers.purePipeDef, ɵppd);
  98. map.set(Identifiers.pipeDef, ɵpid);
  99. map.set(Identifiers.nodeValue, ɵnov);
  100. map.set(Identifiers.ngContentDef, ɵncd);
  101. map.set(Identifiers.unwrapValue, ɵunv);
  102. map.set(Identifiers.createRendererType2, ɵcrt);
  103. map.set(Identifiers.createComponentFactory, ɵccf);
  104. return map;
  105. }
  106. /**
  107. * @license
  108. * Copyright Google Inc. All Rights Reserved.
  109. *
  110. * Use of this source code is governed by an MIT-style license that can be
  111. * found in the LICENSE file at https://angular.io/license
  112. */
  113. var ERROR_COLLECTOR_TOKEN = new InjectionToken('ErrorCollector');
  114. /**
  115. * A default provider for {@link PACKAGE_ROOT_URL} that maps to '/'.
  116. */
  117. var DEFAULT_PACKAGE_URL_PROVIDER = {
  118. provide: PACKAGE_ROOT_URL,
  119. useValue: '/'
  120. };
  121. var _NO_RESOURCE_LOADER = {
  122. get: function (url) {
  123. throw new Error("No ResourceLoader implementation has been provided. Can't read the url \"" + url + "\"");
  124. }
  125. };
  126. var baseHtmlParser = new InjectionToken('HtmlParser');
  127. var CompilerImpl = /** @class */ (function () {
  128. function CompilerImpl(injector, _metadataResolver, templateParser, styleCompiler, viewCompiler, ngModuleCompiler, summaryResolver, compileReflector, jitEvaluator, compilerConfig, console) {
  129. this._metadataResolver = _metadataResolver;
  130. this._delegate = new JitCompiler(_metadataResolver, templateParser, styleCompiler, viewCompiler, ngModuleCompiler, summaryResolver, compileReflector, jitEvaluator, compilerConfig, console, this.getExtraNgModuleProviders.bind(this));
  131. this.injector = injector;
  132. }
  133. CompilerImpl.prototype.getExtraNgModuleProviders = function () {
  134. return [this._metadataResolver.getProviderMetadata(new ProviderMeta(Compiler, { useValue: this }))];
  135. };
  136. CompilerImpl.prototype.compileModuleSync = function (moduleType) {
  137. return this._delegate.compileModuleSync(moduleType);
  138. };
  139. CompilerImpl.prototype.compileModuleAsync = function (moduleType) {
  140. return this._delegate.compileModuleAsync(moduleType);
  141. };
  142. CompilerImpl.prototype.compileModuleAndAllComponentsSync = function (moduleType) {
  143. var result = this._delegate.compileModuleAndAllComponentsSync(moduleType);
  144. return {
  145. ngModuleFactory: result.ngModuleFactory,
  146. componentFactories: result.componentFactories,
  147. };
  148. };
  149. CompilerImpl.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {
  150. return this._delegate.compileModuleAndAllComponentsAsync(moduleType)
  151. .then(function (result) { return ({
  152. ngModuleFactory: result.ngModuleFactory,
  153. componentFactories: result.componentFactories,
  154. }); });
  155. };
  156. CompilerImpl.prototype.loadAotSummaries = function (summaries) { this._delegate.loadAotSummaries(summaries); };
  157. CompilerImpl.prototype.hasAotSummary = function (ref) { return this._delegate.hasAotSummary(ref); };
  158. CompilerImpl.prototype.getComponentFactory = function (component) {
  159. return this._delegate.getComponentFactory(component);
  160. };
  161. CompilerImpl.prototype.clearCache = function () { this._delegate.clearCache(); };
  162. CompilerImpl.prototype.clearCacheFor = function (type) { this._delegate.clearCacheFor(type); };
  163. CompilerImpl.prototype.getModuleId = function (moduleType) {
  164. var meta = this._metadataResolver.getNgModuleMetadata(moduleType);
  165. return meta && meta.id || undefined;
  166. };
  167. return CompilerImpl;
  168. }());
  169. /**
  170. * A set of providers that provide `JitCompiler` and its dependencies to use for
  171. * template compilation.
  172. */
  173. var COMPILER_PROVIDERS = [
  174. { provide: CompileReflector, useValue: new JitReflector() },
  175. { provide: ResourceLoader, useValue: _NO_RESOURCE_LOADER },
  176. { provide: JitSummaryResolver, deps: [] },
  177. { provide: SummaryResolver, useExisting: JitSummaryResolver },
  178. { provide: ɵConsole, deps: [] },
  179. { provide: Lexer, deps: [] },
  180. { provide: Parser, deps: [Lexer] },
  181. {
  182. provide: baseHtmlParser,
  183. useClass: HtmlParser,
  184. deps: [],
  185. },
  186. {
  187. provide: I18NHtmlParser,
  188. useFactory: function (parser, translations, format, config, console) {
  189. translations = translations || '';
  190. var missingTranslation = translations ? config.missingTranslation : MissingTranslationStrategy.Ignore;
  191. return new I18NHtmlParser(parser, translations, format, missingTranslation, console);
  192. },
  193. deps: [
  194. baseHtmlParser,
  195. [new Optional(), new Inject(TRANSLATIONS)],
  196. [new Optional(), new Inject(TRANSLATIONS_FORMAT)],
  197. [CompilerConfig],
  198. [ɵConsole],
  199. ]
  200. },
  201. {
  202. provide: HtmlParser,
  203. useExisting: I18NHtmlParser,
  204. },
  205. {
  206. provide: TemplateParser, deps: [CompilerConfig, CompileReflector,
  207. Parser, ElementSchemaRegistry,
  208. I18NHtmlParser, ɵConsole]
  209. },
  210. { provide: JitEvaluator, useClass: JitEvaluator, deps: [] },
  211. { provide: DirectiveNormalizer, deps: [ResourceLoader, UrlResolver, HtmlParser, CompilerConfig] },
  212. { provide: CompileMetadataResolver, deps: [CompilerConfig, HtmlParser, NgModuleResolver,
  213. DirectiveResolver, PipeResolver,
  214. SummaryResolver,
  215. ElementSchemaRegistry,
  216. DirectiveNormalizer, ɵConsole,
  217. [Optional, StaticSymbolCache],
  218. CompileReflector,
  219. [Optional, ERROR_COLLECTOR_TOKEN]] },
  220. DEFAULT_PACKAGE_URL_PROVIDER,
  221. { provide: StyleCompiler, deps: [UrlResolver] },
  222. { provide: ViewCompiler, deps: [CompileReflector] },
  223. { provide: NgModuleCompiler, deps: [CompileReflector] },
  224. { provide: CompilerConfig, useValue: new CompilerConfig() },
  225. { provide: Compiler, useClass: CompilerImpl, deps: [Injector, CompileMetadataResolver,
  226. TemplateParser, StyleCompiler,
  227. ViewCompiler, NgModuleCompiler,
  228. SummaryResolver, CompileReflector, JitEvaluator, CompilerConfig,
  229. ɵConsole] },
  230. { provide: DomElementSchemaRegistry, deps: [] },
  231. { provide: ElementSchemaRegistry, useExisting: DomElementSchemaRegistry },
  232. { provide: UrlResolver, deps: [PACKAGE_ROOT_URL] },
  233. { provide: DirectiveResolver, deps: [CompileReflector] },
  234. { provide: PipeResolver, deps: [CompileReflector] },
  235. { provide: NgModuleResolver, deps: [CompileReflector] },
  236. ];
  237. /**
  238. * @publicApi
  239. */
  240. var JitCompilerFactory = /** @class */ (function () {
  241. /* @internal */
  242. function JitCompilerFactory(defaultOptions) {
  243. var compilerOptions = {
  244. useJit: true,
  245. defaultEncapsulation: ViewEncapsulation.Emulated,
  246. missingTranslation: MissingTranslationStrategy.Warning,
  247. };
  248. this._defaultOptions = __spread([compilerOptions], defaultOptions);
  249. }
  250. JitCompilerFactory.prototype.createCompiler = function (options) {
  251. if (options === void 0) { options = []; }
  252. var opts = _mergeOptions(this._defaultOptions.concat(options));
  253. var injector = Injector.create([
  254. COMPILER_PROVIDERS, {
  255. provide: CompilerConfig,
  256. useFactory: function () {
  257. return new CompilerConfig({
  258. // let explicit values from the compiler options overwrite options
  259. // from the app providers
  260. useJit: opts.useJit,
  261. jitDevMode: isDevMode(),
  262. // let explicit values from the compiler options overwrite options
  263. // from the app providers
  264. defaultEncapsulation: opts.defaultEncapsulation,
  265. missingTranslation: opts.missingTranslation,
  266. preserveWhitespaces: opts.preserveWhitespaces,
  267. });
  268. },
  269. deps: []
  270. },
  271. opts.providers
  272. ]);
  273. return injector.get(Compiler);
  274. };
  275. return JitCompilerFactory;
  276. }());
  277. function _mergeOptions(optionsArr) {
  278. return {
  279. useJit: _lastDefined(optionsArr.map(function (options) { return options.useJit; })),
  280. defaultEncapsulation: _lastDefined(optionsArr.map(function (options) { return options.defaultEncapsulation; })),
  281. providers: _mergeArrays(optionsArr.map(function (options) { return options.providers; })),
  282. missingTranslation: _lastDefined(optionsArr.map(function (options) { return options.missingTranslation; })),
  283. preserveWhitespaces: _lastDefined(optionsArr.map(function (options) { return options.preserveWhitespaces; })),
  284. };
  285. }
  286. function _lastDefined(args) {
  287. for (var i = args.length - 1; i >= 0; i--) {
  288. if (args[i] !== undefined) {
  289. return args[i];
  290. }
  291. }
  292. return undefined;
  293. }
  294. function _mergeArrays(parts) {
  295. var result = [];
  296. parts.forEach(function (part) { return part && result.push.apply(result, __spread(part)); });
  297. return result;
  298. }
  299. /**
  300. * @license
  301. * Copyright Google Inc. All Rights Reserved.
  302. *
  303. * Use of this source code is governed by an MIT-style license that can be
  304. * found in the LICENSE file at https://angular.io/license
  305. */
  306. var ɵ0 = {};
  307. /**
  308. * A platform that included corePlatform and the compiler.
  309. *
  310. * @publicApi
  311. */
  312. var platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [
  313. { provide: COMPILER_OPTIONS, useValue: ɵ0, multi: true },
  314. { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] },
  315. ]);
  316. var ResourceLoaderImpl = /** @class */ (function (_super) {
  317. __extends(ResourceLoaderImpl, _super);
  318. function ResourceLoaderImpl() {
  319. return _super !== null && _super.apply(this, arguments) || this;
  320. }
  321. ResourceLoaderImpl.prototype.get = function (url) {
  322. var resolve;
  323. var reject;
  324. var promise = new Promise(function (res, rej) {
  325. resolve = res;
  326. reject = rej;
  327. });
  328. var xhr = new XMLHttpRequest();
  329. xhr.open('GET', url, true);
  330. xhr.responseType = 'text';
  331. xhr.onload = function () {
  332. // responseText is the old-school way of retrieving response (supported by IE8 & 9)
  333. // response/responseType properties were introduced in ResourceLoader Level2 spec (supported
  334. // by IE10)
  335. var response = xhr.response || xhr.responseText;
  336. // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
  337. var status = xhr.status === 1223 ? 204 : xhr.status;
  338. // fix status code when it is 0 (0 status is undocumented).
  339. // Occurs when accessing file resources or on Android 4.1 stock browser
  340. // while retrieving files from application cache.
  341. if (status === 0) {
  342. status = response ? 200 : 0;
  343. }
  344. if (200 <= status && status <= 300) {
  345. resolve(response);
  346. }
  347. else {
  348. reject("Failed to load " + url);
  349. }
  350. };
  351. xhr.onerror = function () { reject("Failed to load " + url); };
  352. xhr.send();
  353. return promise;
  354. };
  355. ResourceLoaderImpl = __decorate([
  356. Injectable()
  357. ], ResourceLoaderImpl);
  358. return ResourceLoaderImpl;
  359. }(ResourceLoader));
  360. /**
  361. * @license
  362. * Copyright Google Inc. All Rights Reserved.
  363. *
  364. * Use of this source code is governed by an MIT-style license that can be
  365. * found in the LICENSE file at https://angular.io/license
  366. */
  367. var ɵ0$1 = { providers: [{ provide: ResourceLoader, useClass: ResourceLoaderImpl, deps: [] }] }, ɵ1 = ɵPLATFORM_BROWSER_ID;
  368. /**
  369. * @publicApi
  370. */
  371. var INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [
  372. ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS,
  373. {
  374. provide: COMPILER_OPTIONS,
  375. useValue: ɵ0$1,
  376. multi: true
  377. },
  378. { provide: PLATFORM_ID, useValue: ɵ1 },
  379. ];
  380. /**
  381. * @license
  382. * Copyright Google Inc. All Rights Reserved.
  383. *
  384. * Use of this source code is governed by an MIT-style license that can be
  385. * found in the LICENSE file at https://angular.io/license
  386. */
  387. /**
  388. * An implementation of ResourceLoader that uses a template cache to avoid doing an actual
  389. * ResourceLoader.
  390. *
  391. * The template cache needs to be built and loaded into window.$templateCache
  392. * via a separate mechanism.
  393. *
  394. * @publicApi
  395. */
  396. var CachedResourceLoader = /** @class */ (function (_super) {
  397. __extends(CachedResourceLoader, _super);
  398. function CachedResourceLoader() {
  399. var _this = _super.call(this) || this;
  400. _this._cache = ɵglobal.$templateCache;
  401. if (_this._cache == null) {
  402. throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.');
  403. }
  404. return _this;
  405. }
  406. CachedResourceLoader.prototype.get = function (url) {
  407. if (this._cache.hasOwnProperty(url)) {
  408. return Promise.resolve(this._cache[url]);
  409. }
  410. else {
  411. return Promise.reject('CachedResourceLoader: Did not find cached template for ' + url);
  412. }
  413. };
  414. return CachedResourceLoader;
  415. }(ResourceLoader));
  416. /**
  417. * @license
  418. * Copyright Google Inc. All Rights Reserved.
  419. *
  420. * Use of this source code is governed by an MIT-style license that can be
  421. * found in the LICENSE file at https://angular.io/license
  422. */
  423. /**
  424. * @license
  425. * Copyright Google Inc. All Rights Reserved.
  426. *
  427. * Use of this source code is governed by an MIT-style license that can be
  428. * found in the LICENSE file at https://angular.io/license
  429. */
  430. /**
  431. * @publicApi
  432. */
  433. var VERSION = new Version('8.1.0');
  434. /**
  435. * @license
  436. * Copyright Google Inc. All Rights Reserved.
  437. *
  438. * Use of this source code is governed by an MIT-style license that can be
  439. * found in the LICENSE file at https://angular.io/license
  440. */
  441. /**
  442. * @publicApi
  443. */
  444. var RESOURCE_CACHE_PROVIDER = [{ provide: ResourceLoader, useClass: CachedResourceLoader, deps: [] }];
  445. /**
  446. * @publicApi
  447. */
  448. var platformBrowserDynamic = createPlatformFactory(platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);
  449. /**
  450. * @license
  451. * Copyright Google Inc. All Rights Reserved.
  452. *
  453. * Use of this source code is governed by an MIT-style license that can be
  454. * found in the LICENSE file at https://angular.io/license
  455. */
  456. // This file only reexports content of the `src` folder. Keep it that way.
  457. /**
  458. * @license
  459. * Copyright Google Inc. All Rights Reserved.
  460. *
  461. * Use of this source code is governed by an MIT-style license that can be
  462. * found in the LICENSE file at https://angular.io/license
  463. */
  464. /**
  465. * Generated bundle index. Do not edit.
  466. */
  467. export { CachedResourceLoader as ɵangular_packages_platform_browser_dynamic_platform_browser_dynamic_a, RESOURCE_CACHE_PROVIDER, platformBrowserDynamic, VERSION, JitCompilerFactory, CompilerImpl as ɵCompilerImpl, platformCoreDynamic as ɵplatformCoreDynamic, INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS, ResourceLoaderImpl as ɵResourceLoaderImpl };
  468. //# sourceMappingURL=platform-browser-dynamic.js.map