@@ -47,30 +47,36 @@ use CSS::Sass qw(sass_stringify);
47
47
# ###############################################################################
48
48
use overload ' ""' => ' stringify' ; # allow further overloading
49
49
# ###############################################################################
50
- use overload ' &' => sub { sass_operation(CSS::Sass::AND, $_ [0], $_ [1])-> value ? 1 : 0; };
51
- use overload ' |' => sub { sass_operation(CSS::Sass::OR, $_ [0], $_ [1])-> value ? 1 : 0; };
52
50
use overload ' bool' => sub { sass_operation(CSS::Sass::OR, $_ [0], undef )-> value ? 1 : 0; };
53
51
# ###############################################################################
52
+ use overload ' &' => sub { sass_operation(CSS::Sass::AND, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
53
+ use overload ' |' => sub { sass_operation(CSS::Sass::OR, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
54
+ # ###############################################################################
54
55
use overload ' eq' => sub { sass_stringify($_ [0])-> value eq sass_stringify($_ [1])-> value ? 1 : 0; };
55
56
use overload ' ne' => sub { sass_stringify($_ [0])-> value ne sass_stringify($_ [1])-> value ? 1 : 0; };
56
57
use overload ' ==' => sub { sass_operation(CSS::Sass::EQ, $_ [0], $_ [1])-> value ? 1 : 0; };
57
58
use overload ' !=' => sub { sass_operation(CSS::Sass::NEQ, $_ [0], $_ [1])-> value ? 1 : 0; };
58
59
# ###############################################################################
59
- use overload ' lt' => sub { sass_stringify($_ [0])-> value lt sass_stringify($_ [1])-> value ? 1 : 0; };
60
- use overload ' le' => sub { sass_stringify($_ [0])-> value le sass_stringify($_ [1])-> value ? 1 : 0; };
61
- use overload ' gt' => sub { sass_stringify($_ [0])-> value gt sass_stringify($_ [1])-> value ? 1 : 0; };
62
- use overload ' ge' => sub { sass_stringify($_ [0])-> value ge sass_stringify($_ [1])-> value ? 1 : 0; };
63
- # ###############################################################################
64
- use overload ' <' => sub { sass_operation(CSS::Sass::LT , $_ [0], $_ [1])-> value ? 1 : 0; };
65
- use overload ' <=' => sub { sass_operation(CSS::Sass::LTE, $_ [0], $_ [1])-> value ? 1 : 0; };
66
- use overload ' >' => sub { sass_operation(CSS::Sass::GT , $_ [0], $_ [1])-> value ? 1 : 0; };
67
- use overload ' >=' => sub { sass_operation(CSS::Sass::GTE, $_ [0], $_ [1])-> value ? 1 : 0; };
68
- # ###############################################################################
69
- use overload ' +' => sub { sass_operation(CSS::Sass::ADD, $_ [0], $_ [1]); };
70
- use overload ' -' => sub { sass_operation(CSS::Sass::SUB, $_ [0], $_ [1]); };
71
- use overload ' *' => sub { sass_operation(CSS::Sass::MUL, $_ [0], $_ [1]); };
72
- use overload ' /' => sub { sass_operation(CSS::Sass::DIV, $_ [0], $_ [1]); };
73
- use overload ' %' => sub { sass_operation(CSS::Sass::MOD, $_ [0], $_ [1]); };
60
+ use overload ' eq' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value eq sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
61
+ use overload ' ne' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value ne sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
62
+ use overload ' ==' => sub { sass_operation(CSS::Sass::EQ, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
63
+ use overload ' !=' => sub { sass_operation(CSS::Sass::NEQ, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
64
+ # ###############################################################################
65
+ use overload ' lt' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value lt sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
66
+ use overload ' le' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value le sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
67
+ use overload ' gt' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value gt sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
68
+ use overload ' ge' => sub { sass_stringify($_ [2] ? $_ [1] : $_ [0])-> value ge sass_stringify($_ [2] ? $_ [0] : $_ [1])-> value ? 1 : 0; };
69
+ # ###############################################################################
70
+ use overload ' <' => sub { sass_operation(CSS::Sass::LT , ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
71
+ use overload ' <=' => sub { sass_operation(CSS::Sass::LTE, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
72
+ use overload ' >' => sub { sass_operation(CSS::Sass::GT , ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
73
+ use overload ' >=' => sub { sass_operation(CSS::Sass::GTE, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1]))-> value ? 1 : 0; };
74
+ # ###############################################################################
75
+ use overload ' +' => sub { sass_operation(CSS::Sass::ADD, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1])); };
76
+ use overload ' -' => sub { sass_operation(CSS::Sass::SUB, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1])); };
77
+ use overload ' *' => sub { sass_operation(CSS::Sass::MUL, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1])); };
78
+ use overload ' /' => sub { sass_operation(CSS::Sass::DIV, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1])); };
79
+ use overload ' %' => sub { sass_operation(CSS::Sass::MOD, ($_ [2] ? $_ [1] : $_ [0]), ($_ [2] ? $_ [0] : $_ [1])); };
74
80
# ###############################################################################
75
81
76
82
sub new { import_sv($_ [1]) }
0 commit comments