123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.PathExpressionImplV1 = void 0;
- var _publicBuilders = _interopRequireDefault(require("./public-builders"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- class PathExpressionImplV1 {
- constructor(original, head, tail, loc) {
- this.original = original;
- this.loc = loc;
- this.type = 'PathExpression';
- this.this = false;
- this.data = false;
- let parts = tail.slice();
- if (head.type === 'ThisHead') {
- this.this = true;
- } else if (head.type === 'AtHead') {
- this.data = true;
- parts.unshift(head.name.slice(1));
- } else {
- parts.unshift(head.name);
- }
- this.parts = parts;
- }
- get head() {
- let firstPart;
- if (this.this) {
- firstPart = 'this';
- } else if (this.data) {
- firstPart = `@${this.parts[0]}`;
- } else {
- firstPart = this.parts[0];
- }
- let firstPartLoc = this.loc.collapse('start').sliceStartChars({
- chars: firstPart.length
- }).loc;
- return _publicBuilders.default.head(firstPart, firstPartLoc);
- }
- get tail() {
- return this.this ? this.parts : this.parts.slice(1);
- }
- }
- exports.PathExpressionImplV1 = PathExpressionImplV1;
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjEvbGVnYWN5LWludGVyb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOzs7O0FBRU0sTUFBQSxvQkFBQSxDQUEyQjtBQU0vQixFQUFBLFdBQUEsQ0FBQSxRQUFBLEVBQUEsSUFBQSxFQUFBLElBQUEsRUFBQSxHQUFBLEVBQTJGO0FBQXhFLFNBQUEsUUFBQSxHQUFBLFFBQUE7QUFBeUQsU0FBQSxHQUFBLEdBQUEsR0FBQTtBQUw1RSxTQUFBLElBQUEsR0FBQSxnQkFBQTtBQUVPLFNBQUEsSUFBQSxHQUFBLEtBQUE7QUFDQSxTQUFBLElBQUEsR0FBQSxLQUFBO0FBR0wsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFoQixLQUFZLEVBQVo7O0FBRUEsUUFBSSxJQUFJLENBQUosSUFBQSxLQUFKLFVBQUEsRUFBOEI7QUFDNUIsV0FBQSxJQUFBLEdBQUEsSUFBQTtBQURGLEtBQUEsTUFFTyxJQUFJLElBQUksQ0FBSixJQUFBLEtBQUosUUFBQSxFQUE0QjtBQUNqQyxXQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0EsTUFBQSxLQUFLLENBQUwsT0FBQSxDQUFjLElBQUksQ0FBSixJQUFBLENBQUEsS0FBQSxDQUFkLENBQWMsQ0FBZDtBQUZLLEtBQUEsTUFHQTtBQUNMLE1BQUEsS0FBSyxDQUFMLE9BQUEsQ0FBYyxJQUFJLENBQWxCLElBQUE7QUFDRDs7QUFFRCxTQUFBLEtBQUEsR0FBQSxLQUFBO0FBQ0Q7O0FBRUQsTUFBQSxJQUFBLEdBQVE7QUFDTixRQUFBLFNBQUE7O0FBRUEsUUFBSSxLQUFKLElBQUEsRUFBZTtBQUNiLE1BQUEsU0FBUyxHQUFULE1BQUE7QUFERixLQUFBLE1BRU8sSUFBSSxLQUFKLElBQUEsRUFBZTtBQUNwQixNQUFBLFNBQVMsR0FBRyxJQUFJLEtBQUEsS0FBQSxDQUFBLENBQUEsQ0FBaEIsRUFBQTtBQURLLEtBQUEsTUFFQTtBQUNMLE1BQUEsU0FBUyxHQUFHLEtBQUEsS0FBQSxDQUFaLENBQVksQ0FBWjtBQUNEOztBQUVELFFBQUksWUFBWSxHQUFHLEtBQUEsR0FBQSxDQUFBLFFBQUEsQ0FBQSxPQUFBLEVBQUEsZUFBQSxDQUEyQztBQUM1RCxNQUFBLEtBQUssRUFBRSxTQUFTLENBQUM7QUFEMkMsS0FBM0MsRUFBbkIsR0FBQTtBQUlBLFdBQU8sd0JBQUEsSUFBQSxDQUFBLFNBQUEsRUFBUCxZQUFPLENBQVA7QUFDRDs7QUFFRCxNQUFBLElBQUEsR0FBUTtBQUNOLFdBQU8sS0FBQSxJQUFBLEdBQVksS0FBWixLQUFBLEdBQXlCLEtBQUEsS0FBQSxDQUFBLEtBQUEsQ0FBaEMsQ0FBZ0MsQ0FBaEM7QUFDRDs7QUF6QzhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU291cmNlU3BhbiB9IGZyb20gJy4uL3NvdXJjZS9zcGFuJztcbmltcG9ydCB7IFBhdGhFeHByZXNzaW9uLCBQYXRoSGVhZCB9IGZyb20gJy4vbm9kZXMtdjEnO1xuaW1wb3J0IGIgZnJvbSAnLi9wdWJsaWMtYnVpbGRlcnMnO1xuXG5leHBvcnQgY2xhc3MgUGF0aEV4cHJlc3Npb25JbXBsVjEgaW1wbGVtZW50cyBQYXRoRXhwcmVzc2lvbiB7XG4gIHR5cGU6ICdQYXRoRXhwcmVzc2lvbicgPSAnUGF0aEV4cHJlc3Npb24nO1xuICBwdWJsaWMgcGFydHM6IHN0cmluZ1tdO1xuICBwdWJsaWMgdGhpcyA9IGZhbHNlO1xuICBwdWJsaWMgZGF0YSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcmlnaW5hbDogc3RyaW5nLCBoZWFkOiBQYXRoSGVhZCwgdGFpbDogc3RyaW5nW10sIHB1YmxpYyBsb2M6IFNvdXJjZVNwYW4pIHtcbiAgICBsZXQgcGFydHMgPSB0YWlsLnNsaWNlKCk7XG5cbiAgICBpZiAoaGVhZC50eXBlID09PSAnVGhpc0hlYWQnKSB7XG4gICAgICB0aGlzLnRoaXMgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaGVhZC50eXBlID09PSAnQXRIZWFkJykge1xuICAgICAgdGhpcy5kYXRhID0gdHJ1ZTtcbiAgICAgIHBhcnRzLnVuc2hpZnQoaGVhZC5uYW1lLnNsaWNlKDEpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydHMudW5zaGlmdChoZWFkLm5hbWUpO1xuICAgIH1cblxuICAgIHRoaXMucGFydHMgPSBwYXJ0cztcbiAgfVxuXG4gIGdldCBoZWFkKCk6IFBhdGhIZWFkIHtcbiAgICBsZXQgZmlyc3RQYXJ0OiBzdHJpbmc7XG5cbiAgICBpZiAodGhpcy50aGlzKSB7XG4gICAgICBmaXJzdFBhcnQgPSAndGhpcyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGZpcnN0UGFydCA9IGBAJHt0aGlzLnBhcnRzWzBdfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpcnN0UGFydCA9IHRoaXMucGFydHNbMF07XG4gICAgfVxuXG4gICAgbGV0IGZpcnN0UGFydExvYyA9IHRoaXMubG9jLmNvbGxhcHNlKCdzdGFydCcpLnNsaWNlU3RhcnRDaGFycyh7XG4gICAgICBjaGFyczogZmlyc3RQYXJ0Lmxlbmd0aCxcbiAgICB9KS5sb2M7XG5cbiAgICByZXR1cm4gYi5oZWFkKGZpcnN0UGFydCwgZmlyc3RQYXJ0TG9jKTtcbiAgfVxuXG4gIGdldCB0YWlsKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy50aGlzID8gdGhpcy5wYXJ0cyA6IHRoaXMucGFydHMuc2xpY2UoMSk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
|