* Derive column metadata from the data array. * @param data Array of data objects.
(data, columnTypes)
| 147772 | |
| 147773 | |
| 147774 | function getColumnsFromData(data, columnTypes) { |
| 147775 | const sample = data[0]; |
| 147776 | const fields = sample ? Object.keys(sample) : []; |
| 147777 | const inferences = Object.assign(Object.assign({}, VegaDeckGl.base.vega.inferTypes(data, fields)), columnTypes); |
| 147778 | const columns = fields.map(name => { |
| 147779 | const column = { |
| 147780 | name, |
| 147781 | type: inferences[name] |
| 147782 | }; |
| 147783 | return column; |
| 147784 | }); |
| 147785 | inferAll(columns, data); |
| 147786 | return columns; |
| 147787 | } |
| 147788 | /** |
| 147789 | * Populate columns with type inferences and stats. |
| 147790 | * @param columns Array of columns. |
no test coverage detected