diff --git a/lib/6to5/transformation/transformers/generator-comprehension.js b/lib/6to5/transformation/transformers/generator-comprehension.js new file mode 100644 index 0000000000..6a6f80f751 --- /dev/null +++ b/lib/6to5/transformation/transformers/generator-comprehension.js @@ -0,0 +1,15 @@ +var arrayComprehension = require("./array-comprehension"); +var t = require("../../types"); + +exports.ComprehensionExpression = function (node, parent, file) { + if (!node.generator) return; + + var body = []; + var container = t.functionExpression(null, [], t.blockStatement(body), true); + + body.push(arrayComprehension._build(node, function () { + return t.expressionStatement(t.yieldExpression(node.body)); + })); + + return t.callExpression(container, []); +};