| 510 | } |
| 511 | |
| 512 | function cleanRows(rows: any[]) { |
| 513 | if (rows.length === 0) { |
| 514 | return rows; |
| 515 | } |
| 516 | |
| 517 | const sampleData = rows[0]; |
| 518 | const fieldsWithBigQueryDates = Object.keys(sampleData).filter( |
| 519 | key => |
| 520 | sampleData[key] && |
| 521 | sampleData[key].constructor && |
| 522 | BIGQUERY_DATE_RELATED_FIELDS.includes(sampleData[key].constructor.name) |
| 523 | ); |
| 524 | fieldsWithBigQueryDates.forEach(dateField => { |
| 525 | rows.forEach(row => (row[dateField] = row[dateField] ? row[dateField].value : row[dateField])); |
| 526 | }); |
| 527 | return rows; |
| 528 | } |
| 529 | |
| 530 | function convertField(field: TableField): dataform.IField { |
| 531 | const result: dataform.IField = { |