SassyJSON 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +18 -18
- data/README.md +112 -112
- data/lib/JsonImporter.rb +228 -228
- data/lib/SassyJSON.rb +12 -14
- data/stylesheets/SassyJSON.scss +5 -5
- data/stylesheets/decode/api/_json.scss +26 -26
- data/stylesheets/decode/decode.scss +28 -28
- data/stylesheets/decode/helpers/all/_throw.scss +11 -11
- data/stylesheets/decode/helpers/all/_value.scss +49 -49
- data/stylesheets/decode/helpers/color/_color.scss +50 -50
- data/stylesheets/decode/helpers/color/_get-color-value.scss +22 -22
- data/stylesheets/decode/helpers/color/_hex-to-dec.scss +19 -19
- data/stylesheets/decode/helpers/color/_hex.scss +39 -39
- data/stylesheets/decode/helpers/color/_hsl.scss +46 -46
- data/stylesheets/decode/helpers/color/_rgb.scss +46 -46
- data/stylesheets/decode/helpers/map/_consume.scss +33 -33
- data/stylesheets/decode/helpers/number/_find-digits.scss +39 -39
- data/stylesheets/decode/helpers/number/_find-exponent.scss +51 -51
- data/stylesheets/decode/helpers/number/_find-integer.scss +37 -37
- data/stylesheets/decode/helpers/number/_pow.scss +22 -22
- data/stylesheets/decode/helpers/string/_find-ending-quote.scss +57 -57
- data/stylesheets/decode/helpers/string/_length.scss +42 -42
- data/stylesheets/decode/helpers/string/_strip-token.scss +16 -16
- data/stylesheets/decode/types/_bool.scss +40 -40
- data/stylesheets/decode/types/_list.scss +54 -54
- data/stylesheets/decode/types/_map.scss +78 -78
- data/stylesheets/decode/types/_null.scss +19 -19
- data/stylesheets/decode/types/_number.scss +63 -63
- data/stylesheets/decode/types/_string.scss +41 -41
- data/stylesheets/encode/api/_json.scss +17 -17
- data/stylesheets/encode/encode.scss +17 -17
- data/stylesheets/encode/helpers/_quote.scss +9 -9
- data/stylesheets/encode/mixins/_json.scss +36 -36
- data/stylesheets/encode/types/_bool.scss +9 -9
- data/stylesheets/encode/types/_color.scss +9 -9
- data/stylesheets/encode/types/_list.scss +13 -13
- data/stylesheets/encode/types/_map.scss +13 -13
- data/stylesheets/encode/types/_null.scss +9 -9
- data/stylesheets/encode/types/_number.scss +9 -9
- data/stylesheets/encode/types/_string.scss +9 -9
- metadata +8 -10
@@ -1,78 +1,78 @@
|
|
1
|
-
// Parses a JSON encoded object
|
2
|
-
// --------------------------------------------------------------------------------
|
3
|
-
// @param [string] $source: JSON complete source
|
4
|
-
// @param [number] $pointer: current pointer
|
5
|
-
// --------------------------------------------------------------------------------
|
6
|
-
// @throw "Unexpected comma in object literal."
|
7
|
-
// @throw "Unexpected token $token in object literal."
|
8
|
-
// @throw "Missing comma in object literal."
|
9
|
-
// @throw "Unterminated object literal."
|
10
|
-
// @throw "Consuming token `:` failed."
|
11
|
-
// --------------------------------------------------------------------------------
|
12
|
-
// @return [list|false] (new pointer, map)
|
13
|
-
|
14
|
-
@function _json-decode--map($source, $pointer) {
|
15
|
-
$length: str-length($source);
|
16
|
-
$map: ();
|
17
|
-
$needs-comma: false;
|
18
|
-
|
19
|
-
// Deal with empty map
|
20
|
-
@if $pointer <= $length and str-slice($source, $pointer, $pointer) == "}" {
|
21
|
-
@return ($pointer + 1, $map);
|
22
|
-
}
|
23
|
-
|
24
|
-
@while $pointer <= $length {
|
25
|
-
$token: str-slice($source, $pointer, $pointer);
|
26
|
-
$pointer: $pointer + 1;
|
27
|
-
|
28
|
-
@if $token == "}" {
|
29
|
-
@if not $needs-comma and length($map) != 0 {
|
30
|
-
@return _throw("Unexpected comma in object literal.", $pointer);
|
31
|
-
}
|
32
|
-
@return ($pointer, $map);
|
33
|
-
}
|
34
|
-
|
35
|
-
@else if $token == " " {
|
36
|
-
// @continue;
|
37
|
-
}
|
38
|
-
|
39
|
-
@else if $token == "," {
|
40
|
-
@if not $needs-comma {
|
41
|
-
@return _throw("Unexpected comma in object literal.", $pointer);
|
42
|
-
}
|
43
|
-
$needs-comma: false;
|
44
|
-
}
|
45
|
-
|
46
|
-
@else if $token == '"' {
|
47
|
-
@if $needs-comma {
|
48
|
-
@return _throw("Missing comma in object literal.", $pointer);
|
49
|
-
}
|
50
|
-
|
51
|
-
// Read key
|
52
|
-
$read-key: _json-decode--string($source, $pointer);
|
53
|
-
$pointer: nth($read-key, 1);
|
54
|
-
$key: nth($read-key, 2);
|
55
|
-
|
56
|
-
// Remove colon
|
57
|
-
$pointer: _consume($source, $pointer, ":");
|
58
|
-
@if length($pointer) > 1 { // If consume has failed
|
59
|
-
@return _throw("Consuming token `:` failed.", 0);
|
60
|
-
}
|
61
|
-
|
62
|
-
// Read value
|
63
|
-
$read-value: _json-decode--value($source, $pointer);
|
64
|
-
$pointer: nth($read-value, 1);
|
65
|
-
$value: nth($read-value, 2);
|
66
|
-
|
67
|
-
// Add pair to map
|
68
|
-
$map: map-merge($map, ($key: $value));
|
69
|
-
$needs-comma: true;
|
70
|
-
}
|
71
|
-
|
72
|
-
@else {
|
73
|
-
@return _throw("Unexpected token `" + $token + "` in object literal.", $pointer);
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
@return _throw("Unterminated object literal.", $pointer);
|
78
|
-
}
|
1
|
+
// Parses a JSON encoded object
|
2
|
+
// --------------------------------------------------------------------------------
|
3
|
+
// @param [string] $source: JSON complete source
|
4
|
+
// @param [number] $pointer: current pointer
|
5
|
+
// --------------------------------------------------------------------------------
|
6
|
+
// @throw "Unexpected comma in object literal."
|
7
|
+
// @throw "Unexpected token $token in object literal."
|
8
|
+
// @throw "Missing comma in object literal."
|
9
|
+
// @throw "Unterminated object literal."
|
10
|
+
// @throw "Consuming token `:` failed."
|
11
|
+
// --------------------------------------------------------------------------------
|
12
|
+
// @return [list|false] (new pointer, map)
|
13
|
+
|
14
|
+
@function _json-decode--map($source, $pointer) {
|
15
|
+
$length: str-length($source);
|
16
|
+
$map: ();
|
17
|
+
$needs-comma: false;
|
18
|
+
|
19
|
+
// Deal with empty map
|
20
|
+
@if $pointer <= $length and str-slice($source, $pointer, $pointer) == "}" {
|
21
|
+
@return ($pointer + 1, $map);
|
22
|
+
}
|
23
|
+
|
24
|
+
@while $pointer <= $length {
|
25
|
+
$token: str-slice($source, $pointer, $pointer);
|
26
|
+
$pointer: $pointer + 1;
|
27
|
+
|
28
|
+
@if $token == "}" {
|
29
|
+
@if not $needs-comma and length($map) != 0 {
|
30
|
+
@return _throw("Unexpected comma in object literal.", $pointer);
|
31
|
+
}
|
32
|
+
@return ($pointer, $map);
|
33
|
+
}
|
34
|
+
|
35
|
+
@else if $token == " " {
|
36
|
+
// @continue;
|
37
|
+
}
|
38
|
+
|
39
|
+
@else if $token == "," {
|
40
|
+
@if not $needs-comma {
|
41
|
+
@return _throw("Unexpected comma in object literal.", $pointer);
|
42
|
+
}
|
43
|
+
$needs-comma: false;
|
44
|
+
}
|
45
|
+
|
46
|
+
@else if $token == '"' {
|
47
|
+
@if $needs-comma {
|
48
|
+
@return _throw("Missing comma in object literal.", $pointer);
|
49
|
+
}
|
50
|
+
|
51
|
+
// Read key
|
52
|
+
$read-key: _json-decode--string($source, $pointer);
|
53
|
+
$pointer: nth($read-key, 1);
|
54
|
+
$key: nth($read-key, 2);
|
55
|
+
|
56
|
+
// Remove colon
|
57
|
+
$pointer: _consume($source, $pointer, ":");
|
58
|
+
@if length($pointer) > 1 { // If consume has failed
|
59
|
+
@return _throw("Consuming token `:` failed.", 0);
|
60
|
+
}
|
61
|
+
|
62
|
+
// Read value
|
63
|
+
$read-value: _json-decode--value($source, $pointer);
|
64
|
+
$pointer: nth($read-value, 1);
|
65
|
+
$value: nth($read-value, 2);
|
66
|
+
|
67
|
+
// Add pair to map
|
68
|
+
$map: map-merge($map, ($key: $value));
|
69
|
+
$needs-comma: true;
|
70
|
+
}
|
71
|
+
|
72
|
+
@else {
|
73
|
+
@return _throw("Unexpected token `" + $token + "` in object literal.", $pointer);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
@return _throw("Unterminated object literal.", $pointer);
|
78
|
+
}
|
@@ -1,19 +1,19 @@
|
|
1
|
-
// Parses a JSON encoded `null`
|
2
|
-
// --------------------------------------------------------------------------------
|
3
|
-
// @param [string] $source: JSON complete source
|
4
|
-
// @param [number] $pointer: current pointer
|
5
|
-
// --------------------------------------------------------------------------------
|
6
|
-
// @throw "Unexpected token `n`."
|
7
|
-
// --------------------------------------------------------------------------------
|
8
|
-
// @return [list|false] (new pointer, null)
|
9
|
-
|
10
|
-
@function _json-decode--null($source, $pointer) {
|
11
|
-
$length: str-length($source);
|
12
|
-
@if $length - $pointer < 2
|
13
|
-
or str-slice($source, $pointer, $pointer) != 'u'
|
14
|
-
or str-slice($source, $pointer + 1, $pointer + 1) != 'l'
|
15
|
-
or str-slice($source, $pointer + 2, $pointer + 2) != 'l' {
|
16
|
-
@return _throw("Unexpected token: `n`.", $pointer);
|
17
|
-
}
|
18
|
-
@return ($pointer + 3, null);
|
19
|
-
}
|
1
|
+
// Parses a JSON encoded `null`
|
2
|
+
// --------------------------------------------------------------------------------
|
3
|
+
// @param [string] $source: JSON complete source
|
4
|
+
// @param [number] $pointer: current pointer
|
5
|
+
// --------------------------------------------------------------------------------
|
6
|
+
// @throw "Unexpected token `n`."
|
7
|
+
// --------------------------------------------------------------------------------
|
8
|
+
// @return [list|false] (new pointer, null)
|
9
|
+
|
10
|
+
@function _json-decode--null($source, $pointer) {
|
11
|
+
$length: str-length($source);
|
12
|
+
@if $length - $pointer < 2
|
13
|
+
or str-slice($source, $pointer, $pointer) != 'u'
|
14
|
+
or str-slice($source, $pointer + 1, $pointer + 1) != 'l'
|
15
|
+
or str-slice($source, $pointer + 2, $pointer + 2) != 'l' {
|
16
|
+
@return _throw("Unexpected token: `n`.", $pointer);
|
17
|
+
}
|
18
|
+
@return ($pointer + 3, null);
|
19
|
+
}
|
@@ -1,63 +1,63 @@
|
|
1
|
-
// Parses a JSON encoded number
|
2
|
-
// --------------------------------------------------------------------------------
|
3
|
-
// @param [string] $source: JSON complete source
|
4
|
-
// @param [number] $pointer: current pointer
|
5
|
-
// --------------------------------------------------------------------------------
|
6
|
-
// @throw "Unexpected token $token."
|
7
|
-
// @throw "Unexpected end of stream."
|
8
|
-
// --------------------------------------------------------------------------------
|
9
|
-
// @return [list|false] (new pointer, parsed number)
|
10
|
-
|
11
|
-
@function _json-decode--number($source, $pointer) {
|
12
|
-
$pointer: $pointer - 1; // Move back pointer to begininng of number
|
13
|
-
$allowed: '-' '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; // Allowed characted to start with
|
14
|
-
$first: str-slice($source, $pointer, $pointer); // First character of the number
|
15
|
-
$minus: $first == '-'; // Is it negative?
|
16
|
-
|
17
|
-
// Early check for errors
|
18
|
-
@if not index($allowed, $first) {
|
19
|
-
@return _throw("Unexpected token `" + $first + "`.", $pointer);
|
20
|
-
}
|
21
|
-
|
22
|
-
// Find the integer part
|
23
|
-
$find-integer: _find-integer($source, $pointer);
|
24
|
-
$pointer: nth($find-integer, 1);
|
25
|
-
$result: nth($find-integer, 2);
|
26
|
-
@if not $result { // Error occured
|
27
|
-
@return $find-integer;
|
28
|
-
}
|
29
|
-
|
30
|
-
// Find digits
|
31
|
-
@if str-slice($source, $pointer, $pointer) == '.' {
|
32
|
-
$find-digits: _find-digits($source, $pointer);
|
33
|
-
$pointer: nth($find-digits, 1);
|
34
|
-
$digits: nth($find-digits, 2);
|
35
|
-
|
36
|
-
@if $digits == null { // Empty digits, throw error
|
37
|
-
@return _throw("Unexpected end of stream.", $pointer);
|
38
|
-
}
|
39
|
-
@else if $digits == false { // Error occured, return it
|
40
|
-
@return $find-digits;
|
41
|
-
}
|
42
|
-
|
43
|
-
$result: $result + $digits;
|
44
|
-
}
|
45
|
-
|
46
|
-
// Find exponent
|
47
|
-
@if to-lower-case(str-slice($source, $pointer, $pointer)) == 'e' {
|
48
|
-
$find-exponent: _find-exponent($source, $pointer);
|
49
|
-
$pointer: nth($find-exponent, 1);
|
50
|
-
$exponent: nth($find-exponent, 2);
|
51
|
-
|
52
|
-
@if $exponent == null { // Empty exponent, throw error
|
53
|
-
@return _throw("Unexpected end of stream.", $pointer);
|
54
|
-
}
|
55
|
-
@else if $exponent == false { // Error occured, return it
|
56
|
-
@return $find-exponent;
|
57
|
-
}
|
58
|
-
|
59
|
-
$result: $result * _pow(10, $exponent);
|
60
|
-
}
|
61
|
-
|
62
|
-
@return ($pointer, if($minus, $result * -1, $result));
|
63
|
-
}
|
1
|
+
// Parses a JSON encoded number
|
2
|
+
// --------------------------------------------------------------------------------
|
3
|
+
// @param [string] $source: JSON complete source
|
4
|
+
// @param [number] $pointer: current pointer
|
5
|
+
// --------------------------------------------------------------------------------
|
6
|
+
// @throw "Unexpected token $token."
|
7
|
+
// @throw "Unexpected end of stream."
|
8
|
+
// --------------------------------------------------------------------------------
|
9
|
+
// @return [list|false] (new pointer, parsed number)
|
10
|
+
|
11
|
+
@function _json-decode--number($source, $pointer) {
|
12
|
+
$pointer: $pointer - 1; // Move back pointer to begininng of number
|
13
|
+
$allowed: '-' '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; // Allowed characted to start with
|
14
|
+
$first: str-slice($source, $pointer, $pointer); // First character of the number
|
15
|
+
$minus: $first == '-'; // Is it negative?
|
16
|
+
|
17
|
+
// Early check for errors
|
18
|
+
@if not index($allowed, $first) {
|
19
|
+
@return _throw("Unexpected token `" + $first + "`.", $pointer);
|
20
|
+
}
|
21
|
+
|
22
|
+
// Find the integer part
|
23
|
+
$find-integer: _find-integer($source, $pointer);
|
24
|
+
$pointer: nth($find-integer, 1);
|
25
|
+
$result: nth($find-integer, 2);
|
26
|
+
@if not $result { // Error occured
|
27
|
+
@return $find-integer;
|
28
|
+
}
|
29
|
+
|
30
|
+
// Find digits
|
31
|
+
@if str-slice($source, $pointer, $pointer) == '.' {
|
32
|
+
$find-digits: _find-digits($source, $pointer);
|
33
|
+
$pointer: nth($find-digits, 1);
|
34
|
+
$digits: nth($find-digits, 2);
|
35
|
+
|
36
|
+
@if $digits == null { // Empty digits, throw error
|
37
|
+
@return _throw("Unexpected end of stream.", $pointer);
|
38
|
+
}
|
39
|
+
@else if $digits == false { // Error occured, return it
|
40
|
+
@return $find-digits;
|
41
|
+
}
|
42
|
+
|
43
|
+
$result: $result + $digits;
|
44
|
+
}
|
45
|
+
|
46
|
+
// Find exponent
|
47
|
+
@if to-lower-case(str-slice($source, $pointer, $pointer)) == 'e' {
|
48
|
+
$find-exponent: _find-exponent($source, $pointer);
|
49
|
+
$pointer: nth($find-exponent, 1);
|
50
|
+
$exponent: nth($find-exponent, 2);
|
51
|
+
|
52
|
+
@if $exponent == null { // Empty exponent, throw error
|
53
|
+
@return _throw("Unexpected end of stream.", $pointer);
|
54
|
+
}
|
55
|
+
@else if $exponent == false { // Error occured, return it
|
56
|
+
@return $find-exponent;
|
57
|
+
}
|
58
|
+
|
59
|
+
$result: $result * _pow(10, $exponent);
|
60
|
+
}
|
61
|
+
|
62
|
+
@return ($pointer, if($minus, $result * -1, $result));
|
63
|
+
}
|
@@ -1,41 +1,41 @@
|
|
1
|
-
// Parses a JSON encoded string
|
2
|
-
// --------------------------------------------------------------------------------
|
3
|
-
// @param [string] $source: JSON complete source
|
4
|
-
// @param [number] $pointer: current pointer
|
5
|
-
// --------------------------------------------------------------------------------
|
6
|
-
// @throw "Unterminated string."
|
7
|
-
// --------------------------------------------------------------------------------
|
8
|
-
// @return [list|false] (new pointer, parsed string / color / length)
|
9
|
-
|
10
|
-
@function _json-decode--string($source, $pointer) {
|
11
|
-
// Check for the end of the string
|
12
|
-
$temp: str-slice($source, $pointer);
|
13
|
-
$end: _find-ending-quote($temp);
|
14
|
-
$string: "";
|
15
|
-
|
16
|
-
// If no end is found
|
17
|
-
@if not $end or $end == 0 {
|
18
|
-
@return _throw("Unterminated string.", $pointer);
|
19
|
-
}
|
20
|
-
|
21
|
-
// If string is not empty
|
22
|
-
@else if $end > 1 {
|
23
|
-
$string: str-slice($temp, 1, $end - 1);
|
24
|
-
|
25
|
-
$cr: "
|
26
|
-
";
|
27
|
-
$string: _strip-token($string, "\r", $cr);
|
28
|
-
$string: _strip-token($string, "\n", $cr);
|
29
|
-
$string: _strip-token($string, '\\\"', '"');
|
30
|
-
|
31
|
-
// Test whether the string could be a CSS length
|
32
|
-
$string: _length($string);
|
33
|
-
|
34
|
-
// Test whether the string could be a CSS color
|
35
|
-
@if type-of($string) == string {
|
36
|
-
$string: _color($string);
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
@return ($pointer + $end, $string);
|
41
|
-
}
|
1
|
+
// Parses a JSON encoded string
|
2
|
+
// --------------------------------------------------------------------------------
|
3
|
+
// @param [string] $source: JSON complete source
|
4
|
+
// @param [number] $pointer: current pointer
|
5
|
+
// --------------------------------------------------------------------------------
|
6
|
+
// @throw "Unterminated string."
|
7
|
+
// --------------------------------------------------------------------------------
|
8
|
+
// @return [list|false] (new pointer, parsed string / color / length)
|
9
|
+
|
10
|
+
@function _json-decode--string($source, $pointer) {
|
11
|
+
// Check for the end of the string
|
12
|
+
$temp: str-slice($source, $pointer);
|
13
|
+
$end: _find-ending-quote($temp);
|
14
|
+
$string: "";
|
15
|
+
|
16
|
+
// If no end is found
|
17
|
+
@if not $end or $end == 0 {
|
18
|
+
@return _throw("Unterminated string.", $pointer);
|
19
|
+
}
|
20
|
+
|
21
|
+
// If string is not empty
|
22
|
+
@else if $end > 1 {
|
23
|
+
$string: str-slice($temp, 1, $end - 1);
|
24
|
+
|
25
|
+
$cr: "
|
26
|
+
";
|
27
|
+
$string: _strip-token($string, "\r", $cr);
|
28
|
+
$string: _strip-token($string, "\n", $cr);
|
29
|
+
$string: _strip-token($string, '\\\"', '"');
|
30
|
+
|
31
|
+
// Test whether the string could be a CSS length
|
32
|
+
$string: _length($string);
|
33
|
+
|
34
|
+
// Test whether the string could be a CSS color
|
35
|
+
@if type-of($string) == string {
|
36
|
+
$string: _color($string);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
@return ($pointer + $end, $string);
|
41
|
+
}
|
@@ -1,17 +1,17 @@
|
|
1
|
-
// Delay the encoding of ta literal to JSON
|
2
|
-
// to a type-specific method
|
3
|
-
// --------------------------------------------------------------------------------
|
4
|
-
// @param $value: value to be stringified
|
5
|
-
// --------------------------------------------------------------------------------
|
6
|
-
// @throw "Unknown type for $value ({x})."
|
7
|
-
// --------------------------------------------------------------------------------
|
8
|
-
// @return [string|false] JSON encoded string
|
9
|
-
|
10
|
-
@function json-encode($value) {
|
11
|
-
$type: type-of($value);
|
12
|
-
@if function_exists('_json-encode--#{$type}') {
|
13
|
-
@return call('_json-encode--#{$type}', $value);
|
14
|
-
}
|
15
|
-
@warn "Unknown type for #{$value} (#{$type}).";
|
16
|
-
@return false;
|
17
|
-
}
|
1
|
+
// Delay the encoding of ta literal to JSON
|
2
|
+
// to a type-specific method
|
3
|
+
// --------------------------------------------------------------------------------
|
4
|
+
// @param $value: value to be stringified
|
5
|
+
// --------------------------------------------------------------------------------
|
6
|
+
// @throw "Unknown type for $value ({x})."
|
7
|
+
// --------------------------------------------------------------------------------
|
8
|
+
// @return [string|false] JSON encoded string
|
9
|
+
|
10
|
+
@function json-encode($value) {
|
11
|
+
$type: type-of($value);
|
12
|
+
@if function_exists('_json-encode--#{$type}') {
|
13
|
+
@return call('_json-encode--#{$type}', $value);
|
14
|
+
}
|
15
|
+
@warn "Unknown type for #{$value} (#{$type}).";
|
16
|
+
@return false;
|
17
|
+
}
|
@@ -1,17 +1,17 @@
|
|
1
|
-
// Helpers
|
2
|
-
@import "helpers/quote";
|
3
|
-
|
4
|
-
// Type specific encoding functions
|
5
|
-
@import "types/bool";
|
6
|
-
@import "types/color";
|
7
|
-
@import "types/list";
|
8
|
-
@import "types/map";
|
9
|
-
@import "types/number";
|
10
|
-
@import "types/string";
|
11
|
-
@import "types/null";
|
12
|
-
|
13
|
-
// Public API
|
14
|
-
@import "api/json";
|
15
|
-
|
16
|
-
// Mixin to pass the string to the DOM
|
17
|
-
@import "mixins/json";
|
1
|
+
// Helpers
|
2
|
+
@import "helpers/quote";
|
3
|
+
|
4
|
+
// Type specific encoding functions
|
5
|
+
@import "types/bool";
|
6
|
+
@import "types/color";
|
7
|
+
@import "types/list";
|
8
|
+
@import "types/map";
|
9
|
+
@import "types/number";
|
10
|
+
@import "types/string";
|
11
|
+
@import "types/null";
|
12
|
+
|
13
|
+
// Public API
|
14
|
+
@import "api/json";
|
15
|
+
|
16
|
+
// Mixin to pass the string to the DOM
|
17
|
+
@import "mixins/json";
|