SassCalculation class final

A SassScript calculation.

Although calculations can in principle have any name or any number of arguments, this class only exposes the specific calculations that are supported by the Sass spec. This ensures that all calculations that the user works with are always fully simplified.

Inheritance
Available extensions

Properties

arguments List<Object>
The calculation's arguments.
final
asList List<Value>
This value as a list.
no setterinherited
hasBrackets bool
Whether this value as a list has brackets.
no setterinherited
hashCode int
The hash code for this object.
no setteroverride
isTruthy bool
Whether the value counts as true in an @if statement and other contexts.
no setterinherited
name String
The calculation's name, such as "calc".
final
realNull Value?
Returns Dart's null value if this is sassNull, and returns this otherwise.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
separator ListSeparator
The separator for this value as a list.
no setterinherited

Methods

assertBoolean([String? name]) SassBoolean
Throws a SassScriptException if this isn't a boolean.
inherited
assertCalculation([String? name]) SassCalculation
Throws a SassScriptException if this isn't a calculation.
override
assertColor([String? name]) SassColor
Throws a SassScriptException if this isn't a color.
inherited
assertComplexSelector({String? name, bool allowParent = false}) ComplexSelector

Available on Value, provided by the SassApiValue extension

Parses this as a complex selector, in the same manner as the selector-parse() function.
assertCompoundSelector({String? name, bool allowParent = false}) CompoundSelector

Available on Value, provided by the SassApiValue extension

Parses this as a compound selector, in the same manner as the selector-parse() function.
assertFunction([String? name]) SassFunction
Throws a SassScriptException if this isn't a function reference.
inherited
assertMap([String? name]) SassMap
Throws a SassScriptException if this isn't a map.
inherited
assertMixin([String? name]) SassMixin
Throws a SassScriptException if this isn't a mixin reference.
inherited
assertNumber([String? name]) SassNumber
Throws a SassScriptException if this isn't a number.
inherited
assertSelector({String? name, bool allowParent = false}) SelectorList

Available on Value, provided by the SassApiValue extension

Parses this as a selector list, in the same manner as the selector-parse() function.
assertSimpleSelector({String? name, bool allowParent = false}) SimpleSelector

Available on Value, provided by the SassApiValue extension

Parses this as a simple selector, in the same manner as the selector-parse() function.
assertString([String? name]) SassString
Throws a SassScriptException if this isn't a string.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sassIndexToListIndex(Value sassIndex, [String? name]) int
Converts sassIndex into a Dart-style index into the list returned by asList.
inherited
toCssString({bool quote = true}) String
Returns a valid CSS representation of this.
inherited
toString() String
Returns a string representation of this.
inherited
tryMap() SassMap?
Returns this as a SassMap if it is one (including empty lists, which count as empty maps) or returns null if it's not.
inherited
withListContents(Iterable<Value> contents, {ListSeparator? separator, bool? brackets}) SassList
Returns a new list containing contents that defaults to this value's separator and brackets.
inherited

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

abs(Object argument) Value
Creates an abs() calculation with the given argument.
acos(Object argument) Value
Creates an acos() calculation with the given argument.
asin(Object argument) Value
Creates an asin() calculation with the given argument.
atan(Object argument) Value
Creates an atan() calculation with the given argument.
atan2(Object y, Object? x) Value
Creates a atan2() calculation for y and x.
calc(Object argument) Value
Creates a calc() calculation with the given argument.
clamp(Object min, [Object? value, Object? max]) Value
Creates a clamp() calculation with the given min, value, and max.
cos(Object argument) Value
Creates a cos() calculation with the given argument.
exp(Object argument) Value
Creates an exp() calculation with the given argument.
hypot(Iterable<Object> arguments) Value
Creates a hypot() calculation with the given arguments.
log(Object number, Object? base) Value
Creates a log() calculation with the given number and base.
max(Iterable<Object> arguments) Value
Creates a max() calculation with the given arguments.
min(Iterable<Object> arguments) Value
Creates a min() calculation with the given arguments.
mod(Object dividend, Object? modulus) Value
Creates a mod() calculation with the given dividend and modulus.
operate(CalculationOperator operator, Object left, Object right) Object
Creates and simplifies a CalculationOperation with the given operator, left, and right.
pow(Object base, Object? exponent) Value
Creates a pow() calculation with the given base and exponent.
rem(Object dividend, Object? modulus) Value
Creates a rem() calculation with the given dividend and modulus.
round(Object strategyOrNumber, [Object? numberOrStep, Object? step]) Value
Creates a round() calculation with the given strategyOrNumber, numberOrStep, and step. Strategy must be either nearest, up, down or to-zero.
sign(Object argument) Value
Creates a sign() calculation with the given argument.
sin(Object argument) Value
Creates a sin() calculation with the given argument.
sqrt(Object argument) Value
Creates a sqrt() calculation with the given argument.
tan(Object argument) Value
Creates a tan() calculation with the given argument.
unsimplified(String name, Iterable<Object> arguments) SassCalculation
Creates a new calculation with the given name and arguments that will not be simplified.