@oceanum/datamesh 0.1.0 → 0.2.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.
Files changed (57) hide show
  1. package/README.md +26 -6
  2. package/dist/README.md +31 -0
  3. package/dist/blosc-CeItQ6qj.cjs +17 -0
  4. package/dist/blosc-DaK8KnI4.js +719 -0
  5. package/dist/browser-BDe_cnOJ.cjs +1 -0
  6. package/dist/browser-CJIXy_XB.js +524 -0
  7. package/dist/chunk-INHXZS53-DiyuLb3Z.js +14 -0
  8. package/dist/chunk-INHXZS53-z3BpFH8p.cjs +1 -0
  9. package/dist/gzip-DfmsOCZR.cjs +1 -0
  10. package/dist/gzip-TMN4LZ5e.js +24 -0
  11. package/dist/index.cjs +9 -0
  12. package/dist/index.d.ts +4 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +11341 -0
  15. package/dist/lib/connector.d.ts +13 -17
  16. package/dist/lib/connector.d.ts.map +1 -1
  17. package/dist/lib/datamodel.d.ts +53 -24
  18. package/dist/lib/datamodel.d.ts.map +1 -1
  19. package/dist/lib/datasource.d.ts +8 -30
  20. package/dist/lib/datasource.d.ts.map +1 -1
  21. package/dist/lib/observe.d.ts +3 -0
  22. package/dist/lib/observe.d.ts.map +1 -0
  23. package/dist/lib/query.d.ts +30 -56
  24. package/dist/lib/query.d.ts.map +1 -1
  25. package/dist/lib/zarr.d.ts +2 -2
  26. package/dist/lz4-CssV0LoA.js +643 -0
  27. package/dist/lz4-PFaIsPAh.cjs +15 -0
  28. package/dist/test/fixtures.d.ts +9 -5
  29. package/dist/test/fixtures.d.ts.map +1 -1
  30. package/dist/zlib-C-RQJQaC.cjs +1 -0
  31. package/dist/zlib-DrihHfbK.js +24 -0
  32. package/dist/zstd-Cqadn9HA.js +610 -0
  33. package/dist/zstd-_xUhkGOV.cjs +15 -0
  34. package/package.json +8 -4
  35. package/src/docs/reverse_proxy.md +0 -0
  36. package/src/index.js +20 -0
  37. package/src/index.ts +2 -0
  38. package/src/lib/connector.ts +33 -23
  39. package/src/lib/datamodel.ts +165 -25
  40. package/src/lib/datasource.ts +20 -24
  41. package/src/lib/observe.ts +21 -0
  42. package/src/lib/query.ts +26 -50
  43. package/src/lib/workers/README.md +3 -0
  44. package/src/test/dataframe.test.ts +108 -0
  45. package/src/test/dataset.test.ts +1 -1
  46. package/src/test/datasource.test.ts +1 -1
  47. package/src/test/fixtures.ts +132 -7
  48. package/src/test/query.test.ts +1 -1
  49. package/tsconfig.lib.json +2 -1
  50. package/tsconfig.vitest-temp.json +50 -0
  51. package/typedoc.json +5 -1
  52. package/vite.config.ts +11 -1
  53. package/vite.config.ts.timestamp-1734584068599-c5119713c3c4e.mjs +67 -0
  54. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  55. package/src/lib/workers/sw.js +0 -44
  56. package/vitest.config.ts +0 -10
  57. /package/{eslint.config.js → eslint.config.cjs} +0 -0
@@ -1,12 +1,14 @@
1
- import { Datasource } from "./datasource";
2
- import { IQuery } from "./query";
3
- import { Dataset, DatameshStore } from "./datamodel";
1
+ import { Datasource } from './datasource';
2
+ import { IQuery } from './query';
3
+ import { Dataset, DatameshStore, TempStore } from './datamodel';
4
4
  /**
5
5
  * Datamesh connector class.
6
6
  *
7
7
  * All datamesh operations are methods of this class.
8
+ *
8
9
  */
