Я пытаюсь использовать TMap
следующим образом:
Определить TMap
:
val chatIdMapSTM: ChatIds = TMap.make(camunda_group -> camundaChatId, "pme123" -> 275469757L)
Поставить запись:
def registerChat(maybeId: Option[ChatUserOrGroup], chatId: ChatId): ZIO[Any, RegisterException, String] =
(for {
chatStm <- chatIdMapSTM
_ <- maybeId.map(id => chatStm.put(id, chatId)).getOrElse(chatIdMapSTM)
values <- chatStm.values // List(1212, 275469757, -319641852)
} yield chatStm).commit
.as("your chat was successful registered")
Затем попробуйте чтобы получить это значение:
def requestChat(chatUserOrGroup: ChatUserOrGroup): UIO[ChatId] =
(for {
chatStm <- chatIdMapSTM
values <- chatStm.values // List(275469757, -319641852)
chatId <- chatStm.getOrElse(chatUserOrGroup, camundaChatId)
} yield chatId).commit
Как отмечается в комментариях, когда я запрашиваю запись, новое значение отсутствует.
Я что-то пропустил?