From 54a48f9493b82ea367a51ecba06425df883cf13f Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Fri, 25 Sep 2020 23:45:18 -0400 Subject: [PATCH] Added codegen registrar --- helpers/codegen/codegen.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 helpers/codegen/codegen.js 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 "" +}