Protected constructor
Returns a list of the calculation's arguments
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.
An immutable List from the immutable package.
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.
Whether the value counts as true in an @if statement and other contexts.
Returns the calculation's name field.
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.
Throws if this isn't a SassBoolean.
Functions should generally use isTruthy rather than requiring a literal boolean.
Optional name: string
The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.
Throws if this isn't a SassCalculation.
Optional name: string
The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.
Throws if this isn't a SassFunction.
Optional name: string
The name of the function argument this came from (without the $) if it came from an argument. Used for error reporting.
Throws if this isn't a 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.
Throws if this isn't a SassString.
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 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.
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.
Returns a hash code that can be used to store this in a hash map.
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.
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.
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.
Static calc
A calculation with the name calc and argument as its single argument.
Static clamp
Creates a value that represents clamp(value, min, max).
Error if any of value, min, or max are a quoted SassString.
Error if value is undefined and max is not undefined.
Error if either value or max is undefined and neither min nor value is a SassString or CalculationInterpolation.
Optional value: CalculationValue
Optional max: CalculationValue
A calculation with the name clamp and min, value, and max as it's arguments, excluding any arguments that are undefined.
Static max
Creates a value that represents max(arguments...).
Error if arguments contains a quoted SassString
A calculation with the name max and arguments as its arguments.
Static min
Creates a value that represents min(arguments...).
Error if arguments contains a quoted SassString
A calculation with the name min and arguments as its arguments.
© 2006–2025 the Sass team, and numerous contributors
Licensed under the MIT License.
https://sass-lang.com/documentation/js-api/classes/SassCalculation
Sass's calculation type.
Note: in the JS API calculations are not simplified eagerly. This also means that unsimplified calculations are not equal to the numbers they would be simplified to.