UNPKG

@brimdata/zealot

Version:

The Javascript Client for Zed Lakes

61 lines (60 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Field", { enumerable: true, get: ()=>Field }); const _baseValue = require("../utils/base-value"); const _record = require("./record"); 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 Field { /** * Alias for value */ get data() { return this.value; } get path() { let path = [ this.name ]; let parent = this.parent; while(parent && parent instanceof Field){ path.unshift(parent.name); parent = parent.parent; } return path; } get rootRecord() { let parent = this.parent; while(parent && parent instanceof Field){ parent = parent.parent; } if (parent instanceof _record.Record) return parent; else return null; } get baseValue() { return (0, _baseValue.baseValue)(this.value); } constructor(name, value, parent){ _defineProperty(this, "name", void 0); _defineProperty(this, "value", void 0); _defineProperty(this, "parent", void 0); this.name = name; this.value = value; this.parent = parent; } }