{"version":3,"file":"mapKeys.cjs","names":[],"sources":["../../src/object/mapKeys.ts"],"sourcesContent":["/**\n * Creates an object with the same values as object and keys generated by running each own enumerable string keyed property through iteratee\n * @param obj - The object to iterate over\n * @param iteratee - The function invoked per iteration\n * @returns Returns the new mapped object\n * @example\n * mapKeys({ a: 1, b: 2 }, (value, key) => key + value); // { 'a1': 1, 'b2': 2 }\n */\nexport function mapKeys<T extends object, K extends string | number | symbol>(\n  obj: T,\n  iteratee: (value: T[keyof T], key: keyof T, obj: T) => K,\n): Record<K, T[keyof T]> {\n  if (obj == null) {\n    return {} as Record<K, T[keyof T]>;\n  }\n\n  const result = {} as Record<K, T[keyof T]>;\n\n  for (const key in obj) {\n    if (Object.prototype.hasOwnProperty.call(obj, key)) {\n      const newKey = iteratee(obj[key], key as keyof T, obj);\n      result[newKey] = obj[key];\n    }\n  }\n\n  return result;\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,QACd,KACA,UACuB;CACvB,IAAI,OAAO,MACT,OAAO,CAAC;CAGV,MAAM,SAAS,CAAC;CAEhB,KAAK,MAAM,OAAO,KAChB,IAAI,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG,GAAG;EAClD,MAAM,SAAS,SAAS,IAAI,MAAM,KAAgB,GAAG;EACrD,OAAO,UAAU,IAAI;CACvB;CAGF,OAAO;AACT"}