Archived
1
0
Fork 0
This repository has been archived on 2024-02-06. You can view files and clone it, but cannot push or open issues or pull requests.
api-ts-gen/lib/Config.ts
supmiku39 75674df502 ClientAPI, ServerAPI interface, Schema TS codegen
ClientAPI: use Axios
ServerAPI: use @koa/router
FullDate: wrapped Date only class
APIPromise: enhanced Promise on api response

application/json only(multipart/*, image/*, ... are not supported)
get, post, put, delete, patch only
2020-04-05 00:57:34 +09:00

46 lines
1.2 KiB
TypeScript

export type Config = ConfigRequired & ConfigOptional;
export type ConfigUser = ConfigRequired & Partial<ConfigOptional>;
export interface ConfigRequired {
}
export interface ConfigOptional {
// format
interfacePrefix: string;
indentString: string;
responsePrefix: string;
// name
schemasName: string;
IHandlerName: string;
IServerAPIName: string;
IClientAPIName: string;
ClientAPIName: string;
routerName: string;
// TS path
apiDirTSPath: string;
ServerAPITSPath: string;
utilsTSPath: string;
stateTSPath: string | null;
// other
outputDir: string;
validateStatus: (status: string) => boolean;
}
export const configDefault: ConfigOptional = {
// format
interfacePrefix: 'I',
indentString: ' ',
responsePrefix: '',
// name
schemasName: 'schemas',
IHandlerName: 'IHandler',
IServerAPIName: 'IServerAPI',
IClientAPIName: 'IClientAPI',
ClientAPIName: 'ClientAPI',
routerName: 'apiRouter',
// TS path
apiDirTSPath: '#api',
ServerAPITSPath: '#ServerAPI',
utilsTSPath: 'api-codegen-ts/utils',
stateTSPath: null,
// other
outputDir: 'api/generated',
validateStatus: (status: string) => /^2..$/.test(status),
};