Zarrita.js is a slightly more modular zarr library which works in a similar way to zarr.js, but fixes a number of problems we've been facing with the current library:
Most immediately relevant: errors caused by cancelled requests are properly caught (this seems to have been caused by zarr.js's use of p-queue for limiting concurrent requests; zarrita uses a dummy queue by default). This should remove the need for the hacky fix in #167
It allows us to pass down arbitrary options to its version of Store (called Readable), which solves a huge problem we've been facing with tracking prefetch requests
This PR switches us from zarr to zarrita. Remarkably little actually changes about how we interact with the library. The biggest change is converting the store wrapper from an instance of Store, which requires lots of methods that look like interacting with a filesystem, to an instance of Readable, which requires only one method: get.
Zarrita.js is a slightly more modular zarr library which works in a similar way to zarr.js, but fixes a number of problems we've been facing with the current library:
Store
(calledReadable
), which solves a huge problem we've been facing with tracking prefetch requestsThis PR switches us from zarr to zarrita. Remarkably little actually changes about how we interact with the library. The biggest change is converting the store wrapper from an instance of
Store
, which requires lots of methods that look like interacting with a filesystem, to an instance ofReadable
, which requires only one method:get
.