fully Cached
fun <ObjectType, IdType, InputType> CRUDRepo<ObjectType, IdType, InputType>.fullyCached(kvCache: FullKVCache<IdType, ObjectType> = FullKVCache(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default), skipStartInvalidate: Boolean = false, idGetter: (ObjectType) -> IdType): FullCRUDCacheRepo<ObjectType, IdType, InputType>
fun <Key, Value> KeyValueRepo<Key, Value>.fullyCached(kvCache: FullKVCache<Key, Value> = FullKVCache(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): FullKeyValueCacheRepo<Key, Value>
fun <Key, Value> KeyValuesRepo<Key, Value>.fullyCached(kvCache: FullKVCache<Key, List<Value>> = FullKVCache(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): FullKeyValuesCacheRepo<Key, Value>