Can this library be used with Flechette?
https://github.com/uwdata/flechette is a lightweight alternative to Arrow JS. It would be cool to be able to choose between Arrow JS and Flechette (or really any other future implementation of Arrow in JS).
Not today, no. It's very tied to arrow-js because there's no intermediate representation. Values are read directly from Wasm memory into arrow-js objects.
We could create an intermediate representation for the C data and C schema pointer structs, and then have modules to load either into arrow-js or flechette. It would still be a decent amount of duplication for the API integration, but that's unavoidable.
I could point you to where we could make progress on this if you'd like, though I probably won't have time to implement it myself.
Thanks for the explanation. I don't have cycles at the moment but if it was easy, I'd built a parquet loader to Vega with it similar to https://github.com/vega/vega-loader-arrow. I can also just us the arrow js dependency of course and it should just work.
I figure the constructor APIs are pretty similar, so you should essentially be able to copy-paste and replace the arrow-js constructors with their flechette constructors; it'll just be a little verbose.