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

Defined in: [packages/common/src/Lookup.ts:45](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L45)

`Map`-like collection keyed by a [derived lookup key](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Lookup).

`set` preserves the first inserted representative for a logical key. `getKey`
returns that representative for callers that need stable identity.

## See

[createLookupMap](https://evolu.dev/docs/api-reference/common/Lookup/functions/createLookupMap)

## Extends

- [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol)\<readonly \[`K`, `V`\]\>

## Properties

<a id="iterator"></a>

### \[iterator\]

```ts
readonly [iterator]: () => IterableIterator<readonly [K, V]>;
```

Defined in: [packages/common/src/Lookup.ts:59](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L59)

#### Overrides

```ts
Iterable.[iterator]
```

---

<a id="clear"></a>

### clear

```ts
readonly clear: () => void;
```

Defined in: [packages/common/src/Lookup.ts:52](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L52)

### delete

```ts
readonly delete: (key: K) => boolean;
```

Defined in: [packages/common/src/Lookup.ts:51](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L51)

### entries

```ts
readonly entries: () => IterableIterator<readonly [K, V]>;
```

Defined in: [packages/common/src/Lookup.ts:55](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L55)

### forEach

```ts
readonly forEach: (callback: (value: V, key: K, map: LookupMap<K, V>) => void) => void;
```

Defined in: [packages/common/src/Lookup.ts:56](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L56)

### get

```ts
readonly get: (key: K) => V | undefined;
```

Defined in: [packages/common/src/Lookup.ts:48](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L48)

### getKey

```ts
readonly getKey: (key: K) => K | undefined;
```

Defined in: [packages/common/src/Lookup.ts:49](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L49)

### has

```ts
readonly has: (key: K) => boolean;
```

Defined in: [packages/common/src/Lookup.ts:47](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L47)

### keys

```ts
readonly keys: () => IterableIterator<K>;
```

Defined in: [packages/common/src/Lookup.ts:53](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L53)

### set

```ts
readonly set: (key: K, value: V) => LookupMap<K, V>;
```

Defined in: [packages/common/src/Lookup.ts:50](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L50)

### size

```ts
readonly size: number;
```

Defined in: [packages/common/src/Lookup.ts:46](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L46)

---

<a id="values"></a>

### values

```ts
readonly values: () => IterableIterator<V>;
```

Defined in: [packages/common/src/Lookup.ts:54](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Lookup.ts#L54)