mirror of
https://github.com/asadbek064/hyparquet.git
synced 2025-12-05 22:41:55 +00:00
Remove a circular dependency (#108)
Also: removed two unused types in import, and remove a useless await keyword.
This commit is contained in:
parent
d475a85c27
commit
1f7bc6879f
21
src/index.js
21
src/index.js
@ -1,28 +1,9 @@
|
||||
import { parquetRead } from './read.js'
|
||||
|
||||
export { parquetMetadata, parquetMetadataAsync, parquetSchema } from './metadata.js'
|
||||
export { parquetRead }
|
||||
export { parquetRead, parquetReadObjects } from './read.js'
|
||||
export { parquetQuery } from './query.js'
|
||||
export { snappyUncompress } from './snappy.js'
|
||||
export { asyncBufferFromUrl, byteLengthFromUrl, cachedAsyncBuffer, flatten, toJson } from './utils.js'
|
||||
|
||||
/**
|
||||
* This is a helper function to read parquet row data as a promise.
|
||||
* It is a wrapper around the more configurable parquetRead function.
|
||||
*
|
||||
* @param {Omit<ParquetReadOptions, 'onComplete'>} options
|
||||
* @returns {Promise<Record<string, any>[]>} resolves when all requested rows and columns are parsed
|
||||
*/
|
||||
export function parquetReadObjects(options) {
|
||||
return new Promise((onComplete, reject) => {
|
||||
parquetRead({
|
||||
rowFormat: 'object',
|
||||
...options,
|
||||
onComplete,
|
||||
}).catch(reject)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Explicitly export types for use in downstream typescript projects through
|
||||
* `import { ParquetReadOptions } from 'hyparquet'` for example.
|
||||
|
||||
21
src/read.js
21
src/read.js
@ -4,7 +4,7 @@ import { assembleAsync, asyncGroupToRows, readRowGroup } from './rowgroup.js'
|
||||
import { concat, flatten } from './utils.js'
|
||||
|
||||
/**
|
||||
* @import {AsyncBuffer, AsyncRowGroup, DecodedArray, FileMetaData, ParquetReadOptions} from '../src/types.js'
|
||||
* @import {AsyncRowGroup, DecodedArray, ParquetReadOptions} from '../src/types.js'
|
||||
*/
|
||||
/**
|
||||
* Read parquet data rows from a file-like object.
|
||||
@ -23,7 +23,7 @@ export async function parquetRead(options) {
|
||||
options.metadata ??= await parquetMetadataAsync(options.file)
|
||||
|
||||
// read row groups
|
||||
const asyncGroups = await parquetReadAsync(options)
|
||||
const asyncGroups = parquetReadAsync(options)
|
||||
|
||||
const { rowStart = 0, rowEnd, columns, onChunk, onComplete, rowFormat } = options
|
||||
|
||||
@ -120,3 +120,20 @@ export async function parquetReadColumn(options) {
|
||||
}
|
||||
return flatten(columnData)
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a helper function to read parquet row data as a promise.
|
||||
* It is a wrapper around the more configurable parquetRead function.
|
||||
*
|
||||
* @param {Omit<ParquetReadOptions, 'onComplete'>} options
|
||||
* @returns {Promise<Record<string, any>[]>} resolves when all requested rows and columns are parsed
|
||||
*/
|
||||
export function parquetReadObjects(options) {
|
||||
return new Promise((onComplete, reject) => {
|
||||
parquetRead({
|
||||
rowFormat: 'object',
|
||||
...options,
|
||||
onComplete,
|
||||
}).catch(reject)
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user