-
Notifications
You must be signed in to change notification settings - Fork 26
Description
I don't know whether this is the good place to make this request.
Using flexx to create an application, I from time to time need to find all the elements inside a node.
I wish I could write the following for element in self.node.querySelectorAll("a"): .... Unfortunately, this iteration assigns the indexes into element (1, 2, 3...), then I need to write the code as
links = self.node.querySelectorAll("a")
for index in links:
do something with links[index]
This does not feel very pythonic.
IIUC, the transpiling happens in Parser2._make_iterable, the iteration is converted in
stub1_seq = this.node.querySelectorAll("a");
if ((typeof stub1_seq === "object") && (!Array.isArray(stub1_seq))) { stub1_seq = Object.keys(stub1_seq);}
for (stub2_itr = 0; stub2_itr < stub1_seq.length; stub2_itr += 1) {
do something with stub1_seq[stub2_itr];
}
I don't know how NodeList could be taken into account here, I guess that ideally, the condition isArray could be extended to find out other known types that can coerce to Array if(NodeList.prototype.isPrototypeOf(stub1_seq)){stub1_seq = Array.from(stub1_seq);}. I don't know of a more generic way of doing. I python, I would do something like :
try:
Array.from(stub1_seq)
except ValueError:
stub1_seq = fallback