diff --git a/helpers/codegen/codegen.js b/helpers/codegen/codegen.js new file mode 100644 index 000000000..9d9f9054b --- /dev/null +++ b/helpers/codegen/codegen.js @@ -0,0 +1,22 @@ +import { JSXHRCodegen } from "./generators/js-xhr" +import { JSFetchCodegen } from "./generators/js-fetch" +import { CurlCodegen } from "./generators/curl" + +/* Register code generators here. + * A code generator is defined as an object with the following structure. + * + * id: string + * name: string + * generator: (ctx) => string + * + */ +export const codegens = [JSXHRCodegen, JSFetchCodegen, CurlCodegen] + +export function generateCodeWithGenerator(codegenID, context) { + if (codegenID) { + const gen = codegens.find((e) => e.id === codegenID) + return gen ? gen.generator(context) : "" + } + + return "" +}