UNPKG

@rxap/ts-morph

Version:

Provides utilities for manipulating TypeScript code using the ts-morph library. It offers a fluent API to add, modify, and remove code elements such as classes, decorators, imports, and properties in both Angular and NestJS projects. This package simplifi

28 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CoerceNestModuleImport = CoerceNestModuleImport; const coerce_imports_1 = require("../coerce-imports"); const get_coerce_array_literal_form_object_literal_1 = require("../get-coerce-array-literal-form-object-literal"); const get_nest_module_metadata_1 = require("./get-nest-module-metadata"); function CoerceNestModuleImport(sourceFile, options) { const { moduleName, importWriter, overwrite, moduleSpecifier, } = options; let { structures } = options; structures !== null && structures !== void 0 ? structures : (structures = []); if (moduleSpecifier) { structures.push({ moduleSpecifier, namedImports: [moduleName], }); } (0, coerce_imports_1.CoerceImports)(sourceFile, structures !== null && structures !== void 0 ? structures : []); const metadata = (0, get_nest_module_metadata_1.GetNestModuleMetadata)(sourceFile); const importsArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(metadata, 'imports'); const index = importsArray.getElements().findIndex(element => element.getText().trim().startsWith(moduleName)); if (index === -1 || overwrite) { if (index !== -1) { importsArray.removeElement(index); } importsArray.addElement(importWriter !== null && importWriter !== void 0 ? importWriter : moduleName); } } //# sourceMappingURL=coerce-nest-module-import.js.map