UNPKG

@brimdata/zealot

Version:

The Javascript Client for Zed Lakes

33 lines (32 loc) 956 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "flatColumns", { enumerable: true, get: ()=>flatColumns }); const _typeRecord = require("../types/type-record"); const _trueType = require("./true-type"); function flatColumns(type, columns = [], path = undefined) { const record = (0, _trueType.trueType)(type); if (!(record instanceof _typeRecord.TypeRecord)) return columns; if (record.fields === null) return []; for (let f of record.fields){ const type = (0, _trueType.trueType)(f.type); if (type instanceof _typeRecord.TypeRecord) { flatColumns(type, columns, !path ? [ f.name ] : [ ...path, f.name ]); } else { columns.push(path ? [ ...path, f.name ] : f.name); } } return columns; }