UNPKG

@aeternity/aepp-calldata

Version:
57 lines (56 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _FateData = _interopRequireDefault(require("./FateData.cjs")); var _FateTypes = require("../FateTypes.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const arrayToItem = item => { const [key, value] = item; return { key, value }; }; class FateMap extends _FateData.default { constructor(keyType, valueType, items = []) { super('map'); this._keyType = keyType; this._valueType = valueType; this._type = (0, _FateTypes.FateTypeMap)(keyType, valueType); this._value = new Map(items); } get items() { return [...this._value.entries()].map(arrayToItem); } get keyType() { return this._keyType; } get valueType() { return this._valueType; } get type() { return this._type; } get length() { return this._value.size; } get iterator() { return this._value[Symbol.iterator](); } get keys() { return this._value.keys(); } valueOf() { const map = new Map(); for (const [key, value] of this.iterator) { map.set(key.valueOf(), value.valueOf()); } return map; } accept(visitor) { return visitor.visitMap(this); } } var _default = exports.default = FateMap;