SafeData<T> class

Runtime-managed field for short-lived or sensitive data.

Constructors

SafeData({T? initialValue, required SafeDataPolicy policy, SafeDataNow? now})
Creates a managed field with an optional initialValue.
SafeData.memoryOnly({T? initialValue, bool clearOnDispose = true, Duration? expiresAfter, Set<Object> clearOnCommandSuccess = const <Object>{}, Set<Object> clearOnCommandError = const <Object>{}, SafeDataLogStrategy logStrategy = SafeDataLogStrategy.redacted, SafeDataNow? now})
Creates a field constrained to runtime memory only.

Properties

expiresAt → DateTime?
Absolute expiration deadline for the current value, if any.
no setter
hashCode → int
The hash code for this object.
no setterinherited
hasValue → bool
Whether a valid value is available right now.
no setter
isCleared → bool
Whether the field was explicitly cleared.
no setter
isExpired → bool
Whether the field has expired.
no setter
policy → SafeDataPolicy
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
status → SafeDataStatus
Current externally visible status.
no setter

Methods

attachRuntime({required void onChanged()}) → void
Registers a callback for runtime-visible internal changes.
clear({SafeDataClearReason reason = SafeDataClearReason.manual}) → void
Clears the current value.
detachRuntime() → void
Detaches the current runtime callback, if any.
handleCommandCompletion({required Object commandKey, required bool succeeded}) → bool
Applies command-linked cleanup rules and reports whether the field changed.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readOrNull() → T?
Returns the current value when still valid.
requireValid() → T
Returns the current value or throws if unavailable.
set(T value) → void
Replaces the current value and resets the expiration window.
toString() → String
A string representation of this object.
override

Operators

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