jsoniq
Version:
JSONiq implementation for JavaScript
29 lines (27 loc) • 3.39 kB
JavaScript
;
/// <reference path="../../../typings/tsd.d.ts" />
//import * as _ from "lodash";
var Iterator_1 = require("./Iterator");
class SimpleMapExpr extends Iterator_1.default {
constructor(position, left, right) {
super(position);
this.left = left;
this.right = right;
}
//
serialize() {
var node = super.serialize();
node.add("(function *(){\n")
.add("for(let $$ of ")
.add(this.left.serialize())
.add("){\n")
.add(`$$ = [$$];\n`)
.add("yield *")
.add(this.right.serialize())
.add(";\n")
.add("}\n})()");
return node;
}
}
exports.default = SimpleMapExpr;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ydW50aW1lL2l0ZXJhdG9ycy9TaW1wbGVNYXBFeHByLnRzIl0sIm5hbWVzIjpbIlNpbXBsZU1hcEV4cHIiLCJTaW1wbGVNYXBFeHByLmNvbnN0cnVjdG9yIiwiU2ltcGxlTWFwRXhwci5zZXJpYWxpemUiXSwibWFwcGluZ3MiOiI7QUFBQSxrREFBa0Q7QUFDbEQsOEJBQThCO0FBQzlCLHlCQUFxQixZQUFZLENBQUMsQ0FBQTtBQUlsQyw0QkFBMkMsa0JBQVE7SUFLL0NBLFlBQVlBLFFBQWtCQSxFQUFFQSxJQUFjQSxFQUFFQSxLQUFlQTtRQUMzREMsTUFBTUEsUUFBUUEsQ0FBQ0EsQ0FBQ0E7UUFDaEJBLElBQUlBLENBQUNBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBO1FBQ2pCQSxJQUFJQSxDQUFDQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQTtJQUN2QkEsQ0FBQ0E7SUFFREQsRUFBRUE7SUFDRkEsU0FBU0E7UUFDTEUsSUFBSUEsSUFBSUEsR0FBR0EsS0FBS0EsQ0FBQ0EsU0FBU0EsRUFBRUEsQ0FBQ0E7UUFDN0JBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLGtCQUFrQkEsQ0FBQ0E7YUFDdkJBLEdBQUdBLENBQUNBLGdCQUFnQkEsQ0FBQ0E7YUFDckJBLEdBQUdBLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLFNBQVNBLEVBQUVBLENBQUNBO2FBQzFCQSxHQUFHQSxDQUFDQSxNQUFNQSxDQUFDQTthQUNYQSxHQUFHQSxDQUFDQSxjQUFjQSxDQUFDQTthQUNuQkEsR0FBR0EsQ0FBQ0EsU0FBU0EsQ0FBQ0E7YUFDZEEsR0FBR0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsU0FBU0EsRUFBRUEsQ0FBQ0E7YUFDM0JBLEdBQUdBLENBQUNBLEtBQUtBLENBQUNBO2FBQ1ZBLEdBQUdBLENBQUNBLFNBQVNBLENBQUNBLENBQ2xCQTtRQUNEQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQTtJQUNoQkEsQ0FBQ0E7QUFDTEYsQ0FBQ0E7Z0NBQUEiLCJmaWxlIjoibGliL3J1bnRpbWUvaXRlcmF0b3JzL1NpbXBsZU1hcEV4cHIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vLi4vdHlwaW5ncy90c2QuZC50c1wiIC8+XG4vL2ltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IEl0ZXJhdG9yIGZyb20gXCIuL0l0ZXJhdG9yXCI7XG5pbXBvcnQgUG9zaXRpb24gZnJvbSBcIi4uLy4uL2NvbXBpbGVyL3BhcnNlcnMvUG9zaXRpb25cIjtcbmltcG9ydCAqIGFzIFNvdXJjZU1hcCBmcm9tIFwic291cmNlLW1hcFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaW1wbGVNYXBFeHByIGV4dGVuZHMgSXRlcmF0b3Ige1xuXG4gICAgcHJpdmF0ZSBsZWZ0OiBJdGVyYXRvcjtcbiAgICBwcml2YXRlIHJpZ2h0OiBJdGVyYXRvcjtcblxuICAgIGNvbnN0cnVjdG9yKHBvc2l0aW9uOiBQb3NpdGlvbiwgbGVmdDogSXRlcmF0b3IsIHJpZ2h0OiBJdGVyYXRvcikge1xuICAgICAgICBzdXBlcihwb3NpdGlvbik7XG4gICAgICAgIHRoaXMubGVmdCA9IGxlZnQ7XG4gICAgICAgIHRoaXMucmlnaHQgPSByaWdodDtcbiAgICB9XG5cbiAgICAvL1xuICAgIHNlcmlhbGl6ZSgpOiBTb3VyY2VNYXAuU291cmNlTm9kZSB7XG4gICAgICAgIHZhciBub2RlID0gc3VwZXIuc2VyaWFsaXplKCk7XG4gICAgICAgIG5vZGUuYWRkKFwiKGZ1bmN0aW9uICooKXtcXG5cIilcbiAgICAgICAgICAgIC5hZGQoXCJmb3IobGV0ICQkIG9mIFwiKVxuICAgICAgICAgICAgLmFkZCh0aGlzLmxlZnQuc2VyaWFsaXplKCkpXG4gICAgICAgICAgICAuYWRkKFwiKXtcXG5cIilcbiAgICAgICAgICAgIC5hZGQoYCQkID0gWyQkXTtcXG5gKVxuICAgICAgICAgICAgLmFkZChcInlpZWxkICpcIilcbiAgICAgICAgICAgIC5hZGQodGhpcy5yaWdodC5zZXJpYWxpemUoKSlcbiAgICAgICAgICAgIC5hZGQoXCI7XFxuXCIpXG4gICAgICAgICAgICAuYWRkKFwifVxcbn0pKClcIilcbiAgICAgICAgO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=