UNPKG

niledatabase

Version:

Command line interface for Nile databases

57 lines (56 loc) 2.49 kB
"use strict"; 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`; }