[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) › objectFrom

```ts
function objectFrom<K, V>(
  keys: readonly K[],
  getValue: (key: K) => V,
): ReadonlyRecord<K, V>;
```

Defined in: [packages/common/src/Object.ts:133](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Object.ts#L133)

Creates an object by mapping keys to values.

The inverse of `Object.keys` — instead of extracting keys from an object,
builds an object from keys with a mapper function.

### Example

```ts
objectFrom(["en", "fr", "de"], loadTranslations);
// { en: Translations, fr: Translations, de: Translations }

objectFrom(["trace", "debug", "log"], (level) => createHandler(level));
// { trace: Handler, debug: Handler, log: Handler }
```