UNPKG

@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

39 lines 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BuildGetRootDtoDataMapperImplementation = BuildGetRootDtoDataMapperImplementation; exports.CoerceGetRootOperation = CoerceGetRootOperation; const ts_morph_1 = require("@rxap/ts-morph"); const utilities_1 = require("@rxap/utilities"); const coerce_get_by_id_operation_1 = require("./coerce-get-by-id-operation"); const table_query_list_1 = require("./table-query-list"); function BuildGetRootDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) { const { isArray, } = options; return () => { // TODO : implement the data mapper return isArray ? '[]' : '{}'; }; } function CoerceGetRootOperation(options) { const { tsMorphTransform = utilities_1.noop, propertyList = [], operationName = 'get-root', builtDtoDataMapperImplementation = BuildGetRootDtoDataMapperImplementation, idProperty = null, dtoClassNameSuffix = '-item', isArray = true, } = options; (0, utilities_1.CoerceArrayItems)(propertyList, [ { name: 'hasChildren', type: 'boolean', }, { name: 'children', type: ts_morph_1.TypeNames.Self, isArray: true, isOptional: true, isType: true, }, ], (a, b) => a.name === b.name); return (0, coerce_get_by_id_operation_1.CoerceGetByIdOperation)(Object.assign(Object.assign({}, options), { operationName, idProperty, dtoClassNameSuffix, isArray, builtDtoDataMapperImplementation, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName, moduleSourceFile, dto) => { return Object.assign({ queryList: table_query_list_1.TABLE_QUERY_LIST }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName, moduleSourceFile, dto, options)); } })); } //# sourceMappingURL=coerce-get-root-operation.js.map