## map · function

When using a Map as `source`.

**Signature:** `{ <K, IN, OUT>(source: Map<K, IN>, func: (value: IN, key: K) => OUT): Map<K, OUT>; <IN, OUT>(source: IN[], func: (value: IN, index: number) => OUT): OUT[]; <IN, const IN_KEY extends string | number | symbol, OUT>(source: Record<...>, func: (value: IN, index: KeyToString<...>) => OUT): Record<...>; }`

**Type Parameters:**

- `K`
- `IN`
- `OUT`

**Parameters:**

- `source: Map<K, IN>`
- `func: (value: IN, key: K) => undefined | OUT`
