Sha256: 9fe4aead4c23f9e694c1d7e4f827df0a15142dcf69b47be8c932bd2a2f4d5cd8
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
// Map Toolkit // =========== // Truncate List // ------------- // - Return a list, truncated to a given length @function truncate-list( $list, $length ) { $return: (); @for $i from 1 through length($list) { $return: if($i <= $length, append($return, nth($list, $i)), $return); } @return $return; } // Deep Get // -------- // - Return a value deep in nested maps @function deep-get( $map, $keys... ) { $return: $map; @each $key in $keys { @if type-of($return) == map { $return: map-get($return, $key); } } @return $return; } // Deep Set // -------- // - Set a value deep in nested maps @function deep-set( $map, $keys, $value ) { $length: length($keys); $return: (); @for $i from 1 through $length { $n: 0 - $i; $level: truncate-list($keys, $length + $n); $level: deep-get($map, $level...); $merge: (nth($keys, $n): $value); $value: if($level, map-merge($level, $merge), $merge); $return: $value; } @return $return; } // Deep Has-Key // ------------ // - Return true if a deep key exists @function deep-has-key( $map, $keys... ) { $return: null; $break: false; @each $key in $keys { @if not $break { $return: map-has-key($map, $key); } @if $return { $map: map-get($map, $key); } @else { $break: true; } } @return $return; }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
susy-2.0.0.beta.3 | sass/susy/language/shared/_maps.scss |
susy-2.0.0.beta.2 | sass/susy/language/shared/_maps.scss |