@oceanum/datamesh 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/connector.d.ts +97 -0
- package/dist/lib/connector.d.ts.map +1 -0
- package/dist/lib/datamodel.d.ts +123 -0
- package/dist/lib/datamodel.d.ts.map +1 -0
- package/dist/lib/datasource.d.ts +118 -0
- package/dist/lib/datasource.d.ts.map +1 -0
- package/dist/lib/query.d.ts +161 -0
- package/dist/lib/query.d.ts.map +1 -0
- package/dist/lib/zarr.d.ts +20 -0
- package/dist/lib/zarr.d.ts.map +1 -0
- package/dist/test/fixtures.d.ts +8 -0
- package/dist/test/fixtures.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/eslint.config.js +22 -0
- package/package.json +22 -0
- package/project.json +4 -0
- package/src/index.ts +2 -0
- package/src/lib/connector.ts +228 -0
- package/src/lib/datamodel.ts +458 -0
- package/src/lib/datasource.ts +139 -0
- package/src/lib/query.ts +236 -0
- package/src/lib/workers/sw.js +44 -0
- package/src/lib/zarr.ts +112 -0
- package/src/test/dataset.test.ts +60 -0
- package/src/test/datasource.test.ts +28 -0
- package/src/test/fixtures.ts +169 -0
- package/src/test/query.test.ts +49 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +24 -0
- package/tsconfig.spec.json +31 -0
- package/typedoc.json +3 -0
- package/vite.config.ts +57 -0
- package/vitest.config.ts +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2021.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.dom.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../../../../usr/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/geojson/index.d.ts","../../../node_modules/dayjs/locale/types.d.ts","../../../node_modules/dayjs/locale/index.d.ts","../../../node_modules/dayjs/index.d.ts","../../../node_modules/dayjs/plugin/duration.d.ts","../../../node_modules/idb-keyval/dist/index.d.ts","../../../node_modules/@types/object-hash/index.d.ts","../../../node_modules/@zarrita/storage/dist/src/types.d.ts","../../../node_modules/@zarrita/storage/dist/src/fetch.d.ts","../../../node_modules/@zarrita/storage/dist/src/fs.d.ts","../../../node_modules/@zarrita/storage/dist/src/ref.d.ts","../../../node_modules/unzipit/dist/unzipit.d.ts","../../../node_modules/@zarrita/storage/dist/src/zip.d.ts","../../../node_modules/@zarrita/storage/dist/src/index.d.ts","../src/lib/zarr.ts","../../../node_modules/@zarrita/core/dist/src/errors.d.ts","../../../node_modules/@zarrita/typedarray/dist/src/index.d.ts","../../../node_modules/@zarrita/core/dist/src/metadata.d.ts","../../../node_modules/@zarrita/core/dist/src/codecs.d.ts","../../../node_modules/@zarrita/core/dist/src/util.d.ts","../../../node_modules/@zarrita/core/dist/src/hierarchy.d.ts","../../../node_modules/@zarrita/core/dist/src/open.d.ts","../../../node_modules/@zarrita/core/dist/src/create.d.ts","../../../node_modules/@zarrita/core/dist/src/consolidated.d.ts","../../../node_modules/@zarrita/core/dist/src/index.d.ts","../../../node_modules/@zarrita/indexing/dist/src/types.d.ts","../../../node_modules/@zarrita/indexing/dist/src/ops.d.ts","../../../node_modules/@zarrita/indexing/dist/src/get.d.ts","../../../node_modules/@zarrita/indexing/dist/src/set.d.ts","../../../node_modules/@zarrita/indexing/dist/src/util.d.ts","../../../node_modules/@zarrita/indexing/dist/src/index.d.ts","../src/lib/datamodel.ts","../src/lib/datasource.ts","../src/lib/query.ts","../src/lib/connector.ts","../src/index.ts","../../../node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/@vitest/runner/dist/tasks-K5XERDtv.d.ts","../../../node_modules/@vitest/utils/dist/types-9l4niLY8.d.ts","../../../node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/@vitest/utils/diff.d.ts","../../../node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/@vitest/utils/error.d.ts","../../../node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/@vitest/runner/utils.d.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/rollup/dist/rollup.d.ts","../../../node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/vite/types/customEvent.d.ts","../../../node_modules/vite/types/hot.d.ts","../../../node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts","../../../node_modules/esbuild/lib/main.d.ts","../../../node_modules/source-map-js/source-map.d.ts","../../../node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/postcss/lib/input.d.ts","../../../node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/postcss/lib/declaration.d.ts","../../../node_modules/postcss/lib/root.d.ts","../../../node_modules/postcss/lib/warning.d.ts","../../../node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/postcss/lib/processor.d.ts","../../../node_modules/postcss/lib/result.d.ts","../../../node_modules/postcss/lib/document.d.ts","../../../node_modules/postcss/lib/rule.d.ts","../../../node_modules/postcss/lib/node.d.ts","../../../node_modules/postcss/lib/comment.d.ts","../../../node_modules/postcss/lib/container.d.ts","../../../node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/postcss/lib/list.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/vite/dist/node/runtime.d.ts","../../../node_modules/vite/types/importGlob.d.ts","../../../node_modules/vite/types/metadata.d.ts","../../../node_modules/vite/dist/node/index.d.ts","../../../node_modules/vite-node/dist/trace-mapping.d-xyIfZtPm.d.ts","../../../node_modules/vite-node/dist/index-O2IrwHKf.d.ts","../../../node_modules/vite-node/dist/index.d.ts","../../../node_modules/@vitest/snapshot/dist/environment-cMiGIVXz.d.ts","../../../node_modules/@vitest/snapshot/dist/index-S94ASl6q.d.ts","../../../node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/@vitest/expect/dist/chai.d.cts","../../../node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/@vitest/expect/index.d.ts","../../../node_modules/tinybench/dist/index.d.cts","../../../node_modules/vite-node/dist/client.d.ts","../../../node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/@vitest/snapshot/manager.d.ts","../../../node_modules/vite-node/dist/server.d.ts","../../../node_modules/vitest/dist/reporters-yx5ZTtEV.d.ts","../../../node_modules/vitest/dist/suite-IbNSsUWN.d.ts","../../../node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/@vitest/snapshot/environment.d.ts","../../../node_modules/vitest/dist/index.d.ts","../src/test/fixtures.ts","../../../node_modules/vite/types/importMeta.d.ts","../../../node_modules/vite/client.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","3eb679a56cab01203a1ba7edeade937f6a2a4c718513b2cd930b579807fa9359",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"ff667ee99e5a28c3dc5063a3cfd4d3436699e3fb035d4451037da7f567da542a","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"4a882ffbb4ed09d9b7734f784aebb1dfe488d63725c40759165c5d9c657ca029","40e9aaa923bacffacfcd4b619b862c023245f03c67df28c49515bccd26e5f9a0",{"version":"73a0ee6395819b063df4b148211985f2e1442945c1a057204cf4cf6281760dc3","affectsGlobalScope":true},"d05d8c67116dceafc62e691c47ac89f8f10cf7313cd1b2fb4fe801c2bf1bb1a7","3c5bb5207df7095882400323d692957e90ec17323ccff5fd5f29a1ecf3b165d0","112dc31db3c5f45551532c2f0ddd2b55c98762c3cb5fd113f7c255825e6e04b2","f08728a9b464da7a195ca5a197837c2384ab78979737105f97a63b2cade30fa7","355fed2467fbcdb0e4004a9fcdf0201d6d15ad68bc90160a12b56e9fcf945d11","c86497d55465e8cc34b19e875675a9cad41b95aab1ca1fdf15da54fb159ed559","02681522f8f4f1f51bf3e43102404d4931d96951285fdc79890513647afd148e","5e90e4723342d7c8bfb4c861d4facf97b0396242041903ef9286f551526c227c","c11447470058b0eb05e09522a0123c304eaa877868542ee148282331f75ff420","34b897be9991034938afdd4eb453080e8f760aca90553ce5b519d7151b896463","d3450f58e81ffbc6c714aad6778973a99a3290349a18409f21371c71e3e3ef4b","641cebd30a1bd9740e04e1131bb2566c9cede4700bc641394d75636bff6c9cc5",{"version":"6a9e2d84d32be273dd829c4e7369aab561a21adcc0560b2e57cbc24c2a57fa0d","signature":"a8027a8c452df5eaab15d4637b81d4ad9e66be64f87522f403cc8dd5f4efe346"},"036e9651374fe14337e4cc054bbf6e5afe671581fe18d202b1cd3c761302cf10","2ec80f572042867392ef0d8f8a62a82b67d8f99032b2bc04da6153e31a33dbf7","0357ba22b5bf8ac6e53f9eb034461c8d6c67d1861603cb40299241b52bd27ee6","79169173464f9f20ae233b2c77eafe1b4421227df50b640fde40df1881a19347","820d1ed4e7d8acb49dff10fe1ba80100e28e0a48035adeed86a9ec217b80d550","55d06dde05f1a067ff6fd9457325c052895fe67ecdcc0e1bac8ab471a5b56f01","cb25026e306ac6bef355d8d17314744701401e2b3785a245f1473357d1ae7bf1","7a7bf028a1b2adab41e58ea55e39738264e50bd89e9e340445eb18c65290b1bb","9433907401c40fc4563c705cd5dd7d6dd13a14ff2f42129360ec02fbbaa467c9","b97a2913820c80c58b26d1576eed614edbc712979ecc4c92ddeabb1f6c5e8b8d","ada69ceb011b85252a03d4a7ce98b68000943b181355497b0232416541027790","2aa8e53f9ae07445a7aefe7b613eb5d9d9b637b89dd81e66e6bcdb3098e8f4c8","c1b4b19ecfc911b787192a8c54fec57297ddea1988432cf4ebe8fac1d212b0e3","fe759a43b9440c0c71d3351e7b0c4b2e401d8b75d41b0a6d08198da4f8263be0","ab3bcde0dfa2f29b7037ae47056396d3c7c52c0d8726519c4205892f9bc2f056","cb2fd363603147c9a6ac0589e7ccd158dd673d3e76d6367e9fd9fa2c32b62ae5",{"version":"69939e269a28da7b5e467ab339ce2bcdc1af47d61537ae9e6569e99712f98413","signature":"2118f05312b0c7050aff7b709fc5a0bacdf14aceecda44b2fd45a520133da983"},"1008d167485caa9a9c164f0e3962808029fb69e31ba2ff69cddf48bb7de6bd38",{"version":"2856f7a6803a30e02a0fdf86f43ab37b1d30601fdc56fcd66cb0ed25555d2d4c","signature":"45dbae3442f856b8f37562430dfd6ca7d1e0bbf6e3eacd4b90d033ff7325a5fc"},"3c1eff7b2cf0bb879825b586b34de44a32422baf9085a54714e34f9a9feedc56","c6d04b02ce359acefa4e54210254a3e75b6a482e70ff0161812ea02a438c2c3f","3deed5e2a5f1e7590d44e65a5b61900158a3c38bac9048462d38b1bc8098bb2e","d435a43f89ed8794744c59d72ce71e43c1953338303f6be9ef99086faa8591d7","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","a4f64e674903a21e1594a24c3fc8583f3a587336d17d41ade46aa177a8ab889b","b6f69984ffcd00a7cbcef9c931b815e8872c792ed85d9213cb2e2c14c50ca63a","2bbc5abe5030aa07a97aabd6d3932ed2e8b7a241cf3923f9f9bf91a0addbe41f","1e5e5592594e16bcf9544c065656293374120eb8e78780fb6c582cc710f6db11","05c7aef6a4e496b93c2e682cced8903c0dfe6340d04f3fe616176e2782193435","4abf1e884eecb0bf742510d69d064e33d53ac507991d6c573958356f920c3de4","44f1d2dd522c849ca98c4f95b8b2bc84b64408d654f75eb17ec78b8ceb84da11","500a67e158e4025f27570ab6a99831680852bb45a44d4c3647ab7567feb1fb4c","89edc5e1739692904fdf69edcff9e1023d2213e90372ec425b2f17e3aecbaa4a","e7d5bcffc98eded65d620bc0b6707c307b79c21d97a5fb8601e8bdf2296026b6","e666e31d323fef5642f87db0da48a83e58f0aaf9e3823e87eabd8ec7e0441a36","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"931776d985dedeaead3b5c1bfdb976a0818a11b08660ee0afeeebf39a872f7ae","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"3719525a8f6ab731e3dfd585d9f87df55ec7d50d461df84f74eb4d68bb165244","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5450889a3b688f9da80e7c96963b2cfebc6097e8e95790a23a48558b61e6aea7","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","eb0621cc37d1cb25eb8777fb9835c5d98d5e69aac78e8437aa041b6325b70e05","4eaff3d8e10676fd7913d8c108890e71c688e1e7d52f6d1d55c39514f493dc47","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"33c18291895cf06a317440ad43c7b59b128537eff762ab9cca7efa0d5252457c","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"a40be9f6243a0a32f578ba8db1a31de58cd98d6fd0eedaec416307c8ad53442a","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","1bbf3c9f66a3cc7468a12f373cacfa2e8f172c1b40959bbd659116f915b0b7e2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"fbeb4d15a681c95b51a4072776dd43eaa4b68a14d2ae964f181b13190df47c3e","affectsGlobalScope":true},"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc",{"version":"e58a3ce75105c1557e34fab7408942d77374e047c16383e80880ed1220166dfa","affectsGlobalScope":true},"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87",{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true},"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","4d979e3c12ffb6497d2b1dc5613130196d986fff764c4526360c0716a162e7e7","e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","80781460eca408fe8d2937d9fdbbb780d6aac35f549621e6200c9bee1da5b8fe","4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","b9261ac3e9944d3d72c5ee4cf888ad35d9743a5563405c6963c4e43ee3708ca4","c84fd54e8400def0d1ef1569cafd02e9f39a622df9fa69b57ccc82128856b916","a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","2ed6489ef46eb61442d067c08e87e3db501c0bfb2837eee4041a27bf3e792bb0","644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","d60fe6d59d4e19ecc65359490b8535e359ca4b760d2cdb56897ca75d09d41ba3","f45a2a8b1777ecb50ed65e1a04bb899d4b676529b7921bd5d69b08573a00c832","774b783046ba3d473948132d28a69f52a295b2f378f2939304118ba571b1355e","b5734e05c787a40e4f9efe71f16683c5f7dc3bdb0de7c04440c855bd000f8fa7","14ba97f0907144771331e1349fdccb5a13526eba0647e6b447e572376d811b6f","2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","7165050eddaed878c2d2cd3cafcaf171072ac39e586a048c0603712b5555f536","82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","9ae0ca65717af0d3b554a26fd333ad9c78ad3910ad4b22140ff02acb63076927","4a27c79c57a6692abb196711f82b8b07a27908c94652148d5469887836390116","f42400484f181c2c2d7557c0ed3b8baaace644a9e943511f3d35ac6be6eb5257","54b381d36b35df872159a8d3b52e8d852659ee805695a867a388c8ccbf57521b","c67b4c864ec9dcde25f7ad51b90ae9fe1f6af214dbd063d15db81194fe652223","7a4aa00aaf2160278aeae3cf0d2fc6820cf22b86374efa7a00780fbb965923ff","66e3ee0a655ff3698be0aef05f7b76ac34c349873e073cde46d43db795b79f04",{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true},{"version":"28e065b6fb60a04a538b5fbf8c003d7dac3ae9a49eddc357c2a14f2ffe9b3185","affectsGlobalScope":true},"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","0d87708dafcde5468a130dfe64fac05ecad8328c298a4f0f2bd86603e5fd002e","a3f2554ba6726d0da0ffdc15b675b8b3de4aea543deebbbead845680b740a7fd","b7e28e06011460436d5c2ec2996846ac0c451e135357fc5a7269e5665a32fbd7","93dda0982b139b27b85dd2924d23e07ee8b4ca36a10be7bdf361163e4ffcc033",{"version":"31af4e44d2d576ba81551894367493d444a24b72206fa9d4938b773085588cce","affectsGlobalScope":true},"18b47d2b019adf661fa363a2fc7a63b5bff55406a689e7e312934f8d57c41065","dfa6bb848807bc5e01e84214d4ec13ee8ffe5e1142546dcbb32065783a5db468","2f1ffc29f9ba7b005c0c48e6389536a245837264c99041669e0b768cfab6711d","f2d1a59a658165341b0e2b7879aa2e19ea6a709146b2d3f70ee8a07159d3d08e","e0ec9121996450da52ed36b694b198b0e40fc8531bcddb7c0296a158ff65ab94",{"version":"5c78feb4fd891ac5fef47e345840f5d4d013e4fb6a49c58d10d3c9c1df5cbd72","signature":"e1a1965668c65272e161e1c11584cb0aee37bfd0fb3085271e67f9de36518eec"},{"version":"4025a454b1ca489b179ee8c684bdd70ff8c1967e382076ade53e7e4653e1daec","affectsGlobalScope":true},{"version":"984c09345059b76fc4221c2c54e53511f4c27a0794dfd6e9f81dc60f0b564e05","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":false,"esModuleInterop":true,"experimentalDecorators":false,"importHelpers":true,"module":99,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","removeComments":false,"rootDir":"../src","skipDefaultLibCheck":false,"skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo"},"fileIdsList":[[92,152],[152],[106,152],[109,152],[110,115,143,152],[111,122,123,130,140,151,152],[111,112,122,130,152],[113,152],[114,115,123,131,152],[115,140,148,152],[116,118,122,130,152],[117,152],[118,119,152],[122,152],[120,122,152],[122,123,124,140,151,152],[122,123,124,137,140,143,152],[152,156],[118,125,130,140,151,152],[122,123,125,126,130,140,148,151,152],[125,127,140,148,151,152],[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[122,128,152],[129,151,152],[118,122,130,140,152],[131,152],[132,152],[109,133,152],[134,150,152,156],[135,152],[136,152],[122,137,138,152],[137,139,152,154],[110,122,140,141,142,143,152],[110,140,142,152],[140,141,152],[143,152],[144,152],[122,146,147,152],[146,147,152],[115,130,140,148,152],[149,152],[130,150,152],[110,125,136,151,152],[115,152],[140,152,153],[152,154],[152,155],[110,115,122,124,133,140,151,152,154,156],[140,152,157],[95,99,152],[152,197],[95,96,99,100,102,152],[95,152],[95,96,99,152],[95,96,152],[104,152],[152,193],[94,152,193],[94,152,193,194],[152,207],[152,201],[98,152],[94,97,152],[90,152],[90,91,94,152],[94,152],[101,152],[71,152],[67,152],[67,71,74,152],[67,71,72,73,152],[69,71,72,74,75,76,77,152],[70,152],[67,78,79,152],[79,80,81,82,83,152],[78,152],[79,152],[61,152],[61,62,63,64,66,152],[61,65,152],[56,152],[55,152],[57,152],[152,182],[152,180,182],[152,171,179,180,181,183],[152,169],[152,172,177,182,185],[152,168,185],[152,172,173,176,177,178,185],[152,172,173,174,176,177,185],[152,169,170,171,172,173,177,178,179,181,182,183,185],[152,167,169,170,171,172,173,174,176,177,178,179,180,181,182,183,184],[152,167,185],[152,172,174,175,177,178,185],[152,176,185],[152,177,178,182,185],[152,170,180],[93,152],[152,160,161],[152,190,191],[152,190],[152,189,190,191,204],[152,211],[122,123,125,126,127,130,140,148,151,152,157,159,161,162,163,164,165,166,185,186,187,188],[152,162,163,164,165],[152,162,163,164],[152,162],[152,163],[152,164,187],[152,161],[95,99,103,105,123,140,152,156,189,192,195,196,198,199,200,202,203,204,205,206,208],[95,103,105,123,140,152,156,189,192,195,196,198,199,200,202,203,204],[103,105,152,199,204],[53,86,88,152],[53,85,86,87,152],[53,67,68,78,84,86,152],[53,54,57,58,85,152],[53,54,57,58,152],[53,59,60,67,152],[53,86,152,209],[67,78,84,86],[54,57,58],[59,67],[86,96]],"referencedMap":[[93,1],[92,2],[160,2],[54,2],[106,3],[107,3],[109,4],[110,5],[111,6],[112,7],[113,8],[114,9],[115,10],[116,11],[117,12],[118,13],[119,13],[121,14],[120,15],[122,14],[123,16],[124,17],[108,18],[158,2],[125,19],[126,20],[127,21],[159,22],[128,23],[129,24],[130,25],[131,26],[132,27],[133,28],[134,29],[135,30],[136,31],[137,32],[138,32],[139,33],[140,34],[142,35],[141,36],[143,37],[144,38],[145,2],[146,39],[147,40],[148,41],[149,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[60,2],[196,2],[197,51],[198,52],[103,53],[96,54],[100,55],[104,56],[105,57],[193,2],[207,58],[194,59],[195,60],[201,60],[208,61],[202,62],[206,2],[99,63],[98,64],[101,64],[91,65],[95,66],[97,67],[90,2],[102,68],[72,69],[77,70],[76,71],[69,2],[74,72],[78,73],[71,74],[75,71],[73,69],[81,75],[84,76],[80,75],[82,75],[79,77],[83,78],[62,79],[63,79],[67,80],[64,79],[61,2],[66,81],[70,2],[57,82],[56,83],[55,2],[58,84],[166,2],[59,2],[183,85],[181,86],[182,87],[170,88],[171,86],[178,89],[169,90],[174,91],[184,2],[175,92],[180,93],[185,94],[168,95],[176,96],[177,97],[172,98],[179,85],[173,99],[94,100],[161,101],[167,2],[199,2],[53,2],[65,2],[200,102],[191,103],[192,102],[203,104],[190,2],[212,105],[189,106],[186,107],[165,108],[163,109],[162,2],[164,110],[187,2],[211,111],[188,112],[209,113],[204,114],[205,115],[89,116],[88,117],[85,118],[86,119],[87,120],[68,121],[210,122],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[1,2],[52,2]],"exportedModulesMap":[[93,1],[92,2],[160,2],[54,2],[106,3],[107,3],[109,4],[110,5],[111,6],[112,7],[113,8],[114,9],[115,10],[116,11],[117,12],[118,13],[119,13],[121,14],[120,15],[122,14],[123,16],[124,17],[108,18],[158,2],[125,19],[126,20],[127,21],[159,22],[128,23],[129,24],[130,25],[131,26],[132,27],[133,28],[134,29],[135,30],[136,31],[137,32],[138,32],[139,33],[140,34],[142,35],[141,36],[143,37],[144,38],[145,2],[146,39],[147,40],[148,41],[149,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[60,2],[196,2],[197,51],[198,52],[103,53],[96,54],[100,55],[104,56],[105,57],[193,2],[207,58],[194,59],[195,60],[201,60],[208,61],[202,62],[206,2],[99,63],[98,64],[101,64],[91,65],[95,66],[97,67],[90,2],[102,68],[72,69],[77,70],[76,71],[69,2],[74,72],[78,73],[71,74],[75,71],[73,69],[81,75],[84,76],[80,75],[82,75],[79,77],[83,78],[62,79],[63,79],[67,80],[64,79],[61,2],[66,81],[70,2],[57,82],[56,83],[55,2],[58,84],[166,2],[59,2],[183,85],[181,86],[182,87],[170,88],[171,86],[178,89],[169,90],[174,91],[184,2],[175,92],[180,93],[185,94],[168,95],[176,96],[177,97],[172,98],[179,85],[173,99],[94,100],[161,101],[167,2],[199,2],[53,2],[65,2],[200,102],[191,103],[192,102],[203,104],[190,2],[212,105],[189,106],[186,107],[165,108],[163,109],[162,2],[164,110],[187,2],[211,111],[188,112],[209,113],[204,114],[205,115],[89,116],[88,117],[85,123],[86,119],[87,124],[68,125],[210,126],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[1,2],[52,2]],"semanticDiagnosticsPerFile":[93,92,160,54,106,107,109,110,111,112,113,114,115,116,117,118,119,121,120,122,123,124,108,158,125,126,127,159,128,129,130,131,132,133,134,135,136,137,138,139,140,142,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,60,196,197,198,103,96,100,104,105,193,207,194,195,201,208,202,206,99,98,101,91,95,97,90,102,72,77,76,69,74,78,71,75,73,81,84,80,82,79,83,62,63,67,64,61,66,70,57,56,55,58,166,59,183,181,182,170,171,178,169,174,184,175,180,185,168,176,177,172,179,173,94,161,167,199,53,65,200,191,192,203,190,212,189,186,165,163,162,164,187,211,188,209,204,205,89,88,[85,[{"file":"../src/lib/datamodel.ts","start":6579,"length":13,"code":2322,"category":1,"messageText":"Type 'Chunk<DType>' is not assignable to type 'Data'."},{"file":"../src/lib/datamodel.ts","start":8214,"length":22,"messageText":"The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<Dataset<DatameshStore>>'?","category":1,"code":1064},{"file":"../src/lib/datamodel.ts","start":9565,"length":18,"messageText":"The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<Dataset<TempStore>>'?","category":1,"code":1064}]],86,87,68,210,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,1,52],"affectedFilesPendingEmit":[[89,0],[88,0],[85,1],[86,0],[210,1]]},"version":"4.7.4"}
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const baseConfig = require("../../eslint.config.js");
|
|
2
|
+
|
|
3
|
+
module.exports = [
|
|
4
|
+
...baseConfig,
|
|
5
|
+
{
|
|
6
|
+
files: ["**/*.json"],
|
|
7
|
+
rules: {
|
|
8
|
+
"@nx/dependency-checks": [
|
|
9
|
+
"error",
|
|
10
|
+
{
|
|
11
|
+
ignoredFiles: [
|
|
12
|
+
"{projectRoot}/eslint.config.{js,cjs,mjs}",
|
|
13
|
+
"{projectRoot}/vite.config.{js,ts,mjs,mts}",
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
languageOptions: {
|
|
19
|
+
parser: require("jsonc-eslint-parser"),
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
];
|
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@oceanum/datamesh",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"scripts": {},
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@types/geojson": "^7946.0.14",
|
|
10
|
+
"@types/object-hash": "^3.0.6",
|
|
11
|
+
"@zarrita/core": "^0.1.0-next.15",
|
|
12
|
+
"@zarrita/indexing": "^0.1.0-next.17",
|
|
13
|
+
"@zarrita/storage": "^0.1.0-next.7",
|
|
14
|
+
"dayjs": "^1.11.13",
|
|
15
|
+
"idb-keyval": "^6.2.1",
|
|
16
|
+
"object-hash": "^3.0.0",
|
|
17
|
+
"zarrita": "^0.4.0-next.17"
|
|
18
|
+
},
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"module": "./dist/index.mjs",
|
|
21
|
+
"typings": "./dist/index.d.ts"
|
|
22
|
+
}
|
package/project.json
ADDED
package/src/index.ts
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { Datasource } from "./datasource";
|
|
2
|
+
import { IQuery, Stage } from "./query";
|
|
3
|
+
import { Dataset, DatameshStore } from "./datamodel";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Datamesh connector class.
|
|
7
|
+
*
|
|
8
|
+
* All datamesh operations are methods of this class.
|
|
9
|
+
*/
|
|
10
|
+
export class Connector {
|
|
11
|
+
private _token: string;
|
|
12
|
+
private _proto: string;
|
|
13
|
+
private _host: string;
|
|
14
|
+
private _authHeaders: Record<string, string>;
|
|
15
|
+
private _gateway: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Datamesh connector constructor
|
|
19
|
+
*
|
|
20
|
+
* @param token - Your datamesh access token. Defaults to environment variable DATAMESH_TOKEN is defined else as literal string "DATAMESH_TOKEN". DO NOT put your Datamesh token directly into public facing browser code.
|
|
21
|
+
* @param service - URL of datamesh service. Defaults to environment variable DATAMESH_SERVICE or "https://datamesh.oceanum.io".
|
|
22
|
+
* @param gateway - URL of gateway service. Defaults to "https://gateway.datamesh.oceanum.io".
|
|
23
|
+
*
|
|
24
|
+
* @throws {Error} - If a valid token is not provided.
|
|
25
|
+
*/
|
|
26
|
+
constructor(
|
|
27
|
+
token = process.env.DATAMESH_TOKEN || "$DATAMESH_TOKEN",
|
|
28
|
+
service = process.env.DATAMESH_SERVICE || "https://datamesh.oceanum.io",
|
|
29
|
+
gateway = process.env.DATAMESH_GATEWAY ||
|
|
30
|
+
"https://gateway.datamesh.oceanum.io"
|
|
31
|
+
) {
|
|
32
|
+
if (!token) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
"A valid datamesh token must be supplied as a connector constructor argument or defined in environment variables as DATAMESH_TOKEN"
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
this._token = token;
|
|
39
|
+
const url = new URL(service);
|
|
40
|
+
this._proto = url.protocol;
|
|
41
|
+
this._host = url.hostname;
|
|
42
|
+
this._authHeaders = {
|
|
43
|
+
Authorization: `Token ${this._token}`,
|
|
44
|
+
"X-DATAMESH-TOKEN": this._token,
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
this._gateway = gateway || `${this._proto}//gateway.${this._host}`;
|
|
48
|
+
|
|
49
|
+
if (
|
|
50
|
+
this._host.split(".").slice(-1)[0] !==
|
|
51
|
+
this._gateway.split(".").slice(-1)[0]
|
|
52
|
+
) {
|
|
53
|
+
console.warn("Gateway and service domain do not match");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Get datamesh host.
|
|
59
|
+
*
|
|
60
|
+
* @returns The datamesh server host.
|
|
61
|
+
*/
|
|
62
|
+
get host(): string {
|
|
63
|
+
return this._host;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Check the status of the metadata server.
|
|
68
|
+
*
|
|
69
|
+
* @returns True if the metadata server is up, false otherwise.
|
|
70
|
+
*/
|
|
71
|
+
async status(): Promise<boolean> {
|
|
72
|
+
const response = await fetch(`${this._proto}//${this._host}`, {
|
|
73
|
+
headers: this._authHeaders,
|
|
74
|
+
});
|
|
75
|
+
return response.status === 200;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Validate response from server.
|
|
80
|
+
*
|
|
81
|
+
* @param response - The response object to validate.
|
|
82
|
+
* @throws {Error} - If the response contains an error status code.
|
|
83
|
+
*/
|
|
84
|
+
private async validateResponse(response: Response): Promise<void> {
|
|
85
|
+
if (response.status >= 400) {
|
|
86
|
+
let message: string;
|
|
87
|
+
try {
|
|
88
|
+
const errorJson = await response.json();
|
|
89
|
+
message = errorJson.detail;
|
|
90
|
+
} catch {
|
|
91
|
+
message = `Datamesh server error: ${await response.text()}`;
|
|
92
|
+
}
|
|
93
|
+
throw new Error(message);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Request metadata from datamesh.
|
|
99
|
+
*
|
|
100
|
+
* @param datasourceId - The ID of the datasource to request.
|
|
101
|
+
* @param params - Additional parameters for the request.
|
|
102
|
+
* @returns The response from the server.
|
|
103
|
+
*/
|
|
104
|
+
private async metadataRequest(
|
|
105
|
+
datasourceId = "",
|
|
106
|
+
params = {} as Record<string, string>
|
|
107
|
+
): Promise<Response> {
|
|
108
|
+
const url = new URL(
|
|
109
|
+
`${this._proto}//${this._host}/datasource/${datasourceId}`
|
|
110
|
+
);
|
|
111
|
+
Object.keys(params).forEach((key) =>
|
|
112
|
+
url.searchParams.append(key, params[key])
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
const response = await fetch(url.toString(), {
|
|
116
|
+
headers: this._authHeaders,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
if (response.status === 404) {
|
|
120
|
+
throw new Error(`Datasource ${datasourceId} not found`);
|
|
121
|
+
} else if (response.status === 401) {
|
|
122
|
+
throw new Error(`Datasource ${datasourceId} not authorized`);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
await this.validateResponse(response);
|
|
126
|
+
return response;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Request data from datamesh.
|
|
131
|
+
*
|
|
132
|
+
* @param datasourceId - The ID of the datasource to request.
|
|
133
|
+
* @param dataFormat - The format of the requested data. Defaults to "application/json".
|
|
134
|
+
* @returns The path to the cached file.
|
|
135
|
+
*/
|
|
136
|
+
async dataRequest(
|
|
137
|
+
datasourceId: string,
|
|
138
|
+
dataFormat = "application/json"
|
|
139
|
+
): Promise<Blob> {
|
|
140
|
+
const response = await fetch(`${this._gateway}/data/${datasourceId}`, {
|
|
141
|
+
headers: { Accept: dataFormat, ...this._authHeaders },
|
|
142
|
+
});
|
|
143
|
+
await this.validateResponse(response);
|
|
144
|
+
return response.blob();
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Stage a query to the datamesh.
|
|
149
|
+
*
|
|
150
|
+
* @param query - The query to stage.
|
|
151
|
+
* @returns The staged response.
|
|
152
|
+
*/
|
|
153
|
+
private async stageRequest(query: IQuery): Promise<Stage | null> {
|
|
154
|
+
const data = JSON.stringify(query);
|
|
155
|
+
const response = await fetch(`${this._gateway}/oceanql/stage/`, {
|
|
156
|
+
method: "POST",
|
|
157
|
+
headers: { "Content-Type": "application/json", ...this._authHeaders },
|
|
158
|
+
body: data,
|
|
159
|
+
});
|
|
160
|
+
if (response.status >= 400) {
|
|
161
|
+
const errorJson = await response.json();
|
|
162
|
+
throw new Error(errorJson.detail);
|
|
163
|
+
} else if (response.status === 204) {
|
|
164
|
+
return null;
|
|
165
|
+
} else {
|
|
166
|
+
return response.json();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Execute a query to the datamesh.
|
|
172
|
+
*
|
|
173
|
+
* @param query - The query to execute.
|
|
174
|
+
* @returns The response from the server.
|
|
175
|
+
*/
|
|
176
|
+
async query(query: IQuery): Promise<Dataset<DatameshStore> | null> {
|
|
177
|
+
const stage = await this.stageRequest(query);
|
|
178
|
+
if (!stage) {
|
|
179
|
+
console.warn("No data found for query");
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
const url = `${this._gateway}/zarr/${stage.qhash}`;
|
|
183
|
+
const dataset = await Dataset.zarr(url, this._authHeaders);
|
|
184
|
+
return dataset;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Get a datasource instance from the datamesh.
|
|
189
|
+
*
|
|
190
|
+
* @param datasourceId - Unique datasource ID.
|
|
191
|
+
* @returns The datasource instance.
|
|
192
|
+
* @throws {Error} - If the datasource cannot be found or is not authorized.
|
|
193
|
+
*/
|
|
194
|
+
async getDatasource(datasourceId: string): Promise<Datasource> {
|
|
195
|
+
const meta = await this.metadataRequest(datasourceId);
|
|
196
|
+
const metaDict = await meta.json();
|
|
197
|
+
return {
|
|
198
|
+
id: datasourceId,
|
|
199
|
+
geom: metaDict.geometry,
|
|
200
|
+
...metaDict.properties,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Load a datasource into the work environment.
|
|
206
|
+
*
|
|
207
|
+
* @param datasourceId - Unique datasource ID.
|
|
208
|
+
* @param parameters - Additional datasource parameters.
|
|
209
|
+
* @param useDask - Whether to use Dask for loading. Defaults to false.
|
|
210
|
+
* @returns The datasource container.
|
|
211
|
+
*/
|
|
212
|
+
async loadDatasource(
|
|
213
|
+
datasourceId: string,
|
|
214
|
+
parameters: Record<string, string | number> = {}
|
|
215
|
+
): Promise<Dataset<DatameshStore> | null> {
|
|
216
|
+
const query = { datasource: datasourceId, parameters };
|
|
217
|
+
const stage = await this.stageRequest(query);
|
|
218
|
+
if (!stage) {
|
|
219
|
+
console.warn("No data found for query");
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
const dataset = await Dataset.zarr(
|
|
223
|
+
`${this._gateway}/zarr/${stage.qhash}`,
|
|
224
|
+
this._authHeaders
|
|
225
|
+
);
|
|
226
|
+
return dataset;
|
|
227
|
+
}
|
|
228
|
+
}
|