@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
38 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateRangeToken = migrateRangeToken;
const ng_morph_1 = require("ng-morph");
const add_unique_import_1 = require("../../../utils/add-unique-import");
const get_named_import_references_1 = require("../../../utils/get-named-import-references");
const import_manipulations_1 = require("../../../utils/import-manipulations");
const TAIGA_CDK = '@taiga-ui/cdk';
const RANGE_TOKEN = 'TUI_RANGE';
const ANGULAR_CORE = '@angular/core';
const ANGULAR_COMMON = '@angular/common';
const IS_PLATFORM_BROWSER = 'isPlatformBrowser';
const PLATFORM_ID = 'PLATFORM_ID';
const RANGE_REPLACEMENT = `${IS_PLATFORM_BROWSER}(inject(${PLATFORM_ID}))
? new Range()
: ({} as unknown as Range)`;
function migrateRangeToken(_tree, _options) {
(0, get_named_import_references_1.getNamedImportReferences)(RANGE_TOKEN, TAIGA_CDK).forEach((ref) => {
if (ref.wasForgotten()) {
return;
}
const parent = ref.getParent();
if (ng_morph_1.Node.isImportSpecifier(parent)) {
(0, import_manipulations_1.removeImport)(parent);
return;
}
const isRangeInjection = ng_morph_1.Node.isCallExpression(parent) &&
parent.getExpression().getText() === 'inject';
if (!isRangeInjection) {
return;
}
const filePath = ref.getSourceFile().getFilePath();
parent.replaceWithText(RANGE_REPLACEMENT);
(0, add_unique_import_1.addUniqueImport)(filePath, IS_PLATFORM_BROWSER, ANGULAR_COMMON);
(0, add_unique_import_1.addUniqueImport)(filePath, PLATFORM_ID, ANGULAR_CORE);
});
}
//# sourceMappingURL=migrate-range-token.js.map