@angular/compiler-cli 10.1.0-rc.0 → 10.1.3
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.
- package/ngcc/src/execution/create_compile_function.js +6 -3
- package/ngcc/src/host/esm2015_host.d.ts +18 -0
- package/ngcc/src/host/esm2015_host.js +53 -31
- package/ngcc/src/main.js +9 -12
- package/ngcc/src/ngcc_options.d.ts +8 -7
- package/ngcc/src/ngcc_options.js +27 -3
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/build_marker.js +1 -1
- package/ngcc/src/packages/entry_point_bundle.d.ts +12 -1
- package/ngcc/src/packages/entry_point_bundle.js +9 -6
- package/ngcc/src/packages/ngcc_compiler_host.d.ts +16 -1
- package/ngcc/src/packages/ngcc_compiler_host.js +35 -5
- package/ngcc/src/packages/source_file_cache.d.ts +97 -0
- package/ngcc/src/packages/source_file_cache.js +207 -0
- package/ngcc/src/rendering/renderer.js +9 -10
- package/package.json +2 -2
- package/src/ngtsc/annotations/src/component.d.ts +4 -1
- package/src/ngtsc/annotations/src/component.js +94 -122
- package/src/ngtsc/annotations/src/directive.d.ts +5 -1
- package/src/ngtsc/annotations/src/directive.js +21 -11
- package/src/ngtsc/annotations/src/typecheck_scopes.d.ts +56 -0
- package/src/ngtsc/annotations/src/typecheck_scopes.js +109 -0
- package/src/ngtsc/annotations/src/util.js +4 -2
- package/src/ngtsc/core/src/compiler.js +4 -3
- package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
- package/src/ngtsc/diagnostics/src/error_code.js +5 -1
- package/src/ngtsc/file_system/src/invalid_file_system.d.ts +2 -2
- package/src/ngtsc/file_system/src/invalid_file_system.js +1 -1
- package/src/ngtsc/file_system/src/node_js_file_system.d.ts +2 -2
- package/src/ngtsc/file_system/src/node_js_file_system.js +1 -1
- package/src/ngtsc/file_system/src/types.d.ts +2 -2
- package/src/ngtsc/file_system/src/types.js +1 -1
- package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +3 -3
- package/src/ngtsc/file_system/testing/src/mock_file_system.js +2 -2
- package/src/ngtsc/indexer/src/template.js +10 -24
- package/src/ngtsc/metadata/index.d.ts +2 -0
- package/src/ngtsc/metadata/index.js +7 -3
- package/src/ngtsc/metadata/src/api.d.ts +13 -4
- package/src/ngtsc/metadata/src/api.js +1 -1
- package/src/ngtsc/metadata/src/dts.js +7 -4
- package/src/ngtsc/metadata/src/inheritance.d.ts +1 -1
- package/src/ngtsc/metadata/src/inheritance.js +10 -6
- package/src/ngtsc/metadata/src/property_mapping.d.ts +117 -0
- package/src/ngtsc/metadata/src/property_mapping.js +244 -0
- package/src/ngtsc/metadata/src/util.d.ts +2 -3
- package/src/ngtsc/metadata/src/util.js +9 -9
- package/src/ngtsc/modulewithproviders/src/scanner.js +2 -2
- package/src/ngtsc/reflection/src/host.d.ts +1 -1
- package/src/ngtsc/reflection/src/host.js +1 -1
- package/src/ngtsc/reflection/src/type_to_value.js +6 -2
- package/src/ngtsc/scope/src/local.d.ts +1 -0
- package/src/ngtsc/scope/src/local.js +2 -1
- package/src/ngtsc/translator/index.d.ts +1 -1
- package/src/ngtsc/translator/index.js +3 -2
- package/src/ngtsc/translator/src/translator.d.ts +8 -1
- package/src/ngtsc/translator/src/translator.js +185 -111
- package/src/ngtsc/typecheck/api/api.d.ts +3 -1
- package/src/ngtsc/typecheck/api/api.js +1 -1
- package/src/ngtsc/typecheck/diagnostics/index.d.ts +10 -0
- package/src/ngtsc/typecheck/diagnostics/index.js +23 -0
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +33 -0
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +114 -0
- package/src/ngtsc/typecheck/diagnostics/src/id.d.ts +11 -0
- package/src/ngtsc/typecheck/diagnostics/src/id.js +37 -0
- package/src/ngtsc/typecheck/index.d.ts +0 -1
- package/src/ngtsc/typecheck/index.js +3 -5
- package/src/ngtsc/typecheck/src/checker.js +1 -1
- package/src/ngtsc/typecheck/src/context.d.ts +1 -1
- package/src/ngtsc/typecheck/src/context.js +3 -3
- package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -22
- package/src/ngtsc/typecheck/src/diagnostics.js +5 -96
- package/src/ngtsc/typecheck/src/dom.d.ts +2 -1
- package/src/ngtsc/typecheck/src/dom.js +3 -3
- package/src/ngtsc/typecheck/src/environment.js +4 -4
- package/src/ngtsc/typecheck/src/oob.d.ts +2 -1
- package/src/ngtsc/typecheck/src/oob.js +3 -3
- package/src/ngtsc/typecheck/src/source.js +5 -18
- package/src/ngtsc/typecheck/src/type_check_block.js +49 -95
- package/src/transformers/node_emitter.d.ts +2 -8
- package/src/transformers/node_emitter.js +54 -68
- package/src/transformers/node_emitter_transform.js +8 -8
- package/src/transformers/util.d.ts +6 -0
- package/src/transformers/util.js +11 -2
- package/src/version.js +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/ngcc/src/execution/create_compile_function", ["require", "exports", "typescript", "@angular/compiler-cli/src/ngtsc/diagnostics", "@angular/compiler-cli/ngcc/src/packages/entry_point", "@angular/compiler-cli/ngcc/src/packages/entry_point_bundle"], factory);
|
|
7
|
+
define("@angular/compiler-cli/ngcc/src/execution/create_compile_function", ["require", "exports", "typescript", "@angular/compiler-cli/src/ngtsc/diagnostics", "@angular/compiler-cli/ngcc/src/packages/entry_point", "@angular/compiler-cli/ngcc/src/packages/entry_point_bundle", "@angular/compiler-cli/ngcc/src/packages/source_file_cache"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
var diagnostics_1 = require("@angular/compiler-cli/src/ngtsc/diagnostics");
|
|
22
22
|
var entry_point_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point");
|
|
23
23
|
var entry_point_bundle_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point_bundle");
|
|
24
|
+
var source_file_cache_1 = require("@angular/compiler-cli/ngcc/src/packages/source_file_cache");
|
|
24
25
|
/**
|
|
25
26
|
* The function for creating the `compile()` function.
|
|
26
27
|
*/
|
|
@@ -28,6 +29,8 @@
|
|
|
28
29
|
return function (beforeWritingFiles, onTaskCompleted) {
|
|
29
30
|
var Transformer = require('../packages/transformer').Transformer;
|
|
30
31
|
var transformer = new Transformer(fileSystem, logger, tsConfig);
|
|
32
|
+
var sharedFileCache = new source_file_cache_1.SharedFileCache(fileSystem);
|
|
33
|
+
var moduleResolutionCache = source_file_cache_1.createModuleResolutionCache(fileSystem);
|
|
31
34
|
return function (task) {
|
|
32
35
|
var entryPoint = task.entryPoint, formatProperty = task.formatProperty, formatPropertiesToMarkAsProcessed = task.formatPropertiesToMarkAsProcessed, processDts = task.processDts;
|
|
33
36
|
var isCore = entryPoint.name === '@angular/core'; // Are we compiling the Angular core?
|
|
@@ -45,7 +48,7 @@
|
|
|
45
48
|
(formatProperty + " (formatPath: " + formatPath + " | format: " + format + ")"));
|
|
46
49
|
}
|
|
47
50
|
logger.info("Compiling " + entryPoint.name + " : " + formatProperty + " as " + format);
|
|
48
|
-
var bundle = entry_point_bundle_1.makeEntryPointBundle(fileSystem, entryPoint, formatPath, isCore, format, processDts, pathMappings, true, enableI18nLegacyMessageIdFormat);
|
|
51
|
+
var bundle = entry_point_bundle_1.makeEntryPointBundle(fileSystem, entryPoint, sharedFileCache, moduleResolutionCache, formatPath, isCore, format, processDts, pathMappings, true, enableI18nLegacyMessageIdFormat);
|
|
49
52
|
var result = transformer.transform(bundle);
|
|
50
53
|
if (result.success) {
|
|
51
54
|
if (result.diagnostics.length > 0) {
|
|
@@ -70,4 +73,4 @@
|
|
|
70
73
|
}
|
|
71
74
|
exports.getCreateCompileFn = getCreateCompileFn;
|
|
72
75
|
});
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2NvbXBpbGVfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2NyZWF0ZV9jb21waWxlX2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILCtCQUFpQztJQUVqQywyRUFBdUU7SUFJdkUsbUZBQTREO0lBQzVELGlHQUFvRTtJQUNwRSwrRkFBMkY7SUFPM0Y7O09BRUc7SUFDSCxTQUFnQixrQkFBa0IsQ0FDOUIsVUFBc0IsRUFBRSxNQUFjLEVBQUUsVUFBc0IsRUFDOUQsK0JBQXdDLEVBQUUsUUFBa0MsRUFDNUUsWUFBb0M7UUFDdEMsT0FBTyxVQUFDLGtCQUFrQixFQUFFLGVBQWU7WUFDbEMsSUFBQSxXQUFXLEdBQUksT0FBTyxDQUFDLHlCQUF5QixDQUFDLFlBQXRDLENBQXVDO1lBQ3pELElBQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEUsSUFBTSxlQUFlLEdBQUcsSUFBSSxtQ0FBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQU0scUJBQXFCLEdBQUcsK0NBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEUsT0FBTyxVQUFDLElBQVU7Z0JBQ1QsSUFBQSxVQUFVLEdBQW1FLElBQUksV0FBdkUsRUFBRSxjQUFjLEdBQW1ELElBQUksZUFBdkQsRUFBRSxpQ0FBaUMsR0FBZ0IsSUFBSSxrQ0FBcEIsRUFBRSxVQUFVLEdBQUksSUFBSSxXQUFSLENBQVM7Z0JBRXpGLElBQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUUscUNBQXFDO2dCQUMxRixJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO2dCQUMzQyxJQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQy9DLElBQU0sTUFBTSxHQUFHLGlDQUFtQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBRTNFLDBGQUEwRjtnQkFDMUYsNkZBQTZGO2dCQUM3Riw2Q0FBNkM7Z0JBQzdDLHdGQUF3RjtnQkFDeEYsNERBQTREO2dCQUM1RCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUMxQiw0QkFBNEI7b0JBQzVCLE1BQU0sSUFBSSxLQUFLLENBQ1gsc0RBQW9ELFVBQVUsQ0FBQyxJQUFJLFFBQUs7eUJBQ3JFLGNBQWMsc0JBQWlCLFVBQVUsbUJBQWMsTUFBTSxNQUFHLENBQUEsQ0FBQyxDQUFDO2lCQUMxRTtnQkFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWEsVUFBVSxDQUFDLElBQUksV0FBTSxjQUFjLFlBQU8sTUFBUSxDQUFDLENBQUM7Z0JBRTdFLElBQU0sTUFBTSxHQUFHLHlDQUFvQixDQUMvQixVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUNsRixNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsK0JBQStCLENBQUMsQ0FBQztnQkFFN0UsSUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNsQixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBdUIsQ0FDL0IsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BGO29CQUVELElBQU0sV0FBVyxHQUFHO3dCQUNsQixVQUFVLENBQUMsV0FBVyxDQUNsQixNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGlDQUFpQyxDQUFDLENBQUM7d0JBRXhFLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTJCLFVBQVUsQ0FBQyxJQUFJLFdBQU0sY0FBZ0IsQ0FBQyxDQUFDO3dCQUMvRSxlQUFlLENBQUMsSUFBSSxxQkFBbUMsSUFBSSxDQUFDLENBQUM7b0JBQy9ELENBQUMsQ0FBQztvQkFFRixJQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUV4RSxPQUFPLENBQUMsbUJBQW1CLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQzt3QkFDN0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBMEMsQ0FBQSxDQUFDO3dCQUMvRSxXQUFXLEVBQUUsQ0FBQztpQkFDbkI7cUJBQU07b0JBQ0wsSUFBTSxNQUFNLEdBQUcscUNBQXVCLENBQ2xDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDbEYsZUFBZSxDQUFDLElBQUksa0JBQWdDLDBCQUF3QixNQUFRLENBQUMsQ0FBQztpQkFDdkY7WUFDSCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBL0RELGdEQStEQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtyZXBsYWNlVHNXaXRoTmdJbkVycm9yc30gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2RpYWdub3N0aWNzJztcbmltcG9ydCB7RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge1BhcnNlZENvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uLy4uL3NyYy9wZXJmb3JtX2NvbXBpbGUnO1xuaW1wb3J0IHtnZXRFbnRyeVBvaW50Rm9ybWF0fSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludCc7XG5pbXBvcnQge21ha2VFbnRyeVBvaW50QnVuZGxlfSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludF9idW5kbGUnO1xuaW1wb3J0IHtjcmVhdGVNb2R1bGVSZXNvbHV0aW9uQ2FjaGUsIFNoYXJlZEZpbGVDYWNoZX0gZnJvbSAnLi4vcGFja2FnZXMvc291cmNlX2ZpbGVfY2FjaGUnO1xuaW1wb3J0IHtQYXRoTWFwcGluZ3N9IGZyb20gJy4uL3BhdGhfbWFwcGluZ3MnO1xuaW1wb3J0IHtGaWxlV3JpdGVyfSBmcm9tICcuLi93cml0aW5nL2ZpbGVfd3JpdGVyJztcblxuaW1wb3J0IHtDcmVhdGVDb21waWxlRm59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7VGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lfSBmcm9tICcuL3Rhc2tzL2FwaSc7XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyB0aGUgYGNvbXBpbGUoKWAgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDcmVhdGVDb21waWxlRm4oXG4gICAgZmlsZVN5c3RlbTogRmlsZVN5c3RlbSwgbG9nZ2VyOiBMb2dnZXIsIGZpbGVXcml0ZXI6IEZpbGVXcml0ZXIsXG4gICAgZW5hYmxlSTE4bkxlZ2FjeU1lc3NhZ2VJZEZvcm1hdDogYm9vbGVhbiwgdHNDb25maWc6IFBhcnNlZENvbmZpZ3VyYXRpb258bnVsbCxcbiAgICBwYXRoTWFwcGluZ3M6IFBhdGhNYXBwaW5nc3x1bmRlZmluZWQpOiBDcmVhdGVDb21waWxlRm4ge1xuICByZXR1cm4gKGJlZm9yZVdyaXRpbmdGaWxlcywgb25UYXNrQ29tcGxldGVkKSA9PiB7XG4gICAgY29uc3Qge1RyYW5zZm9ybWVyfSA9IHJlcXVpcmUoJy4uL3BhY2thZ2VzL3RyYW5zZm9ybWVyJyk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSBuZXcgVHJhbnNmb3JtZXIoZmlsZVN5c3RlbSwgbG9nZ2VyLCB0c0NvbmZpZyk7XG4gICAgY29uc3Qgc2hhcmVkRmlsZUNhY2hlID0gbmV3IFNoYXJlZEZpbGVDYWNoZShmaWxlU3lzdGVtKTtcbiAgICBjb25zdCBtb2R1bGVSZXNvbHV0aW9uQ2FjaGUgPSBjcmVhdGVNb2R1bGVSZXNvbHV0aW9uQ2FjaGUoZmlsZVN5c3RlbSk7XG5cbiAgICByZXR1cm4gKHRhc2s6IFRhc2spID0+IHtcbiAgICAgIGNvbnN0IHtlbnRyeVBvaW50LCBmb3JtYXRQcm9wZXJ0eSwgZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkLCBwcm9jZXNzRHRzfSA9IHRhc2s7XG5cbiAgICAgIGNvbnN0IGlzQ29yZSA9IGVudHJ5UG9pbnQubmFtZSA9PT0gJ0Bhbmd1bGFyL2NvcmUnOyAgLy8gQXJlIHdlIGNvbXBpbGluZyB0aGUgQW5ndWxhciBjb3JlP1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSBlbnRyeVBvaW50LnBhY2thZ2VKc29uO1xuICAgICAgY29uc3QgZm9ybWF0UGF0aCA9IHBhY2thZ2VKc29uW2Zvcm1hdFByb3BlcnR5XTtcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEVudHJ5UG9pbnRGb3JtYXQoZmlsZVN5c3RlbSwgZW50cnlQb2ludCwgZm9ybWF0UHJvcGVydHkpO1xuXG4gICAgICAvLyBBbGwgcHJvcGVydGllcyBsaXN0ZWQgaW4gYHByb3BlcnRpZXNUb1Byb2Nlc3NgIGFyZSBndWFyYW50ZWVkIHRvIHBvaW50IHRvIGEgZm9ybWF0LXBhdGhcbiAgICAgIC8vIChpLmUuIHRoZXkgYXJlIGRlZmluZWQgaW4gYGVudHJ5UG9pbnQucGFja2FnZUpzb25gKS4gRnVydGhlcm1vcmUsIHRoZXkgYXJlIGFsc28gZ3VhcmFudGVlZFxuICAgICAgLy8gdG8gYmUgYW1vbmcgYFNVUFBPUlRFRF9GT1JNQVRfUFJPUEVSVElFU2AuXG4gICAgICAvLyBCYXNlZCBvbiB0aGUgYWJvdmUsIGBmb3JtYXRQYXRoYCBzaG91bGQgYWx3YXlzIGJlIGRlZmluZWQgYW5kIGBnZXRFbnRyeVBvaW50Rm9ybWF0KClgXG4gICAgICAvLyBzaG91bGQgYWx3YXlzIHJldHVybiBhIGZvcm1hdCBoZXJlIChhbmQgbm90IGB1bmRlZmluZWRgKS5cbiAgICAgIGlmICghZm9ybWF0UGF0aCB8fCAhZm9ybWF0KSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEludmFyaWFudCB2aW9sYXRlZDogTm8gZm9ybWF0LXBhdGggb3IgZm9ybWF0IGZvciAke2VudHJ5UG9pbnQucGF0aH0gOiBgICtcbiAgICAgICAgICAgIGAke2Zvcm1hdFByb3BlcnR5fSAoZm9ybWF0UGF0aDogJHtmb3JtYXRQYXRofSB8IGZvcm1hdDogJHtmb3JtYXR9KWApO1xuICAgICAgfVxuXG4gICAgICBsb2dnZXIuaW5mbyhgQ29tcGlsaW5nICR7ZW50cnlQb2ludC5uYW1lfSA6ICR7Zm9ybWF0UHJvcGVydHl9IGFzICR7Zm9ybWF0fWApO1xuXG4gICAgICBjb25zdCBidW5kbGUgPSBtYWtlRW50cnlQb2ludEJ1bmRsZShcbiAgICAgICAgICBmaWxlU3lzdGVtLCBlbnRyeVBvaW50LCBzaGFyZWRGaWxlQ2FjaGUsIG1vZHVsZVJlc29sdXRpb25DYWNoZSwgZm9ybWF0UGF0aCwgaXNDb3JlLFxuICAgICAgICAgIGZvcm1hdCwgcHJvY2Vzc0R0cywgcGF0aE1hcHBpbmdzLCB0cnVlLCBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gdHJhbnNmb3JtZXIudHJhbnNmb3JtKGJ1bmRsZSk7XG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5kaWFnbm9zdGljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4ocmVwbGFjZVRzV2l0aE5nSW5FcnJvcnMoXG4gICAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyaXRlQnVuZGxlID0gKCkgPT4ge1xuICAgICAgICAgIGZpbGVXcml0ZXIud3JpdGVCdW5kbGUoXG4gICAgICAgICAgICAgIGJ1bmRsZSwgcmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMsIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCk7XG5cbiAgICAgICAgICBsb2dnZXIuZGVidWcoYCAgU3VjY2Vzc2Z1bGx5IGNvbXBpbGVkICR7ZW50cnlQb2ludC5uYW1lfSA6ICR7Zm9ybWF0UHJvcGVydHl9YCk7XG4gICAgICAgICAgb25UYXNrQ29tcGxldGVkKHRhc2ssIFRhc2tQcm9jZXNzaW5nT3V0Y29tZS5Qcm9jZXNzZWQsIG51bGwpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGJlZm9yZVdyaXRpbmdSZXN1bHQgPSBiZWZvcmVXcml0aW5nRmlsZXMocmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMpO1xuXG4gICAgICAgIHJldHVybiAoYmVmb3JlV3JpdGluZ1Jlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpID9cbiAgICAgICAgICAgIGJlZm9yZVdyaXRpbmdSZXN1bHQudGhlbih3cml0ZUJ1bmRsZSkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgYmVmb3JlV3JpdGluZ0ZpbGVzPjpcbiAgICAgICAgICAgIHdyaXRlQnVuZGxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSByZXBsYWNlVHNXaXRoTmdJbkVycm9ycyhcbiAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpO1xuICAgICAgICBvblRhc2tDb21wbGV0ZWQodGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lLkZhaWxlZCwgYGNvbXBpbGF0aW9uIGVycm9yczpcXG4ke2Vycm9yc31gKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuIl19
|
|
@@ -560,6 +560,24 @@ export declare class Esm2015ReflectionHost extends TypeScriptReflectionHost impl
|
|
|
560
560
|
* @returns an array of constructor parameter info objects.
|
|
561
561
|
*/
|
|
562
562
|
protected getConstructorParamInfo(classSymbol: NgccClassSymbol, parameterNodes: ts.ParameterDeclaration[]): CtorParameter[];
|
|
563
|
+
/**
|
|
564
|
+
* Compute the `TypeValueReference` for the given `typeExpression`.
|
|
565
|
+
*
|
|
566
|
+
* Although `typeExpression` is a valid `ts.Expression` that could be emitted directly into the
|
|
567
|
+
* generated code, ngcc still needs to resolve the declaration and create an `IMPORTED` type
|
|
568
|
+
* value reference as the compiler has specialized handling for some symbols, for example
|
|
569
|
+
* `ChangeDetectorRef` from `@angular/core`. Such an `IMPORTED` type value reference will result
|
|
570
|
+
* in a newly generated namespace import, instead of emitting the original `typeExpression` as is.
|
|
571
|
+
*/
|
|
572
|
+
private typeToValue;
|
|
573
|
+
/**
|
|
574
|
+
* Determines where the `expression` is imported from.
|
|
575
|
+
*
|
|
576
|
+
* @param expression the expression to determine the import details for.
|
|
577
|
+
* @returns the `Import` for the expression, or `null` if the expression is not imported or the
|
|
578
|
+
* expression syntax is not supported.
|
|
579
|
+
*/
|
|
580
|
+
private getImportOfExpression;
|
|
563
581
|
/**
|
|
564
582
|
* Get the parameter type and decorators for the constructor of a class,
|
|
565
583
|
* where the information is stored on a static property of the class.
|