403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.37
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/nodejs/handlebars/dist/cjs/handlebars/compiler/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/nodejs/handlebars/dist/cjs/handlebars/compiler/visitor.js
/*istanbul ignore next*/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = void 0;

var
/*istanbul ignore next*/
_exception = _interopRequireDefault(require("../exception"));

/*istanbul ignore next*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function Visitor() {
  this.parents = [];
}

Visitor.prototype = {
  constructor: Visitor,
  mutating: false,
  // Visits a given value. If mutating, will replace the value if necessary.
  acceptKey: function
  /*istanbul ignore next*/
  acceptKey(node, name) {
    var value = this.accept(node[name]);

    if (this.mutating) {
      // Hacky sanity check: This may have a few false positives for type for the helper
      // methods but will generally do the right thing without a lot of overhead.
      if (value && !Visitor.prototype[value.type]) {
        throw new
        /*istanbul ignore next*/
        _exception[
        /*istanbul ignore next*/
        "default"]('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type);
      }

      node[name] = value;
    }
  },
  // Performs an accept operation with added sanity check to ensure
  // required keys are not removed.
  acceptRequired: function
  /*istanbul ignore next*/
  acceptRequired(node, name) {
    this.acceptKey(node, name);

    if (!node[name]) {
      throw new
      /*istanbul ignore next*/
      _exception[
      /*istanbul ignore next*/
      "default"](node.type + ' requires ' + name);
    }
  },
  // Traverses a given array. If mutating, empty respnses will be removed
  // for child elements.
  acceptArray: function
  /*istanbul ignore next*/
  acceptArray(array) {
    for (var i = 0, l = array.length; i < l; i++) {
      this.acceptKey(array, i);

      if (!array[i]) {
        array.splice(i, 1);
        i--;
        l--;
      }
    }
  },
  accept: function
  /*istanbul ignore next*/
  accept(object) {
    if (!object) {
      return;
    }
    /* istanbul ignore next: Sanity code */


    if (!this[object.type]) {
      throw new
      /*istanbul ignore next*/
      _exception[
      /*istanbul ignore next*/
      "default"]('Unknown type: ' + object.type, object);
    }

    if (this.current) {
      this.parents.unshift(this.current);
    }

    this.current = object;
    var ret = this[object.type](object);
    this.current = this.parents.shift();

    if (!this.mutating || ret) {
      return ret;
    } else if (ret !== false) {
      return object;
    }
  },
  Program: function
  /*istanbul ignore next*/
  Program(program) {
    this.acceptArray(program.body);
  },
  MustacheStatement: visitSubExpression,
  Decorator: visitSubExpression,
  BlockStatement: visitBlock,
  DecoratorBlock: visitBlock,
  PartialStatement: visitPartial,
  PartialBlockStatement: function
  /*istanbul ignore next*/
  PartialBlockStatement(partial) {
    visitPartial.call(this, partial);
    this.acceptKey(partial, 'program');
  },
  ContentStatement: function
  /*istanbul ignore next*/
  ContentStatement()
  /* content */
  {},
  CommentStatement: function
  /*istanbul ignore next*/
  CommentStatement()
  /* comment */
  {},
  SubExpression: visitSubExpression,
  PathExpression: function
  /*istanbul ignore next*/
  PathExpression()
  /* path */
  {},
  StringLiteral: function
  /*istanbul ignore next*/
  StringLiteral()
  /* string */
  {},
  NumberLiteral: function
  /*istanbul ignore next*/
  NumberLiteral()
  /* number */
  {},
  BooleanLiteral: function
  /*istanbul ignore next*/
  BooleanLiteral()
  /* bool */
  {},
  UndefinedLiteral: function
  /*istanbul ignore next*/
  UndefinedLiteral()
  /* literal */
  {},
  NullLiteral: function
  /*istanbul ignore next*/
  NullLiteral()
  /* literal */
  {},
  Hash: function
  /*istanbul ignore next*/
  Hash(hash) {
    this.acceptArray(hash.pairs);
  },
  HashPair: function
  /*istanbul ignore next*/
  HashPair(pair) {
    this.acceptRequired(pair, 'value');
  }
};

function visitSubExpression(mustache) {
  this.acceptRequired(mustache, 'path');
  this.acceptArray(mustache.params);
  this.acceptKey(mustache, 'hash');
}

function visitBlock(block) {
  visitSubExpression.call(this, block);
  this.acceptKey(block, 'program');
  this.acceptKey(block, 'inverse');
}

function visitPartial(partial) {
  this.acceptRequired(partial, 'name');
  this.acceptArray(partial.params);
  this.acceptKey(partial, 'hash');
}

