Hmm, I tested in the REPL and both Carry's EntangledReference and Lentes' lenses do satisfy that
Validating the card options doesn't use atom-like
, it checks to see if the initial data is an atom (or vector, or a map)
(defn validate-card-options [opts]
(if (map? opts)
...
(or (nil? initial-data)
(vector? initial-data)
(map? initial-data)
(satisfies? IAtom initial-data)
{:label :initial-data
:message "should be an Atom or a Map or nil."
:value initial-data})]
...
I guess we could add something like writable-atom-like?
and readable-atom-like?
, and when the options are validated, only require that the data be a writable thing if history is true in the options
otherwise it's enough if its readable
its probably enough to make it in but time travel won't work, look for swap! and reset! to see when writable is needed
@kauko: ^
and atom-like?
should definitely work in place of (satisfies? IAtom initial-data)
thats a welcome patch