SassyLists 1.1.1 → 2.0.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/README.md +73 -0
  4. data/lib/SassyLists.rb +15 -8
  5. data/stylesheets/SassyLists/_chunk.scss +6 -6
  6. data/stylesheets/SassyLists/_contain.scss +5 -5
  7. data/stylesheets/SassyLists/_count-values.scss +2 -2
  8. data/stylesheets/SassyLists/_debug.scss +6 -6
  9. data/stylesheets/SassyLists/_every.scss +17 -0
  10. data/stylesheets/SassyLists/_explode.scss +12 -9
  11. data/stylesheets/SassyLists/_first.scss +6 -6
  12. data/stylesheets/SassyLists/_flatten.scss +6 -6
  13. data/stylesheets/SassyLists/_insert-nth.scss +13 -11
  14. data/stylesheets/SassyLists/_intersection.scss +6 -4
  15. data/stylesheets/SassyLists/_is-symmetrical.scss +9 -7
  16. data/stylesheets/SassyLists/_last-index.scss +4 -4
  17. data/stylesheets/SassyLists/_last.scss +3 -3
  18. data/stylesheets/SassyLists/_loop.scss +10 -8
  19. data/stylesheets/SassyLists/_prepend.scss +8 -6
  20. data/stylesheets/SassyLists/_purge.scss +9 -7
  21. data/stylesheets/SassyLists/_random-value.scss +10 -10
  22. data/stylesheets/SassyLists/_remove-duplicates.scss +5 -5
  23. data/stylesheets/SassyLists/_remove-nth.scss +10 -8
  24. data/stylesheets/SassyLists/_remove.scss +9 -7
  25. data/stylesheets/SassyLists/_replace-nth.scss +11 -9
  26. data/stylesheets/SassyLists/_replace.scss +7 -4
  27. data/stylesheets/SassyLists/_reverse.scss +6 -6
  28. data/stylesheets/SassyLists/_shuffle.scss +6 -5
  29. data/stylesheets/SassyLists/_slice.scss +23 -18
  30. data/stylesheets/SassyLists/_some.scss +17 -0
  31. data/stylesheets/SassyLists/_sort.scss +11 -9
  32. data/stylesheets/SassyLists/_sum.scss +2 -2
  33. data/stylesheets/SassyLists/_tail.scss +10 -8
  34. data/stylesheets/SassyLists/_to-map.scss +51 -0
  35. data/stylesheets/SassyLists/_to-string.scss +6 -6
  36. data/stylesheets/SassyLists/_union.scss +11 -8
  37. data/stylesheets/SassyLists/_walk.scss +4 -4
  38. data/stylesheets/SassyLists/helpers/_missing-dependencies.scss +23 -0
  39. data/stylesheets/SassyLists/helpers/_str-compare.scss +5 -2
  40. data/stylesheets/SassyLists/helpers/_true.scss +2 -2
  41. data/stylesheets/_SassyLists.scss +5 -1
  42. metadata +13 -21
@@ -1,4 +1,4 @@
1
- // Removes duplicate values from $list
1
+ // Removes duplicate values from `$list`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#remove-duplicates
4
4
  //
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // @return {List}
8
8
 
