blob: ea4d418ee60a932ffc98a8fa9c37a657d430f6cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# frozen_string_literal: true
module Sass
module Value
# Sass's boolean type.
#
# @see https://sass-lang.com/documentation/js-api/classes/sassboolean/
class Boolean
include Value
# @param value [::Boolean]
def initialize(value)
@value = value
end
# @return [::Boolean]
attr_reader :value
# @return [Boolean]
def !
value ? Boolean::FALSE : Boolean::TRUE
end
# @return [::Boolean]
def ==(other)
other.is_a?(Sass::Value::Boolean) && other.value == value
end
# @return [Integer]
def hash
@hash ||= value.hash
end
alias to_bool value
# @return [Boolean]
def assert_boolean(_name = nil)
self
end
# Sass's true value.
TRUE = Boolean.new(true)
# Sass's false value.
FALSE = Boolean.new(false)
def self.new(value)
value ? Boolean::TRUE : Boolean::FALSE
end
end
end
end
|