@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
37 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CoerceSetAccessorDeclaration = CoerceSetAccessorDeclaration;
exports.CoerceGetAccessorDeclaration = CoerceGetAccessorDeclaration;
/**
* Coerces a set accessor declaration within a class-like declaration.
*
* @param {ClassLikeDeclarationBase} classLikeDeclaration - The class-like declaration that should contain the set accessor.
* @param {string} name - The name of the set accessor.
* @param {Partial<SetAccessorDeclarationStructure>} [structure={}] - Optional structure to set on the set accessor.
* @returns {SetAccessorDeclaration} - The coerced or added set accessor declaration.
*/
function CoerceSetAccessorDeclaration(classLikeDeclaration, name, structure = {}) {
let setAccessorDeclaration = classLikeDeclaration.getSetAccessor(name);
if (!setAccessorDeclaration) {
setAccessorDeclaration = classLikeDeclaration.addSetAccessor({ name });
setAccessorDeclaration.set(structure);
}
return setAccessorDeclaration;
}
/**
* Coerces a get accessor declaration for a class-like declaration.
*
* @param {ClassLikeDeclarationBase} classLikeDeclaration - The class-like declaration to coerce the get accessor for.
* @param {string} name - The name of the get accessor.
* @param {Partial<GetAccessorDeclarationStructure>} structure - The structure to set on the get accessor declaration. (Optional)
* @returns {GetAccessorDeclaration} - The coerced or created get accessor declaration.
*/
function CoerceGetAccessorDeclaration(classLikeDeclaration, name, structure = {}) {
let getAccessorDeclaration = classLikeDeclaration.getGetAccessor(name);
if (!getAccessorDeclaration) {
getAccessorDeclaration = classLikeDeclaration.addGetAccessor({ name });
getAccessorDeclaration.set(structure);
}
return getAccessorDeclaration;
}
//# sourceMappingURL=coerce-accessor-declaration.js.map