var util = require("../util");
exports.ForOfStatement = function (node, parent, opts, generateUid) {
var left = node.left;
var key;
Iif (left.type === "Identifier") {
key = left;
} else Eif (left.type === "VariableDeclaration") {
key = left.declarations[0].id;
} else {
return;
}
var node2 = util.template("for-of", {
ITERATOR_KEY: generateUid("iterator"),
STEP_KEY: generateUid("step"),
OBJECT: node.right,
KEY: key
});
util.ensureBlock(node);
var block = node2.body;
block.body = block.body.concat(node.body.body || []);
var declar = block.body[0];
declar.kind = declar.kind;
return node2;
};
|