UNPKG

gen-jhipster

Version:

VHipster - Spring Boot + Angular/React/Vue in one handy generator

47 lines (46 loc) 2.47 kB
/** * Copyright 2013-2026 the original author or authors from the JHipster project. * * This file is part of the JHipster project, see https://www.jhipster.tech/ * for more information. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { kebabCase, upperFirst } from 'lodash-es'; import { normalizePathEnd } from "../../lib/utils/path.js"; import { pluralize } from "../../lib/utils/string-utils.js"; import { upperFirstCamelCase } from "../../lib/utils/string.js"; import { getTypescriptType } from "./support/types-utils.js"; export const mutateField = { __override__: false, tsType: ({ fieldType, fieldIsEnum }) => (fieldIsEnum ? fieldType : getTypescriptType(fieldType)), // ...buildMutateDataForProperty('tsType', fieldTsTypes, { prefix: 'fieldTsType' }), }; export const mutateEntity = { __override__: false, entityAngularJSSuffix: data => { const entityAngularJSSuffix = data.entityAngularJSSuffix ?? data.angularJSSuffix ?? ''; return entityAngularJSSuffix.startsWith('-') || !entityAngularJSSuffix ? entityAngularJSSuffix : `-${entityAngularJSSuffix}`; }, entityTsName: data => upperFirst(data.entityNameCapitalized) + upperFirstCamelCase(data.entityAngularJSSuffix), entityFileName: data => kebabCase(data.entityNameCapitalized + upperFirst(data.entityAngularJSSuffix)), entityFolderName: data => `${normalizePathEnd(data.clientRootFolder)}${data.entityFileName}`, entityModelFileName: data => data.entityFolderName, entityPluralFileName: data => `${data.entityNamePluralizedAndSpinalCased}${data.entityAngularJSSuffix}`, entityServiceFileName: data => data.entityFileName, entityStateName: data => kebabCase(data.entityTsName), entityUrl: data => data.entityStateName, entityAngularName: data => data.entityTsName, entityAngularNamePlural: data => pluralize(data.entityAngularName, { force: true }), entityReactName: data => data.entityTsName, };