UNPKG

@glimmer/syntax

Version:
52 lines (43 loc) 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; class WalkerPath { constructor(node, parent = null, parentKey = null) { this.node = node; this.parent = parent; this.parentKey = parentKey; } get parentNode() { return this.parent ? this.parent.node : null; } parents() { return { [Symbol.iterator]: () => { return new PathParentsIterator(this); } }; } } exports.default = WalkerPath; class PathParentsIterator { constructor(path) { this.path = path; } next() { if (this.path.parent) { this.path = this.path.parent; return { done: false, value: this.path }; } else { return { done: true, value: null }; } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdHJhdmVyc2FsL3BhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVjLE1BQUEsVUFBQSxDQUFpQjtBQUs3QixFQUFBLFdBQUEsQ0FBQSxJQUFBLEVBRUUsTUFBQSxHQUZGLElBQUEsRUFHRSxTQUFBLEdBSEYsSUFBQSxFQUdpQztBQUUvQixTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0EsU0FBQSxNQUFBLEdBQUEsTUFBQTtBQUNBLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFDRDs7QUFFRCxNQUFBLFVBQUEsR0FBYztBQUNaLFdBQU8sS0FBQSxNQUFBLEdBQWMsS0FBQSxNQUFBLENBQWQsSUFBQSxHQUFQLElBQUE7QUFDRDs7QUFFRCxFQUFBLE9BQU8sR0FBQTtBQUNMLFdBQU87QUFDTCxPQUFDLE1BQU0sQ0FBUCxRQUFBLEdBQW1CLE1BQUs7QUFDdEIsZUFBTyxJQUFBLG1CQUFBLENBQVAsSUFBTyxDQUFQO0FBQ0Q7QUFISSxLQUFQO0FBS0Q7O0FBekI0Qjs7OztBQTRCL0IsTUFBQSxtQkFBQSxDQUF5QjtBQUd2QixFQUFBLFdBQUEsQ0FBQSxJQUFBLEVBQXdDO0FBQ3RDLFNBQUEsSUFBQSxHQUFBLElBQUE7QUFDRDs7QUFFRCxFQUFBLElBQUksR0FBQTtBQUNGLFFBQUksS0FBQSxJQUFBLENBQUosTUFBQSxFQUFzQjtBQUNwQixXQUFBLElBQUEsR0FBWSxLQUFBLElBQUEsQ0FBWixNQUFBO0FBQ0EsYUFBTztBQUFFLFFBQUEsSUFBSSxFQUFOLEtBQUE7QUFBZSxRQUFBLEtBQUssRUFBRSxLQUFLO0FBQTNCLE9BQVA7QUFGRixLQUFBLE1BR087QUFDTCxhQUFPO0FBQUUsUUFBQSxJQUFJLEVBQU4sSUFBQTtBQUFjLFFBQUEsS0FBSyxFQUFFO0FBQXJCLE9BQVA7QUFDRDtBQUNGOztBQWRzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEFTVHYxIGZyb20gJy4uL3YxL2FwaSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdhbGtlclBhdGg8TiBleHRlbmRzIEFTVHYxLk5vZGU+IHtcbiAgbm9kZTogTjtcbiAgcGFyZW50OiBXYWxrZXJQYXRoPEFTVHYxLk5vZGU+IHwgbnVsbDtcbiAgcGFyZW50S2V5OiBzdHJpbmcgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5vZGU6IE4sXG4gICAgcGFyZW50OiBXYWxrZXJQYXRoPEFTVHYxLk5vZGU+IHwgbnVsbCA9IG51bGwsXG4gICAgcGFyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICApIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMucGFyZW50S2V5ID0gcGFyZW50S2V5O1xuICB9XG5cbiAgZ2V0IHBhcmVudE5vZGUoKTogQVNUdjEuTm9kZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50Lm5vZGUgOiBudWxsO1xuICB9XG5cbiAgcGFyZW50cygpOiBJdGVyYWJsZTxXYWxrZXJQYXRoPEFTVHYxLk5vZGU+IHwgbnVsbD4ge1xuICAgIHJldHVybiB7XG4gICAgICBbU3ltYm9sLml0ZXJhdG9yXTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFBhdGhQYXJlbnRzSXRlcmF0b3IodGhpcyk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgUGF0aFBhcmVudHNJdGVyYXRvciBpbXBsZW1lbnRzIEl0ZXJhdG9yPFdhbGtlclBhdGg8QVNUdjEuTm9kZT4gfCBudWxsPiB7XG4gIHBhdGg6IFdhbGtlclBhdGg8QVNUdjEuTm9kZT47XG5cbiAgY29uc3RydWN0b3IocGF0aDogV2Fsa2VyUGF0aDxBU1R2MS5Ob2RlPikge1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLnBhdGgucGFyZW50KSB7XG4gICAgICB0aGlzLnBhdGggPSB0aGlzLnBhdGgucGFyZW50O1xuICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB0aGlzLnBhdGggfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgZG9uZTogdHJ1ZSwgdmFsdWU6IG51bGwgfTtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=