9
- declare class Connector {
10
+ export declare class Connector {
11
+ static LAZY_LOAD_SIZE: number;
10
12
  private _token;
11
13
  private _proto;
12
14
  private _host;
@@ -15,14 +17,13 @@ declare class Connector {
15
17
  /**
16
18
  * Datamesh connector constructor
17
19
  *
18
- * @param token - Your datamesh access token. Defaults to environment variable DATAMESH_TOKEN if defined else $DATAMESH_TOKEN
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.
19
21
  * @param service - URL of datamesh service. Defaults to environment variable DATAMESH_SERVICE or "https://datamesh.oceanum.io".
20
- * @param gateway - URL of gateway service. Defaults to "https://gateway.<datamesh_service_domain>".
21
- * @param user - Organisation user name for the datamesh connection. Defaults to None.
22
+ * @param _gateway - URL of gateway service. Defaults to "https://gateway.datamesh.oceanum.io".
22
23
  *
23
24
  * @throws {Error} - If a valid token is not provided.
24
25
  */
25
- constructor(token?: string, service?: string, gateway?: string);
26
+ constructor(token?: string, service?: string, _gateway?: string);
26
27
  /**
27
28
  * Get datamesh host.
28
29
  *
@@ -55,10 +56,9 @@ declare class Connector {
55
56
  *
56
57
  * @param datasourceId - The ID of the datasource to request.
57
58
  * @param dataFormat - The format of the requested data. Defaults to "application/json".
58
- * @param cache - Whether to cache the response. Defaults to false.
59
59
  * @returns The path to the cached file.
60
60
  */
61
- dataRequest(datasourceId: string, dataFormat?: string): Promise<Blob>;
61
+ private dataRequest;
62
62
  /**
63
63
  * Stage a query to the datamesh.
64
64
  *
@@ -70,11 +70,9 @@ declare class Connector {
70
70
  * Execute a query to the datamesh.
71
71
  *
72
72
  * @param query - The query to execute.
73
- * @param useDask - Whether to use Dask for execution. Defaults to false.
74
- * @param cacheTimeout - The cache timeout for the query. Defaults to 0.
75
73
  * @returns The response from the server.
76
74
  */
77
- query(query: IQuery): Promise<Dataset<DatameshStore> | null>;
75
+ query(query: IQuery): Promise<Dataset</** @ignore */ /** @ignore */ DatameshStore | TempStore> | null>;
78
76
  /**
79
77
  * Get a datasource instance from the datamesh.
80
78
  *
@@ -88,10 +86,8 @@ declare class Connector {
88
86
  *
89
87
  * @param datasourceId - Unique datasource ID.
90
88
  * @param parameters - Additional datasource parameters.
91
- * @param useDask - Whether to use Dask for loading. Defaults to false.
92
- * @returns The datasource container.
89
+ * @returns The dataset.
93
90
  */
94
- loadDatasource(datasourceId: string, parameters?: Record<string, string | number>): Promise<Dataset<DatameshStore> | null>;
91
+ loadDatasource(datasourceId: string, parameters?: Record<string, string | number>): Promise<Dataset</** @ignore */ DatameshStore> | null>;
95
92
  }
96
- export default Connector;
97
93
  //# sourceMappingURL=connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/lib/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErD;;;;GAIG;AACH,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;;OASG;gBAED,KAAK,SAAkD,EACvD,OAAO,SAAgE,EACvE,OAAO,SACgC;IA2BzC;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC;;;;;OAKG;YACW,gBAAgB;IAa9B;;;;;;OAMG;YACW,eAAe;IAyB7B;;;;;;;OAOG;IACG,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,UAAU,SAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;OAKG;YACW,YAAY;IAqB1B;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAWlE;;;;;;OAMG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU9D;;;;;;;OAOG;IACG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC/C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CAW1C;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/lib/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIhE;;;;;GAKG;AAEH,qBAAa,SAAS;IACpB,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;OAQG;gBAED,KAAK,SAAkD,EACvD,OAAO,SAAgE,EAEvE,QAAQ,SAC+B;IA4BzC;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC;;;;;OAKG;YACW,gBAAgB;IAa9B;;;;;;OAMG;YACW,eAAe;IAyB7B;;;;;;OAMG;YACW,WAAW;IAWzB;;;;;OAKG;YAEW,YAAY;IAiB1B;;;;;OAKG;IAEG,KAAK,CACT,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,AAAf,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IAiBpE;;;;;;OAMG;IAEG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU9D;;;;;;OAMG;IAEG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC/C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CAKzD"}
@@ -1,17 +1,18 @@
1
- import { CachedHTTPStore } from "./zarr";
1
+ import { DataType, Listable, Location } from '@zarrita/core';
2
+ import { Mutable, AsyncReadable } from '@zarrita/storage';
3
+ import { Slice } from '@zarrita/indexing';
4
+ import { Table } from 'apache-arrow';
5
+ import { Geometry, FeatureCollection } from 'geojson';
6
+ import { Schema, Coordinates } from './datasource';
2
7
  import * as zarr from "@zarrita/core";
3
- import { DataType, Listable, Location } from "@zarrita/core";
4
- import { Mutable, AsyncReadable } from "@zarrita/storage";
5
- import { Slice } from "@zarrita/indexing";
6
- import { Schema } from "./datasource";
7
- declare type ATypedArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Float32Array | Float64Array;
8
- declare type Scalar = string | number | boolean;
9
- declare type NDArray = Scalar[] | Scalar[][] | Scalar[][][] | Scalar[][][][] | ATypedArray[] | ATypedArray[][] | ATypedArray[][][] | ATypedArray[][][][];
10
- declare type Data = NDArray | ATypedArray | Scalar;
8
+ export type ATypedArray = Int8Array | Int16Array | Int32Array | BigInt64Array | Uint8Array | Uint16Array | Uint32Array | BigUint64Array | Float32Array | Float64Array;
9
+ export type Scalar = string | number | boolean;
10
+ export type NDArray = Scalar[] | Scalar[][] | Scalar[][][] | Scalar[][][][] | ATypedArray[] | ATypedArray[][] | ATypedArray[][][] | ATypedArray[][][][];
11
+ export type Data = NDArray | ATypedArray | Scalar;
11
12
  /**
12
13
  * Represents a data variable.
13
14
  */
14
- export declare type DataVariable = {
15
+ export type DataVariable = {
15
16
  /**
16
17
  * Attributes of the variable.
17
18
  */
@@ -29,12 +30,16 @@ export declare type DataVariable = {
29
30
  */
30
31
  data?: Data;
31
32
  };
32
- export declare type DatameshStore = Location<Listable<AsyncReadable>>;
33
- export declare type TempStore = Location<Mutable>;
33
+ /** @ignore */
34
+ export type DatameshStore = Location<Listable<AsyncReadable>>;
35
+ /** @ignore */
36
+ export type TempStore = Location<Mutable>;
34
37
  /**
35
38
  * Represents a data variable within a dataset.
36
39
  */
37
- export declare class DataVar<DType extends DataType, S extends TempStore | DatameshStore> {
40
+ export declare class DataVar<
41
+ /** @ignore */
42
+ DType extends DataType, S extends TempStore | DatameshStore> {
38
43
  /**
39
44
  * Creates an instance of DataVar.
40
45
  * @param id - The identifier for the data variable.
@@ -58,36 +63,39 @@ export declare class DataVar<DType extends DataType, S extends TempStore | Datam
58
63
  * Represents a dataset with dimensions, data variables, and attributes.
59
64
  * Implements the DatasetApi interface.
60
65
  */
61
- export declare class Dataset<S extends DatameshStore | TempStore> {
66
+ export declare class Dataset</** @ignore */ S extends DatameshStore | TempStore> {
62
67
  /**
63
68
  * Creates an instance of Dataset.
64
69
  * @param dims - The dimensions of the dataset.
65
70
  * @param data_vars - The data variables of the dataset.
66
71
  * @param attrs - The attributes of the dataset.
67
72
  * @param root - The root group of the dataset.
73
+ * @param coordinates - The coordinates map of the dataset.
68
74
  */
69
75
  dims: Record<string, number>;
70
76
  data_vars: S extends TempStore ? Record<string, DataVar<DataType, TempStore>> : Record<string, DataVar<DataType, DatameshStore>>;
71
77
  attrs: Record<string, unknown>;
78
+ coordinates: Coordinates;
72
79
  root: S;
73
- constructor(dims: Record<string, number>, data_vars: S extends TempStore ? Record<string, DataVar<DataType, TempStore>> : Record<string, DataVar<DataType, DatameshStore>>, attrs: Record<string, unknown>, root: S);
80
+ constructor(dims: Record<string, number>, data_vars: S extends TempStore ? Record<string, DataVar<DataType, TempStore>> : Record<string, DataVar<DataType, DatameshStore>>, attrs: Record<string, unknown>, coordinates: Coordinates, root: S);
74
81
  /**
75
82
  * Creates a Dataset instance from a Zarr store.
76
- * @param gateway - The URL of the datamesh gateway.
83
+ * @param url - The URL of the datamesh gateway.
77
84
  * @param authHeaders - The authentication headers.
78
85
  * @param parameters - Optional parameters for the request.
79
86
  * @param chunks - Optional chunking strategy.
80
87
  * @param downsample - Optional downsampling strategy.
81
88
  * @returns A promise that resolves to a Dataset instance.
82
89
  */
83
- static zarr(url: string, authHeaders: Record<string, string>, parameters?: Record<string, string | number>, chunks?: string, downsample?: Record<string, number>): Promise<Dataset<zarr.Location<zarr.Listable<CachedHTTPStore>>>>;
90
+ static zarr(url: string, authHeaders: Record<string, string>, parameters?: Record<string, string | number>, chunks?: string, downsample?: Record<string, number>): Promise<Dataset<DatameshStore>>;
91
+ static fromArrow(data: Table, coordmap: Coordinates): Promise<Dataset<TempStore>>;
84
92
  /**
85
93
  * Initializes an in memory Dataset instance from a data object.
86
94
  * @param datasource - An object containing id, dimensions, data variables, and attributes.
87
95
  */
88
- static init(datasource: Schema): Promise<void>;
96
+ static init(datasource: Schema, coordinates?: Coordinates): Promise<Dataset<TempStore>>;
89
97
  /**
90
- * Converts the data variables into a dataframe format.
98
+ * Converts the dataset into a dataframe format.
91
99
  *
92
100
  * @returns {Promise<Record<string, unknown>[]>} A promise that resolves to an array of records,
93
101
  * where each record represents a row in the dataframe.
@@ -95,14 +103,36 @@ export declare class Dataset<S extends DatameshStore | TempStore> {
95
103
  * @remarks
96
104
  * This method iterates over the data variables, retrieves their dimensions and data,
97
105
  * and then flattens the data into a dataframe structure.
106
+ * Time coordinates are converted to IDO8601 format.
107
+ * BigInt datatypes are coerced to number.
98
108
  *
99
109
  * @example
100
110
  * ```typescript
101
- * const dataframe = await instance.to_dataframe();
111
+ * const dataframe = await instance.asDataframe();
102
112
  * console.log(dataframe);
103
113
  * ```
104
114
  */
105
- to_dataframe(): Promise<Record<string, unknown>[]>;
115
+ asDataframe(): Promise<Record<string, unknown>[]>;
116
+ /**
117
+ * Converts the dataset into a GeoJSON Feature.
118
+ * @param geometry - Optional GeoJSON geometry to apply to all records, otherwise geometry column is required. Will override geometry column if present.
119
+ *
120
+ * @returns {Promise<FeatureCollection>} A promise that resolves to an array of records,
121
+ * where each record represents a row in the dataframe.
122
+ *
123
+ * @throws Will throw an error if no geometry is found in data or as a parameter
124
+ *
125
+ * @remarks
126
+ * This method iterates over the data variables, retrieves their dimensions and data,
127
+ * and then flattens the data into a dataframe structure.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const dataframe = await instance.asDataframe();
132
+ * console.log(dataframe);
133
+ * ```
134
+ */
135
+ asGeojson(geom?: Geometry): Promise<FeatureCollection>;
106
136
  /**
107
137
  * Asynchronously assigns data to a variable in the dataset.
108
138
  *
@@ -110,14 +140,13 @@ export declare class Dataset<S extends DatameshStore | TempStore> {
110
140
  * @param dims - An array of dimension names corresponding to the data.
111
141
  * @param data - The data to be assigned, which can be a multi-dimensional array.
112
142
  * @param attrs - Optional. A record of attributes to be associated with the variable.
113
- * @param dtype - The data type of the variable.
143
+ * @param coordinates - Optional. A record of coordinates to be associated with the variable.
114
144
  * @param chunks - Optional. An array specifying the chunk sizes for the data.
115
145
 
116
146
  * @returns A promise that resolves when the data has been successfully assigned.
117
147
  * @throws Will throw an error if the shape of the data does not match the provided dimensions.
118
148
  * @throws Will throw an error if an existing dimension size does not match the new data.
119
149
  */
120
- assign(varid: string, dims: string[], data: Data, attrs?: Record<string, unknown>, chunks?: number[]): Promise<void>;
150
+ assign(varid: string, dims: string[], data: Data, attrs?: Record<string, unknown>, coordinates?: Coordinates, chunks?: number[]): Promise<void>;
121
151
  }
122
- export {};
123
152
  //# sourceMappingURL=datamodel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/lib/datamodel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/lib/datamodel.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,15 @@
1
- import { Geometry } from "geojson";
2
- import dayjs from "dayjs";
3
- import duration from "dayjs/plugin/duration";
4
- import { DataVariable } from "./datamodel";
5
- /**
6
- * Represents a data variable.
7
- */
8
- declare enum Coordinate {
9
- "Station" = "s",
10
- "Ensemble" = "e",
11
- "Raster band" = "b",
12
- "Category" = "c",
13
- "Quantile" = "q",
14
- "Season" = "n",
15
- "Month" = "m",
16
- "Time" = "t",
17
- "Vertical coordinate" = "z",
18
- "Horizontal northerly" = "y",
19
- "Horizontal easterly" = "x",
20
- "Geometry" = "g",
21
- "Frequency" = "f",
22
- "Direction" = "d",
23
- "Coordinate_i" = "i",
24
- "Coordinate_j" = "j",
25
- "Coordinate_k" = "k"
26
- }
27
- declare type Coordinates = {
1
+ import { Geometry } from 'geojson';
2
+ import { default as dayjs } from 'dayjs';
3
+ import { default as duration } from 'dayjs/plugin/duration';
4
+ import { DataVariable } from './datamodel';
5
+ export type Coordinate = "s" | "e" | "b" | "c" | "q" | "n" | "m" | "t" | "z" | "y" | "x" | "g" | "f" | "d" | "i" | "j" | "k";
6
+ export type Coordinates = {
28
7
  [key in Coordinate]?: string;
29
8
  };
30
9
  /**
31
10
  * Represents the schema of a data source.
32
11
  */
33
- export declare type Schema = {
12
+ export type Schema = {
34
13
  /**
35
14
  * Attributes of the schema.
36
15
  */
@@ -51,7 +30,7 @@ export declare type Schema = {
51
30
  /**
52
31
  * Represents a data source.
53
32
  */
54
- export declare type Datasource = {
33
+ export type Datasource = {
55
34
  /**
56
35
  * Unique identifier for the data source.
57
36
  */
@@ -114,5 +93,4 @@ export declare type Datasource = {
114
93
  last_modified?: Date;
115
94
  driver: string;
116
95
  };
117
- export {};
118
96
  //# sourceMappingURL=datasource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/lib/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,aAAK,UAAU;IACb,SAAS,MAAM;IACf,UAAU,MAAM;IAChB,aAAa,MAAM;IACnB,UAAU,MAAM;IAChB,UAAU,MAAM;IAChB,QAAQ,MAAM;IACd,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,qBAAqB,MAAM;IAC3B,sBAAsB,MAAM;IAC5B,qBAAqB,MAAM;IAC3B,UAAU,MAAM;IAChB,WAAW,MAAM;IACjB,WAAW,MAAM;IACjB,cAAc,MAAM;IACpB,cAAc,MAAM;IACpB,cAAc,MAAM;CACrB;AAED,aAAK,WAAW,GAAG;KAChB,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAC7B,CAAC;AAEF;;GAEG;AACH,oBAAY,MAAM,GAAG;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,oBAAY,UAAU,GAAG;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAE7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/lib/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,UAAU,GAClB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER,MAAM,MAAM,WAAW,GAAG;KACvB,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAE7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** @ignore */
2
+ export declare function measureTime(target: any, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor;
3
+ //# sourceMappingURL=observe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/lib/observe.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,wBAAgB,WAAW,CACzB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,sBAgB/B"}
@@ -1,74 +1,47 @@
1
- import { Feature } from "geojson";
2
- import dayjs from "dayjs";
3
- import duration from "dayjs/plugin/duration";
1
+ import { Feature } from 'geojson';
2
+ import { default as dayjs } from 'dayjs';
3
+ import { default as duration } from 'dayjs/plugin/duration';
4
4
  /**
5
- * GeoFilterType enum representing types of geofilters.
5
+ * GeoFilterType type representing types of geofilters.
6
6
  */
7
- declare enum GeoFilterType {
8
- Feature = "feature",
9
- Bbox = "bbox"
10
- }
7
+ export type GeoFilterType = "feature" | "bbox";
11
8
  /**
12
- * GeoFilterInterp enum representing interpolation methods for geofilters.
9
+ * GeoFilterInterp type representing interpolation methods for geofilters.
13
10
  */
14
- declare enum GeoFilterInterp {
15
- Nearest = "nearest",
16
- Linear = "linear"
17
- }
11
+ export type GeoFilterInterp = "nearest" | "linear";
18
12
  /**
19
- * LevelFilterInterp enum representing interpolation methods for level filters.
13
+ * LevelFilterInterp type representing interpolation methods for level filters.
20
14
  */
21
- declare enum LevelFilterInterp {
22
- Nearest = "nearest",
23
- Linear = "linear"
24
- }
15
+ export type LevelFilterInterp = "nearest" | "linear";
25
16
  /**
26
- * TimeFilterType enum representing types of time filters.
17
+ * TimeFilterType type representing types of time filters.
27
18
  */
28
- declare enum TimeFilterType {
29
- Range = "range",
30
- Series = "series",
31
- Trajectory = "trajectory"
32
- }
19
+ export type TimeFilterType = "range" | "series" | "trajectory";
33
20
  /**
34
- * LevelFilterType enum representing types of level filters.
21
+ * LevelFilterType type representing types of level filters.
35
22
  */
36
- declare enum LevelFilterType {
37
- Range = "range",
38
- Series = "series"
39
- }
23
+ export type LevelFilterType = "range" | "series";
40
24
  /**
41
- * ResampleType enum representing types of resampling.
25
+ * ResampleType type representing types of resampling.
42
26
  */
43
- declare enum ResampleType {
44
- Mean = "mean",
45
- Nearest = "nearest",
46
- Slinear = "linear"
47
- }
27
+ export type ResampleType = "mean" | "nearest" | "linear";
48
28
  /**
49
- * AggregateOps enum representing aggregation operations.
29
+ * AggregateOps type representing aggregation operations.
50
30
  */
51
- declare enum AggregateOps {
52
- Mean = "mean",
53
- Min = "min",
54
- Max = "max",
55
- Std = "std",
56
- Sum = "sum"
57
- }
31
+ export type AggregateOps = "mean" | "min" | "max" | "std" | "sum";
58
32
  /**
59
- * Container enum representing data container types.
33
+ * Container type representing data container types.
60
34
  */
61
- declare enum Container {
62
- GeoDataFrame = "geodataframe",
63
- DataFrame = "dataframe",
64
- Dataset = "dataset"
35
+ export type Container = "geodataframe" | "dataframe" | "dataset";
36
+ export interface GeoFilterFeature extends Omit<Feature, "properties"> {
37
+ properties?: Record<string, unknown> | undefined;
65
38
  }
66
39
  /**
67
40
  * GeoFilter type representing a spatial subset or interpolation.
68
41
  */
69
- export declare type GeoFilter = {
42
+ export type GeoFilter = {
70
43
  type: GeoFilterType;
71
- geom: Array<number[]> | Feature;
44
+ geom: Array<number[]> | GeoFilterFeature;
72
45
  interp?: GeoFilterInterp;
73
46
  resolution?: number;
74
47
  alltouched?: boolean;
@@ -76,7 +49,7 @@ export declare type GeoFilter = {
76
49
  /**
77
50
  * LevelFilter type representing a vertical subset or interpolation.
78
51
  */
79
- declare type LevelFilter = {
52
+ export type LevelFilter = {
80
53
  type: LevelFilterType;
81
54
  levels: Array<number | null>;
82
55
  interp?: LevelFilterInterp;
@@ -84,7 +57,7 @@ declare type LevelFilter = {
84
57
  /**
85
58
  * TimeFilter type representing a temporal subset or interpolation.
86
59
  */
87
- export declare type TimeFilter = {
60
+ export type TimeFilter = {
88
61
  type?: TimeFilterType;
89
62
  times: Array<Date | dayjs.Dayjs | duration.Duration | string>;
90
63
  resolution?: string;
@@ -93,7 +66,7 @@ export declare type TimeFilter = {
93
66
  /**
94
67
  * Aggregate type representing aggregation operations.
95
68
  */
96
- declare type Aggregate = {
69
+ export type Aggregate = {
97
70
  operations: AggregateOps[];
98
71
  spatial?: boolean;
99
72
  temporal?: boolean;
@@ -101,7 +74,7 @@ declare type Aggregate = {
101
74
  /**
102
75
  * CoordSelector type representing coordinate selection.
103
76
  */
104
- declare type CoordSelector = {
77
+ export type CoordSelector = {
105
78
  coord: string;
106
79
  values: Array<string | number>;
107
80
  };
@@ -125,13 +98,15 @@ export interface IQuery {
125
98
  /**
126
99
  * Stage interface representing the result of staging a query.
127
100
  */
128
- export declare type Stage = {
101
+ /** @ignore */
102
+ export type Stage = {
129
103
  query: Query;
130
104
  qhash: string;
131
105
  formats: string[];
132
106
  size: number;
133
107
  dlen: number;
134
108
  coordmap: Record<string, string>;
109
+ coordkeys: Record<string, string>;
135
110
  container: Container;
136
111
  sig: string;
137
112
  };
@@ -157,5 +132,4 @@ export declare class Query implements IQuery {
157
132
  */
158
133
  toJSON(): Record<string, unknown>;
159
134
  }
160
- export {};
161
135
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/lib/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/lib/query.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { UseStore } from "idb-keyval";
2
- import { AsyncReadable, AsyncMutable, AbsolutePath } from "@zarrita/storage";
1
+ import { UseStore } from 'idb-keyval';
2
+ import { AsyncReadable, AsyncMutable, AbsolutePath } from '@zarrita/storage';
3
3
  export declare class CachedHTTPStore implements AsyncReadable {
4
4
  cache: UseStore | undefined;
5
5
  url: string;