@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.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RemoveNestProviderToArray = RemoveNestProviderToArray;
const ts_morph_1 = require("ts-morph");
function RemoveNestProviderToArray(providerObject, providerArray, overwrite = false) {
if (typeof providerObject === 'string') {
const index = providerArray.getElements().findIndex(element => element.getText().trim() === providerObject);
if (index !== -1) {
providerArray.removeElement(index);
}
}
else {
const index = providerArray.getElements().findIndex(element => {
var _a;
if (element.isKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)) {
const provideProperty = element.getProperty('provide');
if (provideProperty === null || provideProperty === void 0 ? void 0 : provideProperty.isKind(ts_morph_1.SyntaxKind.PropertyAssignment)) {
return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getText().trim()) === providerObject.provide;
}
}
return false;
});
if ((overwrite === true || (Array.isArray(overwrite) && overwrite.includes('provider'))) && index !== -1) {
providerArray.removeElement(index);
}
}
}
//# sourceMappingURL=remove-nest-provider-to-array.js.map