A general framework for caching dart object model in Hive.

Features

This package currently support JSON parsable objects and, Hive types.

It has a background Cache Invalidation support at the time of fetching the data.

It also implements TTL in over the Hive framework.

Getting started

To start using the package go through Hive basics

To utilize this package register your data models before initializing the Cache Store. Also, don't forget to initialize Hive beforehand.

Usage

  1. Initializing store JSON Parsable Object and, Hive Typed Object.
import 'package:hive_universal_cache/hive_universal_cache.dart';
final store = CacheStore(name: "test", policy: CachePolicy.main);
CacheTypeRegistry.instance.registerJsonAdapter<TestModel>(TestModel.fromJson);
CacheTypeRegistry.instance.registerHiveTypeAdapter<HiveTestModel>(HiveTestModelAdapter());
store.init();
  1. Set and, Get example
await store.set<TestModel>("test", TestModel(key: "test"));
final data = await store.get<TestModel>("test");

For more detailed examples, kindly go to Examples

Additional information

This package is just on the initial phase, next inclusions will be :

  1. Wrapper over http to directly put cacheable content.
  2. Adding support for Images and, Files.