UNPKG

7.58 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.dict = dict;
7exports.isDict = isDict;
8exports.isObject = isObject;
9exports.StackImpl = exports.DictSet = void 0;
10
11var _guid = require("./guid");
12
13function _defineProperties(target, props) {
14 for (var i = 0; i < props.length; i++) {
15 var descriptor = props[i];
16 descriptor.enumerable = descriptor.enumerable || false;
17 descriptor.configurable = true;
18 if ("value" in descriptor) descriptor.writable = true;
19 Object.defineProperty(target, descriptor.key, descriptor);
20 }
21}
22
23function _createClass(Constructor, protoProps, staticProps) {
24 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
25 if (staticProps) _defineProperties(Constructor, staticProps);
26 return Constructor;
27}
28
29function dict() {
30 return Object.create(null);
31}
32
33function isDict(u) {
34 return u !== null && u !== undefined;
35}
36
37function isObject(u) {
38 return typeof u === 'object' && u !== null;
39}
40
41var DictSet = /*#__PURE__*/function () {
42 function DictSet() {
43 this.dict = dict();
44 }
45
46 var _proto = DictSet.prototype;
47
48 _proto.add = function add(obj) {
49 if (typeof obj === 'string') this.dict[obj] = obj;else this.dict[(0, _guid.ensureGuid)(obj)] = obj;
50 return this;
51 };
52
53 _proto["delete"] = function _delete(obj) {
54 if (typeof obj === 'string') delete this.dict[obj];else if (obj._guid) delete this.dict[obj._guid];
55 };
56
57 return DictSet;
58}();
59
60exports.DictSet = DictSet;
61
62var StackImpl = /*#__PURE__*/function () {
63 function StackImpl() {
64 this.stack = [];
65 this.current = null;
66 }
67
68 var _proto2 = StackImpl.prototype;
69
70 _proto2.push = function push(item) {
71 this.current = item;
72 this.stack.push(item);
73 };
74
75 _proto2.pop = function pop() {
76 var item = this.stack.pop();
77 var len = this.stack.length;
78 this.current = len === 0 ? null : this.stack[len - 1];
79 return item === undefined ? null : item;
80 };
81
82 _proto2.nth = function nth(from) {
83 var len = this.stack.length;
84 return len < from ? null : this.stack[len - from];
85 };
86
87 _proto2.isEmpty = function isEmpty() {
88 return this.stack.length === 0;
89 };
90
91 _proto2.toArray = function toArray() {
92 return this.stack;
93 };
94
95 _createClass(StackImpl, [{
96 key: "size",
97 get: function get() {
98 return this.stack.length;
99 }
100 }]);
101
102 return StackImpl;
103}();
104
105exports.StackImpl = StackImpl;
106//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL2NvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU00sU0FBQSxJQUFBLEdBQWM7QUFDbEIsU0FBTyxNQUFNLENBQU4sTUFBQSxDQUFQLElBQU8sQ0FBUDtBQUNEOztBQUVLLFNBQUEsTUFBQSxDQUFBLENBQUEsRUFBd0I7QUFDNUIsU0FBTyxDQUFDLEtBQUQsSUFBQSxJQUFjLENBQUMsS0FBdEIsU0FBQTtBQUNEOztBQUVLLFNBQUEsUUFBQSxDQUFBLENBQUEsRUFBMEI7QUFDOUIsU0FBTyxPQUFBLENBQUEsS0FBQSxRQUFBLElBQXlCLENBQUMsS0FBakMsSUFBQTtBQUNEOztBQUlELElBQU0sT0FBTixHQUFBLGFBQUEsWUFBQTtBQUdFLFdBQUEsT0FBQSxHQUFBO0FBQ0UsU0FBQSxJQUFBLEdBQVksSUFBWixFQUFBO0FBQ0Q7O0FBTEgsTUFBQSxNQUFBLEdBQUEsT0FBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsR0FBQSxHQU9FLFNBQUEsR0FBQSxDQUFBLEdBQUEsRUFBVTtBQUNSLFFBQUksT0FBQSxHQUFBLEtBQUosUUFBQSxFQUE2QixLQUFBLElBQUEsQ0FBQSxHQUFBLElBQTdCLEdBQTZCLENBQTdCLEtBQ0ssS0FBQSxJQUFBLENBQVUsc0JBQVYsR0FBVSxDQUFWLElBQUEsR0FBQTtBQUNMLFdBQUEsSUFBQTtBQVZKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsUUFBQSxDQUFBLEdBYUUsU0FBQSxPQUFBLENBQUEsR0FBQSxFQUFhO0FBQ1gsUUFBSSxPQUFBLEdBQUEsS0FBSixRQUFBLEVBQTZCLE9BQU8sS0FBQSxJQUFBLENBQXBDLEdBQW9DLENBQVAsQ0FBN0IsS0FDSyxJQUFLLEdBQVcsQ0FBaEIsS0FBQSxFQUF3QixPQUFPLEtBQUEsSUFBQSxDQUFXLEdBQVcsQ0FBN0IsS0FBTyxDQUFQO0FBZmpDLEdBQUE7O0FBQUEsU0FBQSxPQUFBO0FBQUEsQ0FBQSxFQUFBOzs7O0FBbUJBLElBQU0sU0FBTixHQUFBLGFBQUEsWUFBQTtBQUFBLFdBQUEsU0FBQSxHQUFBO0FBQ1UsU0FBQSxLQUFBLEdBQUEsRUFBQTtBQUNELFNBQUEsT0FBQSxHQUFBLElBQUE7QUErQlI7O0FBakNELE1BQUEsT0FBQSxHQUFBLFNBQUEsQ0FBQSxTQUFBOztBQUFBLEVBQUEsT0FBQSxDQUFBLElBQUEsR0FRRSxTQUFBLElBQUEsQ0FBQSxJQUFBLEVBQVk7QUFDVixTQUFBLE9BQUEsR0FBQSxJQUFBO0FBQ0EsU0FBQSxLQUFBLENBQUEsSUFBQSxDQUFBLElBQUE7QUFWSixHQUFBOztBQUFBLEVBQUEsT0FBQSxDQUFBLEdBQUEsR0FhRSxTQUFBLEdBQUEsR0FBRztBQUNELFFBQUksSUFBSSxHQUFHLEtBQUEsS0FBQSxDQUFYLEdBQVcsRUFBWDtBQUNBLFFBQUksR0FBRyxHQUFHLEtBQUEsS0FBQSxDQUFWLE1BQUE7QUFDQSxTQUFBLE9BQUEsR0FBZSxHQUFHLEtBQUgsQ0FBQSxHQUFBLElBQUEsR0FBbUIsS0FBQSxLQUFBLENBQVcsR0FBRyxHQUFoRCxDQUFrQyxDQUFsQztBQUVBLFdBQU8sSUFBSSxLQUFKLFNBQUEsR0FBQSxJQUFBLEdBQVAsSUFBQTtBQWxCSixHQUFBOztBQUFBLEVBQUEsT0FBQSxDQUFBLEdBQUEsR0FxQkUsU0FBQSxHQUFBLENBQUEsSUFBQSxFQUFnQjtBQUNkLFFBQUksR0FBRyxHQUFHLEtBQUEsS0FBQSxDQUFWLE1BQUE7QUFDQSxXQUFPLEdBQUcsR0FBSCxJQUFBLEdBQUEsSUFBQSxHQUFvQixLQUFBLEtBQUEsQ0FBVyxHQUFHLEdBQXpDLElBQTJCLENBQTNCO0FBdkJKLEdBQUE7O0FBQUEsRUFBQSxPQUFBLENBQUEsT0FBQSxHQTBCRSxTQUFBLE9BQUEsR0FBTztBQUNMLFdBQU8sS0FBQSxLQUFBLENBQUEsTUFBQSxLQUFQLENBQUE7QUEzQkosR0FBQTs7QUFBQSxFQUFBLE9BQUEsQ0FBQSxPQUFBLEdBOEJFLFNBQUEsT0FBQSxHQUFPO0FBQ0wsV0FBTyxLQUFQLEtBQUE7QUEvQkosR0FBQTs7QUFBQSxFQUFBLFlBQUEsQ0FBQSxTQUFBLEVBQUEsQ0FBQTtBQUFBLElBQUEsR0FBQSxFQUFBLE1BQUE7QUFBQSxJQUFBLEdBQUEsRUFBQSxTQUFBLEdBQUEsR0FJaUI7QUFDYixhQUFPLEtBQUEsS0FBQSxDQUFQLE1BQUE7QUFDRDtBQU5ILEdBQUEsQ0FBQSxDQUFBOztBQUFBLFNBQUEsU0FBQTtBQUFBLENBQUEsRUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc0d1aWQsIGVuc3VyZUd1aWQgfSBmcm9tICcuL2d1aWQnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi9wbGF0Zm9ybS11dGlscyc7XG5pbXBvcnQgeyBEaWN0LCBTdGFjayB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldDxUPiB7XG4gIGFkZCh2YWx1ZTogVCk6IFNldDxUPjtcbiAgZGVsZXRlKHZhbHVlOiBUKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpY3Q8VCA9IHVua25vd24+KCk6IERpY3Q8VD4ge1xuICByZXR1cm4gT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGljdDxUPih1OiBUKTogdSBpcyBEaWN0ICYgVCB7XG4gIHJldHVybiB1ICE9PSBudWxsICYmIHUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0PFQ+KHU6IFQpOiB1IGlzIG9iamVjdCAmIFQge1xuICByZXR1cm4gdHlwZW9mIHUgPT09ICdvYmplY3QnICYmIHUgIT09IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIFNldE1lbWJlciA9IEhhc0d1aWQgfCBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBEaWN0U2V0PFQgZXh0ZW5kcyBTZXRNZW1iZXI+IGltcGxlbWVudHMgU2V0PFQ+IHtcbiAgcHJpdmF0ZSBkaWN0OiBEaWN0PFQ+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGljdCA9IGRpY3Q8VD4oKTtcbiAgfVxuXG4gIGFkZChvYmo6IFQpOiBTZXQ8VD4ge1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgdGhpcy5kaWN0W29iaiBhcyBhbnldID0gb2JqO1xuICAgIGVsc2UgdGhpcy5kaWN0W2Vuc3VyZUd1aWQob2JqIGFzIGFueSldID0gb2JqO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZGVsZXRlKG9iajogVCkge1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgZGVsZXRlIHRoaXMuZGljdFtvYmogYXMgYW55XTtcbiAgICBlbHNlIGlmICgob2JqIGFzIGFueSkuX2d1aWQpIGRlbGV0ZSB0aGlzLmRpY3RbKG9iaiBhcyBhbnkpLl9ndWlkXTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tJbXBsPFQ+IGltcGxlbWVudHMgU3RhY2s8VD4ge1xuICBwcml2YXRlIHN0YWNrOiBUW10gPSBbXTtcbiAgcHVibGljIGN1cnJlbnQ6IE9wdGlvbjxUPiA9IG51bGw7XG5cbiAgcHVibGljIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aDtcbiAgfVxuXG4gIHB1c2goaXRlbTogVCkge1xuICAgIHRoaXMuY3VycmVudCA9IGl0ZW07XG4gICAgdGhpcy5zdGFjay5wdXNoKGl0ZW0pO1xuICB9XG5cbiAgcG9wKCk6IE9wdGlvbjxUPiB7XG4gICAgbGV0IGl0ZW0gPSB0aGlzLnN0YWNrLnBvcCgpO1xuICAgIGxldCBsZW4gPSB0aGlzLnN0YWNrLmxlbmd0aDtcbiAgICB0aGlzLmN1cnJlbnQgPSBsZW4gPT09IDAgPyBudWxsIDogdGhpcy5zdGFja1tsZW4gLSAxXTtcblxuICAgIHJldHVybiBpdGVtID09PSB1bmRlZmluZWQgPyBudWxsIDogaXRlbTtcbiAgfVxuXG4gIG50aChmcm9tOiBudW1iZXIpOiBPcHRpb248VD4ge1xuICAgIGxldCBsZW4gPSB0aGlzLnN0YWNrLmxlbmd0aDtcbiAgICByZXR1cm4gbGVuIDwgZnJvbSA/IG51bGwgOiB0aGlzLnN0YWNrW2xlbiAtIGZyb21dO1xuICB9XG5cbiAgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5sZW5ndGggPT09IDA7XG4gIH1cblxuICB0b0FycmF5KCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2s7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
\No newline at end of file