@angular/core 13.0.0-rc.1 → 13.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/core.d.ts +1 -1
  2. package/esm2020/index.mjs +6 -5
  3. package/esm2020/src/render3/error_code.mjs +2 -5
  4. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  5. package/esm2020/src/version.mjs +1 -1
  6. package/esm2020/testing/src/logger.mjs +3 -3
  7. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  8. package/esm2020/testing/src/test_compiler.mjs +3 -3
  9. package/fesm2015/core.mjs +17 -5
  10. package/fesm2015/core.mjs.map +1 -1
  11. package/fesm2015/testing.mjs +4 -4
  12. package/fesm2020/core.mjs +17 -5
  13. package/fesm2020/core.mjs.map +1 -1
  14. package/fesm2020/testing.mjs +4 -4
  15. package/package.json +1 -1
  16. package/schematics/migrations.json +0 -100
  17. package/testing/testing.d.ts +1 -1
  18. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  19. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  20. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  21. package/schematics/migrations/abstract-control-parent/util.js +0 -67
  22. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  23. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -73
  24. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  25. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -51
  26. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  27. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -69
  28. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  29. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -73
  30. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  31. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  32. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  33. package/schematics/migrations/dynamic-queries/index.js +0 -76
  34. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  35. package/schematics/migrations/dynamic-queries/util.js +0 -84
  36. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  37. package/schematics/migrations/initial-navigation/collector.js +0 -122
  38. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  39. package/schematics/migrations/initial-navigation/index.js +0 -83
  40. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  41. package/schematics/migrations/initial-navigation/transform.js +0 -71
  42. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  43. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  44. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  45. package/schematics/migrations/initial-navigation/util.js +0 -46
  46. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  47. package/schematics/migrations/missing-injectable/definition_collector.js +0 -92
  48. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  49. package/schematics/migrations/missing-injectable/index.js +0 -136
  50. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -26
  51. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -71
  52. package/schematics/migrations/missing-injectable/transform.d.ts +0 -70
  53. package/schematics/migrations/missing-injectable/transform.js +0 -203
  54. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  55. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  56. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  57. package/schematics/migrations/module-with-providers/collector.js +0 -76
  58. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  59. package/schematics/migrations/module-with-providers/index.js +0 -107
  60. package/schematics/migrations/module-with-providers/transform.d.ts +0 -50
  61. package/schematics/migrations/module-with-providers/transform.js +0 -149
  62. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  63. package/schematics/migrations/module-with-providers/util.js +0 -43
  64. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  65. package/schematics/migrations/move-document/document_import_visitor.js +0 -77
  66. package/schematics/migrations/move-document/index.d.ts +0 -11
  67. package/schematics/migrations/move-document/index.js +0 -93
  68. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  69. package/schematics/migrations/move-document/move-import.js +0 -64
  70. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  71. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  72. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  73. package/schematics/migrations/native-view-encapsulation/util.js +0 -51
  74. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  75. package/schematics/migrations/navigation-extras-omissions/index.js +0 -72
  76. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  77. package/schematics/migrations/navigation-extras-omissions/util.js +0 -129
  78. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  79. package/schematics/migrations/relative-link-resolution/collector.js +0 -98
  80. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  81. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  82. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  83. package/schematics/migrations/relative-link-resolution/transform.js +0 -68
  84. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  85. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  86. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  87. package/schematics/migrations/relative-link-resolution/util.js +0 -46
  88. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  89. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -241
  90. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  91. package/schematics/migrations/renderer-to-renderer2/index.js +0 -138
  92. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  93. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -228
  94. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  95. package/schematics/migrations/renderer-to-renderer2/util.js +0 -86
  96. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  97. package/schematics/migrations/router-preserve-query-params/index.js +0 -75
  98. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  99. package/schematics/migrations/router-preserve-query-params/util.js +0 -106
  100. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  101. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -87
  102. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  103. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -130
  104. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  105. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  106. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  107. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  108. package/schematics/migrations/static-queries/index.d.ts +0 -11
  109. package/schematics/migrations/static-queries/index.js +0 -244
  110. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  111. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -210
  112. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  113. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  114. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  115. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  116. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  117. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -372
  118. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  119. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -55
  120. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  121. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  122. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  123. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -172
  124. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  125. package/schematics/migrations/static-queries/transform.js +0 -105
  126. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  127. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  128. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  129. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  130. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  131. package/schematics/migrations/template-var-assignment/index.js +0 -101
  132. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  133. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -128
  134. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -64
  135. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -302
  136. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  137. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  138. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  139. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -56
  140. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  141. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -99
  142. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -37
  143. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -118
  144. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  145. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -129
  146. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  147. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  148. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  149. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -68
  150. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  151. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -226
  152. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  153. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -135
  154. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -97
  155. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -373
  156. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  157. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  158. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  159. package/schematics/migrations/wait-for-async/index.js +0 -101
  160. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  161. package/schematics/migrations/wait-for-async/util.js +0 -40
  162. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  163. package/schematics/migrations/xhr-factory/index.js +0 -107
