Module: Sass::Value
- Included in:
- Boolean, Calculation, Color, Function, List, Map, Mixin, Module, Null, Number, String
- Defined in:
- lib/sass/value.rb,
lib/sass/value/map.rb,
lib/sass/value/list.rb,
lib/sass/value/null.rb,
lib/sass/value/color.rb,
lib/sass/value/mixin.rb,
lib/sass/value/module.rb,
lib/sass/value/number.rb,
lib/sass/value/string.rb,
lib/sass/value/boolean.rb,
lib/sass/value/function.rb,
lib/sass/value/fuzzy_math.rb,
lib/sass/value/calculation.rb,
lib/sass/value/color/space.rb,
lib/sass/value/number/unit.rb,
lib/sass/value/argument_list.rb,
lib/sass/value/color/channel.rb,
lib/sass/value/color/space/hsl.rb,
lib/sass/value/color/space/hwb.rb,
lib/sass/value/color/space/lab.rb,
lib/sass/value/color/space/lch.rb,
lib/sass/value/color/space/lms.rb,
lib/sass/value/color/space/rgb.rb,
lib/sass/value/color/space/srgb.rb,
lib/sass/value/color/conversions.rb,
lib/sass/value/color/space/oklab.rb,
lib/sass/value/color/space/oklch.rb,
lib/sass/value/color/space/utils.rb,
lib/sass/value/color/space/a98_rgb.rb,
lib/sass/value/color/space/rec2020.rb,
lib/sass/value/color/space/xyz_d50.rb,
lib/sass/value/color/space/xyz_d65.rb,
lib/sass/value/color/gamut_map_method.rb,
lib/sass/value/color/space/display_p3.rb,
lib/sass/value/color/space/srgb_linear.rb,
lib/sass/value/color/space/prophoto_rgb.rb,
lib/sass/value/color/interpolation_method.rb,
lib/sass/value/color/gamut_map_method/clip.rb,
lib/sass/value/color/space/display_p3_linear.rb,
lib/sass/value/color/gamut_map_method/local_minde.rb
Overview
The abstract base class of Sass's value types.
Defined Under Namespace
Classes: ArgumentList, Boolean, Calculation, Color, Function, List, Map, Mixin, Module, Null, Number, String
Instance Method Summary
collapse
Instance Method Details
#[](index) ⇒ Value
25
26
27
|
# File 'lib/sass/value.rb', line 25
def [](index)
at(index)
end
|
#assert_boolean(name = nil) ⇒ Boolean
88
89
90
|
# File 'lib/sass/value.rb', line 88
def assert_boolean(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a boolean", name)
end
|
#assert_calculation(name = nil) ⇒ Calculation
94
95
96
|
# File 'lib/sass/value.rb', line 94
def assert_calculation(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a calculation", name)
end
|
#assert_color(name = nil) ⇒ Color
100
101
102
|
# File 'lib/sass/value.rb', line 100
def assert_color(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a color", name)
end
|
#assert_function(name = nil) ⇒ Function
106
107
108
|
# File 'lib/sass/value.rb', line 106
def assert_function(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a function", name)
end
|
#assert_map(name = nil) ⇒ Map
112
113
114
|
# File 'lib/sass/value.rb', line 112
def assert_map(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a map", name)
end
|
#assert_mixin(name = nil) ⇒ Mixin
118
119
120
|
# File 'lib/sass/value.rb', line 118
def assert_mixin(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a mixin", name)
end
|
#assert_module(name = nil) ⇒ Module
124
125
126
|
# File 'lib/sass/value.rb', line 124
def assert_module(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a module", name)
end
|
#assert_number(name = nil) ⇒ Number
130
131
132
|
# File 'lib/sass/value.rb', line 130
def assert_number(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a number", name)
end
|
#assert_string(name = nil) ⇒ String
136
137
138
|
# File 'lib/sass/value.rb', line 136
def assert_string(name = nil)
raise Sass::ScriptError.new("#{inspect} is not a string", name)
end
|
#at(index) ⇒ Value
31
32
33
|
# File 'lib/sass/value.rb', line 31
def at(index)
index < 1 && index >= -1 ? self : nil
end
|
#bracketed? ⇒ ::Boolean
14
15
16
|
# File 'lib/sass/value.rb', line 14
def bracketed?
false
end
|
#eql?(other) ⇒ ::Boolean
19
20
21
|
# File 'lib/sass/value.rb', line 19
def eql?(other)
self == other
end
|
#inspect ⇒ ::String
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/sass/value.rb', line 60
def inspect
s = nil
Sass.compile_string('@use "sass:meta";$_:o(meta.inspect(i()));', functions: {
'i()' => ->(_) { self },
'o($s)' => ->(args) { s = args[0].assert_string }
})
s.text
rescue StandardError
super
end
|
#sass_index_to_array_index(sass_index, name = nil) ⇒ Integer
142
143
144
145
146
147
148
149
150
151
|
# File 'lib/sass/value.rb', line 142
def sass_index_to_array_index(sass_index, name = nil)
index = sass_index.assert_number(name).assert_integer(name)
raise Sass::ScriptError.new('List index may not be 0', name) if index.zero?
if index.abs > to_a_length
raise Sass::ScriptError.new("Invalid index #{sass_index} for a list with #{to_a_length} elements", name)
end
index.negative? ? to_a_length + index : index - 1
end
|
#separator ⇒ ::String?
9
10
11
|
# File 'lib/sass/value.rb', line 9
def separator
nil
end
|
#to_a ⇒ Array<Value>
36
37
38
|
# File 'lib/sass/value.rb', line 36
def to_a
[self]
end
|
#to_bool ⇒ ::Boolean
72
73
74
|
# File 'lib/sass/value.rb', line 72
def to_bool true
end
|
42
43
44
|
# File 'lib/sass/value.rb', line 42
def to_h(...)
to_a.to_h(...)
end
|
#to_map ⇒ Map?
77
78
79
|
# File 'lib/sass/value.rb', line 77
def to_map
nil
end
|
#to_nil ⇒ Value?
82
83
84
|
# File 'lib/sass/value.rb', line 82
def to_nil
self
end
|
#to_s ⇒ ::String
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/sass/value.rb', line 48
def to_s
s = nil
Sass.compile_string('$_:o(#{i()});', functions: { 'i()' => ->(_) { self },
'o($s)' => ->(args) { s = args[0].assert_string }
})
s.text
rescue Sass::CompileError => e
raise Sass::ScriptError.new(e.message), cause: nil
end
|