Creates a new number with more complex units than just a single numerator.
Upon construction, any compatible numerator and denominator units are simplified away according to the conversion factor between them.
The number's numeric value.
If this is a string, it's used as the single numerator unit for the number.
This value as a list.
All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists.
An immutable List from the immutable
package.
This number's denominator units as an immutable List from the immutable
package.
Whether this value as a list has brackets.
All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists.
Whether this number has any numerator or denominator units.
Whether value is an integer according to Sass's equality logic.
Whether the value counts as true
in an @if
statement and other contexts.
This number's numerator units as an immutable List from the immutable
package.
The separator for this value as a list.
All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists.
This number's numeric value.
Throws if this
isn't a SassBoolean.
Functions should generally use isTruthy rather than requiring a literal boolean.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Throws if this
isn't a SassFunction.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
If this number has no units, returns it. Otherwise, throws an error.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Throws if this
isn't a SassNumber.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Throws if this
isn't a SassString.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
If this number has unit
as its only unit (and as a numerator), returns this number. Otherwise, throws an error.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Returns a copy of this number, converted to the units represented by newNumerators
and newDenominators
.
Unlike convert this does not throw an error if this number is unitless and either newNumerators
or newDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.
The numerator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The denominator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Returns a copy of this number, converted to the units represented by newNumerators
and newDenominators
.
Unlike convertToMatch this does not throw an error if this number is unitless and either newNumerators
or newDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument other
came from (without the $
) if it came from an argument. Used for error reporting.
Returns value, converted to the units represented by newNumerators
and newDenominators
.
Unlike convertValue this does not throw an error if this number is unitless and either newNumerators
or newDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.
The numerator units to convert value to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The denominator units to convert value to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Returns value, converted to the units represented by newNumerators
and newDenominators
.
Unlike convertValueToMatch this does not throw an error if this number is unitless and either newNumerators
or newDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument other
came from (without the $
) if it came from an argument. Used for error reporting.
Whether this has exactly one numerator unit, and that unit is compatible with unit
.
Returns a copy of this number, converted to the units represented by newNumerators
and newDenominators
.
The numerator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The denominator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Returns a copy of this number, converted to the same units as other
.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument other
came from (without the $
) if it came from an argument. Used for error reporting.
Returns value, converted to the units represented by newNumerators
and newDenominators
.
The numerator units to convert value to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The denominator units to convert value to. This may be either a plain JavaScript array or an immutable List from the immutable
package.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
Returns value, converted to the same units as other
.
The name of the function argument this
came from (without the $
) if it came from an argument. Used for error reporting.
The name of the function argument other
came from (without the $
) if it came from an argument. Used for error reporting.
Returns whether this
represents the same value as other
.
Returns the value at index index
in this value as a list, or undefined
if index
isn't valid for this list.
All SassScript values can be used as lists. Maps count as lists of pairs, and all other values count as single-value lists.
This is a shorthand for this.asList.get(index)
, although it may be more efficient in some cases.
This method uses the same indexing conventions as the immutable
package: unlike Sass the index of the first element is 0, but like Sass negative numbers index from the end of the list.
Whether this number has unit
as its only unit (and as a numerator).
Returns a hash code that can be used to store this
in a hash map.
Converts sassIndex
into a JavaScript-style index into the list returned by asList.
Sass indexes are one-based, while JavaScript indexes are zero-based. Sass indexes may also be negative in order to index from the end of the list.
The Sass-style index into this as a list.
The name of the function argument sassIndex
came from (without the $
) if it came from an argument. Used for error reporting.
Returns this
as a map if it counts as one (empty lists count as empty maps) or null
if it doesn't.
© 2006–2022 the Sass team, and numerous contributors
Licensed under the MIT License.
https://sass-lang.com/documentation/js-api/classes/SassNumber
Sass's number type.