/*istanbul ignore next*/
var _default = Visitor;

/*istanbul ignore next*/
exports["default"] = _default;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3IuanMiXSwibmFtZXMiOlsiVmlzaXRvciIsInBhcmVudHMiLCJwcm90b3R5cGUiLCJjb25zdHJ1Y3RvciIsIm11dGF0aW5nIiwiYWNjZXB0S2V5Iiwibm9kZSIsIm5hbWUiLCJ2YWx1ZSIsImFjY2VwdCIsInR5cGUiLCJFeGNlcHRpb24iLCJhY2NlcHRSZXF1aXJlZCIsImFjY2VwdEFycmF5IiwiYXJyYXkiLCJpIiwibCIsImxlbmd0aCIsInNwbGljZSIsIm9iamVjdCIsImN1cnJlbnQiLCJ1bnNoaWZ0IiwicmV0Iiwic2hpZnQiLCJQcm9ncmFtIiwicHJvZ3JhbSIsImJvZHkiLCJNdXN0YWNoZVN0YXRlbWVudCIsInZpc2l0U3ViRXhwcmVzc2lvbiIsIkRlY29yYXRvciIsIkJsb2NrU3RhdGVtZW50IiwidmlzaXRCbG9jayIsIkRlY29yYXRvckJsb2NrIiwiUGFydGlhbFN0YXRlbWVudCIsInZpc2l0UGFydGlhbCIsIlBhcnRpYWxCbG9ja1N0YXRlbWVudCIsInBhcnRpYWwiLCJjYWxsIiwiQ29udGVudFN0YXRlbWVudCIsIkNvbW1lbnRTdGF0ZW1lbnQiLCJTdWJFeHByZXNzaW9uIiwiUGF0aEV4cHJlc3Npb24iLCJTdHJpbmdMaXRlcmFsIiwiTnVtYmVyTGl0ZXJhbCIsIkJvb2xlYW5MaXRlcmFsIiwiVW5kZWZpbmVkTGl0ZXJhbCIsIk51bGxMaXRlcmFsIiwiSGFzaCIsImhhc2giLCJwYWlycyIsIkhhc2hQYWlyIiwicGFpciIsIm11c3RhY2hlIiwicGFyYW1zIiwiYmxvY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBOzs7O0FBRUEsU0FBU0EsT0FBVCxHQUFtQjtBQUNqQixPQUFLQyxPQUFMLEdBQWUsRUFBZjtBQUNEOztBQUVERCxPQUFPLENBQUNFLFNBQVIsR0FBb0I7QUFDbEJDLEVBQUFBLFdBQVcsRUFBRUgsT0FESztBQUVsQkksRUFBQUEsUUFB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QjtBQTJHbEJDLEVBQUFBLFFBQVEsRUFBRTtBQUFBO0FBQUEsV0FBU0MsSUFBVCxFQUFlO0FBQ3ZCLFNBQUt2QyxjQUFMLENBQW9CdUMsSUFBcEIsRUFBMEIsT0FBMUI7QUFDRDtBQTdHaUIsQ0FBcEI7O0FBZ0hBLFNBQVN2QixrQkFBVCxDQUE0QndCLFFBQTVCLEVBQXNDO0FBQ3BDLE9BQUt4QyxjQUFMLENBQW9Cd0MsUUFBcEIsRUFBOEIsTUFBOUI7QUFDQSxPQUFLdkMsV0FBTCxDQUFpQnVDLFFBQVEsQ0FBQ0MsTUFBMUI7QUFDQSxPQUFLaEQsU0FBTCxDQUFlK0MsUUFBZixFQUF5QixNQUF6QjtBQUNEOztBQUNELFNBQVNyQixVQUFULENBQW9CdUIsS0FBcEIsRUFBMkI7QUFDekIxQixFQUFBQSxrQkFBa0IsQ0FBQ1MsSUFBbkIsQ0FBd0IsSUFBeEIsRUFBOEJpQixLQUE5QjtBQUVBLE9BQUtqRCxTQUFMLENBQWVpRCxLQUFmLEVBQXNCLFNBQXRCO0FBQ0EsT0FBS2pELFNBQUwsQ0FBZWlELEtBQWYsRUFBc0IsU0FBdEI7QUFDRDs7QUFDRCxTQUFTcEIsWUFBVCxDQUFzQkUsT0FBdEIsRUFBK0I7QUFDN0IsT0FBS3hCLGNBQUwsQ0FBb0J3QixPQUFwQixFQUE2QixNQUE3QjtBQUNBLE9BQUt2QixXQUFMLENBQWlCdUIsT0FBTyxDQUFDaUIsTUFBekI7QUFDQSxPQUFLaEQsU0FBTCxDQUFlK0IsT0FBZixFQUF3QixNQUF4QjtBQUNEOzs7ZUFFY3BDLE8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmZ1bmN0aW9uIFZpc2l0b3IoKSB7XG4gIHRoaXMucGFyZW50cyA9IFtdO1xufVxuXG5WaXNpdG9yLnByb3RvdHlwZSA9IHtcbiAgY29uc3RydWN0b3I6IFZpc2l0b3IsXG4gIG11dGF0aW5nOiBmYWxzZSxcblxuICAvLyBWaXNpdHMgYSBnaXZlbiB2YWx1ZS4gSWYgbXV0YXRpbmcsIHdpbGwgcmVwbGFjZSB0aGUgdmFsdWUgaWYgbmVjZXNzYXJ5LlxuICBhY2NlcHRLZXk6IGZ1bmN0aW9uKG5vZGUsIG5hbWUpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmFjY2VwdChub2RlW25hbWVdKTtcbiAgICBpZiAodGhpcy5tdXRhdGluZykge1xuICAgICAgLy8gSGFja3kgc2FuaXR5IGNoZWNrOiBUaGlzIG1heSBoYXZlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBmb3IgdHlwZSBmb3IgdGhlIGhlbHBlclxuICAgICAgLy8gbWV0aG9kcyBidXQgd2lsbCBnZW5lcmFsbHkgZG8gdGhlIHJpZ2h0IHRoaW5nIHdpdGhvdXQgYSBsb3Qgb2Ygb3ZlcmhlYWQuXG4gICAgICBpZiAodmFsdWUgJiYgIVZpc2l0b3IucHJvdG90eXBlW3ZhbHVlLnR5cGVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICAgJ1VuZXhwZWN0ZWQgbm9kZSB0eXBlIFwiJyArXG4gICAgICAgICAgICB2YWx1ZS50eXBlICtcbiAgICAgICAgICAgICdcIiBmb3VuZCB3aGVuIGFjY2VwdGluZyAnICtcbiAgICAgICAgICAgIG5hbWUgK1xuICAgICAgICAgICAgJyBvbiAnICtcbiAgICAgICAgICAgIG5vZGUudHlwZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbm9kZVtuYW1lXSA9IHZhbHVlO1xuICAgIH1cbiAgfSxcblxuICAvLyBQZXJmb3JtcyBhbiBhY2NlcHQgb3BlcmF0aW9uIHdpdGggYWRkZWQgc2FuaXR5IGNoZWNrIHRvIGVuc3VyZVxuICAvLyByZXF1aXJlZCBrZXlzIGFyZSBub3QgcmVtb3ZlZC5cbiAgYWNjZXB0UmVxdWlyZWQ6IGZ1bmN0aW9uKG5vZGUsIG5hbWUpIHtcbiAgICB0aGlzLmFjY2VwdEtleShub2RlLCBuYW1lKTtcblxuICAgIGlmICghbm9kZVtuYW1lXSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihub2RlLnR5cGUgKyAnIHJlcXVpcmVzICcgKyBuYW1lKTtcbiAgICB9XG4gIH0sXG5cbiAgLy8gVHJhdmVyc2VzIGEgZ2l2ZW4gYXJyYXkuIElmIG11dGF0aW5nLCBlbXB0eSByZXNwbnNlcyB3aWxsIGJlIHJlbW92ZWRcbiAgLy8gZm9yIGNoaWxkIGVsZW1lbnRzLlxuICBhY2NlcHRBcnJheTogZnVuY3Rpb24oYXJyYXkpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGFycmF5Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdGhpcy5hY2NlcHRLZXkoYXJyYXksIGkpO1xuXG4gICAgICBpZiAoIWFycmF5W2ldKSB7XG4gICAgICAgIGFycmF5LnNwbGljZShpLCAxKTtcbiAgICAgICAgaS0tO1xuICAgICAgICBsLS07XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIGFjY2VwdDogZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgaWYgKCFvYmplY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogU2FuaXR5IGNvZGUgKi9cbiAgICBpZiAoIXRoaXNbb2JqZWN0LnR5cGVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHR5cGU6ICcgKyBvYmplY3QudHlwZSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudHMudW5zaGlmdCh0aGlzLmN1cnJlbnQpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnQgPSBvYmplY3Q7XG5cbiAgICBsZXQgcmV0ID0gdGhpc1tvYmplY3QudHlwZV0ob2JqZWN0KTtcblxuICAgIHRoaXMuY3VycmVudCA9IHRoaXMucGFyZW50cy5zaGlmdCgpO1xuXG4gICAgaWYgKCF0aGlzLm11dGF0aW5nIHx8IHJldCkge1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGVsc2UgaWYgKHJldCAhPT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuICB9LFxuXG4gIFByb2dyYW06IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgICB0aGlzLmFjY2VwdEFycmF5KHByb2dyYW0uYm9keSk7XG4gIH0sXG5cbiAgTXVzdGFjaGVTdGF0ZW1lbnQ6IHZpc2l0U3ViRXhwcmVzc2lvbixcbiAgRGVjb3JhdG9yOiB2aXNpdFN1YkV4cHJlc3Npb24sXG5cbiAgQmxvY2tTdGF0ZW1lbnQ6IHZpc2l0QmxvY2ssXG4gIERlY29yYXRvckJsb2NrOiB2aXNpdEJsb2NrLFxuXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IHZpc2l0UGFydGlhbCxcbiAgUGFydGlhbEJsb2NrU3RhdGVtZW50OiBmdW5jdGlvbihwYXJ0aWFsKSB7XG4gICAgdmlzaXRQYXJ0aWFsLmNhbGwodGhpcywgcGFydGlhbCk7XG5cbiAgICB0aGlzLmFjY2VwdEtleShwYXJ0aWFsLCAncHJvZ3JhbScpO1xuICB9LFxuXG4gIENvbnRlbnRTdGF0ZW1lbnQ6IGZ1bmN0aW9uKC8qIGNvbnRlbnQgKi8pIHt9LFxuICBDb21tZW50U3RhdGVtZW50OiBmdW5jdGlvbigvKiBjb21tZW50ICovKSB7fSxcblxuICBTdWJFeHByZXNzaW9uOiB2aXNpdFN1YkV4cHJlc3Npb24sXG5cbiAgUGF0aEV4cHJlc3Npb246IGZ1bmN0aW9uKC8qIHBhdGggKi8pIHt9LFxuXG4gIFN0cmluZ0xpdGVyYWw6IGZ1bmN0aW9uKC8qIHN0cmluZyAqLykge30sXG4gIE51bWJlckxpdGVyYWw6IGZ1bmN0aW9uKC8qIG51bWJlciAqLykge30sXG4gIEJvb2xlYW5MaXRlcmFsOiBmdW5jdGlvbigvKiBib29sICovKSB7fSxcbiAgVW5kZWZpbmVkTGl0ZXJhbDogZnVuY3Rpb24oLyogbGl0ZXJhbCAqLykge30sXG4gIE51bGxMaXRlcmFsOiBmdW5jdGlvbigvKiBsaXRlcmFsICovKSB7fSxcblxuICBIYXNoOiBmdW5jdGlvbihoYXNoKSB7XG4gICAgdGhpcy5hY2NlcHRBcnJheShoYXNoLnBhaXJzKTtcbiAgfSxcbiAgSGFzaFBhaXI6IGZ1bmN0aW9uKHBhaXIpIHtcbiAgICB0aGlzLmFjY2VwdFJlcXVpcmVkKHBhaXIsICd2YWx1ZScpO1xuICB9XG59O1xuXG5mdW5jdGlvbiB2aXNpdFN1YkV4cHJlc3Npb24obXVzdGFjaGUpIHtcbiAgdGhpcy5hY2NlcHRSZXF1aXJlZChtdXN0YWNoZSwgJ3BhdGgnKTtcbiAgdGhpcy5hY2NlcHRBcnJheShtdXN0YWNoZS5wYXJhbXMpO1xuICB0aGlzLmFjY2VwdEtleShtdXN0YWNoZSwgJ2hhc2gnKTtcbn1cbmZ1bmN0aW9uIHZpc2l0QmxvY2soYmxvY2spIHtcbiAgdmlzaXRTdWJFeHByZXNzaW9uLmNhbGwodGhpcywgYmxvY2spO1xuXG4gIHRoaXMuYWNjZXB0S2V5KGJsb2NrLCAncHJvZ3JhbScpO1xuICB0aGlzLmFjY2VwdEtleShibG9jaywgJ2ludmVyc2UnKTtcbn1cbmZ1bmN0aW9uIHZpc2l0UGFydGlhbChwYXJ0aWFsKSB7XG4gIHRoaXMuYWNjZXB0UmVxdWlyZWQocGFydGlhbCwgJ25hbWUnKTtcbiAgdGhpcy5hY2NlcHRBcnJheShwYXJ0aWFsLnBhcmFtcyk7XG4gIHRoaXMuYWNjZXB0S2V5KHBhcnRpYWwsICdoYXNoJyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpc2l0b3I7XG4iXX0=

Youez - 2016 - github.com/yon3zu
LinuXploit