UNPKG

chain-able

Version:

interfaces that describe their intentions.

43 lines (38 loc) 2.58 kB
var ArrayFrom = require('../util/from') /** * @desc Map -> Object * @since 4.0.0 * * @param {Map} map map to reduce, calls entries, turns into an array, then object * @return {Object} reduced object * * @see ArrayFrom * * @example * * var emptyMap = new Map() * reduce(emptyMap) * // => {} * * @example * * var map = new Map() * map.set('eh', 1) * reduce(map) * // => {eh: 1} * */ module.exports = function (map) { var reduced = {} // only need to do this if we actually have values in our Map if (map.size !== 0) { reduced = ArrayFrom(map.entries()).reduce(function (acc, ref) { var key = ref[0]; var value = ref[1]; acc[key] = value return acc }, {}) } return reduced } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlLmpzIiwic291cmNlcyI6WyJyZWR1Y2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQXJyYXlGcm9tID0gcmVxdWlyZSgnLi4vdXRpbC9mcm9tJylcblxuLyoqXG4gKiBAZGVzYyBNYXAgLT4gT2JqZWN0XG4gKiBAc2luY2UgNC4wLjBcbiAqXG4gKiBAcGFyYW0gIHtNYXB9IG1hcCBtYXAgdG8gcmVkdWNlLCBjYWxscyBlbnRyaWVzLCB0dXJucyBpbnRvIGFuIGFycmF5LCB0aGVuIG9iamVjdFxuICogQHJldHVybiB7T2JqZWN0fSByZWR1Y2VkIG9iamVjdFxuICpcbiAqIEBzZWUgQXJyYXlGcm9tXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICB2YXIgZW1wdHlNYXAgPSBuZXcgTWFwKClcbiAqICAgIHJlZHVjZShlbXB0eU1hcClcbiAqICAgIC8vID0+IHt9XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICB2YXIgbWFwID0gbmV3IE1hcCgpXG4gKiAgICBtYXAuc2V0KCdlaCcsIDEpXG4gKiAgICByZWR1Y2UobWFwKVxuICogICAgLy8gPT4ge2VoOiAxfVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBtYXAgPT4ge1xuICBsZXQgcmVkdWNlZCA9IHt9XG5cbiAgLy8gb25seSBuZWVkIHRvIGRvIHRoaXMgaWYgd2UgYWN0dWFsbHkgaGF2ZSB2YWx1ZXMgaW4gb3VyIE1hcFxuICBpZiAobWFwLnNpemUgIT09IDApIHtcbiAgICByZWR1Y2VkID0gQXJyYXlGcm9tKG1hcC5lbnRyaWVzKCkpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGFjY1trZXldID0gdmFsdWVcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCB7fSlcbiAgfVxuXG4gIHJldHVybiByZWR1Y2VkXG59XG4iXSwibmFtZXMiOlsiY29uc3QiLCJsZXQiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QnpDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBQSxHQUFHLENBQUEsQ0FBQyxBQUFHO0VBQ3RCQyxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUU7OztFQUdoQixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO0lBQ2xCLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQUEsQ0FBQyxHQUFHLEVBQUUsR0FBQSxBQUFJLEFBQU8sQUFBQyxFQUFFLEFBQUcsQ0FBaEI7VUFBQSxHQUFHLFVBQUU7VUFBQSxLQUFLO0FBQU87TUFDaEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUs7TUFDaEIsT0FBTyxHQUFHO0tBQ1gsRUFBRSxFQUFFLENBQUM7R0FDUDs7RUFFRCxPQUFPLE9BQU87Q0FDZjsifQ==