Commit Graph

336 Commits

Author SHA1 Message Date
Johan Levin
bf268e141c
Use prepended length for bit-packed hybrid bool columns (#62) 2025-02-19 11:07:49 -08:00
Kenny Daniel
cad751e546
Publish v1.8.2 2025-02-07 18:54:57 -08:00
Kenny Daniel
36d8ea2e1d
Fix handling of signed decimals (#60) 2025-02-07 18:52:48 -08:00
Kenny Daniel
5675560266
Use bigint literals 2025-02-07 17:50:34 -08:00
Kenny Daniel
3c5dbab649
Publish v1.8.1 2025-01-16 12:04:23 -08:00
Sean Lynch
725545731d
Support endpoints that don't support range requests in asyncBufferFromUrl (#57)
* Support endpoints that don't support range requests in asyncBufferFromUrl

Before this commit asyncBufferFromUrl assumes that the body of whatever
successful response it gets is equivalent to the range it requested. If
the origin server does not support HTTP range requests then this
assumption is usually wrong and will lead to parsing failures.

This commit changes asyncBufferFromUrl to change its behaviour slightly
based on the status code in the response:
- if 200 then we got the whole parquet file as the response. Save it and
  use the resulting ArrayBuffer to serve all future slice calls.
- if 206 then we got a range response and we can just return that.

I have also included some test cases to ensure that such responses are
handled correctly and also tweaked other existing mocks to also include
the relevant status code.

* Fix all lint warnings

* replace switch with if-else
2025-01-16 11:55:05 -08:00
Kenny Daniel
248aeaa5e5
Publish v1.8.0 2024-12-21 15:47:48 -08:00
Kenny Daniel
870187c7de
Update README with Awaitable 2024-12-21 15:31:59 -08:00
Brian Park
c9727a4246
Query filter (#56)
* implement ParquetQueryFilter types

* implement parquetQuery filter tests

* implement parquetQuery filter

* filter before ordering

* apply filters before sorting/slicing

* format types

* add deep equality utility

* document and format equals utility

* use deep equality checks

* update filter tests

* support more types for equality

* make $not unary

* ensure arrays are correctly compared

* support both forms of $not

* add operator tests

* Filter operator tests

---------

Co-authored-by: Brian Park <park-brian@users.noreply.github.com>
Co-authored-by: Kenny Daniel <platypii@gmail.com>
2024-12-21 15:23:57 -08:00
Sylvain Lesage
cb639a0b45
factor tests with it.for() (#55) 2024-12-20 09:53:56 +01:00
Kenny Daniel
90f8a3b775
Publish v1.7.0 2024-12-19 18:17:26 -08:00
Brian Park
9992316748
Enable readColumn to read all rows (#53)
* Enable readColumn to read all rows

* Refactor readColumn to use hasRowLimit

* Simplify hasRowLimit condition

* Check less common condition first

* add readColumn test files

* implement readColumn tests for undefined rowLimits

* remove unused variable

* return early if no metadata is present

* address tsc warnings

* add comparison

* clarify that undefined is valid for rowLimit

* remove test files

* verify edge case works when rowLimit is undefined

* add test cases for readColumn

---------

Co-authored-by: Brian Park <park-brian@users.noreply.github.com>
2024-12-19 18:08:22 -08:00
Kenny Daniel
7ce11ad844
Validate url for asyncBufferFromUrl 2024-12-17 09:25:54 -08:00
Kenny Daniel
0dca631aa9
Publish v1.6.4 2024-12-10 16:19:31 -08:00
Kenny Daniel
f762dba6a8
Use ParquetReadOptions type for parquetRead options (#51) 2024-12-10 16:16:52 -08:00
Kenny Daniel
5d13c9719a
Update README 2024-12-05 20:33:15 -08:00
Sylvain Lesage
fb4fb45485
Publish 1.6.3 (#48) 2024-12-02 22:17:51 +01:00
Sylvain Lesage
09ae9400c5
build types before publishing to npm (#46)
* build types before publishing to npm

* use prepare instead of prepublishOnly + make it clear that we only build types

doc for prepare vs prepublishOnly is here: https://docs.npmjs.com/cli/v8/using-npm/scripts

* no jsx in this lib

* relative imports from the root, so that it works from types/

* remove unused hyparquet.d.ts + report differences to jsdoc in files

* try to understand if this is the cause of the failing CI check

tsc fails: https://github.com/hyparam/hyparquet/actions/runs/12040954822/job/33571851170?pr=46

* Revert "try to understand if this is the cause of the failing CI check"

This reverts commit 5e2fc8ca179064369de71793ab1cda3facefddc7.

* not sure what happens, but we just need to ensure the types are created correctly

* increment version

* Explicitly export types for use in downstream typescript projects

* Use new typescript jsdoc imports for smaller package

* Combine some files and use @import jsdoc

* use the local typescript

---------

Co-authored-by: Kenny Daniel <platypii@gmail.com>
2024-12-02 17:47:42 +01:00
Kenny Daniel
3dabd14ae0
Publish v0.6.2 2024-11-29 14:19:06 -08:00
Kenny Daniel
82b25df871
Update dependencies 2024-11-29 14:11:04 -08:00
Carlos Bardasano
9aacd15349
Fix metadata timestamp conversion (#45)
* Fix metadata timestamp conversion

* Remove redundant check

Co-authored-by: Kenny Daniel <platypii@gmail.com>

---------

Co-authored-by: Kenny Daniel <platypii@gmail.com>
2024-11-29 13:48:06 -08:00
Kenny Daniel
36cb2c29bf Fix CI by using pinned typescript version 2024-11-29 13:43:58 -08:00
Sylvain Lesage
e738643745
Publish 1.6.1 - fix type of utils and update the doc (#44)
* Publish 1.6.1 - fix types

* update the doc
2024-11-22 21:19:34 +01:00
Sylvain Lesage
c85d38eed5
Publish v1.6.0 (#40) 2024-11-21 22:12:26 +01:00
Sylvain Lesage
c55a17c839
ensure it's a link (#38) 2024-11-19 18:58:31 +01:00
Sylvain Lesage
2c40b61c58
remove demo (#37)
* remove demo

* remove more references to the demo + fix the image

* remove unused dependencies

* set new demo URL
2024-11-19 18:56:09 +01:00
Sylvain Lesage
4070c8b755
esm only (#36) 2024-11-15 18:16:06 +01:00
Sylvain Lesage
cb1e965e02
simulate an async operation (#33) 2024-11-08 22:23:35 +01:00
Sylvain Lesage
6ec836dac5
pass requestInit to fetch utils (#34)
* pass requestInit to fetch utils

It will allow authentication

* add tests
2024-11-08 22:22:30 +01:00
Kenny Daniel
302ba655c3
demo: fix drag enter counts for non-files 2024-11-02 13:58:28 -07:00
Kenny Daniel
ecacb2b03b
demo: upgrade hightable 2024-10-28 23:18:41 -07:00
Kenny Daniel
d8cc46b915
No dependencies allowed 2024-10-23 22:51:31 -07:00
Kenny Daniel
30951e8fa6
demo: upgrade hightable 2024-10-19 17:38:51 -07:00
Kenny Daniel
39f8c184a4
Fix cached AsyncBuffer for urls only 2024-10-16 15:15:58 -07:00
Kenny Daniel
447dab35be
Publish v1.5.0 2024-10-16 01:43:28 -07:00
Kenny Daniel
a5c34e2950
cachedAsyncBuffer tests 2024-10-16 01:38:02 -07:00
Kenny Daniel
5d21b09b7a
Export cachedAsyncBuffer 2024-10-16 01:29:31 -07:00
Kenny Daniel
da37b512d0
demo: pass metadata to worker 2024-10-07 23:19:17 -07:00
Kenny Daniel
603bb7ad83
demo: cached asyncbuffer 2024-10-07 22:30:54 -07:00
Kenny Daniel
26fb8f77bd
Publish v1.4.1 2024-10-04 21:51:31 -07:00
Kenny Daniel
bb202dfdeb
Fix util export types 2024-10-04 21:46:35 -07:00
Matthew Peveler
c8033621f9 Export additional types
Signed-off-by: Matthew Peveler <mpeveler@timescale.com>
2024-10-04 21:30:32 -07:00
Kenny Daniel
e38afbe8c4
Publish v1.4.0 2024-09-25 02:54:02 -07:00
Kenny Daniel
e6301a8bc8
demo: use web worker for parquet parsing to avoid blocking main thread 2024-09-25 02:22:30 -07:00
Kenny Daniel
4f1b0bb74d
Upgrade eslint 😭 2024-09-25 00:31:27 -07:00
Kenny Daniel
9d49dabc15
Query api 2024-09-24 21:01:04 -07:00
Kenny Daniel
9a2f4fdcba
Update dependencies 2024-09-24 16:54:44 -07:00
Kenny Daniel
c77388fb5e
demo: show parquet errors 2024-09-20 13:31:10 -07:00
Kenny Daniel
b10c38147c
demo: fix styles and click to select file 2024-09-17 16:22:16 -07:00
Kenny Daniel
e0a9a25577
demo: hyparquet pronunciation 2024-09-16 14:37:47 -07:00