[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:55](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L55)

`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:71](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L71)

#### Overrides

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

---

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

### clear

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

Defined in: [packages/common/src/Lookup.ts:64](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L64)

### delete

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

Defined in: [packages/common/src/Lookup.ts:63](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L63)

### entries

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

Defined in: [packages/common/src/Lookup.ts:67](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L67)

### forEach

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

Defined in: [packages/common/src/Lookup.ts:68](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L68)

### get

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

Defined in: [packages/common/src/Lookup.ts:58](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L58)

### getKey

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

Defined in: [packages/common/src/Lookup.ts:61](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L61)

### getOrInsert

```ts
readonly getOrInsert: (key: K, defaultValue: V) => V;
```

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

### getOrInsertComputed

```ts
readonly getOrInsertComputed: (key: K, callbackfn: (key: K) => V) => V;
```

Defined in: [packages/common/src/Lookup.ts:60](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L60)

### has

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

Defined in: [packages/common/src/Lookup.ts:57](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L57)

### keys

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

Defined in: [packages/common/src/Lookup.ts:65](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L65)

### set

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

Defined in: [packages/common/src/Lookup.ts:62](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L62)

### size

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

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

---

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

### values

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

Defined in: [packages/common/src/Lookup.ts:66](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Lookup.ts#L66)