UNPKG

@rxap/schematics-ts-morph

Version:

This package provides utilities for manipulating TypeScript code using ts-morph, particularly for Angular and NestJS projects. It offers functions to add, coerce, and modify code elements like classes, methods, decorators, and imports. The package also in

29 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AddComponentImport = AddComponentImport; const get_coerce_array_literal_form_object_literal_1 = require("../get-coerce-array-literal-form-object-literal"); const coerce_imports_1 = require("../ts-morph/coerce-imports"); const get_component_options_object_1 = require("./get-component-options-object"); /** * Adds a provided class to the imports array of the component. * * @param sourceFile - The source file where the component class is located. * @param namedImport - The name of the class that should be added to the imports array of the component. * @param [moduleSpecifier] - The module specifier to import the class into the source file. * * @returns {void} */ function AddComponentImport(sourceFile, namedImport, moduleSpecifier) { if (moduleSpecifier) { (0, coerce_imports_1.CoerceImports)(sourceFile, { moduleSpecifier, namedImports: [namedImport], }); } const ngModuleOptions = (0, get_component_options_object_1.GetComponentOptionsObject)(sourceFile); const importsArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(ngModuleOptions, 'imports'); if (!importsArray.getElements().some(element => element.getText().trim() === namedImport)) { importsArray.addElement(namedImport); } } //# sourceMappingURL=add-component-import.js.map