SassyLists 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -43
  3. data/README.md +73 -73
  4. data/lib/SassyLists.rb +21 -21
  5. data/stylesheets/SassyLists/_chunk.scss +41 -41
  6. data/stylesheets/SassyLists/_comma-list.scss +9 -0
  7. data/stylesheets/SassyLists/_contain.scss +17 -17
  8. data/stylesheets/SassyLists/_count-values.scss +18 -18
  9. data/stylesheets/SassyLists/_debug.scss +96 -96
  10. data/stylesheets/SassyLists/_every.scss +17 -17
  11. data/stylesheets/SassyLists/_explode.scss +52 -52
  12. data/stylesheets/SassyLists/_first.scss +23 -23
  13. data/stylesheets/SassyLists/_flatten.scss +35 -35
  14. data/stylesheets/SassyLists/_insert-nth.scss +48 -48
  15. data/stylesheets/SassyLists/_intersection.scss +30 -30
  16. data/stylesheets/SassyLists/_is-empty.scss +18 -0
  17. data/stylesheets/SassyLists/_is-symmetrical.scss +20 -20
  18. data/stylesheets/SassyLists/_last-index.scss +20 -20
  19. data/stylesheets/SassyLists/_last.scss +17 -17
  20. data/stylesheets/SassyLists/_loop.scss +37 -37
  21. data/stylesheets/SassyLists/_prepend.scss +22 -22
  22. data/stylesheets/SassyLists/_purge.scss +29 -29
  23. data/stylesheets/SassyLists/_random-value.scss +29 -29
  24. data/stylesheets/SassyLists/_remove-duplicates.scss +24 -24
  25. data/stylesheets/SassyLists/_remove-nth.scss +21 -21
  26. data/stylesheets/SassyLists/_remove.scss +22 -22
  27. data/stylesheets/SassyLists/_replace-nth.scss +26 -26
  28. data/stylesheets/SassyLists/_replace.scss +32 -32
  29. data/stylesheets/SassyLists/_reverse.scss +29 -29
  30. data/stylesheets/SassyLists/_shuffle.scss +30 -30
  31. data/stylesheets/SassyLists/_slice.scss +53 -53
  32. data/stylesheets/SassyLists/_some.scss +17 -17
  33. data/stylesheets/SassyLists/_sort.scss +42 -42
  34. data/stylesheets/SassyLists/_sum.scss +28 -28
  35. data/stylesheets/SassyLists/_tail.scss +20 -20
  36. data/stylesheets/SassyLists/_to-list.scss +18 -0
  37. data/stylesheets/SassyLists/_to-map.scss +50 -50
  38. data/stylesheets/SassyLists/_to-string.scss +25 -25
  39. data/stylesheets/SassyLists/_union.scss +24 -24
  40. data/stylesheets/SassyLists/_walk.scss +23 -23
  41. data/stylesheets/SassyLists/helpers/_missing-dependencies.scss +22 -22
  42. data/stylesheets/SassyLists/helpers/_str-compare.scss +27 -27
  43. data/stylesheets/SassyLists/helpers/_true.scss +10 -10
  44. data/stylesheets/_SassyLists.scss +45 -42
  45. metadata +8 -5
