mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-23 20:26:28 +00:00
249 lines
7.1 KiB
JavaScript
249 lines
7.1 KiB
JavaScript
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 __);
|
|
};
|
|
}();
|
|
|
|
var __generator = this && this.i || function(t, r) {
|
|
var n = {
|
|
label: 0,
|
|
sent: function() {
|
|
if (a[0] & 1) throw a[1];
|
|
return a[1];
|
|
},
|
|
trys: [],
|
|
ops: []
|
|
}, e, i, a, s;
|
|
return s = {
|
|
next: verb(0),
|
|
throw: verb(1),
|
|
return: verb(2)
|
|
}, typeof Symbol === "function" && (s[Symbol.iterator] = function() {
|
|
return this;
|
|
}), s;
|
|
function verb(t) {
|
|
return function(r) {
|
|
return step([ t, r ]);
|
|
};
|
|
}
|
|
function step(s) {
|
|
if (e) throw new TypeError("Generator is already executing.");
|
|
while (n) try {
|
|
if (e = 1, i && (a = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((a = i["return"]) && a.call(i),
|
|
0) : i.next) && !(a = a.call(i, s[1])).done) return a;
|
|
if (i = 0, a) s = [ s[0] & 2, a.value ];
|
|
switch (s[0]) {
|
|
case 0:
|
|
case 1:
|
|
a = s;
|
|
break;
|
|
|
|
case 4:
|
|
n.label++;
|
|
return {
|
|
value: s[1],
|
|
done: false
|
|
};
|
|
|
|
case 5:
|
|
n.label++;
|
|
i = s[1];
|
|
s = [ 0 ];
|
|
continue;
|
|
|
|
case 7:
|
|
s = n.ops.pop();
|
|
n.trys.pop();
|
|
continue;
|
|
|
|
default:
|
|
if (!(a = n.trys, a = a.length > 0 && a[a.length - 1]) && (s[0] === 6 || s[0] === 2)) {
|
|
n = 0;
|
|
continue;
|
|
}
|
|
if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
|
|
n.label = s[1];
|
|
break;
|
|
}
|
|
if (s[0] === 6 && n.label < a[1]) {
|
|
n.label = a[1];
|
|
a = s;
|
|
break;
|
|
}
|
|
if (a && n.label < a[2]) {
|
|
n.label = a[2];
|
|
n.ops.push(s);
|
|
break;
|
|
}
|
|
if (a[2]) n.ops.pop();
|
|
n.trys.pop();
|
|
continue;
|
|
}
|
|
s = r.call(t, n);
|
|
} catch (t) {
|
|
s = [ 6, t ];
|
|
i = 0;
|
|
} finally {
|
|
e = a = 0;
|
|
}
|
|
if (s[0] & 5) throw s[1];
|
|
return {
|
|
value: s[0] ? s[1] : void 0,
|
|
done: true
|
|
};
|
|
}
|
|
};
|
|
|
|
import { HashContainer, HashContainerIterator } from "./Base";
|
|
|
|
import checkObject from "../../utils/checkObject";
|
|
|
|
import { throwIteratorAccessError } from "../../utils/throwError";
|
|
|
|
var HashMapIterator = function(t) {
|
|
__extends(HashMapIterator, t);
|
|
function HashMapIterator(r, n, e, i) {
|
|
var a = t.call(this, r, n, i) || this;
|
|
a.container = e;
|
|
return a;
|
|
}
|
|
Object.defineProperty(HashMapIterator.prototype, "pointer", {
|
|
get: function() {
|
|
if (this.o === this.h) {
|
|
throwIteratorAccessError();
|
|
}
|
|
var t = this;
|
|
return new Proxy([], {
|
|
get: function(r, n) {
|
|
if (n === "0") return t.o.u; else if (n === "1") return t.o.p;
|
|
},
|
|
set: function(r, n, e) {
|
|
if (n !== "1") {
|
|
throw new TypeError("props must be 1");
|
|
}
|
|
t.o.p = e;
|
|
return true;
|
|
}
|
|
});
|
|
},
|
|
enumerable: false,
|
|
configurable: true
|
|
});
|
|
HashMapIterator.prototype.copy = function() {
|
|
return new HashMapIterator(this.o, this.h, this.container, this.iteratorType);
|
|
};
|
|
return HashMapIterator;
|
|
}(HashContainerIterator);
|
|
|
|
var HashMap = function(t) {
|
|
__extends(HashMap, t);
|
|
function HashMap(r) {
|
|
if (r === void 0) {
|
|
r = [];
|
|
}
|
|
var n = t.call(this) || this;
|
|
var e = n;
|
|
r.forEach((function(t) {
|
|
e.setElement(t[0], t[1]);
|
|
}));
|
|
return n;
|
|
}
|
|
HashMap.prototype.begin = function() {
|
|
return new HashMapIterator(this.H, this.h, this);
|
|
};
|
|
HashMap.prototype.end = function() {
|
|
return new HashMapIterator(this.h, this.h, this);
|
|
};
|
|
HashMap.prototype.rBegin = function() {
|
|
return new HashMapIterator(this.l, this.h, this, 1);
|
|
};
|
|
HashMap.prototype.rEnd = function() {
|
|
return new HashMapIterator(this.h, this.h, this, 1);
|
|
};
|
|
HashMap.prototype.front = function() {
|
|
if (this.M === 0) return;
|
|
return [ this.H.u, this.H.p ];
|
|
};
|
|
HashMap.prototype.back = function() {
|
|
if (this.M === 0) return;
|
|
return [ this.l.u, this.l.p ];
|
|
};
|
|
HashMap.prototype.setElement = function(t, r, n) {
|
|
return this.v(t, r, n);
|
|
};
|
|
HashMap.prototype.getElementByKey = function(t, r) {
|
|
if (r === undefined) r = checkObject(t);
|
|
if (r) {
|
|
var n = t[this.HASH_TAG];
|
|
return n !== undefined ? this._[n].p : undefined;
|
|
}
|
|
var e = this.I[t];
|
|
return e ? e.p : undefined;
|
|
};
|
|
HashMap.prototype.getElementByPos = function(t) {
|
|
if (t < 0 || t > this.M - 1) {
|
|
throw new RangeError;
|
|
}
|
|
var r = this.H;
|
|
while (t--) {
|
|
r = r.m;
|
|
}
|
|
return [ r.u, r.p ];
|
|
};
|
|
HashMap.prototype.find = function(t, r) {
|
|
var n = this.g(t, r);
|
|
return new HashMapIterator(n, this.h, this);
|
|
};
|
|
HashMap.prototype.forEach = function(t) {
|
|
var r = 0;
|
|
var n = this.H;
|
|
while (n !== this.h) {
|
|
t([ n.u, n.p ], r++, this);
|
|
n = n.m;
|
|
}
|
|
};
|
|
HashMap.prototype[Symbol.iterator] = function() {
|
|
return function() {
|
|
var t;
|
|
return __generator(this, (function(r) {
|
|
switch (r.label) {
|
|
case 0:
|
|
t = this.H;
|
|
r.label = 1;
|
|
|
|
case 1:
|
|
if (!(t !== this.h)) return [ 3, 3 ];
|
|
return [ 4, [ t.u, t.p ] ];
|
|
|
|
case 2:
|
|
r.sent();
|
|
t = t.m;
|
|
return [ 3, 1 ];
|
|
|
|
case 3:
|
|
return [ 2 ];
|
|
}
|
|
}));
|
|
}.bind(this)();
|
|
};
|
|
return HashMap;
|
|
}(HashContainer);
|
|
|
|
export default HashMap;
|
|
//# sourceMappingURL=HashMap.js.map
|