0 purchases
cached storage
Cached Storage
Visit the documentation for more information.
A Storage addon to the CachedQuery package.
Built on top of Sqflite.
Features #
Persist queries to disk
Accepts any json serializable data.
Getting started #
Initialized cached query with the storage interface. This must be initialized before any query is called.
void main() async {
CachedQuery.instance.configFlutter(
storage: await CachedStorage.ensureInitialized(),
);
}
copied to clipboard
Queries will then automatically be persisted.
Serialization #
Cached Storage uses jsonEncode to convert the data of a query to json, which is then stored. If you are returning
dart objects from the queryFn you will need to serialized the json back into the dart object. To do this, pass a
serilizer to the QueryConfig which will be used to turn the stored data back into a dart object.
Query<JokeModel>(
key: 'joke',
config: QueryConfig(
// Use a deserializer to transform the store json to an object.
storageDeserializer: (dynamic json) =>
JokeModel.fromJson(json as Map<String, dynamic>),
),
queryFn: () async {
final req = client.get(
Uri.parse("https://icanhazdadjoke.com/"),
headers: {"Accept": "application/json"},
);
final res = await req;
return JokeModel.fromJson(
jsonDecode(res.body) as Map<String, dynamic>,
);
},
);
copied to clipboard
Additional information #
This package is an addon for Cached Query. For persistent storage take a look at
[Cached Storage].
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.