@@ -1,30 +1,30 @@
1
- // Shuffle `$list` using Fisher-Yates method.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#shuffle
4
- //
5
- // @param {List} $list - list to shuffle
6
- //
7
- // @return {List}
8
-
9
- @function sl-shuffle($list) {
10
- $length: length($list);
11
-
12
- @if $length < 2 {
13
- @return $list;
14
- }
15
-
16
- @for $i from $length through 1 {
17
- $j: random($length - 1) + 1;
18
- $tmp: nth($list, $i);
19
- $list: set-nth($list, $i, nth($list, $j));
20
- $list: set-nth($list, $j, $tmp);
21
- }
22
-
23
- @return $list;
24
- }
25
-
26
- // @alias sl-shuffle
27
-
28
- @function sl-randomize($list) {
29
- @return sl-shuffle($list);
30
- }
1
+ // Shuffle `$list` using Fisher-Yates method.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-shuffle
4
+ //
5
+ // @param {List} $list - list to shuffle
6
+ //
7
+ // @return {List}
8
+
9
+ @function sl-shuffle($list) {
10
+ $length: length($list);
11
+
12
+ @if $length < 2 {
13
+ @return $list;
14
+ }
15
+
16
+ @for $i from $length through 1 {
17
+ $j: random($length - 1) + 1;
18
+ $tmp: nth($list, $i);
19
+ $list: set-nth($list, $i, nth($list, $j));
20
+ $list: set-nth($list, $j, $tmp);
21
+ }
22
+
23
+ @return $list;
24
+ }
25
+
26
+ // @alias sl-shuffle
27
+
28
+ @function sl-randomize($list) {
29
+ @return sl-shuffle($list);
30
+ }
@@ -1,54 +1,54 @@
1
- // Slices `$list` between `$start` and `$end`.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#slice
4
- //
5
- // @param {List} $list - list to slice
6
- // @param {Number} $start (1) - start index
7
- // @param {Number} $end (length($list)) - end index
8
- //
9
- // @throws List indexes $start and $end must be numbers for `sl-slice`.
10
- // @throws Start index has to be lesser than or equals to the end index for `sl-slice`.
11
- // @throws List indexes must be non-zero integers for `sl-slice`.
12
- // @throws Start index has to be lesser than or equal to list length for `sl-slice`.
13
- // @throws End index has to be lesser than or equal to list length for `sl-slice`.
14
- //
15
- // @return {List | Null}
16
-
17
- @function sl-slice($list, $start: 1, $end: length($list)) {
18
- @if type-of($start) != "number" or type-of($end) != "number" {
19
- @warn "List indexes #{$start} and #{$end} must be numbers for `sl-slice`.";
20
- @return null;
21
- }
22
-
23
- @if $start > $end {
24
- @warn "Start index is #{$start} but has to be lesser than or equals to the end index (#{$end}) for `sl-slice`.";
25
- @return null;
26
- }
27
-
28
- @if $start < 1 or $end < 1 {
29
- @warn "List indexes must be non-zero integers for `sl-slice`.";
30
- @return null;
31
- }
32
-
33
- @if $start > length($list) {
34
- @warn "Start index is #{$start} but list is only #{length($list)} items long for `sl-slice`.";
35
- @return null;
36
- }
37
-
38
- @if $end > length($list) {
39
- @warn "End index is #{$end} but list is only #{length($list)} items long for `sl-slice`.";
40
- @return null;
41
- }
42
-
43
- @if $start == $end {
44
- @return nth($list, $start);
45
- }
46
-
47
- $result: ();
48
-
49
- @for $i from $start through $end {
50
- $result: append($result, nth($list, $i), list-separator($list));
51
- }
52
-
53
- @return $result;
1
+ // Slices `$list` between `$start` and `$end`.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-slice
4
+ //
5
+ // @param {List} $list - list to slice
6
+ // @param {Number} $start (1) - start index
7
+ // @param {Number} $end (length($list)) - end index
8
+ //
9
+ // @throws List indexes $start and $end must be numbers for `sl-slice`.
10
+ // @throws Start index has to be lesser than or equals to the end index for `sl-slice`.
11
+ // @throws List indexes must be non-zero integers for `sl-slice`.
12
+ // @throws Start index has to be lesser than or equal to list length for `sl-slice`.
13
+ // @throws End index has to be lesser than or equal to list length for `sl-slice`.
14
+ //
15
+ // @return {List | Null}
16
+
17
+ @function sl-slice($list, $start: 1, $end: length($list)) {
18
+ @if type-of($start) != "number" or type-of($end) != "number" {
19
+ @warn "List indexes #{$start} and #{$end} must be numbers for `sl-slice`.";
20
+ @return null;
21
+ }
22
+
23
+ @if $start > $end {
24
+ @warn "Start index is #{$start} but has to be lesser than or equals to the end index (#{$end}) for `sl-slice`.";
25
+ @return null;
26
+ }
27
+
28
+ @if $start < 1 or $end < 1 {
29
+ @warn "List indexes must be non-zero integers for `sl-slice`.";
30
+ @return null;
31
+ }
32
+
33
+ @if $start > length($list) {
34
+ @warn "Start index is #{$start} but list is only #{length($list)} items long for `sl-slice`.";
35
+ @return null;
36
+ }
37
+
38
+ @if $end > length($list) {
39
+ @warn "End index is #{$end} but list is only #{length($list)} items long for `sl-slice`.";
40
+ @return null;
41
+ }
42
+
43
+ @if $start == $end {
44
+ @return nth($list, $start);
45
+ }
46
+
47
+ $result: ();
48
+
49
+ @for $i from $start through $end {
50
+ $result: append($result, nth($list, $i), list-separator($list));
51
+ }
52
+
53
+ @return $result;
54
54
  }
@@ -1,17 +1,17 @@
1
- // Tests whether some items from `$list` pass the test implemented by `$function`.
2
- //
3
- // @param {List} $list - list to run test against
4
- // @param {String} $function - function to run against every item from list
5
- // @param {ArgList} $args - extra arguments to pass to the function
6
- //
7
- // @return {Bool}
8
-
9
- @function sl-some($list, $function, $args...) {
10
- @each $item in $list {
11
- @if call($function, $item, $args...) {
12
- @return true;
13
- }
14
- }
15
-
16
- @return false;
17
- }
1
+ // Tests whether some items from `$list` pass the test implemented by `$function`.
2
+ //
3
+ // @param {List} $list - list to run test against
4
+ // @param {String} $function - function to run against every item from list
5
+ // @param {ArgList} $args - extra arguments to pass to the function
6
+ //
7
+ // @return {Bool}
8
+
9
+ @function sl-some($list, $function, $args...) {
10
+ @each $item in $list {
11
+ @if call($function, $item, $args...) {
12
+ @return true;
13
+ }
14
+ }
15
+
16
+ @return false;
17
+ }
@@ -1,42 +1,42 @@
1
- // Sorts values of `$list` using quick-sort algorithm using `$order`.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#sort
4
- //
5
- // @requires sl-str-compare
6
- //
7
- // @param {List} $list - list to sort
8
- // @param {List} $order - order to respect
9
- //
10
- // @return {List}
11
-
12
- @function sl-sort($list, $order: "!" "#" "$" "%" "&" "'" "(" ")" "*" "+" "," "-" "." "/" "[" "\\" "]" "^" "_" "{" "|" "}" "~" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z") {
13
- @if sl-missing-dependencies(sl-str-compare) == true { @return null; }
14
-
15
- $less: ();
16
- $equal: ();
17
- $large: ();
18
- $length: length($list);
19
-
20
- @if $length > 1 {
21
- $seed: nth($list, ceil($length / 2));
22
- @each $item in $list {
23
- @if $item == $seed {
24
- $equal: append($equal, $item, list-separator($list));
25
- }
26
- @else if sl-str-compare($item, $seed, $order) {
27
- $less: append($less, $item, list-separator($list));
28
- }
29
- @else if not sl-str-compare($item, $seed, $order) {
30
- $large: append($large, $item, list-separator($list));
31
- }
32
- }
33
- @return join(join(sl-sort($less, $order), $equal), sl-sort($large, $order));
34
- }
35
- @return $list;
36
- }
37
-
38
- // @alias sl-sort
39
-
40
- @function sl-order($list) {
41
- @return sl-sort($list);
42
- }
1
+ // Sorts values of `$list` using quick-sort algorithm using `$order`.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-sort
4
+ //
5
+ // @requires sl-str-compare
6
+ //
7
+ // @param {List} $list - list to sort
8
+ // @param {List} $order - order to respect
9
+ //
10
+ // @return {List}
11
+
12
+ @function sl-sort($list, $order: "!" "#" "$" "%" "&" "'" "(" ")" "*" "+" "," "-" "." "/" "[" "\\" "]" "^" "_" "{" "|" "}" "~" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z") {
13
+ @if sl-missing-dependencies(sl-str-compare) == true { @return null; }
14
+
15
+ $less: ();
16
+ $equal: ();
17
+ $large: ();
18
+ $length: length($list);
19
+
20
+ @if $length > 1 {
21
+ $seed: nth($list, ceil($length / 2));
22
+ @each $item in $list {
23
+ @if $item == $seed {
24
+ $equal: append($equal, $item, list-separator($list));
25
+ }
26
+ @else if sl-str-compare($item, $seed, $order) {
27
+ $less: append($less, $item, list-separator($list));
28
+ }
29
+ @else if not sl-str-compare($item, $seed, $order) {
30
+ $large: append($large, $item, list-separator($list));
31
+ }
32
+ }
33
+ @return join(join(sl-sort($less, $order), $equal), sl-sort($large, $order));
34
+ }
35
+ @return $list;
36
+ }
37
+
38
+ // @alias sl-sort
39
+
40
+ @function sl-order($list) {
41
+ @return sl-sort($list);
42
+ }
@@ -1,28 +1,28 @@
1
- // Sums up all numeric values in `$list`, stripping unit if `$force` set to `true`.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#sum
4
- //
5
- // @param {List} $list - list
6
- // @param {Boolean} $force (false) - enable/disable parseInt
7
- //
8
- // @return {Number}
9
-
10
- @function sl-sum($list, $force: false) {
11
- $result: 0;
12
-
13
- @each $item in $list {
14
- @if type-of($item) == number {
15
-
16
- @if $force and not unitless($item) {
17
- $item: $item / ($item * 0 + 1);
18
- }
19
-
20
- @if unitless($item) {
21
- $result: $result + $item;
22
- }
23
-
24
- }
25
- }
26
-
27
- @return $result;
28
- }
1
+ // Sums up all numeric values in `$list`, stripping unit if `$force` set to `true`.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-sum
4
+ //
5
+ // @param {List} $list - list
6
+ // @param {Bool} $force (false) - enable/disable parseInt
7
+ //
8
+ // @return {Number}
9
+
10
+ @function sl-sum($list, $force: false) {
11
+ $result: 0;
12
+
13
+ @each $item in $list {
14
+ @if type-of($item) == number {
15
+
16
+ @if $force and not unitless($item) {
17
+ $item: $item / ($item * 0 + 1);
18
+ }
19
+
20
+ @if unitless($item) {
21
+ $result: $result + $item;
22
+ }
23
+
24
+ }
25
+ }
26
+
27
+ @return $result;
28
+ }
@@ -1,21 +1,21 @@
1
- // Returns the tail of `$list`: all items except the first (head).
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#tail
4
- //
5
- // @requires sl-slice
6
- //
7
- // @param {List} $list - list to retrieve tail from
8
- //
9
- // @return {List | Null}
10
-
11
- @function sl-tail($list) {
12
- @if sl-missing-dependencies(sl-slice) == true { @return null; }
13
-
14
- @return sl-slice($list, 2);
15
- }
16
-
17
- // @alias sl-tail
18
-
19
- @function sl-rest($list) {
20
- @return sl-tail($list);
1
+ // Returns the tail of `$list`: all items except the first (head).
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-tail
4
+ //
5
+ // @requires sl-slice
6
+ //
7
+ // @param {List} $list - list to retrieve tail from
8
+ //
9
+ // @return {List | Null}
10
+
11
+ @function sl-tail($list) {
12
+ @if sl-missing-dependencies(sl-slice) == true { @return null; }
13
+
14
+ @return sl-slice($list, 2);
15
+ }
16
+
17
+ // @alias sl-tail
18
+
19
+ @function sl-rest($list) {
20
+ @return sl-tail($list);
21
21
  }
@@ -0,0 +1,18 @@
1
+ // Casts `$value` into a list.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-to-list
4
+ //
5
+ // @param {*} $value - value to cast to list
6
+ //
7
+ // @return {List}
8
+
9
+ @function sl-to-list($value) {
10
+ @return if(type-of($value) == "list", $value, ($value,));
11
+ }
12
+
13
+ // @requires sl-to-list
14
+ // @alias sl-to-list
15
+
16
+ @function sl-listify($value) {
17
+ @return sl-to-list($value);
18
+ }
@@ -1,51 +1,51 @@
1
- // Cast a `$list` into a map, using indexes as keys (starting with `$start`).
2
- // Useful for iterating through a list with an index variable.
3
- // e.g. `@each $i, $value in to-map($list)`
4
- //
5
- // @author Andrey "Lolmaus" Mikhaylov
6
- //
7
- // @ignore Documentation: http://sassylists.com/documentation/#to-map
8
- //
9
- // @param {List} $list - list to turn into map
10
- // @param {Number} $start (1) - index to start with
11
- //
12
- // @throws List cannot be empty for `sl-to-map`.
13
- // @throws $start is not a number for `sl-to-map`.
14
- //
15
- // @return {Map | Null}
16
-
17
- @function sl-to-map($list, $start: 1) {
18
- @if length($list) == 0 {
19
- @warn "List cannot be empty for `sl-to-map`.";
20
- @return null;
21
- }
22
-
23
- @if type-of($start) != "number" {
24
- @warn "$start provided to `sl-to-map` was #{type-of($start)}, but it should be a number.";
25
- @return null;
26
- }
27
-
28
- $map: ();
29
-
30
- @for $index from 1 through length($list) {
31
- $key: $index + $start - 1;
32
- $value: nth($list, $index);
33
- $map: map-merge($map, ($key: $value));
34
- }
35
-
36
- @return $map;
37
- }
38
-
39
- // @requires sl-to-map
40
- // @alias sl-to-map
41
-
42
- @function sl-enumerate($list, $start: 1) {
43
- @return sl-to-map($list, $start);
44
- }
45
-
46
- // @requires sl-to-map
47
- // @alias sl-to-map
48
-
49
- @function sl-mapify($list, $start: 1) {
50
- @return sl-to-map($list, $start);
1
+ // Casts `$list` into a map, using indexes as keys (starting with `$start`).
2
+ // Useful for iterating through a list with an index variable.
3
+ // e.g. `@each $i, $value in to-map($list)`
4
+ //
5
+ // @author Andrey "Lolmaus" Mikhaylov
6
+ //
7
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-to-map
8
+ //
9
+ // @param {List} $list - list to turn into map
10
+ // @param {Number} $start (1) - index to start with
11
+ //
12
+ // @throws List cannot be empty for `sl-to-map`.
13
+ // @throws $start is not a number for `sl-to-map`.
14
+ //
15
+ // @return {Map | Null}
16
+
17
+ @function sl-to-map($list, $start: 1) {
18
+ @if length($list) == 0 {
19
+ @warn "List cannot be empty for `sl-to-map`.";
20
+ @return null;
21
+ }
22
+
23
+ @if type-of($start) != "number" {
24
+ @warn "$start provided to `sl-to-map` was #{type-of($start)}, but it should be a number.";
25
+ @return null;
26
+ }
27
+
28
+ $map: ();
29
+
30
+ @for $index from 1 through length($list) {
31
+ $key: $index + $start - 1;
32
+ $value: nth($list, $index);
33
+ $map: map-merge($map, ($key: $value));
34
+ }
35
+
36
+ @return $map;
37
+ }
38
+
39
+ // @requires sl-to-map
40
+ // @alias sl-to-map
41
+
42
+ @function sl-enumerate($list, $start: 1) {
43
+ @return sl-to-map($list, $start);
44
+ }
45
+
46
+ // @requires sl-to-map
47
+ // @alias sl-to-map
48
+
49
+ @function sl-mapify($list, $start: 1) {
50
+ @return sl-to-map($list, $start);
51
51
  }
@@ -1,26 +1,26 @@
1
- // Joins all elements of `$list` with `$glue`.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#to-string
4
- //
5
- // @param {List} $list - list to cast
6
- // @param {String} $glue ('') - value to use as a join string
7
- //
8
- // @return {String}
9
-
10
- @function sl-to-string($list, $glue: '') {
11
- $result: '';
12
- $length: length($list);
13
-
14
- @for $i from 1 through $length {
15
- $item: nth($list, $i);
16
- $result: $result + if(length($item) > 1, sl-to-string($item, $glue), $item + $glue);
17
- }
18
-
19
- @return quote(str-slice($result, 1, str-length($glue) * -1 - 1));
20
- }
21
-
22
- // @alias sl-to-string
23
-
24
- @function sl-stringify($list, $glue: '') {
25
- @return sl-to-string($list, $glue);
1
+ // Joins all elements of `$list` with `$glue`.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-to-string
4
+ //
5
+ // @param {List} $list - list to cast
6
+ // @param {String} $glue ('') - value to use as a join string
7
+ //
8
+ // @return {String}
9
+
10
+ @function sl-to-string($list, $glue: '') {
11
+ $result: '';
12
+ $length: length($list);
13
+
14
+ @for $i from 1 through $length {
15
+ $item: nth($list, $i);
16
+ $result: $result + if(length($item) > 1, sl-to-string($item, $glue), $item + $glue);
17
+ }
18
+
19
+ @return quote(str-slice($result, 1, str-length($glue) * -1 - 1));
20
+ }
21
+
22
+ // @alias sl-to-string
23
+
24
+ @function sl-stringify($list, $glue: '') {
25
+ @return sl-to-string($list, $glue);
26
26
  }
@@ -1,24 +1,24 @@
1
- // Returns a list of values from `$lists` minus duplicates.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#union
4
- //
5
- // @requires sl-flatten
6
- // @requires sl-remove-duplicates
7
- //
8
- // @param {ArgList} $lists - lists to unify
9
- //
10
- // @return {List}
11
-
12
- @function sl-union($lists...) {
13
- @if sl-missing-dependencies(sl-flatten, sl-remove-duplicates) == true { @return null; }
14
-
15
- $result: sl-remove-duplicates(sl-flatten($lists));
16
-
17
- @return if(length($result) == 1, nth($result, 1), $result);
18
- }
19
-
20
- // @alias sl-union
21
-
22
- @function sl-merge($lists...) {
23
- @return sl-union($lists...);
24
- }
1
+ // Returns a list of values from `$lists` minus duplicates.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-union
4
+ //
5
+ // @requires sl-flatten
6
+ // @requires sl-remove-duplicates
7
+ //
8
+ // @param {ArgList} $lists - lists to unify
9
+ //
10
+ // @return {List}
11
+
12
+ @function sl-union($lists...) {
13
+ @if sl-missing-dependencies(sl-flatten, sl-remove-duplicates) == true { @return null; }
14
+
15
+ $result: sl-remove-duplicates(sl-flatten($lists));
16
+
17
+ @return if(length($result) == 1, nth($result, 1), $result);
18
+ }
19
+
20
+ // @alias sl-union
21
+
22
+ @function sl-merge($lists...) {
23
+ @return sl-union($lists...);
24
+ }
@@ -1,24 +1,24 @@
1
- // Apply `$function` to every item from `$list` passing $args as parameters.
2
- //
3
- // @ignore Documentation: http://sassylists.com/documentation/#walk
4
- //
5
- // @param {List} $list - list to update
6
- // @param {String} $function - function to call on each value
7
- // @param {ArgList} $args - optional function arguments
8
- //
9
- // @throws There is no $function function.
10
- //
11
- // @return {List | Null}
12
-
13
- @function sl-walk($list, $function, $args...) {
14
- @if not function-exists($function) {
15
- @warn "There is no `#{$function}` function.";
16
- @return null;
17
- }
18
-
19
- @for $i from 1 through length($list) {
20
- $list: set-nth($list, $i, call($function, nth($list, $i), $args...));
21
- }
22
-
23
- @return $list;
1
+ // Apply `$function` to every item from `$list` passing $args as parameters.
2
+ //
3
+ // @ignore Documentation: http://sassylists.com/documentation.html#sl-walk
4
+ //
5
+ // @param {List} $list - list to update
6
+ // @param {String} $function - function to call on each value
7
+ // @param {ArgList} $args - optional function arguments
8
+ //
9
+ // @throws There is no $function function.
10
+ //
11
+ // @return {List | Null}
12
+
13
+ @function sl-walk($list, $function, $args...) {
14
+ @if not function-exists($function) {
15
+ @warn "There is no `#{$function}` function.";
16
+ @return null;
17
+ }
18
+
19
+ @for $i from 1 through length($list) {
20
+ $list: set-nth($list, $i, call($function, nth($list, $i), $args...));
21
+ }
22
+
23
+ @return $list;
24
24
  }