UNPKG

chromancer

Version:

A powerful command-line interface for automating Chrome browser using Playwright. Perfect for web scraping, automation, testing, and browser workflows.

49 lines (48 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractFlagSchema = extractFlagSchema; exports.extractCommandSchema = extractCommandSchema; function extractFlagSchema(flag) { return { name: flag.name, char: flag.char, description: flag.description || '', required: flag.required || false, type: flag.type || 'string', options: flag.options, default: flag.default, multiple: flag.multiple || false, }; } function extractCommandSchema(command) { const flags = {}; const args = {}; // Extract flags if (command.flags) { for (const [name, flag] of Object.entries(command.flags)) { if (name !== 'json' && flag) { // Skip oclif's built-in json flag flags[name] = extractFlagSchema({ name, ...flag }); } } } // Extract args if (command.args) { for (const [name, arg] of Object.entries(command.args)) { if (arg) { args[name] = { name, description: arg.description || '', required: arg.required || false, options: arg.options, }; } } } return { name: command.id || command.name, description: command.description || '', flags, args: Object.keys(args).length > 0 ? args : undefined, examples: command.examples, }; }