@clickup/pg-microsharding
Version:
Microshards support for PostgreSQL
36 lines (32 loc) • 798 B
text/typescript
import minimist from "minimist";
const ARGS = {
string: [
"lib-schema",
"shard",
"shards",
"schema",
"factor",
"from",
"to",
"deactivate-sql",
"max-replication-lag-sec",
"parallelism",
"dsn",
"dsns",
"decommission",
"decomission",
"activate",
"activate-on-destination",
"weight-sql",
"migrate-cmd",
"schema-name-fmt",
],
boolean: ["verbose", "wait", "skip-config", "json"],
} as const;
export type Args = Record<"_", string[]> &
Record<(typeof ARGS)["string"][number], string | undefined> &
Record<(typeof ARGS)["boolean"][number], boolean | undefined>;
export function parseArgs(argsIn: string[]): Args {
const args = minimist(argsIn, JSON.parse(JSON.stringify(ARGS)));
return args as unknown as Args;
}