DuskQuery class

Immutable predicate set stored alongside a qN query handle.

Mirrors the Playwright Locator pattern: a handle is opaque from the agent's perspective, and the predicates re-execute on every action so the handle is resilient to re-renders that would invalidate a snapshot-frame eN ref.

The class deliberately stores NO Element or SemanticsNode handles; the query walks the live Semantics tree from scratch on each resolution. This is what makes qN refs survive widget rebuild, route push, and snapshot-group disposal.

At least one of text, semanticsLabel, or keyValue must be non-null at construction time; the extDuskFindHandler gate enforces this.

Annotations

Constructors

DuskQuery({String? text, String? containsText, String? semanticsLabel, String? keyValue})
Creates a DuskQuery from the supplied predicates. Callers must pass at least one non-null field.
const

Properties

containsText String?
Substring match against SemanticsNode.label or Text.data: matches the first node whose label / data CONTAINS the supplied substring (case-sensitive). Use when the visible label is dynamic and text's exact-match is too brittle, e.g. counters, timestamps, plurals.
final
hashCode int
The hash code for this object.
no setterinherited
keyValue String?
Stringified Key value (matches ValueKey.value.toString()).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
semanticsLabel String?
Exact match against SemanticsNode.label. Distinct from text so agents can opt into label-only matching without Text.data fallback.
final
text String?
Exact match against SemanticsNode.label (preferred for accessibility- labelled widgets) or against a Text.data descendant when no semantic label is set.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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