mirror of
https://github.com/asadbek064/hyparquet.git
synced 2025-12-05 22:41:55 +00:00
Update README with Awaitable
This commit is contained in:
parent
c9727a4246
commit
870187c7de
@ -95,12 +95,14 @@ const metadata = parquetMetadata(arrayBuffer)
|
||||
|
||||
### AsyncBuffer
|
||||
|
||||
Hyparquet accepts argument `file` of type `AsyncBuffer` which is like a js `ArrayBuffer` but the `slice` method returns `Promise<ArrayBuffer>`.
|
||||
Hyparquet accepts argument `file` of type `AsyncBuffer` which is like a js `ArrayBuffer` but the `slice` method can return `Promise<ArrayBuffer>`.
|
||||
You can pass an `ArrayBuffer` anywhere that an `AsyncBuffer` is expected, if you have the entire file in memory.
|
||||
|
||||
```typescript
|
||||
type Awaitable<T> = T | Promise<T>
|
||||
interface AsyncBuffer {
|
||||
byteLength: number
|
||||
slice(start: number, end?: number): Promise<ArrayBuffer>
|
||||
slice(start: number, end?: number): Awaitable<ArrayBuffer>
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
BIN
hyparquet.jpg
BIN
hyparquet.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 82 KiB |
Binary file not shown.
@ -166,7 +166,8 @@ describe('asyncBufferFromUrl', () => {
|
||||
})
|
||||
})
|
||||
|
||||
expect(asyncBufferFromUrl({ url: 'https://example.com' })).rejects.toThrow('fetch head failed 401')
|
||||
await expect(asyncBufferFromUrl({ url: 'https://example.com' }))
|
||||
.rejects.toThrow('fetch head failed 401')
|
||||
|
||||
const buffer = await asyncBufferFromUrl({ url: 'https://example.com', requestInit: { headers: { Authorization: 'Bearer token' } } } )
|
||||
expect(buffer.byteLength).toBe(1024)
|
||||
@ -195,11 +196,11 @@ describe('asyncBufferFromUrl', () => {
|
||||
})
|
||||
|
||||
const noHeaders = await asyncBufferFromUrl({ url: 'https://example.com', byteLength: 1024 })
|
||||
expect(noHeaders.slice(0, 100)).rejects.toThrow('fetch failed 401')
|
||||
await expect(noHeaders.slice(0, 100)).rejects.toThrow('fetch failed 401')
|
||||
|
||||
const withHeaders = await asyncBufferFromUrl({ url: 'https://example.com', byteLength: 1024, requestInit: { headers: { Authorization: 'Bearer token' } } } )
|
||||
expect (await withHeaders.slice(0, 100)).toBe(mockArrayBuffer)
|
||||
await expect(withHeaders.slice(0, 100)).resolves.toBe(mockArrayBuffer)
|
||||
|
||||
expect (withHeaders.slice(0, 10)).rejects.toThrow('fetch failed 404')
|
||||
await expect(withHeaders.slice(0, 10)).rejects.toThrow('fetch failed 404')
|
||||
})
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user