UNPKG

mirror-key-value

Version:

Mirroring to keys and values from array of strings

40 lines (35 loc) 791 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = mirrorKeyValue; /*! * @license mirror-key-value * (c) sugarshin * License: MIT */ /** * mirrorKeyValue * * @param {String[]} array * @param {Object} [base = {}] * @returns {Object} */ function mirrorKeyValue(array) { var base = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; if (!Array.isArray(array) || !isStrings(array)) { throw new TypeError('should be an array of string.'); } return array.reduce(function (result, str) { if (result[str]) { return result; } result[str] = str; return result; }, base); } function isStrings(array) { return array.every(function (val) { return typeof val === 'string'; }); }