12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.dict = dict;
- exports.isDict = isDict;
- exports.isObject = isObject;
- exports.StackImpl = void 0;
- function dict() {
- return Object.create(null);
- }
- function isDict(u) {
- return u !== null && u !== undefined;
- }
- function isObject(u) {
- return typeof u === 'function' || typeof u === 'object' && u !== null;
- }
- class StackImpl {
- constructor(values = []) {
- this.current = null;
- this.stack = values;
- }
- get size() {
- return this.stack.length;
- }
- push(item) {
- this.current = item;
- this.stack.push(item);
- }
- pop() {
- let item = this.stack.pop();
- let len = this.stack.length;
- this.current = len === 0 ? null : this.stack[len - 1];
- return item === undefined ? null : item;
- }
- nth(from) {
- let len = this.stack.length;
- return len < from ? null : this.stack[len - from];
- }
- isEmpty() {
- return this.stack.length === 0;
- }
- toArray() {
- return this.stack;
- }
- }
- exports.StackImpl = StackImpl;
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL2NvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFTSxTQUFBLElBQUEsR0FBYztBQUNsQixTQUFPLE1BQU0sQ0FBTixNQUFBLENBQVAsSUFBTyxDQUFQO0FBQ0Q7O0FBRUssU0FBQSxNQUFBLENBQUEsQ0FBQSxFQUF3QjtBQUM1QixTQUFPLENBQUMsS0FBRCxJQUFBLElBQWMsQ0FBQyxLQUF0QixTQUFBO0FBQ0Q7O0FBRUssU0FBQSxRQUFBLENBQUEsQ0FBQSxFQUEwQjtBQUM5QixTQUFPLE9BQUEsQ0FBQSxLQUFBLFVBQUEsSUFBNEIsT0FBQSxDQUFBLEtBQUEsUUFBQSxJQUF5QixDQUFDLEtBQTdELElBQUE7QUFDRDs7QUFFSyxNQUFBLFNBQUEsQ0FBZ0I7QUFJcEIsRUFBQSxXQUFBLENBQVksTUFBQSxHQUFaLEVBQUEsRUFBNEI7QUFGckIsU0FBQSxPQUFBLEdBQUEsSUFBQTtBQUdMLFNBQUEsS0FBQSxHQUFBLE1BQUE7QUFDRDs7QUFFRCxNQUFBLElBQUEsR0FBZTtBQUNiLFdBQU8sS0FBQSxLQUFBLENBQVAsTUFBQTtBQUNEOztBQUVELEVBQUEsSUFBSSxDQUFBLElBQUEsRUFBUTtBQUNWLFNBQUEsT0FBQSxHQUFBLElBQUE7QUFDQSxTQUFBLEtBQUEsQ0FBQSxJQUFBLENBQUEsSUFBQTtBQUNEOztBQUVELEVBQUEsR0FBRyxHQUFBO0FBQ0QsUUFBSSxJQUFJLEdBQUcsS0FBQSxLQUFBLENBQVgsR0FBVyxFQUFYO0FBQ0EsUUFBSSxHQUFHLEdBQUcsS0FBQSxLQUFBLENBQVYsTUFBQTtBQUNBLFNBQUEsT0FBQSxHQUFlLEdBQUcsS0FBSCxDQUFBLEdBQUEsSUFBQSxHQUFtQixLQUFBLEtBQUEsQ0FBVyxHQUFHLEdBQWhELENBQWtDLENBQWxDO0FBRUEsV0FBTyxJQUFJLEtBQUosU0FBQSxHQUFBLElBQUEsR0FBUCxJQUFBO0FBQ0Q7O0FBRUQsRUFBQSxHQUFHLENBQUEsSUFBQSxFQUFhO0FBQ2QsUUFBSSxHQUFHLEdBQUcsS0FBQSxLQUFBLENBQVYsTUFBQTtBQUNBLFdBQU8sR0FBRyxHQUFILElBQUEsR0FBQSxJQUFBLEdBQW9CLEtBQUEsS0FBQSxDQUFXLEdBQUcsR0FBekMsSUFBMkIsQ0FBM0I7QUFDRDs7QUFFRCxFQUFBLE9BQU8sR0FBQTtBQUNMLFdBQU8sS0FBQSxLQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUFDRDs7QUFFRCxFQUFBLE9BQU8sR0FBQTtBQUNMLFdBQU8sS0FBUCxLQUFBO0FBQ0Q7O0FBcENtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3QsIE9wdGlvbiwgU3RhY2sgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpY3Q8VCA9IHVua25vd24+KCk6IERpY3Q8VD4ge1xuICByZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGljdDxUPih1OiBUKTogdSBpcyBEaWN0ICYgVCB7XG4gIHJldHVybiB1ICE9PSBudWxsICYmIHUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0PFQ+KHU6IFQpOiB1IGlzIG9iamVjdCAmIFQge1xuICByZXR1cm4gdHlwZW9mIHUgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiB1ID09PSAnb2JqZWN0JyAmJiB1ICE9PSBudWxsKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrSW1wbDxUPiBpbXBsZW1lbnRzIFN0YWNrPFQ+IHtcbiAgcHJpdmF0ZSBzdGFjazogVFtdO1xuICBwdWJsaWMgY3VycmVudDogT3B0aW9uPFQ+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZXM6IFRbXSA9IFtdKSB7XG4gICAgdGhpcy5zdGFjayA9IHZhbHVlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5sZW5ndGg7XG4gIH1cblxuICBwdXNoKGl0ZW06IFQpIHtcbiAgICB0aGlzLmN1cnJlbnQgPSBpdGVtO1xuICAgIHRoaXMuc3RhY2sucHVzaChpdGVtKTtcbiAgfVxuXG4gIHBvcCgpOiBPcHRpb248VD4ge1xuICAgIGxldCBpdGVtID0gdGhpcy5zdGFjay5wb3AoKTtcbiAgICBsZXQgbGVuID0gdGhpcy5zdGFjay5sZW5ndGg7XG4gICAgdGhpcy5jdXJyZW50ID0gbGVuID09PSAwID8gbnVsbCA6IHRoaXMuc3RhY2tbbGVuIC0gMV07XG5cbiAgICByZXR1cm4gaXRlbSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGl0ZW07XG4gIH1cblxuICBudGgoZnJvbTogbnVtYmVyKTogT3B0aW9uPFQ+IHtcbiAgICBsZXQgbGVuID0gdGhpcy5zdGFjay5sZW5ndGg7XG4gICAgcmV0dXJuIGxlbiA8IGZyb20gPyBudWxsIDogdGhpcy5zdGFja1tsZW4gLSBmcm9tXTtcbiAgfVxuXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoID09PSAwO1xuICB9XG5cbiAgdG9BcnJheSgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnN0YWNrO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
|