MapCRUDRepo

fun <ObjectType, IdType, InputValueType> MapCRUDRepo(map: MutableMap<IdType, ObjectType>, updateCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType, id: IdType, old: ObjectType) -> ObjectType, locker: SmartRWLocker = SmartRWLocker(), createCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType) -> Pair<IdType, ObjectType>): MapCRUDRepo<ObjectType, IdType, InputValueType>

MutableMap-based MapCRUDRepo. All internal operations will be locked with locker

Warning: Besides, in case you are using your own MutableMap as a map you should be careful with operations on this map


fun <ObjectType, IdType, InputValueType> MapCRUDRepo(updateCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType, id: IdType, old: ObjectType) -> ObjectType, locker: SmartRWLocker = SmartRWLocker(), createCallback: suspend MutableMap<IdType, ObjectType>.(newValue: InputValueType) -> Pair<IdType, ObjectType>): MapCRUDRepo<ObjectType, IdType, newValue: InputValueType>

MutableMap-based MapCRUDRepo. All internal operations will be locked with locker