hyparquet/test/helpers.js

37 lines
896 B
JavaScript
Raw Normal View History

2024-01-20 20:17:11 +00:00
import fs from 'fs'
/**
* Helper function to read .parquet file into ArrayBuffer
*
* @param {string} filePath
* @returns {Promise<ArrayBuffer>}
*/
export async function readFileToArrayBuffer(filePath) {
const buffer = await fs.promises.readFile(filePath)
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)
}
/**
* Wrap .parquet file in an AsyncBuffer
*
* @param {string} filePath
2024-04-28 22:58:25 +00:00
* @returns {import('../src/types.js').AsyncBuffer}
2024-01-20 20:17:11 +00:00
*/
export function fileToAsyncBuffer(filePath) {
return {
byteLength: fs.statSync(filePath).size,
slice: async (start, end) => (await readFileToArrayBuffer(filePath)).slice(start, end),
}
}
2024-02-13 18:52:29 +00:00
/**
* Read .parquet file into JSON
*
* @param {string} filePath
* @returns {any}
*/
export function fileToJson(filePath) {
const buffer = fs.readFileSync(filePath)
return JSON.parse(buffer.toString())
}