123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _scope = _interopRequireDefault(require("./scope"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
- var WalkerPath = /*#__PURE__*/function () {
- function WalkerPath(node, parent, parentKey) {
- var _this = this;
- if (parent === void 0) {
- parent = null;
- }
- if (parentKey === void 0) {
- parentKey = null;
- }
- this.node = node;
- this.parent = parent;
- this.parentKey = parentKey;
- this.scope = parent ? parent.scope.child(node) : new _scope.default(node); // Consume in scope values
- if (node.type === 'PathExpression') {
- this.scope.useLocal(node);
- }
- if (node.type === 'ElementNode') {
- this.scope.useLocal(node);
- node.children.forEach(function (node) {
- return _this.scope.useLocal(node);
- });
- }
- }
- var _proto = WalkerPath.prototype;
- _proto.parents = function parents() {
- var _this2 = this,
- _ref;
- return _ref = {}, _ref[Symbol.iterator] = function () {
- return new PathParentsIterator(_this2);
- }, _ref;
- };
- _createClass(WalkerPath, [{
- key: "parentNode",
- get: function get() {
- return this.parent ? this.parent.node : null;
- }
- }]);
- return WalkerPath;
- }();
- exports.default = WalkerPath;
- var PathParentsIterator = /*#__PURE__*/function () {
- function PathParentsIterator(path) {
- this.path = path;
- }
- var _proto2 = PathParentsIterator.prototype;
- _proto2.next = function next() {
- if (this.path.parent) {
- this.path = this.path.parent;
- return {
- done: false,
- value: this.path
- };
- } else {
- return {
- done: true,
- value: null
- };
- }
- };
- return PathParentsIterator;
- }();
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdHJhdmVyc2FsL3BhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVjLFU7QUFNWixXQUFBLFVBQUEsQ0FBQSxJQUFBLEVBQUEsTUFBQSxFQUFBLFNBQUEsRUFHaUM7QUFBQSxRQUFBLEtBQUEsR0FBQSxJQUFBOztBQUFBLFFBRC9CLE1BQytCLEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFEL0IsTUFBQSxNQUMrQixHQUhqQyxJQUVFO0FBQytCOztBQUFBLFFBQS9CLFNBQStCLEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBL0IsTUFBQSxTQUErQixHQUhqQyxJQUdFO0FBQStCOztBQUUvQixTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0EsU0FBQSxNQUFBLEdBQUEsTUFBQTtBQUNBLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFDQSxTQUFBLEtBQUEsR0FBYSxNQUFNLEdBQUcsTUFBTSxDQUFOLEtBQUEsQ0FBQSxLQUFBLENBQUgsSUFBRyxDQUFILEdBQThCLElBQUEsY0FBQSxDQUxsQixJQUtrQixDQUFqRCxDQUwrQixDQU8vQjs7QUFDQSxRQUFJLElBQUksQ0FBSixJQUFBLEtBQUosZ0JBQUEsRUFBb0M7QUFDbEMsV0FBQSxLQUFBLENBQUEsUUFBQSxDQUFBLElBQUE7QUFDRDs7QUFFRCxRQUFJLElBQUksQ0FBSixJQUFBLEtBQUosYUFBQSxFQUFpQztBQUMvQixXQUFBLEtBQUEsQ0FBQSxRQUFBLENBQUEsSUFBQTtBQUVDLE1BQUEsSUFBMEIsQ0FBMUIsUUFBQSxDQUFBLE9BQUEsQ0FBNkMsVUFBRCxJQUFDLEVBQUQ7QUFBQSxlQUMzQyxLQUFBLENBQUEsS0FBQSxDQUFBLFFBQUEsQ0FERCxJQUNDLENBRDJDO0FBQTVDLE9BQUE7QUFHRjtBQUNGOzs7O1NBTUQsTyxHQUFBLFNBQUEsT0FBQSxHQUFPO0FBQUEsUUFBQSxNQUFBLEdBQUEsSUFBQTtBQUFBLFFBQUEsSUFBQTs7QUFDTCxXQUFBLElBQUEsR0FBQSxFQUFBLEVBQUEsSUFBQSxDQUNHLE1BQU0sQ0FEVCxRQUFBLENBQUEsR0FDcUIsWUFBSztBQUN0QixhQUFPLElBQUEsbUJBQUEsQ0FBUCxNQUFPLENBQVA7QUFGSixLQUFBLEVBQUEsSUFBQTs7Ozs7d0JBTFk7QUFDWixhQUFPLEtBQUEsTUFBQSxHQUFjLEtBQUEsTUFBQSxDQUFkLElBQUEsR0FBUCxJQUFBO0FBQ0Q7Ozs7Ozs7O0lBV0gsbUI7QUFHRSxXQUFBLG1CQUFBLENBQUEsSUFBQSxFQUF3QztBQUN0QyxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0Q7Ozs7VUFFRCxJLEdBQUEsU0FBQSxJQUFBLEdBQUk7QUFDRixRQUFJLEtBQUEsSUFBQSxDQUFKLE1BQUEsRUFBc0I7QUFDcEIsV0FBQSxJQUFBLEdBQVksS0FBQSxJQUFBLENBQVosTUFBQTtBQUNBLGFBQU87QUFBRSxRQUFBLElBQUksRUFBTixLQUFBO0FBQWUsUUFBQSxLQUFLLEVBQUUsS0FBSztBQUEzQixPQUFQO0FBRkYsS0FBQSxNQUdPO0FBQ0wsYUFBTztBQUFFLFFBQUEsSUFBSSxFQUFOLElBQUE7QUFBYyxRQUFBLEtBQUssRUFBRTtBQUFyQixPQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBU1R2MSBmcm9tICcuLi92MS9hcGknO1xuaW1wb3J0IFJvb3RUcmFuc2Zvcm1TY29wZSwgeyBUcmFuc2Zvcm1TY29wZSB9IGZyb20gJy4vc2NvcGUnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXYWxrZXJQYXRoPE4gZXh0ZW5kcyBBU1R2MS5Ob2RlPiB7XG4gIG5vZGU6IE47XG4gIHBhcmVudDogV2Fsa2VyUGF0aDxBU1R2MS5Ob2RlPiB8IG51bGw7XG4gIHBhcmVudEtleTogc3RyaW5nIHwgbnVsbDtcbiAgc2NvcGU6IFRyYW5zZm9ybVNjb3BlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5vZGU6IE4sXG4gICAgcGFyZW50OiBXYWxrZXJQYXRoPEFTVHYxLk5vZGU+IHwgbnVsbCA9IG51bGwsXG4gICAgcGFyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICApIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMucGFyZW50S2V5ID0gcGFyZW50S2V5O1xuICAgIHRoaXMuc2NvcGUgPSBwYXJlbnQgPyBwYXJlbnQuc2NvcGUuY2hpbGQobm9kZSkgOiBuZXcgUm9vdFRyYW5zZm9ybVNjb3BlKG5vZGUpO1xuXG4gICAgLy8gQ29uc3VtZSBpbiBzY29wZSB2YWx1ZXNcbiAgICBpZiAobm9kZS50eXBlID09PSAnUGF0aEV4cHJlc3Npb24nKSB7XG4gICAgICB0aGlzLnNjb3BlLnVzZUxvY2FsKG5vZGUpO1xuICAgIH1cblxuICAgIGlmIChub2RlLnR5cGUgPT09ICdFbGVtZW50Tm9kZScpIHtcbiAgICAgIHRoaXMuc2NvcGUudXNlTG9jYWwobm9kZSk7XG5cbiAgICAgIChub2RlIGFzIEFTVHYxLkVsZW1lbnROb2RlKS5jaGlsZHJlbi5mb3JFYWNoKChub2RlOiBBU1R2MS5TdGF0ZW1lbnQpID0+XG4gICAgICAgIHRoaXMuc2NvcGUudXNlTG9jYWwobm9kZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHBhcmVudE5vZGUoKTogQVNUdjEuTm9kZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50Lm5vZGUgOiBudWxsO1xuICB9XG5cbiAgcGFyZW50cygpOiBJdGVyYWJsZTxXYWxrZXJQYXRoPEFTVHYxLk5vZGU+IHwgbnVsbD4ge1xuICAgIHJldHVybiB7XG4gICAgICBbU3ltYm9sLml0ZXJhdG9yXTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFBhdGhQYXJlbnRzSXRlcmF0b3IodGhpcyk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgUGF0aFBhcmVudHNJdGVyYXRvciBpbXBsZW1lbnRzIEl0ZXJhdG9yPFdhbGtlclBhdGg8QVNUdjEuTm9kZT4gfCBudWxsPiB7XG4gIHBhdGg6IFdhbGtlclBhdGg8QVNUdjEuTm9kZT47XG5cbiAgY29uc3RydWN0b3IocGF0aDogV2Fsa2VyUGF0aDxBU1R2MS5Ob2RlPikge1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLnBhdGgucGFyZW50KSB7XG4gICAgICB0aGlzLnBhdGggPSB0aGlzLnBhdGgucGFyZW50O1xuICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiB0aGlzLnBhdGggfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgZG9uZTogdHJ1ZSwgdmFsdWU6IG51bGwgfTtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
|