SassNumber
Hierarchy
- Value
- SassNumber
Index
Constructors
Accessors
Methods
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
Returns SassNumber
Accessors
as Int
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
immutable
package.
denominator Units
- get denominatorUnits(): List<string>
-
This number's denominator units as an immutable List from the
immutable
package.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
true
in an@if
statement and other contexts.Returns boolean
numerator Units
- get numeratorUnits(): List<string>
-
This number's numerator units as an immutable List from the
immutable
package.Returns List<string>
real Null
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
this
isn't a SassBoolean.⚠️ Heads up!
Functions should generally use isTruthy rather than requiring a literal boolean.
Parameters
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassBoolean
-
assert Calculation
- assert
Calculation(name?: string): SassCalculation -
Throws if
this
isn't a SassCalculation.Parameters
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassCalculation
-
assert Color
assert Function
- assert
Function(name?: string): SassFunction -
Throws if
this
isn't a SassFunction.Parameters
-
Optional
name: stringThe 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
- assert
In Range(min: number, max: number, name?: string): number -
Returns value if it's within
min
andmax
. If value is equal tomin
ormax
according to Sass's equality, returnsmin
ormax
respectively. Otherwise, throws an error.Parameters
-
min: number
-
max: number
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
-
assert Int
- assert
Int(name?: string): number -
If value is an integer according to isInt, returns it rounded to that integer. Otherwise, throws an error.
Parameters
-
Optional
name: stringThe 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 Mixin
assert No Units
- assert
No Units(name?: string): SassNumber -
If this number has no units, returns it. Otherwise, throws an error.
Parameters
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
-
assert Number
- assert
Number(name?: string): SassNumber -
Throws if
this
isn't a SassNumber.Parameters
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting.
Returns SassNumber
-
assert String
- assert
String(name?: string): SassString -
Throws if
this
isn't a SassString.Parameters
-
Optional
name: stringThe name of the function argument
this
came 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
unit
as its only unit (and as a numerator), returns this number. Otherwise, throws an error.Parameters
-
unit: string
-
Optional
name: stringThe name of the function argument
this
came 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
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.Throws
Error
if this number's units are incompatible withnewNumerators
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: stringThe 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
- coerce
To Match(other: SassNumber, name?: string, otherName?: string): SassNumber -
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.Throws
Error
if this number's units are incompatible withother
's units.Parameters
-
other: SassNumber
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting. -
Optional
otherName: stringThe name of the function argument
other
came 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
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.Throws
Error
if this number's units are incompatible withnewNumerators
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: stringThe 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
- coerce
Value To Match(other: SassNumber, name?: string, otherName?: string): number -
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.Throws
Error
if this number's units are incompatible withother
's units.Parameters
-
other: SassNumber
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting. -
Optional
otherName: stringThe 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
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
newNumerators
andnewDenominators
.Throws
Error
if this number's units are incompatible withnewNumerators
andnewDenominators
; or if this number is unitless and eithernewNumerators
ornewDenominators
are 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
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: stringThe 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
- convert
To Match(other: SassNumber, name?: string, otherName?: string): SassNumber -
Returns a copy of this number, converted to the same units as
other
.Throws
Error
if this number's units are incompatible withother
's units, or if either number is unitless but the other is not.Parameters
-
other: SassNumber
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting. -
Optional
otherName: stringThe name of the function argument
other
came 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
newNumerators
andnewDenominators
.Throws
Error
if this number's units are incompatible withnewNumerators
andnewDenominators
; or if this number is unitless and eithernewNumerators
ornewDenominators
are 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
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: stringThe 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
- convert
Value To Match(other: SassNumber, name?: string, otherName?: string): number -
Returns value, converted to the same units as
other
.Throws
Error
if this number's units are incompatible withother
's units, or if either number is unitless but the other is not.Parameters
-
other: SassNumber
-
Optional
name: stringThe name of the function argument
this
came from (without the$
) if it came from an argument. Used for error reporting. -
Optional
otherName: stringThe name of the function argument
other
came 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
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
hash Code
sass Index To List Index
- sass
Index To List Index(sassIndex: Value, name?: string): number -
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.
Throws
Error
IfsassIndex
isn'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.
-
Optional
name: stringThe name of the function argument
sassIndex
came from (without the$
) if it came from an argument. Used for error reporting.
Returns number
-
Sass's number type.