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

Object utilities.

## Constants

| Variable                                                                   | Description               |
| -------------------------------------------------------------------------- | ------------------------- |
| [emptyRecord](https://evolu.dev/docs/api-reference/common/Object/variables/emptyRecord) | An empty readonly record. |

## Functions

| Function                                                                               | Description                                                                                                                                                                                    |
| -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [createObjectURL](https://evolu.dev/docs/api-reference/common/Object/functions/createObjectURL)     | Creates a disposable [ObjectURL](https://evolu.dev/docs/api-reference/common/Object/interfaces/ObjectURL) for the given blob.                                                                               |
| [createRecord](https://evolu.dev/docs/api-reference/common/Object/functions/createRecord)           | Creates a prototype-less object typed as `Record<K, V>`.                                                                                                                                       |
| [excludeProp](https://evolu.dev/docs/api-reference/common/Object/functions/excludeProp)             | Conditionally excludes a property from an object.                                                                                                                                              |
| [getProperty](https://evolu.dev/docs/api-reference/common/Object/functions/getProperty)             | Safely gets a property from a record, returning `undefined` if the key doesn't exist.                                                                                                          |
| [isFunction](https://evolu.dev/docs/api-reference/common/Object/functions/isFunction)               | Checks if a value is a function.                                                                                                                                                               |
| [isIterable](https://evolu.dev/docs/api-reference/common/Object/functions/isIterable)               | Checks if a value is [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol).                                                  |
| [isPlainObject](https://evolu.dev/docs/api-reference/common/Object/functions/isPlainObject)         | Checks if a value is a plain object (e.g., created with `{}` or `Object`).                                                                                                                     |
| [mapObject](https://evolu.dev/docs/api-reference/common/Object/functions/mapObject)                 | 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. |
| [objectFrom](https://evolu.dev/docs/api-reference/common/Object/functions/objectFrom)               | Creates an object by mapping keys to values.                                                                                                                                                   |
| [objectFromEntries](https://evolu.dev/docs/api-reference/common/Object/functions/objectFromEntries) | Creates an object from key-value pairs, preserving branded key types.                                                                                                                          |
| [objectToEntries](https://evolu.dev/docs/api-reference/common/Object/functions/objectToEntries)     | Like `Object.entries` but preserves branded keys.                                                                                                                                              |

## Interfaces

| Interface                                                               | Description                                                                                                                                                 |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ObjectURL](https://evolu.dev/docs/api-reference/common/Object/interfaces/ObjectURL) | A disposable wrapper around `URL.createObjectURL` that automatically revokes the URL when disposed. Use with the `using` declaration for automatic cleanup. |

## Type Aliases

| Type Alias                                                                          | Description                                                                                                                                                            |
| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ReadonlyRecord](https://evolu.dev/docs/api-reference/common/Object/type-aliases/ReadonlyRecord) | A read-only `Record<K, V>` with `K extends keyof any` to preserve branded key types (e.g., in [mapObject](https://evolu.dev/docs/api-reference/common/Object/functions/mapObject)). |