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

```ts
function createEqObject<A>(eqs: {
  [K in string | number | symbol]: Eq<A[K]>;
}): Eq<{ readonly [K in string | number | symbol]: A[K] }>;
```

Defined in: [packages/common/src/Eq.ts:210](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Eq.ts#L210)

Creates an equivalence function for objects based on an equivalence for their
fields.

### Example

```ts
import {
  assertFalse,
  assertTrue,
  createEqObject,
  eqNumber,
} from "@evolu/common";

const eqObjectNumber = createEqObject({ a: eqNumber });

assertTrue(eqObjectNumber({ a: 1 }, { a: 1 }));
assertFalse(eqObjectNumber({ a: 1 }, { a: 2 }));
```