UNPKG

@angular/compiler

Version:

Angular - the compiler library

59 lines 8.26 kB
/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ const STRIP_SRC_FILE_SUFFIXES = /(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/; const GENERATED_FILE = /\.ngfactory\.|\.ngsummary\./; const JIT_SUMMARY_FILE = /\.ngsummary\./; const JIT_SUMMARY_NAME = /NgSummary$/; export function ngfactoryFilePath(filePath, forceSourceFile = false) { const urlWithSuffix = splitTypescriptSuffix(filePath, forceSourceFile); return `${urlWithSuffix[0]}.ngfactory${normalizeGenFileSuffix(urlWithSuffix[1])}`; } export function stripGeneratedFileSuffix(filePath) { return filePath.replace(GENERATED_FILE, '.'); } export function isGeneratedFile(filePath) { return GENERATED_FILE.test(filePath); } export function splitTypescriptSuffix(path, forceSourceFile = false) { if (path.endsWith('.d.ts')) { return [path.slice(0, -5), forceSourceFile ? '.ts' : '.d.ts']; } const lastDot = path.lastIndexOf('.'); if (lastDot !== -1) { return [path.substring(0, lastDot), path.substring(lastDot)]; } return [path, '']; } export function normalizeGenFileSuffix(srcFileSuffix) { return srcFileSuffix === '.tsx' ? '.ts' : srcFileSuffix; } export function summaryFileName(fileName) { const fileNameWithoutSuffix = fileName.replace(STRIP_SRC_FILE_SUFFIXES, ''); return `${fileNameWithoutSuffix}.ngsummary.json`; } export function summaryForJitFileName(fileName, forceSourceFile = false) { const urlWithSuffix = splitTypescriptSuffix(stripGeneratedFileSuffix(fileName), forceSourceFile); return `${urlWithSuffix[0]}.ngsummary${urlWithSuffix[1]}`; } export function stripSummaryForJitFileSuffix(filePath) { return filePath.replace(JIT_SUMMARY_FILE, '.'); } export function summaryForJitName(symbolName) { return `${symbolName}NgSummary`; } export function stripSummaryForJitNameSuffix(symbolName) { return symbolName.replace(JIT_SUMMARY_NAME, ''); } const LOWERED_SYMBOL = /\u0275\d+/; export function isLoweredSymbol(name) { return LOWERED_SYMBOL.test(name); } export function createLoweredSymbol(id) { return `\u0275${id}`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy9hb3QvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLHVCQUF1QixHQUFHLGtDQUFrQyxDQUFDO0FBQ25FLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO0FBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0FBRXRDLE1BQU0sNEJBQTRCLFFBQWdCLEVBQUUsZUFBZSxHQUFHLEtBQUs7SUFDekUsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwRixDQUFDO0FBRUQsTUFBTSxtQ0FBbUMsUUFBZ0I7SUFDdkQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSwwQkFBMEIsUUFBZ0I7SUFDOUMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLGdDQUFnQyxJQUFZLEVBQUUsZUFBZSxHQUFHLEtBQUs7SUFDekUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMvRDtJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFdEMsSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUM5RDtJQUVELE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0saUNBQWlDLGFBQXFCO0lBQzFELE9BQU8sYUFBYSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sMEJBQTBCLFFBQWdCO0lBQzlDLE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RSxPQUFPLEdBQUcscUJBQXFCLGlCQUFpQixDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLGdDQUFnQyxRQUFnQixFQUFFLGVBQWUsR0FBRyxLQUFLO0lBQzdFLE1BQU0sYUFBYSxHQUFHLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2pHLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sdUNBQXVDLFFBQWdCO0lBQzNELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSw0QkFBNEIsVUFBa0I7SUFDbEQsT0FBTyxHQUFHLFVBQVUsV0FBVyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLHVDQUF1QyxVQUFrQjtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztBQUVuQyxNQUFNLDBCQUEwQixJQUFZO0lBQzFDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSw4QkFBOEIsRUFBVTtJQUM1QyxPQUFPLFNBQVMsRUFBRSxFQUFFLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuY29uc3QgU1RSSVBfU1JDX0ZJTEVfU1VGRklYRVMgPSAvKFxcLnRzfFxcLmRcXC50c3xcXC5qc3xcXC5qc3h8XFwudHN4KSQvO1xuY29uc3QgR0VORVJBVEVEX0ZJTEUgPSAvXFwubmdmYWN0b3J5XFwufFxcLm5nc3VtbWFyeVxcLi87XG5jb25zdCBKSVRfU1VNTUFSWV9GSUxFID0gL1xcLm5nc3VtbWFyeVxcLi87XG5jb25zdCBKSVRfU1VNTUFSWV9OQU1FID0gL05nU3VtbWFyeSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gbmdmYWN0b3J5RmlsZVBhdGgoZmlsZVBhdGg6IHN0cmluZywgZm9yY2VTb3VyY2VGaWxlID0gZmFsc2UpOiBzdHJpbmcge1xuICBjb25zdCB1cmxXaXRoU3VmZml4ID0gc3BsaXRUeXBlc2NyaXB0U3VmZml4KGZpbGVQYXRoLCBmb3JjZVNvdXJjZUZpbGUpO1xuICByZXR1cm4gYCR7dXJsV2l0aFN1ZmZpeFswXX0ubmdmYWN0b3J5JHtub3JtYWxpemVHZW5GaWxlU3VmZml4KHVybFdpdGhTdWZmaXhbMV0pfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcEdlbmVyYXRlZEZpbGVTdWZmaXgoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlUGF0aC5yZXBsYWNlKEdFTkVSQVRFRF9GSUxFLCAnLicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHZW5lcmF0ZWRGaWxlKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEdFTkVSQVRFRF9GSUxFLnRlc3QoZmlsZVBhdGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRUeXBlc2NyaXB0U3VmZml4KHBhdGg6IHN0cmluZywgZm9yY2VTb3VyY2VGaWxlID0gZmFsc2UpOiBzdHJpbmdbXSB7XG4gIGlmIChwYXRoLmVuZHNXaXRoKCcuZC50cycpKSB7XG4gICAgcmV0dXJuIFtwYXRoLnNsaWNlKDAsIC01KSwgZm9yY2VTb3VyY2VGaWxlID8gJy50cycgOiAnLmQudHMnXTtcbiAgfVxuXG4gIGNvbnN0IGxhc3REb3QgPSBwYXRoLmxhc3RJbmRleE9mKCcuJyk7XG5cbiAgaWYgKGxhc3REb3QgIT09IC0xKSB7XG4gICAgcmV0dXJuIFtwYXRoLnN1YnN0cmluZygwLCBsYXN0RG90KSwgcGF0aC5zdWJzdHJpbmcobGFzdERvdCldO1xuICB9XG5cbiAgcmV0dXJuIFtwYXRoLCAnJ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVHZW5GaWxlU3VmZml4KHNyY0ZpbGVTdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzcmNGaWxlU3VmZml4ID09PSAnLnRzeCcgPyAnLnRzJyA6IHNyY0ZpbGVTdWZmaXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdW1tYXJ5RmlsZU5hbWUoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGZpbGVOYW1lV2l0aG91dFN1ZmZpeCA9IGZpbGVOYW1lLnJlcGxhY2UoU1RSSVBfU1JDX0ZJTEVfU1VGRklYRVMsICcnKTtcbiAgcmV0dXJuIGAke2ZpbGVOYW1lV2l0aG91dFN1ZmZpeH0ubmdzdW1tYXJ5Lmpzb25gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VtbWFyeUZvckppdEZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcsIGZvcmNlU291cmNlRmlsZSA9IGZhbHNlKTogc3RyaW5nIHtcbiAgY29uc3QgdXJsV2l0aFN1ZmZpeCA9IHNwbGl0VHlwZXNjcmlwdFN1ZmZpeChzdHJpcEdlbmVyYXRlZEZpbGVTdWZmaXgoZmlsZU5hbWUpLCBmb3JjZVNvdXJjZUZpbGUpO1xuICByZXR1cm4gYCR7dXJsV2l0aFN1ZmZpeFswXX0ubmdzdW1tYXJ5JHt1cmxXaXRoU3VmZml4WzFdfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcFN1bW1hcnlGb3JKaXRGaWxlU3VmZml4KGZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZmlsZVBhdGgucmVwbGFjZShKSVRfU1VNTUFSWV9GSUxFLCAnLicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VtbWFyeUZvckppdE5hbWUoc3ltYm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3N5bWJvbE5hbWV9TmdTdW1tYXJ5YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwU3VtbWFyeUZvckppdE5hbWVTdWZmaXgoc3ltYm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN5bWJvbE5hbWUucmVwbGFjZShKSVRfU1VNTUFSWV9OQU1FLCAnJyk7XG59XG5cbmNvbnN0IExPV0VSRURfU1lNQk9MID0gL1xcdTAyNzVcXGQrLztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG93ZXJlZFN5bWJvbChuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIExPV0VSRURfU1lNQk9MLnRlc3QobmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb3dlcmVkU3ltYm9sKGlkOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gYFxcdTAyNzUke2lkfWA7XG59XG4iXX0=