diff --git a/package-lock.json b/package-lock.json index 981019f..3291474 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,10 @@ "version": "0.3.0", "dependencies": { "ajv": "^8.11.0", + "ndarray": "^1.0.19", "svelte-icons-pack": "^1.4.6", "svelte-simple-modal": "^1.4.1", - "zarr": "^0.6.0" + "zarrita": "^0.4.0-next.13" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", @@ -59,6 +60,40 @@ } } }, + "node_modules/@zarrita/core": { + "version": "0.1.0-next.11", + "resolved": "https://registry.npmjs.org/@zarrita/core/-/core-0.1.0-next.11.tgz", + "integrity": "sha512-x2sjxKD8R9O+Bu7ldoRDsOSFoHzWT/owG1qjUnB3I4AQ0/aHay4rDU1ePXz27RZRmlZX32s9GCQh7UtX4nRXtg==", + "dependencies": { + "@zarrita/storage": "^0.1.0-next.5", + "@zarrita/typedarray": "^0.1.0-next.3", + "numcodecs": "^0.3.1" + } + }, + "node_modules/@zarrita/indexing": { + "version": "0.1.0-next.13", + "resolved": "https://registry.npmjs.org/@zarrita/indexing/-/indexing-0.1.0-next.13.tgz", + "integrity": "sha512-qxBIUHpBRLChc71uY8+GkQKaRip1sgFGA1STnSxDee6gMuqEaB0f1SBoa+VPf8eMK6mLEatTE9KXm6pRzRYj/A==", + "dependencies": { + "@zarrita/core": "^0.1.0-next.11", + "@zarrita/storage": "^0.1.0-next.5", + "@zarrita/typedarray": "^0.1.0-next.3" + } + }, + "node_modules/@zarrita/storage": { + "version": "0.1.0-next.5", + "resolved": "https://registry.npmjs.org/@zarrita/storage/-/storage-0.1.0-next.5.tgz", + "integrity": "sha512-E1VSxhNGZHL4RsKfIuyaz0HRsDk7hOU8Y7R+8yvKolaHDjK31XQsUgu97oaR24qS1j1OOg5vGyFyd+y0q7FNOA==", + "dependencies": { + "reference-spec-reader": "^0.2.0", + "unzipit": "^1.4.3" + } + }, + "node_modules/@zarrita/typedarray": { + "version": "0.1.0-next.3", + "resolved": "https://registry.npmjs.org/@zarrita/typedarray/-/typedarray-0.1.0-next.3.tgz", + "integrity": "sha512-DpSaU3Cr6HmYDC/v8oM+e219cHU/kzKma309Z9E+QbpRnZycKNbSTKcxFR7FqB6HgB9640gzNUVFG5P+wzX5Xg==" + }, "node_modules/ajv": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", @@ -461,16 +496,16 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -503,6 +538,16 @@ "node": ">= 0.4.0" } }, + "node_modules/iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==" + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "node_modules/is-core-module": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", @@ -559,38 +604,21 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/numcodecs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/numcodecs/-/numcodecs-0.2.2.tgz", - "integrity": "sha512-Y5K8mv80yb4MgVpcElBkUeMZqeE4TrovxRit/dTZvoRl6YkB6WEjY+fiUjGCblITnt3T3fmrDg8yRWu0gOLjhQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/p-queue": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.0.tgz", - "integrity": "sha512-5fP+yVQ0qp0rEfZoDTlP2c3RYBgxvRsw30qO+VtPPc95lyvSG+x6USSh1TuLB4n96IO6I8/oXQGsTgtna4q2nQ==", + "node_modules/ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", "dependencies": { - "eventemitter3": "^4.0.7", - "p-timeout": "^5.0.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" } }, - "node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/numcodecs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/numcodecs/-/numcodecs-0.3.1.tgz", + "integrity": "sha512-ywIyGpJ+c6Ojktq9a8jsWSy12ZSUcW/W+I3jlH0q0zv9aR/ZiMsN7IrWaNq9YV2FRdLu6r/M6lp35jMA6fug/A==", + "dependencies": { + "fflate": "^0.8.0" } }, "node_modules/path-parse": { @@ -649,6 +677,11 @@ "node": ">=6" } }, + "node_modules/reference-spec-reader": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reference-spec-reader/-/reference-spec-reader-0.2.0.tgz", + "integrity": "sha512-q0mfCi5yZSSHXpCyxjgQeaORq3tvDsxDyzaadA/5+AbAUwRyRuuTh0aRQuE/vAOt/qzzxidJ5iDeu1cLHaNBlQ==" + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -749,6 +782,17 @@ "svelte": "^3.31.2" } }, + "node_modules/unzipit": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unzipit/-/unzipit-1.4.3.tgz", + "integrity": "sha512-gsq2PdJIWWGhx5kcdWStvNWit9FVdTewm4SEG7gFskWs+XCVaULt9+BwuoBtJiRE8eo3L1IPAOrbByNLtLtIlg==", + "dependencies": { + "uzip-module": "^1.0.2" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -757,6 +801,11 @@ "punycode": "^2.1.0" } }, + "node_modules/uzip-module": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/uzip-module/-/uzip-module-1.0.3.tgz", + "integrity": "sha512-AMqwWZaknLM77G+VPYNZLEruMGWGzyigPK3/Whg99B3S6vGHuqsyl5ZrOv1UUF3paGK1U6PM0cnayioaryg/fA==" + }, "node_modules/vite": { "version": "2.9.9", "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.9.tgz", @@ -794,16 +843,14 @@ } } }, - "node_modules/zarr": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/zarr/-/zarr-0.6.0.tgz", - "integrity": "sha512-WgGe+aFyK6EmTyZcqJ2OFeFQ9fJFuJqeJgM5sKnbap7HJboaI+rBpDp0rPXSTq5ITu/rLEQjZQ2mPlcfYk7DYA==", + "node_modules/zarrita": { + "version": "0.4.0-next.13", + "resolved": "https://registry.npmjs.org/zarrita/-/zarrita-0.4.0-next.13.tgz", + "integrity": "sha512-F0ujRsh5G8uuNe1CH12I9o/Q88Jc3YnRp4s7QzOIjvXvXzEv8Ht2VLCbZsTiS/pI4ynxKr1+9XS1LZixhoGDVA==", "dependencies": { - "numcodecs": "^0.2.2", - "p-queue": "^7.1.0" - }, - "engines": { - "node": ">=12" + "@zarrita/core": "^0.1.0-next.11", + "@zarrita/indexing": "^0.1.0-next.13", + "@zarrita/storage": "^0.1.0-next.5" } } }, @@ -832,6 +879,40 @@ "svelte-hmr": "^0.14.11" } }, + "@zarrita/core": { + "version": "0.1.0-next.11", + "resolved": "https://registry.npmjs.org/@zarrita/core/-/core-0.1.0-next.11.tgz", + "integrity": "sha512-x2sjxKD8R9O+Bu7ldoRDsOSFoHzWT/owG1qjUnB3I4AQ0/aHay4rDU1ePXz27RZRmlZX32s9GCQh7UtX4nRXtg==", + "requires": { + "@zarrita/storage": "^0.1.0-next.5", + "@zarrita/typedarray": "^0.1.0-next.3", + "numcodecs": "^0.3.1" + } + }, + "@zarrita/indexing": { + "version": "0.1.0-next.13", + "resolved": "https://registry.npmjs.org/@zarrita/indexing/-/indexing-0.1.0-next.13.tgz", + "integrity": "sha512-qxBIUHpBRLChc71uY8+GkQKaRip1sgFGA1STnSxDee6gMuqEaB0f1SBoa+VPf8eMK6mLEatTE9KXm6pRzRYj/A==", + "requires": { + "@zarrita/core": "^0.1.0-next.11", + "@zarrita/storage": "^0.1.0-next.5", + "@zarrita/typedarray": "^0.1.0-next.3" + } + }, + "@zarrita/storage": { + "version": "0.1.0-next.5", + "resolved": "https://registry.npmjs.org/@zarrita/storage/-/storage-0.1.0-next.5.tgz", + "integrity": "sha512-E1VSxhNGZHL4RsKfIuyaz0HRsDk7hOU8Y7R+8yvKolaHDjK31XQsUgu97oaR24qS1j1OOg5vGyFyd+y0q7FNOA==", + "requires": { + "reference-spec-reader": "^0.2.0", + "unzipit": "^1.4.3" + } + }, + "@zarrita/typedarray": { + "version": "0.1.0-next.3", + "resolved": "https://registry.npmjs.org/@zarrita/typedarray/-/typedarray-0.1.0-next.3.tgz", + "integrity": "sha512-DpSaU3Cr6HmYDC/v8oM+e219cHU/kzKma309Z9E+QbpRnZycKNbSTKcxFR7FqB6HgB9640gzNUVFG5P+wzX5Xg==" + }, "ajv": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", @@ -1032,16 +1113,16 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -1064,6 +1145,16 @@ "function-bind": "^1.1.1" } }, + "iota-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", + "integrity": "sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "is-core-module": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", @@ -1105,24 +1196,22 @@ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true }, - "numcodecs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/numcodecs/-/numcodecs-0.2.2.tgz", - "integrity": "sha512-Y5K8mv80yb4MgVpcElBkUeMZqeE4TrovxRit/dTZvoRl6YkB6WEjY+fiUjGCblITnt3T3fmrDg8yRWu0gOLjhQ==" - }, - "p-queue": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.0.tgz", - "integrity": "sha512-5fP+yVQ0qp0rEfZoDTlP2c3RYBgxvRsw30qO+VtPPc95lyvSG+x6USSh1TuLB4n96IO6I8/oXQGsTgtna4q2nQ==", + "ndarray": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", + "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", "requires": { - "eventemitter3": "^4.0.7", - "p-timeout": "^5.0.2" + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" } }, - "p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==" + "numcodecs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/numcodecs/-/numcodecs-0.3.1.tgz", + "integrity": "sha512-ywIyGpJ+c6Ojktq9a8jsWSy12ZSUcW/W+I3jlH0q0zv9aR/ZiMsN7IrWaNq9YV2FRdLu6r/M6lp35jMA6fug/A==", + "requires": { + "fflate": "^0.8.0" + } }, "path-parse": { "version": "1.0.7", @@ -1158,6 +1247,11 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "reference-spec-reader": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reference-spec-reader/-/reference-spec-reader-0.2.0.tgz", + "integrity": "sha512-q0mfCi5yZSSHXpCyxjgQeaORq3tvDsxDyzaadA/5+AbAUwRyRuuTh0aRQuE/vAOt/qzzxidJ5iDeu1cLHaNBlQ==" + }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -1224,6 +1318,14 @@ "integrity": "sha512-em/uxH1xvQZoXTOq81Kk0u9ltjf/EyQkNiKTQJQmdCygDMqyUfMCFzLnbIQ4ApfV4BcRh6eYbwbCeeWTOyfpsg==", "requires": {} }, + "unzipit": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unzipit/-/unzipit-1.4.3.tgz", + "integrity": "sha512-gsq2PdJIWWGhx5kcdWStvNWit9FVdTewm4SEG7gFskWs+XCVaULt9+BwuoBtJiRE8eo3L1IPAOrbByNLtLtIlg==", + "requires": { + "uzip-module": "^1.0.2" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -1232,6 +1334,11 @@ "punycode": "^2.1.0" } }, + "uzip-module": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/uzip-module/-/uzip-module-1.0.3.tgz", + "integrity": "sha512-AMqwWZaknLM77G+VPYNZLEruMGWGzyigPK3/Whg99B3S6vGHuqsyl5ZrOv1UUF3paGK1U6PM0cnayioaryg/fA==" + }, "vite": { "version": "2.9.9", "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.9.tgz", @@ -1245,13 +1352,14 @@ "rollup": "^2.59.0" } }, - "zarr": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/zarr/-/zarr-0.6.0.tgz", - "integrity": "sha512-WgGe+aFyK6EmTyZcqJ2OFeFQ9fJFuJqeJgM5sKnbap7HJboaI+rBpDp0rPXSTq5ITu/rLEQjZQ2mPlcfYk7DYA==", + "zarrita": { + "version": "0.4.0-next.13", + "resolved": "https://registry.npmjs.org/zarrita/-/zarrita-0.4.0-next.13.tgz", + "integrity": "sha512-F0ujRsh5G8uuNe1CH12I9o/Q88Jc3YnRp4s7QzOIjvXvXzEv8Ht2VLCbZsTiS/pI4ynxKr1+9XS1LZixhoGDVA==", "requires": { - "numcodecs": "^0.2.2", - "p-queue": "^7.1.0" + "@zarrita/core": "^0.1.0-next.11", + "@zarrita/indexing": "^0.1.0-next.13", + "@zarrita/storage": "^0.1.0-next.5" } } } diff --git a/package.json b/package.json index f66b677..8831a69 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,9 @@ }, "dependencies": { "ajv": "^8.11.0", + "ndarray": "^1.0.19", "svelte-icons-pack": "^1.4.6", "svelte-simple-modal": "^1.4.1", - "zarr": "^0.6.0" + "zarrita": "^0.4.0-next.13" } } diff --git a/src/JsonValidator/MultiscaleArrays/ZarrArray/ChunkLoader.svelte b/src/JsonValidator/MultiscaleArrays/ZarrArray/ChunkLoader.svelte index 3834b96..5735e86 100644 --- a/src/JsonValidator/MultiscaleArrays/ZarrArray/ChunkLoader.svelte +++ b/src/JsonValidator/MultiscaleArrays/ZarrArray/ChunkLoader.svelte @@ -1,13 +1,19 @@