runLib

tcmts.cli.run.runLib · #bgxrjjig · term · runs on the server

uses tcmts.cli.main.execute, which uses tcmts.cli.help.usageError, which uses tcmts.cli.help.usageOf, which uses tcmts.cli.style.bold, which uses node:util

Runs tcm lib.

import { attest, setTrust } from "#codebase/tcmts/cli/attest";
import { routeLib } from "#codebase/tcmts/cli/commands";
import {
  addLibrary, listLibraries, removeLibrary, searchRegistry, setSources, upgradeLibrary,
} from "#codebase/tcmts/cli/libraries";
import { execute } from "#codebase/tcmts/cli/main";
import type { Context } from "#codebase/tcmts/cli/run";
import { parse } from "@bomb.sh/router";

export async function runLib({ cb, cmd, rest }: Context): Promise<number> {
  const r = execute(cmd, parse(routeLib(), { argv: rest }));
  if (r.route === "/add")
    await addLibrary(cb, {
      name: r.model.as,
      source: r.model.source,
      what: r.model.what,
      at: r.model.at,
    });
  else if (r.route === "/rm") removeLibrary(cb, r.model.library);
  else if (r.route === "/sources")
    setSources(cb, r.model.library, { add: r.model.add, rm: r.model.rm });
  else if (r.route === "/upgrade")
    await upgradeLibrary(cb, {
      library: r.model.library,
      what: r.model.what,
      source: r.model.source,
      check: r.model.check,
    });
  else if (r.route === "/attest") await attest(cb, r.model);
  else if (r.route === "/search")
    await searchRegistry(cb, { query: r.model.query, registry: r.model.registry });
  else if (r.route === "/trust") await setTrust(cb, { add: r.model.add, rm: r.model.rm });
  else await listLibraries(cb);
  return 0;
}

uses

used by