diff --git a/src/ModelCustomization.ts b/src/ModelCustomization.ts index 46f80d0..befd219 100644 --- a/src/ModelCustomization.ts +++ b/src/ModelCustomization.ts @@ -4,28 +4,13 @@ import { Entity } from "./models/Entity"; import IGenerationOptions from "./IGenerationOptions"; import * as NamingStrategy from "./NamingStrategy"; import * as TomgUtils from "./Utils"; -import { Relation } from "./models/Relation"; -import { RelationId } from "./models/RelationId"; -import { Column } from "./models/Column"; - -type NamingStrategy = { - enablePluralization: (value: boolean) => void; - relationIdName: ( - relationId: RelationId, - relation: Relation, - owner: Entity - ) => string; - relationName: (relation: Relation, owner: Entity) => string; - columnName: (columnName: string, column?: Column) => string; - entityName: (entityName: string, entity?: Entity) => string; -}; export default function modelCustomizationPhase( dbModel: Entity[], generationOptions: IGenerationOptions, defaultValues: DataTypeDefaults ): Entity[] { - const namingStrategy: NamingStrategy = { + const namingStrategy: typeof NamingStrategy = { enablePluralization: NamingStrategy.enablePluralization, columnName: NamingStrategy.columnName, entityName: NamingStrategy.entityName, @@ -39,7 +24,7 @@ export default function modelCustomizationPhase( // TODO: change form of logging const req = TomgUtils.requireLocalFile( generationOptions.customNamingStrategyPath - ) as Partial; + ) as Partial; if (req.columnName) { console.log( `[${new Date().toLocaleTimeString()}] Using custom naming strategy for column names.` @@ -242,7 +227,7 @@ function addImportsAndGenerationOptions( } function applyNamingStrategy( - namingStrategy: NamingStrategy, + namingStrategy: typeof NamingStrategy, dbModel: Entity[] ): Entity[] { let retVal = changeRelationNames(dbModel); diff --git a/src/NamingStrategy.ts b/src/NamingStrategy.ts index 4836377..e9edbba 100644 --- a/src/NamingStrategy.ts +++ b/src/NamingStrategy.ts @@ -1,7 +1,10 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ import { plural } from "pluralize"; import * as changeCase from "change-case"; import { Relation } from "./models/Relation"; import { RelationId } from "./models/RelationId"; +import { Entity } from "./models/Entity"; +import { Column } from "./models/Column"; let pluralize: boolean; @@ -11,7 +14,8 @@ export function enablePluralization(value: boolean) { export function relationIdName( relationId: RelationId, - relation: Relation + relation: Relation, + owner?: Entity ): string { const columnOldName = relationId.fieldName; @@ -35,7 +39,7 @@ export function relationIdName( return newColumnName; } -export function relationName(relation: Relation): string { +export function relationName(relation: Relation, owner?: Entity): string { const columnOldName = relation.fieldName; const isRelationToMany = @@ -66,10 +70,10 @@ export function relationName(relation: Relation): string { return newColumnName; } -export function entityName(oldEntityName: string): string { +export function entityName(oldEntityName: string, entity?: Entity): string { return oldEntityName; } -export function columnName(oldColumnName: string): string { +export function columnName(oldColumnName: string, column?: Column): string { return oldColumnName; }