var __extends = this && this.t || function() {
|
var extendStatics = function(t, r) {
|
extendStatics = Object.setPrototypeOf || {
|
__proto__: []
|
} instanceof Array && function(t, r) {
|
t.__proto__ = r;
|
} || function(t, r) {
|
for (var n in r) if (Object.prototype.hasOwnProperty.call(r, n)) t[n] = r[n];
|
};
|
return extendStatics(t, r);
|
};
|
return function(t, r) {
|
if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
|
extendStatics(t, r);
|
function __() {
|
this.constructor = t;
|
}
|
t.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
|
};
|
}();
|
|
import { ContainerIterator } from "../../ContainerBase";
|
|
import { throwIteratorAccessError } from "../../../utils/throwError";
|
|
var RandomIterator = function(t) {
|
__extends(RandomIterator, t);
|
function RandomIterator(r, n) {
|
var o = t.call(this, n) || this;
|
o.o = r;
|
if (o.iteratorType === 0) {
|
o.pre = function() {
|
if (this.o === 0) {
|
throwIteratorAccessError();
|
}
|
this.o -= 1;
|
return this;
|
};
|
o.next = function() {
|
if (this.o === this.container.size()) {
|
throwIteratorAccessError();
|
}
|
this.o += 1;
|
return this;
|
};
|
} else {
|
o.pre = function() {
|
if (this.o === this.container.size() - 1) {
|
throwIteratorAccessError();
|
}
|
this.o += 1;
|
return this;
|
};
|
o.next = function() {
|
if (this.o === -1) {
|
throwIteratorAccessError();
|
}
|
this.o -= 1;
|
return this;
|
};
|
}
|
return o;
|
}
|
Object.defineProperty(RandomIterator.prototype, "pointer", {
|
get: function() {
|
return this.container.getElementByPos(this.o);
|
},
|
set: function(t) {
|
this.container.setElementByPos(this.o, t);
|
},
|
enumerable: false,
|
configurable: true
|
});
|
return RandomIterator;
|
}(ContainerIterator);
|
|
export { RandomIterator };
|
//# sourceMappingURL=RandomIterator.js.map
|