collections.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.dict = dict;
  6. exports.isDict = isDict;
  7. exports.isObject = isObject;
  8. exports.StackImpl = void 0;
  9. function _defineProperties(target, props) {
  10. for (var i = 0; i < props.length; i++) {
  11. var descriptor = props[i];
  12. descriptor.enumerable = descriptor.enumerable || false;
  13. descriptor.configurable = true;
  14. if ("value" in descriptor) descriptor.writable = true;
  15. Object.defineProperty(target, descriptor.key, descriptor);
  16. }
  17. }
  18. function _createClass(Constructor, protoProps, staticProps) {
  19. if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  20. if (staticProps) _defineProperties(Constructor, staticProps);
  21. return Constructor;
  22. }
  23. function dict() {
  24. return Object.create(null);
  25. }
  26. function isDict(u) {
  27. return u !== null && u !== undefined;
  28. }
  29. function isObject(u) {
  30. return typeof u === 'function' || typeof u === 'object' && u !== null;
  31. }
  32. var StackImpl = /*#__PURE__*/function () {
  33. function StackImpl(values) {
  34. if (values === void 0) {
  35. values = [];
  36. }
  37. this.current = null;
  38. this.stack = values;
  39. }
  40. var _proto = StackImpl.prototype;
  41. _proto.push = function push(item) {
  42. this.current = item;
  43. this.stack.push(item);
  44. };
  45. _proto.pop = function pop() {
  46. var item = this.stack.pop();
  47. var len = this.stack.length;
  48. this.current = len === 0 ? null : this.stack[len - 1];
  49. return item === undefined ? null : item;
  50. };
  51. _proto.nth = function nth(from) {
  52. var len = this.stack.length;
  53. return len < from ? null : this.stack[len - from];
  54. };
  55. _proto.isEmpty = function isEmpty() {
  56. return this.stack.length === 0;
  57. };
  58. _proto.toArray = function toArray() {
  59. return this.stack;
  60. };
  61. _createClass(StackImpl, [{
  62. key: "size",
  63. get: function get() {
  64. return this.stack.length;
  65. }
  66. }]);
  67. return StackImpl;
  68. }();
  69. exports.StackImpl = StackImpl;
  70. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL2NvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRU0sU0FBQSxJQUFBLEdBQWM7QUFDbEIsU0FBTyxNQUFNLENBQU4sTUFBQSxDQUFQLElBQU8sQ0FBUDtBQUNEOztBQUVLLFNBQUEsTUFBQSxDQUFBLENBQUEsRUFBd0I7QUFDNUIsU0FBTyxDQUFDLEtBQUQsSUFBQSxJQUFjLENBQUMsS0FBdEIsU0FBQTtBQUNEOztBQUVLLFNBQUEsUUFBQSxDQUFBLENBQUEsRUFBMEI7QUFDOUIsU0FBTyxPQUFBLENBQUEsS0FBQSxVQUFBLElBQTRCLE9BQUEsQ0FBQSxLQUFBLFFBQUEsSUFBeUIsQ0FBQyxLQUE3RCxJQUFBO0FBQ0Q7O0FBRUQsSUFBTSxTQUFOLEdBQUEsYUFBQSxZQUFBO0FBSUUsV0FBQSxTQUFBLENBQUEsTUFBQSxFQUE0QjtBQUFBLFFBQWhCLE1BQWdCLEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBaEIsTUFBQSxNQUFnQixHQUE1QixFQUFZO0FBQWdCOztBQUZyQixTQUFBLE9BQUEsR0FBQSxJQUFBO0FBR0wsU0FBQSxLQUFBLEdBQUEsTUFBQTtBQUNEOztBQU5ILE1BQUEsTUFBQSxHQUFBLFNBQUEsQ0FBQSxTQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLElBQUEsR0FZRSxTQUFBLElBQUEsQ0FBQSxJQUFBLEVBQVk7QUFDVixTQUFBLE9BQUEsR0FBQSxJQUFBO0FBQ0EsU0FBQSxLQUFBLENBQUEsSUFBQSxDQUFBLElBQUE7QUFkSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLEdBQUEsR0FpQkUsU0FBQSxHQUFBLEdBQUc7QUFDRCxRQUFJLElBQUksR0FBRyxLQUFBLEtBQUEsQ0FBWCxHQUFXLEVBQVg7QUFDQSxRQUFJLEdBQUcsR0FBRyxLQUFBLEtBQUEsQ0FBVixNQUFBO0FBQ0EsU0FBQSxPQUFBLEdBQWUsR0FBRyxLQUFILENBQUEsR0FBQSxJQUFBLEdBQW1CLEtBQUEsS0FBQSxDQUFXLEdBQUcsR0FBaEQsQ0FBa0MsQ0FBbEM7QUFFQSxXQUFPLElBQUksS0FBSixTQUFBLEdBQUEsSUFBQSxHQUFQLElBQUE7QUF0QkosR0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxHQUFBLEdBeUJFLFNBQUEsR0FBQSxDQUFBLElBQUEsRUFBZ0I7QUFDZCxRQUFJLEdBQUcsR0FBRyxLQUFBLEtBQUEsQ0FBVixNQUFBO0FBQ0EsV0FBTyxHQUFHLEdBQUgsSUFBQSxHQUFBLElBQUEsR0FBb0IsS0FBQSxLQUFBLENBQVcsR0FBRyxHQUF6QyxJQUEyQixDQUEzQjtBQTNCSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLE9BQUEsR0E4QkUsU0FBQSxPQUFBLEdBQU87QUFDTCxXQUFPLEtBQUEsS0FBQSxDQUFBLE1BQUEsS0FBUCxDQUFBO0FBL0JKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsT0FBQSxHQWtDRSxTQUFBLE9BQUEsR0FBTztBQUNMLFdBQU8sS0FBUCxLQUFBO0FBbkNKLEdBQUE7O0FBQUEsRUFBQSxZQUFBLENBQUEsU0FBQSxFQUFBLENBQUE7QUFBQSxJQUFBLEdBQUEsRUFBQSxNQUFBO0FBQUEsSUFBQSxHQUFBLEVBQUEsU0FBQSxHQUFBLEdBUWlCO0FBQ2IsYUFBTyxLQUFBLEtBQUEsQ0FBUCxNQUFBO0FBQ0Q7QUFWSCxHQUFBLENBQUEsQ0FBQTs7QUFBQSxTQUFBLFNBQUE7QUFBQSxDQUFBLEVBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0LCBPcHRpb24sIFN0YWNrIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWN0PFQgPSB1bmtub3duPigpOiBEaWN0PFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RpY3Q8VD4odTogVCk6IHUgaXMgRGljdCAmIFQge1xuICByZXR1cm4gdSAhPT0gbnVsbCAmJiB1ICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdDxUPih1OiBUKTogdSBpcyBvYmplY3QgJiBUIHtcbiAgcmV0dXJuIHR5cGVvZiB1ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgdSA9PT0gJ29iamVjdCcgJiYgdSAhPT0gbnVsbCk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFja0ltcGw8VD4gaW1wbGVtZW50cyBTdGFjazxUPiB7XG4gIHByaXZhdGUgc3RhY2s6IFRbXTtcbiAgcHVibGljIGN1cnJlbnQ6IE9wdGlvbjxUPiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IodmFsdWVzOiBUW10gPSBbXSkge1xuICAgIHRoaXMuc3RhY2sgPSB2YWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoO1xuICB9XG5cbiAgcHVzaChpdGVtOiBUKSB7XG4gICAgdGhpcy5jdXJyZW50ID0gaXRlbTtcbiAgICB0aGlzLnN0YWNrLnB1c2goaXRlbSk7XG4gIH1cblxuICBwb3AoKTogT3B0aW9uPFQ+IHtcbiAgICBsZXQgaXRlbSA9IHRoaXMuc3RhY2sucG9wKCk7XG4gICAgbGV0IGxlbiA9IHRoaXMuc3RhY2subGVuZ3RoO1xuICAgIHRoaXMuY3VycmVudCA9IGxlbiA9PT0gMCA/IG51bGwgOiB0aGlzLnN0YWNrW2xlbiAtIDFdO1xuXG4gICAgcmV0dXJuIGl0ZW0gPT09IHVuZGVmaW5lZCA/IG51bGwgOiBpdGVtO1xuICB9XG5cbiAgbnRoKGZyb206IG51bWJlcik6IE9wdGlvbjxUPiB7XG4gICAgbGV0IGxlbiA9IHRoaXMuc3RhY2subGVuZ3RoO1xuICAgIHJldHVybiBsZW4gPCBmcm9tID8gbnVsbCA6IHRoaXMuc3RhY2tbbGVuIC0gZnJvbV07XG4gIH1cblxuICBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHRvQXJyYXkoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjaztcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==