@angular/compiler-cli 8.0.3 → 8.1.0-beta.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 (131) hide show
  1. package/ngcc/index.d.ts +1 -0
  2. package/ngcc/index.js +1 -1
  3. package/ngcc/main-ngcc.js +4 -4
  4. package/ngcc/src/analysis/decoration_analyzer.d.ts +5 -1
  5. package/ngcc/src/analysis/decoration_analyzer.js +12 -12
  6. package/ngcc/src/analysis/module_with_providers_analyzer.js +2 -2
  7. package/ngcc/src/analysis/private_declarations_analyzer.d.ts +3 -2
  8. package/ngcc/src/analysis/private_declarations_analyzer.js +8 -7
  9. package/ngcc/src/dependencies/commonjs_dependency_host.d.ts +46 -0
  10. package/ngcc/src/dependencies/commonjs_dependency_host.js +133 -0
  11. package/ngcc/src/dependencies/dependency_host.d.ts +17 -0
  12. package/ngcc/src/dependencies/dependency_host.js +20 -0
  13. package/ngcc/src/{packages → dependencies}/dependency_resolver.d.ts +13 -8
  14. package/ngcc/src/dependencies/dependency_resolver.js +138 -0
  15. package/ngcc/src/dependencies/esm_dependency_host.d.ts +62 -0
  16. package/ngcc/src/dependencies/esm_dependency_host.js +122 -0
  17. package/ngcc/src/dependencies/module_resolver.d.ts +139 -0
  18. package/ngcc/src/dependencies/module_resolver.js +297 -0
  19. package/ngcc/src/dependencies/umd_dependency_host.d.ts +46 -0
  20. package/ngcc/src/dependencies/umd_dependency_host.js +114 -0
  21. package/ngcc/src/file_system/file_system.d.ts +36 -0
  22. package/ngcc/src/file_system/file_system.js +20 -0
  23. package/ngcc/src/file_system/node_js_file_system.d.ts +27 -0
  24. package/ngcc/src/file_system/node_js_file_system.js +44 -0
  25. package/ngcc/src/host/commonjs_host.d.ts +43 -0
  26. package/ngcc/src/host/commonjs_host.js +187 -0
  27. package/ngcc/src/host/esm2015_host.d.ts +8 -10
  28. package/ngcc/src/host/esm2015_host.js +70 -40
  29. package/ngcc/src/host/esm5_host.js +3 -3
  30. package/ngcc/src/host/umd_host.d.ts +51 -0
  31. package/ngcc/src/host/umd_host.js +250 -0
  32. package/ngcc/src/main.d.ts +7 -8
  33. package/ngcc/src/main.js +64 -48
  34. package/ngcc/src/packages/build_marker.d.ts +3 -2
  35. package/ngcc/src/packages/build_marker.js +5 -6
  36. package/ngcc/src/packages/bundle_program.d.ts +13 -4
  37. package/ngcc/src/packages/bundle_program.js +11 -12
  38. package/ngcc/src/packages/entry_point.d.ts +6 -10
  39. package/ngcc/src/packages/entry_point.js +28 -24
  40. package/ngcc/src/packages/entry_point_bundle.d.ts +3 -1
  41. package/ngcc/src/packages/entry_point_bundle.js +10 -21
  42. package/ngcc/src/packages/entry_point_finder.d.ts +33 -3
  43. package/ngcc/src/packages/entry_point_finder.js +80 -18
  44. package/ngcc/src/packages/ngcc_compiler_host.d.ts +31 -0
  45. package/ngcc/src/packages/ngcc_compiler_host.js +108 -0
  46. package/ngcc/src/packages/transformer.d.ts +7 -5
  47. package/ngcc/src/packages/transformer.js +36 -12
  48. package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +25 -0
  49. package/ngcc/src/rendering/commonjs_rendering_formatter.js +89 -0
  50. package/ngcc/src/rendering/dts_renderer.d.ts +51 -0
  51. package/ngcc/src/rendering/dts_renderer.js +135 -0
  52. package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +21 -0
  53. package/ngcc/src/rendering/esm5_rendering_formatter.js +44 -0
  54. package/ngcc/src/rendering/esm_rendering_formatter.d.ts +63 -0
  55. package/ngcc/src/rendering/esm_rendering_formatter.js +202 -0
  56. package/ngcc/src/rendering/renderer.d.ts +16 -112
  57. package/ngcc/src/rendering/renderer.js +38 -285
  58. package/ngcc/src/rendering/rendering_formatter.d.ts +35 -0
  59. package/ngcc/src/rendering/rendering_formatter.js +14 -0
  60. package/ngcc/src/rendering/source_maps.d.ts +45 -0
  61. package/ngcc/src/rendering/source_maps.js +129 -0
  62. package/ngcc/src/rendering/umd_rendering_formatter.d.ts +28 -0
  63. package/ngcc/src/rendering/umd_rendering_formatter.js +222 -0
  64. package/ngcc/src/rendering/utils.d.ts +25 -0
  65. package/ngcc/src/rendering/utils.js +34 -0
  66. package/ngcc/src/utils.d.ts +12 -0
  67. package/ngcc/src/utils.js +10 -1
  68. package/ngcc/src/writing/file_writer.d.ts +2 -2
  69. package/ngcc/src/writing/file_writer.js +1 -1
  70. package/ngcc/src/writing/in_place_file_writer.d.ts +6 -10
  71. package/ngcc/src/writing/in_place_file_writer.js +18 -19
  72. package/ngcc/src/writing/new_entry_point_file_writer.d.ts +4 -4
  73. package/ngcc/src/writing/new_entry_point_file_writer.js +24 -25
  74. package/package.json +2 -2
  75. package/src/ngtsc/annotations/src/base_def.d.ts +5 -4
  76. package/src/ngtsc/annotations/src/base_def.js +12 -3
  77. package/src/ngtsc/annotations/src/component.d.ts +0 -1
  78. package/src/ngtsc/annotations/src/component.js +2 -5
  79. package/src/ngtsc/annotations/src/directive.d.ts +2 -1
  80. package/src/ngtsc/annotations/src/directive.js +5 -4
  81. package/src/ngtsc/annotations/src/injectable.js +1 -3
  82. package/src/ngtsc/annotations/src/ng_module.d.ts +2 -1
  83. package/src/ngtsc/annotations/src/ng_module.js +17 -10
  84. package/src/ngtsc/annotations/src/pipe.js +1 -1
  85. package/src/ngtsc/annotations/src/util.js +7 -4
  86. package/src/ngtsc/imports/src/emitter.d.ts +8 -6
  87. package/src/ngtsc/imports/src/emitter.js +10 -38
  88. package/src/ngtsc/imports/src/resolver.js +4 -5
  89. package/src/ngtsc/incremental/src/state.d.ts +15 -3
  90. package/src/ngtsc/incremental/src/state.js +72 -52
  91. package/src/ngtsc/metadata/src/api.d.ts +18 -1
  92. package/src/ngtsc/metadata/src/api.js +1 -1
  93. package/src/ngtsc/metadata/src/util.d.ts +2 -2
  94. package/src/ngtsc/metadata/src/util.js +28 -9
  95. package/src/ngtsc/partial_evaluator/index.d.ts +1 -1
  96. package/src/ngtsc/partial_evaluator/index.js +1 -1
  97. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +2 -1
  98. package/src/ngtsc/partial_evaluator/src/dynamic.js +1 -1
  99. package/src/ngtsc/partial_evaluator/src/interface.d.ts +10 -3
  100. package/src/ngtsc/partial_evaluator/src/interface.js +6 -7
  101. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +4 -3
  102. package/src/ngtsc/partial_evaluator/src/interpreter.js +11 -9
  103. package/src/ngtsc/path/src/logical.js +4 -3
  104. package/src/ngtsc/path/src/types.d.ts +19 -7
  105. package/src/ngtsc/path/src/types.js +48 -9
  106. package/src/ngtsc/program.js +13 -12
  107. package/src/ngtsc/scope/src/local.d.ts +23 -5
  108. package/src/ngtsc/scope/src/local.js +34 -11
  109. package/src/ngtsc/shims/src/factory_generator.js +4 -2
  110. package/src/ngtsc/transform/src/api.d.ts +0 -1
  111. package/src/ngtsc/transform/src/api.js +1 -1
  112. package/src/ngtsc/transform/src/compilation.d.ts +4 -2
  113. package/src/ngtsc/transform/src/compilation.js +22 -20
  114. package/src/ngtsc/translator/index.d.ts +1 -1
  115. package/src/ngtsc/translator/index.js +1 -1
  116. package/src/ngtsc/translator/src/translator.d.ts +21 -8
  117. package/src/ngtsc/translator/src/translator.js +3 -12
  118. package/src/ngtsc/typecheck/src/api.d.ts +2 -1
  119. package/src/ngtsc/typecheck/src/api.js +1 -1
  120. package/src/ngtsc/typecheck/src/expression.js +104 -88
  121. package/src/ngtsc/typecheck/src/type_check_block.js +17 -11
  122. package/src/ngtsc/util/src/typescript.d.ts +7 -0
  123. package/src/ngtsc/util/src/typescript.js +17 -1
  124. package/src/version.js +1 -1
  125. package/ngcc/src/packages/dependency_host.d.ts +0 -84
  126. package/ngcc/src/packages/dependency_host.js +0 -164
  127. package/ngcc/src/packages/dependency_resolver.js +0 -126
  128. package/ngcc/src/rendering/esm5_renderer.d.ts +0 -14
  129. package/ngcc/src/rendering/esm5_renderer.js +0 -47
  130. package/ngcc/src/rendering/esm_renderer.d.ts +0 -30
  131. package/ngcc/src/rendering/esm_renderer.js +0 -141
