generated from Himenon/template-js
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcodegen.ts
22 lines (18 loc) · 901 Bytes
/
codegen.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import * as fs from "fs";
import { CodeGenerator } from "../lib"; // = @himenon/openapi-typescript-code-generator
import * as Templates from "../lib/templates"; // = @himenon/openapi-typescript-code-generator/templates
import * as Types from "../lib/types"; // = @himenon/openapi-typescript-code-generator/types
const main = () => {
const codeGenerator = new CodeGenerator("./spec/openapi.yml");
codeGenerator.validateOpenApiSchema({ logger: { displayLogLines: 1 } });
const apiClientGeneratorTemplate: Types.CodeGenerator.CustomGenerator<Templates.FunctionalApiClient.Option> = {
generator: Templates.FunctionalApiClient.generator,
option: {},
};
const code = codeGenerator.generateTypeDefinition([
codeGenerator.getAdditionalTypeDefinitionCustomCodeGenerator(),
apiClientGeneratorTemplate,
]);
fs.writeFileSync("client.ts", code, { encoding: "utf-8" });
};
main();