@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
32 lines • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CoerceTreeTableRootProxyRemoteMethodClass = CoerceTreeTableRootProxyRemoteMethodClass;
const ts_morph_1 = require("@rxap/ts-morph");
const utilities_1 = require("@rxap/utilities");
const coerce_imports_1 = require("../ts-morph/coerce-imports");
const coerce_proxy_remote_method_class_1 = require("./coerce-proxy-remote-method-class");
function CoerceTreeTableRootProxyRemoteMethodClass(options) {
const { tsMorphTransform = utilities_1.noop, getRootOperationId, scope, identifier } = options;
return (0, coerce_proxy_remote_method_class_1.CoerceProxyRemoteMethodClass)(Object.assign(Object.assign({}, options), { name: 'tree-table-root', sourceType: 'Node<unknown>', targetType: `OpenApiRemoteMethodParameter<${identifier ? (0, ts_morph_1.OperationIdToParameterClassName)(getRootOperationId) : 'void'}>`, proxyMethod: (0, ts_morph_1.OperationIdToRemoteMethodClassName)(getRootOperationId), tsMorphTransform: (project, sourceFile, classDeclaration) => {
if (identifier) {
(0, coerce_imports_1.CoerceImports)(sourceFile, {
namedImports: [(0, ts_morph_1.OperationIdToParameterClassName)(getRootOperationId)],
moduleSpecifier: (0, ts_morph_1.OperationIdToParameterClassImportPath)(getRootOperationId, scope),
});
}
(0, coerce_imports_1.CoerceImports)(sourceFile, {
namedImports: [(0, ts_morph_1.OperationIdToRemoteMethodClassName)(getRootOperationId)],
moduleSpecifier: (0, ts_morph_1.OperationIdToClassRemoteMethodImportPath)(getRootOperationId, scope),
});
(0, coerce_imports_1.CoerceImports)(sourceFile, {
namedImports: ['Node'],
moduleSpecifier: '@rxap/data-structure-tree',
});
(0, coerce_imports_1.CoerceImports)(sourceFile, {
namedImports: ['OpenApiRemoteMethodParameter'],
moduleSpecifier: '@rxap/open-api/remote-method',
});
return tsMorphTransform(project, sourceFile, classDeclaration);
} }));
}
//# sourceMappingURL=coerce-tree-table-root-proxy-remote-method-class.js.map