@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
84 lines (83 loc) • 3.48 kB
JavaScript
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _DeterministicMap_keys;
export class DeterministicMap {
constructor(compareFn) {
this.compareFn = compareFn;
_DeterministicMap_keys.set(this, void 0);
this.map = new Map();
__classPrivateFieldSet(this, _DeterministicMap_keys, [], "f");
}
get size() {
return this.map.size;
}
static fromMap(map, compareFn) {
const deterministicMap = new DeterministicMap(compareFn);
for (const [key, value] of map) {
deterministicMap.set(key, value);
}
return deterministicMap;
}
set(key, value) {
if (!this.map.has(key)) {
__classPrivateFieldGet(this, _DeterministicMap_keys, "f").push(key);
__classPrivateFieldGet(this, _DeterministicMap_keys, "f").sort(this.compareFn);
}
this.map.set(key, value);
}
get(key) {
return this.map.get(key);
}
keys() {
return __classPrivateFieldGet(this, _DeterministicMap_keys, "f").values();
}
values() {
const values = [];
for (let i = 0; i < __classPrivateFieldGet(this, _DeterministicMap_keys, "f").length; i++) {
const key = __classPrivateFieldGet(this, _DeterministicMap_keys, "f")[i];
const value = this.map.get(key);
if (value) {
values.push(value);
}
else {
throw new Error('Value not found');
}
}
return values.values();
}
has(key) {
return this.map.has(key);
}
delete(key) {
if (this.map.has(key)) {
this.map.delete(key);
__classPrivateFieldSet(this, _DeterministicMap_keys, __classPrivateFieldGet(this, _DeterministicMap_keys, "f").filter((k) => k !== key), "f");
return true;
}
return false;
}
clear() {
this.map.clear();
__classPrivateFieldSet(this, _DeterministicMap_keys, [], "f");
}
forEach(callback) {
for (const key of __classPrivateFieldGet(this, _DeterministicMap_keys, "f")) {
const value = this.map.get(key);
callback(value, key, this);
}
}
*[(_DeterministicMap_keys = new WeakMap(), Symbol.iterator)]() {
for (const key of __classPrivateFieldGet(this, _DeterministicMap_keys, "f")) {
yield [key, this.map.get(key)];
}
}
}