flint-gs 2.3.4 → 2.3.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be77583a95bea1ccb8a4f21b589f7ed82051e386
4
- data.tar.gz: bd283a60a819136c9176c1a3b80f5dc6e5a218d0
3
+ metadata.gz: 81a28c36f676fbde6c568dfb62a3164ea6e77e40
4
+ data.tar.gz: f91de5d05feb984a162c94303f8dc1353b357dd9
5
5
  SHA512:
6
- metadata.gz: 4d2b91287da93847a55d70649cb3302870c10ff46d28552390b8a2e9ed700f129b9de438724dc9b4deb593c9dfc6ab9bc54293aac5b9bdcc22785dc1c71eb824
7
- data.tar.gz: 4faa32948799fcd8364a31ee5177bc9c3ed0414afc947ea94bbb948027964a1f7a72c5af7cebb897c2e4cffba6bf806b0b92394e01cca6280359837e5e0eb825
6
+ metadata.gz: 761d263bc35f4861f527c2b48133e1f43488a3b802e3c18203a7bb20d0d9c4f3d328235ffc9bb9ae2fc9a41c3dba1c20f3fd35679866c5e6ab4070a0bc36bb4d
7
+ data.tar.gz: dfdfe90a7e47f9d008f4caef3dbd7b766994c071f5e8bad166fe26037cb2bbba4eec02c4e22bafcd7989ae4dc2826f40a1093d27e2de0e1fec999f2e0cf70477
@@ -96,32 +96,4 @@ module Flint
96
96
  end
97
97
  declare :flint_ruby_str_replace, :args => [:string, :find, :replace]
98
98
 
99
- #
100
- # Check if key exists in map
101
- #
102
- # @param {Map} map - map to search
103
- # @param {String} key - key to search for
104
- #
105
- # @return {Bool}
106
- #
107
- def flint_ruby_exists(map, key)
108
- assert_type map, :Map, :map
109
- assert_type key, :String, :key
110
-
111
- hash = map.to_h
112
-
113
- if hash.fetch(key, false)
114
- return Sass::Script::Bool.new(true)
115
- else
116
- hash.each do |_, value|
117
- if value.is_a?(Sass::Script::Value::Map)
118
- return Sass::Script::Bool.new(true) if flint_ruby_exists(value, key).value
119
- end
120
- end
121
- end
122
-
123
- Sass::Script::Bool.new(false)
124
- end
125
- declare :flint_ruby_exists, :args => [:map, :key]
126
-
127
99
  end
@@ -1,3 +1,3 @@
1
1
  module Flint
2
- VERSION = "2.3.4"
2
+ VERSION = "2.3.5"
3
3
  end
@@ -6,7 +6,6 @@
6
6
  //
7
7
  // Functions
8
8
  //
9
- @import "lib/exists";
10
9
  @import "lib/html-encode";
11
10
 
12
11
  // Getters
@@ -1,18 +1,22 @@
1
1
  ///
2
- /// Checks if instance flint-exists in selector familiy tree, falls back from current selector
2
+ /// Checks if instance exists in selector familiy tree, falls back from current selector
3
3
  ///
4
4
  /// @access private
5
5
  ///
6
6
  /// @param {String} $key - breakpoint key to search for matching instance
7
7
  /// @param {String} $syntax - searches for instance using passed syntax parser
8
8
  ///
9
- /// @return {String} instance selector
9
+ /// @return {String|False} instance selector
10
10
  ///
11
11
  /// @group Internal Functions
12
12
  ///
