UNPKG

grind-cli

Version:
43 lines (32 loc) 4.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Input = void 0; var _InputArgument = require("./InputArgument.js"); var _InputOption = require("./InputOption.js"); class Input { constructor(rawArgs) { this.arguments = []; this.options = []; const length = rawArgs.length; for (let i = 0; i < length; i++) { const argument = rawArgs[i]; if (!argument.startsWith('-')) { this.arguments.push(new _InputArgument.InputArgument(new String(i), _InputArgument.InputArgument.VALUE_OPTIONAL, null, argument)); continue; } const components = argument.split(/=/); if (components.length === 1) { this.options.push(new _InputOption.InputOption(components[0], _InputOption.InputOption.VALUE_NONE, null, true)); } else { this.options.push(new _InputOption.InputOption(components[0], _InputOption.InputOption.VALUE_OPTIONAL, null, components[1])); } } } hasParameterOption(name) { return this.options.findIndex(option => option.name === name) >= 0; } } exports.Input = Input; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbnB1dC9JbnB1dC5qcyJdLCJuYW1lcyI6WyJJbnB1dCIsImNvbnN0cnVjdG9yIiwicmF3QXJncyIsImFyZ3VtZW50cyIsIm9wdGlvbnMiLCJsZW5ndGgiLCJpIiwiYXJndW1lbnQiLCJzdGFydHNXaXRoIiwicHVzaCIsIklucHV0QXJndW1lbnQiLCJTdHJpbmciLCJWQUxVRV9PUFRJT05BTCIsImNvbXBvbmVudHMiLCJzcGxpdCIsIklucHV0T3B0aW9uIiwiVkFMVUVfTk9ORSIsImhhc1BhcmFtZXRlck9wdGlvbiIsIm5hbWUiLCJmaW5kSW5kZXgiLCJvcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR08sTUFBTUEsS0FBTixDQUFZO0FBSWxCQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVTtBQUFBLFNBSHJCQyxTQUdxQixHQUhULEVBR1M7QUFBQSxTQUZyQkMsT0FFcUIsR0FGWCxFQUVXO0FBQ3BCLFVBQU1DLE1BQU0sR0FBR0gsT0FBTyxDQUFDRyxNQUF2Qjs7QUFFQSxTQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdELE1BQXBCLEVBQTRCQyxDQUFDLEVBQTdCLEVBQWlDO0FBQ2hDLFlBQU1DLFFBQVEsR0FBR0wsT0FBTyxDQUFDSSxDQUFELENBQXhCOztBQUVBLFVBQUksQ0FBQ0MsUUFBUSxDQUFDQyxVQUFULENBQW9CLEdBQXBCLENBQUwsRUFBK0I7QUFDOUIsYUFBS0wsU0FBTCxDQUFlTSxJQUFmLENBQ0MsSUFBSUMsNEJBQUosQ0FBa0IsSUFBSUMsTUFBSixDQUFXTCxDQUFYLENBQWxCLEVBQWlDSSw2QkFBY0UsY0FBL0MsRUFBK0QsSUFBL0QsRUFBcUVMLFFBQXJFLENBREQ7QUFHQTtBQUNBOztBQUVELFlBQU1NLFVBQVUsR0FBR04sUUFBUSxDQUFDTyxLQUFULENBQWUsR0FBZixDQUFuQjs7QUFFQSxVQUFJRCxVQUFVLENBQUNSLE1BQVgsS0FBc0IsQ0FBMUIsRUFBNkI7QUFDNUIsYUFBS0QsT0FBTCxDQUFhSyxJQUFiLENBQ0MsSUFBSU0sd0JBQUosQ0FBZ0JGLFVBQVUsQ0FBQyxDQUFELENBQTFCLEVBQStCRSx5QkFBWUMsVUFBM0MsRUFBdUQsSUFBdkQsRUFBNkQsSUFBN0QsQ0FERDtBQUdBLE9BSkQsTUFJTztBQUNOLGFBQUtaLE9BQUwsQ0FBYUssSUFBYixDQUNDLElBQUlNLHdCQUFKLENBQWdCRixVQUFVLENBQUMsQ0FBRCxDQUExQixFQUErQkUseUJBQVlILGNBQTNDLEVBQTJELElBQTNELEVBQWlFQyxVQUFVLENBQUMsQ0FBRCxDQUEzRSxDQUREO0FBR0E7QUFDRDtBQUNEOztBQUVESSxFQUFBQSxrQkFBa0IsQ0FBQ0MsSUFBRCxFQUFPO0FBQ3hCLFdBQU8sS0FBS2QsT0FBTCxDQUFhZSxTQUFiLENBQXVCQyxNQUFNLElBQUlBLE1BQU0sQ0FBQ0YsSUFBUCxLQUFnQkEsSUFBakQsS0FBMEQsQ0FBakU7QUFDQTs7QUFqQ2lCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICcuL0lucHV0QXJndW1lbnQnXG5pbXBvcnQgJy4vSW5wdXRPcHRpb24nXG5cbmV4cG9ydCBjbGFzcyBJbnB1dCB7XG5cdGFyZ3VtZW50cyA9IFtdXG5cdG9wdGlvbnMgPSBbXVxuXG5cdGNvbnN0cnVjdG9yKHJhd0FyZ3MpIHtcblx0XHRjb25zdCBsZW5ndGggPSByYXdBcmdzLmxlbmd0aFxuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgYXJndW1lbnQgPSByYXdBcmdzW2ldXG5cblx0XHRcdGlmICghYXJndW1lbnQuc3RhcnRzV2l0aCgnLScpKSB7XG5cdFx0XHRcdHRoaXMuYXJndW1lbnRzLnB1c2goXG5cdFx0XHRcdFx0bmV3IElucHV0QXJndW1lbnQobmV3IFN0cmluZyhpKSwgSW5wdXRBcmd1bWVudC5WQUxVRV9PUFRJT05BTCwgbnVsbCwgYXJndW1lbnQpLFxuXHRcdFx0XHQpXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNvbXBvbmVudHMgPSBhcmd1bWVudC5zcGxpdCgvPS8pXG5cblx0XHRcdGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMucHVzaChcblx0XHRcdFx0XHRuZXcgSW5wdXRPcHRpb24oY29tcG9uZW50c1swXSwgSW5wdXRPcHRpb24uVkFMVUVfTk9ORSwgbnVsbCwgdHJ1ZSksXG5cdFx0XHRcdClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMub3B0aW9ucy5wdXNoKFxuXHRcdFx0XHRcdG5ldyBJbnB1dE9wdGlvbihjb21wb25lbnRzWzBdLCBJbnB1dE9wdGlvbi5WQUxVRV9PUFRJT05BTCwgbnVsbCwgY29tcG9uZW50c1sxXSksXG5cdFx0XHRcdClcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRoYXNQYXJhbWV0ZXJPcHRpb24obmFtZSkge1xuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMuZmluZEluZGV4KG9wdGlvbiA9PiBvcHRpb24ubmFtZSA9PT0gbmFtZSkgPj0gMFxuXHR9XG59XG4iXX0=