12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- Object.defineProperty(exports, "t", {
- value: true
- });
- exports.RandomIterator = void 0;
- var _ContainerBase = require("../../ContainerBase");
- class RandomIterator extends _ContainerBase.ContainerIterator {
- constructor(t, r, e, i, s) {
- super(s);
- this.I = t;
- this.D = r;
- this.g = e;
- this.m = i;
- if (this.iteratorType === 0) {
- this.pre = function() {
- if (this.I === 0) {
- throw new RangeError("Random iterator access denied!");
- }
- this.I -= 1;
- return this;
- };
- this.next = function() {
- if (this.I === this.D()) {
- throw new RangeError("Random Iterator access denied!");
- }
- this.I += 1;
- return this;
- };
- } else {
- this.pre = function() {
- if (this.I === this.D() - 1) {
- throw new RangeError("Random iterator access denied!");
- }
- this.I += 1;
- return this;
- };
- this.next = function() {
- if (this.I === -1) {
- throw new RangeError("Random iterator access denied!");
- }
- this.I -= 1;
- return this;
- };
- }
- }
- get pointer() {
- if (this.I < 0 || this.I > this.D() - 1) {
- throw new RangeError;
- }
- return this.g(this.I);
- }
- set pointer(t) {
- if (this.I < 0 || this.I > this.D() - 1) {
- throw new RangeError;
- }
- this.m(this.I, t);
- }
- equals(t) {
- return this.I === t.I;
- }
- }
- exports.RandomIterator = RandomIterator;
|