@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
40 lines • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BuildTableSelectValueResolveUpstreamGetParametersImplementation = BuildTableSelectValueResolveUpstreamGetParametersImplementation;
exports.CoerceTableSelectValueResolveOperationRule = CoerceTableSelectValueResolveOperationRule;
const ts_morph_1 = require("@rxap/ts-morph");
const utilities_1 = require("@rxap/utilities");
const coerce_operation_1 = require("./coerce-operation");
function BuildTableSelectValueResolveUpstreamGetParametersImplementation(classDeclaration, moduleSourceFile, dto, options) {
return () => {
var _a;
const { upstream } = options;
if (upstream) {
if ((0, ts_morph_1.IsNormalizedOpenApiUpstreamOptions)(upstream)) {
const { mapper } = upstream;
let value = null;
if (mapper && (0, ts_morph_1.IsNormalizedResolveRequestMapper)(mapper)) {
value = (_a = mapper.value) !== null && _a !== void 0 ? _a : value;
}
if (value) {
return `{ parameters: { ${value}: value } }`;
}
else {
return '{ parameters: { value } }';
}
}
return '{ value }';
}
return '';
};
}
function CoerceTableSelectValueResolveOperationRule(options) {
const { buildUpstreamGetParametersImplementation = BuildTableSelectValueResolveUpstreamGetParametersImplementation, propertyList = [], rowIdProperty, rowDisplayProperty, rowValueProperty = (0, ts_morph_1.NormalizeDataProperty)(rowIdProperty), } = options;
(0, utilities_1.CoerceArrayItems)(propertyList, [
Object.assign(Object.assign({}, rowValueProperty), { name: '__value', source: rowValueProperty.name }),
Object.assign(Object.assign({}, rowDisplayProperty), { name: '__display', source: rowDisplayProperty.name }),
(0, ts_morph_1.NormalizeDataProperty)(Object.assign(Object.assign({}, rowIdProperty), { name: '__rowId', source: rowIdProperty.name }), 'number')
], { compareTo: (a, b) => a.name === b.name, unshift: true });
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { buildUpstreamGetParametersImplementation }));
}
//# sourceMappingURL=coerce-table-select-value-resolve-operation.js.map