@brimdata/zealot
Version:
The Javascript Client for Zed Lakes
33 lines (32 loc) • 956 B
JavaScript
;
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;
}