14 lines
614 B
JavaScript
14 lines
614 B
JavaScript
#!/usr/bin/env node
|
|||
|
|
import { readFile, writeFile } from "node:fs/promises";
|
||
|
|
import { generatePortableClientBindings } from "./portable-client.js";
|
||
|
|
async function main() {
|
||
|
|
const [plan, output, target = "browser", ...rest] = process.argv.slice(2);
|
||
|
|
if (!plan || !output || rest.length)
|
||
|
|
throw Error("usage: quixos-codegen-client EXECUTION_PLAN.json OUTPUT.ts [TARGET]");
|
||
|
|
await writeFile(output, generatePortableClientBindings(JSON.parse(await readFile(plan, "utf8")), { target }));
|
||
|
|
}
|
||
|
|
void main().catch((error) => {
|
||
|
|
console.error(error instanceof Error ? error.message : error);
|
||
|
|
process.exitCode = 1;
|
||
|
|
});
|