fullyCached

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