SassNumber

Sass's number type.

Hierarchy

Constructors

  • 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

  • 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

  • get isTruthy(): boolean
  • Whether the value counts as true in an @if statement and other contexts.

    Returns boolean

  • 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

Methods

  • Returns value if it's within min and max. If value is equal to min or max according to Sass's equality, returns min or max respectively. Otherwise, throws an error.

    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

  • If value is an integer according to isInt, returns it rounded to that integer. 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 number

  • 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

  • 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

  • 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.

    Throws

    Error if this number's units are incompatible with newNumerators and newDenominators.

    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

  • 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.

    Throws

    Error if this number's units are incompatible with other's units.

    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

  • 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.

    Throws

    Error if this number's units are incompatible with newNumerators and newDenominators.

    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

  • 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.

    Throws

    Error if this number's units are incompatible with other's units.

    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

  • Whether this has exactly one numerator unit, and that unit is compatible with unit.

    Parameters

    • unit: string

    Returns boolean

  • Returns a copy of this number, converted to the units represented by newNumerators and newDenominators.

    Throws

    Error if this number's units are incompatible with newNumerators and newDenominators; or if this number is unitless and either newNumerators or newDenominators 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: string

      The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

    Returns SassNumber

  • Returns a copy of this number, converted to the same units as other.

    Throws

    Error if this number's units are incompatible with other's units, or if either number is unitless but the other is not.

    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

  • Returns value, converted to the units represented by newNumerators and newDenominators.

    Throws

    Error if this number's units are incompatible with newNumerators and newDenominators; or if this number is unitless and either newNumerators or newDenominators 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: string

      The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.

    Returns number

  • Returns value, converted to the same units as other.

    Throws

    Error if this number's units are incompatible with other's units, or if either number is unitless but the other is not.

    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

  • 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.

    ⚠️ 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

  • Whether this number has unit as its only unit (and as a numerator).

    Parameters

    • unit: string

    Returns boolean

  • 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 If sassIndex 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: string

      The name of the function argument sassIndex came from (without the $) if it came from an argument. Used for error reporting.

    Returns number