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]>