SassyLists 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # Changelog
2
2
 
3
- * `0.4.1`: improved `intersection()` perf
4
- * `0.4.0`: added `intersection()`
3
+ * `0.4.2`: improving `insert-nth()` and cleaning some indentation issues
4
+ * `0.4.1`: improving `intersection()` perf
5
+ * `0.4.0`: adding `intersection()`
5
6
  * `0.3.5`: improving `debug()`, `to-string()` and `chunk()`
6
7
  * `0.3.4`: fixing a minor issue in `insert-nth()`, `replace-nth()` and `prepend()`
7
- * `0.3.3`: removed dependence to `purge()` from all functions; fixed an issue with `sort()`; fixed an issue with error messages
8
- * `0.3.2`: removed dependence to `purge()` from `replace()`
9
- * `0.3.1`: added aliases and cleaned `to-string()`
8
+ * `0.3.3`: removing dependence to `purge()` from all functions; fixed an issue with `sort()`; fixed an issue with error messages
9
+ * `0.3.2`: removing dependence to `purge()` from `replace()`
10
+ * `0.3.1`: adding aliases and cleaned `to-string()`
10
11
  * `0.3.0`: adding `contains()`, `flatten()`, `union()`
11
12
  * `0.2.4`: improving `debug()`
12
13
  * `0.2.3`: fixing important issues with comments
data/lib/SassyLists.rb CHANGED
@@ -5,8 +5,8 @@ Compass::Frameworks.register('SassyLists', :path => extension_path)
5
5
  # Version is a number. If a version contains alphas, it will be created as a prerelease version
6
6
  # Date is in the form of YYYY-MM-DD
7
7
  module SassyLists
8
- VERSION = "0.4.1"
9
- DATE = "2013-11-11"
8
+ VERSION = "0.4.2"
9
+ DATE = "2013-11-15"
10
10
  end
11
11
 
12
12
  module Sass::Script::Functions
@@ -13,10 +13,10 @@
13
13
  // @return [Boolean]
14
14
 
15
15
  @function contain($list, $value) {
16
- @return not not index($list, $value)
16
+ @return not not index($list, $value)
17
17
  }
18
18
 
19
19
  // Alias
20
20
  @function include($list, $value) {
21
- @return contain($list, $value);
21
+ @return contain($list, $value);
22
22
  }
@@ -2,6 +2,8 @@
2
2
  // -------------------------------------------------------------------------------
3
3
  // @documentation http://sassylists.com/documentation/#first
4
4
  // -------------------------------------------------------------------------------
5
+ // @alias `head()`
6
+ // -------------------------------------------------------------------------------
5
7
  // @example first(a b c) => a
6
8
  // -------------------------------------------------------------------------------
7
9
  // @param $list [List] : list
@@ -9,5 +11,10 @@
9
11
  // @return [Literal]
10
12
 
11
13
  @function first($list) {
12
- @return nth($list, 1);
14
+ @return nth($list, 1);
15
+ }
16
+
17
+ // Alias
18
+ @function head($list) {
19
+ @return first($list);
13
20
  }
@@ -2,10 +2,12 @@
2
2
  // -------------------------------------------------------------------------------
3
3
  // @documentation http://sassylists.com/documentation/#insert-nth
4
4
  // -------------------------------------------------------------------------------
5
- // @example insert-nth(a b c, 2, z) => a, z, b, c
5
+ // @example insert-nth(a b c, 2, z) => a z d c
6
6
  // @example insert-nth(a b c, 0, z) => error
7
7
  // @example insert-nth(a b c, -1, z) => error
8
8
  // @example insert-nth(a b c, 10, z) => error
9
+ // @example insert-nth(a b c, 4, z) => a b c d
10
+ // @example insert-nth(a b c, 5, z) => error
9
11
  // -------------------------------------------------------------------------------
10
12
  // @param $list [List] : list
11
13
  // @param $index [Number] : index to add
@@ -31,8 +33,7 @@
31
33
  }
32
34
 
33
35
  @else if $index > length($list) {
34
- @warn "List index is #{$index} but list is only #{length($list)} items long for `insert-nth'.";
35
- @return $result;
36
+ @return append($list, $value);
36
37
  }
37
38
 
