UNPKG

grind-cli

Version:
49 lines (39 loc) 3.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InputOption = void 0; function _isnil(val) { return val === null || typeof val === 'undefined'; } const VALUE_NONE = 'none'; const VALUE_REQUIRED = 'required'; const VALUE_OPTIONAL = 'optional'; const cast = require('as-type'); class InputOption { constructor(name, mode, help = null, value = null) { this.name = null; this.mode = null; this.value = null; this.help = null; this.mode = mode; this.help = help; this.value = mode === VALUE_NONE ? cast.boolean(value) : value; if (name.startsWith('--')) { this.name = name.substring(2); } else if (name.startsWith('-')) { this.name = name.substring(1); } else { this.name = name; } } toString() { if (_isnil(this.value)) { return this.this; } return `${this.this}=${this.value}`; } } exports.InputOption = InputOption; InputOption.VALUE_NONE = VALUE_NONE; InputOption.VALUE_REQUIRED = VALUE_REQUIRED; InputOption.VALUE_OPTIONAL = VALUE_OPTIONAL; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbnB1dC9JbnB1dE9wdGlvbi5qcyJdLCJuYW1lcyI6WyJWQUxVRV9OT05FIiwiVkFMVUVfUkVRVUlSRUQiLCJWQUxVRV9PUFRJT05BTCIsImNhc3QiLCJyZXF1aXJlIiwiSW5wdXRPcHRpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtb2RlIiwiaGVscCIsInZhbHVlIiwiYm9vbGVhbiIsInN0YXJ0c1dpdGgiLCJzdWJzdHJpbmciLCJ0b1N0cmluZyIsInRoaXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE1BQU1BLFVBQVUsR0FBRyxNQUFuQjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxVQUF2QjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxVQUF2Qjs7QUFFQSxNQUFNQyxJQUFJLEdBQUdDLE9BQU8sQ0FBQyxTQUFELENBQXBCOztBQUVPLE1BQU1DLFdBQU4sQ0FBa0I7QUFVeEJDLEVBQUFBLFdBQVcsQ0FBQ0MsSUFBRCxFQUFPQyxJQUFQLEVBQWFDLElBQUksR0FBRyxJQUFwQixFQUEwQkMsS0FBSyxHQUFHLElBQWxDLEVBQXdDO0FBQUEsU0FMbkRILElBS21ELEdBTDVDLElBSzRDO0FBQUEsU0FKbkRDLElBSW1ELEdBSjVDLElBSTRDO0FBQUEsU0FIbkRFLEtBR21ELEdBSDNDLElBRzJDO0FBQUEsU0FGbkRELElBRW1ELEdBRjVDLElBRTRDO0FBQ2xELFNBQUtELElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLEtBQUwsR0FBYUYsSUFBSSxLQUFLUixVQUFULEdBQXNCRyxJQUFJLENBQUNRLE9BQUwsQ0FBYUQsS0FBYixDQUF0QixHQUE0Q0EsS0FBekQ7O0FBRUEsUUFBSUgsSUFBSSxDQUFDSyxVQUFMLENBQWdCLElBQWhCLENBQUosRUFBMkI7QUFDMUIsV0FBS0wsSUFBTCxHQUFZQSxJQUFJLENBQUNNLFNBQUwsQ0FBZSxDQUFmLENBQVo7QUFDQSxLQUZELE1BRU8sSUFBSU4sSUFBSSxDQUFDSyxVQUFMLENBQWdCLEdBQWhCLENBQUosRUFBMEI7QUFDaEMsV0FBS0wsSUFBTCxHQUFZQSxJQUFJLENBQUNNLFNBQUwsQ0FBZSxDQUFmLENBQVo7QUFDQSxLQUZNLE1BRUE7QUFDTixXQUFLTixJQUFMLEdBQVlBLElBQVo7QUFDQTtBQUNEOztBQUVETyxFQUFBQSxRQUFRLEdBQUc7QUFDVixlQUFJLEtBQUtKLEtBQVQsR0FBc0I7QUFDckIsYUFBTyxLQUFLSyxJQUFaO0FBQ0E7O0FBRUQsV0FBUSxHQUFFLEtBQUtBLElBQUssSUFBRyxLQUFLTCxLQUFNLEVBQWxDO0FBQ0E7O0FBOUJ1Qjs7O0FBQVpMLFcsQ0FDTEwsVSxHQUFhQSxVO0FBRFJLLFcsQ0FFTEosYyxHQUFpQkEsYztBQUZaSSxXLENBR0xILGMsR0FBaUJBLGMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBWQUxVRV9OT05FID0gJ25vbmUnXG5jb25zdCBWQUxVRV9SRVFVSVJFRCA9ICdyZXF1aXJlZCdcbmNvbnN0IFZBTFVFX09QVElPTkFMID0gJ29wdGlvbmFsJ1xuXG5jb25zdCBjYXN0ID0gcmVxdWlyZSgnYXMtdHlwZScpXG5cbmV4cG9ydCBjbGFzcyBJbnB1dE9wdGlvbiB7XG5cdHN0YXRpYyBWQUxVRV9OT05FID0gVkFMVUVfTk9ORVxuXHRzdGF0aWMgVkFMVUVfUkVRVUlSRUQgPSBWQUxVRV9SRVFVSVJFRFxuXHRzdGF0aWMgVkFMVUVfT1BUSU9OQUwgPSBWQUxVRV9PUFRJT05BTFxuXG5cdG5hbWUgPSBudWxsXG5cdG1vZGUgPSBudWxsXG5cdHZhbHVlID0gbnVsbFxuXHRoZWxwID0gbnVsbFxuXG5cdGNvbnN0cnVjdG9yKG5hbWUsIG1vZGUsIGhlbHAgPSBudWxsLCB2YWx1ZSA9IG51bGwpIHtcblx0XHR0aGlzLm1vZGUgPSBtb2RlXG5cdFx0dGhpcy5oZWxwID0gaGVscFxuXHRcdHRoaXMudmFsdWUgPSBtb2RlID09PSBWQUxVRV9OT05FID8gY2FzdC5ib29sZWFuKHZhbHVlKSA6IHZhbHVlXG5cblx0XHRpZiAobmFtZS5zdGFydHNXaXRoKCctLScpKSB7XG5cdFx0XHR0aGlzLm5hbWUgPSBuYW1lLnN1YnN0cmluZygyKVxuXHRcdH0gZWxzZSBpZiAobmFtZS5zdGFydHNXaXRoKCctJykpIHtcblx0XHRcdHRoaXMubmFtZSA9IG5hbWUuc3Vic3RyaW5nKDEpXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubmFtZSA9IG5hbWVcblx0XHR9XG5cdH1cblxuXHR0b1N0cmluZygpIHtcblx0XHRpZiAodGhpcy52YWx1ZS5pc05pbCkge1xuXHRcdFx0cmV0dXJuIHRoaXMudGhpc1xuXHRcdH1cblxuXHRcdHJldHVybiBgJHt0aGlzLnRoaXN9PSR7dGhpcy52YWx1ZX1gXG5cdH1cbn1cbiJdfQ==