Class SassNumber
Sass's number type.
Hierarchy
- Value
- SassNumber
Index
Constructors
Accessors
Methods
- assert
Boolean - assert
Color - assert
Function - assert
In Range - assert
Int - assert
Map - assert
No Units - assert
Number - assert
String - assert
Unit - coerce
- coerce
To Match - coerce
Value - coerce
Value To Match - compatible
With Unit - convert
- convert
To Match - convert
Value - convert
Value To Match - equals
- get
- has
Unit - hash
Code - sass
Index To List Index - try
Map
Constructors
constructor
- new
Sass Number(value: number, unit?: string | { denominatorUnits?: string[] | List<string>; numeratorUnits?: string[] | List<string> }): SassNumber
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
- get asInt(): null | number
Returns null | number
as List
- get asList(): List<Value >
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
immutablepackage.
denominator Units
- get denominatorUnits(): List<string>
This number's denominator units as an immutable List from the
immutablepackage.Returns List<string>
has Brackets
- get hasBrackets(): boolean
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
- get hasUnits(): boolean
Whether this number has any numerator or denominator units.
Returns boolean
is Int
- get isInt(): boolean
Whether value is an integer according to Sass's equality logic.
Returns boolean
is Truthy
- get isTruthy(): boolean
Whether the value counts as
truein an@ifstatement and other contexts.Returns boolean
numerator Units
- get numeratorUnits(): List<string>
This number's numerator units as an immutable List from the
immutablepackage.Returns List<string>
real Null
- get realNull(): null | Value
separator
- get separator(): ListSeparator
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
- get value(): number
This number's numeric value.
Returns number
Methods
assert Boolean
- assert
Boolean(name?: string): SassBoolean
Throws if
thisisn'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
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassBoolean
assert Color
- assert
Color(name?: string): SassColor
assert Function
- assert
Function(name?: string): SassFunction
Throws if
thisisn't a SassFunction.Parameters
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassFunction
assert In Range
- assert
In Range(min: number, max: number, name?: string): number
Parameters
min: number
max: number
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
assert Int
- assert
Int(name?: string): number
Parameters
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
assert Map
- assert
Map(name?: string): SassMap
assert No Units
- assert
No Units(name?: string): SassNumber
If this number has no units, returns it. Otherwise, throws an error.
Parameters
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
assert Number
- assert
Number(name?: string): SassNumber
Throws if
thisisn't a SassNumber.Parameters
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
assert String
- assert
String(name?: string): SassString
Throws if
thisisn't a SassString.Parameters
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassString
assert Unit
- assert
Unit(unit: string, name?: string): SassNumber
If this number has
unitas 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
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce
- coerce(newNumerators: string[] | List<string>, newDenominators: string[] | List<string>, name?: string): SassNumber
Returns a copy of this number, converted to the units represented by
newNumeratorsandnewDenominators.Unlike convert this does not throw an error if this number is unitless and either
newNumeratorsornewDenominatorsare 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
immutablepackage.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
immutablepackage.Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce To Match
- coerce
To Match(other: SassNumber, name?: string, otherName?: string): SassNumber
Returns a copy of this number, converted to the units represented by
newNumeratorsandnewDenominators.Unlike convertToMatch this does not throw an error if this number is unitless and either
newNumeratorsornewDenominatorsare 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
thiscame from (without the$) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
coerce Value
- coerce
Value(newNumerators: string[] | List<string>, newDenominators: string[] | List<string>, name?: string): number
Returns value, converted to the units represented by
newNumeratorsandnewDenominators.Unlike convertValue this does not throw an error if this number is unitless and either
newNumeratorsornewDenominatorsare 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
immutablepackage.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
immutablepackage.Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
coerce Value To Match
- coerce
Value To Match(other: SassNumber, name?: string, otherName?: string): number
Returns value, converted to the units represented by
newNumeratorsandnewDenominators.Unlike convertValueToMatch this does not throw an error if this number is unitless and either
newNumeratorsornewDenominatorsare 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
thiscame from (without the$) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns number
compatible With Unit
- compatible
With Unit(unit: string): boolean
Whether this has exactly one numerator unit, and that unit is compatible with
unit.Parameters
unit: string
Returns boolean
convert
- convert(newNumerators: string[] | List<string>, newDenominators: string[] | List<string>, name?: string): SassNumber
Returns a copy of this number, converted to the units represented by
newNumeratorsandnewDenominators.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
immutablepackage.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
immutablepackage.Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
convert To Match
- convert
To Match(other: SassNumber, name?: string, otherName?: string): SassNumber
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
thiscame from (without the$) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
convert Value
- convert
Value(newNumerators: string[] | List<string>, newDenominators: string[] | List<string>, name?: string): number
Returns value, converted to the units represented by
newNumeratorsandnewDenominators.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
immutablepackage.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
immutablepackage.Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
convert Value To Match
- convert
Value To Match(other: SassNumber, name?: string, otherName?: string): number
Returns value, converted to the same units as
other.Parameters
other: SassNumber
Optional name: string
The name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.Optional otherName: string
The name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns number
equals
- equals(other: Value ): boolean
Returns whether
thisrepresents the same value asother.Parameters
other: Value
Returns boolean
get
- get(index: number): undefined | Value
Returns the value at index
indexin this value as a list, orundefinedifindexisn'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
immutablepackage: 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
- has
Unit(unit: string): boolean
Whether this number has
unitas its only unit (and as a numerator).Parameters
unit: string
Returns boolean
hash Code
- hash
Code(): number
Returns a hash code that can be used to store
thisin a hash map.Returns number
sass Index To List Index
- sass
Index To List Index(sassIndex: Value, name?: string): number
Converts
sassIndexinto 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
sassIndexcame from (without the$) if it came from an argument. Used for error reporting.
Returns number
try Map
- try
Map(): null | SassMap
Returns
thisas a map if it counts as one (empty lists count as empty maps) ornullif it doesn't.Returns null | SassMap