diff --git a/www/utils/packages/docs-generator/src/classes/generators/dml.ts b/www/utils/packages/docs-generator/src/classes/generators/dml.ts index cd171fe6fb..06c4f6a131 100644 --- a/www/utils/packages/docs-generator/src/classes/generators/dml.ts +++ b/www/utils/packages/docs-generator/src/classes/generators/dml.ts @@ -61,7 +61,7 @@ class DmlGenerator extends AbstractGenerator { ) this.generatorEventManager.emit(GeneratorEvent.FINISHED_GENERATE_EVENT) - console.log(`[OAS] Finished generating OAS for ${file.fileName}.`) + console.log(`[DML] Finished generating OAS for ${file.fileName}.`) }) ) } diff --git a/www/utils/packages/docs-generator/src/classes/kinds/dml.ts b/www/utils/packages/docs-generator/src/classes/kinds/dml.ts index 104a9381bb..471940392c 100644 --- a/www/utils/packages/docs-generator/src/classes/kinds/dml.ts +++ b/www/utils/packages/docs-generator/src/classes/kinds/dml.ts @@ -3,7 +3,13 @@ import DefaultKindGenerator, { GetDocBlockOptions } from "./default.js" import getBasePath from "../../utils/get-base-path.js" import { getDmlOutputBasePath } from "../../utils/get-output-base-paths.js" import path from "path" -import { camelToWords, RELATION_NAMES, snakeToPascal } from "utils" +import { + camelToWords, + RELATION_NAMES, + snakeToPascal, + camelToPascal, + isSnakeCase, +} from "utils" import toJsonFormatted from "../../utils/to-json-formatted.js" import { DmlFile, DmlObject } from "types" @@ -186,7 +192,9 @@ class DmlKindGenerator extends DefaultKindGenerator { } } - return snakeToPascal(name.replace(/^"/, "").replace(/"$/, "")) + name = name.replace(/^"/, "").replace(/"$/, "") + + return isSnakeCase(name) ? snakeToPascal(name) : camelToPascal(name) } /** diff --git a/www/utils/packages/utils/src/str-formatting.ts b/www/utils/packages/utils/src/str-formatting.ts index 870f96afff..849911588a 100644 --- a/www/utils/packages/utils/src/str-formatting.ts +++ b/www/utils/packages/utils/src/str-formatting.ts @@ -28,6 +28,10 @@ export function camelToTitle(str: string): string { .trim() } +export function camelToPascal(str: string): string { + return `${str.charAt(0).toUpperCase()}${str.substring(1)}` +} + export function snakeToWords(str: string): string { return str.replaceAll("_", " ").toLowerCase() } @@ -39,6 +43,10 @@ export function snakeToPascal(str: string): string { .join("") } +export function isSnakeCase(str: string): boolean { + return /[a-z]+_[a-z]+/g.test(str) +} + export function kebabToTitle(str: string): string { return str .split("-")