Persists the panel schema document across app restarts, the host's way.
This package ships exactly two runtime dependencies (flutter,
equatable), and that is a load-bearing feature — same reasoning as
FilamentFilePicker. So storage is the host's: over shared_preferences,
Hive, a file, whatever it already carries.
Without a cache the client behaves exactly as it does today: in-memory only, lost on restart. That is the honest no-op, not a degraded mode.
The String key is the host's, and scoping it is a safety property, not
a style choice. /schema is per-user — policies filter which resources
appear — so a cached document is one user's view of the panel. The host
must scope the key to the signed-in user (a user id, a token hash — its
choice); a constant or otherwise unscoped key would let a second user on
the same device open the first user's cached panel index. This package
cannot enforce that: it has no identity concept, by design, so it
documents the obligation instead. A host that supplies no key gets no
persistence — which fails safe, the same as omitting this port entirely.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clear(
String key) → Future< void> -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
read(
String key) → Future< CachedSchema?> -
toString(
) → String -
A string representation of this object.
inherited
-
write(
String key, CachedSchema value) → Future< void>
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited