Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
touchto-core / dist / option.js
Size: Mime:
'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});
var _arguments = arguments;

var _lodash = require('lodash');

var _lodash2 = _interopRequireDefault(_lodash);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// The actual option data.
var data = {};

// Get or set an option value.
var option = function option(key, value) {
    var _no = key.match(/^no-(.+)$/);
    if (_arguments.length === 2) {
        return data[key] = value;
    } else if (_no) {
        return data[_no[1]] = false;
    }
    return data[key];
};

// Initialize option data.
option.init = function (obj) {
    data = obj || {};
};

// List of options as flags.

option.flags = function () {
    var keys = Object.keys(data);
    // Remove empty arrays
    var list = _lodash2.default.filter(keys, function (key) {
        return !_lodash2.default.isEqual(data[key], []);
    });
    return _lodash2.default.map(list, function (key) {
        var val = data[key];
        return '-- ' + (val === false ? 'no-' : '') + key + (typeof val === 'boolean' ? '' : '=' + val);
    });
};

exports.default = option;
module.exports = exports['default'];