Effect class

One consequence of executing the pending task, authored by the executor that is about to run it. An effect is produced by dry-running the real handler against the executor's own prior state — never by the requester, and never by re-implementing the handler's semantics elsewhere. A consent surface renders ONLY effects it received under the executor's signature.

Constructors

Effect({required String kind, required String summary, String? path, Object? before, Object? after, Map<String, dynamic>? detail})
const
Effect.fromJson(Map<String, dynamic> json)
Read this payload from a decoded JSON object.
factory

Properties

after → Object?
OPTIONAL resulting value at path once the task executes. ABSENT means the value is removed (a deletion), under the same rule as before.
final
before → Object?
OPTIONAL prior value at path, from the executor's authoritative state. ABSENT means there was no prior value (a creation); an explicit null is treated identically, so an executor MUST NOT rely on the two being distinguishable. Structured members are for rich rendering only — summary is what a surface is obliged to show, and it is where an executor states a distinction this shape cannot carry.
final
detail → Ext?
OPTIONAL kind-specific structured extras (e.g. { "commitments": 2 } for preRotationRefresh).
final
hashCode → int
The hash code for this object.
no setterinherited
kind → String
Machine discriminator for rich rendering. Well-known kinds are registered in the prose (documentChange, keyRotation, preRotationRefresh, resourceDelete, disclosure), but the set is OPEN: handlers evolve faster than this schema, and an executor MUST be able to describe a consequence this version does not name. A surface that does not recognise a kind MUST still render summary.
final
path → String?
OPTIONAL RFC 6901 JSON Pointer locating the change within the subject resource (e.g. /service/0).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
summary → String
REQUIRED human-facing sentence describing this consequence, authored by the executor. This is the ONLY member a consent surface is guaranteed to be able to render, and it is what makes an unrecognised kind degrade to something truthful rather than something invisible. A surface MUST render it verbatim; it MUST NOT substitute its own prose.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Serialize to a JSON-encodable map, omitting absent members.
toString() → String
A string representation of this object.
inherited

Operators

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