Fork me on GitHub
#specter
<
2017-07-15
>
frankmoyer00:07:03

@nathanmarz Here is a test map input.

{:db
  {:active                         :left,
   :left
   {:southern                      false,
    :blocks
    [{:tame                        "first row"
      :nont                        false}]}}
 :event                            [:last-char-deleted 0]}
It looks like it is happening in the keypath part of the transform. Here is some more of the stacktrace:
core.cljs?rel=1495975558928:89 Error: No protocol method IAssociative.-assoc defined for type cljs.core/LazySeq: ({:tame "",  :nont false} {:tame "This", :nont false})
    at Object.cljs$core$missing_protocol [as missing_protocol] (core.cljs:270)
    at Object.cljs$core$_assoc [as _assoc] (core.cljs:529)
    at Function.cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 (core.cljs:1860)
    at cljs$core$assoc (core.cljs:1853)
    at com$rpl$specter$navs$do_keypath_transform (navs.cljc?rel=1495975557245:615)
    at com.rpl.specter.navs.keypath_STAR_.com.rpl.specter.impl.direct_nav_obj.call.com.rpl.specter.navs.t_com$rpl$specter$$rpl$specter$protocols$RichNavigator$transform_STAR_$arity$4 (navs.cljc?rel=1495975557245:625)
    at com$rpl$specter$protocols$transform_STAR_ (protocols.cljc?rel=1495975553225:15)
    at com$rpl$specter$navs$if_transform (navs.cljc?rel=1495975557245:402)

nathanmarz01:07:05

@frankmoyer oh, that transform should be a setval

nathanmarz01:07:25

also you should wrap (:active (:db db)) with keypath

nathanmarz01:07:45

no semantic difference but will perform better

nathanmarz01:07:04

since it doesn't have to convert keyword -> navigator at runtime

frankmoyer01:07:46

Perfect! That worked. I really appreciate it. I was just bragging to my wife about how great Specter is and how responsive you are. It makes working with Specter so much less daunting to know you are there for support!

nathanmarz01:07:14

you can also combine the two calls using (multi-path (if-path ...) nil?)

nathanmarz01:07:36

awesome, glad to help

frankmoyer01:07:09

I’m not sure I need the second call anymore now that the first call has been changed to a setval.