Spec<T extends Spec<T>> class abstract

Base class for all resolved specifications that define widget properties.

Specs are the final resolved form of styling attributes after applying context-specific values and merging operations. Mixes in Equatable so every Spec — generated or hand-written — carries value equality by contract. Concrete subclasses either satisfy the Equatable interface via the _$XSpec mixin emitted by mix_generator or by supplying props directly.

Mixed-in types
Implementers
Annotations

Constructors

Spec()
const

Properties

hashCode → int
Overrides the hash code getter to compute hash code based on properties.
no setterinherited
props → List<Object?>
The properties based on which equality and hash code are computed.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
stringify → bool
Whether to use a detailed string representation of the object.
no setterinherited
type → Type
no setter

Methods

copyWith() → T
Creates a copy of this spec with the given fields replaced by the non-null parameter values.
getDiff(Equatable other) → Map<String, String>
Returns a map of properties that differ between this object and another.
inherited
lerp(covariant T? other, double t) → T
Linearly interpolates with another Spec object.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
Overrides string representation for debugging and logging.
inherited

Operators

operator ==(Object other) → bool
Overrides the equality operator to compare based on the properties.
inherited