9
- @function remove-duplicates($list) {
9
+ @function sl-remove-duplicates($list) {
10
10
  $result: ();
11
11
 
12
12
  @each $item in $list {
@@ -18,8 +18,8 @@
18
18
  @return $result;
19
19
  }
20
20
 
21
- // @alias remove-duplicates
21
+ // @alias sl-remove-duplicates
22
22
 
23
- @function unique($list) {
24
- @return remove-duplicates($list);
23
+ @function sl-unique($list, $recursive: false) {
24
+ @return sl-remove-duplicates($list, $recursive);
25
25
  }
@@ -1,20 +1,22 @@
1
- // Removes value from $list at index $index
1
+ // Removes value from `$list` at index `$index`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#remove-nth
4
4
  //
5
- // @requires replace-nth
5
+ // @requires sl-replace-nth
6
6
  //
7
7
  // @param {List} $list - list to remove value from
8
8
  // @param {Number} $index - index to remove
9
9
  //
10
- // @return {List | Bool}
10
+ // @return {List | Null}
11
11
 
12
- @function remove-nth($list, $index) {
13
- @return replace-nth($list, $index, "");
12
+ @function sl-remove-nth($list, $index) {
13
+ @if sl-missing-dependencies(sl-replace-nth) == true { @return null; }
14
+
15
+ @return sl-replace-nth($list, $index, "");
14
16
  }
15
17
 
16
- // @alias remove-nth
18
+ // @alias sl-remove-nth
17
19
 
18
- @function without-nth($list, $index) {
19
- @return remove-nth($list, $index);
20
+ @function sl-without-nth($list, $index) {
21
+ @return sl-remove-nth($list, $index);
20
22
  }
@@ -1,8 +1,8 @@
1
- // Removes value(s) $value from $list
1
+ // Removes value(s) `$value` from `$list`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#remove
4
4
  //
5
- // @requires replace
5
+ // @requires sl-replace
6
6
  //
7
7
  // @param {List} $list - list to update
8
8
  // @param {*} $value - value to remove
@@ -10,12 +10,14 @@
10
10
  //
11
11
  // @return {List}
12
12
 
13
- @function remove($list, $value) {
14
- @return replace($list, $value, null);
13
+ @function sl-remove($list, $value) {
14
+ @if sl-missing-dependencies(sl-replace) == true { @return null; }
15
+
16
+ @return sl-replace($list, $value, null);
15
17
  }
16
18
 
17
- // @alias remove
19
+ // @alias sl-remove
18
20
 
19
- @function without($list, $value) {
20
- @return remove($list, $value);
21
+ @function sl-without($list, $value) {
22
+ @return sl-remove($list, $value);
21
23
  }
@@ -1,24 +1,26 @@
1
- // Replaces value at $index from $list by $value
1
+ // Replaces value at `$index` from `$list` by `$value`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#replace-nth
4
4
  //
5
- // @requires purge
6
- // @requires is-true
5
+ // @requires sl-purge
6
+ // @requires sl-is-true
7
7
  //
8
8
  // @param {List} $list - list to update
9
9
  // @param {Number} $index - index to update
10
10
  // @param {*} $value - new value for index
11
11
  //
12
- // @throws Invalid index $index for `replace-nth`.
12
+ // @throws Invalid index $index for `sl-replace-nth`.
13
13
  //
14
- // @return {List | Bool}
14
+ // @return {List | Null}
15
+
16
+ @function sl-replace-nth($list, $index, $value) {
17
+ @if sl-missing-dependencies(sl-purge, sl-is-true) == true { @return null; }
15
18
 
16
- @function replace-nth($list, $index, $value) {
17
19
  @if type-of($index) != "number" or $index == 0 or abs($index) > length($list) {
18
- @warn "Invalid index (#{$index}) for `replace-nth`.";
19
- @return false;
20
+ @warn "Invalid index (#{$index}) for `sl-replace-nth`.";
21
+ @return null;
20
22
  }
21
23
 
22
24
  $list: set-nth($list, $index, $value);
23
- @return if(not is-true($value), purge($list), $list);
25
+ @return if(not sl-is-true($value), sl-purge($list), $list);
24
26
  }
@@ -1,8 +1,9 @@
1
- // Replaces $old by $new in $list
1
+ // Replaces `$old` by `$new` in `$list`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation.html#replace
4
4
  //
5
- // @requires is-true
5
+ // @requires sl-is-true
6
+ // @requires sl-purge
6
7
  //
7
8
  // @param {List} $list - list to update
8
9
  // @param {*} $old - value to replace
@@ -10,7 +11,9 @@
10
11
  //
11
12
  // @return {List}
12
13
 
13
- @function replace($list, $old, $value) {
14
+ @function sl-replace($list, $old, $value) {
15
+ @if sl-missing-dependencies(sl-is-true, sl-purge) == true { @return null; }
16
+
14
17
  $running: true;
15
18
 
16
19
  @while $running {
@@ -26,5 +29,5 @@
26
29
 
27
30
  }
28
31
 
29
- @return if(not is-true($value), purge($list), $list);
32
+ @return if(not sl-is-true($value), sl-purge($list), $list);
30
33
  }
@@ -1,12 +1,12 @@
1
- // Reverses the order of $list
1
+ // Reverses the order of `$list`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#reverse
4
4
  //
5
- // @param {List} $list - list to revers
5
+ // @param {List} $list - list to reverse
6
6
  //
7
7
  // @return {List}
8
8
 
9
- @function reverse($list) {
9
+ @function sl-reverse($list) {
10
10
  $length: length($list);
11
11
  $end: floor($length/2);
12
12
 
@@ -23,8 +23,8 @@
23
23
  @return $list;
24
24
  }
25
25
 
26
- // @alias reverse
26
+ // @alias sl-reverse
27
27
 
28
- @function mirror($list) {
29
- @return reverse($list);
28
+ @function sl-mirror($list) {
29
+ @return sl-reverse($list);
30
30
  }
@@ -1,4 +1,4 @@
1
- // Shuffle function using Fisher-Yates method
1
+ // Shuffle `$list` using Fisher-Yates method.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#shuffle
4
4
  //
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // @return {List}
8
8
 
9
- @function shuffle($list) {
9
+ @function sl-shuffle($list) {
10
10
  $length: length($list);
11
11
 
12
12
  @if $length < 2 {
@@ -19,11 +19,12 @@
19
19
  $list: set-nth($list, $i, nth($list, $j));
20
20
  $list: set-nth($list, $j, $tmp);
21
21
  }
22
+
22
23
  @return $list;
23
24
  }
24
25
 
25
- // @alias shuffle
26
+ // @alias sl-shuffle
26
27
 
27
- @function randomize($list) {
28
- @return shuffle($list);
28
+ @function sl-randomize($list) {
29
+ @return sl-shuffle($list);
29
30
  }
@@ -1,4 +1,4 @@
1
- // Slices $list between $start and $end
1
+ // Slices `$list` between `$start` and `$end`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#slice
4
4
  //
@@ -6,41 +6,46 @@
6
6
  // @param {Number} $start (1) - start index
7
7
  // @param {Number} $end (length($list)) - end index
8
8
  //
9
- // @throws List indexes $start and $end must be numbers for `slice`.
10
- // @throws Start index has to be lesser than or equals to the end index for `slice`.
11
- // @throws List indexes must be non-zero integers for `slice`.
12
- // @throws Start index has to be lesser than or equal to list length for `slice`.
13
- // @throws End index has to be lesser than or equal to list length for `slice`.
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
14
  //
15
- // @return {List | Bool}
15
+ // @return {List | Null}
16
16
 
17
- @function slice($list, $start: 1, $end: length($list)) {
17
+ @function sl-slice($list, $start: 1, $end: length($list)) {
18
18
  @if type-of($start) != "number" or type-of($end) != "number" {
19
- @warn "List indexes #{$start} and #{$end} must be numbers for `slice`.";
20
- @return false;
19
+ @warn "List indexes #{$start} and #{$end} must be numbers for `sl-slice`.";
20
+ @return null;
21
21
  }
22
22
 
23
23
  @if $start > $end {
24
- @warn "Start index is #{$start} but has to be lesser than or equals to the end index (#{$end}) for `slice`.";
25
- @return false;
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
26
  }
27
27
 
28
28
  @if $start < 1 or $end < 1 {
29
- @warn "List indexes must be non-zero integers for `slice`.";
30
- @return false;
29
+ @warn "List indexes must be non-zero integers for `sl-slice`.";
30
+ @return null;
31
31
  }
32
32
 
33
33
  @if $start > length($list) {
34
- @warn "Start index is #{$start} but list is only #{length($list)} items long for `slice`.";
35
- @return false;
34
+ @warn "Start index is #{$start} but list is only #{length($list)} items long for `sl-slice`.";
35
+ @return null;
36
36
  }
37
37
 
38
38
  @if $end > length($list) {
39
- @warn "End index is #{$end} but list is only #{length($list)} items long for `slice`.";
40
- @return false;
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);
41
45
  }
42
46
 
43
47
  $result: ();
48
+
44
49
  @for $i from $start through $end {
45
50
  $result: append($result, nth($list, $i), list-separator($list));
46
51
  }
@@ -0,0 +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,15 +1,17 @@
1
- // Sorts values of $list using quick-sort algorithm
1
+ // Sorts values of `$list` using quick-sort algorithm using `$order`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#sort
4
4
  //
5
- // @requires str-compare
5
+ // @requires sl-str-compare
6
6
  //
7
7
  // @param {List} $list - list to sort
8
8
  // @param {List} $order - order to respect
9
9
  //
10
10
  // @return {List}
11
11
 
12
- @function 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") {
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
+
13
15
  $less: ();
14
16
  $equal: ();
15
17
  $large: ();
@@ -21,20 +23,20 @@
21
23
  @if $item == $seed {
22
24
  $equal: append($equal, $item, list-separator($list));
23
25
  }
24
- @else if str-compare($item, $seed, $order) {
26
+ @else if sl-str-compare($item, $seed, $order) {
25
27
  $less: append($less, $item, list-separator($list));
26
28
  }
27
- @else if not str-compare($item, $seed, $order) {
29
+ @else if not sl-str-compare($item, $seed, $order) {
28
30
  $large: append($large, $item, list-separator($list));
29
31
  }
30
32
  }
31
- @return join(join(sort($less, $order), $equal), sort($large, $order));
33
+ @return join(join(sl-sort($less, $order), $equal), sl-sort($large, $order));
32
34
  }
33
35
  @return $list;
34
36
  }
35
37
 
36
- // @alias sort
38
+ // @alias sl-sort
37
39
 
38
- @function order($list) {
39
- @return sort($list);
40
+ @function sl-order($list) {
41
+ @return sl-sort($list);
40
42
  }
@@ -1,4 +1,4 @@
1
- // Sums up all numeric values in $list
1
+ // Sums up all numeric values in `$list`, stripping unit if `$force` set to `true`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#sum
4
4
  //
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // @return {Number}
9
9
 
10
- @function sum($list, $force: false) {
10
+ @function sl-sum($list, $force: false) {
11
11
  $result: 0;
12
12
 
13
13
  @each $item in $list {
@@ -1,19 +1,21 @@
1
- // Returns the tail of $list: all items except the first (head)
1
+ // Returns the tail of `$list`: all items except the first (head).
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#tail
4
4
  //
5
- // @requires slice
5
+ // @requires sl-slice
6
6
  //
7
7
  // @param {List} $list - list to retrieve tail from
8
8
  //
9
- // @return {List | Bool}
9
+ // @return {List | Null}
10
10
 
11
- @function tail($list) {
12
- @return slice($list, 2);
11
+ @function sl-tail($list) {
12
+ @if sl-missing-dependencies(sl-slice) == true { @return null; }
13
+
14
+ @return sl-slice($list, 2);
13
15
  }
14
16
 
15
- // @alias tail
17
+ // @alias sl-tail
16
18
 
17
- @function rest($list) {
18
- @return tail($list);
19
+ @function sl-rest($list) {
20
+ @return sl-tail($list);
19
21
  }
@@ -0,0 +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);
51
+ }
@@ -1,4 +1,4 @@
1
- // Joins all elements of $list with $glue
1
+ // Joins all elements of `$list` with `$glue`.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#to-string
4
4
  //
@@ -7,20 +7,20 @@
7
7
  //
8
8
  // @return {String}
9
9
 
10
- @function to-string($list, $glue: '') {
10
+ @function sl-to-string($list, $glue: '') {
11
11
  $result: '';
12
12
  $length: length($list);
13
13
 
14
14
  @for $i from 1 through $length {
15
15
  $item: nth($list, $i);
16
- $result: $result + if(length($item) > 1, to-string($item, $glue), $item + $glue);
16
+ $result: $result + if(length($item) > 1, sl-to-string($item, $glue), $item + $glue);
17
17
  }
18
18
 
19
19
  @return quote(str-slice($result, 1, str-length($glue) * -1 - 1));
20
20
  }
21
21
 
22
- // @alias to-string
22
+ // @alias sl-to-string
23
23
 
24
- @function stringify($list, $glue: '') {
25
- @return to-string($list, $glue);
24
+ @function sl-stringify($list, $glue: '') {
25
+ @return sl-to-string($list, $glue);
26
26
  }
@@ -1,21 +1,24 @@
1
- // Returns a list of values from $lists minus duplicates
1
+ // Returns a list of values from `$lists` minus duplicates.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#union
4
4
  //
5
- // @requires flatten
6
- // @requires remove-duplicates
5
+ // @requires sl-flatten
6
+ // @requires sl-remove-duplicates
7
7
  //
8
8
  // @param {ArgList} $lists - lists to unify
9
9
  //
10
10
  // @return {List}
11
11
 
12
- @function union($lists...) {
13
- $result: remove-duplicates(flatten($lists));
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
+
14
17
  @return if(length($result) == 1, nth($result, 1), $result);
15
18
  }
16
19
 
17
- // @alias union
20
+ // @alias sl-union
18
21
 
19
- @function merge($lists...) {
20
- @return union($lists...);
22
+ @function sl-merge($lists...) {
23
+ @return sl-union($lists...);
21
24
  }
@@ -1,4 +1,4 @@
1
- // Apply $function to every item from $list passing $args as parameters
1
+ // Apply `$function` to every item from `$list` passing $args as parameters.
2
2
  //
3
3
  // @ignore Documentation: http://sassylists.com/documentation/#walk
4
4
  //
@@ -8,12 +8,12 @@
8
8
  //
9
9
  // @throws There is no $function function.
10
10
  //
11
- // @return {List | Bool}
11
+ // @return {List | Null}
12
12
 
13
- @function walk($list, $function, $args...) {
13
+ @function sl-walk($list, $function, $args...) {
14
14
  @if not function-exists($function) {
15
15
  @warn "There is no `#{$function}` function.";
16
- @return false;
16
+ @return null;
17
17
  }
18
18
 
19
19
  @for $i from 1 through length($list) {
@@ -0,0 +1,23 @@
1
+ // Checks whether `$functions` exist in global scope.
2
+ //
3
+ // @access private
4
+ //
5
+ // @param {ArgList} $functions - list of functions to check for
6
+ //
7
+ // @return {Bool} Whether or not there are missing dependencies
8
+
9
+ @function sl-missing-dependencies($functions...) {
10
+ $missing-dependencies: ();
11
+
12
+ @each $function in $functions {
13
+ @if not function-exists($function) {
14
+ $missing-dependencies: append($missing-dependencies, $function, comma);
15
+ }
16
+ }
17
+
18
+ @if length($missing-dependencies) > 0 {
19
+ @warn "Unmet dependencies! The following functions are required: #{$missing-dependencies}.";
20
+ }
21
+
22
+ @return length($missing-dependencies) != 0;
23
+ }
@@ -1,4 +1,4 @@
1
- // Compares two values based on alphabetical order
1
+ // Compares `$a` and `$b` based on `$order`.
2
2
  //
3
3
  // @access private
4
4
  //
@@ -8,12 +8,14 @@
8
8
  //
9
9
  // @return {Bool}
10
10
 
11
- @function str-compare($a, $b, $order) {
11
+ @function sl-str-compare($a, $b, $order) {
12
12
  @if type-of($a) == "number" and type-of($b) == "number" {
13
13
  @return $a < $b;
14
14
  }
15
+
15
16
  $a: to-lower-case($a + unquote(""));
16
17
  $b: to-lower-case($b + unquote(""));
18
+
17
19
  @for $i from 1 through min(str-length($a), str-length($b)) {
18
20
  $char-a: str-slice($a, $i, $i);
19
21
  $char-b: str-slice($b, $i, $i);
@@ -21,5 +23,6 @@
21
23
  @return index($order, $char-a) < index($order, $char-b);
22
24
  }
23
25
  }
26
+
24
27
  @return str-length($a) < str-length($b);
25
28
  }
@@ -1,4 +1,4 @@
1
- // Returns truthiness of a value
1
+ // Returns truthiness of `$value`.
2
2
  //
3
3
  // @access private
4
4
  //
@@ -6,6 +6,6 @@
6
6
  //
7
7
  // @return {Bool}
8
8
 
9
- @function is-true($value) {
9
+ @function sl-is-true($value) {
10
10
  @return if($value == null, false, $value and $value != null and $value != "" and $value != ());
11
11
  }
@@ -4,12 +4,14 @@
4
4
  // CodePen: http://codepen.io/HugoGiraudel/pen/loAgq
5
5
  // Repository: https://github.com/Team-Sass/SassyLists/
6
6
 
7
- @import "SassyLists/helpers/true";
7
+ @import "SassyLists/helpers/missing-dependencies";
8
8
  @import "SassyLists/helpers/str-compare";
9
+ @import "SassyLists/helpers/true";
9
10
  @import "SassyLists/chunk";
10
11
  @import "SassyLists/contain";
11
12
  @import "SassyLists/count-values";
12
13
  @import "SassyLists/debug";
14
+ @import "SassyLists/every";
13
15
  @import "SassyLists/explode";
14
16
  @import "SassyLists/first";
15
17
  @import "SassyLists/flatten";
@@ -31,8 +33,10 @@
31
33
  @import "SassyLists/shuffle";
32
34
  @import "SassyLists/slice";
33
35
  @import "SassyLists/sort";
36
+ @import "SassyLists/some";
34
37
  @import "SassyLists/sum";
35
38
  @import "SassyLists/tail";
39
+ @import "SassyLists/to-map";
36
40
  @import "SassyLists/to-string";
37
41
  @import "SassyLists/union";
38
42
  @import "SassyLists/walk";