rename-obj-map
Rename object keys with inferable types.
Install
npm i rename-obj-map
Or
yarn add rename-obj-map
Usage
renameKeys (renameMap, obj)
Creates a new obj
with the own properties of the provided object, but
the keys renamed according to renameMap
.
import { renameKeys } from 'rename-obj-map';
renameKeys({ _id: 'id' }, { _id: 1234578 });
// → { id: 1234578 }
// → infer as { id: number }
enum remapEnums {
_id = 'id',
}
renameKeys(remapEnums, { _id: 1234578 });
// → { id: 1234578 }
// → infer as { id: number }
const remap = { _id: 'id' } as const;
const obj = { _id: 1234578 };
renameKeys(remap, obj);
// → { id: 1234578 }
// → infer as { id: number }
renameKeys (renameMap)→(obj)
Curried version of renameKeys
.
import { renameKeys } from 'rename-obj-map';
const res0 = renameKeys({ _id: 'id' })({ _id: 1234578 });
// → { id: 1234578 }
// → infer as { id: number }
enum remapEnums {
_id = 'id',
}
const res1 = renameKeys(remapEnums)({ _id: 1234578 });
// → { id: 1234578 }
// → infer as { id: number }
const remap = { _id: 'id' } as const;
const obj = { _id: 1234578 };
const res2 = renameKeys(remap)(obj);
// → { id: 1234578 }
// → infer as { id: number }