@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
48 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CoerceHealthIndicator = CoerceHealthIndicator;
const utilities_1 = require("@rxap/utilities");
const ts_morph_1 = require("ts-morph");
const coerce_class_1 = require("../coerce-class");
const coerce_imports_1 = require("../coerce-imports");
function CoerceHealthIndicator(sourceFile, name) {
const indicatorClassName = (0, utilities_1.CoerceSuffix)((0, utilities_1.classify)(name), 'HealthIndicator');
(0, coerce_class_1.CoerceClass)(sourceFile, indicatorClassName, {
isExported: true,
decorators: [
{
name: 'Injectable',
arguments: [],
},
],
extends: 'HealthIndicator',
ctors: [
{
parameters: [],
statements: 'super();',
},
],
methods: [
{
name: 'isHealthy',
isAsync: true,
scope: ts_morph_1.Scope.Public,
returnType: 'Promise<HealthIndicatorResult>',
statements: [
`throw new HealthCheckError('Not yet implemented!', this.getStatus('${(0, utilities_1.dasherize)(name)}', false))`,
],
},
],
});
(0, coerce_imports_1.CoerceImports)(sourceFile, [
{
namedImports: ['Injectable'],
moduleSpecifier: '@nestjs/common',
},
{
namedImports: ['HealthCheckError', 'HealthIndicator', 'HealthIndicatorResult'],
moduleSpecifier: '@nestjs/terminus',
},
]);
}
//# sourceMappingURL=coerce-health-indicator.js.map