Recursively rename or copy object keys with full control.
yarn add @jswork/map-keysimport mapKeys from '@jswork/map-keys';
// Basic key renaming
const data = { oldKey: 'value', keepKey: 'another' };
const result = mapKeys(data, { oldKey: 'newKey' });
// { newKey: 'value', keepKey: 'another' }
// Copy mode: keep both original and new keys
const result2 = mapKeys(data, { oldKey: 'newKey' }, { mode: 'copy' });
// { oldKey: 'value', keepKey: 'another', newKey: 'value' }
// Deep nested transformation
const nested = {
users: [{ firstName: 'John', lastName: 'Doe' }]
};
const result3 = mapKeys(nested, {
firstName: 'first_name',
lastName: 'last_name'
});
// { users: [{ first_name: 'John', last_name: 'Doe' }] }Code released under the MIT license.