mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-24 04:36:31 +00:00
108 lines
2.5 KiB
JavaScript
108 lines
2.5 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "t", {
|
||
|
value: true
|
||
|
});
|
||
|
|
||
|
exports.default = void 0;
|
||
|
|
||
|
var _Base = _interopRequireDefault(require("./Base"));
|
||
|
|
||
|
var _TreeIterator = _interopRequireDefault(require("./Base/TreeIterator"));
|
||
|
|
||
|
var _throwError = require("../../utils/throwError");
|
||
|
|
||
|
function _interopRequireDefault(e) {
|
||
|
return e && e.t ? e : {
|
||
|
default: e
|
||
|
};
|
||
|
}
|
||
|
|
||
|
class OrderedSetIterator extends _TreeIterator.default {
|
||
|
constructor(e, t, r, i) {
|
||
|
super(e, t, i);
|
||
|
this.container = r;
|
||
|
}
|
||
|
get pointer() {
|
||
|
if (this.o === this.h) {
|
||
|
(0, _throwError.throwIteratorAccessError)();
|
||
|
}
|
||
|
return this.o.u;
|
||
|
}
|
||
|
copy() {
|
||
|
return new OrderedSetIterator(this.o, this.h, this.container, this.iteratorType);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class OrderedSet extends _Base.default {
|
||
|
constructor(e = [], t, r) {
|
||
|
super(t, r);
|
||
|
const i = this;
|
||
|
e.forEach((function(e) {
|
||
|
i.insert(e);
|
||
|
}));
|
||
|
}
|
||
|
* K(e) {
|
||
|
if (e === undefined) return;
|
||
|
yield* this.K(e.U);
|
||
|
yield e.u;
|
||
|
yield* this.K(e.W);
|
||
|
}
|
||
|
begin() {
|
||
|
return new OrderedSetIterator(this.h.U || this.h, this.h, this);
|
||
|
}
|
||
|
end() {
|
||
|
return new OrderedSetIterator(this.h, this.h, this);
|
||
|
}
|
||
|
rBegin() {
|
||
|
return new OrderedSetIterator(this.h.W || this.h, this.h, this, 1);
|
||
|
}
|
||
|
rEnd() {
|
||
|
return new OrderedSetIterator(this.h, this.h, this, 1);
|
||
|
}
|
||
|
front() {
|
||
|
return this.h.U ? this.h.U.u : undefined;
|
||
|
}
|
||
|
back() {
|
||
|
return this.h.W ? this.h.W.u : undefined;
|
||
|
}
|
||
|
insert(e, t) {
|
||
|
return this.M(e, undefined, t);
|
||
|
}
|
||
|
find(e) {
|
||
|
const t = this.I(this.Y, e);
|
||
|
return new OrderedSetIterator(t, this.h, this);
|
||
|
}
|
||
|
lowerBound(e) {
|
||
|
const t = this.X(this.Y, e);
|
||
|
return new OrderedSetIterator(t, this.h, this);
|
||
|
}
|
||
|
upperBound(e) {
|
||
|
const t = this.Z(this.Y, e);
|
||
|
return new OrderedSetIterator(t, this.h, this);
|
||
|
}
|
||
|
reverseLowerBound(e) {
|
||
|
const t = this.$(this.Y, e);
|
||
|
return new OrderedSetIterator(t, this.h, this);
|
||
|
}
|
||
|
reverseUpperBound(e) {
|
||
|
const t = this.rr(this.Y, e);
|
||
|
return new OrderedSetIterator(t, this.h, this);
|
||
|
}
|
||
|
union(e) {
|
||
|
const t = this;
|
||
|
e.forEach((function(e) {
|
||
|
t.insert(e);
|
||
|
}));
|
||
|
return this.i;
|
||
|
}
|
||
|
[Symbol.iterator]() {
|
||
|
return this.K(this.Y);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var _default = OrderedSet;
|
||
|
|
||
|
exports.default = _default;
|
||
|
//# sourceMappingURL=OrderedSet.js.map
|