# Overview

##

## Pattern

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong><code>pattern.is()</code></strong></td><td>Checks whether the <a href="../pattern/pattern.is#usdvalue"><code>$value</code></a> is a map pattern.</td><td></td><td><a href="pattern/pattern.is">pattern.is</a></td></tr><tr><td><strong>Variables</strong></td><td></td><td></td><td><a href="pattern/variables">variables</a></td></tr></tbody></table>

## Pick

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong><code>pick.key-substring()</code></strong></td><td>Returns a copy of <a href="../pick/pick.key-substring#usdmap"><code>$map</code></a> with keys of <a href="../pick/pick.key-substring#usdsubstrings..."><code>$substrings</code></a>.</td><td></td><td><a href="pick/pick.key-substring">pick.key-substring</a></td></tr><tr><td><strong><code>pick.key-type()</code></strong></td><td>Returns a map with values of <a href="../pick/pick.key-type#usdtypes..."><code>$types</code></a>.</td><td></td><td><a href="pick/pick.key-type">pick.key-type</a></td></tr><tr><td><strong><code>pick.pattern()</code></strong></td><td>Returns a copy of <a href="../pick/pick.pattern#usdmap"><code>$map</code></a> filtered by using pattern.</td><td></td><td><a href="pick/pick.pattern">pick.pattern</a></td></tr><tr><td><strong><code>pick.type()</code></strong></td><td>Picks the properties with values and/or keys of the specified type.</td><td></td><td><a href="pick/pick.type">pick.type</a></td></tr><tr><td><strong><code>pick.value-type()</code></strong></td><td>Picks the properties with values of the specified <a href="../pick/pick.value-type#usdtypes..."><code>$types</code></a>.</td><td></td><td><a href="pick/pick.value-type">pick.value-type</a></td></tr></tbody></table>

## Map

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong><code>map.deep-merge-key()</code></strong></td><td>Merges <a href="../map.deep-merge-key#usdmap"><code>$map</code></a> with retrieved values from <a href="../map.deep-merge-key#usdkeys..."><code>$keys</code></a> of this <a href="../map.deep-merge-key#usdmap"><code>$map</code></a>.</td><td></td><td><a href="map.deep-merge-key">map.deep-merge-key</a></td></tr><tr><td><strong><code>map.deep-merge()</code></strong></td><td>Merges multiple maps by using sass original <code>deep-merge()</code>.</td><td><a data-footnote-ref href="#user-content-fn-1">modified</a></td><td><a href="map.deep-merge">map.deep-merge</a></td></tr><tr><td><strong><code>map.get()</code></strong></td><td>Returns the value associated with <a href="../map.get#usdkey"><code>$key</code></a> in <a href="../map.get#usdkey"><code>$map</code></a>, and returns <a href="../map.get#usdfallback-null"><code>$fallback</code></a> if returned is <code>null</code>.</td><td><a data-footnote-ref href="#user-content-fn-2">modified</a></td><td><a href="map.get">map.get</a></td></tr><tr><td><strong><code>map.has-keys()</code></strong></td><td>Checks whether <a href="../map.has-keys#usdmap"><code>$map</code></a> contains <a href="../map.has-keys#usdkeys..."><code>$keys</code></a>.</td><td></td><td><a href="map.has-keys">map.has-keys</a></td></tr><tr><td><strong><code>map.key-replace()</code></strong></td><td>Returns the map with key <a href="../map.key-replace#usdreplace"><code>$replace</code></a> replaced by <a href="../map.key-replace#usdreplacement"><code>$replacement</code></a>.</td><td></td><td><a href="map.key-replace">map.key-replace</a></td></tr><tr><td><strong><code>map.pick()</code></strong></td><td>Returns a copy of <a href="../map.pick#usdmap"><code>$map</code></a> of <a href="../map.pick#usdkeys..."><code>$keys</code></a>.</td><td></td><td><a href="map.pick">map.pick</a></td></tr><tr><td><strong><code>map.remove-type()</code></strong></td><td>Removes the properties from <a href="../map.remove-type#usdmap"><code>$map</code></a> where values are of <a href="../map.remove-type#usdtypes..."><code>$types</code></a>.</td><td></td><td><a href="map.remove-type">map.remove-type</a></td></tr><tr><td><strong><code>map.remove()</code></strong></td><td>The <code>map.remove()</code> function with unified <code>map.remove()</code> and <code>deep-remove()</code> returns a copy <a href="../map.remove#usdmap"><code>$map</code></a> without <a href="../map.remove#usdkeys..."><code>$keys</code></a>.</td><td><a data-footnote-ref href="#user-content-fn-3">modified</a></td><td><a href="map.remove">map.remove</a></td></tr><tr><td><strong><code>map.retrieve()</code></strong></td><td>Retrieves a value from <a href="../map.retrieve#usdmap"><code>$map</code></a> by a <a href="../map.retrieve#usdmethod"><code>$method</code></a> get or pick with a <a href="../map.retrieve#usdkey"><code>$key</code></a>.</td><td></td><td><a href="map.retrieve">map.retrieve</a></td></tr><tr><td><strong><code>map.set()</code></strong></td><td>Sets the <a href="../map.set#usdallowed..."><code>$allowed</code></a> <a href="../map.set#usdvalue"><code>$value</code></a> under <a href="../map.set#usdkey"><code>$key</code></a> in <a href="../map.set#usdmap"><code>$map</code></a>.</td><td><a data-footnote-ref href="#user-content-fn-4">modified</a></td><td><a href="map.set">map.set</a></td></tr><tr><td><strong><code>map.update()</code></strong></td><td>Allows to set multiple key-value sets in a <a href="../map.update#usdmap"><code>$map</code></a>.</td><td></td><td><a href="map.update">map.update</a></td></tr><tr><td><strong><code>map.values()</code></strong></td><td><p>Returns all values or values of <a href="../map.values#usdkeys..."><code>$keys</code></a> from <a href="../map.values#usdmap"><code>$map</code></a>.</p><p></p></td><td><a data-footnote-ref href="#user-content-fn-5">modified</a></td><td><a href="map.values">map.values</a></td></tr></tbody></table>

[^1]: The function modify original `map.deep-merge()` by adding arbitrary [`$maps...`](https://docs.angular-package.dev/sass/map.deep-merge#usdmaps...) argument, to deep merge multiple maps.

[^2]: Modified by removing arbitrary argument `$keys...` and instead, adding [`$fallback`](https://docs.angular-package.dev/sass/map.get#usdfallback-null) value. To get the nested value use key as comma-separated list. This way of providing key as comma-separated list is consistent with [`map.remove()`](https://docs.angular-package.dev/sass/map/map.remove) and [`map.set()`](https://docs.angular-package.dev/sass/map/map.set) functions.

[^3]: Modified by adding deep remove on key as comma-separated list. This way of providing key is consistent with a [`map.set()`](https://docs.angular-package.dev/sass/map/map.set) and [`map.get()`](https://docs.angular-package.dev/sass/map/map.get) functions.

[^4]: Original sass `map.set()` function modified, by adding [`$allowed...`](https://docs.angular-package.dev/sass/map.set#usdallowed...) arbitrary argument to check if `$value` is allowed to be set.

[^5]: The modified `map.values()` function, by adding arbitrary parameter [`$keys...`](https://docs.angular-package.dev/sass/map.values#usdkeys...) to return values of the specified keys.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.angular-package.dev/sass/map/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