@@ -1,164 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google Inc. 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/compiler-cli/ngcc/src/packages/dependency_host", ["require", "exports", "canonical-path", "fs", "typescript", "@angular/compiler-cli/src/ngtsc/path"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- var path = require("canonical-path");
20
- var fs = require("fs");
21
- var ts = require("typescript");
22
- var path_1 = require("@angular/compiler-cli/src/ngtsc/path");
23
- /**
24
- * Helper functions for computing dependencies.
25
- */
26
- var DependencyHost = /** @class */ (function () {
27
- function DependencyHost() {
28
- }
29
- /**
30
- * Get a list of the resolved paths to all the dependencies of this entry point.
31
- * @param from An absolute path to the file whose dependencies we want to get.
32
- * @param dependencies A set that will have the absolute paths of resolved entry points added to
33
- * it.
34
- * @param missing A set that will have the dependencies that could not be found added to it.
35
- * @param deepImports A set that will have the import paths that exist but cannot be mapped to
36
- * entry-points, i.e. deep-imports.
37
- * @param internal A set that is used to track internal dependencies to prevent getting stuck in a
38
- * circular dependency loop.
39
- */
40
- DependencyHost.prototype.computeDependencies = function (from, dependencies, missing, deepImports, internal) {
41
- var _this = this;
42
- if (dependencies === void 0) { dependencies = new Set(); }
43
- if (missing === void 0) { missing = new Set(); }
44
- if (deepImports === void 0) { deepImports = new Set(); }
45
- if (internal === void 0) { internal = new Set(); }
46
- var fromContents = fs.readFileSync(from, 'utf8');
47
- if (!this.hasImportOrReexportStatements(fromContents)) {
48
- return { dependencies: dependencies, missing: missing, deepImports: deepImports };
49
- }
50
- // Parse the source into a TypeScript AST and then walk it looking for imports and re-exports.
51
- var sf = ts.createSourceFile(from, fromContents, ts.ScriptTarget.ES2015, false, ts.ScriptKind.JS);
52
- sf.statements
53
- // filter out statements that are not imports or reexports
54
- .filter(this.isStringImportOrReexport)
55
- // Grab the id of the module that is being imported
56
- .map(function (stmt) { return stmt.moduleSpecifier.text; })
57
- // Resolve this module id into an absolute path
58
- .forEach(function (importPath) {
59
- if (importPath.startsWith('.')) {
60
- // This is an internal import so follow it
61
- var internalDependency = _this.resolveInternal(from, importPath);
62
- // Avoid circular dependencies
63
- if (!internal.has(internalDependency)) {
64
- internal.add(internalDependency);
65
- _this.computeDependencies(internalDependency, dependencies, missing, deepImports, internal);
66
- }
67
- }
68
- else {
69
- var resolvedEntryPoint = _this.tryResolveEntryPoint(from, importPath);
70
- if (resolvedEntryPoint !== null) {
71
- dependencies.add(resolvedEntryPoint);
72
- }
73
- else {
74
- // If the import could not be resolved as entry point, it either does not exist
75
- // at all or is a deep import.
76
- var deeplyImportedFile = _this.tryResolve(from, importPath);
77
- if (deeplyImportedFile !== null) {
78
- deepImports.add(importPath);
79
- }
80
- else {
81
- missing.add(importPath);
82
- }
83
- }
84
- }
85
- });
86
- return { dependencies: dependencies, missing: missing, deepImports: deepImports };
87
- };
88
- /**
89
- * Resolve an internal module import.
90
- * @param from the absolute file path from where to start trying to resolve this module
91
- * @param to the module specifier of the internal dependency to resolve
92
- * @returns the resolved path to the import.
93
- */
94
- DependencyHost.prototype.resolveInternal = function (from, to) {
95
- var fromDirectory = path.dirname(from);
96
- // `fromDirectory` is absolute so we don't need to worry about telling `require.resolve`
97
- // about it by adding it to a `paths` parameter - unlike `tryResolve` below.
98
- return path_1.AbsoluteFsPath.from(require.resolve(path.resolve(fromDirectory, to)));
99
- };
100
- /**
101
- * We don't want to resolve external dependencies directly because if it is a path to a
102
- * sub-entry-point (e.g. @angular/animations/browser rather than @angular/animations)
103
- * then `require.resolve()` may return a path to a UMD bundle, which may actually live
104
- * in the folder containing the sub-entry-point
105
- * (e.g. @angular/animations/bundles/animations-browser.umd.js).
106
- *
107
- * Instead we try to resolve it as a package, which is what we would need anyway for it to be
108
- * compilable by ngcc.
109
- *
110
- * If `to` is actually a path to a file then this will fail, which is what we want.
111
- *
112
- * @param from the file path from where to start trying to resolve this module
113
- * @param to the module specifier of the dependency to resolve
114
- * @returns the resolved path to the entry point directory of the import or null
115
- * if it cannot be resolved.
116
- */
117
- DependencyHost.prototype.tryResolveEntryPoint = function (from, to) {
118
- var entryPoint = this.tryResolve(from, to + "/package.json");
119
- return entryPoint && path_1.AbsoluteFsPath.from(path.dirname(entryPoint));
120
- };
121
- /**
122
- * Resolve the absolute path of a module from a particular starting point.
123
- *
124
- * @param from the file path from where to start trying to resolve this module
125
- * @param to the module specifier of the dependency to resolve
126
- * @returns an absolute path to the entry-point of the dependency or null if it could not be
127
- * resolved.
128
- */
129
- DependencyHost.prototype.tryResolve = function (from, to) {
130
- try {
131
- return path_1.AbsoluteFsPath.from(require.resolve(to, { paths: [from] }));
132
- }
133
- catch (e) {
134
- return null;
135
- }
136
- };
137
- /**
138
- * Check whether the given statement is an import with a string literal module specifier.
139
- * @param stmt the statement node to check.
140
- * @returns true if the statement is an import with a string literal module specifier.
141
- */
142
- DependencyHost.prototype.isStringImportOrReexport = function (stmt) {
143
- return ts.isImportDeclaration(stmt) ||
144
- ts.isExportDeclaration(stmt) && !!stmt.moduleSpecifier &&
145
- ts.isStringLiteral(stmt.moduleSpecifier);
146
- };
147
- /**
148
- * Check whether a source file needs to be parsed for imports.
149
- * This is a performance short-circuit, which saves us from creating
150
- * a TypeScript AST unnecessarily.
151
- *
152
- * @param source The content of the source file to check.
153
- *
154
- * @returns false if there are definitely no import or re-export statements
155
- * in this file, true otherwise.
156
- */
157
- DependencyHost.prototype.hasImportOrReexportStatements = function (source) {
158
- return /(import|export)\s.+from/.test(source);
159
- };
160
- return DependencyHost;
161
- }());
162
- exports.DependencyHost = DependencyHost;
163
- });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeV9ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3BhY2thZ2VzL2RlcGVuZGVuY3lfaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILHFDQUF1QztJQUN2Qyx1QkFBeUI7SUFDekIsK0JBQWlDO0lBRWpDLDZEQUFvRTtJQUVwRTs7T0FFRztJQUNIO1FBQUE7UUEySUEsQ0FBQztRQTFJQzs7Ozs7Ozs7OztXQVVHO1FBQ0gsNENBQW1CLEdBQW5CLFVBQ0ksSUFBb0IsRUFBRSxZQUE2QyxFQUNuRSxPQUFxQyxFQUFFLFdBQXlDLEVBQ2hGLFFBQXlDO1lBSDdDLGlCQWlEQztZQWhEeUIsNkJBQUEsRUFBQSxtQkFBd0MsR0FBRyxFQUFFO1lBQ25FLHdCQUFBLEVBQUEsY0FBZ0MsR0FBRyxFQUFFO1lBQUUsNEJBQUEsRUFBQSxrQkFBb0MsR0FBRyxFQUFFO1lBQ2hGLHlCQUFBLEVBQUEsZUFBb0MsR0FBRyxFQUFFO1lBSzNDLElBQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sRUFBQyxZQUFZLGNBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDO2FBQzdDO1lBRUQsOEZBQThGO1lBQzlGLElBQU0sRUFBRSxHQUNKLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLEVBQUUsQ0FBQyxVQUFVO2dCQUNULDBE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T0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUMvQixFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlO29CQUN0RCxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQ7Ozs7Ozs7OztXQVNHO1FBQ0gsc0RBQTZCLEdBQTdCLFVBQThCLE1BQWM7WUFDMUMsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNILHFCQUFDO0lBQUQsQ0FBQyxBQTNJRCxJQTJJQztJQTNJWSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdjYW5vbmljYWwtcGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtBYnNvbHV0ZUZzUGF0aCwgUGF0aFNlZ21lbnR9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9wYXRoJztcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb25zIGZvciBjb21wdXRpbmcgZGVwZW5kZW5jaWVzLlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUhvc3Qge1xuICAvKipcbiAgICogR2V0IGEgbGlzdCBvZiB0aGUgcmVzb2x2ZWQgcGF0aHMgdG8gYWxsIHRoZSBkZXBlbmRlbmNpZXMgb2YgdGhpcyBlbnRyeSBwb2ludC5cbiAgICogQHBhcmFtIGZyb20gQW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSB3aG9zZSBkZXBlbmRlbmNpZXMgd2Ugd2FudCB0byBnZXQuXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgQSBzZXQgdGhhdCB3aWxsIGhhdmUgdGhlIGFic29sdXRlIHBhdGhzIG9mIHJlc29sdmVkIGVudHJ5IHBvaW50cyBhZGRlZCB0b1xuICAgKiBpdC5cbiAgICogQHBhcmFtIG1pc3NpbmcgQSBzZXQgdGhhdCB3aWxsIGhhdmUgdGhlIGRlcGVuZGVuY2llcyB0aGF0IGNvdWxkIG5vdCBiZSBmb3VuZCBhZGRlZCB0byBpdC5cbiAgICogQHBhcmFtIGRlZXBJbXBvcnRzIEEgc2V0IHRoYXQgd2lsbCBoYXZlIHRoZSBpbXBvcnQgcGF0aHMgdGhhdCBleGlzdCBidXQgY2Fubm90IGJlIG1hcHBlZCB0b1xuICAgKiBlbnRyeS1wb2ludHMsIGkuZS4gZGVlcC1pbXBvcnRzLlxuICAgKiBAcGFyYW0gaW50ZXJuYWwgQSBzZXQgdGhhdCBpcyB1c2VkIHRvIHRyYWNrIGludGVybmFsIGRlcGVuZGVuY2llcyB0byBwcmV2ZW50IGdldHRpbmcgc3R1Y2sgaW4gYVxuICAgKiBjaXJjdWxhciBkZXBlbmRlbmN5IGxvb3AuXG4gICAqL1xuICBjb21wdXRlRGVwZW5kZW5jaWVzKFxuICAgICAgZnJvbTogQWJzb2x1dGVGc1BhdGgsIGRlcGVuZGVuY2llczogU2V0PEFic29sdXRlRnNQYXRoPiA9IG5ldyBTZXQoKSxcbiAgICAgIG1pc3Npbmc6IFNldDxQYXRoU2VnbWVudD4gPSBuZXcgU2V0KCksIGRlZXBJbXBvcnRzOiBTZXQ8UGF0aFNlZ21lbnQ+ID0gbmV3IFNldCgpLFxuICAgICAgaW50ZXJuYWw6IFNldDxBYnNvbHV0ZUZzUGF0aD4gPSBuZXcgU2V0KCkpOiB7XG4gICAgZGVwZW5kZW5jaWVzOiBTZXQ8QWJzb2x1dGVGc1BhdGg+LFxuICAgIG1pc3Npbmc6IFNldDxQYXRoU2VnbWVudD4sXG4gICAgZGVlcEltcG9ydHM6IFNldDxQYXRoU2VnbWVudD5cbiAgfSB7XG4gICAgY29uc3QgZnJvbUNvbnRlbnRzID0gZnMucmVhZEZpbGVTeW5jKGZyb20sICd1dGY4Jyk7XG4gICAgaWYgKCF0aGlzLmhhc0ltcG9ydE9yUmVleHBvcnRTdGF0ZW1lbnRzKGZyb21Db250ZW50cykpIHtcbiAgICAgIHJldHVybiB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c307XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgdGhlIHNvdXJjZSBpbnRvIGEgVHlwZVNjcmlwdCBBU1QgYW5kIHRoZW4gd2FsayBpdCBsb29raW5nIGZvciBpbXBvcnRzIGFuZCByZS1leHBvcnRzLlxuICAgIGNvbnN0IHNmID1cbiAgICAgICAgdHMuY3JlYXRlU291cmNlRmlsZShmcm9tLCBmcm9tQ29udGVudHMsIHRzLlNjcmlwdFRhcmdldC5FUzIwMTUsIGZhbHNlLCB0cy5TY3JpcHRLaW5kLkpTKTtcbiAgICBzZi5zdGF0ZW1lbnRzXG4gICAgICAgIC8vIGZpbHRlciBvdXQgc3RhdGVtZW50cyB0aGF0IGFyZSBub3QgaW1wb3J0cyBvciByZWV4cG9ydHNcbiAgICAgICAgLmZpbHRlcih0aGlzLmlzU3RyaW5nSW1wb3J0T3JSZWV4cG9ydClcbiAgICAgICAgLy8gR3JhYiB0aGUgaWQgb2YgdGhlIG1vZHVsZSB0aGF0IGlzIGJlaW5nIGltcG9ydGVkXG4gICAgICAgIC5tYXAoc3RtdCA9PiBzdG10Lm1vZHVsZVNwZWNpZmllci50ZXh0KVxuICAgICAgICAvLyBSZXNvbHZlIHRoaXMgbW9kdWxlIGlkIGludG8gYW4gYWJzb2x1dGUgcGF0aFxuICAgICAgICAuZm9yRWFjaCgoaW1wb3J0UGF0aDogUGF0aFNlZ21lbnQpID0+IHtcbiAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gaW50ZXJuYWwgaW1wb3J0IHNvIGZvbGxvdyBpdFxuICAgICAgICAgICAgY29uc3QgaW50ZXJuYWxEZXBlbmRlbmN5ID0gdGhpcy5yZXNvbHZlSW50ZXJuYWwoZnJvbSwgaW1wb3J0UGF0aCk7XG4gICAgICAgICAgICAvLyBBdm9pZCBjaXJjdWxhciBkZXBlbmRlbmNpZXNcbiAgICAgICAgICAgIGlmICghaW50ZXJuYWwuaGFzKGludGVybmFsRGVwZW5kZW5jeSkpIHtcbiAgICAgICAgICAgICAgaW50ZXJuYWwuYWRkKGludGVybmFsRGVwZW5kZW5jeSk7XG4gICAgICAgICAgICAgIHRoaXMuY29tcHV0ZURlcGVuZGVuY2llcyhcbiAgICAgICAgICAgICAgICAgIGludGVybmFsRGVwZW5kZW5jeSwgZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0cywgaW50ZXJuYWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlZEVudHJ5UG9pbnQgPSB0aGlzLnRyeVJlc29sdmVFbnRyeVBvaW50KGZyb20sIGltcG9ydFBhdGgpO1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkRW50cnlQb2ludCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuYWRkKHJlc29sdmVkRW50cnlQb2ludCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBJZiB0aGUgaW1wb3J0IGNvdWxkIG5vdCBiZSByZXNvbHZlZCBhcyBlbnRyeSBwb2ludCwgaXQgZWl0aGVyIGRvZXMgbm90IGV4aXN0XG4gICAgICAgICAgICAgIC8vIGF0IGFsbCBvciBpcyBhIGRlZXAgaW1wb3J0LlxuICAgICAgICAgICAgICBjb25zdCBkZWVwbHlJbXBvcnRlZEZpbGUgPSB0aGlzLnRyeVJlc29sdmUoZnJvbSwgaW1wb3J0UGF0aCk7XG4gICAgICAgICAgICAgIGlmIChkZWVwbHlJbXBvcnRlZEZpbGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkZWVwSW1wb3J0cy5hZGQoaW1wb3J0UGF0aCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbWlzc2luZy5hZGQoaW1wb3J0UGF0aCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIHJldHVybiB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c307XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSBhbiBpbnRlcm5hbCBtb2R1bGUgaW1wb3J0LlxuICAgKiBAcGFyYW0gZnJvbSB0aGUgYWJzb2x1dGUgZmlsZSBwYXRoIGZyb20gd2hlcmUgdG8gc3RhcnQgdHJ5aW5nIHRvIHJlc29sdmUgdGhpcyBtb2R1bGVcbiAgICogQHBhcmFtIHRvIHRoZSBtb2R1bGUgc3BlY2lmaWVyIG9mIHRoZSBpbnRlcm5hbCBkZXBlbmRlbmN5IHRvIHJlc29sdmVcbiAgICogQHJldHVybnMgdGhlIHJlc29sdmVkIHBhdGggdG8gdGhlIGltcG9ydC5cbiAgICovXG4gIHJlc29sdmVJbnRlcm5hbChmcm9tOiBBYnNvbHV0ZUZzUGF0aCwgdG86IFBhdGhTZWdtZW50KTogQWJzb2x1dGVGc1BhdGgge1xuICAgIGNvbnN0IGZyb21EaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUoZnJvbSk7XG4gICAgLy8gYGZyb21EaXJlY3RvcnlgIGlzIGFic29sdXRlIHNvIHdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgdGVsbGluZyBgcmVxdWlyZS5yZXNvbHZlYFxuICAgIC8vIGFib3V0IGl0IGJ5IGFkZGluZyBpdCB0byBhIGBwYXRoc2AgcGFyYW1ldGVyIC0gdW5saWtlIGB0cnlSZXNvbHZlYCBiZWxvdy5cbiAgICByZXR1cm4gQWJzb2x1dGVGc1BhdGguZnJvbShyZXF1aXJlLnJlc29sdmUocGF0aC5yZXNvbHZlKGZyb21EaXJlY3RvcnksIHRvKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIGRvbid0IHdhbnQgdG8gcmVzb2x2ZSBleHRlcm5hbCBkZXBlbmRlbmNpZXMgZGlyZWN0bHkgYmVjYXVzZSBpZiBpdCBpcyBhIHBhdGggdG8gYVxuICAgKiBzdWItZW50cnktcG9pbnQgKGUuZy4gQGFuZ3VsYXIvYW5pbWF0aW9ucy9icm93c2VyIHJhdGhlciB0aGFuIEBhbmd1bGFyL2FuaW1hdGlvbnMpXG4gICAqIHRoZW4gYHJlcXVpcmUucmVzb2x2ZSgpYCBtYXkgcmV0dXJuIGEgcGF0aCB0byBhIFVNRCBidW5kbGUsIHdoaWNoIG1heSBhY3R1YWxseSBsaXZlXG4gICAqIGluIHRoZSBmb2xkZXIgY29udGFpbmluZyB0aGUgc3ViLWVudHJ5LXBvaW50XG4gICAqIChlLmcuIEBhbmd1bGFyL2FuaW1hdGlvbnMvYnVuZGxlcy9hbmltYXRpb25zLWJyb3dzZXIudW1kLmpzKS5cbiAgICpcbiAgICogSW5zdGVhZCB3ZSB0cnkgdG8gcmVzb2x2ZSBpdCBhcyBhIHBhY2thZ2UsIHdoaWNoIGlzIHdoYXQgd2Ugd291bGQgbmVlZCBhbnl3YXkgZm9yIGl0IHRvIGJlXG4gICAqIGNvbXBpbGFibGUgYnkgbmdjYy5cbiAgICpcbiAgICogSWYgYHRvYCBpcyBhY3R1YWxseSBhIHBhdGggdG8gYSBmaWxlIHRoZW4gdGhpcyB3aWxsIGZhaWwsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudC5cbiAgICpcbiAgICogQHBhcmFtIGZyb20gdGhlIGZpbGUgcGF0aCBmcm9tIHdoZXJlIHRvIHN0YXJ0IHRyeWluZyB0byByZXNvbHZlIHRoaXMgbW9kdWxlXG4gICAqIEBwYXJhbSB0byB0aGUgbW9kdWxlIHNwZWNpZmllciBvZiB0aGUgZGVwZW5kZW5jeSB0byByZXNvbHZlXG4gICAqIEByZXR1cm5zIHRoZSByZXNvbHZlZCBwYXRoIHRvIHRoZSBlbnRyeSBwb2ludCBkaXJlY3Rvcnkgb2YgdGhlIGltcG9ydCBvciBudWxsXG4gICAqIGlmIGl0IGNhbm5vdCBiZSByZXNvbHZlZC5cbiAgICovXG4gIHRyeVJlc29sdmVFbnRyeVBvaW50KGZyb206IEFic29sdXRlRnNQYXRoLCB0bzogUGF0aFNlZ21lbnQpOiBBYnNvbHV0ZUZzUGF0aHxudWxsIHtcbiAgICBjb25zdCBlbnRyeVBvaW50ID0gdGhpcy50cnlSZXNvbHZlKGZyb20sIGAke3RvfS9wYWNrYWdlLmpzb25gIGFzIFBhdGhTZWdtZW50KTtcbiAgICByZXR1cm4gZW50cnlQb2ludCAmJiBBYnNvbHV0ZUZzUGF0aC5mcm9tKHBhdGguZGlybmFtZShlbnRyeVBvaW50KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSB0aGUgYWJzb2x1dGUgcGF0aCBvZiBhIG1vZHVsZSBmcm9tIGEgcGFydGljdWxhciBzdGFydGluZyBwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIGZyb20gdGhlIGZpbGUgcGF0aCBmcm9tIHdoZXJlIHRvIHN0YXJ0IHRyeWluZyB0byByZXNvbHZlIHRoaXMgbW9kdWxlXG4gICAqIEBwYXJhbSB0byB0aGUgbW9kdWxlIHNwZWNpZmllciBvZiB0aGUgZGVwZW5kZW5jeSB0byByZXNvbHZlXG4gICAqIEByZXR1cm5zIGFuIGFic29sdXRlIHBhdGggdG8gdGhlIGVudHJ5LXBvaW50IG9mIHRoZSBkZXBlbmRlbmN5IG9yIG51bGwgaWYgaXQgY291bGQgbm90IGJlXG4gICAqIHJlc29sdmVkLlxuICAgKi9cbiAgdHJ5UmVzb2x2ZShmcm9tOiBBYnNvbHV0ZUZzUGF0aCwgdG86IFBhdGhTZWdtZW50KTogQWJzb2x1dGVGc1BhdGh8bnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBBYnNvbHV0ZUZzUGF0aC5mcm9tKHJlcXVpcmUucmVzb2x2ZSh0bywge3BhdGhzOiBbZnJvbV19KSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgdGhlIGdpdmVuIHN0YXRlbWVudCBpcyBhbiBpbXBvcnQgd2l0aCBhIHN0cmluZyBsaXRlcmFsIG1vZHVsZSBzcGVjaWZpZXIuXG4gICAqIEBwYXJhbSBzdG10IHRoZSBzdGF0ZW1lbnQgbm9kZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RhdGVtZW50IGlzIGFuIGltcG9ydCB3aXRoIGEgc3RyaW5nIGxpdGVyYWwgbW9kdWxlIHNwZWNpZmllci5cbiAgICovXG4gIGlzU3RyaW5nSW1wb3J0T3JSZWV4cG9ydChzdG10OiB0cy5TdGF0ZW1lbnQpOiBzdG10IGlzIHRzLkltcG9ydERlY2xhcmF0aW9uJlxuICAgICAge21vZHVsZVNwZWNpZmllcjogdHMuU3RyaW5nTGl0ZXJhbH0ge1xuICAgIHJldHVybiB0cy5pc0ltcG9ydERlY2xhcmF0aW9uKHN0bXQpIHx8XG4gICAgICAgIHRzLmlzRXhwb3J0RGVjbGFyYXRpb24oc3RtdCkgJiYgISFzdG10Lm1vZHVsZVNwZWNpZmllciAmJlxuICAgICAgICB0cy5pc1N0cmluZ0xpdGVyYWwoc3RtdC5tb2R1bGVTcGVjaWZpZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBzb3VyY2UgZmlsZSBuZWVkcyB0byBiZSBwYXJzZWQgZm9yIGltcG9ydHMuXG4gICAqIFRoaXMgaXMgYSBwZXJmb3JtYW5jZSBzaG9ydC1jaXJjdWl0LCB3aGljaCBzYXZlcyB1cyBmcm9tIGNyZWF0aW5nXG4gICAqIGEgVHlwZVNjcmlwdCBBU1QgdW5uZWNlc3NhcmlseS5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZSBUaGUgY29udGVudCBvZiB0aGUgc291cmNlIGZpbGUgdG8gY2hlY2suXG4gICAqXG4gICAqIEByZXR1cm5zIGZhbHNlIGlmIHRoZXJlIGFyZSBkZWZpbml0ZWx5IG5vIGltcG9ydCBvciByZS1leHBvcnQgc3RhdGVtZW50c1xuICAgKiBpbiB0aGlzIGZpbGUsIHRydWUgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaGFzSW1wb3J0T3JSZWV4cG9ydFN0YXRlbWVudHMoc291cmNlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gLyhpbXBvcnR8ZXhwb3J0KVxccy4rZnJvbS8udGVzdChzb3VyY2UpO1xuICB9XG59XG4iXX0=
@@ -1,126 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google Inc. 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/compiler-cli/ngcc/src/packages/dependency_resolver", ["require", "exports", "tslib", "canonical-path", "dependency-graph", "@angular/compiler-cli/src/ngtsc/path", "@angular/compiler-cli/ngcc/src/packages/entry_point"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- var tslib_1 = require("tslib");
20
- var canonical_path_1 = require("canonical-path");
21
- var dependency_graph_1 = require("dependency-graph");
22
- var path_1 = require("@angular/compiler-cli/src/ngtsc/path");
23
- var entry_point_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point");
24
- /**
25
- * A class that resolves dependencies between entry-points.
26
- */
27
- var DependencyResolver = /** @class */ (function () {
28
- function DependencyResolver(logger, host) {
29
- this.logger = logger;
30
- this.host = host;
31
- }
32
- /**
33
- * Sort the array of entry points so that the dependant entry points always come later than
34
- * their dependencies in the array.
35
- * @param entryPoints An array entry points to sort.
36
- * @param target If provided, only return entry-points depended on by this entry-point.
37
- * @returns the result of sorting the entry points by dependency.
38
- */
39
- DependencyResolver.prototype.sortEntryPointsByDependency = function (entryPoints, target) {
40
- var _a = this.createDependencyInfo(entryPoints), invalidEntryPoints = _a.invalidEntryPoints, ignoredDependencies = _a.ignoredDependencies, graph = _a.graph;
41
- var sortedEntryPointNodes;
42
- if (target) {
43
- sortedEntryPointNodes = graph.dependenciesOf(target.path);
44
- sortedEntryPointNodes.push(target.path);
45
- }
46
- else {
47
- sortedEntryPointNodes = graph.overallOrder();
48
- }
49
- return {
50
- entryPoints: sortedEntryPointNodes.map(function (path) { return graph.getNodeData(path); }),
51
- invalidEntryPoints: invalidEntryPoints,
52
- ignoredDependencies: ignoredDependencies,
53
- };
54
- };
55
- /**
56
- * Computes a dependency graph of the given entry-points.
57
- *
58
- * The graph only holds entry-points that ngcc cares about and whose dependencies
59
- * (direct and transitive) all exist.
60
- */
61
- DependencyResolver.prototype.createDependencyInfo = function (entryPoints) {
62
- var _this = this;
63
- var invalidEntryPoints = [];
64
- var ignoredDependencies = [];
65
- var graph = new dependency_graph_1.DepGraph();
66
- // Add the entry points to the graph as nodes
67
- entryPoints.forEach(function (entryPoint) { return graph.addNode(entryPoint.path, entryPoint); });
68
- // Now add the dependencies between them
69
- entryPoints.forEach(function (entryPoint) {
70
- var entryPointPath = getEntryPointPath(entryPoint);
71
- var _a = _this.host.computeDependencies(entryPointPath), dependencies = _a.dependencies, missing = _a.missing, deepImports = _a.deepImports;
72
- if (missing.size > 0) {
73
- // This entry point has dependencies that are missing
74
- // so remove it from the graph.
75
- removeNodes(entryPoint, Array.from(missing));
76
- }
77
- else {
78
- dependencies.forEach(function (dependencyPath) {
79
- if (graph.hasNode(dependencyPath)) {
80
- // The dependency path maps to an entry point that exists in the graph
81
- // so add the dependency.
82
- graph.addDependency(entryPoint.path, dependencyPath);
83
- }
84
- else if (invalidEntryPoints.some(function (i) { return i.entryPoint.path === dependencyPath; })) {
85
- // The dependency path maps to an entry-point that was previously removed
86
- // from the graph, so remove this entry-point as well.
87
- removeNodes(entryPoint, [dependencyPath]);
88
- }
89
- else {
90
- // The dependency path points to a package that ngcc does not care about.
91
- ignoredDependencies.push({ entryPoint: entryPoint, dependencyPath: dependencyPath });
92
- }
93
- });
94
- }
95
- if (deepImports.size) {
96
- var imports = Array.from(deepImports).map(function (i) { return "'" + i + "'"; }).join(', ');
97
- _this.logger.warn("Entry point '" + entryPoint.name + "' contains deep imports into " + imports + ". " +
98
- "This is probably not a problem, but may cause the compilation of entry points to be out of order.");
99
- }
100
- });
101
- return { invalidEntryPoints: invalidEntryPoints, ignoredDependencies: ignoredDependencies, graph: graph };
102
- function removeNodes(entryPoint, missingDependencies) {
103
- var nodesToRemove = tslib_1.__spread([entryPoint.path], graph.dependantsOf(entryPoint.path));
104
- nodesToRemove.forEach(function (node) {
105
- invalidEntryPoints.push({ entryPoint: graph.getNodeData(node), missingDependencies: missingDependencies });
106
- graph.removeNode(node);
107
- });
108
- }
109
- };
110
- return DependencyResolver;
111
- }());
112
- exports.DependencyResolver = DependencyResolver;
113
- function getEntryPointPath(entryPoint) {
114
- var properties = Object.keys(entryPoint.packageJson);
115
- for (var i = 0; i < properties.length; i++) {
116
- var property = properties[i];
117
- var format = entry_point_1.getEntryPointFormat(property);
118
- if (format === 'esm2015' || format === 'esm5') {
119
- var formatPath = entryPoint.packageJson[property];
120
- return path_1.AbsoluteFsPath.from(canonical_path_1.resolve(entryPoint.path, formatPath));
121
- }
122
- }
123
- throw new Error("There is no format with import statements in '" + entryPoint.path + "' entry-point.");
124
- }
125
- });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeV9yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9wYWNrYWdlcy9kZXBlbmRlbmN5X3Jlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILGlEQUF1QztJQUN2QyxxREFBMEM7SUFFMUMsNkRBQXVEO0lBSXZELG1GQUFzRjtJQWtEdEY7O09BRUc7SUFDSDtRQUNFLDRCQUFvQixNQUFjLEVBQVUsSUFBb0I7WUFBNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUFVLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQUcsQ0FBQztRQUNwRTs7Ozs7O1dBTUc7UUFDSCx3REFBMkIsR0FBM0IsVUFBNEIsV0FBeUIsRUFBRSxNQUFtQjtZQUVsRSxJQUFBLDJDQUF5RixFQUF4RiwwQ0FBa0IsRUFBRSw0Q0FBbUIsRUFBRSxnQkFBK0MsQ0FBQztZQUVoRyxJQUFJLHFCQUErQixDQUFDO1lBQ3BDLElBQUksTUFBTSxFQUFFO2dCQUNWLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNMLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUM5QztZQUVELE9BQU87Z0JBQ0wsV0FBVyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQXZCLENBQXVCLENBQUM7Z0JBQ3ZFLGtCQUFrQixvQkFBQTtnQkFDbEIsbUJBQW1CLHFCQUFBO2FBQ3BCLENBQUM7UUFDSixDQUFDO1FBRUQ7Ozs7O1dBS0c7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QyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNILHlCQUFDO0lBQUQsQ0FBQyxBQXRGRCxJQXNGQztJQXRGWSxnREFBa0I7SUF3Ri9CLFNBQVMsaUJBQWlCLENBQUMsVUFBc0I7UUFDL0MsSUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUMsSUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBMkIsQ0FBQztZQUN6RCxJQUFNLE1BQU0sR0FBRyxpQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUU3QyxJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtnQkFDN0MsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUcsQ0FBQztnQkFDdEQsT0FBTyxxQkFBYyxDQUFDLElBQUksQ0FBQyx3QkFBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUNsRTtTQUNGO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBaUQsVUFBVSxDQUFDLElBQUksbUJBQWdCLENBQUMsQ0FBQztJQUNwRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge3Jlc29sdmV9IGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcbmltcG9ydCB7RGVwR3JhcGh9IGZyb20gJ2RlcGVuZGVuY3ktZ3JhcGgnO1xuXG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvcGF0aCc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXInO1xuXG5pbXBvcnQge0RlcGVuZGVuY3lIb3N0fSBmcm9tICcuL2RlcGVuZGVuY3lfaG9zdCc7XG5pbXBvcnQge0VudHJ5UG9pbnQsIEVudHJ5UG9pbnRKc29uUHJvcGVydHksIGdldEVudHJ5UG9pbnRGb3JtYXR9IGZyb20gJy4vZW50cnlfcG9pbnQnO1xuXG5cbi8qKlxuICogSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgZW50cnkgcG9pbnRzIHRoYXQgYXJlIHJlbW92ZWQgYmVjYXVzZVxuICogdGhleSBoYXZlIGRlcGVuZGVuY2llcyB0aGF0IGFyZSBtaXNzaW5nIChkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkpLlxuICpcbiAqIFRoaXMgbWlnaHQgbm90IGJlIGFuIGVycm9yLCBiZWNhdXNlIHN1Y2ggYW4gZW50cnkgcG9pbnQgbWlnaHQgbm90IGFjdHVhbGx5IGJlIHVzZWRcbiAqIGluIHRoZSBhcHBsaWNhdGlvbi4gSWYgaXQgaXMgdXNlZCB0aGVuIHRoZSBgbmdjYCBhcHBsaWNhdGlvbiBjb21waWxhdGlvbiB3b3VsZFxuICogZmFpbCBhbHNvLCBzbyB3ZSBkb24ndCBuZWVkIG5nY2MgdG8gY2F0Y2ggdGhpcy5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgY29uc2lkZXIgYW4gYXBwbGljYXRpb24gdGhhdCB1c2VzIHRoZSBgQGFuZ3VsYXIvcm91dGVyYCBwYWNrYWdlLlxuICogVGhpcyBwYWNrYWdlIGluY2x1ZGVzIGFuIGVudHJ5LXBvaW50IGNhbGxlZCBgQGFuZ3VsYXIvcm91dGVyL3VwZ3JhZGVgLCB3aGljaCBoYXMgYSBkZXBlbmRlbmN5XG4gKiBvbiB0aGUgYEBhbmd1bGFyL3VwZ3JhZGVgIHBhY2thZ2UuXG4gKiBJZiB0aGUgYXBwbGljYXRpb24gbmV2ZXIgdXNlcyBjb2RlIGZyb20gYEBhbmd1bGFyL3JvdXRlci91cGdyYWRlYCB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgZm9yXG4gKiBgQGFuZ3VsYXIvdXBncmFkZWAgdG8gYmUgaW5zdGFsbGVkLlxuICogSW4gdGhpcyBjYXNlIHRoZSBuZ2NjIHRvb2wgc2hvdWxkIGp1c3QgaWdub3JlIHRoZSBgQGFuZ3VsYXIvcm91dGVyL3VwZ3JhZGVgIGVuZC1wb2ludC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkRW50cnlQb2ludCB7XG4gIGVudHJ5UG9pbnQ6IEVudHJ5UG9pbnQ7XG4gIG1pc3NpbmdEZXBlbmRlbmNpZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEhvbGRzIGluZm9ybWF0aW9uIGFib3V0IGRlcGVuZGVuY2llcyBvZiBhbiBlbnRyeS1wb2ludCB0aGF0IGRvIG5vdCBuZWVkIHRvIGJlIHByb2Nlc3NlZFxuICogYnkgdGhlIG5nY2MgdG9vbC5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGByeGpzYCBwYWNrYWdlIGRvZXMgbm90IGNvbnRhaW4gYW55IEFuZ3VsYXIgZGVjb3JhdG9ycyB0aGF0IG5lZWQgdG8gYmVcbiAqIGNvbXBpbGVkIGFuZCBzbyB0aGlzIGNhbiBiZSBzYWZlbHkgaWdub3JlZCBieSBuZ2NjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElnbm9yZWREZXBlbmRlbmN5IHtcbiAgZW50cnlQb2ludDogRW50cnlQb2ludDtcbiAgZGVwZW5kZW5jeVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGxpc3Qgb2YgZW50cnktcG9pbnRzLCBzb3J0ZWQgYnkgdGhlaXIgZGVwZW5kZW5jaWVzLlxuICpcbiAqIFRoZSBgZW50cnlQb2ludHNgIGFycmF5IHdpbGwgYmUgb3JkZXJlZCBzbyB0aGF0IG5vIGVudHJ5IHBvaW50IGRlcGVuZHMgdXBvbiBhbiBlbnRyeSBwb2ludCB0aGF0XG4gKiBhcHBlYXJzIGxhdGVyIGluIHRoZSBhcnJheS5cbiAqXG4gKiBTb21lIGVudHJ5IHBvaW50cyBvciB0aGVpciBkZXBlbmRlbmNpZXMgbWF5IGJlIGhhdmUgYmVlbiBpZ25vcmVkLiBUaGVzZSBhcmUgY2FwdHVyZWQgZm9yXG4gKiBkaWFnbm9zdGljIHB1cnBvc2VzIGluIGBpbnZhbGlkRW50cnlQb2ludHNgIGFuZCBgaWdub3JlZERlcGVuZGVuY2llc2AgcmVzcGVjdGl2ZWx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRlZEVudHJ5UG9pbnRzSW5mbyB7XG4gIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W107XG4gIGludmFsaWRFbnRyeVBvaW50czogSW52YWxpZEVudHJ5UG9pbnRbXTtcbiAgaWdub3JlZERlcGVuZGVuY2llczogSWdub3JlZERlcGVuZGVuY3lbXTtcbn1cblxuLyoqXG4gKiBBIGNsYXNzIHRoYXQgcmVzb2x2ZXMgZGVwZW5kZW5jaWVzIGJldHdlZW4gZW50cnktcG9pbnRzLlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeVJlc29sdmVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IExvZ2dlciwgcHJpdmF0ZSBob3N0OiBEZXBlbmRlbmN5SG9zdCkge31cbiAgLyoqXG4gICAqIFNvcnQgdGhlIGFycmF5IG9mIGVudHJ5IHBvaW50cyBzbyB0aGF0IHRoZSBkZXBlbmRhbnQgZW50cnkgcG9pbnRzIGFsd2F5cyBjb21lIGxhdGVyIHRoYW5cbiAgICogdGhlaXIgZGVwZW5kZW5jaWVzIGluIHRoZSBhcnJheS5cbiAgICogQHBhcmFtIGVudHJ5UG9pbnRzIEFuIGFycmF5IGVudHJ5IHBvaW50cyB0byBzb3J0LlxuICAgKiBAcGFyYW0gdGFyZ2V0IElmIHByb3ZpZGVkLCBvbmx5IHJldHVybiBlbnRyeS1wb2ludHMgZGVwZW5kZWQgb24gYnkgdGhpcyBlbnRyeS1wb2ludC5cbiAgICogQHJldHVybnMgdGhlIHJlc3VsdCBvZiBzb3J0aW5nIHRoZSBlbnRyeSBwb2ludHMgYnkgZGVwZW5kZW5jeS5cbiAgICovXG4gIHNvcnRFbnRyeVBvaW50c0J5RGVwZW5kZW5jeShlbnRyeVBvaW50czogRW50cnlQb2ludFtdLCB0YXJnZXQ/OiBFbnRyeVBvaW50KTpcbiAgICAgIFNvcnRlZEVudHJ5UG9pbnRzSW5mbyB7XG4gICAgY29uc3Qge2ludmFsaWRFbnRyeVBvaW50cywgaWdub3JlZERlcGVuZGVuY2llcywgZ3JhcGh9ID0gdGhpcy5jcmVhdGVEZXBlbmRlbmN5SW5mbyhlbnRyeVBvaW50cyk7XG5cbiAgICBsZXQgc29ydGVkRW50cnlQb2ludE5vZGVzOiBzdHJpbmdbXTtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBzb3J0ZWRFbnRyeVBvaW50Tm9kZXMgPSBncmFwaC5kZXBlbmRlbmNpZXNPZih0YXJnZXQucGF0aCk7XG4gICAgICBzb3J0ZWRFbnRyeVBvaW50Tm9kZXMucHVzaCh0YXJnZXQucGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvcnRlZEVudHJ5UG9pbnROb2RlcyA9IGdyYXBoLm92ZXJhbGxPcmRlcigpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbnRyeVBvaW50czogc29ydGVkRW50cnlQb2ludE5vZGVzLm1hcChwYXRoID0+IGdyYXBoLmdldE5vZGVEYXRhKHBhdGgpKSxcbiAgICAgIGludmFsaWRFbnRyeVBvaW50cyxcbiAgICAgIGlnbm9yZWREZXBlbmRlbmNpZXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhIGRlcGVuZGVuY3kgZ3JhcGggb2YgdGhlIGdpdmVuIGVudHJ5LXBvaW50cy5cbiAgICpcbiAgICogVGhlIGdyYXBoIG9ubHkgaG9sZHMgZW50cnktcG9pbnRzIHRoYXQgbmdjYyBjYXJlcyBhYm91dCBhbmQgd2hvc2UgZGVwZW5kZW5jaWVzXG4gICAqIChkaXJlY3QgYW5kIHRyYW5zaXRpdmUpIGFsbCBleGlzdC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRGVwZW5kZW5jeUluZm8oZW50cnlQb2ludHM6IEVudHJ5UG9pbnRbXSkge1xuICAgIGNvbnN0IGludmFsaWRFbnRyeVBvaW50czogSW52YWxpZEVudHJ5UG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IGlnbm9yZWREZXBlbmRlbmNpZXM6IElnbm9yZWREZXBlbmRlbmN5W10gPSBbXTtcbiAgICBjb25zdCBncmFwaCA9IG5ldyBEZXBHcmFwaDxFbnRyeVBvaW50PigpO1xuXG4gICAgLy8gQWRkIHRoZSBlbnRyeSBwb2ludHMgdG8gdGhlIGdyYXBoIGFzIG5vZGVzXG4gICAgZW50cnlQb2ludHMuZm9yRWFjaChlbnRyeVBvaW50ID0+IGdyYXBoLmFkZE5vZGUoZW50cnlQb2ludC5wYXRoLCBlbnRyeVBvaW50KSk7XG5cbiAgICAvLyBOb3cgYWRkIHRoZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGVtXG4gICAgZW50cnlQb2ludHMuZm9yRWFjaChlbnRyeVBvaW50ID0+IHtcbiAgICAgIGNvbnN0IGVudHJ5UG9pbnRQYXRoID0gZ2V0RW50cnlQb2ludFBhdGgoZW50cnlQb2ludCk7XG4gICAgICBjb25zdCB7ZGVwZW5kZW5jaWVzLCBtaXNzaW5nLCBkZWVwSW1wb3J0c30gPSB0aGlzLmhvc3QuY29tcHV0ZURlcGVuZGVuY2llcyhlbnRyeVBvaW50UGF0aCk7XG5cbiAgICAgIGlmIChtaXNzaW5nLnNpemUgPiAwKSB7XG4gICAgICAgIC8vIFRoaXMgZW50cnkgcG9pbnQgaGFzIGRlcGVuZGVuY2llcyB0aGF0IGFyZSBtaXNzaW5nXG4gICAgICAgIC8vIHNvIHJlbW92ZSBpdCBmcm9tIHRoZSBncmFwaC5cbiAgICAgICAgcmVtb3ZlTm9kZXMoZW50cnlQb2ludCwgQXJyYXkuZnJvbShtaXNzaW5nKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaChkZXBlbmRlbmN5UGF0aCA9PiB7XG4gICAgICAgICAgaWYgKGdyYXBoLmhhc05vZGUoZGVwZW5kZW5jeVBhdGgpKSB7XG4gICAgICAgICAgICAvLyBUaGUgZGVwZW5kZW5jeSBwYXRoIG1hcHMgdG8gYW4gZW50cnkgcG9pbnQgdGhhdCBleGlzdHMgaW4gdGhlIGdyYXBoXG4gICAgICAgICAgICAvLyBzbyBhZGQgdGhlIGRlcGVuZGVuY3kuXG4gICAgICAgICAgICBncmFwaC5hZGREZXBlbmRlbmN5KGVudHJ5UG9pbnQucGF0aCwgZGVwZW5kZW5jeVBhdGgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaW52YWxpZEVudHJ5UG9pbnRzLnNvbWUoaSA9PiBpLmVudHJ5UG9pbnQucGF0aCA9PT0gZGVwZW5kZW5jeVBhdGgpKSB7XG4gICAgICAgICAgICAvLyBUaGUgZGVwZW5kZW5jeSBwYXRoIG1hcHMgdG8gYW4gZW50cnktcG9pbnQgdGhhdCB3YXMgcHJldmlvdXNseSByZW1vdmVkXG4gICAgICAgICAgICAvLyBmcm9tIHRoZSBncmFwaCwgc28gcmVtb3ZlIHRoaXMgZW50cnktcG9pbnQgYXMgd2VsbC5cbiAgICAgICAgICAgIHJlbW92ZU5vZGVzKGVudHJ5UG9pbnQsIFtkZXBlbmRlbmN5UGF0aF0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgZGVwZW5kZW5jeSBwYXRoIHBvaW50cyB0byBhIHBhY2thZ2UgdGhhdCBuZ2NjIGRvZXMgbm90IGNhcmUgYWJvdXQuXG4gICAgICAgICAgICBpZ25vcmVkRGVwZW5kZW5jaWVzLnB1c2goe2VudHJ5UG9pbnQsIGRlcGVuZGVuY3lQYXRofSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZXBJbXBvcnRzLnNpemUpIHtcbiAgICAgICAgY29uc3QgaW1wb3J0cyA9IEFycmF5LmZyb20oZGVlcEltcG9ydHMpLm1hcChpID0+IGAnJHtpfSdgKS5qb2luKCcsICcpO1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAgICAgYEVudHJ5IHBvaW50ICcke2VudHJ5UG9pbnQubmFtZX0nIGNvbnRhaW5zIGRlZXAgaW1wb3J0cyBpbnRvICR7aW1wb3J0c30uIGAgK1xuICAgICAgICAgICAgYFRoaXMgaXMgcHJvYmFibHkgbm90IGEgcHJvYmxlbSwgYnV0IG1heSBjYXVzZSB0aGUgY29tcGlsYXRpb24gb2YgZW50cnkgcG9pbnRzIHRvIGJlIG91dCBvZiBvcmRlci5gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB7aW52YWxpZEVudHJ5UG9pbnRzLCBpZ25vcmVkRGVwZW5kZW5jaWVzLCBncmFwaH07XG5cbiAgICBmdW5jdGlvbiByZW1vdmVOb2RlcyhlbnRyeVBvaW50OiBFbnRyeVBvaW50LCBtaXNzaW5nRGVwZW5kZW5jaWVzOiBzdHJpbmdbXSkge1xuICAgICAgY29uc3Qgbm9kZXNUb1JlbW92ZSA9IFtlbnRyeVBvaW50LnBhdGgsIC4uLmdyYXBoLmRlcGVuZGFudHNPZihlbnRyeVBvaW50LnBhdGgpXTtcbiAgICAgIG5vZGVzVG9SZW1vdmUuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgaW52YWxpZEVudHJ5UG9pbnRzLnB1c2goe2VudHJ5UG9pbnQ6IGdyYXBoLmdldE5vZGVEYXRhKG5vZGUpLCBtaXNzaW5nRGVwZW5kZW5jaWVzfSk7XG4gICAgICAgIGdyYXBoLnJlbW92ZU5vZGUobm9kZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RW50cnlQb2ludFBhdGgoZW50cnlQb2ludDogRW50cnlQb2ludCk6IEFic29sdXRlRnNQYXRoIHtcbiAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5rZXlzKGVudHJ5UG9pbnQucGFja2FnZUpzb24pO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IHByb3BlcnRpZXNbaV0gYXMgRW50cnlQb2ludEpzb25Qcm9wZXJ0eTtcbiAgICBjb25zdCBmb3JtYXQgPSBnZXRFbnRyeVBvaW50Rm9ybWF0KHByb3BlcnR5KTtcblxuICAgIGlmIChmb3JtYXQgPT09ICdlc20yMDE1JyB8fCBmb3JtYXQgPT09ICdlc201Jykge1xuICAgICAgY29uc3QgZm9ybWF0UGF0aCA9IGVudHJ5UG9pbnQucGFja2FnZUpzb25bcHJvcGVydHldICE7XG4gICAgICByZXR1cm4gQWJzb2x1dGVGc1BhdGguZnJvbShyZXNvbHZlKGVudHJ5UG9pbnQucGF0aCwgZm9ybWF0UGF0aCkpO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIGZvcm1hdCB3aXRoIGltcG9ydCBzdGF0ZW1lbnRzIGluICcke2VudHJ5UG9pbnQucGF0aH0nIGVudHJ5LXBvaW50LmApO1xufVxuIl19
@@ -1,14 +0,0 @@
1
- /// <amd-module name="@angular/compiler-cli/ngcc/src/rendering/esm5_renderer" />
2
- import MagicString from 'magic-string';
3
- import { NgccReflectionHost } from '../host/ngcc_host';
4
- import { CompiledClass } from '../analysis/decoration_analyzer';
5
- import { EsmRenderer } from './esm_renderer';
6
- import { EntryPointBundle } from '../packages/entry_point_bundle';
7
- import { Logger } from '../logging/logger';
8
- export declare class Esm5Renderer extends EsmRenderer {
9
- constructor(logger: Logger, host: NgccReflectionHost, isCore: boolean, bundle: EntryPointBundle, sourcePath: string);
10
- /**
11
- * Add the definitions to each decorated class
12
- */
13
- addDefinitions(output: MagicString, compiledClass: CompiledClass, definitions: string): void;
14
- }
@@ -1,47 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/rendering/esm5_renderer", ["require", "exports", "tslib", "typescript", "@angular/compiler-cli/ngcc/src/host/esm5_host", "@angular/compiler-cli/ngcc/src/rendering/esm_renderer"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- var tslib_1 = require("tslib");
13
- /**
14
- * @license
15
- * Copyright Google Inc. All Rights Reserved.
16
- *
17
- * Use of this source code is governed by an MIT-style license that can be
18
- * found in the LICENSE file at https://angular.io/license
19
- */
20
- var ts = require("typescript");
21
- var esm5_host_1 = require("@angular/compiler-cli/ngcc/src/host/esm5_host");
22
- var esm_renderer_1 = require("@angular/compiler-cli/ngcc/src/rendering/esm_renderer");
23
- var Esm5Renderer = /** @class */ (function (_super) {
24
- tslib_1.__extends(Esm5Renderer, _super);
25
- function Esm5Renderer(logger, host, isCore, bundle, sourcePath) {
26
- return _super.call(this, logger, host, isCore, bundle, sourcePath) || this;
27
- }
28
- /**
29
- * Add the definitions to each decorated class
30
- */
31
- Esm5Renderer.prototype.addDefinitions = function (output, compiledClass, definitions) {
32
- var iifeBody = esm5_host_1.getIifeBody(compiledClass.declaration);
33
- if (!iifeBody) {
34
- throw new Error("Compiled class declaration is not inside an IIFE: " + compiledClass.name + " in " + compiledClass.declaration.getSourceFile().fileName);
35
- }
36
- var returnStatement = iifeBody.statements.find(ts.isReturnStatement);
37
- if (!returnStatement) {
38
- throw new Error("Compiled class wrapper IIFE does not have a return statement: " + compiledClass.name + " in " + compiledClass.declaration.getSourceFile().fileName);
39
- }
40
- var insertionPoint = returnStatement.getFullStart();
41
- output.appendLeft(insertionPoint, '\n' + definitions);
42
- };
43
- return Esm5Renderer;
44
- }(esm_renderer_1.EsmRenderer));
45
- exports.Esm5Renderer = Esm5Renderer;
46
- });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNtNV9yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL3NyYy9yZW5kZXJpbmcvZXNtNV9yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCwrQkFBaUM7SUFFakMsMkVBQThDO0lBRzlDLHNGQUEyQztJQUkzQztRQUFrQyx3Q0FBVztRQUMzQyxzQkFDSSxNQUFjLEVBQUUsSUFBd0IsRUFBRSxNQUFlLEVBQUUsTUFBd0IsRUFDbkYsVUFBa0I7bUJBQ3BCLGtCQUFNLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7UUFDakQsQ0FBQztRQUVEOztXQUVHO1FBQ0gscUNBQWMsR0FBZCxVQUFlLE1BQW1CLEVBQUUsYUFBNEIsRUFBRSxXQUFtQjtZQUNuRixJQUFNLFFBQVEsR0FBRyx1QkFBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQ1gsdURBQXFELGFBQWEsQ0FBQyxJQUFJLFlBQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFVLENBQUMsQ0FBQzthQUN6STtZQUVELElBQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQ1gsbUVBQWlFLGFBQWEsQ0FBQyxJQUFJLFlBQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFVLENBQUMsQ0FBQzthQUNySjtZQUVELElBQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNILG1CQUFDO0lBQUQsQ0FBQyxBQTFCRCxDQUFrQywwQkFBVyxHQTBCNUM7SUExQlksb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCBNYWdpY1N0cmluZyBmcm9tICdtYWdpYy1zdHJpbmcnO1xuaW1wb3J0IHtnZXRJaWZlQm9keX0gZnJvbSAnLi4vaG9zdC9lc201X2hvc3QnO1xuaW1wb3J0IHtOZ2NjUmVmbGVjdGlvbkhvc3R9IGZyb20gJy4uL2hvc3QvbmdjY19ob3N0JztcbmltcG9ydCB7Q29tcGlsZWRDbGFzc30gZnJvbSAnLi4vYW5hbHlzaXMvZGVjb3JhdGlvbl9hbmFseXplcic7XG5pbXBvcnQge0VzbVJlbmRlcmVyfSBmcm9tICcuL2VzbV9yZW5kZXJlcic7XG5pbXBvcnQge0VudHJ5UG9pbnRCdW5kbGV9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50X2J1bmRsZSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXInO1xuXG5leHBvcnQgY2xhc3MgRXNtNVJlbmRlcmVyIGV4dGVuZHMgRXNtUmVuZGVyZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIGxvZ2dlcjogTG9nZ2VyLCBob3N0OiBOZ2NjUmVmbGVjdGlvbkhvc3QsIGlzQ29yZTogYm9vbGVhbiwgYnVuZGxlOiBFbnRyeVBvaW50QnVuZGxlLFxuICAgICAgc291cmNlUGF0aDogc3RyaW5nKSB7XG4gICAgc3VwZXIobG9nZ2VyLCBob3N0LCBpc0NvcmUsIGJ1bmRsZSwgc291cmNlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRoZSBkZWZpbml0aW9ucyB0byBlYWNoIGRlY29yYXRlZCBjbGFzc1xuICAgKi9cbiAgYWRkRGVmaW5pdGlvbnMob3V0cHV0OiBNYWdpY1N0cmluZywgY29tcGlsZWRDbGFzczogQ29tcGlsZWRDbGFzcywgZGVmaW5pdGlvbnM6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGlpZmVCb2R5ID0gZ2V0SWlmZUJvZHkoY29tcGlsZWRDbGFzcy5kZWNsYXJhdGlvbik7XG4gICAgaWYgKCFpaWZlQm9keSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDb21waWxlZCBjbGFzcyBkZWNsYXJhdGlvbiBpcyBub3QgaW5zaWRlIGFuIElJRkU6ICR7Y29tcGlsZWRDbGFzcy5uYW1lfSBpbiAke2NvbXBpbGVkQ2xhc3MuZGVjbGFyYXRpb24uZ2V0U291cmNlRmlsZSgpLmZpbGVOYW1lfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJldHVyblN0YXRlbWVudCA9IGlpZmVCb2R5LnN0YXRlbWVudHMuZmluZCh0cy5pc1JldHVyblN0YXRlbWVudCk7XG4gICAgaWYgKCFyZXR1cm5TdGF0ZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ29tcGlsZWQgY2xhc3Mgd3JhcHBlciBJSUZFIGRvZXMgbm90IGhhdmUgYSByZXR1cm4gc3RhdGVtZW50OiAke2NvbXBpbGVkQ2xhc3MubmFtZX0gaW4gJHtjb21waWxlZENsYXNzLmRlY2xhcmF0aW9uLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnNlcnRpb25Qb2ludCA9IHJldHVyblN0YXRlbWVudC5nZXRGdWxsU3RhcnQoKTtcbiAgICBvdXRwdXQuYXBwZW5kTGVmdChpbnNlcnRpb25Qb2ludCwgJ1xcbicgKyBkZWZpbml0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- /// <amd-module name="@angular/compiler-cli/ngcc/src/rendering/esm_renderer" />
2
- import MagicString from 'magic-string';
3
- import * as ts from 'typescript';
4
- import { NgccReflectionHost, SwitchableVariableDeclaration } from '../host/ngcc_host';
5
- import { CompiledClass } from '../analysis/decoration_analyzer';
6
- import { RedundantDecoratorMap, Renderer } from './renderer';
7
- import { EntryPointBundle } from '../packages/entry_point_bundle';
8
- import { ExportInfo } from '../analysis/private_declarations_analyzer';
9
- import { Logger } from '../logging/logger';
10
- export declare class EsmRenderer extends Renderer {
11
- constructor(logger: Logger, host: NgccReflectionHost, isCore: boolean, bundle: EntryPointBundle, sourcePath: string);
12
- /**
13
- * Add the imports at the top of the file
14
- */
15
- addImports(output: MagicString, imports: {
16
- specifier: string;
17
- qualifier: string;
18
- }[], sf: ts.SourceFile): void;
19
- addExports(output: MagicString, entryPointBasePath: string, exports: ExportInfo[]): void;
20
- addConstants(output: MagicString, constants: string, file: ts.SourceFile): void;
21
- /**
22
- * Add the definitions to each decorated class
23
- */
24
- addDefinitions(output: MagicString, compiledClass: CompiledClass, definitions: string): void;
25
- /**
26
- * Remove static decorator properties from classes
27
- */
28
- removeDecorators(output: MagicString, decoratorsToRemove: RedundantDecoratorMap): void;
29
- rewriteSwitchableDeclarations(outputText: MagicString, sourceFile: ts.SourceFile, declarations: SwitchableVariableDeclaration[]): void;
30
- }
@@ -1,141 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/rendering/esm_renderer", ["require", "exports", "tslib", "canonical-path", "typescript", "@angular/compiler-cli/ngcc/src/host/ngcc_host", "@angular/compiler-cli/ngcc/src/rendering/renderer", "@angular/compiler-cli/src/ngtsc/util/src/typescript"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- var tslib_1 = require("tslib");
13
- /**
14
- * @license
15
- * Copyright Google Inc. All Rights Reserved.
16
- *
17
- * Use of this source code is governed by an MIT-style license that can be
18
- * found in the LICENSE file at https://angular.io/license
19
- */
20
- var canonical_path_1 = require("canonical-path");
21
- var ts = require("typescript");
22
- var ngcc_host_1 = require("@angular/compiler-cli/ngcc/src/host/ngcc_host");
23
- var renderer_1 = require("@angular/compiler-cli/ngcc/src/rendering/renderer");
24
- var typescript_1 = require("@angular/compiler-cli/src/ngtsc/util/src/typescript");
25
- var EsmRenderer = /** @class */ (function (_super) {
26
- tslib_1.__extends(EsmRenderer, _super);
27
- function EsmRenderer(logger, host, isCore, bundle, sourcePath) {
28
- return _super.call(this, logger, host, isCore, bundle, sourcePath) || this;
29
- }
30
- /**
31
- * Add the imports at the top of the file
32
- */
33
- EsmRenderer.prototype.addImports = function (output, imports, sf) {
34
- var insertionPoint = findEndOfImports(sf);
35
- var renderedImports = imports.map(function (i) { return "import * as " + i.qualifier + " from '" + i.specifier + "';\n"; }).join('');
36
- output.appendLeft(insertionPoint, renderedImports);
37
- };
38
- EsmRenderer.prototype.addExports = function (output, entryPointBasePath, exports) {
39
- exports.forEach(function (e) {
40
- var exportFrom = '';
41
- var isDtsFile = typescript_1.isDtsPath(entryPointBasePath);
42
- var from = isDtsFile ? e.dtsFrom : e.from;
43
- if (from) {
44
- var basePath = renderer_1.stripExtension(from);
45
- var relativePath = './' + canonical_path_1.relative(canonical_path_1.dirname(entryPointBasePath), basePath);
46
- exportFrom = entryPointBasePath !== basePath ? " from '" + relativePath + "'" : '';
47
- }
48
- // aliases should only be added in dts files as these are lost when rolling up dts file.
49
- var exportStatement = e.alias && isDtsFile ? e.alias + " as " + e.identifier : e.identifier;
50
- var exportStr = "\nexport {" + exportStatement + "}" + exportFrom + ";";
51
- output.append(exportStr);
52
- });
53
- };
54
- EsmRenderer.prototype.addConstants = function (output, constants, file) {
55
- if (constants === '') {
56
- return;
57
- }
58
- var insertionPoint = findEndOfImports(file);
59
- // Append the constants to the right of the insertion point, to ensure they get ordered after
60
- // added imports (those are appended left to the insertion point).
61
- output.appendRight(insertionPoint, '\n' + constants + '\n');
62
- };
63
- /**
64
- * Add the definitions to each decorated class
65
- */
66
- EsmRenderer.prototype.addDefinitions = function (output, compiledClass, definitions) {
67
- var classSymbol = this.host.getClassSymbol(compiledClass.declaration);
68
- if (!classSymbol) {
69
- throw new Error("Compiled class does not have a valid symbol: " + compiledClass.name);
70
- }
71
- var insertionPoint = classSymbol.valueDeclaration.getEnd();
72
- output.appendLeft(insertionPoint, '\n' + definitions);
73
- };
74
- /**
75
- * Remove static decorator properties from classes
76
- */
77
- EsmRenderer.prototype.removeDecorators = function (output, decoratorsToRemove) {
78
- decoratorsToRemove.forEach(function (nodesToRemove, containerNode) {
79
- if (ts.isArrayLiteralExpression(containerNode)) {
80
- var items = containerNode.elements;
81
- if (items.length === nodesToRemove.length) {
82
- // Remove the entire statement
83
- var statement = findStatement(containerNode);
84
- if (statement) {
85
- output.remove(statement.getFullStart(), statement.getEnd());
86
- }
87
- }
88
- else {
89
- nodesToRemove.forEach(function (node) {
90
- // remove any trailing comma
91
- var end = (output.slice(node.getEnd(), node.getEnd() + 1) === ',') ?
92
- node.getEnd() + 1 :
93
- node.getEnd();
94
- output.remove(node.getFullStart(), end);
95
- });
96
- }
97
- }
98
- });
99
- };
100
- EsmRenderer.prototype.rewriteSwitchableDeclarations = function (outputText, sourceFile, declarations) {
101
- declarations.forEach(function (declaration) {
102
- var start = declaration.initializer.getStart();
103
- var end = declaration.initializer.getEnd();
104
- var replacement = declaration.initializer.text.replace(ngcc_host_1.PRE_R3_MARKER, ngcc_host_1.POST_R3_MARKER);
105
- outputText.overwrite(start, end, replacement);
106
- });
107
- };
108
- return EsmRenderer;
109
- }(renderer_1.Renderer));
110
- exports.EsmRenderer = EsmRenderer;
111
- function findEndOfImports(sf) {
112
- var e_1, _a;
113
- try {
114
- for (var _b = tslib_1.__values(sf.statements), _c = _b.next(); !_c.done; _c = _b.next()) {
115
- var stmt = _c.value;
116
- if (!ts.isImportDeclaration(stmt) && !ts.isImportEqualsDeclaration(stmt) &&
117
- !ts.isNamespaceImport(stmt)) {
118
- return stmt.getStart();
119
- }
120
- }
121
- }
122
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
123
- finally {
124
- try {
125
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
126
- }
127
- finally { if (e_1) throw e_1.error; }
128
- }
129
- return 0;
130
- }
131
- function findStatement(node) {
132
- while (node) {
133
- if (ts.isExpressionStatement(node)) {
134
- return node;
135
- }
136
- node = node.parent;
137
- }
138
- return undefined;
139
- }
140
- });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNtX3JlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2Mvc3JjL3JlbmRlcmluZy9lc21fcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsaURBQWlEO0lBRWpELCtCQUFpQztJQUNqQywyRUFBbUg7SUFFbkgsOEVBQTJFO0lBRzNFLGtGQUFpRTtJQUdqRTtRQUFpQyx1Q0FBUTtRQUN2QyxxQkFDSSxNQUFjLEVBQUUsSUFBd0IsRUFBRSxNQUFlLEVBQUUsTUFBd0IsRUFDbkYsVUFBa0I7bUJBQ3BCLGtCQUFNLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7UUFDakQsQ0FBQztRQUVEOztXQUVHO1FBQ0gsZ0NBQVUsR0FBVixVQUNJLE1BQW1CLEVBQUUsT0FBa0QsRUFDdkUsRUFBaUI7WUFDbkIsSUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsSUFBTSxlQUFlLEdBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxpQkFBZSxDQUFDLENBQUMsU0FBUyxlQUFVLENBQUMsQ0FBQyxTQUFTLFNBQU0sRUFBckQsQ0FBcUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRixNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsZ0NBQVUsR0FBVixVQUFXLE1BQW1CLEVBQUUsa0JBQTBCLEVBQUUsT0FBcUI7WUFDL0UsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUM7Z0JBQ2YsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFNLFNBQVMsR0FBRyxzQkFBUyxDQUFDLGtCQUFrQixD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RSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3hCO2FBQ0Y7Ozs7Ozs7OztRQUVELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFNBQVMsYUFBYSxDQUFDLElBQWE7UUFDbEMsT0FBTyxJQUFJLEVBQUU7WUFDWCxJQUFJLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7ZGlybmFtZSwgcmVsYXRpdmV9IGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcbmltcG9ydCBNYWdpY1N0cmluZyBmcm9tICdtYWdpYy1zdHJpbmcnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge05nY2NSZWZsZWN0aW9uSG9zdCwgUE9TVF9SM19NQVJLRVIsIFBSRV9SM19NQVJLRVIsIFN3aXRjaGFibGVWYXJpYWJsZURlY2xhcmF0aW9ufSBmcm9tICcuLi9ob3N0L25nY2NfaG9zdCc7XG5pbXBvcnQge0NvbXBpbGVkQ2xhc3N9IGZyb20gJy4uL2FuYWx5c2lzL2RlY29yYXRpb25fYW5hbHl6ZXInO1xuaW1wb3J0IHtSZWR1bmRhbnREZWNvcmF0b3JNYXAsIFJlbmRlcmVyLCBzdHJpcEV4dGVuc2lvbn0gZnJvbSAnLi9yZW5kZXJlcic7XG5pbXBvcnQge0VudHJ5UG9pbnRCdW5kbGV9IGZyb20gJy4uL3BhY2thZ2VzL2VudHJ5X3BvaW50X2J1bmRsZSc7XG5pbXBvcnQge0V4cG9ydEluZm99IGZyb20gJy4uL2FuYWx5c2lzL3ByaXZhdGVfZGVjbGFyYXRpb25zX2FuYWx5emVyJztcbmltcG9ydCB7aXNEdHNQYXRofSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvdXRpbC9zcmMvdHlwZXNjcmlwdCc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXInO1xuXG5leHBvcnQgY2xhc3MgRXNtUmVuZGVyZXIgZXh0ZW5kcyBSZW5kZXJlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgbG9nZ2VyOiBMb2dnZXIsIGhvc3Q6IE5nY2NSZWZsZWN0aW9uSG9zdCwgaXNDb3JlOiBib29sZWFuLCBidW5kbGU6IEVudHJ5UG9pbnRCdW5kbGUsXG4gICAgICBzb3VyY2VQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihsb2dnZXIsIGhvc3QsIGlzQ29yZSwgYnVuZGxlLCBzb3VyY2VQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQWRkIHRoZSBpbXBvcnRzIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGVcbiAgICovXG4gIGFkZEltcG9ydHMoXG4gICAgICBvdXRwdXQ6IE1hZ2ljU3RyaW5nLCBpbXBvcnRzOiB7c3BlY2lmaWVyOiBzdHJpbmc7IHF1YWxpZmllcjogc3RyaW5nO31bXSxcbiAgICAgIHNmOiB0cy5Tb3VyY2VGaWxlKTogdm9pZCB7XG4gICAgY29uc3QgaW5zZXJ0aW9uUG9pbnQgPSBmaW5kRW5kT2ZJbXBvcnRzKHNmKTtcbiAgICBjb25zdCByZW5kZXJlZEltcG9ydHMgPVxuICAgICAgICBpbXBvcnRzLm1hcChpID0+IGBpbXBvcnQgKiBhcyAke2kucXVhbGlmaWVyfSBmcm9tICcke2kuc3BlY2lmaWVyfSc7XFxuYCkuam9pbignJyk7XG4gICAgb3V0cHV0LmFwcGVuZExlZnQoaW5zZXJ0aW9uUG9pbnQsIHJlbmRlcmVkSW1wb3J0cyk7XG4gIH1cblxuICBhZGRFeHBvcnRzKG91dHB1dDogTWFnaWNTdHJpbmcsIGVudHJ5UG9pbnRCYXNlUGF0aDogc3RyaW5nLCBleHBvcnRzOiBFeHBvcnRJbmZvW10pOiB2b2lkIHtcbiAgICBleHBvcnRzLmZvckVhY2goZSA9PiB7XG4gICAgICBsZXQgZXhwb3J0RnJvbSA9ICcnO1xuICAgICAgY29uc3QgaXNEdHNGaWxlID0gaXNEdHNQYXRoKGVudHJ5UG9pbnRCYXNlUGF0aCk7XG4gICAgICBjb25zdCBmcm9tID0gaXNEdHNGaWxlID8gZS5kdHNGcm9tIDogZS5mcm9tO1xuXG4gICAgICBpZiAoZnJvbSkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aCA9IHN0cmlwRXh0ZW5zaW9uKGZyb20pO1xuICAgICAgICBjb25zdCByZWxhdGl2ZVBhdGggPSAnLi8nICsgcmVsYXRpdmUoZGlybmFtZShlbnRyeVBvaW50QmFzZVBhdGgpLCBiYXNlUGF0aCk7XG4gICAgICAgIGV4cG9ydEZyb20gPSBlbnRyeVBvaW50QmFzZVBhdGggIT09IGJhc2VQYXRoID8gYCBmcm9tICcke3JlbGF0aXZlUGF0aH0nYCA6ICcnO1xuICAgICAgfVxuXG4gICAgICAvLyBhbGlhc2VzIHNob3VsZCBvbmx5IGJlIGFkZGVkIGluIGR0cyBmaWxlcyBhcyB0aGVzZSBhcmUgbG9zdCB3aGVuIHJvbGxpbmcgdXAgZHRzIGZpbGUuXG4gICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBlLmFsaWFzICYmIGlzRHRzRmlsZSA/IGAke2UuYWxpYXN9IGFzICR7ZS5pZGVudGlmaWVyfWAgOiBlLmlkZW50aWZpZXI7XG4gICAgICBjb25zdCBleHBvcnRTdHIgPSBgXFxuZXhwb3J0IHske2V4cG9ydFN0YXRlbWVudH19JHtleHBvcnRGcm9tfTtgO1xuICAgICAgb3V0cHV0LmFwcGVuZChleHBvcnRTdHIpO1xuICAgIH0pO1xuICB9XG5cbiAgYWRkQ29uc3RhbnRzKG91dHB1dDogTWFnaWNTdHJpbmcsIGNvbnN0YW50czogc3RyaW5nLCBmaWxlOiB0cy5Tb3VyY2VGaWxlKTogdm9pZCB7XG4gICAgaWYgKGNvbnN0YW50cyA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW5zZXJ0aW9uUG9pbnQgPSBmaW5kRW5kT2ZJbXBvcnRzKGZpbGUpO1xuXG4gICAgLy8gQXBwZW5kIHRoZSBjb25zdGFudHMgdG8gdGhlIHJpZ2h0IG9mIHRoZSBpbnNlcnRpb24gcG9pbnQsIHRvIGVuc3VyZSB0aGV5IGdldCBvcmRlcmVkIGFmdGVyXG4gICAgLy8gYWRkZWQgaW1wb3J0cyAodGhvc2UgYXJlIGFwcGVuZGVkIGxlZnQgdG8gdGhlIGluc2VydGlvbiBwb2ludCkuXG4gICAgb3V0cHV0LmFwcGVuZFJpZ2h0KGluc2VydGlvblBvaW50LCAnXFxuJyArIGNvbnN0YW50cyArICdcXG4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIGRlZmluaXRpb25zIHRvIGVhY2ggZGVjb3JhdGVkIGNsYXNzXG4gICAqL1xuICBhZGREZWZpbml0aW9ucyhvdXRwdXQ6IE1hZ2ljU3RyaW5nLCBjb21waWxlZENsYXNzOiBDb21waWxlZENsYXNzLCBkZWZpbml0aW9uczogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2xhc3NTeW1ib2wgPSB0aGlzLmhvc3QuZ2V0Q2xhc3NTeW1ib2woY29tcGlsZWRDbGFzcy5kZWNsYXJhdGlvbik7XG4gICAgaWYgKCFjbGFzc1N5bWJvbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21waWxlZCBjbGFzcyBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgc3ltYm9sOiAke2NvbXBpbGVkQ2xhc3MubmFtZX1gKTtcbiAgICB9XG4gICAgY29uc3QgaW5zZXJ0aW9uUG9pbnQgPSBjbGFzc1N5bWJvbC52YWx1ZURlY2xhcmF0aW9uICEuZ2V0RW5kKCk7XG4gICAgb3V0cHV0LmFwcGVuZExlZnQoaW5zZXJ0aW9uUG9pbnQsICdcXG4nICsgZGVmaW5pdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBzdGF0aWMgZGVjb3JhdG9yIHByb3BlcnRpZXMgZnJvbSBjbGFzc2VzXG4gICAqL1xuICByZW1vdmVEZWNvcmF0b3JzKG91dHB1dDogTWFnaWNTdHJpbmcsIGRlY29yYXRvcnNUb1JlbW92ZTogUmVkdW5kYW50RGVjb3JhdG9yTWFwKTogdm9pZCB7XG4gICAgZGVjb3JhdG9yc1RvUmVtb3ZlLmZvckVhY2goKG5vZGVzVG9SZW1vdmUsIGNvbnRhaW5lck5vZGUpID0+IHtcbiAgICAgIGlmICh0cy5pc0FycmF5TGl0ZXJhbEV4cHJlc3Npb24oY29udGFpbmVyTm9kZSkpIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBjb250YWluZXJOb2RlLmVsZW1lbnRzO1xuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSBub2Rlc1RvUmVtb3ZlLmxlbmd0aCkge1xuICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZW50aXJlIHN0YXRlbWVudFxuICAgICAgICAgIGNvbnN0IHN0YXRlbWVudCA9IGZpbmRTdGF0ZW1lbnQoY29udGFpbmVyTm9kZSk7XG4gICAgICAgICAgaWYgKHN0YXRlbWVudCkge1xuICAgICAgICAgICAgb3V0cHV0LnJlbW92ZShzdGF0ZW1lbnQuZ2V0RnVsbFN0YXJ0KCksIHN0YXRlbWVudC5nZXRFbmQoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGVzVG9SZW1vdmUuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgIC8vIHJlbW92ZSBhbnkgdHJhaWxpbmcgY29tbWFcbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IChvdXRwdXQuc2xpY2Uobm9kZS5nZXRFbmQoKSwgbm9kZS5nZXRFbmQoKSArIDEpID09PSAnLCcpID9cbiAgICAgICAgICAgICAgICBub2RlLmdldEVuZCgpICsgMSA6XG4gICAgICAgICAgICAgICAgbm9kZS5nZXRFbmQoKTtcbiAgICAgICAgICAgIG91dHB1dC5yZW1vdmUobm9kZS5nZXRGdWxsU3RhcnQoKSwgZW5kKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV3cml0ZVN3aXRjaGFibGVEZWNsYXJhdGlvbnMoXG4gICAgICBvdXRwdXRUZXh0OiBNYWdpY1N0cmluZywgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSxcbiAgICAgIGRlY2xhcmF0aW9uczogU3dpdGNoYWJsZVZhcmlhYmxlRGVjbGFyYXRpb25bXSk6IHZvaWQge1xuICAgIGRlY2xhcmF0aW9ucy5mb3JFYWNoKGRlY2xhcmF0aW9uID0+IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gZGVjbGFyYXRpb24uaW5pdGlhbGl6ZXIuZ2V0U3RhcnQoKTtcbiAgICAgIGNvbnN0IGVuZCA9IGRlY2xhcmF0aW9uLmluaXRpYWxpemVyLmdldEVuZCgpO1xuICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBkZWNsYXJhdGlvbi5pbml0aWFsaXplci50ZXh0LnJlcGxhY2UoUFJFX1IzX01BUktFUiwgUE9TVF9SM19NQVJLRVIpO1xuICAgICAgb3V0cHV0VGV4dC5vdmVyd3JpdGUoc3RhcnQsIGVuZCwgcmVwbGFjZW1lbnQpO1xuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRFbmRPZkltcG9ydHMoc2Y6IHRzLlNvdXJjZUZpbGUpOiBudW1iZXIge1xuICBmb3IgKGNvbnN0IHN0bXQgb2Ygc2Yuc3RhdGVtZW50cykge1xuICAgIGlmICghdHMuaXNJbXBvcnREZWNsYXJhdGlvbihzdG10KSAmJiAhdHMuaXNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihzdG10KSAmJlxuICAgICAgICAhdHMuaXNOYW1lc3BhY2VJbXBvcnQoc3RtdCkpIHtcbiAgICAgIHJldHVybiBzdG10LmdldFN0YXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbmZ1bmN0aW9uIGZpbmRTdGF0ZW1lbnQobm9kZTogdHMuTm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmICh0cy5pc0V4cHJlc3Npb25TdGF0ZW1lbnQobm9kZSkpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICBub2RlID0gbm9kZS5wYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==