jsoniq
Version:
JSONiq implementation for JavaScript
21 lines (19 loc) • 2.9 kB
JavaScript
;
var IteratorClause_1 = require("./IteratorClause");
class WhereIterator extends IteratorClause_1.default {
constructor(position, expr) {
super(position);
this.expr = expr;
}
serializeClause(clauses) {
var node = super.serialize("where");
node.add("if(")
.add(this.expr.serialize())
.add(".next().value == true){")
.add(clauses[0].serializeClause(clauses.slice(1)))
.add("}");
return node;
}
}
exports.default = WhereIterator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ydW50aW1lL2l0ZXJhdG9ycy9mbHdvci9XaGVyZUl0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbIldoZXJlSXRlcmF0b3IiLCJXaGVyZUl0ZXJhdG9yLmNvbnN0cnVjdG9yIiwiV2hlcmVJdGVyYXRvci5zZXJpYWxpemVDbGF1c2UiXSwibWFwcGluZ3MiOiI7QUFJQSwrQkFBMkIsa0JBQWtCLENBQUMsQ0FBQTtBQUc5Qyw0QkFBMkMsd0JBQWM7SUFJckRBLFlBQ0lBLFFBQWtCQSxFQUNsQkEsSUFBY0E7UUFFZEMsTUFBTUEsUUFBUUEsQ0FBQ0EsQ0FBQ0E7UUFDaEJBLElBQUlBLENBQUNBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBO0lBQ3JCQSxDQUFDQTtJQUVERCxlQUFlQSxDQUFDQSxPQUF5QkE7UUFDckNFLElBQUlBLElBQUlBLEdBQUdBLEtBQUtBLENBQUNBLFNBQVNBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBO1FBQ3BDQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQSxLQUFLQSxDQUFDQTthQUNWQSxHQUFHQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxTQUFTQSxFQUFFQSxDQUFDQTthQUMxQkEsR0FBR0EsQ0FBQ0EseUJBQXlCQSxDQUFDQTthQUM5QkEsR0FBR0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsZUFBZUEsQ0FBQ0EsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7YUFDakRBLEdBQUdBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO1FBQ2RBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBO0lBQ2hCQSxDQUFDQTtBQUNMRixDQUFDQTtnQ0FBQSIsImZpbGUiOiJsaWIvcnVudGltZS9pdGVyYXRvcnMvZmx3b3IvV2hlcmVJdGVyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi8uLi8uLi90eXBpbmdzL3RzZC5kLnRzXCIgLz5cbmltcG9ydCAqIGFzIFNvdXJjZU1hcCBmcm9tIFwic291cmNlLW1hcFwiO1xuXG5pbXBvcnQgSXRlcmF0b3IgZnJvbSBcIi4uL0l0ZXJhdG9yXCI7XG5pbXBvcnQgSXRlcmF0b3JDbGF1c2UgZnJvbSBcIi4vSXRlcmF0b3JDbGF1c2VcIjtcbmltcG9ydCBQb3NpdGlvbiBmcm9tIFwiLi4vLi4vLi4vY29tcGlsZXIvcGFyc2Vycy9Qb3NpdGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXaGVyZUl0ZXJhdG9yIGV4dGVuZHMgSXRlcmF0b3JDbGF1c2Uge1xuXG4gICAgcHJpdmF0ZSBleHByOiBJdGVyYXRvcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3NpdGlvbjogUG9zaXRpb24sXG4gICAgICAgIGV4cHI6IEl0ZXJhdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy5leHByID0gZXhwcjtcbiAgICB9XG5cbiAgICBzZXJpYWxpemVDbGF1c2UoY2xhdXNlczogSXRlcmF0b3JDbGF1c2VbXSk6IFNvdXJjZU1hcC5Tb3VyY2VOb2RlIHtcbiAgICAgICAgdmFyIG5vZGUgPSBzdXBlci5zZXJpYWxpemUoXCJ3aGVyZVwiKTtcbiAgICAgICAgbm9kZS5hZGQoXCJpZihcIilcbiAgICAgICAgICAgIC5hZGQodGhpcy5leHByLnNlcmlhbGl6ZSgpKVxuICAgICAgICAgICAgLmFkZChcIi5uZXh0KCkudmFsdWUgPT0gdHJ1ZSl7XCIpXG4gICAgICAgICAgICAuYWRkKGNsYXVzZXNbMF0uc2VyaWFsaXplQ2xhdXNlKGNsYXVzZXMuc2xpY2UoMSkpKVxuICAgICAgICAgICAgLmFkZChcIn1cIik7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==