UNPKG

@graphql-inspector/commands

Version:
57 lines (56 loc) 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mockCommand = exports.parseGlobalArgs = exports.ensureAbsolute = exports.createCommand = exports.useCommands = void 0; 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)); } exports.useCommands = useCommands; function createCommand(factory) { return factory; } exports.createCommand = createCommand; 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); } exports.ensureAbsolute = ensureAbsolute; 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 }; } exports.parseGlobalArgs = parseGlobalArgs; async function mockCommand(mod, cmd) { return (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).command(mod).parseAsync(cmd); } exports.mockCommand = mockCommand;