function mapKeys
mapKeys<T extends Record<string, unknown>>(
obj: T | None,
fn: (
key: keyof T,
value: T[keyof T]
) => string
): Record<string, T[keyof T]>

Returns a new object with each key transformed by fn. Values are unchanged. If fn produces duplicate keys, later entries overwrite earlier ones.

Examples

Example 1

mapKeys({ a: 1, b: 2 }, (k) => k.toUpperCase()); // { A: 1, B: 2 }
mapKeys({ first: "Bob", last: "Lee" }, (k) => `user_${k}`); // { user_first: "Bob", user_last: "Lee" }
mapKeys(null, (k) => k); // {}

Type Parameters

T extends Record<string, unknown>

Parameters

obj: T | None
fn: (
key: keyof T,
value: T[keyof T]
) => string

Return Type

Record<string, T[keyof T]>

Usage

import { mapKeys } from ".";