This change primarily moves certain utility functions for reading OME-Zarr metadata and dealing with arbitrary dimension order out of OmeZarrLoader.ts and into a new zarr utils file. It also adds unit tests for these utility methods.
I made these changes as part of work on #78, and this branch is mostly changes cherry-picked or copied from my feature branch for that work. Without those additional features, it is less obvious why this refactor is useful, but including it alongside the more substantive changes would have made the combined PR too large to reasonably review.
Review time: moderate (~30min).
This change primarily moves certain utility functions for reading OME-Zarr metadata and dealing with arbitrary dimension order out of OmeZarrLoader.ts and into a new zarr utils file. It also adds unit tests for these utility methods.
I made these changes as part of work on #78, and this branch is mostly changes cherry-picked or copied from my feature branch for that work. Without those additional features, it is less obvious why this refactor is useful, but including it alongside the more substantive changes would have made the combined PR too large to reasonably review.