SassNumber
Hierarchy
- Value
- SassNumber
Index
Constructors
Accessors
Methods
Constructors
constructor
- new
Sass (value: number, unit?: string | {Number
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
Returns SassNumber
Accessors
asInt
asList
- 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.
denominatorUnits
- get denominatorUnits(): List<string>
-
This number's denominator units as an immutable List from the
immutablepackage.Returns List<string>
hasBrackets
- 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
hasUnits
- get hasUnits(): boolean
-
Whether this number has any numerator or denominator units.
Returns boolean
isInt
- get isInt(): boolean
-
Whether value is an integer according to Sass's equality logic.
Returns boolean
isTruthy
- get isTruthy(): boolean
-
Whether the value counts as
truein an@ifstatement and other contexts.Returns boolean
numeratorUnits
- get numeratorUnits(): List<string>
-
This number's numerator units as an immutable List from the
immutablepackage.Returns List<string>
realNull
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
assertBoolean
- 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
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassBoolean
-
assertCalculation
- assert
Calculation (name?: string): SassCalculation -
Throws if
thisisn't a SassCalculation.Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassCalculation
-
assertColor
assertFunction
- assert
Function (name?: string): SassFunction -
Throws if
thisisn't a SassFunction.Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassFunction
-
assertInRange
- assert
In (min: number, max: number, name?: string): numberRange -
Returns value if it's within
minandmax. If value is equal tominormaxaccording to Sass's equality, returnsminormaxrespectively. Otherwise, throws an error.Parameters
-
min: number
-
max: number
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
assertInt
- assert
Int (name?: string): number -
If value is an integer according to isInt, returns it rounded to that integer. Otherwise, throws an error.
Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
assertMap
assertMixin
assertNoUnits
- assert
No (name?: string): SassNumberUnits -
If this number has no units, returns it. Otherwise, throws an error.
Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
assertNumber
- assert
Number (name?: string): SassNumber -
Throws if
thisisn't a SassNumber.Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
assertString
- assert
String (name?: string): SassString -
Throws if
thisisn't a SassString.Parameters
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassString
-
assertUnit
- 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
-
Optionalname: stringThe 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.Throws
Errorif this number's units are incompatible withnewNumeratorsandnewDenominators.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. -
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
coerceToMatch
- coerce
To (other: SassNumber, name?: string, otherName?: string): SassNumberMatch -
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.Throws
Errorif this number's units are incompatible withother's units.Parameters
-
other: SassNumber
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting. -
OptionalotherName: stringThe name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
coerceValue
- 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.Throws
Errorif this number's units are incompatible withnewNumeratorsandnewDenominators.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. -
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
coerceValueToMatch
- coerce
Value (other: SassNumber, name?: string, otherName?: string): numberTo Match -
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.Throws
Errorif this number's units are incompatible withother's units.Parameters
-
other: SassNumber
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting. -
OptionalotherName: stringThe name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
compatibleWithUnit
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.Throws
Errorif this number's units are incompatible withnewNumeratorsandnewDenominators; or if this number is unitless and eithernewNumeratorsornewDenominatorsare not empty, or vice-versa.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. -
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
convertToMatch
- convert
To (other: SassNumber, name?: string, otherName?: string): SassNumberMatch -
Returns a copy of this number, converted to the same units as
other.Throws
Errorif this number's units are incompatible withother's units, or if either number is unitless but the other is not.Parameters
-
other: SassNumber
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting. -
OptionalotherName: stringThe name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns SassNumber
-
convertValue
- convert
Value (newNumerators: string[] | List<string>, newDenominators: string[] | List<string>, name?: string): number -
Returns value, converted to the units represented by
newNumeratorsandnewDenominators.Throws
Errorif this number's units are incompatible withnewNumeratorsandnewDenominators; or if this number is unitless and eithernewNumeratorsornewDenominatorsare not empty, or vice-versa.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. -
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
convertValueToMatch
- convert
Value (other: SassNumber, name?: string, otherName?: string): numberTo Match -
Returns value, converted to the same units as
other.Throws
Errorif this number's units are incompatible withother's units, or if either number is unitless but the other is not.Parameters
-
other: SassNumber
-
Optionalname: stringThe name of the function argument
thiscame from (without the$) if it came from an argument. Used for error reporting. -
OptionalotherName: stringThe name of the function argument
othercame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
equals
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
-
hasUnit
hashCode
sassIndexToListIndex
- sass
Index (sassIndex: Value, name?: string): numberTo List Index -
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.
Throws
ErrorIfsassIndexisn't a number, if that number isn't an integer, or if that integer isn't a valid index for asList.Parameters
-
sassIndex: Value
The Sass-style index into this as a list.
-
Optionalname: stringThe name of the function argument
sassIndexcame from (without the$) if it came from an argument. Used for error reporting.
Returns number
-
Sass's number type.