Fork me on GitHub
#om
<
2017-10-10
>
danielstockton09:10:48

Probably performance? I think most JS engines are highly optimized for parsing json on the client side?

danielstockton09:10:02

I don't hear of many people using messagepack, except server to server

ThadIsNOTFood20:10:02

Hi can someone help tell me what I am doing wrong?

(defn get-devices-and-scenes [param1 data]
  (let [cursor (om/root-cursor data)]
    (om/transact! cursor :current-devices  (:space/devices param1))
    (om/transact! cursor :current-scenes (:space/scenes param1))
    (println "#####devices: " (app-state :current-devices))))
param1 is a map, data is a referred app-state I need to update app-state to hold the new information on :current-devices and :current-scenes

rbertrand22:10:10

@thaddeus.aid this seems like a weird fn (i.e. get- prefix but then writing to the app-state). data is an atom, right?

(defn get-devices-and-scenes [param1 data]
  ;data is an atom, right? (e.g. not derefed)
  (let [cursor (om/root-cursor data)]
    (om/transact! cursor #(assoc % :current-devices (:space/devices param1)
                           :current-scenes (:space/scenes param1)))
    (println "#####devices: " (@cursor :current-devices))))

ThadIsNOTFood22:10:56

@rbertrand thanks! can I ask what the #() and asoc % symbolize? I'm still fairly new to this.

ThadIsNOTFood22:10:25

Error: No protocol method ISwap.-swap! defined for type om.core/MapCursor: [object Object] I guess I will need to import that

ambroise22:10:20

@thaddeus.aid it’s a reader macro - https://clojure.org/reference/reader (for the #and % explanation, see Macro characters > Dispatch (#) > Anonymous function literal)