@grnsft/if
Version:
Impact Framework
48 lines • 5.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseIfCsvArgs = 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 fs_1 = require("../../common/util/fs");
const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
const { ARGS, HELP } = config_1.CONFIG;
const { SOURCE_IS_NOT_YAML, MANIFEST_NOT_FOUND } = config_2.STRINGS;
/**
* Parses `if-csv` process arguments.
*/
const validateAndParseIfCsvArgs = () => {
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-csv');
}
throw error;
}
};
/**
* Checks for `manifest` and `params` flags to be present.
*/
const parseIfCsvArgs = async () => {
const { manifest, output, params } = validateAndParseIfCsvArgs();
if (manifest) {
const response = (0, helpers_1.prependFullFilePath)(manifest);
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
if (!isManifestFileExists) {
throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
}
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
return { manifest, output, params };
}
throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
}
return { output, params };
};
exports.parseIfCsvArgs = parseIfCsvArgs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RTtBQUU5RSxzQ0FBaUM7QUFDakMsZ0RBQThEO0FBRzlELDZDQUFrRDtBQUVsRCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0seUJBQXlCLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUzQixJQUFBLHdCQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxLQUFLLElBQUksRUFBRTtJQUN2QyxNQUFNLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsR0FBRyx5QkFBeUIsRUFBRSxDQUFDO0lBRS9ELElBQUksUUFBUSxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBQSxpQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQztTQUNuQztRQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFuQlcsUUFBQSxjQUFjLGtCQW1CekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwveWFtbCc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGgsIHJ1bkhlbHBDb21tYW5kfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1MgYXMgQ09NTU9OX1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7aXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7U09VUkNFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1jc3ZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkNzdkFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTtcblxuICAgICAgcnVuSGVscENvbW1hbmQoJ2lmLWNzdicpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYG1hbmlmZXN0YCBhbmQgYHBhcmFtc2AgZmxhZ3MgdG8gYmUgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZDc3ZBcmdzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7bWFuaWZlc3QsIG91dHB1dCwgcGFyYW1zfSA9IHZhbGlkYXRlQW5kUGFyc2VJZkNzdkFyZ3MoKTtcblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpO1xuICAgIGNvbnN0IGlzTWFuaWZlc3RGaWxlRXhpc3RzID0gYXdhaXQgaXNGaWxlRXhpc3RzKHJlc3BvbnNlKTtcblxuICAgIGlmICghaXNNYW5pZmVzdEZpbGVFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKE1BTklGRVNUX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHttYW5pZmVzdCwgb3V0cHV0LCBwYXJhbXN9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHJldHVybiB7b3V0cHV0LCBwYXJhbXN9O1xufTtcbiJdfQ==