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    
@skava/modules / ___dist / chain-able / src / deps / loop / map / mapObjOrArrayKeys.js
Size: Mime:
"use strict";

const isArray = require("../../is/array");

const objOrArrayKeys = require("../../util/keysObjOrArray");

const curry = require("../../fp/curry");
/**
 * @alias mapAnyKeys
 * @memberOf loop
 * @since 5.0.0-beta.6
 */


function mapObjOrArrayKeys(obj, iteratee, result = {}) {
  const isArrayObj = isArray(obj);
  const keys = objOrArrayKeys(obj);

  for (let index = 0; index < keys.length; index++) {
    const key = isArrayObj ? index : keys[index];
    const value = obj[key];
    result[iteratee(value, key, obj)] = value;
  }

  return result;
}

module.exports = curry(2, mapObjOrArrayKeys);