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>(source)

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>(source)

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