[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Object](https://evolu.dev/docs/api-reference/common/Object) › mapObject

```ts
function mapObject<K, V, U>(
  record: ReadonlyRecord<K, V>,
  fn: (value: V, key: K) => U,
): ReadonlyRecord<K, U>;
```

Defined in: [packages/common/src/Object.ts:233](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Object.ts#L233)

Maps a `ReadonlyRecord<K, V>` to a new `ReadonlyRecord<K, U>`, preserving
branded key types (e.g., `type Id = 'id' & string`) lost by `Object.entries`.
Uses `K extends string` for precision.