"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.taskRnvConfig = exports["default"] = void 0;var _consoleTablePrinter = require("console-table-printer");

var _logger = require("../../core/systemManager/logger");
var _constants = require("../../core/constants");
var _config = _interopRequireDefault(require("../../core/configManager/config"));
var _common = require("../../core/common");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}function _iterableToArrayLimit(arr, i) {var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];if (_i == null) return;var _arr = [];var _n = true;var _d = false;var _s, _e;try {for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}

var taskRnvConfig = function taskRnvConfig(c) {
  (0, _logger.logTask)('taskRnvConfig');

  var _getCliArguments = (0, _common.getCliArguments)(c),_getCliArguments2 = _slicedToArray(_getCliArguments, 3),key = _getCliArguments2[1],value = _getCliArguments2[2]; // first arg is config so it's useless
  if (key === 'list') {var _ref;
    var rows = [];
    Object.keys(_constants.configSchema).forEach(function (k) {return rows.push(_config["default"].listConfigValue(k));});

    (0, _consoleTablePrinter.printTable)((_ref = []).concat.apply(_ref, rows));
    return true;
  }

  // validate args
  if (!key) {
    // @todo add inquirer with list of options
    (0, _logger.logWarning)('Please specify a config');
    return true;
  }
  if (!_constants.configSchema[key]) {
    (0, _logger.logWarning)("Unknown config ".concat(key));
    return true;
  }

  if (!value) {
    // list the value
    (0, _consoleTablePrinter.printTable)(_config["default"].listConfigValue(key));
  } else if (_config["default"].setConfigValue(key, value)) {(0, _consoleTablePrinter.printTable)(_config["default"].listConfigValue(key));}

  return true;
};exports.taskRnvConfig = taskRnvConfig;var _default =

{
  description: 'Edit or display RNV configs',
  fn: taskRnvConfig,
  task: 'config',
  params: _constants.PARAMS.withBase(),
  platforms: [] };exports["default"] = _default;
//# sourceMappingURL=task.rnv.config.js.map