@clickup/pg-microsharding
Version:
Microshards support for PostgreSQL
57 lines • 1.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArgs = parseArgs;
const minimist_1 = __importDefault(require("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", "validate-fks"],
};
/**
* An improved version of minimist parsing that also populates the _ array with
* "unknown" args and options.
*/
function parseArgs(argsIn) {
const args = (0, minimist_1.default)(argsIn, JSON.parse(JSON.stringify(ARGS)));
args._ = [];
for (argsIn = [...argsIn]; argsIn.length > 0;) {
const arg = argsIn.shift();
if (ARGS.boolean.find((b) => arg === `--${b}` || arg === `--no-${b}`)) {
continue;
}
else if (ARGS.string.find((s) => arg === `--${s}`)) {
argsIn.shift();
continue;
}
else if (ARGS.string.find((s) => arg.startsWith(`--${s}=`))) {
continue;
}
else {
args._.push(arg);
}
}
return args;
}
//# sourceMappingURL=parseArgs.js.map