UNPKG

5.1 kBJavaScriptView Raw
1function _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); } }
2
3function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
4
5export function dict() {
6 return Object.create(null);
7}
8export function isDict(u) {
9 return u !== null && u !== undefined;
10}
11export function isObject(u) {
12 return typeof u === 'function' || typeof u === 'object' && u !== null;
13}
14export var StackImpl = /*#__PURE__*/function () {
15 function StackImpl(values) {
16 if (values === void 0) {
17 values = [];
18 }
19
20 this.current = null;
21 this.stack = values;
22 }
23
24 var _proto = StackImpl.prototype;
25
26 _proto.push = function push(item) {
27 this.current = item;
28 this.stack.push(item);
29 };
30
31 _proto.pop = function pop() {
32 var item = this.stack.pop();
33 var len = this.stack.length;
34 this.current = len === 0 ? null : this.stack[len - 1];
35 return item === undefined ? null : item;
36 };
37
38 _proto.nth = function nth(from) {
39 var len = this.stack.length;
40 return len < from ? null : this.stack[len - from];
41 };
42
43 _proto.isEmpty = function isEmpty() {
44 return this.stack.length === 0;
45 };
46
47 _proto.toArray = function toArray() {
48 return this.stack;
49 };
50
51 _createClass(StackImpl, [{
52 key: "size",
53 get: function get() {
54 return this.stack.length;
55 }
56 }]);
57
58 return StackImpl;
59}();
60//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL2NvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFNLFNBQUEsSUFBQSxHQUFjO0FBQ2xCLFNBQU8sTUFBTSxDQUFOLE1BQUEsQ0FBUCxJQUFPLENBQVA7QUFDRDtBQUVELE9BQU0sU0FBQSxNQUFBLENBQUEsQ0FBQSxFQUF3QjtBQUM1QixTQUFPLENBQUMsS0FBRCxJQUFBLElBQWMsQ0FBQyxLQUF0QixTQUFBO0FBQ0Q7QUFFRCxPQUFNLFNBQUEsUUFBQSxDQUFBLENBQUEsRUFBMEI7QUFDOUIsU0FBTyxPQUFBLENBQUEsS0FBQSxVQUFBLElBQTRCLE9BQUEsQ0FBQSxLQUFBLFFBQUEsSUFBeUIsQ0FBQyxLQUE3RCxJQUFBO0FBQ0Q7QUFFRCxXQUFNLFNBQU47QUFJRSxxQkFBWSxNQUFaLEVBQTRCO0FBQUEsUUFBaEIsTUFBZ0I7QUFBaEIsTUFBQSxNQUFnQixHQUE1QixFQUE0QjtBQUFBOztBQUZyQixTQUFBLE9BQUEsR0FBQSxJQUFBO0FBR0wsU0FBQSxLQUFBLEdBQUEsTUFBQTtBQUNEOztBQU5IOztBQUFBLFNBWUUsSUFaRixHQVlFLGNBQUksSUFBSixFQUFZO0FBQ1YsU0FBQSxPQUFBLEdBQUEsSUFBQTtBQUNBLFNBQUEsS0FBQSxDQUFBLElBQUEsQ0FBQSxJQUFBO0FBQ0QsR0FmSDs7QUFBQSxTQWlCRSxHQWpCRixHQWlCRSxlQUFHO0FBQ0QsUUFBSSxJQUFJLEdBQUcsS0FBQSxLQUFBLENBQVgsR0FBVyxFQUFYO0FBQ0EsUUFBSSxHQUFHLEdBQUcsS0FBQSxLQUFBLENBQVYsTUFBQTtBQUNBLFNBQUEsT0FBQSxHQUFlLEdBQUcsS0FBSCxDQUFBLEdBQUEsSUFBQSxHQUFtQixLQUFBLEtBQUEsQ0FBVyxHQUFHLEdBQWhELENBQWtDLENBQWxDO0FBRUEsV0FBTyxJQUFJLEtBQUosU0FBQSxHQUFBLElBQUEsR0FBUCxJQUFBO0FBQ0QsR0F2Qkg7O0FBQUEsU0F5QkUsR0F6QkYsR0F5QkUsYUFBRyxJQUFILEVBQWdCO0FBQ2QsUUFBSSxHQUFHLEdBQUcsS0FBQSxLQUFBLENBQVYsTUFBQTtBQUNBLFdBQU8sR0FBRyxHQUFILElBQUEsR0FBQSxJQUFBLEdBQW9CLEtBQUEsS0FBQSxDQUFXLEdBQUcsR0FBekMsSUFBMkIsQ0FBM0I7QUFDRCxHQTVCSDs7QUFBQSxTQThCRSxPQTlCRixHQThCRSxtQkFBTztBQUNMLFdBQU8sS0FBQSxLQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUFDRCxHQWhDSDs7QUFBQSxTQWtDRSxPQWxDRixHQWtDRSxtQkFBTztBQUNMLFdBQU8sS0FBUCxLQUFBO0FBQ0QsR0FwQ0g7O0FBQUE7QUFBQTtBQUFBLHdCQVFpQjtBQUNiLGFBQU8sS0FBQSxLQUFBLENBQVAsTUFBQTtBQUNEO0FBVkg7O0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3QsIE9wdGlvbiwgU3RhY2sgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpY3Q8VCA9IHVua25vd24+KCk6IERpY3Q8VD4ge1xuICByZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGljdDxUPih1OiBUKTogdSBpcyBEaWN0ICYgVCB7XG4gIHJldHVybiB1ICE9PSBudWxsICYmIHUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0PFQ+KHU6IFQpOiB1IGlzIG9iamVjdCAmIFQge1xuICByZXR1cm4gdHlwZW9mIHUgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiB1ID09PSAnb2JqZWN0JyAmJiB1ICE9PSBudWxsKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrSW1wbDxUPiBpbXBsZW1lbnRzIFN0YWNrPFQ+IHtcbiAgcHJpdmF0ZSBzdGFjazogVFtdO1xuICBwdWJsaWMgY3VycmVudDogT3B0aW9uPFQ+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZXM6IFRbXSA9IFtdKSB7XG4gICAgdGhpcy5zdGFjayA9IHZhbHVlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5sZW5ndGg7XG4gIH1cblxuICBwdXNoKGl0ZW06IFQpIHtcbiAgICB0aGlzLmN1cnJlbnQgPSBpdGVtO1xuICAgIHRoaXMuc3RhY2sucHVzaChpdGVtKTtcbiAgfVxuXG4gIHBvcCgpOiBPcHRpb248VD4ge1xuICAgIGxldCBpdGVtID0gdGhpcy5zdGFjay5wb3AoKTtcbiAgICBsZXQgbGVuID0gdGhpcy5zdGFjay5sZW5ndGg7XG4gICAgdGhpcy5jdXJyZW50ID0gbGVuID09PSAwID8gbnVsbCA6IHRoaXMuc3RhY2tbbGVuIC0gMV07XG5cbiAgICByZXR1cm4gaXRlbSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGl0ZW07XG4gIH1cblxuICBudGgoZnJvbTogbnVtYmVyKTogT3B0aW9uPFQ+IHtcbiAgICBsZXQgbGVuID0gdGhpcy5zdGFjay5sZW5ndGg7XG4gICAgcmV0dXJuIGxlbiA8IGZyb20gPyBudWxsIDogdGhpcy5zdGFja1tsZW4gLSBmcm9tXTtcbiAgfVxuXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoID09PSAwO1xuICB9XG5cbiAgdG9BcnJheSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnN0YWNrO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
\No newline at end of file