@loaders.gl/wms 3.4.0-alpha.4 → 3.4.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/dist/dist.min.js +25 -0
- package/dist/es5/csw-capabilities-loader.js +1 -1
- package/dist/es5/csw-capabilities-loader.js.map +1 -1
- package/dist/es5/csw-domain-loader.js +1 -1
- package/dist/es5/csw-domain-loader.js.map +1 -1
- package/dist/es5/csw-records-loader.js +1 -1
- package/dist/es5/csw-records-loader.js.map +1 -1
- package/dist/es5/gml-loader.js +1 -1
- package/dist/es5/gml-loader.js.map +1 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lerc-loader.js +1 -1
- package/dist/es5/lerc-loader.js.map +1 -1
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +33 -0
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
- package/dist/es5/lib/sources/image-source.js.map +1 -1
- package/dist/es5/wip/wcs-capabilities-loader.js +1 -1
- package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wfs-capabilities-loader.js +1 -1
- package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/es5/wip/wmts-capabilities-loader.js +1 -1
- package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-capabilities-loader.js +1 -1
- package/dist/es5/wms-capabilities-loader.js.map +1 -1
- package/dist/es5/wms-error-loader.js +1 -1
- package/dist/es5/wms-error-loader.js.map +1 -1
- package/dist/esm/csw-capabilities-loader.js +1 -1
- package/dist/esm/csw-capabilities-loader.js.map +1 -1
- package/dist/esm/csw-domain-loader.js +1 -1
- package/dist/esm/csw-domain-loader.js.map +1 -1
- package/dist/esm/csw-records-loader.js +1 -1
- package/dist/esm/csw-records-loader.js.map +1 -1
- package/dist/esm/gml-loader.js +1 -1
- package/dist/esm/gml-loader.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lerc-loader.js +1 -1
- package/dist/esm/lerc-loader.js.map +1 -1
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js +33 -0
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
- package/dist/esm/lib/sources/image-source.js.map +1 -1
- package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
- package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wfs-capabilities-loader.js +1 -1
- package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
- package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
- package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-capabilities-loader.js +1 -1
- package/dist/esm/wms-capabilities-loader.js.map +1 -1
- package/dist/esm/wms-error-loader.js +1 -1
- package/dist/esm/wms-error-loader.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts +24 -0
- package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -1
- package/dist/lib/parsers/wms/parse-wms-capabilities.js +32 -0
- package/dist/lib/sources/image-source.d.ts +1 -1
- package/dist/lib/sources/image-source.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +1 -1
- package/src/lib/parsers/wms/parse-wms-capabilities.ts +64 -0
- package/src/lib/sources/image-source.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wms-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/wms/parse-wms-capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-wms-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/wms/parse-wms-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,12 @@ function extractLayer(xmlLayer) {
|
|
|
114
114
|
if (boundingBoxes && boundingBoxes.length > 0) {
|
|
115
115
|
layer.boundingBoxes = boundingBoxes;
|
|
116
116
|
}
|
|
117
|
+
// Extract dimensions
|
|
118
|
+
const xmlDimensions = (0, parse_xml_helpers_1.getXMLArray)(xmlLayer?.Dimension);
|
|
119
|
+
const dimensions = xmlDimensions.map((xml) => extractDimension(xml));
|
|
120
|
+
if (dimensions.length) {
|
|
121
|
+
layer.dimensions = dimensions;
|
|
122
|
+
}
|
|
117
123
|
if (xmlLayer?.opaque) {
|
|
118
124
|
layer.opaque = (0, parse_xml_helpers_1.getXMLBoolean)(xmlLayer?.opaque);
|
|
119
125
|
}
|
|
@@ -180,6 +186,32 @@ function extractWMSBoundingBox(xmlBoundingBox) {
|
|
|
180
186
|
}
|
|
181
187
|
return boundingBox;
|
|
182
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Extracts optional WMS Dimension layer field
|
|
191
|
+
* @param xmlDimension
|
|
192
|
+
* @example <Dimension name="time" units="ISO8601" default="2018-01-01" nearestValue="0">2001-01-01/2018-01-01/P1Y</Dimension>
|
|
193
|
+
* @see https://mapserver.org/ogc/wms_dimension.html
|
|
194
|
+
*/
|
|
195
|
+
function extractDimension(xmlDimension) {
|
|
196
|
+
const { name, units, value: extent } = xmlDimension;
|
|
197
|
+
const dimension = { name, units, extent };
|
|
198
|
+
if (xmlDimension.unitSymbol) {
|
|
199
|
+
dimension.unitSymbol = xmlDimension.unitSymbol;
|
|
200
|
+
}
|
|
201
|
+
if (xmlDimension.default) {
|
|
202
|
+
dimension.defaultValue = xmlDimension.default;
|
|
203
|
+
}
|
|
204
|
+
if (xmlDimension.multipleValues) {
|
|
205
|
+
dimension.multipleValues = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.multipleValues);
|
|
206
|
+
}
|
|
207
|
+
if (xmlDimension.nearestValue) {
|
|
208
|
+
dimension.nearestValue = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.nearestValue);
|
|
209
|
+
}
|
|
210
|
+
if (xmlDimension.current) {
|
|
211
|
+
dimension.current = (0, parse_xml_helpers_1.getXMLBoolean)(xmlDimension.current);
|
|
212
|
+
}
|
|
213
|
+
return dimension;
|
|
214
|
+
}
|
|
183
215
|
/** Traverse layers and inject missing props from parents */
|
|
184
216
|
// eslint-disable-next-line complexity
|
|
185
217
|
function addInheritedLayerProps(layer, parent) {
|
|
@@ -63,7 +63,7 @@ export type ImageSourceProps = DataSourceProps;
|
|
|
63
63
|
* @note
|
|
64
64
|
* - If geospatial, bounding box is expected to be in web mercator coordinates
|
|
65
65
|
*/
|
|
66
|
-
export declare abstract class ImageSource<PropsT extends ImageSourceProps> extends DataSource<PropsT> {
|
|
66
|
+
export declare abstract class ImageSource<PropsT extends ImageSourceProps = ImageSourceProps> extends DataSource<PropsT> {
|
|
67
67
|
abstract getMetadata(): Promise<ImageSourceMetadata>;
|
|
68
68
|
abstract getImage(parameters: GetImageParameters): Promise<ImageType>;
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-source.d.ts","sourceRoot":"","sources":["../../../src/lib/sources/image-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,8CAA8C;IAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;GAIG;AACH,8BAAsB,WAAW,
|
|
1
|
+
{"version":3,"file":"image-source.d.ts","sourceRoot":"","sources":["../../../src/lib/sources/image-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,8CAA8C;IAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;GAIG;AACH,8BAAsB,WAAW,CAC/B,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CAClD,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IACpD,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;CACtE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/wms",
|
|
3
|
-
"version": "3.4.0
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "Framework-independent loaders for the WMS (Web Map Service) standard",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@babel/runtime": "^7.3.1",
|
|
42
|
-
"@loaders.gl/images": "3.4.0
|
|
43
|
-
"@loaders.gl/loader-utils": "3.4.0
|
|
44
|
-
"@loaders.gl/schema": "3.4.0
|
|
45
|
-
"@loaders.gl/xml": "3.4.0
|
|
42
|
+
"@loaders.gl/images": "3.4.0",
|
|
43
|
+
"@loaders.gl/loader-utils": "3.4.0",
|
|
44
|
+
"@loaders.gl/schema": "3.4.0",
|
|
45
|
+
"@loaders.gl/xml": "3.4.0",
|
|
46
46
|
"@turf/rewind": "^5.1.5",
|
|
47
47
|
"deep-strict-equal": "^0.2.0",
|
|
48
48
|
"lerc": "^4.0.1"
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"xmldom": "0.6.0"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "63854c9c521112108239e9c23fd6accbe6d6e380"
|
|
54
54
|
}
|
package/src/index.ts
CHANGED
|
@@ -49,8 +49,8 @@ export {GMLLoader as _GMLLoader} from './gml-loader';
|
|
|
49
49
|
|
|
50
50
|
// EXPERIMENTAL: DATA SOURCES
|
|
51
51
|
|
|
52
|
-
export type {ImageSourceMetadata} from './lib/sources/image-source';
|
|
53
52
|
export type {ImageType} from '@loaders.gl/images';
|
|
53
|
+
export type {ImageSourceProps, ImageSourceMetadata} from './lib/sources/image-source';
|
|
54
54
|
export {ImageSource} from './lib/sources/image-source';
|
|
55
55
|
|
|
56
56
|
export type {ImageServiceType} from './lib/create-image-source';
|
|
@@ -73,6 +73,9 @@ export type WMSLayer = {
|
|
|
73
73
|
// FeatureListURL
|
|
74
74
|
// DataURL
|
|
75
75
|
|
|
76
|
+
/** any extra dimension such as time */
|
|
77
|
+
dimensions?: WMSDimension[];
|
|
78
|
+
|
|
76
79
|
/** Whether queries can be performed on the layer */
|
|
77
80
|
queryable?: boolean;
|
|
78
81
|
/** `false` if layer has significant no-data areas that the client can display as transparent. */
|
|
@@ -105,6 +108,30 @@ export type WMSBoundingBox = {
|
|
|
105
108
|
yResolution?: number;
|
|
106
109
|
};
|
|
107
110
|
|
|
111
|
+
/**
|
|
112
|
+
* An optional dimension that can be queried using the `name=...` parameter
|
|
113
|
+
* Note that layers that have at least one dimension without `default` value
|
|
114
|
+
* become unrenderable unless the dimension value is supplied to GetMap requests.
|
|
115
|
+
*/
|
|
116
|
+
export type WMSDimension = {
|
|
117
|
+
/** name of dimension, becomes a valid parameter key for this layer */
|
|
118
|
+
name: string;
|
|
119
|
+
/** Textual units for this dimensional axis */
|
|
120
|
+
units: string;
|
|
121
|
+
/** Unit symbol for this dimensional axis */
|
|
122
|
+
unitSymbol?: string;
|
|
123
|
+
/** Default value if no value is supplied. If dimension lacks defaultValue, requests fail if no value is supplied */
|
|
124
|
+
defaultValue?: string;
|
|
125
|
+
/** Can multiple values of the dimension be requested? */
|
|
126
|
+
multipleValues?: boolean;
|
|
127
|
+
/* Will nearest values will be substituted when out of range, if false exact values are required */
|
|
128
|
+
nearestValue?: boolean;
|
|
129
|
+
/** A special value "current" is supported, typically for time dimension */
|
|
130
|
+
current?: boolean;
|
|
131
|
+
/** Text content indicating available values for dimension */
|
|
132
|
+
extent: string;
|
|
133
|
+
};
|
|
134
|
+
|
|
108
135
|
/** Metadata about a supported WMS request */
|
|
109
136
|
export type WMSRequest = {
|
|
110
137
|
/** MIMEtypes that can be returned by this request. */
|
|
@@ -258,6 +285,13 @@ function extractLayer(xmlLayer: any): WMSLayer {
|
|
|
258
285
|
layer.boundingBoxes = boundingBoxes;
|
|
259
286
|
}
|
|
260
287
|
|
|
288
|
+
// Extract dimensions
|
|
289
|
+
const xmlDimensions = getXMLArray(xmlLayer?.Dimension);
|
|
290
|
+
const dimensions = xmlDimensions.map((xml) => extractDimension(xml));
|
|
291
|
+
if (dimensions.length) {
|
|
292
|
+
layer.dimensions = dimensions;
|
|
293
|
+
}
|
|
294
|
+
|
|
261
295
|
if (xmlLayer?.opaque) {
|
|
262
296
|
layer.opaque = getXMLBoolean(xmlLayer?.opaque);
|
|
263
297
|
}
|
|
@@ -339,6 +373,36 @@ function extractWMSBoundingBox(xmlBoundingBox: any): WMSBoundingBox {
|
|
|
339
373
|
return boundingBox;
|
|
340
374
|
}
|
|
341
375
|
|
|
376
|
+
/**
|
|
377
|
+
* Extracts optional WMS Dimension layer field
|
|
378
|
+
* @param xmlDimension
|
|
379
|
+
* @example <Dimension name="time" units="ISO8601" default="2018-01-01" nearestValue="0">2001-01-01/2018-01-01/P1Y</Dimension>
|
|
380
|
+
* @see https://mapserver.org/ogc/wms_dimension.html
|
|
381
|
+
*/
|
|
382
|
+
function extractDimension(xmlDimension: any): WMSDimension {
|
|
383
|
+
const {name, units, value: extent} = xmlDimension;
|
|
384
|
+
|
|
385
|
+
const dimension: WMSDimension = {name, units, extent};
|
|
386
|
+
|
|
387
|
+
if (xmlDimension.unitSymbol) {
|
|
388
|
+
dimension.unitSymbol = xmlDimension.unitSymbol;
|
|
389
|
+
}
|
|
390
|
+
if (xmlDimension.default) {
|
|
391
|
+
dimension.defaultValue = xmlDimension.default;
|
|
392
|
+
}
|
|
393
|
+
if (xmlDimension.multipleValues) {
|
|
394
|
+
dimension.multipleValues = getXMLBoolean(xmlDimension.multipleValues);
|
|
395
|
+
}
|
|
396
|
+
if (xmlDimension.nearestValue) {
|
|
397
|
+
dimension.nearestValue = getXMLBoolean(xmlDimension.nearestValue);
|
|
398
|
+
}
|
|
399
|
+
if (xmlDimension.current) {
|
|
400
|
+
dimension.current = getXMLBoolean(xmlDimension.current);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return dimension;
|
|
404
|
+
}
|
|
405
|
+
|
|
342
406
|
/** Traverse layers and inject missing props from parents */
|
|
343
407
|
// eslint-disable-next-line complexity
|
|
344
408
|
function addInheritedLayerProps(layer: WMSLayer, parent: WMSLayer | null): void {
|
|
@@ -74,7 +74,9 @@ export type ImageSourceProps = DataSourceProps;
|
|
|
74
74
|
* @note
|
|
75
75
|
* - If geospatial, bounding box is expected to be in web mercator coordinates
|
|
76
76
|
*/
|
|
77
|
-
export abstract class ImageSource<
|
|
77
|
+
export abstract class ImageSource<
|
|
78
|
+
PropsT extends ImageSourceProps = ImageSourceProps
|
|
79
|
+
> extends DataSource<PropsT> {
|
|
78
80
|
abstract getMetadata(): Promise<ImageSourceMetadata>;
|
|
79
81
|
abstract getImage(parameters: GetImageParameters): Promise<ImageType>;
|
|
80
82
|
}
|