@openapi-generator-plus/generator-common
Advanced tools
Comparing version 0.5.4 to 0.6.0
@@ -1,6 +0,6 @@ | ||
import { CodegenGenerator, CodegenServer } from '@openapi-generator-plus/types'; | ||
import { CodegenGenerator, CodegenServer, CodegenGeneratorContext, CodegenConfig } from '@openapi-generator-plus/types'; | ||
export * from './case-transforms'; | ||
export * from './http-methods'; | ||
export * from './utils'; | ||
export declare function commonGenerator<O>(): Pick<CodegenGenerator<O>, 'toOperationName' | 'toSchemaName'>; | ||
export declare function commonGenerator(config: CodegenConfig, context: CodegenGeneratorContext): Pick<CodegenGenerator, 'toOperationName' | 'toSchemaName' | 'templateRootContext'>; | ||
export declare function apiBasePath(servers: CodegenServer[] | undefined): string; |
@@ -24,3 +24,3 @@ "use strict"; | ||
const pluralize_1 = __importDefault(require("pluralize")); | ||
function commonGenerator() { | ||
function commonGenerator(config, context) { | ||
return { | ||
@@ -35,13 +35,18 @@ /** Create a default operation name for operations that lack an operationId */ | ||
}, | ||
toSchemaName: (name, options, state) => { | ||
toSchemaName: (name, options) => { | ||
if (options.nameSpecified) { | ||
return state.generator.toClassName(name, state); | ||
return context.generator().toClassName(name); | ||
} | ||
if (options.purpose === types_1.CodegenSchemaPurpose.ARRAY_ITEM || options.purpose === types_1.CodegenSchemaPurpose.MAP_VALUE) { | ||
return state.generator.toClassName(pluralize_1.default.singular(name), state); | ||
return context.generator().toClassName(pluralize_1.default.singular(name)); | ||
} | ||
else { | ||
return state.generator.toClassName(name, state); | ||
return context.generator().toClassName(name); | ||
} | ||
}, | ||
templateRootContext: () => { | ||
return { | ||
generatedDate: new Date().toISOString(), | ||
}; | ||
}, | ||
}; | ||
@@ -48,0 +53,0 @@ } |
@@ -13,2 +13,2 @@ import { CodegenResult } from '@openapi-generator-plus/testing'; | ||
*/ | ||
export declare function testGenerate<O>(result: CodegenResult<O>, func: TestGenerateFunc, outputPath?: string): Promise<void>; | ||
export declare function testGenerate(result: CodegenResult, func: TestGenerateFunc, outputPath?: string): Promise<void>; |
@@ -48,3 +48,3 @@ "use strict"; | ||
try { | ||
await result.state.generator.exportTemplates(outputPath, result.doc, result.state); | ||
await result.state.generator.exportTemplates(outputPath, result.doc); | ||
await func(outputPath); | ||
@@ -51,0 +51,0 @@ } |
{ | ||
"name": "@openapi-generator-plus/generator-common", | ||
"version": "0.5.4", | ||
"version": "0.6.0", | ||
"description": "Common utilities for openapi-generator-plus generators", | ||
@@ -28,3 +28,3 @@ "main": "dist/index.js", | ||
"peerDependencies": { | ||
"@openapi-generator-plus/core": "^0.15.0" | ||
"@openapi-generator-plus/core": "^0.16.0" | ||
}, | ||
@@ -34,3 +34,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "e2ae0af34822142bf6a26d383e2892543cb26acf" | ||
"gitHead": "b244f172b092419c4422d282b8abf97cb6c9cdc9" | ||
} |
/** Returns the string with the first character converted to upper-case */ | ||
export function capitalize(value: string) { | ||
export function capitalize(value: string): string { | ||
if (value.length > 0) { | ||
@@ -10,3 +10,3 @@ return value.substring(0, 1).toUpperCase() + value.substring(1) | ||
export function camelCase(value: string) { | ||
export function camelCase(value: string): string { | ||
value = value.replace(/([^a-zA-Z0-9]+)([a-zA-Z0-9])/g, (whole, sep, letter) => capitalize(letter)) | ||
@@ -20,5 +20,5 @@ /* If the string starts with capitals, we need to lower-case that first word */ | ||
export function pascalCase(value: string) { | ||
export function pascalCase(value: string): string { | ||
value = value.replace(/([^a-zA-Z0-9]+)([a-zA-Z0-9])/g, (whole, sep, letter) => capitalize(letter)) | ||
return capitalize(value) | ||
} |
@@ -1,2 +0,2 @@ | ||
import { CodegenGenerator, CodegenServer, CodegenSchemaPurpose } from '@openapi-generator-plus/types' | ||
import { CodegenGenerator, CodegenServer, CodegenSchemaPurpose, CodegenGeneratorContext, CodegenConfig } from '@openapi-generator-plus/types' | ||
import { camelCase } from './case-transforms' | ||
@@ -9,3 +9,3 @@ export * from './case-transforms' | ||
export function commonGenerator<O>(): Pick<CodegenGenerator<O>, 'toOperationName' | 'toSchemaName'> { | ||
export function commonGenerator(config: CodegenConfig, context: CodegenGeneratorContext): Pick<CodegenGenerator, 'toOperationName' | 'toSchemaName' | 'templateRootContext'> { | ||
return { | ||
@@ -21,14 +21,20 @@ /** Create a default operation name for operations that lack an operationId */ | ||
toSchemaName: (name, options, state) => { | ||
toSchemaName: (name, options) => { | ||
if (options.nameSpecified) { | ||
return state.generator.toClassName(name, state) | ||
return context.generator().toClassName(name) | ||
} | ||
if (options.purpose === CodegenSchemaPurpose.ARRAY_ITEM || options.purpose === CodegenSchemaPurpose.MAP_VALUE) { | ||
return state.generator.toClassName(pluralize.singular(name), state) | ||
return context.generator().toClassName(pluralize.singular(name)) | ||
} else { | ||
return state.generator.toClassName(name, state) | ||
return context.generator().toClassName(name) | ||
} | ||
}, | ||
templateRootContext: () => { | ||
return { | ||
generatedDate: new Date().toISOString(), | ||
} | ||
}, | ||
} | ||
@@ -35,0 +41,0 @@ } |
@@ -31,3 +31,3 @@ import { CodegenResult } from '@openapi-generator-plus/testing' | ||
*/ | ||
export async function testGenerate<O>(result: CodegenResult<O>, func: TestGenerateFunc, outputPath?: string) { | ||
export async function testGenerate(result: CodegenResult, func: TestGenerateFunc, outputPath?: string): Promise<void> { | ||
let tmpdir: string | undefined | ||
@@ -53,3 +53,3 @@ let deleteOutput = false | ||
try { | ||
await result.state.generator.exportTemplates(outputPath, result.doc, result.state) | ||
await result.state.generator.exportTemplates(outputPath, result.doc) | ||
await func(outputPath) | ||
@@ -56,0 +56,0 @@ } finally { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
479
23309
20