@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
49 lines • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CoerceHealthController = CoerceHealthController;
const ts_morph_1 = require("ts-morph");
const coerce_decorator_1 = require("../coerce-decorator");
const coerce_dependency_injection_1 = require("../coerce-dependency-injection");
const coerce_imports_1 = require("../coerce-imports");
const coerce_nest_controller_1 = require("./coerce-nest-controller");
const coerce_nest_operation_1 = require("./coerce-nest-operation");
function CoerceHealthController(sourceFile) {
const classDeclaration = (0, coerce_nest_controller_1.CoerceNestController)(sourceFile, { name: 'health', path: 'health' });
(0, coerce_decorator_1.CoerceDecorator)(classDeclaration, 'Public', { arguments: [] });
(0, coerce_decorator_1.CoerceDecorator)(classDeclaration, 'ApiExcludeController', { arguments: [] });
(0, coerce_imports_1.CoerceImports)(sourceFile, [
{
moduleSpecifier: '@rxap/nest-utilities',
namedImports: ['Public'],
}, {
moduleSpecifier: '@nestjs/swagger',
namedImports: ['ApiExcludeController'],
},
]);
(0, coerce_dependency_injection_1.CoerceDependencyInjection)(sourceFile, {
injectionToken: 'HealthCheckService',
parameterName: 'health',
scope: ts_morph_1.Scope.Private,
module: coerce_dependency_injection_1.Module.NEST,
}, [
{
namedImports: ['HealthCheckService'],
moduleSpecifier: '@nestjs/terminus',
},
]);
const methodDeclaration = (0, coerce_nest_operation_1.CoerceNestOperation)(sourceFile, {
method: 'get',
returnType: 'Promise<HealthCheckResult>',
statements: ['return this.health.check([]);'],
operationName: 'healthCheck',
});
(0, coerce_decorator_1.CoerceDecorator)(methodDeclaration, 'HealthCheck', { arguments: [] });
(0, coerce_imports_1.CoerceImports)(sourceFile, [
{
namedImports: ['HealthCheckResult', 'HealthCheck'],
moduleSpecifier: '@nestjs/terminus',
},
]);
return sourceFile;
}
//# sourceMappingURL=coerce-health-controller.js.map