Using GWT 2.8.1, I'm trying to iterate through items found via a query 
selector:

Arrays.asList(document.querySelectorAll("button.with-some-class").asArray
()).forEach(
        item -> doSomething(item)
);

Unfortunately, this seems to always fail - querySelectorAll returns a 
NodeList<Element>, and while asArray() seems to specify Js.uncheckedCast, 
the resulting generated code is 

$forEach_1(new Arrays$ArrayList(*castToJsArray*(($clinit_DomGlobal() , 
document_0).querySelectorAll('button.with-some-class'))), new 
SampleClass$lambda$0$Type);

Predictable, the bolded castToJsArray causes an exception at runtime, since 
a NodeList isn't actually a JS Array at all.

Is there a correct way to do this, or perhaps a nicer way to iterate 
through NodeLists?

I assume this should be a bug filed against jsinterop-base, but am not 
seeing a repo for it, or is this a bug in GWT itself?

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/4764126b-ed92-409a-bb4b-d1d1fead2e3c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to