Class SassNumber
Hierarchy
- Value
- SassNumber
Index
Constructors
Accessors
Methods
Constructors
constructor
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.
Parameters
value: number
The number's numeric value.
Optional unit: string | { denominatorUnits?: string[] | List<string>; numeratorUnits?: string[] | List<string> }
If this is a string, it's used as the single numerator unit for the number.
Returns SassNumber
Accessors
as Int
Returns null | number
as List
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.
Returns List<Value>
An immutable List from the
immutable
package.
denominator Units
This number's denominator units as an immutable List from the
immutable
package.Returns List<string>
has Brackets
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.
Returns boolean
has Units
Whether this number has any numerator or denominator units.
Returns boolean
is Int
Whether value is an integer according to Sass's equality logic.
Returns boolean
is Truthy
Whether the value counts as
true
in an@if
statement and other contexts.Returns boolean
numerator Units
This number's numerator units as an immutable List from the
immutable
package.Returns List<string>
real Null
separator
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.
Returns ListSeparator
value
This number's numeric value.
Returns number
Methods
assert Boolean
Throws if
this
isn't a SassBoolean.⚠️ Heads up!
Functions should generally use isTruthy rather than requiring a literal boolean.
Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassBoolean
assert Color
assert Function
Throws if
this
isn't a SassFunction.Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassFunction
assert In Range
Parameters
min: number
max: number
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
assert Int
Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
assert Map
assert No Units
If this number has no units, returns it. Otherwise, throws an error.
Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
assert Number
Throws if
this
isn't a SassNumber.Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
assert String
Throws if
this
isn't a SassString.Parameters
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassString
assert Unit
If this number has
unit
as its only unit (and as a numerator), returns this number. Otherwise, throws an error.Parameters
unit: string
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce
Returns a copy of this number, converted to the units represented by
newNumerators
andnewDenominators
.Unlike convert this does not throw an error if this number is unitless and either
newNumerators
ornewDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.Parameters
newNumerators: string[] | List<string>
The numerator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.newDenominators: string[] | List<string>
The denominator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce To Match
Returns a copy of this number, converted to the units represented by
newNumerators
andnewDenominators
.Unlike convertToMatch this does not throw an error if this number is unitless and either
newNumerators
ornewDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.Parameters
other: SassNumber
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
other
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce Value
Returns value, converted to the units represented by
newNumerators
andnewDenominators
.Unlike convertValue this does not throw an error if this number is unitless and either
newNumerators
ornewDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.Parameters
newNumerators: string[] | List<string>
The numerator units to convert value to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.newDenominators: string[] | List<string>
The denominator units to convert value to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
coerce Value To Match
Returns value, converted to the units represented by
newNumerators
andnewDenominators
.Unlike convertValueToMatch this does not throw an error if this number is unitless and either
newNumerators
ornewDenominators
are not empty, or vice-versa. Instead, it treats all unitless numbers as convertible to and from all units without changing the value.Parameters
other: SassNumber
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
other
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
compatible With Unit
Whether this has exactly one numerator unit, and that unit is compatible with
unit
.Parameters
unit: string
Returns boolean
convert
Returns a copy of this number, converted to the units represented by
newNumerators
andnewDenominators
.Parameters
newNumerators: string[] | List<string>
The numerator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.newDenominators: string[] | List<string>
The denominator units to convert this number to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
convert To Match
Returns a copy of this number, converted to the same units as
other
.Parameters
other: SassNumber
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
other
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
convert Value
Returns value, converted to the units represented by
newNumerators
andnewDenominators
.Parameters
newNumerators: string[] | List<string>
The numerator units to convert value to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.newDenominators: string[] | List<string>
The denominator units to convert value to. This may be either a plain JavaScript array or an immutable List from the
immutable
package.Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
convert Value To Match
Returns value, converted to the same units as
other
.Parameters
other: SassNumber
Optional name: string
The name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
other
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
equals
Returns whether
this
represents the same value asother
.Parameters
other: Value
Returns boolean
get
Returns the value at index
index
in this value as a list, orundefined
ifindex
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.⚠️ Heads up!
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.Parameters
index: number
Returns undefined | Value
has Unit
Whether this number has
unit
as its only unit (and as a numerator).Parameters
unit: string
Returns boolean
hash Code
Returns a hash code that can be used to store
this
in a hash map.Returns number
sass Index To List Index
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.
Parameters
sassIndex: Value
The Sass-style index into this as a list.
Optional name: string
The name of the function argument
sassIndex
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
try Map
Returns
this
as a map if it counts as one (empty lists count as empty maps) ornull
if it doesn't.Returns null | SassMap
Sass's number type.