"use strict";
|
|
Object.defineProperty(exports, "t", {
|
value: true
|
});
|
|
exports.RandomIterator = void 0;
|
|
var _ContainerBase = require("../../ContainerBase");
|
|
var _throwError = require("../../../utils/throwError");
|
|
class RandomIterator extends _ContainerBase.ContainerIterator {
|
constructor(t, r) {
|
super(r);
|
this.o = t;
|
if (this.iteratorType === 0) {
|
this.pre = function() {
|
if (this.o === 0) {
|
(0, _throwError.throwIteratorAccessError)();
|
}
|
this.o -= 1;
|
return this;
|
};
|
this.next = function() {
|
if (this.o === this.container.size()) {
|
(0, _throwError.throwIteratorAccessError)();
|
}
|
this.o += 1;
|
return this;
|
};
|
} else {
|
this.pre = function() {
|
if (this.o === this.container.size() - 1) {
|
(0, _throwError.throwIteratorAccessError)();
|
}
|
this.o += 1;
|
return this;
|
};
|
this.next = function() {
|
if (this.o === -1) {
|
(0, _throwError.throwIteratorAccessError)();
|
}
|
this.o -= 1;
|
return this;
|
};
|
}
|
}
|
get pointer() {
|
return this.container.getElementByPos(this.o);
|
}
|
set pointer(t) {
|
this.container.setElementByPos(this.o, t);
|
}
|
}
|
|
exports.RandomIterator = RandomIterator;
|
//# sourceMappingURL=RandomIterator.js.map
|