@angular/core 13.0.0-rc.0 → 13.0.0

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 (175) hide show
  1. package/core.d.ts +224 -221
  2. package/esm2020/index.mjs +6 -5
  3. package/esm2020/src/application_module.mjs +2 -7
  4. package/esm2020/src/core_render3_private_export.mjs +2 -1
  5. package/esm2020/src/linker/component_factory_resolver.mjs +5 -5
  6. package/esm2020/src/linker/ng_module_factory.mjs +1 -1
  7. package/esm2020/src/render3/definition.mjs +2 -5
  8. package/esm2020/src/render3/di.mjs +3 -3
  9. package/esm2020/src/render3/error_code.mjs +2 -5
  10. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  11. package/esm2020/src/render3/fields.mjs +1 -2
  12. package/esm2020/src/render3/ng_module_ref.mjs +2 -5
  13. package/esm2020/src/render3/util/global_utils.mjs +2 -3
  14. package/esm2020/src/version.mjs +1 -1
  15. package/esm2020/testing/src/logger.mjs +3 -3
  16. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  17. package/esm2020/testing/src/test_compiler.mjs +3 -3
  18. package/fesm2015/core.mjs +26 -25
  19. package/fesm2015/core.mjs.map +1 -1
  20. package/fesm2015/testing.mjs +4 -4
  21. package/fesm2020/core.mjs +26 -25
  22. package/fesm2020/core.mjs.map +1 -1
  23. package/fesm2020/testing.mjs +4 -4
  24. package/package.json +1 -1
  25. package/schematics/migrations/router-link-empty-expression/index.js +2 -2
  26. package/schematics/migrations.json +0 -100
  27. package/schematics/utils/ng_component_template.d.ts +4 -1
  28. package/schematics/utils/ng_component_template.js +28 -14
  29. package/testing/testing.d.ts +1 -1
  30. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  31. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  32. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  33. package/schematics/migrations/abstract-control-parent/util.js +0 -67
  34. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  35. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -73
  36. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  37. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -51
  38. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  39. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -69
  40. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  41. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -73
  42. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  43. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  44. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  45. package/schematics/migrations/dynamic-queries/index.js +0 -76
  46. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  47. package/schematics/migrations/dynamic-queries/util.js +0 -84
  48. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  49. package/schematics/migrations/initial-navigation/collector.js +0 -122
  50. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  51. package/schematics/migrations/initial-navigation/index.js +0 -83
  52. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  53. package/schematics/migrations/initial-navigation/transform.js +0 -71
  54. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  55. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  56. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  57. package/schematics/migrations/initial-navigation/util.js +0 -46
  58. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  59. package/schematics/migrations/missing-injectable/definition_collector.js +0 -92
  60. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  61. package/schematics/migrations/missing-injectable/index.js +0 -136
  62. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -26
  63. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -71
  64. package/schematics/migrations/missing-injectable/transform.d.ts +0 -70
  65. package/schematics/migrations/missing-injectable/transform.js +0 -203
  66. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  67. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  68. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  69. package/schematics/migrations/module-with-providers/collector.js +0 -76
  70. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  71. package/schematics/migrations/module-with-providers/index.js +0 -107
  72. package/schematics/migrations/module-with-providers/transform.d.ts +0 -50
  73. package/schematics/migrations/module-with-providers/transform.js +0 -149
  74. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  75. package/schematics/migrations/module-with-providers/util.js +0 -43
  76. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  77. package/schematics/migrations/move-document/document_import_visitor.js +0 -77
  78. package/schematics/migrations/move-document/index.d.ts +0 -11
  79. package/schematics/migrations/move-document/index.js +0 -93
  80. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  81. package/schematics/migrations/move-document/move-import.js +0 -64
  82. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  83. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  84. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  85. package/schematics/migrations/native-view-encapsulation/util.js +0 -51
  86. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  87. package/schematics/migrations/navigation-extras-omissions/index.js +0 -72
  88. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  89. package/schematics/migrations/navigation-extras-omissions/util.js +0 -129
  90. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  91. package/schematics/migrations/relative-link-resolution/collector.js +0 -98
  92. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  93. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  94. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  95. package/schematics/migrations/relative-link-resolution/transform.js +0 -68
  96. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  97. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  98. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  99. package/schematics/migrations/relative-link-resolution/util.js +0 -46
  100. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  101. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -241
  102. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  103. package/schematics/migrations/renderer-to-renderer2/index.js +0 -138
  104. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  105. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -228
  106. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  107. package/schematics/migrations/renderer-to-renderer2/util.js +0 -86
  108. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  109. package/schematics/migrations/router-preserve-query-params/index.js +0 -75
  110. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  111. package/schematics/migrations/router-preserve-query-params/util.js +0 -106
  112. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  113. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -87
  114. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  115. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -130
  116. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  117. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  118. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  119. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  120. package/schematics/migrations/static-queries/index.d.ts +0 -11
  121. package/schematics/migrations/static-queries/index.js +0 -244
  122. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  123. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -210
  124. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  125. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  126. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  127. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  128. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  129. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -372
  130. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  131. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -55
  132. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  133. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  134. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  135. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -172
  136. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  137. package/schematics/migrations/static-queries/transform.js +0 -105
  138. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  139. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  140. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  141. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  142. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  143. package/schematics/migrations/template-var-assignment/index.js +0 -101
  144. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  145. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -128
  146. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -64
  147. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -302
  148. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  149. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  150. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  151. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -56
  152. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  153. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -99
  154. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -37
  155. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -118
  156. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  157. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -129
  158. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  159. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  160. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  161. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -68
  162. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  163. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -226
  164. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  165. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -135
  166. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -97
  167. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -373
  168. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  169. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  170. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  171. package/schematics/migrations/wait-for-async/index.js +0 -101
  172. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  173. package/schematics/migrations/wait-for-async/util.js +0 -40
  174. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  175. package/schematics/migrations/xhr-factory/index.js +0 -107
