mirror of
https://github.com/status-im/status-react.git
synced 2025-02-06 08:05:55 +00:00
23 lines
652 B
Clojure
23 lines
652 B
Clojure
(ns status-im.protocol.message-cache
|
|
(:refer-clojure :exclude [exists?]))
|
|
|
|
(defonce messages-set (atom #{}))
|
|
(defonce messages-map (atom {}))
|
|
|
|
(defn init!
|
|
[messages]
|
|
(reset! messages-set (set messages))
|
|
(reset! messages-map (->> messages
|
|
(map (fn [{:keys [message-id type] :as message}]
|
|
[[message-id type] message]))
|
|
(into {}))))
|
|
|
|
(defn add!
|
|
[{:keys [message-id type] :as message}]
|
|
(swap! messages-set conj message)
|
|
(swap! messages-map conj [[message-id type] message]))
|
|
|
|
(defn exists?
|
|
[message-id type]
|
|
(get @messages-map [message-id type]))
|