Skip to content

Commit d651830

Browse files
committed
refactor
1 parent d1d943f commit d651830

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

src/lib/tableProvider.ts

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ export function parquetDataFrame(from: AsyncBufferFrom, metadata: FileMetaData):
3939
}
4040
}
4141

42-
async function fetchVirtualRowGroup({ virtualGroupIndex, columns, onCached }: {
43-
virtualGroupIndex: number, columns: string[], onCached?: () => void
42+
async function fetchVirtualRowGroup({ virtualGroupIndex, columns }: {
43+
virtualGroupIndex: number, columns: string[]
4444
}): Promise<void> {
4545
const group = groups[virtualGroupIndex]
4646
if (!group) {
@@ -49,20 +49,6 @@ export function parquetDataFrame(from: AsyncBufferFrom, metadata: FileMetaData):
4949
const { groupStart, groupEnd, fetching, fetched } = group
5050
const columnsToFetch = columns.filter(column => !fetching.get(column) && !fetched.get(column))
5151

52-
function onChunk(chunk: ColumnData): void {
53-
const { columnName, columnData, rowStart } = chunk
54-
const cachedColumn = cellCache.get(columnName)
55-
if (!cachedColumn) {
56-
throw new Error(`Column "${columnName}" not found in header`)
57-
}
58-
let row = rowStart
59-
for (const value of columnData) {
60-
cachedColumn[row] ??= { value }
61-
onCached?.()
62-
row++
63-
}
64-
}
65-
6652
if (columnsToFetch.length === 0) {
6753
// nothing to fetch
6854
return
@@ -82,6 +68,20 @@ export function parquetDataFrame(from: AsyncBufferFrom, metadata: FileMetaData):
8268

8369
}
8470

71+
function onChunk(chunk: ColumnData): void {
72+
const { columnName, columnData, rowStart } = chunk
73+
const cachedColumn = cellCache.get(columnName)
74+
if (!cachedColumn) {
75+
throw new Error(`Column "${columnName}" not found in header`)
76+
}
77+
let row = rowStart
78+
for (const value of columnData) {
79+
cachedColumn[row] ??= { value }
80+
row++
81+
}
82+
eventTarget.dispatchEvent(new CustomEvent('resolve'))
83+
}
84+
8585
const numRows = Number(metadata.num_rows)
8686

8787
const unsortableDataFrame: UnsortableDataFrame = {
@@ -107,17 +107,12 @@ export function parquetDataFrame(from: AsyncBufferFrom, metadata: FileMetaData):
107107

108108
const promises: Promise<void>[] = []
109109

110-
function onCached() {
111-
eventTarget.dispatchEvent(new CustomEvent('resolve'))
112-
}
113-
114110
groups.forEach(({ groupStart, groupEnd }, i) => {
115111
if (groupStart < rowEnd && groupEnd > rowStart) {
116112
promises.push(
117113
fetchVirtualRowGroup({
118114
virtualGroupIndex: i,
119115
columns,
120-
onCached,
121116
}).then(() => {
122117
checkSignal(signal)
123118
})

0 commit comments

Comments
 (0)