On Tue, Oct 18, 2016 at 5:59 AM, Thomas Heller <th.hel...@gmail.com> wrote: > Don't think there is a best practice for your case in particular.
Okay. Earlier in the thread you said "while this issue can be very confusing you will hardly ever run into it when following best practices." So it seemed to me that perhaps I missing something important, or didn't know about a best practice that would have saved me. I think the issue here is a bit different though. There's nothing that would have saved short of knowing that js->clj has this issue lurking in the background. :-) > The issue is that js->cli is built on top of protocols to allow converting > custom JS types to CLJS types. Which makes it extensible for the price of > checking protocols. In your case you are converting JSON which cannot have > custom types, so a custom converter only checking for the very few possible > JSON types would "fix" your problem (and would probably be a lot faster). Yep. OTOH, I don't really need the performance and js->clj would have been just as nice to use, if it worked correctly. :-) > The case can be made that cljs-ajax should not be using js->clj when > converting JSON, maybe even add a json->clj to cljs.core. I think having json->clj would be a nice option. Though for cljs-ajax, we probably need to roll our own since the api wouldn't be available in older ClojureScript versions. > The sentinel is the "safest" solution but impacts the performance of > everyone, so we should be doing more benchmarks on more platforms before > deciding anything. Benchmarks and Votes on the Jira Issue would help to push > this along. True, but I think the correctness argument here is pretty valuable. Again, much of what I see out there is the js->clj is the way to convert data, and having this problem lurking seems like setting folks up for failure. I'm pretty persistent when it comes to troubleshooting this stuff, but I could see others being awfully frustrated by the result. So I hope that some version of the sentinel patch makes it in. :-) -John -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.