UNPKG

@grnsft/if

Version:

Impact Framework

52 lines 5.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseIfDiffArgs = void 0; const ts_command_line_args_1 = require("ts-command-line-args"); const utils_1 = require("@grnsft/if-core/utils"); const yaml_1 = require("../../common/util/yaml"); const helpers_1 = require("../../common/util/helpers"); const config_1 = require("../config"); const config_2 = require("../../common/config"); const { ParseCliParamsError, CliTargetFileError, CliSourceFileError } = utils_1.ERRORS; const { ARGS, HELP } = config_1.CONFIG; const { INVALID_TARGET } = config_1.STRINGS; const { SOURCE_IS_NOT_YAML, TARGET_IS_NOT_YAML } = config_2.STRINGS; /** * Parses `if-diff` process arguments. */ const validateAndParseIfDiffArgs = () => { try { return (0, ts_command_line_args_1.parse)(ARGS, HELP); } catch (error) { if (error instanceof Error) { console.log(error.message); (0, helpers_1.runHelpCommand)('if-diff'); } throw error; } }; /** * Checks for `source` and `target` flags to be present. */ const parseIfDiffArgs = () => { const { source, target } = validateAndParseIfDiffArgs(); if (target) { if (source && !(0, yaml_1.checkIfFileIsYaml)(source)) { throw new CliSourceFileError(SOURCE_IS_NOT_YAML); } if ((0, yaml_1.checkIfFileIsYaml)(target)) { const response = { targetPath: (0, helpers_1.prependFullFilePath)(target), }; if (source && (0, yaml_1.checkIfFileIsYaml)(source)) { response.sourcePath = (0, helpers_1.prependFullFilePath)(source); } return response; } throw new CliTargetFileError(TARGET_IS_NOT_YAML); } throw new ParseCliParamsError(INVALID_TARGET); }; exports.parseIfDiffArgs = parseIfDiffArgs; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL3V0aWwvYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMkM7QUFDM0MsaURBQTZDO0FBRTdDLGlEQUF5RDtBQUN6RCx1REFBOEU7QUFFOUUsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUs5RCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFN0UsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDakMsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBYSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDdEM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUzQixJQUFBLHdCQUFjLEVBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0I7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDbEMsTUFBTSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsR0FBRywwQkFBMEIsRUFBRSxDQUFDO0lBRXRELElBQUksTUFBTSxFQUFFO1FBQ1YsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFBLHdCQUFpQixFQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFBLHdCQUFpQixFQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFtQjtnQkFDL0IsVUFBVSxFQUFFLElBQUEsNkJBQW1CLEVBQUMsTUFBTSxDQUFDO2FBQ3hDLENBQUM7WUFFRixJQUFJLE1BQU0sSUFBSSxJQUFBLHdCQUFpQixFQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkQ7WUFFRCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQXhCVyxRQUFBLGVBQWUsbUJBd0IxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge2NoZWNrSWZGaWxlSXNZYW1sfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC95YW1sJztcbmltcG9ydCB7cHJlcGVuZEZ1bGxGaWxlUGF0aCwgcnVuSGVscENvbW1hbmR9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7U1RSSU5HUyBhcyBDT01NT05fU1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZEaWZmQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL2FyZ3MnO1xuXG5jb25zdCB7UGFyc2VDbGlQYXJhbXNFcnJvciwgQ2xpVGFyZ2V0RmlsZUVycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7SU5WQUxJRF9UQVJHRVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIFRBUkdFVF9JU19OT1RfWUFNTH0gPSBDT01NT05fU1RSSU5HUztcblxuLyoqXG4gKiBQYXJzZXMgYGlmLWRpZmZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZEaWZmQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpO1xuXG4gICAgICBydW5IZWxwQ29tbWFuZCgnaWYtZGlmZicpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKHRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBMb2FkRGlmZlBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aCh0YXJnZXQpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHNvdXJjZSAmJiBjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICAgIHJlc3BvbnNlLnNvdXJjZVBhdGggPSBwcmVwZW5kRnVsbEZpbGVQYXRoKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpVGFyZ2V0RmlsZUVycm9yKFRBUkdFVF9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihJTlZBTElEX1RBUkdFVCk7XG59O1xuIl19