# 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.
