@rxap/schematics-ts-morph
Version:
This package provides utilities for manipulating TypeScript code using ts-morph, particularly for Angular and NestJS projects. It offers functions to add, coerce, and modify code elements like classes, methods, decorators, and imports. The package also in
28 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CoerceTableSelectResolveValueMethodRule = CoerceTableSelectResolveValueMethodRule;
const ts_morph_1 = require("@rxap/ts-morph");
const ts_morph_2 = require("ts-morph");
const coerce_imports_1 = require("../ts-morph/coerce-imports");
const coerce_method_class_1 = require("./coerce-method-class");
function CoerceTableSelectResolveValueMethodRule(options) {
const { operationId, scope } = options;
return (0, coerce_method_class_1.CoerceMethodClass)(Object.assign(Object.assign({}, options), { tsMorphTransform: (project, sourceFile, classDeclaration) => {
(0, ts_morph_1.CoerceDependencyInjection)(sourceFile, {
injectionToken: (0, ts_morph_1.OperationIdToRemoteMethodClassName)(operationId),
parameterName: 'method',
scope: ts_morph_2.Scope.Private,
module: ts_morph_1.Module.ANGULAR,
});
(0, coerce_imports_1.CoerceImports)(sourceFile, {
namedImports: [(0, ts_morph_1.OperationIdToRemoteMethodClassName)(operationId)],
moduleSpecifier: (0, ts_morph_1.OperationIdToClassRemoteMethodImportPath)(operationId, scope),
});
return {
statements: [
'return this.method.call({ parameters: { ...(parameters.context ?? {}), value: parameters.value } });',
],
};
} }));
}
//# sourceMappingURL=coerce-table-select-resolve-value-method.js.map