Sha256: 50c055e3c1c05e10319bd268cb0a294505d953bd9edc09ed42713ea0c90be2ce

Contents?: true

Size: 930 Bytes

Versions: 14

Compression:

Stored size: 930 Bytes

Contents

// Fetch value from key in map
// -------------------------------------------------------------------------------
// @dependence `map-fetche()`
// -------------------------------------------------------------------------------
// @param $i [Map] : map
// @param $n [Keys...] : keys
// -------------------------------------------------------------------------------
// @return [Value] | false

@function map-fetch($map, $keys) {
	$key: nth($keys, 1);
	$length: length($keys);
	$value: map-get($map, $key);

	// check if value equals NULL (meaning the @param was incorrect and the map doesn't exist)

	@if $value == NULL {
		@warn "Invalid arguments padded to function: `map-fetch(#{$map}, #{$keys})`";
		@return false;
	}

	@else {
		@if $length > 1 {
			$rest: ();

			@for $i from 2 through $length {
				$rest: append($rest, nth($keys, $i))
			} 

			@return map-fetch($value, $rest);
			
		} @else {
			@return $value;
		}
	}
}

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
flint-gs-1.3.5 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.3.4 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.3.3 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.3.2 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.3.1 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.3.0 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.2.0 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.1.0 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.9 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.8 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.7 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.6 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.5 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.4 stylesheets/flint/functions/lib/_map-fetch.scss