UNPKG

jsoniq

Version:

JSONiq implementation for JavaScript

21 lines (19 loc) 2.9 kB
"use strict"; 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==