13
13
  @function flint-has-family-instance($key: flint-get-value("settings", "default"), $syntax: $flint-support-syntax) {
14
14
  $selector: nth(&, 1);
15
15
 
16
+ @if not $key or not $selector {
17
+ @return false;
18
+ }
19
+
16
20
  // Check if instance result had been cached
17
21
  @if map-has-key($flint-cached-instances, "#{$selector}") {
18
22
  // Get cached instance
@@ -31,7 +35,7 @@
31
35
  @for $i from 1 through $length {
32
36
 
33
37
  // Check last selector in list
34
- @if flint-exists($flint-instances, "#{flint-last($parsed-selector)}::#{$key}") {
38
+ @if map-has-key($flint-instances, "#{flint-last($parsed-selector)}::#{$key}") {
35
39
 
36
40
  // Cache result
37
41
  $flint-cached-instances: map-merge($flint-cached-instances, ("#{$selector}": "#{flint-last($parsed-selector)}"));
@@ -59,7 +63,7 @@
59
63
  $selector-string: flint-list-to-str($selector-list, " ");
60
64
 
61
65
  // Make sure that we're not counting the current selector set
62
- @if flint-exists($flint-instances, "#{$selector-string}::#{$key}") and $selector != $selector-list {
66
+ @if map-has-key($flint-instances, "#{$selector-string}::#{$key}") and $selector != $selector-list {
63
67
 
64
68
  // Cache result
65
69
  $flint-cached-instances: map-merge($flint-cached-instances, ("#{$selector}": "#{$selector-string}"));
@@ -3,8 +3,6 @@
3
3
  ///
4
4
  /// @access private
5
5
  ///
6
- /// @link http://sassylists.com/documentation/#to-string
7
- ///
8
6
  /// @param {List} $list
9
7
  /// @param {String} $glue
10
8
  /// @param {Bool} $is-nested
@@ -14,24 +12,27 @@
14
12
  /// @group Internal Functions
15
13
  ///
16
14
  @function flint-list-to-str($list, $glue: "", $is-nested: false) {
15
+ @if flint-is-string($list) {
16
+ $list: ($list,);
17
+ }
17
18
 
18
19
  // Use Ruby function if available
19
20
  @if $flint-use-ruby-functions {
20
21
  @return flint_ruby_list_to_str($list, $glue);
21
- } @else {
22
- $result: null;
23
- $length: length($list);
22
+ }
24
23
 
25
- @for $i from 1 through $length {
26
- $n: nth($list, $i);
24
+ $result: "";
25
+ $length: length($list);
27
26
 
28
- @if flint-is-list($n) {
29
- $result: $result#{flint-list-to-str($n, $glue, true)};
30
- } @else {
31
- $result: if($i != length($list) or $is-nested, $result#{$n}#{$glue}, $result#{$n});
32
- }
33
- }
27
+ @for $i from 1 through $length {
28
+ $item: nth($list, $i);
34
29
 
35
- @return unquote($result);
30
+ @if flint-is-list($item) {
31
+ $result: $result + flint-list-to-str($item, $glue, true);
32
+ } @else {
33
+ $result: if($i != length($list) or $is-nested, $result + $item + $glue, $result + $item);
34
+ }
36
35
  }
36
+
37
+ @return quote($result);
37
38
  }
@@ -15,17 +15,17 @@
15
15
  // Use Ruby function if available
16
16
  @if $flint-use-ruby-functions {
17
17
  @return flint_ruby_map_fetch($map, $keys...);
18
- } @else {
19
- $result: $map;
18
+ }
19
+
20
+ $result: $map;
20
21
 
21
- @each $key in $keys {
22
- @if $result {
23
- $result: flint-is-map($result) and map-has-key($result, $key) and map-get($result, $key) or false;
24
- } @else {
25
- @return false;
26
- }
22
+ @each $key in $keys {
23
+ @if $result {
24
+ $result: flint-is-map($result) and map-has-key($result, $key) and map-get($result, $key) or false;
25
+ } @else {
26
+ @return false;
27
27
  }
28
-
29
- @return $result;
30
28
  }
29
+
30
+ @return $result;
31
31
  }
@@ -16,24 +16,24 @@
16
16
  // Use Ruby function if available
17
17
  @if $flint-use-ruby-functions {
18
18
  @return flint_ruby_str_replace($string, $substring, $new-substring);
19
- } @else {
20
- // Loop through length of string
21
- @for $i from 1 through str-length($string) {
22
- // Get index and length of substring
23
- $sub-index: str-index($string, $substring);
24
- $sub-length: str-length($substring);
25
-
26
- // If count is index of substring
27
- @if $i == $sub-index {
28
- // Slice string to exclude substring
29
- $string-before: str-slice($string, 1, $i - 1);
30
- $string-after: str-slice($string, $i + $sub-length, str-length($string));
31
- // Create new string
32
- $string: $string-before + $new-substring + $string-after;
33
- }
19
+ }
20
+
21
+ // Loop through length of string
22
+ @for $i from 1 through str-length($string) {
23
+ // Get index and length of substring
24
+ $sub-index: str-index($string, $substring);
25
+ $sub-length: str-length($substring);
34
26
 
27
+ // If count is index of substring
28
+ @if $i == $sub-index {
29
+ // Slice string to exclude substring
30
+ $string-before: str-slice($string, 1, $i - 1);
31
+ $string-after: str-slice($string, $i + $sub-length, str-length($string));
32
+ // Create new string
33
+ $string: $string-before + $new-substring + $string-after;
35
34
  }
36
35
 
37
- @return $string;
38
36
  }
37
+
38
+ @return $string;
39
39
  }
@@ -12,84 +12,78 @@
12
12
  /// @group Internal Functions
13
13
  ///
14
14
  @function flint-str-to-list($string, $find: " ", $ignore: ",") {
15
- @if flint-is-string($string) {
16
-
17
- // Use Ruby function if available
18
- @if $flint-use-ruby-functions {
19
- @return flint_ruby_str_to_list($string, $find, $ignore);
20
- } @else {
21
- $string-list: ();
22
- $space-indexes: ();
23
- $ignore-remainder: ();
24
- $length: str-length($string);
25
-
26
- // Find ignore separator, and flint-remove remainder of string beyond that point
27
- @for $i from 1 through $length {
28
- $slice: str-slice($string, $i, $i);
29
- @if $slice == $ignore {
30
- $ignore-remainder: append($ignore-remainder, $i - 1, "comma");
31
- }
32
- }
33
-
34
- // Redefine string and length
35
- @if length($ignore-remainder) >= 1 {
36
- $string: str-slice($string, 1, nth($ignore-remainder, 1));
37
- $length: str-length($string);
38
- }
39
-
40
- // Find all spaces and their indices by looking over each character in string
41
- @for $i from 1 through $length {
42
- $slice: str-slice($string, $i, $i);
43
- @if $slice == $find {
44
- $space-indexes: append($space-indexes, $i, "comma");
45
- }
46
- }
15
+ @if not flint-is-string($string) {
16
+ @return false;
17
+ }
47
18
 
48
- // Check if there are any spaces
49
- @if length($space-indexes) >= 1 {
19
+ // Use Ruby function if available
20
+ @if $flint-use-ruby-functions {
21
+ @return flint_ruby_str_to_list($string, $find, $ignore);
22
+ }
50
23
 
51
- // Keep a count of number of spaces
52
- $count: 1;
24
+ $string-list: ();
25
+ $space-indexes: ();
26
+ $ignore-remainder: ();
27
+ $length: str-length($string);
53
28
 
54
- // Loop through each space
55
- @each $space in $space-indexes {
29
+ // Find ignore separator, and flint-remove remainder of string beyond that point
30
+ @for $i from 1 through $length {
31
+ $slice: str-slice($string, $i, $i);
32
+ @if $slice == $ignore {
33
+ $ignore-remainder: append($ignore-remainder, $i - 1, "comma");
34
+ }
35
+ }
56
36
 
57
- // If is initial count, grab first substring and store in list
58
- @if $count == 1 {
59
- $matched-string: str-slice($string, 0, ($space - 1));
37
+ // Redefine string and length
38
+ @if length($ignore-remainder) >= 1 {
39
+ $string: str-slice($string, 1, nth($ignore-remainder, 1));
40
+ $length: str-length($string);
41
+ }
60
42
 
61
- @if $matched-string != "" {
62
- $string-list: append($string-list, $matched-string, "comma");
63
- }
64
- // Else, add a little math to make up for the spaces to do the same
65
- } @else {
66
- $matched-string: str-slice($string, (nth($space-indexes, ($count - 1)) + 1), ($space - 1));
43
+ // Find all spaces and their indices by looking over each character in string
44
+ @for $i from 1 through $length {
45
+ $slice: str-slice($string, $i, $i);
46
+ @if $slice == $find {
47
+ $space-indexes: append($space-indexes, $i, "comma");
48
+ }
49
+ }
67
50
 
68
- @if $matched-string != "" {
69
- $string-list: append($string-list, $matched-string, "comma");
70
- }
71
- }
51
+ // Check if there are any spaces
52
+ @if length($space-indexes) < 1 {
53
+ @return flint-purge(append($string-list, $string));
54
+ }
72
55
 
73
- // Increase count
74
- $count: $count + 1;
75
- }
56
+ // Keep a count of number of spaces
57
+ $count: 1;
76
58
 
77
- // Now grab that last selector
78
- $flint-last-space: nth($space-indexes, length($space-indexes));
79
- $matched-string: str-slice($string, ($flint-last-space + 1), $length);
80
- $string-list: append($string-list, $matched-string, "comma");
59
+ // Loop through each space
60
+ @each $space in $space-indexes {
81
61
 
82
- // Finally, return comma separated list of selectors
83
- @return flint-purge($string-list);
84
- } @else {
62
+ // If is initial count, grab first substring and store in list
63
+ @if $count == 1 {
64
+ $matched-string: str-slice($string, 0, ($space - 1));
85
65
 
86
- // Else, just return the string as a single item list
87
- $string-list: append($string-list, $string);
66
+ @if $matched-string != "" {
67
+ $string-list: append($string-list, $matched-string, "comma");
68
+ }
69
+ // Else, add a little math to make up for the spaces to do the same
70
+ } @else {
71
+ $matched-string: str-slice($string, (nth($space-indexes, ($count - 1)) + 1), ($space - 1));
88
72
 
89
- @return flint-purge($string-list);
73
+ @if $matched-string != "" {
74
+ $string-list: append($string-list, $matched-string, "comma");
90
75
  }
91
76
  }
92
- } @else {
93
- @return false;
77
+
78
+ // Increase count
79
+ $count: $count + 1;
94
80
  }
81
+
82
+ // Now grab that last selector
83
+ $flint-last-space: nth($space-indexes, length($space-indexes));
84
+ $matched-string: str-slice($string, ($flint-last-space + 1), $length);
85
+ $string-list: append($string-list, $matched-string, "comma");
86
+
87
+ // Finally, return comma separated list of selectors
88
+ @return flint-purge($string-list);
95
89
  }
@@ -10,15 +10,16 @@
10
10
  /// @group Internal Functions
11
11
  ///
12
12
  @function flint-support-syntax-bem($selectors) {
13
+ $selectors: flint-list-to-str($selectors, " ");
13
14
  // Clean up selector, remove double underscores for spaces
14
15
  // add pseudo character to differentiate selectors
15
- $selectors: flint-str-replace(unquote(inspect($selectors)), "__", "/");
16
+ $selectors: flint-str-replace($selectors, "__", "/");
16
17
  // Parse string back to list without pseudo character
17
18
  $selectors: flint-str-to-list($selectors, "/");
18
19
  // Define top-most parent of selector
19
20
  $parent: nth($selectors, 1);
20
21
  // Create new list of parsed selectors
21
- $selector-list: ("#{$parent}",);
22
+ $selector-list: ($parent,);
22
23
 
23
24
  // Loop over each selector and build list of selectors
24
25
  @each $selector in $selectors {
@@ -20,13 +20,12 @@
20
20
  //
21
21
  // WARNING: Be sure you have created a custom function to support an unknown syntax
22
22
  @return call("flint-support-syntax-#{$syntax}", $selectors);
23
+ }
23
24
 
25
+ @if not $flint-development-mode {
26
+ // Throw error if the syntax does not exist and a function to call cannot be found
27
+ @error "You did not pass a valid syntax to `flint-support-syntax`: #{$syntax}. Either specify a custom `flint-support-syntax-<syntax>` function to call, or use one of the offically supported syntaxes. For more info, please visit the docs.";
24
28
  } @else {
25
- @if not $flint-development-mode {
26
- // Throw error if the syntax does not exist and a function to call cannot be found
27
- @error "You did not pass a valid syntax to `flint-support-syntax`: #{$syntax}. Either specify a custom `flint-support-syntax-<syntax>` function to call, or use one of the offically supported syntaxes. For more info, please visit the docs.";
28
- } @else {
29
- @return false;
30
- }
29
+ @return false;
31
30
  }
32
31
  }
@@ -12,106 +12,65 @@
12
12
  /// @group Internal Functions
13
13
  ///
14
14
  @function flint-types-in-list($list, $assert-types: null, $assert-length: null) {
15
- @if flint-is-list($list) {
16
-
17
- // Assert types in list?
18
- @if $assert-types {
19
-
20
- // Assert length of list?
21
- @if $assert-length {
22
- // Get length of list
23
- $length: length($list);
24
-
25
- // Make sure lengths match
26
- @if $length == $assert-length {
27
- // Keep empty list of types
28
- $types: ();
29
-
30
- // List of asserted types?
31
- @if flint-is-list($assert-types) {
32
-
33
- // Make sure length of types match list
34
- @if length($assert-types) == $length {
35
-
36
- // Loop over each item in list
37
- @for $i from 1 through $assert-length {
38
- $item: nth($list, $i);
39
- $type: nth($assert-types, $i);
40
-
41
- // Check if type of item matches asserted type
42
- @if type-of($item) != $type {
43
- @return false;
44
- }
15
+ @if not flint-is-list($list) {
16
+ @return false;
17
+ }
45
18
 
46
- $types: append($types, $type);
47
- }
19
+ @if not $assert-types {
20
+ $type: type-of(nth($list, 1));
48
21
 
49
- // Lengths did not match
50
- } @else {
51
- @return false;
52
- }
22
+ @each $item in $list {
23
+ @if type-of($item) != $type {
24
+ @return false;
25
+ }
26
+ }
53
27
 
54
- // Assert a single type across list
55
- } @else {
56
- // Assert single type
57
- $type: nth($assert-types, 1);
28
+ @return true;
29
+ }
58
30
 
59
- // Loop over each item in list
60
- @for $i from 1 through $assert-length {
61
- $item: nth($list, $i);
31
+ @if not $assert-length {
32
+ $type: $assert-types;
62
33
 
63
- // Check if type of item matches asserted type
64
- @if type-of($item) != $type {
65
- @return false;
66
- }
67
- }
34
+ @each $item in $list {
35
+ @if type-of($item) != $type {
36
+ @return false;
37
+ }
38
+ }
68
39
 
69
- $types: append($types, $type);
70
- }
40
+ @return true;
41
+ }
71
42
 
72
- // Return list of types
73
- @return true;
43
+ $length: length($list);
74
44
 
75
- // Lengths did not match, return false
76
- } @else {
77
- @return false;
78
- }
45
+ @if $length != $assert-length {
46
+ @return false;
47
+ }
79
48
 
80
- // Just assert types in list, any length
81
- } @else {
82
- // Get asserted type
83
- $type: $assert-types;
49
+ @if flint-is-list($assert-types) {
50
+ @if length($assert-types) != $length {
51
+ @return false;
52
+ }
84
53
 
85
- // Check each items type
86
- @each $item in $list {
87
- // Check if type of item matches asserted type
88
- @if type-of($item) != $type {
89
- @return false;
90
- }
91
- }
54
+ @for $i from 1 through $assert-length {
55
+ $item: nth($list, $i);
56
+ $type: nth($assert-types, $i);
92
57
 
93
- // Passed check
94
- @return true;
58
+ @if type-of($item) != $type {
59
+ @return false;
95
60
  }
61
+ }
96
62
 
97
- // Just assert type of first item in list
98
- } @else {
99
- // Get type of first item in list
100
- $type: type-of(nth($list, 1));
63
+ } @else {
64
+ $type: nth($assert-types, 1);
101
65
 
102
- // Check each items type
103
- @each $item in $list {
104
- // Check if type of item matches asserted type
105
- @if type-of($item) != $type {
106
- @return false;
107
- }
108
- }
66
+ @for $i from 1 through $assert-length {
67
+ $item: nth($list, $i);
109
68
 
110
- @return true;
69
+ @if type-of($item) != $type {
70
+ @return false;
71
+ }
111
72
  }
112
-
113
- // Was not a list, return false
114
- } @else {
115
- @return false;
116
73
  }
74
+
75
+ @return true;
117
76
  }
@@ -456,7 +456,7 @@
456
456
  // Check if key exists as breakpoint, and if so wrap
457
457
  // in query to not affect other breakpoints
458
458
  //
459
- @if flint-exists($flint, $key) {
459
+ @if map-has-key(map-get($flint, "breakpoints"), $key) {
460
460
 
461
461
  @if flint-get-value("settings", "grid") == "fluid" {
462
462
  @if flint-is-highest-breakpoint($key) {
@@ -568,7 +568,7 @@
568
568
  }
569
569
 
570
570
  // Output container for specific breakpoint if exists
571
- } @else if flint-exists($flint, $key) and flint-get-value("settings", "grid") == "fixed" {
571
+ } @else if map-has-key(map-get($flint, "breakpoints"), $key) and flint-get-value("settings", "grid") == "fixed" {
572
572
 
573
573
  @if flint-is-highest-breakpoint($key) {
574
574
 
@@ -587,7 +587,7 @@
587
587
  }
588
588
 
589
589
  }
590
- } @else if flint-exists($flint, $key) and flint-get-value("settings", "grid") == "fluid" {
590
+ } @else if map-has-key(map-get($flint, "breakpoints"), $key) and flint-get-value("settings", "grid") == "fluid" {
591
591
  @if flint-is-highest-breakpoint($key) {
592
592
 
593
593
  @media ( min-width: (flint-calc-breakpoint("next", $key, flint-get-index($key)) + $unit) ) {
@@ -742,7 +742,7 @@
742
742
  or flint-is-string($key) and flint-is-number($span) and $context == "auto" {
743
743
 
744
744
  // Throw error for invalid argument lengths
745
- @if not flint-exists($flint, $key) {
745
+ @if not map-has-key(map-get($flint, "breakpoints"), $key) {
746
746
  @if not $flint-development-mode {
747
747
  @error "Invalid argument: #{$key}. Breakpoint does not exist. Please provide a valid argument.";
748
748
  }
@@ -812,7 +812,7 @@
812
812
  //
813
813
  // Wrap content in media query
814
814
  //
815
- } @else if flint-exists($flint, $key) and $span == null and $context == null
815
+ } @else if map-has-key(map-get($flint, "breakpoints"), $key) and $span == null and $context == null
816
816
  or flint-is-list($key) and $span == null and $context == null {
817
817
 
818
818
  //
@@ -1011,7 +1011,7 @@
1011
1011
  @for $i from 1 through length($key) {
1012
1012
  $calc-key: nth($key, $i);
1013
1013
 
1014
- @if flint-exists($flint, $calc-key) {
1014
+ @if map-has-key(map-get($flint, "breakpoints"), $calc-key) {
1015
1015
  @if flint-get-value("settings", "grid") == "fluid" {
1016
1016
  @if flint-is-highest-breakpoint($calc-key) {
1017
1017
  $query: append($query, unquote('( min-width: #{(flint-calc-breakpoint("next", $calc-key, flint-get-index($calc-key)) + $unit)} )'), "comma");
@@ -11,7 +11,7 @@ prof = SassProf::Config
11
11
  # prof.quiet = false
12
12
  prof.max_width = 40
13
13
  prof.color = true
14
- prof.t_max = 9000
14
+ prof.t_max = 90000
15
15
  prof.ignore = [:var]
16
16
 
17
17
  # Define paths
@@ -6,7 +6,6 @@
6
6
  ///
7
7
  /// Functions
8
8
  ///
9
- @import "lib/exists";
10
9
 
11
10
  // Getters
12
11
  @import "lib/map-fetch";
@@ -1,5 +1,5 @@
1
1
  //
2
- // Checks if instance flint-exists in selector familiy tree, falls back from current selector
2
+ // Checks if instance exists in selector familiy tree, falls back from current selector
3
3
  //
4
4
  @include describe("[function] has-family-instance") {
5
5
 
@@ -51,7 +51,7 @@ body {
51
51
  $flint-development-mode: true !global;
52
52
 
53
53
  // Test speed improvements
54
- // $flint-use-ruby-functions: false !global;
54
+ $flint-use-ruby-functions: false !global;
55
55
 
56
56
  ///
57
57
  /// BEGIN TESTS
@@ -30,7 +30,7 @@ html:after {
30
30
  @media (min-width: 60.0625em) {
31
31
  html:after {
32
32
  max-width: 80em;
33
- background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%25%27%20x2%3D%27100%25%27%20y2%3D%270%25%27%3E%3Cstop%20offset%3D%270%25%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%25%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%270%2E78125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%277%2E03125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2713%2E28125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2719%2E53125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2725%2E78125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2732%2E03125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2738%2E28125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2744%2E53125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2750%2E78125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2757%2E03125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2763%2E28125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2769%2E53125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2775%2E78125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2782%2E03125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2788%2E28125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2794%2E53125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%25%27%20height%3D%27100%25%27%2F%3E%3C%2Fsvg%3E");
33
+ background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%%27%20x2%3D%27100%%27%20y2%3D%270%%27%3E%3Cstop%20offset%3D%270%%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%270%2E78125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%277%2E03125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2713%2E28125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2719%2E53125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2725%2E78125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2732%2E03125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2738%2E28125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2744%2E53125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2750%2E78125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2757%2E03125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2763%2E28125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2769%2E53125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%274%2E6875%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2775%2E78125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D'4%2E6875%'%20height%3D'100%'%2F%3E%3Crect%20x%3D'82%2E03125%'%20fill%3D'url%28%23gr%29'%20width%3D'4%2E6875%'%20height%3D'100%'%2F%3E%3Crect x%3D'88%2E28125%' fill='url%28%23gr%29' width='4%2E6875%' height='100%'%2F%3E%3Crect x='94.53125%' fill='url%28%23gr%29' width='4.6875%' height='100%'/></svg>");
34
34
  background-size: 100% 100%;
35
35
  background-position: 0 0;
36
36
  }
@@ -38,7 +38,7 @@ html:after {
38
38
  @media (min-width: 40.0625em) and (max-width: 60em) {
39
39
  html:after {
40
40
  max-width: 60em;
41
- background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%25%27%20x2%3D%27100%25%27%20y2%3D%270%25%27%3E%3Cstop%20offset%3D%270%25%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%25%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%271%2E04167%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%279%2E375%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2717%2E70833%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2726%2E04167%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2734%2E375%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2742%2E70833%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2751%2E04167%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2759%2E375%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2767%2E70833%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2776%2E04167%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2784%2E375%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2792%2E70833%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%25%27%20height%3D%27100%25%27%2F%3E%3C%2Fsvg%3E");
41
+ background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%%27%20x2%3D%27100%%27%20y2%3D%270%%27%3E%3Cstop%20offset%3D%270%%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%271%2E04167%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%279%2E375%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2717%2E70833%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2726%2E04167%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2734%2E375%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2742%2E70833%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2751%2E04167%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2759%2E375%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2767%2E70833%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%276%2E25%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2776%2E04167%%27%20fill%3D'url%28%23gr%29'%20width%3D'6%2E25%'%20height%3D'100%'%2F%3E%3Crect%20x%3D'84%2E375%'%20fill%3D'url%28%23gr%29' width%3D'6%2E25%' height='100%'%2F%3E%3Crect x='92%2E70833%' fill='url%28%23gr%29' width='6.25%' height='100%'/></svg>");
42
42
  background-size: 100% 100%;
43
43
  background-position: 0 0;
44
44
  }
@@ -46,7 +46,7 @@ html:after {
46
46
  @media (min-width: 20.0625em) and (max-width: 40em) {
47
47
  html:after {
48
48
  max-width: 40em;
49
- background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%25%27%20x2%3D%27100%25%27%20y2%3D%270%25%27%3E%3Cstop%20offset%3D%270%25%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%25%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%271%2E5625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2714%2E0625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2726%2E5625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2739%2E0625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2751%2E5625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2764%2E0625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2776%2E5625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2789%2E0625%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%25%27%20height%3D%27100%25%27%2F%3E%3C%2Fsvg%3E");
49
+ background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%%27%20x2%3D%27100%%27%20y2%3D%270%%27%3E%3Cstop%20offset%3D%270%%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%271%2E5625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2714%2E0625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2726%2E5625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2739%2E0625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2751%2E5625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2764%2E0625%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%279%2E375%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D'76%2E5625%'%20fill%3D'url%28%23gr%29'%20width%3D'9%2E375%'%20height%3D'100%'%2F%3E%3Crect x='89%2E0625%' fill='url%28%23gr%29' width='9.375%' height='100%'/></svg>");
50
50
  background-size: 100% 100%;
51
51
  background-position: 0 0;
52
52
  }
@@ -54,7 +54,7 @@ html:after {
54
54
  @media (min-width: 0) and (max-width: 20em) {
55
55
  html:after {
56
56
  max-width: 20em;
57
- background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%25%27%20x2%3D%27100%25%27%20y2%3D%270%25%27%3E%3Cstop%20offset%3D%270%25%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%25%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%273%2E125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2728%2E125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2753%2E125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%25%27%20height%3D%27100%25%27%2F%3E%3Crect%20x%3D%2778%2E125%25%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%25%27%20height%3D%27100%25%27%2F%3E%3C%2Fsvg%3E");
57
+ background-image: url("data:image/svg+xml,%3Csvg%20version%3D%271%2E1%27%20xmlns%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxlink%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27gr%27%20x1%3D%270%25%27%20y1%3D%270%%27%20x2%3D%27100%%27%20y2%3D%270%%27%3E%3Cstop%20offset%3D%270%%27%20style%3D%27stop%2Dcolor%3A%20%23f33%3B%27%20%2F%3E%3Cstop%20offset%3D%27100%%27%20style%3D%27stop%2Dcolor%3A%20%23ff6666%3B%27%20%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20x%3D%273%2E125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2728%2E125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%%27%20height%3D%27100%%27%2F%3E%3Crect%20x%3D%2753%2E125%%27%20fill%3D%27url%28%23gr%29%27%20width%3D%2718%2E75%%27%20height%3D'100%'%2F%3E%3Crect%20x%3D'78%2E125%' fill%3D'url%28%23gr%29' width='18%2E75%' height='100%'/></svg>");
58
58
  background-size: 100% 100%;
59
59
  background-position: 0 0;
60
60
  }
@@ -296,10 +296,10 @@ html:after {
296
296
 
297
297
  Test Results {
298
298
  Success: true;
299
- Stats: ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔;
300
- Tests: 78;
301
- Asserts: 180;
302
- Passed: 78;
299
+ Stats: ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔;
300
+ Tests: 76;
301
+ Asserts: 177;
302
+ Passed: 76;
303
303
  Failed: 0;
304
304
  Skipped: 0;
305
305
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flint-gs
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.4
4
+ version: 2.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezekiel Gabrielse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-12 00:00:00.000000000 Z
11
+ date: 2015-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,7 +85,6 @@ files:
85
85
  - stylesheets/flint/functions/helpers/_helpers.scss
86
86
  - stylesheets/flint/functions/lib/_calc-breakpoint.scss
87
87
  - stylesheets/flint/functions/lib/_calc-width.scss
88
- - stylesheets/flint/functions/lib/_exists.scss
89
88
  - stylesheets/flint/functions/lib/_fluid-width.scss
90
89
  - stylesheets/flint/functions/lib/_get-index.scss
91
90
  - stylesheets/flint/functions/lib/_get-instance-value.scss
@@ -201,7 +200,6 @@ files:
201
200
  - tests/input/functions/helpers/_helpers.scss
202
201
  - tests/input/functions/lib/_calc-breakpoint.scss
203
202
  - tests/input/functions/lib/_calc-width.scss
204
- - tests/input/functions/lib/_exists.scss
205
203
  - tests/input/functions/lib/_fluid-width.scss
206
204
  - tests/input/functions/lib/_get-index.scss
207
205
  - tests/input/functions/lib/_get-instance-value.scss
@@ -335,7 +333,6 @@ test_files:
335
333
  - tests/input/functions/helpers/_helpers.scss
336
334
  - tests/input/functions/lib/_calc-breakpoint.scss
337
335
  - tests/input/functions/lib/_calc-width.scss
338
- - tests/input/functions/lib/_exists.scss
339
336
  - tests/input/functions/lib/_fluid-width.scss
340
337
  - tests/input/functions/lib/_get-index.scss
341
338
  - tests/input/functions/lib/_get-instance-value.scss
@@ -1,36 +0,0 @@
1
- ///
2
- /// Check if key exists in map
3
- ///
4
- /// @access private
5
- ///
6
- /// @param {Map} $map - map to search
7
- /// @param {String} $key - key to search for
8
- ///
9
- /// @return {Bool}
10
- ///
11
- /// @group Internal Functions
12
- ///
13
- @function flint-exists($map, $key) {
14
-
15
- @if not flint-is-string($key) {
16
- @return false;
17
- }
18
-
19
- // Use Ruby function if available
20
- @if $flint-use-ruby-functions {
21
- @return flint_ruby_exists($map, $key);
22
- } @else {
23
- $is-map: flint-is-map($map);
24
- $top-has-key: $is-map and map-has-key($map, $key) or false;
25
-
26
- @if $top-has-key {
27
- @return true;
28
- } @else if $is-map {
29
- @each $m, $k in $map {
30
- @return flint-exists($k, $key)
31
- }
32
- }
33
-
34
- @return false;
35
- }
36
- }
@@ -1,30 +0,0 @@
1
- //
2
- // Check if key exists in map
3
- //
4
- @include describe("[function] exists") {
5
-
6
- $map: (
7
- "key": "value",
8
- "map": (
9
- "deep key": "value"
10
- )
11
- );
12
-
13
- @include it("should expect key to exist within map") {
14
- @include should(expect(
15
- flint-exists($map, "key")),
16
- to(be(true))
17
- );
18
- @include should(expect(
19
- flint-exists($map, "deep key")),
20
- to(be(true))
21
- );
22
- }
23
-
24
- @include it("should expect key to not exist within map") {
25
- @include should(expect(
26
- flint-exists($map, "unknown")),
27
- to(be(false))
28
- );
29
- }
30
- }