@@ -1,107 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- (function (factory) {
21
- if (typeof module === "object" && typeof module.exports === "object") {
22
- var v = factory(require, exports);
23
- if (v !== undefined) module.exports = v;
24
- }
25
- else if (typeof define === "function" && define.amd) {
26
- define("@angular/core/schematics/migrations/module-with-providers", ["require", "exports", "@angular-devkit/schematics", "path", "typescript", "@angular/core/schematics/utils/load_esm", "@angular/core/schematics/utils/project_tsconfig_paths", "@angular/core/schematics/utils/typescript/compiler_host", "@angular/core/schematics/migrations/module-with-providers/collector", "@angular/core/schematics/migrations/module-with-providers/transform"], factory);
27
- }
28
- })(function (require, exports) {
29
- "use strict";
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- const schematics_1 = require("@angular-devkit/schematics");
32
- const path_1 = require("path");
33
- const typescript_1 = __importDefault(require("typescript"));
34
- const load_esm_1 = require("@angular/core/schematics/utils/load_esm");
35
- const project_tsconfig_paths_1 = require("@angular/core/schematics/utils/project_tsconfig_paths");
36
- const compiler_host_1 = require("@angular/core/schematics/utils/typescript/compiler_host");
37
- const collector_1 = require("@angular/core/schematics/migrations/module-with-providers/collector");
38
- const transform_1 = require("@angular/core/schematics/migrations/module-with-providers/transform");
39
- /**
40
- * Runs the ModuleWithProviders migration for all TypeScript projects in the current CLI workspace.
41
- */
42
- function default_1() {
43
- return (tree, ctx) => __awaiter(this, void 0, void 0, function* () {
44
- const { buildPaths, testPaths } = yield (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
45
- const basePath = process.cwd();
46
- const allPaths = [...buildPaths, ...testPaths];
47
- const failures = [];
48
- if (!allPaths.length) {
49
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot migrate ModuleWithProviders.');
50
- }
51
- let compilerCliMigrationsModule;
52
- try {
53
- // Load ESM `@angular/compiler/private/migrations` using the TypeScript dynamic import
54
- // workaround. Once TypeScript provides support for keeping the dynamic import this workaround
55
- // can be changed to a direct dynamic import.
56
- compilerCliMigrationsModule = yield (0, load_esm_1.loadCompilerCliMigrationsModule)();
57
- }
58
- catch (e) {
59
- throw new schematics_1.SchematicsException(`Unable to load the '@angular/compiler-cli' package. Details: ${e.message}`);
60
- }
61
- for (const tsconfigPath of allPaths) {
62
- failures.push(...runModuleWithProvidersMigration(tree, tsconfigPath, basePath, compilerCliMigrationsModule));
63
- }
64
- if (failures.length) {
65
- ctx.logger.info('Could not migrate all instances of ModuleWithProviders');
66
- ctx.logger.info('Please manually fix the following failures:');
67
- failures.forEach(message => ctx.logger.warn(`⮑ ${message}`));
68
- }
69
- });
70
- }
71
- exports.default = default_1;
72
- function runModuleWithProvidersMigration(tree, tsconfigPath, basePath, compilerCliMigrationsModule) {
73
- const { program } = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
74
- const failures = [];
75
- const typeChecker = program.getTypeChecker();
76
- const collector = new collector_1.Collector(typeChecker);
77
- const sourceFiles = program.getSourceFiles().filter(sourceFile => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
78
- // Analyze source files by detecting all modules.
79
- sourceFiles.forEach(sourceFile => collector.visitNode(sourceFile));
80
- const { resolvedModules, resolvedNonGenerics } = collector;
81
- const transformer = new transform_1.ModuleWithProvidersTransform(typeChecker, getUpdateRecorder, compilerCliMigrationsModule);
82
- const updateRecorders = new Map();
83
- [...resolvedModules.reduce((failures, m) => failures.concat(transformer.migrateModule(m)), []),
84
- ...resolvedNonGenerics.reduce((failures, t) => failures.concat(transformer.migrateType(t)), [])]
85
- .forEach(({ message, node }) => {
86
- const nodeSourceFile = node.getSourceFile();
87
- const relativeFilePath = (0, path_1.relative)(basePath, nodeSourceFile.fileName);
88
- const { line, character } = typescript_1.default.getLineAndCharacterOfPosition(node.getSourceFile(), node.getStart());
89
- failures.push(`${relativeFilePath}@${line + 1}:${character + 1}: ${message}`);
90
- });
91
- // Walk through each update recorder and commit the update. We need to commit the
92
- // updates in batches per source file as there can be only one recorder per source
93
- // file in order to avoid shift character offsets.
94
- updateRecorders.forEach(recorder => tree.commitUpdate(recorder));
95
- return failures;
96
- /** Gets the update recorder for the specified source file. */
97
- function getUpdateRecorder(sourceFile) {
98
- if (updateRecorders.has(sourceFile)) {
99
- return updateRecorders.get(sourceFile);
100
- }
101
- const recorder = tree.beginUpdate((0, path_1.relative)(basePath, sourceFile.fileName));
102
- updateRecorders.set(sourceFile, recorder);
103
- return recorder;
104
- }
105
- }
106
- });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb2R1bGUtd2l0aC1wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFSCwyREFBNkc7SUFDN0csK0JBQThCO0lBQzlCLDREQUE0QjtJQUU1QixzRUFBb0Y7SUFDcEYsa0dBQTJFO0lBQzNFLDJGQUE0RjtJQUU1RixtR0FBc0M7SUFDdEMsbUdBQTBFO0lBRzFFOztPQUVHO0lBQ0g7UUFDRSxPQUFPLENBQU8sSUFBVSxFQUFFLEdBQXFCLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sSUFBQSxnREFBdUIsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztZQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUN6Qix1RUFBdUUsQ0FBQyxDQUFDO2FBQzlFO1lBRUQsSUFBSSwyQkFBMkIsQ0FBQztZQUNoQyxJQUFJO2dCQUNGLHNGQUFzRjtnQkFDdEYsOEZBQThGO2dCQUM5Riw2Q0FBNkM7Z0JBQzdDLDJCQUEyQixHQUFHLE1BQU0sSUFBQSwwQ0FBK0IsR0FBRSxDQUFDO2FBQ3ZFO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLGdDQUFtQixDQUN6QixnRUFBZ0UsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDbEY7WUFF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QUFDLENBQUMsQ0FBQztRQUVQLGlGQUFpRjtRQUNqRixrRkFBa0Y7UUFDbEYsa0RBQWtEO1FBQ2xELGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUM7UUFFaEIsOERBQThEO1FBQzlELFNBQVMsaUJBQWlCLENBQUMsVUFBeUI7WUFDbEQsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUM7YUFDekM7WUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUEsZUFBUSxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMzRSxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1J1bGUsIFNjaGVtYXRpY0NvbnRleHQsIFNjaGVtYXRpY3NFeGNlcHRpb24sIFRyZWUsIFVwZGF0ZVJlY29yZGVyfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge3JlbGF0aXZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtsb2FkQ29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLCBsb2FkRXNtTW9kdWxlfSBmcm9tICcuLi8uLi91dGlscy9sb2FkX2VzbSc7XG5pbXBvcnQge2dldFByb2plY3RUc0NvbmZpZ1BhdGhzfSBmcm9tICcuLi8uLi91dGlscy9wcm9qZWN0X3RzY29uZmlnX3BhdGhzJztcbmltcG9ydCB7Y2FuTWlncmF0ZUZpbGUsIGNyZWF0ZU1pZ3JhdGlvblByb2dyYW19IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvY29tcGlsZXJfaG9zdCc7XG5cbmltcG9ydCB7Q29sbGVjdG9yfSBmcm9tICcuL2NvbGxlY3Rvcic7XG5pbXBvcnQge0FuYWx5c2lzRmFpbHVyZSwgTW9kdWxlV2l0aFByb3ZpZGVyc1RyYW5zZm9ybX0gZnJvbSAnLi90cmFuc2Zvcm0nO1xuXG5cbi8qKlxuICogUnVucyB0aGUgTW9kdWxlV2l0aFByb3ZpZGVycyBtaWdyYXRpb24gZm9yIGFsbCBUeXBlU2NyaXB0IHByb2plY3RzIGluIHRoZSBjdXJyZW50IENMSSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGN0eDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHtidWlsZFBhdGhzLCB0ZXN0UGF0aHN9ID0gYXdhaXQgZ2V0UHJvamVjdFRzQ29uZmlnUGF0aHModHJlZSk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IGFsbFBhdGhzID0gWy4uLmJ1aWxkUGF0aHMsIC4uLnRlc3RQYXRoc107XG4gICAgY29uc3QgZmFpbHVyZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoIWFsbFBhdGhzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oXG4gICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIGFueSB0c2NvbmZpZyBmaWxlLiBDYW5ub3QgbWlncmF0ZSBNb2R1bGVXaXRoUHJvdmlkZXJzLicpO1xuICAgIH1cblxuICAgIGxldCBjb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGU7XG4gICAgdHJ5IHtcbiAgICAgIC8vIExvYWQgRVNNIGBAYW5ndWxhci9jb21waWxlci9wcml2YXRlL21pZ3JhdGlvbnNgIHVzaW5nIHRoZSBUeXBlU2NyaXB0IGR5bmFtaWMgaW1wb3J0XG4gICAgICAvLyB3b3JrYXJvdW5kLiBPbmNlIFR5cGVTY3JpcHQgcHJvdmlkZXMgc3VwcG9ydCBmb3Iga2VlcGluZyB0aGUgZHluYW1pYyBpbXBvcnQgdGhpcyB3b3JrYXJvdW5kXG4gICAgICAvLyBjYW4gYmUgY2hhbmdlZCB0byBhIGRpcmVjdCBkeW5hbWljIGltcG9ydC5cbiAgICAgIGNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZSA9IGF3YWl0IGxvYWRDb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgICBgVW5hYmxlIHRvIGxvYWQgdGhlICdAYW5ndWxhci9jb21waWxlci1jbGknIHBhY2thZ2UuIERldGFpbHM6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdHNjb25maWdQYXRoIG9mIGFsbFBhdGhzKSB7XG4gICAgICBmYWlsdXJlcy5wdXNoKC4uLnJ1bk1vZHVsZVdpdGhQcm92aWRlcnNNaWdyYXRpb24oXG4gICAgICAgICAgdHJlZSwgdHNjb25maWdQYXRoLCBiYXNlUGF0aCwgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGZhaWx1cmVzLmxlbmd0aCkge1xuICAgICAgY3R4LmxvZ2dlci5pbmZvKCdDb3VsZCBub3QgbWlncmF0ZSBhbGwgaW5zdGFuY2VzIG9mIE1vZHVsZVdpdGhQcm92aWRlcnMnKTtcbiAgICAgIGN0eC5sb2dnZXIuaW5mbygnUGxlYXNlIG1hbnVhbGx5IGZpeCB0aGUgZm9sbG93aW5nIGZhaWx1cmVzOicpO1xuICAgICAgZmFpbHVyZXMuZm9yRWFjaChtZXNzYWdlID0+IGN0eC5sb2dnZXIud2Fybihg4q6RICAgJHttZXNzYWdlfWApKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJ1bk1vZHVsZVdpdGhQcm92aWRlcnNNaWdyYXRpb24oXG4gICAgdHJlZTogVHJlZSwgdHNjb25maWdQYXRoOiBzdHJpbmcsIGJhc2VQYXRoOiBzdHJpbmcsXG4gICAgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlOiB0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvcHJpdmF0ZS9taWdyYXRpb25zJykpIHtcbiAgY29uc3Qge3Byb2dyYW19ID0gY3JlYXRlTWlncmF0aW9uUHJvZ3JhbSh0cmVlLCB0c2NvbmZpZ1BhdGgsIGJhc2VQYXRoKTtcbiAgY29uc3QgZmFpbHVyZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHR5cGVDaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCBjb2xsZWN0b3IgPSBuZXcgQ29sbGVjdG9yKHR5cGVDaGVja2VyKTtcbiAgY29uc3Qgc291cmNlRmlsZXMgPVxuICAgICAgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpLmZpbHRlcihzb3VyY2VGaWxlID0+IGNhbk1pZ3JhdGVGaWxlKGJhc2VQYXRoLCBzb3VyY2VGaWxlLCBwcm9ncmFtKSk7XG5cbiAgLy8gQW5hbHl6ZSBzb3VyY2UgZmlsZXMgYnkgZGV0ZWN0aW5nIGFsbCBtb2R1bGVzLlxuICBzb3VyY2VGaWxlcy5mb3JFYWNoKHNvdXJjZUZpbGUgPT4gY29sbGVjdG9yLnZpc2l0Tm9kZShzb3VyY2VGaWxlKSk7XG5cbiAgY29uc3Qge3Jlc29sdmVkTW9kdWxlcywgcmVzb2x2ZWROb25HZW5lcmljc30gPSBjb2xsZWN0b3I7XG4gIGNvbnN0IHRyYW5zZm9ybWVyID1cbiAgICAgIG5ldyBNb2R1bGVXaXRoUHJvdmlkZXJzVHJhbnNmb3JtKHR5cGVDaGVja2VyLCBnZXRVcGRhdGVSZWNvcmRlciwgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlKTtcbiAgY29uc3QgdXBkYXRlUmVjb3JkZXJzID0gbmV3IE1hcDx0cy5Tb3VyY2VGaWxlLCBVcGRhdGVSZWNvcmRlcj4oKTtcblxuICBbLi4ucmVzb2x2ZWRNb2R1bGVzLnJlZHVjZShcbiAgICAgICAoZmFpbHVyZXMsIG0pID0+IGZhaWx1cmVzLmNvbmNhdCh0cmFuc2Zvcm1lci5taWdyYXRlTW9kdWxlKG0pKSwgW10gYXMgQW5hbHlzaXNGYWlsdXJlW10pLFxuICAgLi4ucmVzb2x2ZWROb25HZW5lcmljcy5yZWR1Y2UoXG4gICAgICAgKGZhaWx1cmVzLCB0KSA9PiBmYWlsdXJlcy5jb25jYXQodHJhbnNmb3JtZXIubWlncmF0ZVR5cGUodCkpLCBbXSBhcyBBbmFseXNpc0ZhaWx1cmVbXSldXG4gICAgICAuZm9yRWFjaCgoe21lc3NhZ2UsIG5vZGV9KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVTb3VyY2VGaWxlID0gbm9kZS5nZXRTb3VyY2VGaWxlKCk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSByZWxhdGl2ZShiYXNlUGF0aCwgbm9kZVNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuICAgICAgICBjb25zdCB7bGluZSwgY2hhcmFjdGVyfSA9XG4gICAgICAgICAgICB0cy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihub2RlLmdldFNvdXJjZUZpbGUoKSwgbm9kZS5nZXRTdGFydCgpKTtcbiAgICAgICAgZmFpbHVyZXMucHVzaChgJHtyZWxhdGl2ZUZpbGVQYXRofUAke2xpbmUgKyAxfToke2NoYXJhY3RlciArIDF9OiAke21lc3NhZ2V9YCk7XG4gICAgICB9KTtcblxuICAvLyBXYWxrIHRocm91Z2ggZWFjaCB1cGRhdGUgcmVjb3JkZXIgYW5kIGNvbW1pdCB0aGUgdXBkYXRlLiBXZSBuZWVkIHRvIGNvbW1pdCB0aGVcbiAgLy8gdXBkYXRlcyBpbiBiYXRjaGVzIHBlciBzb3VyY2UgZmlsZSBhcyB0aGVyZSBjYW4gYmUgb25seSBvbmUgcmVjb3JkZXIgcGVyIHNvdXJjZVxuICAvLyBmaWxlIGluIG9yZGVyIHRvIGF2b2lkIHNoaWZ0IGNoYXJhY3RlciBvZmZzZXRzLlxuICB1cGRhdGVSZWNvcmRlcnMuZm9yRWFjaChyZWNvcmRlciA9PiB0cmVlLmNvbW1pdFVwZGF0ZShyZWNvcmRlcikpO1xuXG4gIHJldHVybiBmYWlsdXJlcztcblxuICAvKiogR2V0cyB0aGUgdXBkYXRlIHJlY29yZGVyIGZvciB0aGUgc3BlY2lmaWVkIHNvdXJjZSBmaWxlLiAqL1xuICBmdW5jdGlvbiBnZXRVcGRhdGVSZWNvcmRlcihzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogVXBkYXRlUmVjb3JkZXIge1xuICAgIGlmICh1cGRhdGVSZWNvcmRlcnMuaGFzKHNvdXJjZUZpbGUpKSB7XG4gICAgICByZXR1cm4gdXBkYXRlUmVjb3JkZXJzLmdldChzb3VyY2VGaWxlKSE7XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZGVyID0gdHJlZS5iZWdpblVwZGF0ZShyZWxhdGl2ZShiYXNlUGF0aCwgc291cmNlRmlsZS5maWxlTmFtZSkpO1xuICAgIHVwZGF0ZVJlY29yZGVycy5zZXQoc291cmNlRmlsZSwgcmVjb3JkZXIpO1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/module-with-providers/transform" />
9
- import { UpdateRecorder } from '@angular-devkit/schematics';
10
- import type { ResolvedValueMap } from '@angular/compiler-cli/private/migrations';
11
- import ts from 'typescript';
12
- import { ResolvedNgModule } from './collector';
13
- export interface AnalysisFailure {
14
- node: ts.Node;
15
- message: string;
16
- }
17
- export declare class ModuleWithProvidersTransform {
18
- private typeChecker;
19
- private getUpdateRecorder;
20
- private compilerCliMigrationsModule;
21
- private printer;
22
- private partialEvaluator;
23
- constructor(typeChecker: ts.TypeChecker, getUpdateRecorder: (sf: ts.SourceFile) => UpdateRecorder, compilerCliMigrationsModule: typeof import('@angular/compiler-cli/private/migrations'));
24
- /** Migrates a given NgModule by walking through the referenced providers and static methods. */
25
- migrateModule(module: ResolvedNgModule): AnalysisFailure[];
26
- /** Migrates a ModuleWithProviders type definition that has no explicit generic type */
27
- migrateType(type: ts.TypeReferenceNode): AnalysisFailure[];
28
- /** Add a given generic to a type reference node */
29
- private _addGenericToTypeReference;
30
- /**
31
- * Migrates a given static method if its ModuleWithProviders does not provide
32
- * a generic type.
33
- */
34
- private _updateStaticMethodType;
35
- /** Whether the resolved value map represents a ModuleWithProviders object */
36
- isModuleWithProvidersType(value: ResolvedValueMap): boolean;
37
- /**
38
- * Determine the generic type of a suspected ModuleWithProviders return type and add it
39
- * explicitly
40
- */
41
- private _migrateStaticNgModuleMethod;
42
- /** Evaluate and return the ngModule type from an expression */
43
- private _getNgModuleTypeOfExpression;
44
- /**
45
- * Visits a given object literal expression to determine the ngModule type. If the expression
46
- * cannot be resolved, add a TODO to alert the user.
47
- */
48
- private _getTypeOfResolvedValue;
49
- private _updateNode;
50
- }
@@ -1,149 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/module-with-providers/transform", ["require", "exports", "typescript", "@angular/core/schematics/migrations/module-with-providers/util"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.ModuleWithProvidersTransform = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const util_1 = require("@angular/core/schematics/migrations/module-with-providers/util");
25
- const TODO_COMMENT = 'TODO: The following node requires a generic type for `ModuleWithProviders`';
26
- class ModuleWithProvidersTransform {
27
- constructor(typeChecker, getUpdateRecorder, compilerCliMigrationsModule) {
28
- this.typeChecker = typeChecker;
29
- this.getUpdateRecorder = getUpdateRecorder;
30
- this.compilerCliMigrationsModule = compilerCliMigrationsModule;
31
- this.printer = typescript_1.default.createPrinter();
32
- this.partialEvaluator = new this.compilerCliMigrationsModule.PartialEvaluator(new this.compilerCliMigrationsModule.TypeScriptReflectionHost(this.typeChecker), this.typeChecker,
33
- /* dependencyTracker */ null);
34
- }
35
- /** Migrates a given NgModule by walking through the referenced providers and static methods. */
36
- migrateModule(module) {
37
- return module.staticMethodsWithoutType.map(this._migrateStaticNgModuleMethod.bind(this))
38
- .filter(v => v);
39
- }
40
- /** Migrates a ModuleWithProviders type definition that has no explicit generic type */
41
- migrateType(type) {
42
- const parent = type.parent;
43
- let moduleText;
44
- if ((typescript_1.default.isFunctionDeclaration(parent) || typescript_1.default.isMethodDeclaration(parent)) && parent.body) {
45
- const returnStatement = parent.body.statements.find(typescript_1.default.isReturnStatement);
46
- // No return type found, exit
47
- if (!returnStatement || !returnStatement.expression) {
48
- return [{ node: parent, message: `Return type is not statically analyzable.` }];
49
- }
50
- moduleText = this._getNgModuleTypeOfExpression(returnStatement.expression);
51
- }
52
- else if (typescript_1.default.isPropertyDeclaration(parent) || typescript_1.default.isVariableDeclaration(parent)) {
53
- if (!parent.initializer) {
54
- addTodoToNode(type, TODO_COMMENT);
55
- this._updateNode(type, type);
56
- return [{ node: parent, message: `Unable to determine type for declaration.` }];
57
- }
58
- moduleText = this._getNgModuleTypeOfExpression(parent.initializer);
59
- }
60
- if (moduleText) {
61
- this._addGenericToTypeReference(type, moduleText);
62
- return [];
63
- }
64
- return [{ node: parent, message: `Type is not statically analyzable.` }];
65
- }
66
- /** Add a given generic to a type reference node */
67
- _addGenericToTypeReference(node, typeName) {
68
- const newGenericExpr = (0, util_1.createModuleWithProvidersType)(typeName, node);
69
- this._updateNode(node, newGenericExpr);
70
- }
71
- /**
72
- * Migrates a given static method if its ModuleWithProviders does not provide
73
- * a generic type.
74
- */
75
- _updateStaticMethodType(method, typeName) {
76
- const newGenericExpr = (0, util_1.createModuleWithProvidersType)(typeName, method.type);
77
- const newMethodDecl = typescript_1.default.updateMethod(method, method.decorators, method.modifiers, method.asteriskToken, method.name, method.questionToken, method.typeParameters, method.parameters, newGenericExpr, method.body);
78
- this._updateNode(method, newMethodDecl);
79
- }
80
- /** Whether the resolved value map represents a ModuleWithProviders object */
81
- isModuleWithProvidersType(value) {
82
- const ngModule = value.get('ngModule') !== undefined;
83
- const providers = value.get('providers') !== undefined;
84
- return ngModule && (value.size === 1 || (providers && value.size === 2));
85
- }
86
- /**
87
- * Determine the generic type of a suspected ModuleWithProviders return type and add it
88
- * explicitly
89
- */
90
- _migrateStaticNgModuleMethod(node) {
91
- const returnStatement = node.body &&
92
- node.body.statements.find(n => typescript_1.default.isReturnStatement(n));
93
- // No return type found, exit
94
- if (!returnStatement || !returnStatement.expression) {
95
- return { node: node, message: `Return type is not statically analyzable.` };
96
- }
97
- const moduleText = this._getNgModuleTypeOfExpression(returnStatement.expression);
98
- if (moduleText) {
99
- this._updateStaticMethodType(node, moduleText);
100
- return null;
101
- }
102
- return { node: node, message: `Method type is not statically analyzable.` };
103
- }
104
- /** Evaluate and return the ngModule type from an expression */
105
- _getNgModuleTypeOfExpression(expr) {
106
- const evaluatedExpr = this.partialEvaluator.evaluate(expr);
107
- return this._getTypeOfResolvedValue(evaluatedExpr);
108
- }
109
- /**
110
- * Visits a given object literal expression to determine the ngModule type. If the expression
111
- * cannot be resolved, add a TODO to alert the user.
112
- */
113
- _getTypeOfResolvedValue(value) {
114
- if (value instanceof Map && this.isModuleWithProvidersType(value)) {
115
- const mapValue = value.get('ngModule');
116
- if (mapValue instanceof this.compilerCliMigrationsModule.Reference &&
117
- typescript_1.default.isClassDeclaration(mapValue.node) && mapValue.node.name) {
118
- return mapValue.node.name.text;
119
- }
120
- else if (mapValue instanceof this.compilerCliMigrationsModule.DynamicValue) {
121
- addTodoToNode(mapValue.node, TODO_COMMENT);
122
- this._updateNode(mapValue.node, mapValue.node);
123
- }
124
- }
125
- return undefined;
126
- }
127
- _updateNode(node, newNode) {
128
- const newText = this.printer.printNode(typescript_1.default.EmitHint.Unspecified, newNode, node.getSourceFile());
129
- const recorder = this.getUpdateRecorder(node.getSourceFile());
130
- recorder.remove(node.getStart(), node.getWidth());
131
- recorder.insertRight(node.getStart(), newText);
132
- }
133
- }
134
- exports.ModuleWithProvidersTransform = ModuleWithProvidersTransform;
135
- /**
136
- * Adds a to-do to the given TypeScript node which alerts developers to fix
137
- * potential issues identified by the migration.
138
- */
139
- function addTodoToNode(node, text) {
140
- typescript_1.default.setSyntheticLeadingComments(node, [{
141
- pos: -1,
142
- end: -1,
143
- hasTrailingNewLine: false,
144
- kind: typescript_1.default.SyntaxKind.MultiLineCommentTrivia,
145
- text: ` ${text} `
146
- }]);
147
- }
148
- });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvbW9kdWxlLXdpdGgtcHJvdmlkZXJzL3RyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7SUFJSCw0REFBNEI7SUFHNUIseUZBQXFEO0lBT3JELE1BQU0sWUFBWSxHQUFHLDRFQUE0RSxDQUFDO0lBRWxHLE1BQWEsNEJBQTRCO1FBT3ZDLFlBQ1ksV0FBMkIsRUFDM0IsaUJBQXdELEVBQ3hELDJCQUNxRDtZQUhyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7WUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QztZQUN4RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQzBCO1lBVnpELFlBQU8sR0FBRyxvQkFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLHFCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixDQUM1RSxJQUFJLElBQUksQ0FBQywyQkFBMkIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQy9FLElBQUksQ0FBQyxXQUFXO1lBQ2hCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBTWtDLENBQUM7UUFFckUsZ0dBQWdHO1FBQ2hHLGFBQWEsQ0FBQyxNQUF3QjtZQUNwQyxPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQ2xELENBQUM7UUFFRCx1RkFBdUY7UUFDdkYsV0FBVyxDQUFDLElBQTBCO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FB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YUFBYSxDQUFDLElBQWEsRUFBRSxJQUFZO1FBQ2hELG9CQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDUCxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLGtCQUFrQixFQUFFLEtBQUs7Z0JBQ3pCLElBQUksRUFBRSxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0I7Z0JBQzFDLElBQUksRUFBRSxJQUFJLElBQUksR0FBRzthQUNsQixDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7VXBkYXRlUmVjb3JkZXJ9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB0eXBlIHtSZXNvbHZlZFZhbHVlLCBSZXNvbHZlZFZhbHVlTWFwfSBmcm9tICdAYW5ndWxhci9jb21waWxlci1jbGkvcHJpdmF0ZS9taWdyYXRpb25zJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtSZXNvbHZlZE5nTW9kdWxlfSBmcm9tICcuL2NvbGxlY3Rvcic7XG5pbXBvcnQge2NyZWF0ZU1vZHVsZVdpdGhQcm92aWRlcnNUeXBlfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2lzRmFpbHVyZSB7XG4gIG5vZGU6IHRzLk5vZGU7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuY29uc3QgVE9ET19DT01NRU5UID0gJ1RPRE86IFRoZSBmb2xsb3dpbmcgbm9kZSByZXF1aXJlcyBhIGdlbmVyaWMgdHlwZSBmb3IgYE1vZHVsZVdpdGhQcm92aWRlcnNgJztcblxuZXhwb3J0IGNsYXNzIE1vZHVsZVdpdGhQcm92aWRlcnNUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gIHByaXZhdGUgcGFydGlhbEV2YWx1YXRvciA9IG5ldyB0aGlzLmNvbXBpbGVyQ2xpTWlncmF0aW9uc01vZHVsZS5QYXJ0aWFsRXZhbHVhdG9yKFxuICAgICAgbmV3IHRoaXMuY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlLlR5cGVTY3JpcHRSZWZsZWN0aW9uSG9zdCh0aGlzLnR5cGVDaGVja2VyKSxcbiAgICAgIHRoaXMudHlwZUNoZWNrZXIsXG4gICAgICAvKiBkZXBlbmRlbmN5VHJhY2tlciAqLyBudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgICAgcHJpdmF0ZSBnZXRVcGRhdGVSZWNvcmRlcjogKHNmOiB0cy5Tb3VyY2VGaWxlKSA9PiBVcGRhdGVSZWNvcmRlcixcbiAgICAgIHByaXZhdGUgY29tcGlsZXJDbGlNaWdyYXRpb25zTW9kdWxlOlxuICAgICAgICAgIHR5cGVvZiBpbXBvcnQoJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9wcml2YXRlL21pZ3JhdGlvbnMnKSkge31cblxuICAvKiogTWlncmF0ZXMgYSBnaXZlbiBOZ01vZHVsZSBieSB3YWxraW5nIHRocm91Z2ggdGhlIHJlZmVyZW5jZWQgcHJvdmlkZXJzIGFuZCBzdGF0aWMgbWV0aG9kcy4gKi9cbiAgbWlncmF0ZU1vZHVsZShtb2R1bGU6IFJlc29sdmVkTmdNb2R1bGUpOiBBbmFseXNpc0ZhaWx1cmVbXSB7XG4gICAgcmV0dXJuIG1vZHVsZS5zdGF0aWNNZXRob2RzV2l0aG91dFR5cGUubWFwKHRoaXMuX21pZ3JhdGVTdGF0aWNOZ01vZHVsZU1ldGhvZC5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgICAgLmZpbHRlcih2ID0+IHYpIGFzIEFuYWx5c2lzRmFpbHVyZVtdO1xuICB9XG5cbiAgLyoqIE1pZ3JhdGVzIGEgTW9kdWxlV2l0aFByb3ZpZGVycyB0eXBlIGRlZmluaXRpb24gdGhhdCBoYXMgbm8gZXhwbGljaXQgZ2VuZXJpYyB0eXBlICovXG4gIG1pZ3JhdGVUeXBlKHR5cGU6IHRzLlR5cGVSZWZlcmVuY2VOb2RlKTogQW5hbHlzaXNGYWlsdXJlW10ge1xuICAgIGNvbnN0IHBhcmVudCA9IHR5cGUucGFyZW50O1xuICAgIGxldCBtb2R1bGVUZXh0OiBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIGlmICgodHMuaXNGdW5jdGlvbkRlY2xhcmF0aW9uKHBhcmVudCkgfHwgdHMuaXNNZXRob2REZWNsYXJhdGlvbihwYXJlbnQpKSAmJiBwYXJlbnQuYm9keSkge1xuICAgICAgY29uc3QgcmV0dXJuU3RhdGVtZW50ID0gcGFyZW50LmJvZHkuc3RhdGVtZW50cy5maW5kKHRzLmlzUmV0dXJuU3RhdGVtZW50KTtcblxuICAgICAgLy8gTm8gcmV0dXJuIHR5cGUgZm91bmQsIGV4aXRcbiAgICAgIGlmICghcmV0dXJuU3RhdGVtZW50IHx8ICFyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbikge1xuICAgICAgICByZXR1cm4gW3tub2RlOiBwYXJlbnQsIG1lc3NhZ2U6IGBSZXR1cm4gdHlwZSBpcyBub3Qgc3RhdGljYWxseSBhbmFseXphYmxlLmB9XTtcbiAgICAgIH1cblxuICAgICAgbW9kdWxlVGV4dCA9IHRoaXMuX2dldE5nTW9kdWxlVHlwZU9mRXhwcmVzc2lvbihyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbik7XG4gICAgfSBlbHNlIGlmICh0cy5pc1Byb3BlcnR5RGVjbGFyYXRpb24ocGFyZW50KSB8fCB0cy5pc1ZhcmlhYmxlRGVjbGFyYXRpb24ocGFyZW50KSkge1xuICAgICAgaWYgKCFwYXJlbnQuaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgYWRkVG9kb1RvTm9kZSh0eXBlLCBUT0RPX0NPTU1FTlQpO1xuICAgICAgICB0aGlzLl91cGRhdGVOb2RlKHR5cGUsIHR5cGUpO1xuICAgICAgICByZXR1cm4gW3tub2RlOiBwYXJlbnQsIG1lc3NhZ2U6IGBVbmFibGUgdG8gZGV0ZXJtaW5lIHR5cGUgZm9yIGRlY2xhcmF0aW9uLmB9XTtcbiAgICAgIH1cblxuICAgICAgbW9kdWxlVGV4dCA9IHRoaXMuX2dldE5nTW9kdWxlVHlwZU9mRXhwcmVzc2lvbihwYXJlbnQuaW5pdGlhbGl6ZXIpO1xuICAgIH1cblxuICAgIGlmIChtb2R1bGVUZXh0KSB7XG4gICAgICB0aGlzLl9hZGRHZW5lcmljVG9UeXBlUmVmZXJlbmNlKHR5cGUsIG1vZHVsZVRleHQpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbe25vZGU6IHBhcmVudCwgbWVzc2FnZTogYFR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfV07XG4gIH1cblxuICAvKiogQWRkIGEgZ2l2ZW4gZ2VuZXJpYyB0byBhIHR5cGUgcmVmZXJlbmNlIG5vZGUgKi9cbiAgcHJpdmF0ZSBfYWRkR2VuZXJpY1RvVHlwZVJlZmVyZW5jZShub2RlOiB0cy5UeXBlUmVmZXJlbmNlTm9kZSwgdHlwZU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld0dlbmVyaWNFeHByID0gY3JlYXRlTW9kdWxlV2l0aFByb3ZpZGVyc1R5cGUodHlwZU5hbWUsIG5vZGUpO1xuICAgIHRoaXMuX3VwZGF0ZU5vZGUobm9kZSwgbmV3R2VuZXJpY0V4cHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pZ3JhdGVzIGEgZ2l2ZW4gc3RhdGljIG1ldGhvZCBpZiBpdHMgTW9kdWxlV2l0aFByb3ZpZGVycyBkb2VzIG5vdCBwcm92aWRlXG4gICAqIGEgZ2VuZXJpYyB0eXBlLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdGljTWV0aG9kVHlwZShtZXRob2Q6IHRzLk1ldGhvZERlY2xhcmF0aW9uLCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV3R2VuZXJpY0V4cHIgPVxuICAgICAgICBjcmVhdGVNb2R1bGVXaXRoUHJvdmlkZXJzVHlwZSh0eXBlTmFtZSwgbWV0aG9kLnR5cGUgYXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUpO1xuICAgIGNvbnN0IG5ld01ldGhvZERlY2wgPSB0cy51cGRhdGVNZXRob2QoXG4gICAgICAgIG1ldGhvZCwgbWV0aG9kLmRlY29yYXRvcnMsIG1ldGhvZC5tb2RpZmllcnMsIG1ldGhvZC5hc3Rlcmlza1Rva2VuLCBtZXRob2QubmFtZSxcbiAgICAgICAgbWV0aG9kLnF1ZXN0aW9uVG9rZW4sIG1ldGhvZC50eXBlUGFyYW1ldGVycywgbWV0aG9kLnBhcmFtZXRlcnMsIG5ld0dlbmVyaWNFeHByLFxuICAgICAgICBtZXRob2QuYm9keSk7XG5cbiAgICB0aGlzLl91cGRhdGVOb2RlKG1ldGhvZCwgbmV3TWV0aG9kRGVjbCk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgcmVzb2x2ZWQgdmFsdWUgbWFwIHJlcHJlc2VudHMgYSBNb2R1bGVXaXRoUHJvdmlkZXJzIG9iamVjdCAqL1xuICBpc01vZHVsZVdpdGhQcm92aWRlcnNUeXBlKHZhbHVlOiBSZXNvbHZlZFZhbHVlTWFwKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbmdNb2R1bGUgPSB2YWx1ZS5nZXQoJ25nTW9kdWxlJykgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwcm92aWRlcnMgPSB2YWx1ZS5nZXQoJ3Byb3ZpZGVycycpICE9PSB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gbmdNb2R1bGUgJiYgKHZhbHVlLnNpemUgPT09IDEgfHwgKHByb3ZpZGVycyAmJiB2YWx1ZS5zaXplID09PSAyKSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBnZW5lcmljIHR5cGUgb2YgYSBzdXNwZWN0ZWQgTW9kdWxlV2l0aFByb3ZpZGVycyByZXR1cm4gdHlwZSBhbmQgYWRkIGl0XG4gICAqIGV4cGxpY2l0bHlcbiAgICovXG4gIHByaXZhdGUgX21pZ3JhdGVTdGF0aWNOZ01vZHVsZU1ldGhvZChub2RlOiB0cy5NZXRob2REZWNsYXJhdGlvbik6IEFuYWx5c2lzRmFpbHVyZXxudWxsIHtcbiAgICBjb25zdCByZXR1cm5TdGF0ZW1lbnQgPSBub2RlLmJvZHkgJiZcbiAgICAgICAgbm9kZS5ib2R5LnN0YXRlbWVudHMuZmluZChuID0+IHRzLmlzUmV0dXJuU3RhdGVtZW50KG4pKSBhcyB0cy5SZXR1cm5TdGF0ZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICAvLyBObyByZXR1cm4gdHlwZSBmb3VuZCwgZXhpdFxuICAgIGlmICghcmV0dXJuU3RhdGVtZW50IHx8ICFyZXR1cm5TdGF0ZW1lbnQuZXhwcmVzc2lvbikge1xuICAgICAgcmV0dXJuIHtub2RlOiBub2RlLCBtZXNzYWdlOiBgUmV0dXJuIHR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfTtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVUZXh0ID0gdGhpcy5fZ2V0TmdNb2R1bGVUeXBlT2ZFeHByZXNzaW9uKHJldHVyblN0YXRlbWVudC5leHByZXNzaW9uKTtcblxuICAgIGlmIChtb2R1bGVUZXh0KSB7XG4gICAgICB0aGlzLl91cGRhdGVTdGF0aWNNZXRob2RUeXBlKG5vZGUsIG1vZHVsZVRleHQpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtub2RlOiBub2RlLCBtZXNzYWdlOiBgTWV0aG9kIHR5cGUgaXMgbm90IHN0YXRpY2FsbHkgYW5hbHl6YWJsZS5gfTtcbiAgfVxuXG4gIC8qKiBFdmFsdWF0ZSBhbmQgcmV0dXJuIHRoZSBuZ01vZHVsZSB0eXBlIGZyb20gYW4gZXhwcmVzc2lvbiAqL1xuICBwcml2YXRlIF9nZXROZ01vZHVsZVR5cGVPZkV4cHJlc3Npb24oZXhwcjogdHMuRXhwcmVzc2lvbik6IHN0cmluZ3x1bmRlZmluZWQge1xuICAgIGNvbnN0IGV2YWx1YXRlZEV4cHIgPSB0aGlzLnBhcnRpYWxFdmFsdWF0b3IuZXZhbHVhdGUoZXhwcik7XG4gICAgcmV0dXJuIHRoaXMuX2dldFR5cGVPZlJlc29sdmVkVmFsdWUoZXZhbHVhdGVkRXhwcik7XG4gIH1cblxuICAvKipcbiAgICogVmlzaXRzIGEgZ2l2ZW4gb2JqZWN0IGxpdGVyYWwgZXhwcmVzc2lvbiB0byBkZXRlcm1pbmUgdGhlIG5nTW9kdWxlIHR5cGUuIElmIHRoZSBleHByZXNzaW9uXG4gICAqIGNhbm5vdCBiZSByZXNvbHZlZCwgYWRkIGEgVE9ETyB0byBhbGVydCB0aGUgdXNlci5cbiAgICovXG4gIHByaXZhdGUgX2dldFR5cGVPZlJlc29sdmVkVmFsdWUodmFsdWU6IFJlc29sdmVkVmFsdWUpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXAgJiYgdGhpcy5pc01vZHVsZVdpdGhQcm92aWRlcnNUeXBlKHZhbHVlKSkge1xuICAgICAgY29uc3QgbWFwVmFsdWUgPSB2YWx1ZS5nZXQoJ25nTW9kdWxlJykhO1xuICAgICAgaWYgKG1hcFZhbHVlIGluc3RhbmNlb2YgdGhpcy5jb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUuUmVmZXJlbmNlICYmXG4gICAgICAgICAgdHMuaXNDbGFzc0RlY2xhcmF0aW9uKG1hcFZhbHVlLm5vZGUpICYmIG1hcFZhbHVlLm5vZGUubmFtZSkge1xuICAgICAgICByZXR1cm4gbWFwVmFsdWUubm9kZS5uYW1lLnRleHQ7XG4gICAgICB9IGVsc2UgaWYgKG1hcFZhbHVlIGluc3RhbmNlb2YgdGhpcy5jb21waWxlckNsaU1pZ3JhdGlvbnNNb2R1bGUuRHluYW1pY1ZhbHVlKSB7XG4gICAgICAgIGFkZFRvZG9Ub05vZGUobWFwVmFsdWUubm9kZSwgVE9ET19DT01NRU5UKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlTm9kZShtYXBWYWx1ZS5ub2RlLCBtYXBWYWx1ZS5ub2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTm9kZShub2RlOiB0cy5Ob2RlLCBuZXdOb2RlOiB0cy5Ob2RlKSB7XG4gICAgY29uc3QgbmV3VGV4dCA9IHRoaXMucHJpbnRlci5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5ld05vZGUsIG5vZGUuZ2V0U291cmNlRmlsZSgpKTtcbiAgICBjb25zdCByZWNvcmRlciA9IHRoaXMuZ2V0VXBkYXRlUmVjb3JkZXIobm9kZS5nZXRTb3VyY2VGaWxlKCkpO1xuXG4gICAgcmVjb3JkZXIucmVtb3ZlKG5vZGUuZ2V0U3RhcnQoKSwgbm9kZS5nZXRXaWR0aCgpKTtcbiAgICByZWNvcmRlci5pbnNlcnRSaWdodChub2RlLmdldFN0YXJ0KCksIG5ld1RleHQpO1xuICB9XG59XG5cbi8qKlxuICogQWRkcyBhIHRvLWRvIHRvIHRoZSBnaXZlbiBUeXBlU2NyaXB0IG5vZGUgd2hpY2ggYWxlcnRzIGRldmVsb3BlcnMgdG8gZml4XG4gKiBwb3RlbnRpYWwgaXNzdWVzIGlkZW50aWZpZWQgYnkgdGhlIG1pZ3JhdGlvbi5cbiAqL1xuZnVuY3Rpb24gYWRkVG9kb1RvTm9kZShub2RlOiB0cy5Ob2RlLCB0ZXh0OiBzdHJpbmcpIHtcbiAgdHMuc2V0U3ludGhldGljTGVhZGluZ0NvbW1lbnRzKG5vZGUsIFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1RyYWlsaW5nTmV3TGluZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IHRzLlN5bnRheEtpbmQuTXVsdGlMaW5lQ29tbWVudFRyaXZpYSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogYCAke3RleHR9IGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dKTtcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/module-with-providers/util" />
9
- import ts from 'typescript';
10
- /** Add a generic type to a type reference. */
11
- export declare function createModuleWithProvidersType(type: string, node?: ts.TypeReferenceNode): ts.TypeReferenceNode;
12
- /** Determine whether a node is a ModuleWithProviders type reference node without a generic type */
13
- export declare function isModuleWithProvidersNotGeneric(typeChecker: ts.TypeChecker, node: ts.Node): node is ts.TypeReferenceNode;
@@ -1,43 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/module-with-providers/util", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/imports"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.isModuleWithProvidersNotGeneric = exports.createModuleWithProvidersType = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const imports_1 = require("@angular/core/schematics/utils/typescript/imports");
25
- /** Add a generic type to a type reference. */
26
- function createModuleWithProvidersType(type, node) {
27
- const typeNode = node || typescript_1.default.createTypeReferenceNode('ModuleWithProviders', []);
28
- const typeReferenceNode = typescript_1.default.createTypeReferenceNode(typescript_1.default.createIdentifier(type), []);
29
- return typescript_1.default.updateTypeReferenceNode(typeNode, typeNode.typeName, typescript_1.default.createNodeArray([typeReferenceNode]));
30
- }
31
- exports.createModuleWithProvidersType = createModuleWithProvidersType;
32
- /** Determine whether a node is a ModuleWithProviders type reference node without a generic type */
33
- function isModuleWithProvidersNotGeneric(typeChecker, node) {
34
- if (!typescript_1.default.isTypeReferenceNode(node) || !typescript_1.default.isIdentifier(node.typeName)) {
35
- return false;
36
- }
37
- const imp = (0, imports_1.getImportOfIdentifier)(typeChecker, node.typeName);
38
- return !!imp && imp.name === 'ModuleWithProviders' && imp.importModule === '@angular/core' &&
39
- !node.typeArguments;
40
- }
41
- exports.isModuleWithProvidersNotGeneric = isModuleWithProvidersNotGeneric;
42
- });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL21vZHVsZS13aXRoLXByb3ZpZGVycy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUM1QiwrRUFBcUU7SUFFckUsOENBQThDO0lBQzlDLFNBQWdCLDZCQUE2QixDQUN6QyxJQUFZLEVBQUUsSUFBMkI7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLG9CQUFFLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxpQkFBaUIsR0FBRyxvQkFBRSxDQUFDLHVCQUF1QixDQUFDLG9CQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEYsT0FBTyxvQkFBRSxDQUFDLHVCQUF1QixDQUM3QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxvQkFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFORCxzRUFNQztJQUVELG1HQUFtRztJQUNuRyxTQUFnQiwrQkFBK0IsQ0FDM0MsV0FBMkIsRUFBRSxJQUFhO1FBQzVDLElBQUksQ0FBQyxvQkFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFBLCtCQUFxQixFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLElBQUksR0FBRyxDQUFDLFlBQVksS0FBSyxlQUFlO1lBQ3RGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMxQixDQUFDO0lBVEQsMEVBU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtnZXRJbXBvcnRPZklkZW50aWZpZXJ9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5cbi8qKiBBZGQgYSBnZW5lcmljIHR5cGUgdG8gYSB0eXBlIHJlZmVyZW5jZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2R1bGVXaXRoUHJvdmlkZXJzVHlwZShcbiAgICB0eXBlOiBzdHJpbmcsIG5vZGU/OiB0cy5UeXBlUmVmZXJlbmNlTm9kZSk6IHRzLlR5cGVSZWZlcmVuY2VOb2RlIHtcbiAgY29uc3QgdHlwZU5vZGUgPSBub2RlIHx8IHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKCdNb2R1bGVXaXRoUHJvdmlkZXJzJywgW10pO1xuICBjb25zdCB0eXBlUmVmZXJlbmNlTm9kZSA9IHRzLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKHRzLmNyZWF0ZUlkZW50aWZpZXIodHlwZSksIFtdKTtcbiAgcmV0dXJuIHRzLnVwZGF0ZVR5cGVSZWZlcmVuY2VOb2RlKFxuICAgICAgdHlwZU5vZGUsIHR5cGVOb2RlLnR5cGVOYW1lLCB0cy5jcmVhdGVOb2RlQXJyYXkoW3R5cGVSZWZlcmVuY2VOb2RlXSkpO1xufVxuXG4vKiogRGV0ZXJtaW5lIHdoZXRoZXIgYSBub2RlIGlzIGEgTW9kdWxlV2l0aFByb3ZpZGVycyB0eXBlIHJlZmVyZW5jZSBub2RlIHdpdGhvdXQgYSBnZW5lcmljIHR5cGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc01vZHVsZVdpdGhQcm92aWRlcnNOb3RHZW5lcmljKFxuICAgIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlciwgbm9kZTogdHMuTm9kZSk6IG5vZGUgaXMgdHMuVHlwZVJlZmVyZW5jZU5vZGUge1xuICBpZiAoIXRzLmlzVHlwZVJlZmVyZW5jZU5vZGUobm9kZSkgfHwgIXRzLmlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGltcCA9IGdldEltcG9ydE9mSWRlbnRpZmllcih0eXBlQ2hlY2tlciwgbm9kZS50eXBlTmFtZSk7XG4gIHJldHVybiAhIWltcCAmJiBpbXAubmFtZSA9PT0gJ01vZHVsZVdpdGhQcm92aWRlcnMnICYmIGltcC5pbXBvcnRNb2R1bGUgPT09ICdAYW5ndWxhci9jb3JlJyAmJlxuICAgICAgIW5vZGUudHlwZUFyZ3VtZW50cztcbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/move-document/document_import_visitor" />
9
- import ts from 'typescript';
10
- export declare const COMMON_IMPORT = "@angular/common";
11
- export declare const PLATFORM_BROWSER_IMPORT = "@angular/platform-browser";
12
- export declare const DOCUMENT_TOKEN_NAME = "DOCUMENT";
13
- /** This contains the metadata necessary to move items from one import to another */
14
- export interface ResolvedDocumentImport {
15
- platformBrowserImport: ts.NamedImports | null;
16
- commonImport: ts.NamedImports | null;
17
- documentElement: ts.ImportSpecifier | null;
18
- }
19
- /** Visitor that can be used to find a set of imports in a TypeScript file. */
20
- export declare class DocumentImportVisitor {
21
- typeChecker: ts.TypeChecker;
22
- importsMap: Map<ts.SourceFile, ResolvedDocumentImport>;
23
- constructor(typeChecker: ts.TypeChecker);
24
- visitNode(node: ts.Node): void;
25
- private visitNamedImport;
26
- private getDocumentElement;
27
- }
@@ -1,77 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- (function (factory) {
12
- if (typeof module === "object" && typeof module.exports === "object") {
13
- var v = factory(require, exports);
14
- if (v !== undefined) module.exports = v;
15
- }
16
- else if (typeof define === "function" && define.amd) {
17
- define("@angular/core/schematics/migrations/move-document/document_import_visitor", ["require", "exports", "typescript"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.DocumentImportVisitor = exports.DOCUMENT_TOKEN_NAME = exports.PLATFORM_BROWSER_IMPORT = exports.COMMON_IMPORT = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- exports.COMMON_IMPORT = '@angular/common';
25
- exports.PLATFORM_BROWSER_IMPORT = '@angular/platform-browser';
26
- exports.DOCUMENT_TOKEN_NAME = 'DOCUMENT';
27
- /** Visitor that can be used to find a set of imports in a TypeScript file. */
28
- class DocumentImportVisitor {
29
- constructor(typeChecker) {
30
- this.typeChecker = typeChecker;
31
- this.importsMap = new Map();
32
- }
33
- visitNode(node) {
34
- if (typescript_1.default.isNamedImports(node)) {
35
- this.visitNamedImport(node);
36
- }
37
- typescript_1.default.forEachChild(node, node => this.visitNode(node));
38
- }
39
- visitNamedImport(node) {
40
- if (!node.elements || !node.elements.length) {
41
- return;
42
- }
43
- const importDeclaration = node.parent.parent;
44
- // If this is not a StringLiteral it will be a grammar error
45
- const moduleSpecifier = importDeclaration.moduleSpecifier;
46
- const sourceFile = node.getSourceFile();
47
- let imports = this.importsMap.get(sourceFile);
48
- if (!imports) {
49
- imports = {
50
- platformBrowserImport: null,
51
- commonImport: null,
52
- documentElement: null,
53
- };
54
- }
55
- if (moduleSpecifier.text === exports.PLATFORM_BROWSER_IMPORT) {
56
- const documentElement = this.getDocumentElement(node);
57
- if (documentElement) {
58
- imports.platformBrowserImport = node;
59
- imports.documentElement = documentElement;
60
- }
61
- }
62
- else if (moduleSpecifier.text === exports.COMMON_IMPORT) {
63
- imports.commonImport = node;
64
- }
65
- else {
66
- return;
67
- }
68
- this.importsMap.set(sourceFile, imports);
69
- }
70
- getDocumentElement(node) {
71
- const elements = node.elements;
72
- return elements.find(el => (el.propertyName || el.name).escapedText === exports.DOCUMENT_TOKEN_NAME);
73
- }
74
- }
75
- exports.DocumentImportVisitor = DocumentImportVisitor;
76
- });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRfaW1wb3J0X3Zpc2l0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9tb3ZlLWRvY3VtZW50L2RvY3VtZW50X2ltcG9ydF92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUVmLFFBQUEsYUFBYSxHQUFHLGlCQUFpQixDQUFDO0lBQ2xDLFFBQUEsdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7SUFDdEQsUUFBQSxtQkFBbUIsR0FBRyxVQUFVLENBQUM7SUFTOUMsOEVBQThFO0lBQzlFLE1BQWEscUJBQXFCO1FBR2hDLFlBQW1CLFdBQTJCO1lBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtZQUY5QyxlQUFVLEdBQStDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEIsQ0FBQztRQUVsRCxTQUFTLENBQUMsSUFBYTtZQUNyQixJQUFJLG9CQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7WUFFRCxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVPLGdCQUFnQixDQUFDLElBQXFCO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLE9BQU87YUFDUjtZQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0MsNERBQTREO1lBQzVELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLGVBQW1DLENBQUM7WUFDOUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTyxHQUFHO29CQUNSLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFlBQVksRUFBRSxJQUFJO29CQUNsQixlQUFlLEVBQUUsSUFBSTtpQkFDdEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxlQUFlLENBQUMsSUFBSSxLQUFLLCtCQUF1QixFQUFFO2dCQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksZUFBZSxFQUFFO29CQUNuQixPQUFPLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO29CQUNyQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztpQkFDM0M7YUFDRjtpQkFBTSxJQUFJLGVBQWUsQ0FBQyxJQUFJLEtBQUsscUJBQWEsRUFBRTtnQkFDakQsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFTyxrQkFBa0IsQ0FBQyxJQUFxQjtZQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLDJCQUFtQixDQUFDLENBQUM7UUFDL0YsQ0FBQztLQUNGO0lBakRELHNEQWlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fSU1QT1JUID0gJ0Bhbmd1bGFyL2NvbW1vbic7XG5leHBvcnQgY29uc3QgUExBVEZPUk1fQlJPV1NFUl9JTVBPUlQgPSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5leHBvcnQgY29uc3QgRE9DVU1FTlRfVE9LRU5fTkFNRSA9ICdET0NVTUVOVCc7XG5cbi8qKiBUaGlzIGNvbnRhaW5zIHRoZSBtZXRhZGF0YSBuZWNlc3NhcnkgdG8gbW92ZSBpdGVtcyBmcm9tIG9uZSBpbXBvcnQgdG8gYW5vdGhlciAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZERvY3VtZW50SW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VySW1wb3J0OiB0cy5OYW1lZEltcG9ydHN8bnVsbDtcbiAgY29tbW9uSW1wb3J0OiB0cy5OYW1lZEltcG9ydHN8bnVsbDtcbiAgZG9jdW1lbnRFbGVtZW50OiB0cy5JbXBvcnRTcGVjaWZpZXJ8bnVsbDtcbn1cblxuLyoqIFZpc2l0b3IgdGhhdCBjYW4gYmUgdXNlZCB0byBmaW5kIGEgc2V0IG9mIGltcG9ydHMgaW4gYSBUeXBlU2NyaXB0IGZpbGUuICovXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRJbXBvcnRWaXNpdG9yIHtcbiAgaW1wb3J0c01hcDogTWFwPHRzLlNvdXJjZUZpbGUsIFJlc29sdmVkRG9jdW1lbnRJbXBvcnQ+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIpIHt9XG5cbiAgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICBpZiAodHMuaXNOYW1lZEltcG9ydHMobm9kZSkpIHtcbiAgICAgIHRoaXMudmlzaXROYW1lZEltcG9ydChub2RlKTtcbiAgICB9XG5cbiAgICB0cy5mb3JFYWNoQ2hpbGQobm9kZSwgbm9kZSA9PiB0aGlzLnZpc2l0Tm9kZShub2RlKSk7XG4gIH1cblxuICBwcml2YXRlIHZpc2l0TmFtZWRJbXBvcnQobm9kZTogdHMuTmFtZWRJbXBvcnRzKSB7XG4gICAgaWYgKCFub2RlLmVsZW1lbnRzIHx8ICFub2RlLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGltcG9ydERlY2xhcmF0aW9uID0gbm9kZS5wYXJlbnQucGFyZW50O1xuICAgIC8vIElmIHRoaXMgaXMgbm90IGEgU3RyaW5nTGl0ZXJhbCBpdCB3aWxsIGJlIGEgZ3JhbW1hciBlcnJvclxuICAgIGNvbnN0IG1vZHVsZVNwZWNpZmllciA9IGltcG9ydERlY2xhcmF0aW9uLm1vZHVsZVNwZWNpZmllciBhcyB0cy5TdHJpbmdMaXRlcmFsO1xuICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBub2RlLmdldFNvdXJjZUZpbGUoKTtcbiAgICBsZXQgaW1wb3J0cyA9IHRoaXMuaW1wb3J0c01hcC5nZXQoc291cmNlRmlsZSk7XG4gICAgaWYgKCFpbXBvcnRzKSB7XG4gICAgICBpbXBvcnRzID0ge1xuICAgICAgICBwbGF0Zm9ybUJyb3dzZXJJbXBvcnQ6IG51bGwsXG4gICAgICAgIGNvbW1vbkltcG9ydDogbnVsbCxcbiAgICAgICAgZG9jdW1lbnRFbGVtZW50OiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAobW9kdWxlU3BlY2lmaWVyLnRleHQgPT09IFBMQVRGT1JNX0JST1dTRVJfSU1QT1JUKSB7XG4gICAgICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmdldERvY3VtZW50RWxlbWVudChub2RlKTtcbiAgICAgIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgaW1wb3J0cy5wbGF0Zm9ybUJyb3dzZXJJbXBvcnQgPSBub2RlO1xuICAgICAgICBpbXBvcnRzLmRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50RWxlbWVudDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1vZHVsZVNwZWNpZmllci50ZXh0ID09PSBDT01NT05fSU1QT1JUKSB7XG4gICAgICBpbXBvcnRzLmNvbW1vbkltcG9ydCA9IG5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbXBvcnRzTWFwLnNldChzb3VyY2VGaWxlLCBpbXBvcnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG9jdW1lbnRFbGVtZW50KG5vZGU6IHRzLk5hbWVkSW1wb3J0cyk6IHRzLkltcG9ydFNwZWNpZmllcnx1bmRlZmluZWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gbm9kZS5lbGVtZW50cztcbiAgICByZXR1cm4gZWxlbWVudHMuZmluZChlbCA9PiAoZWwucHJvcGVydHlOYW1lIHx8IGVsLm5hbWUpLmVzY2FwZWRUZXh0ID09PSBET0NVTUVOVF9UT0tFTl9OQU1FKTtcbiAgfVxufVxuIl19
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/core/schematics/migrations/move-document" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Entry point for the V8 move-document migration. */
11
- export default function (): Rule;