UNPKG

@brimdata/zealot

Version:

The Javascript Client for Zed Lakes

53 lines (52 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "TypeMap", { enumerable: true, get: ()=>TypeMap }); const _isNull = require("../utils/is-null"); const _map = require("../values/map"); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class TypeMap { static stringify(keyType, valType) { return `|{` + keyType.toString() + ":" + valType.toString() + "}|"; } create(value, stream) { return new _map.ZedMap(this, (0, _isNull.isNull)(value) ? null : new Map(value.map((entry)=>[ this.keyType.create(entry[0], stream), this.valType.create(entry[1], stream) ]))); } serialize(stream) { return { kind: "map", key_type: stream.encodeType(this.keyType), val_type: stream.encodeType(this.valType) }; } toString() { return "|{" + this.keyType.toString() + ":" + this.valType.toString() + "}|"; } constructor(keyType, valType){ _defineProperty(this, "keyType", void 0); _defineProperty(this, "valType", void 0); _defineProperty(this, "kind", void 0); this.keyType = keyType; this.valType = valType; this.kind = "union"; } }