Sha256: bd681b63d4850114eb7220223f8b83ecd54369703df540d823d635779de9467a

Contents?: true

Size: 884 Bytes

Versions: 10

Compression:

Stored size: 884 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)
	// return false so that sass still compiles without errors

	@if $value == NULL {
		@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

10 entries across 10 versions & 1 rubygems

Version Path
flint-gs-1.0.3 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.2 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.1 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-1.0.0 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.7 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.6 stylesheets/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.5 sass/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.4 sass/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.3 sass/flint/functions/lib/_map-fetch.scss
flint-gs-0.1.2 sass/flint/functions/lib/_map-fetch.scss