38
39
  @else {
@@ -15,10 +15,11 @@
15
15
  // @return [Boolean]
16
16
 
17
17
  @function is-symmetrical($list) {
18
- @return reverse($list) == reverse(reverse($list));
18
+ $reverse: reverse($list);
19
+ @return $reverse == reverse($reverse);
19
20
  }
20
21
 
21
22
  // Alias
22
23
  @function is-mirror($list) {
23
- @return is-symmetrical($list);
24
+ @return is-symmetrical($list);
24
25
  }
@@ -11,12 +11,13 @@
11
11
  // @return [Number] | null
12
12
 
13
13
  @function last-index($list, $value) {
14
-
15
- @for $i from length($list) * -1 through -1 {
16
- @if nth($list, abs($i)) == $value {
17
- @return abs($i);
18
- }
19
- }
20
14
 
21
- @return null;
15
+ @for $i from length($list) * -1 through -1 {
16
+ $i: abs($i);
17
+ @if nth($list, $i) == $value {
18
+ @return $i;
19
+ }
20
+ }
21
+
22
+ @return null;
22
23
  }
@@ -2,6 +2,8 @@
2
2
  // -------------------------------------------------------------------------------
3
3
  // @documentation http://sassylists.com/documentation/#last
4
4
  // -------------------------------------------------------------------------------
5
+ // @alias `tail()`
6
+ // -------------------------------------------------------------------------------
5
7
  // @example last(a b c) => c
6
8
  // -------------------------------------------------------------------------------
7
9
  // @param $list [List] : list
@@ -9,5 +11,10 @@
9
11
  // @return [Literal]
10
12
 
11
13
  @function last($list) {
12
- @return nth($list, length($list));
14
+ @return nth($list, length($list));
15
+ }
16
+
17
+ // Alias
18
+ @function tail($list) {
19
+ @return last($list);
13
20
  }
@@ -14,16 +14,17 @@
14
14
  // @return [List]
15
15
 
16
16
  @function loop($list, $value: 1) {
17
- $result: ();
17
+ $result: ();
18
+ $length: length($list);
18
19
 
19
- @for $i from 0 to length($list) {
20
- $result: append($result, nth($list, ($i - $value) % length($list) + 1));
21
- }
20
+ @for $i from 0 to $length {
21
+ $result: append($result, nth($list, ($i - $value) % $length + 1));
22
+ }
22
23
 
23
- @return $result;
24
+ @return $result;
24
25
  }
25
26
 
26
27
  // Alias
27
28
  @function shift-indexes($list, $value: 1) {
28
- @return loop($list, $value);
29
+ @return loop($list, $value);
29
30
  }
@@ -11,11 +11,11 @@
11
11
  // @return [List]
12
12
 
13
13
  @function prepend($list, $value) {
14
- @if $value != null and $value != "" {
15
- @return join($value, $list);
16
- }
17
-
18
- @else {
19
- @return $list;
20
- }
14
+ @if $value != null and $value != "" {
15
+ @return join($value, $list);
16
+ }
17
+
18
+ @else {
19
+ @return $list;
20
+ }
21
21
  }
@@ -13,22 +13,22 @@
13
13
  // @return [List]
14
14
 
15
15
  @function purge($list) {
16
- $result: ();
16
+ $result: ();
17
17
 
18
- @each $item in $list {
19
- @if $item and $item != "" {
20
- $result: append($result, $item);
21
- }
22
- }
18
+ @each $item in $list {
19
+ @if $item and $item != "" {
20
+ $result: append($result, $item);
21
+ }
22
+ }
23
23
 
24
- @return $result;
24
+ @return $result;
25
25
  }
26
26
 
27
27
  // Aliases
28
28
  @function compact($list) {
29
- @return purge($list);
29
+ @return purge($list);
30
30
  }
31
31
 
32
32
  @function clean($list) {
33
- @return purge($list);
33
+ @return purge($list);
34
34
  }
@@ -14,14 +14,14 @@
14
14
  // @return [Literal]
15
15
 
16
16
  @function random-value($list) {
17
- @return nth($list, random(length($list)) + 1);
17
+ @return nth($list, random(length($list)) + 1);
18
18
  }
19
19
 
20
20
  // Aliases
21
21
  @function roll($list) {
22
- @return random-value($list);
22
+ @return random-value($list);
23
23
  }
24
24
 
25
25
  @function luck($list) {
26
- @return random-value($list);
26
+ @return random-value($list);
27
27
  }
@@ -22,10 +22,10 @@
22
22
  // @return [List] | false
23
23
 
24
24
  @function remove-nth($list, $index) {
25
- @return replace-nth($list, $index, "");
25
+ @return replace-nth($list, $index, "");
26
26
  }
27
27
 
28
28
  // Alias
29
29
  @function without-nth($list, $index) {
30
- @return remove-nth($list, $index);
30
+ @return remove-nth($list, $index);
31
31
  }
@@ -18,10 +18,10 @@
18
18
  // @return [List]
19
19
 
20
20
  @function remove($list, $value, $recursive: false) {
21
- @return replace($list, $value, null, $recursive);
21
+ @return replace($list, $value, null, $recursive);
22
22
  }
23
23
 
24
24
  // Alias
25
25
  @function without($list, $value, $recursive: false) {
26
- @return remove($list, $value, $recursive);
26
+ @return remove($list, $value, $recursive);
27
27
  }
@@ -23,12 +23,12 @@
23
23
 
24
24
  @function slice($list, $start: 1, $end: length($list)) {
25
25
  $result: false;
26
-
26
+
27
27
  @if type-of($start) != number or type-of($end) != number {
28
28
  @warn "List indexes #{$start} and #{$end} must be numbers for `slice`.";
29
29
  @return $result;
30
30
  }
31
-
31
+
32
32
  @else if $start > $end {
33
33
  @warn "Start index is #{$start} but has to be lesser than or equals to the end index (#{$end}) for `slice`.";
34
34
  @return $result;
@@ -43,7 +43,7 @@
43
43
  @warn "Start index is #{$start} but list is only #{length($list)} items long for `slice`.";
44
44
  @return $result;
45
45
  }
46
-
46
+
47
47
  @else if $end > length($list) {
48
48
  @warn "End index is #{$end} but list is only #{length($list)} items long for `slice`.";
49
49
  @return $result;
@@ -19,7 +19,7 @@
19
19
 
20
20
  @for $i from 1 through length($list) {
21
21
  $item: nth($list, $i);
22
-
22
+
23
23
  @if length($item) > 1 {
24
24
  $result: $result + to-string($item, $glue, false);
25
25
  }
@@ -14,10 +14,10 @@
14
14
  // @return [List]
15
15
 
16
16
  @function union($lists...) {
17
- @return remove-duplicates(flatten($lists));
17
+ @return remove-duplicates(flatten($lists));
18
18
  }
19
19
 
20
20
  // Alias
21
21
  @function merge($lists...) {
22
- @return union($lists...);
22
+ @return union($lists...);
23
23
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SassyLists
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-11 00:00:00.000000000 Z
12
+ date: 2013-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sass