api-client/helpers/codegen/codegen.js

24 lines
680 B
JavaScript
Raw Normal View History

2020-09-26 03:45:18 +00:00
import { JSXHRCodegen } from "./generators/js-xhr"
import { JSFetchCodegen } from "./generators/js-fetch"
import { CurlCodegen } from "./generators/curl"
2020-10-01 01:02:22 +00:00
import { JSAxiosCodegen } from "./generators/js-axios"
2020-09-26 03:45:18 +00:00
/* Register code generators here.
* A code generator is defined as an object with the following structure.
*
* id: string
* name: string
* generator: (ctx) => string
*
*/
2020-10-01 01:02:22 +00:00
export const codegens = [JSXHRCodegen, JSFetchCodegen, CurlCodegen, JSAxiosCodegen]
2020-09-26 03:45:18 +00:00
export function generateCodeWithGenerator(codegenID, context) {
if (codegenID) {
2020-09-27 18:04:15 +00:00
const gen = codegens.find(({ id }) => id === codegenID)
2020-09-26 03:45:18 +00:00
return gen ? gen.generator(context) : ""
}
return ""
}