@@ -1,37 +0,0 @@
1
- /// <amd-module name="@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter" />
2
- /**
3
- * @license
4
- * Copyright Google LLC All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- import type { AotCompiler } from '@angular/compiler';
10
- import ts from 'typescript';
11
- import { ImportManager } from '../../../utils/import_manager';
12
- import { NgDecorator } from '../../../utils/ng_decorators';
13
- /**
14
- * Class that can be used to copy decorators to a new location. The rewriter ensures that
15
- * identifiers and imports are rewritten to work in the new file location. Fields in a
16
- * decorator that cannot be cleanly copied will be copied with a comment explaining that
17
- * imports and identifiers need to be adjusted manually.
18
- */
19
- export declare class DecoratorRewriter {
20
- private importManager;
21
- private typeChecker;
22
- private compiler;
23
- previousSourceFile: ts.SourceFile | null;
24
- newSourceFile: ts.SourceFile | null;
25
- newProperties: ts.ObjectLiteralElementLike[];
26
- nonCopyableProperties: ts.ObjectLiteralElementLike[];
27
- private importRewriterFactory;
28
- constructor(importManager: ImportManager, typeChecker: ts.TypeChecker, compiler: AotCompiler);
29
- rewrite(ngDecorator: NgDecorator, newSourceFile: ts.SourceFile): ts.Decorator;
30
- /** Creates a new decorator with the given expression. */
31
- private _createDecorator;
32
- /**
33
- * Sanitizes a metadata property by ensuring that all contained identifiers
34
- * are imported in the target source file.
35
- */
36
- private _sanitizeMetadataProperty;
37
- }
@@ -1,118 +0,0 @@
1
- var __importDefault = (this && this.__importDefault) || function (mod) {
2
- return (mod && mod.__esModule) ? mod : { "default": mod };
3
- };
4
- (function (factory) {
5
- if (typeof module === "object" && typeof module.exports === "object") {
6
- var v = factory(require, exports);
7
- if (v !== undefined) module.exports = v;
8
- }
9
- else if (typeof define === "function" && define.amd) {
10
- define("@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/functions", "@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor"], factory);
11
- }
12
- })(function (require, exports) {
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DecoratorRewriter = void 0;
16
- const typescript_1 = __importDefault(require("typescript"));
17
- const functions_1 = require("@angular/core/schematics/utils/typescript/functions");
18
- const import_rewrite_visitor_1 = require("@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor");
19
- /**
20
- * Class that can be used to copy decorators to a new location. The rewriter ensures that
21
- * identifiers and imports are rewritten to work in the new file location. Fields in a
22
- * decorator that cannot be cleanly copied will be copied with a comment explaining that
23
- * imports and identifiers need to be adjusted manually.
24
- */
25
- class DecoratorRewriter {
26
- constructor(importManager, typeChecker, compiler) {
27
- this.importManager = importManager;
28
- this.typeChecker = typeChecker;
29
- this.compiler = compiler;
30
- this.previousSourceFile = null;
31
- this.newSourceFile = null;
32
- this.newProperties = [];
33
- this.nonCopyableProperties = [];
34
- this.importRewriterFactory = new import_rewrite_visitor_1.ImportRewriteTransformerFactory(this.importManager, this.typeChecker, this.compiler['_host']);
35
- }
36
- rewrite(ngDecorator, newSourceFile) {
37
- const decorator = ngDecorator.node;
38
- // Reset the previous state of the decorator rewriter.
39
- this.newProperties = [];
40
- this.nonCopyableProperties = [];
41
- this.newSourceFile = newSourceFile;
42
- this.previousSourceFile = decorator.getSourceFile();
43
- // If the decorator will be added to the same source file it currently
44
- // exists in, we don't need to rewrite any paths or add new imports.
45
- if (this.previousSourceFile === newSourceFile) {
46
- return this._createDecorator(decorator.expression);
47
- }
48
- const oldCallExpr = decorator.expression;
49
- if (!oldCallExpr.arguments.length) {
50
- // Re-use the original decorator if there are no arguments and nothing needs
51
- // to be sanitized or rewritten.
52
- return this._createDecorator(decorator.expression);
53
- }
54
- const metadata = (0, functions_1.unwrapExpression)(oldCallExpr.arguments[0]);
55
- if (!typescript_1.default.isObjectLiteralExpression(metadata)) {
56
- // Re-use the original decorator as there is no metadata that can be sanitized.
57
- return this._createDecorator(decorator.expression);
58
- }
59
- metadata.properties.forEach(prop => {
60
- // We don't handle spread assignments, accessors or method declarations automatically
61
- // as it involves more advanced static analysis and these type of properties are not
62
- // picked up by ngc either.
63
- if (typescript_1.default.isSpreadAssignment(prop) || typescript_1.default.isAccessor(prop) || typescript_1.default.isMethodDeclaration(prop)) {
64
- this.nonCopyableProperties.push(prop);
65
- return;
66
- }
67
- const sanitizedProp = this._sanitizeMetadataProperty(prop);
68
- if (sanitizedProp !== null) {
69
- this.newProperties.push(sanitizedProp);
70
- }
71
- else {
72
- this.nonCopyableProperties.push(prop);
73
- }
74
- });
75
- // In case there is at least one non-copyable property, we add a leading comment to
76
- // the first property assignment in order to ask the developer to manually manage
77
- // imports and do path rewriting for these properties.
78
- if (this.nonCopyableProperties.length !== 0) {
79
- ['The following fields were copied from the base class,',
80
- 'but could not be updated automatically to work in the',
81
- 'new file location. Please add any required imports for', 'the properties below:']
82
- .forEach(text => typescript_1.default.addSyntheticLeadingComment(this.nonCopyableProperties[0], typescript_1.default.SyntaxKind.SingleLineCommentTrivia, ` ${text}`, true));
83
- }
84
- // Note that we don't update the decorator as we don't want to copy potential leading
85
- // comments of the decorator. This is necessary because otherwise comments from the
86
- // copied decorator end up describing the new class (which is not always correct).
87
- return this._createDecorator(typescript_1.default.createCall(this.importManager.addImportToSourceFile(newSourceFile, ngDecorator.name, ngDecorator.moduleName), undefined, [typescript_1.default.updateObjectLiteral(metadata, [...this.newProperties, ...this.nonCopyableProperties])]));
88
- }
89
- /** Creates a new decorator with the given expression. */
90
- _createDecorator(expr) {
91
- // Note that we don't update the decorator as we don't want to copy potential leading
92
- // comments of the decorator. This is necessary because otherwise comments from the
93
- // copied decorator end up describing the new class (which is not always correct).
94
- return typescript_1.default.createDecorator(expr);
95
- }
96
- /**
97
- * Sanitizes a metadata property by ensuring that all contained identifiers
98
- * are imported in the target source file.
99
- */
100
- _sanitizeMetadataProperty(prop) {
101
- try {
102
- return typescript_1.default
103
- .transform(prop, [ctx => this.importRewriterFactory.create(ctx, this.newSourceFile)])
104
- .transformed[0];
105
- }
106
- catch (e) {
107
- // If the error is for an unresolved identifier, we want to return "null" because
108
- // such object literal elements could be added to the non-copyable properties.
109
- if (e instanceof import_rewrite_visitor_1.UnresolvedIdentifierError) {
110
- return null;
111
- }
112
- throw e;
113
- }
114
- }
115
- }
116
- exports.DecoratorRewriter = DecoratorRewriter;
117
- });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yX3Jld3JpdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zY2hlbWF0aWNzL21pZ3JhdGlvbnMvdW5kZWNvcmF0ZWQtY2xhc3Nlcy13aXRoLWRpL2RlY29yYXRvcl9yZXdyaXRlL2RlY29yYXRvcl9yZXdyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUFTQSw0REFBNEI7SUFJNUIsbUZBQXFFO0lBRXJFLHFKQUFvRztJQUdwRzs7Ozs7T0FLRztJQUNILE1BQWEsaUJBQWlCO1FBVTVCLFlBQ1ksYUFBNEIsRUFBVSxXQUEyQixFQUNqRSxRQUFxQjtZQURyQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtZQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtZQUNqRSxhQUFRLEdBQVIsUUFBUSxDQUFhO1lBWGpDLHVCQUFrQixHQUF1QixJQUFJLENBQUM7WUFDOUMsa0JBQWEsR0FBdUIsSUFBSSxDQUFDO1lBRXpDLGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztZQUNsRCwwQkFBcUIsR0FBa0MsRUFBRSxDQUFDO1lBRWxELDBCQUFxQixHQUFHLElBQUksd0RBQStCLENBQy9ELElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFJOUIsQ0FBQztRQUVyQyxPQUFPLENBQUMsV0FBd0IsRUFBRSxhQUE0QjtZQUM1RCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBRW5DLHNEQUFzRDtZQUN0RCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxT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RjtZQUNsRixPQUFPLG9CQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRDs7O1dBR0c7UUFDSyx5QkFBeUIsQ0FBQyxJQUFpQztZQUVqRSxJQUFJO2dCQUNGLE9BQU8sb0JBQUU7cUJBQ0osU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWMsQ0FBQyxDQUFDLENBQUM7cUJBQ3JGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLGlGQUFpRjtnQkFDakYsOEVBQThFO2dCQUM5RSxJQUFJLENBQUMsWUFBWSxrREFBeUIsRUFBRTtvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7YUFDVDtRQUNILENBQUM7S0FDRjtJQTlHRCw4Q0E4R0MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHR5cGUge0FvdENvbXBpbGVyfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7SW1wb3J0TWFuYWdlcn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1wb3J0X21hbmFnZXInO1xuaW1wb3J0IHtOZ0RlY29yYXRvcn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbmdfZGVjb3JhdG9ycyc7XG5pbXBvcnQge3Vud3JhcEV4cHJlc3Npb259IGZyb20gJy4uLy4uLy4uL3V0aWxzL3R5cGVzY3JpcHQvZnVuY3Rpb25zJztcblxuaW1wb3J0IHtJbXBvcnRSZXdyaXRlVHJhbnNmb3JtZXJGYWN0b3J5LCBVbnJlc29sdmVkSWRlbnRpZmllckVycm9yfSBmcm9tICcuL2ltcG9ydF9yZXdyaXRlX3Zpc2l0b3InO1xuXG5cbi8qKlxuICogQ2xhc3MgdGhhdCBjYW4gYmUgdXNlZCB0byBjb3B5IGRlY29yYXRvcnMgdG8gYSBuZXcgbG9jYXRpb24uIFRoZSByZXdyaXRlciBlbnN1cmVzIHRoYXRcbiAqIGlkZW50aWZpZXJzIGFuZCBpbXBvcnRzIGFyZSByZXdyaXR0ZW4gdG8gd29yayBpbiB0aGUgbmV3IGZpbGUgbG9jYXRpb24uIEZpZWxkcyBpbiBhXG4gKiBkZWNvcmF0b3IgdGhhdCBjYW5ub3QgYmUgY2xlYW5seSBjb3BpZWQgd2lsbCBiZSBjb3BpZWQgd2l0aCBhIGNvbW1lbnQgZXhwbGFpbmluZyB0aGF0XG4gKiBpbXBvcnRzIGFuZCBpZGVudGlmaWVycyBuZWVkIHRvIGJlIGFkanVzdGVkIG1hbnVhbGx5LlxuICovXG5leHBvcnQgY2xhc3MgRGVjb3JhdG9yUmV3cml0ZXIge1xuICBwcmV2aW91c1NvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGV8bnVsbCA9IG51bGw7XG4gIG5ld1NvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGV8bnVsbCA9IG51bGw7XG5cbiAgbmV3UHJvcGVydGllczogdHMuT2JqZWN0TGl0ZXJhbEVsZW1lbnRMaWtlW10gPSBbXTtcbiAgbm9uQ29weWFibGVQcm9wZXJ0aWVzOiB0cy5PYmplY3RMaXRlcmFsRWxlbWVudExpa2VbXSA9IFtdO1xuXG4gIHByaXZhdGUgaW1wb3J0UmV3cml0ZXJGYWN0b3J5ID0gbmV3IEltcG9ydFJld3JpdGVUcmFuc2Zvcm1lckZhY3RvcnkoXG4gICAgICB0aGlzLmltcG9ydE1hbmFnZXIsIHRoaXMudHlwZUNoZWNrZXIsIHRoaXMuY29tcGlsZXJbJ19ob3N0J10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBpbXBvcnRNYW5hZ2VyOiBJbXBvcnRNYW5hZ2VyLCBwcml2YXRlIHR5cGVDaGVja2VyOiB0cy5UeXBlQ2hlY2tlcixcbiAgICAgIHByaXZhdGUgY29tcGlsZXI6IEFvdENvbXBpbGVyKSB7fVxuXG4gIHJld3JpdGUobmdEZWNvcmF0b3I6IE5nRGVjb3JhdG9yLCBuZXdTb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogdHMuRGVjb3JhdG9yIHtcbiAgICBjb25zdCBkZWNvcmF0b3IgPSBuZ0RlY29yYXRvci5ub2RlO1xuXG4gICAgLy8gUmVzZXQgdGhlIHByZXZpb3VzIHN0YXRlIG9mIHRoZSBkZWNvcmF0b3IgcmV3cml0ZXIuXG4gICAgdGhpcy5uZXdQcm9wZXJ0aWVzID0gW107XG4gICAgdGhpcy5ub25Db3B5YWJsZVByb3BlcnRpZXMgPSBbXTtcbiAgICB0aGlzLm5ld1NvdXJjZUZpbGUgPSBuZXdTb3VyY2VGaWxlO1xuICAgIHRoaXMucHJldmlvdXNTb3VyY2VGaWxlID0gZGVjb3JhdG9yLmdldFNvdXJjZUZpbGUoKTtcblxuICAgIC8vIElmIHRoZSBkZWNvcmF0b3Igd2lsbCBiZSBhZGRlZCB0byB0aGUgc2FtZSBzb3VyY2UgZmlsZSBpdCBjdXJyZW50bHlcbiAgICAvLyBleGlzdHMgaW4sIHdlIGRvbid0IG5lZWQgdG8gcmV3cml0ZSBhbnkgcGF0aHMgb3IgYWRkIG5ldyBpbXBvcnRzLlxuICAgIGlmICh0aGlzLnByZXZpb3VzU291cmNlRmlsZSA9PT0gbmV3U291cmNlRmlsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZURlY29yYXRvcihkZWNvcmF0b3IuZXhwcmVzc2lvbik7XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkQ2FsbEV4cHIgPSBkZWNvcmF0b3IuZXhwcmVzc2lvbjtcblxuICAgIGlmICghb2xkQ2FsbEV4cHIuYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgLy8gUmUtdXNlIHRoZSBvcmlnaW5hbCBkZWNvcmF0b3IgaWYgdGhlcmUgYXJlIG5vIGFyZ3VtZW50cyBhbmQgbm90aGluZyBuZWVkc1xuICAgICAgLy8gdG8gYmUgc2FuaXRpemVkIG9yIHJld3JpdHRlbi5cbiAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVEZWNvcmF0b3IoZGVjb3JhdG9yLmV4cHJlc3Npb24pO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhID0gdW53cmFwRXhwcmVzc2lvbihvbGRDYWxsRXhwci5hcmd1bWVudHNbMF0pO1xuICAgIGlmICghdHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihtZXRhZGF0YSkpIHtcbiAgICAgIC8vIFJlLXVzZSB0aGUgb3JpZ2luYWwgZGVjb3JhdG9yIGFzIHRoZXJlIGlzIG5vIG1ldGFkYXRhIHRoYXQgY2FuIGJlIHNhbml0aXplZC5cbiAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVEZWNvcmF0b3IoZGVjb3JhdG9yLmV4cHJlc3Npb24pO1xuICAgIH1cblxuICAgIG1ldGFkYXRhLnByb3BlcnRpZXMuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIC8vIFdlIGRvbid0IGhhbmRsZSBzcHJlYWQgYXNzaWdubWVudHMsIGFjY2Vzc29ycyBvciBtZXRob2QgZGVjbGFyYXRpb25zIGF1dG9tYXRpY2FsbHlcbiAgICAgIC8vIGFzIGl0IGludm9sdmVzIG1vcmUgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lzIGFuZCB0aGVzZSB0eXBlIG9mIHByb3BlcnRpZXMgYXJlIG5vdFxuICAgICAgLy8gcGlja2VkIHVwIGJ5IG5nYyBlaXRoZXIuXG4gICAgICBpZiAodHMuaXNTcHJlYWRBc3NpZ25tZW50KHByb3ApIHx8IHRzLmlzQWNjZXNzb3IocHJvcCkgfHwgdHMuaXNNZXRob2REZWNsYXJhdGlvbihwcm9wKSkge1xuICAgICAgICB0aGlzLm5vbkNvcHlhYmxlUHJvcGVydGllcy5wdXNoKHByb3ApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNhbml0aXplZFByb3AgPSB0aGlzLl9zYW5pdGl6ZU1ldGFkYXRhUHJvcGVydHkocHJvcCk7XG4gICAgICBpZiAoc2FuaXRpemVkUHJvcCAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLm5ld1Byb3BlcnRpZXMucHVzaChzYW5pdGl6ZWRQcm9wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm9uQ29weWFibGVQcm9wZXJ0aWVzLnB1c2gocHJvcCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBJbiBjYXNlIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBub24tY29weWFibGUgcHJvcGVydHksIHdlIGFkZCBhIGxlYWRpbmcgY29tbWVudCB0b1xuICAgIC8vIHRoZSBmaXJzdCBwcm9wZXJ0eSBhc3NpZ25tZW50IGluIG9yZGVyIHRvIGFzayB0aGUgZGV2ZWxvcGVyIHRvIG1hbnVhbGx5IG1hbmFnZVxuICAgIC8vIGltcG9ydHMgYW5kIGRvIHBhdGggcmV3cml0aW5nIGZvciB0aGVzZSBwcm9wZXJ0aWVzLlxuICAgIGlmICh0aGlzLm5vbkNvcHlhYmxlUHJvcGVydGllcy5sZW5ndGggIT09IDApIHtcbiAgICAgIFsnVGhlIGZvbGxvd2luZyBmaWVsZHMgd2VyZSBjb3BpZWQgZnJvbSB0aGUgYmFzZSBjbGFzcywnLFxuICAgICAgICdidXQgY291bGQgbm90IGJlIHVwZGF0ZWQgYXV0b21hdGljYWxseSB0byB3b3JrIGluIHRoZScsXG4gICAgICAgJ25ldyBmaWxlIGxvY2F0aW9uLiBQbGVhc2UgYWRkIGFueSByZXF1aXJlZCBpbXBvcnRzIGZvcicsICd0aGUgcHJvcGVydGllcyBiZWxvdzonXVxuICAgICAgICAgIC5mb3JFYWNoKFxuICAgICAgICAgICAgICB0ZXh0ID0+IHRzLmFkZFN5bnRoZXRpY0xlYWRpbmdDb21tZW50KFxuICAgICAgICAgICAgICAgICAgdGhpcy5ub25Db3B5YWJsZVByb3BlcnRpZXNbMF0sIHRzLlN5bnRheEtpbmQuU2luZ2xlTGluZUNvbW1lbnRUcml2aWEsIGAgJHt0ZXh0fWAsXG4gICAgICAgICAgICAgICAgICB0cnVlKSk7XG4gICAgfVxuXG4gICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHVwZGF0ZSB0aGUgZGVjb3JhdG9yIGFzIHdlIGRvbid0IHdhbnQgdG8gY29weSBwb3RlbnRpYWwgbGVhZGluZ1xuICAgIC8vIGNvbW1lbnRzIG9mIHRoZSBkZWNvcmF0b3IuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIGNvbW1lbnRzIGZyb20gdGhlXG4gICAgLy8gY29waWVkIGRlY29yYXRvciBlbmQgdXAgZGVzY3JpYmluZyB0aGUgbmV3IGNsYXNzICh3aGljaCBpcyBub3QgYWx3YXlzIGNvcnJlY3QpLlxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEZWNvcmF0b3IodHMuY3JlYXRlQ2FsbChcbiAgICAgICAgdGhpcy5pbXBvcnRNYW5hZ2VyLmFkZEltcG9ydFRvU291cmNlRmlsZShcbiAgICAgICAgICAgIG5ld1NvdXJjZUZpbGUsIG5nRGVjb3JhdG9yLm5hbWUsIG5nRGVjb3JhdG9yLm1vZHVsZU5hbWUpLFxuICAgICAgICB1bmRlZmluZWQsIFt0cy51cGRhdGVPYmplY3RMaXRlcmFsKFxuICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSwgWy4uLnRoaXMubmV3UHJvcGVydGllcywgLi4udGhpcy5ub25Db3B5YWJsZVByb3BlcnRpZXNdKV0pKTtcbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgbmV3IGRlY29yYXRvciB3aXRoIHRoZSBnaXZlbiBleHByZXNzaW9uLiAqL1xuICBwcml2YXRlIF9jcmVhdGVEZWNvcmF0b3IoZXhwcjogdHMuRXhwcmVzc2lvbik6IHRzLkRlY29yYXRvciB7XG4gICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHVwZGF0ZSB0aGUgZGVjb3JhdG9yIGFzIHdlIGRvbid0IHdhbnQgdG8gY29weSBwb3RlbnRpYWwgbGVhZGluZ1xuICAgIC8vIGNvbW1lbnRzIG9mIHRoZSBkZWNvcmF0b3IuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIGNvbW1lbnRzIGZyb20gdGhlXG4gICAgLy8gY29waWVkIGRlY29yYXRvciBlbmQgdXAgZGVzY3JpYmluZyB0aGUgbmV3IGNsYXNzICh3aGljaCBpcyBub3QgYWx3YXlzIGNvcnJlY3QpLlxuICAgIHJldHVybiB0cy5jcmVhdGVEZWNvcmF0b3IoZXhwcik7XG4gIH1cblxuICAvKipcbiAgICogU2FuaXRpemVzIGEgbWV0YWRhdGEgcHJvcGVydHkgYnkgZW5zdXJpbmcgdGhhdCBhbGwgY29udGFpbmVkIGlkZW50aWZpZXJzXG4gICAqIGFyZSBpbXBvcnRlZCBpbiB0aGUgdGFyZ2V0IHNvdXJjZSBmaWxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfc2FuaXRpemVNZXRhZGF0YVByb3BlcnR5KHByb3A6IHRzLk9iamVjdExpdGVyYWxFbGVtZW50TGlrZSk6IHRzLk9iamVjdExpdGVyYWxFbGVtZW50TGlrZVxuICAgICAgfG51bGwge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdHNcbiAgICAgICAgICAudHJhbnNmb3JtKHByb3AsIFtjdHggPT4gdGhpcy5pbXBvcnRSZXdyaXRlckZhY3RvcnkuY3JlYXRlKGN0eCwgdGhpcy5uZXdTb3VyY2VGaWxlISldKVxuICAgICAgICAgIC50cmFuc2Zvcm1lZFswXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBJZiB0aGUgZXJyb3IgaXMgZm9yIGFuIHVucmVzb2x2ZWQgaWRlbnRpZmllciwgd2Ugd2FudCB0byByZXR1cm4gXCJudWxsXCIgYmVjYXVzZVxuICAgICAgLy8gc3VjaCBvYmplY3QgbGl0ZXJhbCBlbGVtZW50cyBjb3VsZCBiZSBhZGRlZCB0byB0aGUgbm9uLWNvcHlhYmxlIHByb3BlcnRpZXMuXG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIFVucmVzb2x2ZWRJZGVudGlmaWVyRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,37 +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/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor" />
9
- import type { AotCompilerHost } from '@angular/compiler';
10
- import ts from 'typescript';
11
- import { ImportManager } from '../../../utils/import_manager';
12
- /**
13
- * Factory that creates a TypeScript transformer which ensures that
14
- * referenced identifiers are available at the target file location.
15
- *
16
- * Imports cannot be just added as sometimes identifiers collide in the
17
- * target source file and the identifier needs to be aliased.
18
- */
19
- export declare class ImportRewriteTransformerFactory {
20
- private importManager;
21
- private typeChecker;
22
- private compilerHost;
23
- private sourceFileExports;
24
- constructor(importManager: ImportManager, typeChecker: ts.TypeChecker, compilerHost: AotCompilerHost);
25
- create<T extends ts.Node>(ctx: ts.TransformationContext, newSourceFile: ts.SourceFile): ts.Transformer<T>;
26
- private _recordIdentifierReference;
27
- /**
28
- * Gets the resolved exports of a given source file. Exports are cached
29
- * for subsequent calls.
30
- */
31
- private _getSourceFileExports;
32
- /** Rewrites a module import to be relative to the target file location. */
33
- private _rewriteModuleImport;
34
- }
35
- /** Error that will be thrown if a given identifier cannot be resolved. */
36
- export declare class UnresolvedIdentifierError extends Error {
37
- }
@@ -1,129 +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/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor", ["require", "exports", "path", "typescript", "@angular/core/schematics/utils/typescript/imports", "@angular/core/schematics/utils/typescript/symbol", "@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format", "@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.UnresolvedIdentifierError = exports.ImportRewriteTransformerFactory = void 0;
23
- const path_1 = require("path");
24
- const typescript_1 = __importDefault(require("typescript"));
25
- const imports_1 = require("@angular/core/schematics/utils/typescript/imports");
26
- const symbol_1 = require("@angular/core/schematics/utils/typescript/symbol");
27
- const path_format_1 = require("@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format");
28
- const source_file_exports_1 = require("@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports");
29
- /**
30
- * Factory that creates a TypeScript transformer which ensures that
31
- * referenced identifiers are available at the target file location.
32
- *
33
- * Imports cannot be just added as sometimes identifiers collide in the
34
- * target source file and the identifier needs to be aliased.
35
- */
36
- class ImportRewriteTransformerFactory {
37
- constructor(importManager, typeChecker, compilerHost) {
38
- this.importManager = importManager;
39
- this.typeChecker = typeChecker;
40
- this.compilerHost = compilerHost;
41
- this.sourceFileExports = new Map();
42
- }
43
- create(ctx, newSourceFile) {
44
- const visitNode = (node) => {
45
- if (typescript_1.default.isIdentifier(node)) {
46
- // Record the identifier reference and return the new identifier. The identifier
47
- // name can change if the generated import uses an namespaced import or aliased
48
- // import identifier (to avoid collisions).
49
- return this._recordIdentifierReference(node, newSourceFile);
50
- }
51
- return typescript_1.default.visitEachChild(node, visitNode, ctx);
52
- };
53
- return (node) => typescript_1.default.visitNode(node, visitNode);
54
- }
55
- _recordIdentifierReference(node, targetSourceFile) {
56
- // For object literal elements we don't want to check identifiers that describe the
57
- // property name. These identifiers do not refer to a value but rather to a property
58
- // name and therefore don't need to be imported. The exception is that for shorthand
59
- // property assignments the "name" identifier is both used as value and property name.
60
- if (typescript_1.default.isObjectLiteralElementLike(node.parent) &&
61
- !typescript_1.default.isShorthandPropertyAssignment(node.parent) && node.parent.name === node) {
62
- return node;
63
- }
64
- const resolvedImport = (0, imports_1.getImportOfIdentifier)(this.typeChecker, node);
65
- const sourceFile = node.getSourceFile();
66
- if (resolvedImport) {
67
- const symbolName = resolvedImport.name;
68
- const moduleFileName = this.compilerHost.moduleNameToFileName(resolvedImport.importModule, sourceFile.fileName);
69
- // In case the identifier refers to an export in the target source file, we need to use
70
- // the local identifier in the scope of the target source file. This is necessary because
71
- // the export could be aliased and the alias is not available to the target source file.
72
- if (moduleFileName && (0, path_1.resolve)(moduleFileName) === (0, path_1.resolve)(targetSourceFile.fileName)) {
73
- const resolvedExport = this._getSourceFileExports(targetSourceFile).find(e => e.exportName === symbolName);
74
- if (resolvedExport) {
75
- return resolvedExport.identifier;
76
- }
77
- }
78
- return this.importManager.addImportToSourceFile(targetSourceFile, symbolName, this._rewriteModuleImport(resolvedImport, targetSourceFile));
79
- }
80
- else {
81
- let symbol = (0, symbol_1.getValueSymbolOfDeclaration)(node, this.typeChecker);
82
- if (symbol) {
83
- // If the symbol refers to a shorthand property assignment, we want to resolve the
84
- // value symbol of the shorthand property assignment. This is necessary because the
85
- // value symbol is ambiguous for shorthand property assignment identifiers as the
86
- // identifier resolves to both property name and property value.
87
- if (symbol.valueDeclaration && typescript_1.default.isShorthandPropertyAssignment(symbol.valueDeclaration)) {
88
- symbol = this.typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration);
89
- }
90
- const resolvedExport = this._getSourceFileExports(sourceFile).find(e => e.symbol === symbol);
91
- if (resolvedExport) {
92
- return this.importManager.addImportToSourceFile(targetSourceFile, resolvedExport.exportName, (0, path_format_1.getPosixPath)(this.compilerHost.fileNameToModuleName(sourceFile.fileName, targetSourceFile.fileName)));
93
- }
94
- }
95
- // The referenced identifier cannot be imported. In that case we throw an exception
96
- // which can be handled outside of the transformer.
97
- throw new UnresolvedIdentifierError();
98
- }
99
- }
100
- /**
101
- * Gets the resolved exports of a given source file. Exports are cached
102
- * for subsequent calls.
103
- */
104
- _getSourceFileExports(sourceFile) {
105
- if (this.sourceFileExports.has(sourceFile)) {
106
- return this.sourceFileExports.get(sourceFile);
107
- }
108
- const sourceFileExports = (0, source_file_exports_1.getExportSymbolsOfFile)(sourceFile, this.typeChecker);
109
- this.sourceFileExports.set(sourceFile, sourceFileExports);
110
- return sourceFileExports;
111
- }
112
- /** Rewrites a module import to be relative to the target file location. */
113
- _rewriteModuleImport(resolvedImport, newSourceFile) {
114
- if (!resolvedImport.importModule.startsWith('.')) {
115
- return resolvedImport.importModule;
116
- }
117
- const importFilePath = resolvedImport.node.getSourceFile().fileName;
118
- const resolvedModulePath = (0, path_1.resolve)((0, path_1.dirname)(importFilePath), resolvedImport.importModule);
119
- const relativeModuleName = this.compilerHost.fileNameToModuleName(resolvedModulePath, newSourceFile.fileName);
120
- return (0, path_format_1.getPosixPath)(relativeModuleName);
121
- }
122
- }
123
- exports.ImportRewriteTransformerFactory = ImportRewriteTransformerFactory;
124
- /** Error that will be thrown if a given identifier cannot be resolved. */
125
- class UnresolvedIdentifierError extends Error {
126
- }
127
- exports.UnresolvedIdentifierError = UnresolvedIdentifierError;
128
- });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0X3Jld3JpdGVfdmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3VuZGVjb3JhdGVkLWNsYXNzZXMtd2l0aC1kaS9kZWNvcmF0b3JfcmV3cml0ZS9pbXBvcnRfcmV3cml0ZV92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUdILCtCQUFzQztJQUN0Qyw0REFBNEI7SUFHNUIsK0VBQWdGO0lBQ2hGLDZFQUE2RTtJQUU3RSwrSEFBMkM7SUFDM0MsK0lBQTZFO0lBRzdFOzs7Ozs7T0FNRztJQUNILE1BQWEsK0JBQStCO1FBRzFDLFlBQ1ksYUFBNEIsRUFBVSxXQUEyQixFQUNqRSxZQUE2QjtZQUQ3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtZQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtZQUNqRSxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7WUFKakMsc0JBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7UUFJM0IsQ0FBQztRQUU3QyxNQUFNLENBQW9CLEdBQTZCLEVBQUUsYUFBNEI7WUFFbkYsTUFBTSxTQUFTLEdBQWUsQ0FBQyxJQUFhLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDekIsZ0ZBQWdGO29CQUNoRiwrRUFBK0U7b0JBQy9FLDJDQUEyQztvQkFDM0MsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2lCQUM3RDtnQkFFRCxPQUFPLG9CQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDO1lBRUYsT0FBTyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQUMsb0JB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ICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0eXBlIHtBb3RDb21waWxlckhvc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7ZGlybmFtZSwgcmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7SW1wb3J0TWFuYWdlcn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1wb3J0X21hbmFnZXInO1xuaW1wb3J0IHtnZXRJbXBvcnRPZklkZW50aWZpZXIsIEltcG9ydH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdHlwZXNjcmlwdC9pbXBvcnRzJztcbmltcG9ydCB7Z2V0VmFsdWVTeW1ib2xPZkRlY2xhcmF0aW9ufSBmcm9tICcuLi8uLi8uLi91dGlscy90eXBlc2NyaXB0L3N5bWJvbCc7XG5cbmltcG9ydCB7Z2V0UG9zaXhQYXRofSBmcm9tICcuL3BhdGhfZm9ybWF0JztcbmltcG9ydCB7Z2V0RXhwb3J0U3ltYm9sc09mRmlsZSwgUmVzb2x2ZWRFeHBvcnR9IGZyb20gJy4vc291cmNlX2ZpbGVfZXhwb3J0cyc7XG5cblxuLyoqXG4gKiBGYWN0b3J5IHRoYXQgY3JlYXRlcyBhIFR5cGVTY3JpcHQgdHJhbnNmb3JtZXIgd2hpY2ggZW5zdXJlcyB0aGF0XG4gKiByZWZlcmVuY2VkIGlkZW50aWZpZXJzIGFyZSBhdmFpbGFibGUgYXQgdGhlIHRhcmdldCBmaWxlIGxvY2F0aW9uLlxuICpcbiAqIEltcG9ydHMgY2Fubm90IGJlIGp1c3QgYWRkZWQgYXMgc29tZXRpbWVzIGlkZW50aWZpZXJzIGNvbGxpZGUgaW4gdGhlXG4gKiB0YXJnZXQgc291cmNlIGZpbGUgYW5kIHRoZSBpZGVudGlmaWVyIG5lZWRzIHRvIGJlIGFsaWFzZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRSZXdyaXRlVHJhbnNmb3JtZXJGYWN0b3J5IHtcbiAgcHJpdmF0ZSBzb3VyY2VGaWxlRXhwb3J0cyA9IG5ldyBNYXA8dHMuU291cmNlRmlsZSwgUmVzb2x2ZWRFeHBvcnRbXT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgaW1wb3J0TWFuYWdlcjogSW1wb3J0TWFuYWdlciwgcHJpdmF0ZSB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsXG4gICAgICBwcml2YXRlIGNvbXBpbGVySG9zdDogQW90Q29tcGlsZXJIb3N0KSB7fVxuXG4gIGNyZWF0ZTxUIGV4dGVuZHMgdHMuTm9kZT4oY3R4OiB0cy5UcmFuc2Zvcm1hdGlvbkNvbnRleHQsIG5ld1NvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOlxuICAgICAgdHMuVHJhbnNmb3JtZXI8VD4ge1xuICAgIGNvbnN0IHZpc2l0Tm9kZTogdHMuVmlzaXRvciA9IChub2RlOiB0cy5Ob2RlKSA9PiB7XG4gICAgICBpZiAodHMuaXNJZGVudGlmaWVyKG5vZGUpKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgaWRlbnRpZmllciByZWZlcmVuY2UgYW5kIHJldHVybiB0aGUgbmV3IGlkZW50aWZpZXIuIFRoZSBpZGVudGlmaWVyXG4gICAgICAgIC8vIG5hbWUgY2FuIGNoYW5nZSBpZiB0aGUgZ2VuZXJhdGVkIGltcG9ydCB1c2VzIGFuIG5hbWVzcGFjZWQgaW1wb3J0IG9yIGFsaWFzZWRcbiAgICAgICAgLy8gaW1wb3J0IGlkZW50aWZpZXIgKHRvIGF2b2lkIGNvbGxpc2lvbnMpLlxuICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkSWRlbnRpZmllclJlZmVyZW5jZShub2RlLCBuZXdTb3VyY2VGaWxlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRzLnZpc2l0RWFjaENoaWxkKG5vZGUsIHZpc2l0Tm9kZSwgY3R4KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChub2RlOiBUKSA9PiB0cy52aXNpdE5vZGUobm9kZSwgdmlzaXROb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlY29yZElkZW50aWZpZXJSZWZlcmVuY2Uobm9kZTogdHMuSWRlbnRpZmllciwgdGFyZ2V0U291cmNlRmlsZTogdHMuU291cmNlRmlsZSk6XG4gICAgICB0cy5Ob2RlIHtcbiAgICAvLyBGb3Igb2JqZWN0IGxpdGVyYWwgZWxlbWVudHMgd2UgZG9uJ3Qgd2FudCB0byBjaGVjayBpZGVudGlmaWVycyB0aGF0IGRlc2NyaWJlIHRoZVxuICAgIC8vIHByb3BlcnR5IG5hbWUuIFRoZXNlIGlkZW50aWZpZXJzIGRvIG5vdCByZWZlciB0byBhIHZhbHVlIGJ1dCByYXRoZXIgdG8gYSBwcm9wZXJ0eVxuICAgIC8vIG5hbWUgYW5kIHRoZXJlZm9yZSBkb24ndCBuZWVkIHRvIGJlIGltcG9ydGVkLiBUaGUgZXhjZXB0aW9uIGlzIHRoYXQgZm9yIHNob3J0aGFuZFxuICAgIC8vIHByb3BlcnR5IGFzc2lnbm1lbnRzIHRoZSBcIm5hbWVcIiBpZGVudGlmaWVyIGlzIGJvdGggdXNlZCBhcyB2YWx1ZSBhbmQgcHJvcGVydHkgbmFtZS5cbiAgICBpZiAodHMuaXNPYmplY3RMaXRlcmFsRWxlbWVudExpa2Uobm9kZS5wYXJlbnQpICYmXG4gICAgICAgICF0cy5pc1Nob3J0aGFuZFByb3BlcnR5QXNzaWdubWVudChub2RlLnBhcmVudCkgJiYgbm9kZS5wYXJlbnQubmFtZSA9PT0gbm9kZSkge1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x2ZWRJbXBvcnQgPSBnZXRJbXBvcnRPZklkZW50aWZpZXIodGhpcy50eXBlQ2hlY2tlciwgbm9kZSk7XG4gICAgY29uc3Qgc291cmNlRmlsZSA9IG5vZGUuZ2V0U291cmNlRmlsZSgpO1xuXG4gICAgaWYgKHJlc29sdmVkSW1wb3J0KSB7XG4gICAgICBjb25zdCBzeW1ib2xOYW1lID0gcmVzb2x2ZWRJbXBvcnQubmFtZTtcbiAgICAgIGNvbnN0IG1vZHVsZUZpbGVOYW1lID1cbiAgICAgICAgICB0aGlzLmNvbXBpbGVySG9zdC5tb2R1bGVOYW1lVG9GaWxlTmFtZShyZXNvbHZlZEltcG9ydC5pbXBvcnRNb2R1bGUsIHNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuXG4gICAgICAvLyBJbiBjYXNlIHRoZSBpZGVudGlmaWVyIHJlZmVycyB0byBhbiBleHBvcnQgaW4gdGhlIHRhcmdldCBzb3VyY2UgZmlsZSwgd2UgbmVlZCB0byB1c2VcbiAgICAgIC8vIHRoZSBsb2NhbCBpZGVudGlmaWVyIGluIHRoZSBzY29wZSBvZiB0aGUgdGFyZ2V0IHNvdXJjZSBmaWxlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlXG4gICAgICAvLyB0aGUgZXhwb3J0IGNvdWxkIGJlIGFsaWFzZWQgYW5kIHRoZSBhbGlhcyBpcyBub3QgYXZhaWxhYmxlIHRvIHRoZSB0YXJnZXQgc291cmNlIGZpbGUuXG4gICAgICBpZiAobW9kdWxlRmlsZU5hbWUgJiYgcmVzb2x2ZShtb2R1bGVGaWxlTmFtZSkgPT09IHJlc29sdmUodGFyZ2V0U291cmNlRmlsZS5maWxlTmFtZSkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRFeHBvcnQgPVxuICAgICAgICAgICAgdGhpcy5fZ2V0U291cmNlRmlsZUV4cG9ydHModGFyZ2V0U291cmNlRmlsZSkuZmluZChlID0+IGUuZXhwb3J0TmFtZSA9PT0gc3ltYm9sTmFtZSk7XG4gICAgICAgIGlmIChyZXNvbHZlZEV4cG9ydCkge1xuICAgICAgICAgIHJldHVybiByZXNvbHZlZEV4cG9ydC5pZGVudGlmaWVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmltcG9ydE1hbmFnZXIuYWRkSW1wb3J0VG9Tb3VyY2VGaWxlKFxuICAgICAgICAgIHRhcmdldFNvdXJjZUZpbGUsIHN5bWJvbE5hbWUsXG4gICAgICAgICAgdGhpcy5fcmV3cml0ZU1vZHVsZUltcG9ydChyZXNvbHZlZEltcG9ydCwgdGFyZ2V0U291cmNlRmlsZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc3ltYm9sID0gZ2V0VmFsdWVTeW1ib2xPZkRlY2xhcmF0aW9uKG5vZGUsIHRoaXMudHlwZUNoZWNrZXIpO1xuXG4gICAgICBpZiAoc3ltYm9sKSB7XG4gICAgICAgIC8vIElmIHRoZSBzeW1ib2wgcmVmZXJzIHRvIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2lnbm1lbnQsIHdlIHdhbnQgdG8gcmVzb2x2ZSB0aGVcbiAgICAgICAgLy8gdmFsdWUgc3ltYm9sIG9mIHRoZSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzaWdubWVudC4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gdmFsdWUgc3ltYm9sIGlzIGFtYmlndW91cyBmb3Igc2hvcnRoYW5kIHByb3BlcnR5IGFzc2lnbm1lbnQgaWRlbnRpZmllcnMgYXMgdGhlXG4gICAgICAgIC8vIGlkZW50aWZpZXIgcmVzb2x2ZXMgdG8gYm90aCBwcm9wZXJ0eSBuYW1lIGFuZCBwcm9wZXJ0eSB2YWx1ZS5cbiAgICAgICAgaWYgKHN5bWJvbC52YWx1ZURlY2xhcmF0aW9uICYmIHRzLmlzU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50KHN5bWJvbC52YWx1ZURlY2xhcmF0aW9uKSkge1xuICAgICAgICAgIHN5bWJvbCA9IHRoaXMudHlwZUNoZWNrZXIuZ2V0U2hvcnRoYW5kQXNzaWdubWVudFZhbHVlU3ltYm9sKHN5bWJvbC52YWx1ZURlY2xhcmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc29sdmVkRXhwb3J0ID1cbiAgICAgICAgICAgIHRoaXMuX2dldFNvdXJjZUZpbGVFeHBvcnRzKHNvdXJjZUZpbGUpLmZpbmQoZSA9PiBlLnN5bWJvbCA9PT0gc3ltYm9sKTtcblxuICAgICAgICBpZiAocmVzb2x2ZWRFeHBvcnQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbXBvcnRNYW5hZ2VyLmFkZEltcG9ydFRvU291cmNlRmlsZShcbiAgICAgICAgICAgICAgdGFyZ2V0U291cmNlRmlsZSwgcmVzb2x2ZWRFeHBvcnQuZXhwb3J0TmFtZSxcbiAgICAgICAgICAgICAgZ2V0UG9zaXhQYXRoKHRoaXMuY29tcGlsZXJIb3N0LmZpbGVOYW1lVG9Nb2R1bGVOYW1lKFxuICAgICAgICAgICAgICAgICAgc291cmNlRmlsZS5maWxlTmFtZSwgdGFyZ2V0U291cmNlRmlsZS5maWxlTmFtZSkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgcmVmZXJlbmNlZCBpZGVudGlmaWVyIGNhbm5vdCBiZSBpbXBvcnRlZC4gSW4gdGhhdCBjYXNlIHdlIHRocm93IGFuIGV4Y2VwdGlvblxuICAgICAgLy8gd2hpY2ggY2FuIGJlIGhhbmRsZWQgb3V0c2lkZSBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICB0aHJvdyBuZXcgVW5yZXNvbHZlZElkZW50aWZpZXJFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZXNvbHZlZCBleHBvcnRzIG9mIGEgZ2l2ZW4gc291cmNlIGZpbGUuIEV4cG9ydHMgYXJlIGNhY2hlZFxuICAgKiBmb3Igc3Vic2VxdWVudCBjYWxscy5cbiAgICovXG4gIHByaXZhdGUgX2dldFNvdXJjZUZpbGVFeHBvcnRzKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiBSZXNvbHZlZEV4cG9ydFtdIHtcbiAgICBpZiAodGhpcy5zb3VyY2VGaWxlRXhwb3J0cy5oYXMoc291cmNlRmlsZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZUZpbGVFeHBvcnRzLmdldChzb3VyY2VGaWxlKSE7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlRmlsZUV4cG9ydHMgPSBnZXRFeHBvcnRTeW1ib2xzT2ZGaWxlKHNvdXJjZUZpbGUsIHRoaXMudHlwZUNoZWNrZXIpO1xuICAgIHRoaXMuc291cmNlRmlsZUV4cG9ydHMuc2V0KHNvdXJjZUZpbGUsIHNvdXJjZUZpbGVFeHBvcnRzKTtcbiAgICByZXR1cm4gc291cmNlRmlsZUV4cG9ydHM7XG4gIH1cblxuICAvKiogUmV3cml0ZXMgYSBtb2R1bGUgaW1wb3J0IHRvIGJlIHJlbGF0aXZlIHRvIHRoZSB0YXJnZXQgZmlsZSBsb2NhdGlvbi4gKi9cbiAgcHJpdmF0ZSBfcmV3cml0ZU1vZHVsZUltcG9ydChyZXNvbHZlZEltcG9ydDogSW1wb3J0LCBuZXdTb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogc3RyaW5nIHtcbiAgICBpZiAoIXJlc29sdmVkSW1wb3J0LmltcG9ydE1vZHVsZS5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgIHJldHVybiByZXNvbHZlZEltcG9ydC5pbXBvcnRNb2R1bGU7XG4gICAgfVxuXG4gICAgY29uc3QgaW1wb3J0RmlsZVBhdGggPSByZXNvbHZlZEltcG9ydC5ub2RlLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZTtcbiAgICBjb25zdCByZXNvbHZlZE1vZHVsZVBhdGggPSByZXNvbHZlKGRpcm5hbWUoaW1wb3J0RmlsZVBhdGgpLCByZXNvbHZlZEltcG9ydC5pbXBvcnRNb2R1bGUpO1xuICAgIGNvbnN0IHJlbGF0aXZlTW9kdWxlTmFtZSA9XG4gICAgICAgIHRoaXMuY29tcGlsZXJIb3N0LmZpbGVOYW1lVG9Nb2R1bGVOYW1lKHJlc29sdmVkTW9kdWxlUGF0aCwgbmV3U291cmNlRmlsZS5maWxlTmFtZSk7XG5cbiAgICByZXR1cm4gZ2V0UG9zaXhQYXRoKHJlbGF0aXZlTW9kdWxlTmFtZSk7XG4gIH1cbn1cblxuLyoqIEVycm9yIHRoYXQgd2lsbCBiZSB0aHJvd24gaWYgYSBnaXZlbiBpZGVudGlmaWVyIGNhbm5vdCBiZSByZXNvbHZlZC4gKi9cbmV4cG9ydCBjbGFzcyBVbnJlc29sdmVkSWRlbnRpZmllckVycm9yIGV4dGVuZHMgRXJyb3Ige31cbiJdfQ==
@@ -1,10 +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/undecorated-classes-with-di/decorator_rewrite/path_format" />
9
- /** Normalizes the specified path to conform with the posix path format. */
10
- export declare function getPosixPath(pathString: string): string;
@@ -1,31 +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
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/core/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format", ["require", "exports", "path"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.getPosixPath = void 0;
20
- const path_1 = require("path");
21
- /** Normalizes the specified path to conform with the posix path format. */
22
- function getPosixPath(pathString) {
23
- const normalized = (0, path_1.normalize)(pathString).replace(/\\/g, '/');
24
- if (!normalized.startsWith('.')) {
25
- return `./${normalized}`;
26
- }
27
- return normalized;
28
- }
29
- exports.getPosixPath = getPosixPath;
30
- });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aF9mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy91bmRlY29yYXRlZC1jbGFzc2VzLXdpdGgtZGkvZGVjb3JhdG9yX3Jld3JpdGUvcGF0aF9mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUgsK0JBQStCO0lBRS9CLDJFQUEyRTtJQUMzRSxTQUFnQixZQUFZLENBQUMsVUFBa0I7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQU5ELG9DQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7bm9ybWFsaXplfSBmcm9tICdwYXRoJztcblxuLyoqIE5vcm1hbGl6ZXMgdGhlIHNwZWNpZmllZCBwYXRoIHRvIGNvbmZvcm0gd2l0aCB0aGUgcG9zaXggcGF0aCBmb3JtYXQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9zaXhQYXRoKHBhdGhTdHJpbmc6IHN0cmluZykge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplKHBhdGhTdHJpbmcpLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgaWYgKCFub3JtYWxpemVkLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgIHJldHVybiBgLi8ke25vcm1hbGl6ZWR9YDtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cbiJdfQ==
@@ -1,16 +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/undecorated-classes-with-di/decorator_rewrite/source_file_exports" />
9
- import ts from 'typescript';
10
- export interface ResolvedExport {
11
- symbol: ts.Symbol;
12
- exportName: string;
13
- identifier: ts.Identifier;
14
- }
15
- /** Computes the resolved exports of a given source file. */
16
- export declare function getExportSymbolsOfFile(sf: ts.SourceFile, typeChecker: ts.TypeChecker): ResolvedExport[];
@@ -1,68 +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/undecorated-classes-with-di/decorator_rewrite/source_file_exports", ["require", "exports", "typescript", "@angular/core/schematics/utils/typescript/symbol"], factory);
18
- }
19
- })(function (require, exports) {
20
- "use strict";
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.getExportSymbolsOfFile = void 0;
23
- const typescript_1 = __importDefault(require("typescript"));
24
- const symbol_1 = require("@angular/core/schematics/utils/typescript/symbol");
25
- /** Computes the resolved exports of a given source file. */
26
- function getExportSymbolsOfFile(sf, typeChecker) {
27
- const exports = [];
28
- const resolvedExports = [];
29
- typescript_1.default.forEachChild(sf, function visitNode(node) {
30
- if (typescript_1.default.isClassDeclaration(node) || typescript_1.default.isFunctionDeclaration(node) ||
31
- typescript_1.default.isInterfaceDeclaration(node) &&
32
- (typescript_1.default.getCombinedModifierFlags(node) & typescript_1.default.ModifierFlags.Export) !== 0) {
33
- if (node.name) {
34
- exports.push({ exportName: node.name.text, identifier: node.name });
35
- }
36
- }
37
- else if (typescript_1.default.isVariableStatement(node)) {
38
- for (const decl of node.declarationList.declarations) {
39
- visitNode(decl);
40
- }
41
- }
42
- else if (typescript_1.default.isVariableDeclaration(node)) {
43
- if ((typescript_1.default.getCombinedModifierFlags(node) & typescript_1.default.ModifierFlags.Export) != 0 &&
44
- typescript_1.default.isIdentifier(node.name)) {
45
- exports.push({ exportName: node.name.text, identifier: node.name });
46
- }
47
- }
48
- else if (typescript_1.default.isExportDeclaration(node)) {
49
- const { moduleSpecifier, exportClause } = node;
50
- if (!moduleSpecifier && exportClause && typescript_1.default.isNamedExports(exportClause)) {
51
- exportClause.elements.forEach(el => exports.push({
52
- exportName: el.name.text,
53
- identifier: el.propertyName ? el.propertyName : el.name
54
- }));
55
- }
56
- }
57
- });
58
- exports.forEach(({ identifier, exportName }) => {
59
- const symbol = (0, symbol_1.getValueSymbolOfDeclaration)(identifier, typeChecker);
60
- if (symbol) {
61
- resolvedExports.push({ symbol, identifier, exportName });
62
- }
63
- });
64
- return resolvedExports;
65
- }
66
- exports.getExportSymbolsOfFile = getExportSymbolsOfFile;
67
- });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2ZpbGVfZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc2NoZW1hdGljcy9taWdyYXRpb25zL3VuZGVjb3JhdGVkLWNsYXNzZXMtd2l0aC1kaS9kZWNvcmF0b3JfcmV3cml0ZS9zb3VyY2VfZmlsZV9leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7OztJQUVILDREQUE0QjtJQUM1Qiw2RUFBNkU7SUFRN0UsNERBQTREO0lBQzVELFNBQWdCLHNCQUFzQixDQUNsQyxFQUFpQixFQUFFLFdBQTJCO1FBQ2hELE1BQU0sT0FBTyxHQUFzRCxFQUFFLENBQUM7UUFDdEUsTUFBTSxlQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUU3QyxvQkFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsU0FBUyxTQUFTLENBQUMsSUFBSTtZQUN6QyxJQUFJLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzdELG9CQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO29CQUMzQixDQUFDLG9CQUFFLENBQUMsd0JBQXdCLENBQUMsSUFBc0IsQ0FBQyxHQUFHLG9CQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDN0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO2lCQUNuRTthQUNGO2lCQUFNLElBQUksb0JBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdkMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRTtvQkFDcEQsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNqQjthQUNGO2lCQUFNLElBQUksb0JBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLG9CQUFFLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsb0JBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDbEUsb0JBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztpQkFDbkU7YUFDRjtpQkFBTSxJQUFJLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZDLE1BQU0sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsZUFBZSxJQUFJLFlBQVksSUFBSSxvQkFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRTtvQkFDdkUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUMvQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUN4QixVQUFVLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUk7cUJBQ3hELENBQUMsQ0FBQyxDQUFDO2lCQUNMO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUEsb0NBQTJCLEVBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLElBQUksTUFBTSxFQUFFO2dCQUNWLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUF4Q0Qsd0RBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7Z2V0VmFsdWVTeW1ib2xPZkRlY2xhcmF0aW9ufSBmcm9tICcuLi8uLi8uLi91dGlscy90eXBlc2NyaXB0L3N5bWJvbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRFeHBvcnQge1xuICBzeW1ib2w6IHRzLlN5bWJvbDtcbiAgZXhwb3J0TmFtZTogc3RyaW5nO1xuICBpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyO1xufVxuXG4vKiogQ29tcHV0ZXMgdGhlIHJlc29sdmVkIGV4cG9ydHMgb2YgYSBnaXZlbiBzb3VyY2UgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHBvcnRTeW1ib2xzT2ZGaWxlKFxuICAgIHNmOiB0cy5Tb3VyY2VGaWxlLCB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIpOiBSZXNvbHZlZEV4cG9ydFtdIHtcbiAgY29uc3QgZXhwb3J0czoge2V4cG9ydE5hbWU6IHN0cmluZywgaWRlbnRpZmllcjogdHMuSWRlbnRpZmllcn1bXSA9IFtdO1xuICBjb25zdCByZXNvbHZlZEV4cG9ydHM6IFJlc29sdmVkRXhwb3J0W10gPSBbXTtcblxuICB0cy5mb3JFYWNoQ2hpbGQoc2YsIGZ1bmN0aW9uIHZpc2l0Tm9kZShub2RlKSB7XG4gICAgaWYgKHRzLmlzQ2xhc3NEZWNsYXJhdGlvbihub2RlKSB8fCB0cy5pc0Z1bmN0aW9uRGVjbGFyYXRpb24obm9kZSkgfHxcbiAgICAgICAgdHMuaXNJbnRlcmZhY2VEZWNsYXJhdGlvbihub2RlKSAmJlxuICAgICAgICAgICAgKHRzLmdldENvbWJpbmVkTW9kaWZpZXJGbGFncyhub2RlIGFzIHRzLkRlY2xhcmF0aW9uKSAmIHRzLk1vZGlmaWVyRmxhZ3MuRXhwb3J0KSAhPT0gMCkge1xuICAgICAgaWYgKG5vZGUubmFtZSkge1xuICAgICAgICBleHBvcnRzLnB1c2goe2V4cG9ydE5hbWU6IG5vZGUubmFtZS50ZXh0LCBpZGVudGlmaWVyOiBub2RlLm5hbWV9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRzLmlzVmFyaWFibGVTdGF0ZW1lbnQobm9kZSkpIHtcbiAgICAgIGZvciAoY29uc3QgZGVjbCBvZiBub2RlLmRlY2xhcmF0aW9uTGlzdC5kZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgdmlzaXROb2RlKGRlY2wpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHMuaXNWYXJpYWJsZURlY2xhcmF0aW9uKG5vZGUpKSB7XG4gICAgICBpZiAoKHRzLmdldENvbWJpbmVkTW9kaWZpZXJGbGFncyhub2RlKSAmIHRzLk1vZGlmaWVyRmxhZ3MuRXhwb3J0KSAhPSAwICYmXG4gICAgICAgICAgdHMuaXNJZGVudGlmaWVyKG5vZGUubmFtZSkpIHtcbiAgICAgICAgZXhwb3J0cy5wdXNoKHtleHBvcnROYW1lOiBub2RlLm5hbWUudGV4dCwgaWRlbnRpZmllcjogbm9kZS5uYW1lfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0cy5pc0V4cG9ydERlY2xhcmF0aW9uKG5vZGUpKSB7XG4gICAgICBjb25zdCB7bW9kdWxlU3BlY2lmaWVyLCBleHBvcnRDbGF1c2V9ID0gbm9kZTtcbiAgICAgIGlmICghbW9kdWxlU3BlY2lmaWVyICYmIGV4cG9ydENsYXVzZSAmJiB0cy5pc05hbWVkRXhwb3J0cyhleHBvcnRDbGF1c2UpKSB7XG4gICAgICAgIGV4cG9ydENsYXVzZS5lbGVtZW50cy5mb3JFYWNoKGVsID0+IGV4cG9ydHMucHVzaCh7XG4gICAgICAgICAgZXhwb3J0TmFtZTogZWwubmFtZS50ZXh0LFxuICAgICAgICAgIGlkZW50aWZpZXI6IGVsLnByb3BlcnR5TmFtZSA/IGVsLnByb3BlcnR5TmFtZSA6IGVsLm5hbWVcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgZXhwb3J0cy5mb3JFYWNoKCh7aWRlbnRpZmllciwgZXhwb3J0TmFtZX0pID0+IHtcbiAgICBjb25zdCBzeW1ib2wgPSBnZXRWYWx1ZVN5bWJvbE9mRGVjbGFyYXRpb24oaWRlbnRpZmllciwgdHlwZUNoZWNrZXIpO1xuICAgIGlmIChzeW1ib2wpIHtcbiAgICAgIHJlc29sdmVkRXhwb3J0cy5wdXNoKHtzeW1ib2wsIGlkZW50aWZpZXIsIGV4cG9ydE5hbWV9KTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXNvbHZlZEV4cG9ydHM7XG59XG4iXX0=
@@ -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/undecorated-classes-with-di" />
9
- import { Rule } from '@angular-devkit/schematics';
10
- /** Entry point for the V9 "undecorated-classes-with-di" migration. */
11
- export default function (): Rule;