From 5a91ec2da6a63bd31b1f26efaad01b7dc71cd20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20=C3=81valos?= Date: Mon, 3 Jul 2023 13:27:44 -0600 Subject: Move anastasis CLI into separate package --- packages/anastasis-core/src/cli-entry.ts | 7 ---- packages/anastasis-core/src/cli.ts | 64 ------------------------------- packages/anastasis-core/src/index.node.ts | 2 - 3 files changed, 73 deletions(-) delete mode 100644 packages/anastasis-core/src/cli-entry.ts delete mode 100644 packages/anastasis-core/src/cli.ts delete mode 100644 packages/anastasis-core/src/index.node.ts (limited to 'packages/anastasis-core') diff --git a/packages/anastasis-core/src/cli-entry.ts b/packages/anastasis-core/src/cli-entry.ts deleted file mode 100644 index 8eea42a18..000000000 --- a/packages/anastasis-core/src/cli-entry.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { reducerCliMain } from "./cli.js"; - -async function r() { - reducerCliMain(); -} - -r(); diff --git a/packages/anastasis-core/src/cli.ts b/packages/anastasis-core/src/cli.ts deleted file mode 100644 index df53d6bd0..000000000 --- a/packages/anastasis-core/src/cli.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { clk } from "@gnu-taler/taler-util/clk"; -import { - getBackupStartState, - getRecoveryStartState, - reduceAction, -} from "./index.js"; -import fs from "fs"; - -export const reducerCli = clk - .program("reducer", { - help: "Command line interface for Anastasis.", - }) - .flag("initBackup", ["-b", "--backup"]) - .flag("initRecovery", ["-r", "--restore"]) - .maybeOption("argumentsJson", ["-a", "--arguments"], clk.STRING) - .maybeArgument("action", clk.STRING) - .maybeArgument("stateFile", clk.STRING); - -async function read(stream: NodeJS.ReadStream): Promise { - const chunks = []; - for await (const chunk of stream) { - chunks.push(chunk); - } - return Buffer.concat(chunks).toString("utf8"); -} - -reducerCli.action(async (x) => { - if (x.reducer.initBackup) { - console.log(JSON.stringify(await getBackupStartState())); - return; - } else if (x.reducer.initRecovery) { - console.log(JSON.stringify(await getRecoveryStartState())); - return; - } - - const action = x.reducer.action; - if (!action) { - console.log("action required"); - return; - } - - let lastState: any; - if (x.reducer.stateFile) { - const s = fs.readFileSync(x.reducer.stateFile, { encoding: "utf-8" }); - lastState = JSON.parse(s); - } else { - const s = await read(process.stdin); - lastState = JSON.parse(s); - } - - let args: any; - if (x.reducer.argumentsJson) { - args = JSON.parse(x.reducer.argumentsJson); - } else { - args = {}; - } - - const nextState = await reduceAction(lastState, action, args); - console.log(JSON.stringify(nextState)); -}); - -export function reducerCliMain() { - reducerCli.run(); -} diff --git a/packages/anastasis-core/src/index.node.ts b/packages/anastasis-core/src/index.node.ts deleted file mode 100644 index d08906a22..000000000 --- a/packages/anastasis-core/src/index.node.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./index.js"; -export { reducerCliMain } from "./cli.js"; -- cgit v1.2.3