On Tuesday, 14 January 2014 13:13:10 UTC, Joaquín Oltra  wrote:
> Hi!
> 
> I have an issue when trying to convert a javascript Array to a clojurescript 
> vector. When using js->clj it returns the same JS object without converting 
> it.
> 
> Code:
> 
>   (def paths (.readdirSync fs "resources/photos"))
>   ;=> #<.DS_Store,2013,Aachen,Alicante,India Maria,Londres 2009>
> 
>   (isa? paths js/Array)
>   ;=> false
> 
>   (type paths)
>   ;=> #<function Array() { [native code] }>
> 
>   (print (js->clj paths))
>   ;=> #<.DS_Store,2013,Aachen,Alicante,India Maria,Londres 2009>nil
>   ;; Same thing as before
> 
>   (map #(str "whatever") paths)
>   ;=> "Error evaluating:" (map (fn* [] (str "asdf")) paths) :as 
> "cljs.core.map.call(null,(function (){return 
> [cljs.core.str(\"asdf\")].join('');\n}),galeria.files.paths)"
>   Error: .DS_Store,2013,Aachen,Alicante,India Maria,Londres 2009is not 
> ISeqable
>     at seq (cljs/core.cljs:39:9)
>     at cljs.core.map.map__2 (cljs/core.cljs:11:120)
>     at cljs.core.LazySeq.sval (cljs/core.cljs:43:23)
>     at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (cljs/core.cljs:55:30
>   ....
> 
> 
> I do not understand why it says it is not an Array but the type clearly shows 
> that the constructur is the Array js type.
> 
> I'm fairly new to the language and to clojurescript and I come from js so 
> sorry if I made some stupid mistake.
> 
> After a while I've found a JS workaround to make it work (concat the results 
> to an empty JS array):
> 
>   (println (js->clj (.concat #js[] (.readdirSync fs "resources/photos"))))
>   ;=> [.DS_Store 2013 Aachen Alicante India Maria Londres 2009]
> 
> Any help/advice would be greatly appreciated.
> 
> Thanks!
> Joaquin
> 
> ps: Project conf
>   :dependencies [[org.clojure/clojure "1.5.1"][org.clojure/clojurescript 
> "0.0-2138"]]
>   :plugins [[lein-cljsbuild "1.0.1"] [org.bodil/lein-noderepl "0.1.10"]]

I think i'm having this same problem again, with [org.clojure/clojurescript 
"0.0-2371"] :

'files' comes from 
http://nodejs.org/docs/latest/api/fs.html#fs_fs_readdir_path_callback

when i call (type (js->clj files)) 

i get #<function Array() { [native code] }>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to