Ahh, you're right, thats a typo and it should read person-map.
{:sex 0} is a map of keys removed. The reason I'm not using a set here is
because I need to know the type of the datastructure to diff, and because
it needs to work for nesting. For instance, this should also work.
(diff {:name "Robin", :friends {:school #{"Lars" "Jens" "Erika"}}}) {:name
"Robin", :friends {:home #{"Mom"}, :school #{"Lars"}}})
Should return
[{:friends {:home #{"Mom"}}}
{:friends {:school #{"Jens", "Erika"}}}]
What I said about retaining type information becomes especially relevant
when it comes to list/seq/vector, as all those structures support the same
operations, but the result of patch should return the correct type.
kl. 07:42:30 UTC+1 tirsdag 18. november 2014 skrev Atamert Ölçgen følgende:
>
> Hi Robin,
>
> Thanks for adding a README. It might contain a couple of errors though.
>
> I can't make sense of this for example:
>
> (def person-map {:name "Robin"
> :age 25
> :sex :male})
>
> (def person-diff (differ/diff test-map {:name "Robin Heggelund Hansen"
> :age 26})
> ;; person-diff will now be [{:name "Robin Heggelund Hansen", :age 26};;
> {:sex 0}]
>
>
> Where did test-map come from? I'm assuming it's person-map. Why is :sex 0?
> Is he fat and bald? If that's a list of keys that's removed, I suggest
> using a set there.
>
> (differ/patch {:specie :dog
> :sex :female}
> person-diff)
> ;; Will return {:name "Robin Heggelund Hansen";; :age 26;;
> :specie :dog}
>
>
> Shouldn't the result contain [:sex :female] as well?
>
>
> On Tue, Nov 18, 2014 at 3:51 AM, Robin Heggelund Hansen <
> [email protected] <javascript:>> wrote:
>
>> https://github.com/Skinney/differ
>>
>> I needed a way to send diffs of data from a cljs web-app to a clj
>> backend, and I found clojure.data/diff to be a pain to work with, so i
>> created my own solution. It currently only supports maps (and nested
>> maps...), but support for lists, vectors and sets is on the roadmap for the
>> next version. This version is mostly for me to test with my own app, which
>> currently only uses maps.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to [email protected]
>> <javascript:>
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Kind Regards,
> Atamert Ölçgen
>
> -+-
> --+
> +++
>
> www.muhuk.com
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.