rename-obj-map
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

rename-obj-map

npm codecov

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 }

Package Sidebar

Install

npm i rename-obj-map

Weekly Downloads

1

Version

2.0.2

License

GPL-3.0-or-later

Unpacked Size

60.5 kB

Total Files

10

Last publish

Collaborators

  • elgreko