UNPKG

@graphql-inspector/commands

Version:
56 lines (55 loc) 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCommands = useCommands; exports.createCommand = createCommand; exports.ensureAbsolute = ensureAbsolute; exports.parseGlobalArgs = parseGlobalArgs; exports.mockCommand = mockCommand; const tslib_1 = require("tslib"); const path_1 = require("path"); const yargs_1 = tslib_1.__importDefault(require("yargs")); const helpers_1 = require("yargs/helpers"); function useCommands(api) { return api.config.commands.map(name => loadCommand(name)(api)); } function createCommand(factory) { return factory; } function loadCommand(name) { const mod = require(`@graphql-inspector/${name}-command`); return mod.default || mod; } function ensureAbsolute(filepath, basepath = process.cwd()) { return (0, path_1.isAbsolute)(filepath) ? filepath : (0, path_1.resolve)(basepath, filepath); } function parseGlobalArgs(args) { const headers = {}; const leftHeaders = {}; const rightHeaders = {}; if (args.header) { for (const header of args.header) { const [name, ...values] = header.split(':'); headers[name] = values.join(''); } } if (args.leftHeader) { for (const leftHeader of args.leftHeader) { const [lname, ...lvalues] = leftHeader.split(':'); leftHeaders[lname] = lvalues.join(''); } } if (args.rightHeader) { for (const rightHeader of args.rightHeader) { const [rname, ...rvalues] = rightHeader.split(':'); rightHeaders[rname] = rvalues.join(''); } } if (args.require) { for (const mod of args.require) require(mod); } return { headers, leftHeaders, rightHeaders, token: args.token }; } function mockCommand(mod, cmd) { return (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).command(mod).exitProcess(false).parseAsync(cmd); }