pub fn iterate(v: &Value) -> Result<Option<Vec<Value>>, String>Expand description
[...proxy] / for (… of proxy). Ok(None) → not a proxy.
Three cases, in the order GetIterator reaches them:
a user Symbol.iterator read THROUGH the get trap; an array target, whose
Array.prototype[Symbol.iterator] observably does Get(O, "length") then
Get(O, i) (so a get trap that lies about either is honored); and anything
else (Map/Set/string/generator target), which iterates as the target does.