niledatabase
Version:
Command line interface for Nile databases
57 lines (56 loc) • 2.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateChalkConfig = updateChalkConfig;
exports.addGlobalOptions = addGlobalOptions;
exports.getGlobalOptions = getGlobalOptions;
exports.getGlobalOptionsHelp = getGlobalOptionsHelp;
const chalk_1 = __importDefault(require("chalk"));
// Configure chalk based on color option
function updateChalkConfig(color) {
if (color === false) {
chalk_1.default.level = 0;
}
}
// Add global options to any command
function addGlobalOptions(program) {
return program
.option('--api-key <key>', 'API key for authentication')
.option('--format <type>', 'Output format: human (default), json, or csv')
.option('--color [boolean]', 'Enable/disable colored output')
.option('--debug', 'Enable debug output')
.option('--db-host <host>', 'Override database host domain (default: db.thenile.dev)')
.option('--global-host <host>', 'Override global control plane host (default: global.thenile.dev)')
.option('--auth-url <url>', 'Override authentication URL (default: console.thenile.dev)')
.option('--workspace <n>', 'Workspace name (overrides selected workspace)')
.option('--db <n>', 'Database name (overrides selected database)');
}
// Extract global options from command
function getGlobalOptions(cmd) {
const opts = cmd.opts();
return {
apiKey: opts.apiKey,
format: opts.format,
color: opts.color,
debug: opts.debug,
dbHost: opts.dbHost,
globalHost: opts.globalHost,
authUrl: opts.authUrl,
workspace: opts.workspace,
db: opts.db
};
}
function getGlobalOptionsHelp() {
return `Global Options:
--api-key <key> API key for authentication
--global-host <host> Override global control plane host (default: global.thenile.dev)
--db-host <host> Override database host domain (default: db.thenile.dev)
--auth-url <url> Override authentication URL (default: console.thenile.dev)
--workspace <n> Workspace name (overrides selected workspace)
--db <n> Database name (overrides selected database)
--format <type> Output format: human (default), json, csv
--color [boolean] Enable/disable colored output
--debug Enable debug output`;
}