map.retrieve()
The map.retrieve() function retrieves a value from $map by a $method get or pick with a $key.
// Functions.
@use 'map.get.function' as *;
@use 'map.pick.function' as *;
// The `map.retrieve()` function.
@function retrieve($method, $map, $key, $fallback: null) {
  @return if(
    $method == get,
    get($map, $key, $fallback),
    if($method == pick, pick($map, $key...), $map or $fallback)
  );
}https://github.com/angular-package/sass/blob/main/map/_map.retrieve.function.scss
// Functions.
@use 'map.get.function' as *;
@use 'map.pick.function' as *;
// Status: TODO: Handle `null` in pick function with map.values.
// The `map.retrieve()` function retrieves a value from `$map` by a `$method` get or pick with a `$key`.
// @param `$method` The method get(`map.get()`)  or pick(`map.pick()`) used to retrieve the value.
// @param `$map` A map to get the value by using `$method` and `$key`.
// @param `$key` A key to get or pick the value from `$map`.
// @param `$fallback` The fallback value if returned is `null`.
// @return The return value is a retrieved value from `$map` or `$fallback`.
@function retrieve($method, $map, $key, $fallback: null) {
  @return if(
    $method == get,
    get($map, $key, $fallback),
    if($method == pick, pick($map, $key...), $map or $fallback)
  );
}
// Examples.
// $-dictionary-example: (
//   general: (word: sÅowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c),
//   class: (prefix: class-prefix, separator: class-separator, suffix: class-suffix, calendars: (calendar: cal), labels: (label: lab)),
//   prefix: spectre,
//   border: b,
//   color: c,
//   separator: '-',
//   suffix: end,
//   outline: o,
//   var: (prefix: var-prefix, suffix: var-suffix)
// );
// @debug retrieve(get, $-dictionary-example, general); // (word: sÅowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c)
// @debug retrieve(pick, $-dictionary-example, ((class, calendars),)); // (calendars: (calendar: cal))
// @debug retrieve(pick, $-dictionary-example, (general, (class, calendars))); // (general: (word: sÅowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c), calendars: (calendar: cal))
// input list
// @debug retrieve(pick $-dictionary-example ((class, calendars),)...); // (calendars: (calendar: cal))
// null
// @debug retrieve(get, $-dictionary-example, test); // null
// @debug retrieve(pick, $-dictionary-example, test); // (test: null)
Parameters
$method
$methodThe method get(map.get()) or pick(map.pick()) used to retrieve the value.
$map
$mapA map to get the value by using $method and $key.
$key
$keyA key to get or pick the value from $map.
$fallback: null
$fallback: nullThe fallback value if returned is null.
Return
The return value is a retrieved value from $map or $fallback.
Examples
// Use.
@use '@angular-package/sass/map';
// Examples.
$-dictionary-example: (
  general: (word: słowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c),
  class: (prefix: class-prefix, separator: class-separator, suffix: class-suffix, calendars: (calendar: cal), labels: (label: lab)),
  prefix: spectre,
  border: b,
  color: c,
  separator: '-',
  suffix: end,
  outline: o,
  var: (prefix: var-prefix, suffix: var-suffix)
);
@debug map.retrieve(get, $-dictionary-example, general); // (word: słowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c)
@debug map.retrieve(pick, $-dictionary-example, ((class, calendars),)); // (calendars: (calendar: cal))
@debug map.retrieve(pick, $-dictionary-example, (general, (class, calendars))); // (general: (word: słowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c), calendars: (calendar: cal))
// input list
@debug map.retrieve(pick $-dictionary-example ((class, calendars),)...); // (calendars: (calendar: cal))
// null
@debug map.retrieve(get, $-dictionary-example, test); // null
@debug map.retrieve(pick, $-dictionary-example, test); // (test: null)
Last updated
Was this helpful?

