FilamentSchemaCache class abstract interface

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