@thinql/parse
Version:
Parse ThinQL queries to ASTs
52 lines (42 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Node2 = _interopRequireWildcard(require("./_Node.js"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
class _LogicalExpression extends _Node2.default {
static get leftBracket() {
return '(';
}
static get rightBracket() {
return ')';
}
constructor({
assertions
}, token) {
super({
assertions
}, token);
}
get assertions() {
return _Node2.attributeSetsMap.get(this).assertions;
}
toString({
brackets = true
} = {}) {
const {
leftBracket: lb,
rightBracket: rb
} = _LogicalExpression;
const {
assertions,
constructor: {
joiner
}
} = this;
return `${brackets ? lb : ''}${assertions.join(joiner)}${brackets ? rb : ''}`;
}
}
exports.default = _LogicalExpression;
//# sourceMappingURL=_LogicalExpression.js.map