mirror of
https://github.com/ferdikoomen/openapi-typescript-codegen.git
synced 2025-12-08 20:16:21 +00:00
32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import * as handlebars from 'handlebars';
|
|
import { readHandlebarsTemplate } from './readHandlebarsTemplate';
|
|
import { Language } from '../index';
|
|
import * as path from 'path';
|
|
|
|
export interface Templates {
|
|
index: handlebars.TemplateDelegate;
|
|
model: handlebars.TemplateDelegate;
|
|
service: handlebars.TemplateDelegate;
|
|
}
|
|
|
|
/**
|
|
* Read all the Handlebar templates that we need and return on wrapper object
|
|
* so we can easily access the templates in out generator / write functions.
|
|
* @param language The language we need to generate (Typescript or Javascript).
|
|
*/
|
|
export function readHandlebarsTemplates(language: Language): Templates {
|
|
const pathTemplateIndex = path.resolve(__dirname, `../../src/templates/${language}/index.hbs`);
|
|
const pathTemplateModel = path.resolve(__dirname, `../../src/templates/${language}/model.hbs`);
|
|
const pathTemplateService = path.resolve(__dirname, `../../src/templates/${language}/service.hbs`);
|
|
|
|
try {
|
|
return {
|
|
index: readHandlebarsTemplate(pathTemplateIndex),
|
|
model: readHandlebarsTemplate(pathTemplateModel),
|
|
service: readHandlebarsTemplate(pathTemplateService),
|
|
};
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
}
|