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

Lookup-key collections and helpers.

## Functions

| Function                                                                             | Description                                                                      |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| [createLookupMap](https://evolu.dev/docs/api-reference/common/Lookup/functions/createLookupMap)   | Creates [LookupMap](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/LookupMap). |
| [createLookupSet](https://evolu.dev/docs/api-reference/common/Lookup/functions/createLookupSet)   | Creates [LookupSet](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/LookupSet). |
| [structuralLookup](https://evolu.dev/docs/api-reference/common/Lookup/functions/structuralLookup) | Returns the structural lookup key for `key`.                                     |

## Interfaces

| Interface                                                                                         | Description                                                                                                       |
| ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| [CreateLookupMapOptions](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/CreateLookupMapOptions) | Options for [createLookupMap](https://evolu.dev/docs/api-reference/common/Lookup/functions/createLookupMap).                   |
| [CreateLookupSetOptions](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/CreateLookupSetOptions) | Options for [createLookupSet](https://evolu.dev/docs/api-reference/common/Lookup/functions/createLookupSet).                   |
| [LookupMap](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/LookupMap)                           | `Map`-like collection keyed by a [derived lookup key](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Lookup). |
| [LookupOption](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/LookupOption)                     | Optional [Lookup](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Lookup).                                     |
| [LookupSet](https://evolu.dev/docs/api-reference/common/Lookup/interfaces/LookupSet)                           | `Set`-like collection keyed by a [derived lookup key](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Lookup). |

## Type Aliases

| Type Alias                                                                                    | Description                                                                                                                                                                                |
| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Lookup](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Lookup)                           | Derives the native lookup key used by lookup-based collections.                                                                                                                            |
| [Structural](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Structural)                   | Compile-time structural form of `T` for structural lookup APIs.                                                                                                                            |
| [StructuralFunction](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/StructuralFunction)   | Function branch excluded by [Structural](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Structural).                                                                                   |
| [StructuralKey](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/StructuralKey)             | Immutable structural key.                                                                                                                                                                  |
| [StructuralLookupKey](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/StructuralLookupKey) | Branded native key produced by [structuralLookup](https://evolu.dev/docs/api-reference/common/Lookup/functions/structuralLookup).                                                                       |
| [StructuralScalar](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/StructuralScalar)       | Scalar branch shared by [StructuralKey](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/StructuralKey) and [Structural](https://evolu.dev/docs/api-reference/common/Lookup/type-aliases/Structural). |