mirror of
https://github.com/asadbek064/hyparquet-writer.git
synced 2025-12-05 23:31:54 +00:00
Split out node.js exports
This commit is contained in:
parent
02448b8fdc
commit
b92886bf16
16
package.json
16
package.json
@ -25,15 +25,21 @@
|
||||
"types"
|
||||
],
|
||||
"type": "module",
|
||||
"types": "src/index.d.ts",
|
||||
"types": "types/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./src/index.js",
|
||||
"types": "./types/index.d.ts"
|
||||
"node": {
|
||||
"types": "./types/node.d.ts",
|
||||
"import": "./src/node.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./types/index.d.ts",
|
||||
"import": "./src/index.js"
|
||||
}
|
||||
},
|
||||
"./src/*.js": {
|
||||
"import": "./src/*.js",
|
||||
"types": "./types/*.d.ts"
|
||||
"types": "./types/*.d.ts",
|
||||
"import": "./src/*.js"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
export { parquetWrite, parquetWriteBuffer, parquetWriteFile } from './write.js'
|
||||
export { parquetWrite, parquetWriteBuffer } from './write.js'
|
||||
export { ByteWriter } from './bytewriter.js'
|
||||
export { fileWriter } from './filewriter.js'
|
||||
export { ParquetWriter } from './parquet-writer.js'
|
||||
|
||||
19
src/node.js
Normal file
19
src/node.js
Normal file
@ -0,0 +1,19 @@
|
||||
import { fileWriter } from './filewriter.js'
|
||||
import { parquetWrite } from './write.js'
|
||||
|
||||
export { parquetWrite, parquetWriteBuffer } from './write.js'
|
||||
export { ByteWriter } from './bytewriter.js'
|
||||
export { ParquetWriter } from './parquet-writer.js'
|
||||
export { fileWriter }
|
||||
|
||||
/**
|
||||
* Write data as parquet to a local file.
|
||||
*
|
||||
* @import {ParquetWriteOptions} from '../src/types.js'
|
||||
* @param {Omit<ParquetWriteOptions, 'writer'> & {filename: string}} options
|
||||
*/
|
||||
export function parquetWriteFile(options) {
|
||||
const { filename, ...rest } = options
|
||||
const writer = fileWriter(filename)
|
||||
parquetWrite({ ...rest, writer })
|
||||
}
|
||||
12
src/write.js
12
src/write.js
@ -1,5 +1,4 @@
|
||||
import { ByteWriter } from './bytewriter.js'
|
||||
import { fileWriter } from './filewriter.js'
|
||||
import { ParquetWriter } from './parquet-writer.js'
|
||||
import { schemaFromColumnData } from './schema.js'
|
||||
|
||||
@ -43,14 +42,3 @@ export function parquetWriteBuffer(options) {
|
||||
parquetWrite({ ...options, writer })
|
||||
return writer.getBuffer()
|
||||
}
|
||||
|
||||
/**
|
||||
* Write data as parquet to an ArrayBuffer.
|
||||
*
|
||||
* @param {Omit<ParquetWriteOptions, 'writer'> & {filename: string}} options
|
||||
*/
|
||||
export function parquetWriteFile(options) {
|
||||
const { filename, ...rest } = options
|
||||
const writer = fileWriter(filename)
|
||||
parquetWrite({ ...rest, writer })
|
||||
}
|
||||
|
||||
@ -5,12 +5,15 @@ describe('package.json', () => {
|
||||
it('should have the correct name', () => {
|
||||
expect(packageJson.name).toBe('hyparquet-writer')
|
||||
})
|
||||
|
||||
it('should have a valid version', () => {
|
||||
expect(packageJson.version).toMatch(/^\d+\.\d+\.\d+$/)
|
||||
})
|
||||
|
||||
it('should have MIT license', () => {
|
||||
expect(packageJson.license).toBe('MIT')
|
||||
})
|
||||
|
||||
it('should have precise dev dependency versions', () => {
|
||||
const { dependencies, devDependencies } = packageJson
|
||||
const allDependencies = { ...dependencies, ...devDependencies }
|
||||
@ -18,7 +21,19 @@ describe('package.json', () => {
|
||||
expect(version).toMatch(/^\d+\.\d+\.\d+$/)
|
||||
})
|
||||
})
|
||||
|
||||
it('should have no peer dependencies', () => {
|
||||
expect('peerDependencies' in packageJson).toBe(false)
|
||||
})
|
||||
|
||||
it('should have exports with types first', () => {
|
||||
const { exports } = packageJson
|
||||
expect(Object.keys(exports)).toEqual(['.', './src/*.js'])
|
||||
// node vs default (browser)
|
||||
expect(Object.keys(exports['.'])).toEqual(['node', 'default'])
|
||||
expect(Object.keys(exports['.'].node)).toEqual(['types', 'import'])
|
||||
expect(Object.keys(exports['.'].default)).toEqual(['types', 'import'])
|
||||
// deep imports
|
||||
expect(Object.keys(exports['./src/*.js'])).toEqual(['types', 'import'])
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import fs from 'fs'
|
||||
import { asyncBufferFromFile, parquetMetadataAsync, parquetReadObjects } from 'hyparquet'
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
||||
import { parquetWriteFile } from '../src/index.js'
|
||||
import { parquetWriteFile } from '../src/node.js'
|
||||
import { exampleData, exampleMetadata } from './example.js'
|
||||
|
||||
const filedir = 'data/'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user