@honua/react 0.0.20-alpha.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/LICENSE +201 -0
- package/README.md +9 -0
- package/contract/analytics-sources.d.ts +149 -0
- package/contract/analytics-sources.d.ts.map +1 -0
- package/contract/analytics-sources.js +235 -0
- package/contract/edit-session.d.ts +203 -0
- package/contract/edit-session.d.ts.map +1 -0
- package/contract/edit-session.js +760 -0
- package/contract/edit-sketch.d.ts +91 -0
- package/contract/edit-sketch.d.ts.map +1 -0
- package/contract/edit-sketch.js +281 -0
- package/contract/index.d.ts +61 -0
- package/contract/index.d.ts.map +1 -0
- package/contract/index.js +51 -0
- package/contract/jobs.d.ts +149 -0
- package/contract/jobs.d.ts.map +1 -0
- package/contract/jobs.js +40 -0
- package/contract/source.d.ts +423 -0
- package/contract/source.d.ts.map +1 -0
- package/contract/source.js +3802 -0
- package/contract/spatial-aggregation.d.ts +336 -0
- package/contract/spatial-aggregation.d.ts.map +1 -0
- package/contract/spatial-aggregation.js +298 -0
- package/contract/temporal.d.ts +455 -0
- package/contract/temporal.d.ts.map +1 -0
- package/contract/temporal.js +146 -0
- package/contract/tiles.d.ts +370 -0
- package/contract/tiles.d.ts.map +1 -0
- package/contract/tiles.js +519 -0
- package/contract/types.d.ts +665 -0
- package/contract/types.d.ts.map +1 -0
- package/contract/types.js +175 -0
- package/contract/widget-source.d.ts +205 -0
- package/contract/widget-source.d.ts.map +1 -0
- package/contract/widget-source.js +1473 -0
- package/control-plane/client.d.ts +95 -0
- package/control-plane/client.d.ts.map +1 -0
- package/control-plane/client.js +374 -0
- package/control-plane/index.d.ts +18 -0
- package/control-plane/index.d.ts.map +1 -0
- package/control-plane/index.js +14 -0
- package/control-plane/types.d.ts +233 -0
- package/control-plane/types.d.ts.map +1 -0
- package/control-plane/types.js +7 -0
- package/core/batch.d.ts +37 -0
- package/core/batch.d.ts.map +1 -0
- package/core/batch.js +79 -0
- package/core/cache-state.d.ts +79 -0
- package/core/cache-state.d.ts.map +1 -0
- package/core/cache-state.js +87 -0
- package/core/client.d.ts +577 -0
- package/core/client.d.ts.map +1 -0
- package/core/client.js +1664 -0
- package/core/compatibility.d.ts +18 -0
- package/core/compatibility.d.ts.map +1 -0
- package/core/compatibility.js +245 -0
- package/core/errors.d.ts +107 -0
- package/core/errors.d.ts.map +1 -0
- package/core/errors.js +156 -0
- package/core/esri-geojson.d.ts +66 -0
- package/core/esri-geojson.d.ts.map +1 -0
- package/core/esri-geojson.js +363 -0
- package/core/geoservices.d.ts +34 -0
- package/core/geoservices.d.ts.map +1 -0
- package/core/geoservices.js +434 -0
- package/core/grpc-adapter.d.ts +23 -0
- package/core/grpc-adapter.d.ts.map +1 -0
- package/core/grpc-adapter.js +688 -0
- package/core/odata.d.ts +347 -0
- package/core/odata.d.ts.map +1 -0
- package/core/odata.js +913 -0
- package/core/ogc-conformance.d.ts +35 -0
- package/core/ogc-conformance.d.ts.map +1 -0
- package/core/ogc-conformance.js +134 -0
- package/core/ogc-features.d.ts +23 -0
- package/core/ogc-features.d.ts.map +1 -0
- package/core/ogc-features.js +114 -0
- package/core/ogc-maps.d.ts +49 -0
- package/core/ogc-maps.d.ts.map +1 -0
- package/core/ogc-maps.js +126 -0
- package/core/ogc-processes.d.ts +118 -0
- package/core/ogc-processes.d.ts.map +1 -0
- package/core/ogc-processes.js +423 -0
- package/core/ogc-records.d.ts +75 -0
- package/core/ogc-records.d.ts.map +1 -0
- package/core/ogc-records.js +251 -0
- package/core/ogc-tiles.d.ts +125 -0
- package/core/ogc-tiles.d.ts.map +1 -0
- package/core/ogc-tiles.js +183 -0
- package/core/path-utils.d.ts +69 -0
- package/core/path-utils.d.ts.map +1 -0
- package/core/path-utils.js +123 -0
- package/core/pbf-decoder.d.ts +39 -0
- package/core/pbf-decoder.d.ts.map +1 -0
- package/core/pbf-decoder.js +702 -0
- package/core/process-runner.d.ts +104 -0
- package/core/process-runner.d.ts.map +1 -0
- package/core/process-runner.js +315 -0
- package/core/protocol-transport.d.ts +76 -0
- package/core/protocol-transport.d.ts.map +1 -0
- package/core/protocol-transport.js +15 -0
- package/core/query-builder.d.ts +261 -0
- package/core/query-builder.d.ts.map +1 -0
- package/core/query-builder.js +538 -0
- package/core/request-pipeline.d.ts +88 -0
- package/core/request-pipeline.d.ts.map +1 -0
- package/core/request-pipeline.js +273 -0
- package/core/spatial-filter.d.ts +93 -0
- package/core/spatial-filter.d.ts.map +1 -0
- package/core/spatial-filter.js +153 -0
- package/core/stac.d.ts +55 -0
- package/core/stac.d.ts.map +1 -0
- package/core/stac.js +229 -0
- package/core/surfaces.d.ts +527 -0
- package/core/surfaces.d.ts.map +1 -0
- package/core/surfaces.js +1917 -0
- package/core/terrain-elevation.d.ts +114 -0
- package/core/terrain-elevation.d.ts.map +1 -0
- package/core/terrain-elevation.js +150 -0
- package/core/types.d.ts +1355 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +13 -0
- package/core/wfs-capabilities.d.ts +143 -0
- package/core/wfs-capabilities.d.ts.map +1 -0
- package/core/wfs-capabilities.js +478 -0
- package/core/wfs-filter.d.ts +118 -0
- package/core/wfs-filter.d.ts.map +1 -0
- package/core/wfs-filter.js +634 -0
- package/core/wfs.d.ts +219 -0
- package/core/wfs.d.ts.map +1 -0
- package/core/wfs.js +406 -0
- package/core/wire-shared.d.ts +32 -0
- package/core/wire-shared.d.ts.map +1 -0
- package/core/wire-shared.js +76 -0
- package/core/wms-axis.d.ts +36 -0
- package/core/wms-axis.d.ts.map +1 -0
- package/core/wms-axis.js +73 -0
- package/core/wms-capabilities.d.ts +110 -0
- package/core/wms-capabilities.d.ts.map +1 -0
- package/core/wms-capabilities.js +559 -0
- package/core/wms-types.d.ts +128 -0
- package/core/wms-types.d.ts.map +1 -0
- package/core/wms-types.js +32 -0
- package/core/wms.d.ts +144 -0
- package/core/wms.d.ts.map +1 -0
- package/core/wms.js +338 -0
- package/core/wmts-capabilities.d.ts +82 -0
- package/core/wmts-capabilities.d.ts.map +1 -0
- package/core/wmts-capabilities.js +402 -0
- package/core/wmts.d.ts +103 -0
- package/core/wmts.d.ts.map +1 -0
- package/core/wmts.js +332 -0
- package/core/xml-text.d.ts +20 -0
- package/core/xml-text.d.ts.map +1 -0
- package/core/xml-text.js +85 -0
- package/esri-compat/basemap-gallery.d.ts +38 -0
- package/esri-compat/basemap-gallery.d.ts.map +1 -0
- package/esri-compat/basemap-gallery.js +159 -0
- package/esri-compat/basemap-layer-list.d.ts +35 -0
- package/esri-compat/basemap-layer-list.d.ts.map +1 -0
- package/esri-compat/basemap-layer-list.js +139 -0
- package/esri-compat/basemap.d.ts +32 -0
- package/esri-compat/basemap.d.ts.map +1 -0
- package/esri-compat/basemap.js +84 -0
- package/esri-compat/bookmarks.d.ts +36 -0
- package/esri-compat/bookmarks.d.ts.map +1 -0
- package/esri-compat/bookmarks.js +108 -0
- package/esri-compat/class-breaks-renderer.d.ts +50 -0
- package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
- package/esri-compat/class-breaks-renderer.js +164 -0
- package/esri-compat/color.d.ts +22 -0
- package/esri-compat/color.d.ts.map +1 -0
- package/esri-compat/color.js +106 -0
- package/esri-compat/controls.d.ts +174 -0
- package/esri-compat/controls.d.ts.map +1 -0
- package/esri-compat/controls.js +479 -0
- package/esri-compat/coordinate-conversion.d.ts +41 -0
- package/esri-compat/coordinate-conversion.d.ts.map +1 -0
- package/esri-compat/coordinate-conversion.js +125 -0
- package/esri-compat/directions.d.ts +45 -0
- package/esri-compat/directions.d.ts.map +1 -0
- package/esri-compat/directions.js +123 -0
- package/esri-compat/editor.d.ts +47 -0
- package/esri-compat/editor.d.ts.map +1 -0
- package/esri-compat/editor.js +170 -0
- package/esri-compat/esri-config.d.ts +16 -0
- package/esri-compat/esri-config.d.ts.map +1 -0
- package/esri-compat/esri-config.js +23 -0
- package/esri-compat/esri-request.d.ts +17 -0
- package/esri-compat/esri-request.d.ts.map +1 -0
- package/esri-compat/esri-request.js +127 -0
- package/esri-compat/event-bus.d.ts +106 -0
- package/esri-compat/event-bus.d.ts.map +1 -0
- package/esri-compat/event-bus.js +90 -0
- package/esri-compat/expand.d.ts +36 -0
- package/esri-compat/expand.d.ts.map +1 -0
- package/esri-compat/expand.js +97 -0
- package/esri-compat/extent.d.ts +43 -0
- package/esri-compat/extent.d.ts.map +1 -0
- package/esri-compat/extent.js +140 -0
- package/esri-compat/feature-filter.d.ts +55 -0
- package/esri-compat/feature-filter.d.ts.map +1 -0
- package/esri-compat/feature-filter.js +109 -0
- package/esri-compat/feature-form.d.ts +64 -0
- package/esri-compat/feature-form.d.ts.map +1 -0
- package/esri-compat/feature-form.js +137 -0
- package/esri-compat/feature-layer.d.ts +173 -0
- package/esri-compat/feature-layer.d.ts.map +1 -0
- package/esri-compat/feature-layer.js +661 -0
- package/esri-compat/feature-set.d.ts +32 -0
- package/esri-compat/feature-set.d.ts.map +1 -0
- package/esri-compat/feature-set.js +80 -0
- package/esri-compat/feature-table.d.ts +141 -0
- package/esri-compat/feature-table.d.ts.map +1 -0
- package/esri-compat/feature-table.js +500 -0
- package/esri-compat/feature-templates.d.ts +41 -0
- package/esri-compat/feature-templates.d.ts.map +1 -0
- package/esri-compat/feature-templates.js +97 -0
- package/esri-compat/feature.d.ts +33 -0
- package/esri-compat/feature.d.ts.map +1 -0
- package/esri-compat/feature.js +83 -0
- package/esri-compat/geojson-layer.d.ts +86 -0
- package/esri-compat/geojson-layer.d.ts.map +1 -0
- package/esri-compat/geojson-layer.js +191 -0
- package/esri-compat/geometry-engine.d.ts +107 -0
- package/esri-compat/geometry-engine.d.ts.map +1 -0
- package/esri-compat/geometry-engine.js +266 -0
- package/esri-compat/graphic.d.ts +46 -0
- package/esri-compat/graphic.d.ts.map +1 -0
- package/esri-compat/graphic.js +103 -0
- package/esri-compat/graphics-layer.d.ts +49 -0
- package/esri-compat/graphics-layer.d.ts.map +1 -0
- package/esri-compat/graphics-layer.js +185 -0
- package/esri-compat/group-layer.d.ts +48 -0
- package/esri-compat/group-layer.d.ts.map +1 -0
- package/esri-compat/group-layer.js +212 -0
- package/esri-compat/identify.d.ts +71 -0
- package/esri-compat/identify.d.ts.map +1 -0
- package/esri-compat/identify.js +299 -0
- package/esri-compat/identity-manager.d.ts +31 -0
- package/esri-compat/identity-manager.d.ts.map +1 -0
- package/esri-compat/identity-manager.js +115 -0
- package/esri-compat/imagery-layer.d.ts +78 -0
- package/esri-compat/imagery-layer.d.ts.map +1 -0
- package/esri-compat/imagery-layer.js +167 -0
- package/esri-compat/label-class.d.ts +31 -0
- package/esri-compat/label-class.d.ts.map +1 -0
- package/esri-compat/label-class.js +102 -0
- package/esri-compat/layer-list.d.ts +77 -0
- package/esri-compat/layer-list.d.ts.map +1 -0
- package/esri-compat/layer-list.js +342 -0
- package/esri-compat/legend.d.ts +53 -0
- package/esri-compat/legend.d.ts.map +1 -0
- package/esri-compat/legend.js +254 -0
- package/esri-compat/map-image-layer.d.ts +162 -0
- package/esri-compat/map-image-layer.d.ts.map +1 -0
- package/esri-compat/map-image-layer.js +709 -0
- package/esri-compat/map-view.d.ts +323 -0
- package/esri-compat/map-view.d.ts.map +1 -0
- package/esri-compat/map-view.js +1175 -0
- package/esri-compat/map.d.ts +47 -0
- package/esri-compat/map.d.ts.map +1 -0
- package/esri-compat/map.js +209 -0
- package/esri-compat/measurement-2d.d.ts +61 -0
- package/esri-compat/measurement-2d.d.ts.map +1 -0
- package/esri-compat/measurement-2d.js +184 -0
- package/esri-compat/measurement.d.ts +45 -0
- package/esri-compat/measurement.d.ts.map +1 -0
- package/esri-compat/measurement.js +193 -0
- package/esri-compat/oauth-info.d.ts +35 -0
- package/esri-compat/oauth-info.d.ts.map +1 -0
- package/esri-compat/oauth-info.js +115 -0
- package/esri-compat/picture-marker-symbol.d.ts +35 -0
- package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
- package/esri-compat/picture-marker-symbol.js +126 -0
- package/esri-compat/point.d.ts +31 -0
- package/esri-compat/point.d.ts.map +1 -0
- package/esri-compat/point.js +102 -0
- package/esri-compat/polygon.d.ts +31 -0
- package/esri-compat/polygon.d.ts.map +1 -0
- package/esri-compat/polygon.js +107 -0
- package/esri-compat/polyline.d.ts +31 -0
- package/esri-compat/polyline.d.ts.map +1 -0
- package/esri-compat/polyline.js +107 -0
- package/esri-compat/popup-template.d.ts +55 -0
- package/esri-compat/popup-template.d.ts.map +1 -0
- package/esri-compat/popup-template.js +128 -0
- package/esri-compat/popup.d.ts +54 -0
- package/esri-compat/popup.d.ts.map +1 -0
- package/esri-compat/popup.js +312 -0
- package/esri-compat/print.d.ts +47 -0
- package/esri-compat/print.d.ts.map +1 -0
- package/esri-compat/print.js +105 -0
- package/esri-compat/query.d.ts +58 -0
- package/esri-compat/query.d.ts.map +1 -0
- package/esri-compat/query.js +128 -0
- package/esri-compat/reactive-utils.d.ts +24 -0
- package/esri-compat/reactive-utils.d.ts.map +1 -0
- package/esri-compat/reactive-utils.js +193 -0
- package/esri-compat/request.d.ts +41 -0
- package/esri-compat/request.d.ts.map +1 -0
- package/esri-compat/request.js +253 -0
- package/esri-compat/route-layer.d.ts +59 -0
- package/esri-compat/route-layer.d.ts.map +1 -0
- package/esri-compat/route-layer.js +223 -0
- package/esri-compat/route-task.d.ts +88 -0
- package/esri-compat/route-task.d.ts.map +1 -0
- package/esri-compat/route-task.js +225 -0
- package/esri-compat/scene-view.d.ts +41 -0
- package/esri-compat/scene-view.d.ts.map +1 -0
- package/esri-compat/scene-view.js +68 -0
- package/esri-compat/search.d.ts +112 -0
- package/esri-compat/search.d.ts.map +1 -0
- package/esri-compat/search.js +820 -0
- package/esri-compat/simple-fill-symbol.d.ts +27 -0
- package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
- package/esri-compat/simple-fill-symbol.js +85 -0
- package/esri-compat/simple-line-symbol.d.ts +27 -0
- package/esri-compat/simple-line-symbol.d.ts.map +1 -0
- package/esri-compat/simple-line-symbol.js +85 -0
- package/esri-compat/simple-marker-symbol.d.ts +29 -0
- package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
- package/esri-compat/simple-marker-symbol.js +92 -0
- package/esri-compat/simple-renderer.d.ts +29 -0
- package/esri-compat/simple-renderer.d.ts.map +1 -0
- package/esri-compat/simple-renderer.js +92 -0
- package/esri-compat/sketch.d.ts +64 -0
- package/esri-compat/sketch.d.ts.map +1 -0
- package/esri-compat/sketch.js +227 -0
- package/esri-compat/spatial-reference.d.ts +31 -0
- package/esri-compat/spatial-reference.d.ts.map +1 -0
- package/esri-compat/spatial-reference.js +102 -0
- package/esri-compat/swipe.d.ts +34 -0
- package/esri-compat/swipe.d.ts.map +1 -0
- package/esri-compat/swipe.js +93 -0
- package/esri-compat/table-list.d.ts +36 -0
- package/esri-compat/table-list.d.ts.map +1 -0
- package/esri-compat/table-list.js +126 -0
- package/esri-compat/text-symbol.d.ts +37 -0
- package/esri-compat/text-symbol.d.ts.map +1 -0
- package/esri-compat/text-symbol.js +123 -0
- package/esri-compat/tile-layer.d.ts +52 -0
- package/esri-compat/tile-layer.d.ts.map +1 -0
- package/esri-compat/tile-layer.js +168 -0
- package/esri-compat/time-slider.d.ts +70 -0
- package/esri-compat/time-slider.d.ts.map +1 -0
- package/esri-compat/time-slider.js +208 -0
- package/esri-compat/track.d.ts +51 -0
- package/esri-compat/track.d.ts.map +1 -0
- package/esri-compat/track.js +174 -0
- package/esri-compat/unique-value-renderer.d.ts +41 -0
- package/esri-compat/unique-value-renderer.d.ts.map +1 -0
- package/esri-compat/unique-value-renderer.js +127 -0
- package/esri-compat/url.d.ts +13 -0
- package/esri-compat/url.d.ts.map +1 -0
- package/esri-compat/url.js +68 -0
- package/esri-compat/vector-tile-layer.d.ts +47 -0
- package/esri-compat/vector-tile-layer.d.ts.map +1 -0
- package/esri-compat/vector-tile-layer.js +130 -0
- package/esri-compat/web-map.d.ts +14 -0
- package/esri-compat/web-map.d.ts.map +1 -0
- package/esri-compat/web-map.js +24 -0
- package/esri-compat/wfs-layer.d.ts +64 -0
- package/esri-compat/wfs-layer.d.ts.map +1 -0
- package/esri-compat/wfs-layer.js +145 -0
- package/esri-compat/wms-layer.d.ts +76 -0
- package/esri-compat/wms-layer.d.ts.map +1 -0
- package/esri-compat/wms-layer.js +157 -0
- package/exploration/context.d.ts +25 -0
- package/exploration/context.d.ts.map +1 -0
- package/exploration/context.js +396 -0
- package/exploration/index.d.ts +27 -0
- package/exploration/index.d.ts.map +1 -0
- package/exploration/index.js +24 -0
- package/exploration/presets.d.ts +27 -0
- package/exploration/presets.d.ts.map +1 -0
- package/exploration/presets.js +114 -0
- package/exploration/reducer.d.ts +23 -0
- package/exploration/reducer.d.ts.map +1 -0
- package/exploration/reducer.js +332 -0
- package/exploration/selection.d.ts +25 -0
- package/exploration/selection.d.ts.map +1 -0
- package/exploration/selection.js +34 -0
- package/exploration/selectors.d.ts +56 -0
- package/exploration/selectors.d.ts.map +1 -0
- package/exploration/selectors.js +110 -0
- package/exploration/types.d.ts +294 -0
- package/exploration/types.d.ts.map +1 -0
- package/exploration/types.js +33 -0
- package/expr/expression.d.ts +457 -0
- package/expr/expression.d.ts.map +1 -0
- package/expr/expression.js +663 -0
- package/expr/index.d.ts +32 -0
- package/expr/index.d.ts.map +1 -0
- package/expr/index.js +30 -0
- package/gen/honua/v1/feature_service_pb.d.ts +918 -0
- package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
- package/gen/honua/v1/feature_service_pb.js +375 -0
- package/generated-app/errors.d.ts +41 -0
- package/generated-app/errors.d.ts.map +1 -0
- package/generated-app/errors.js +41 -0
- package/generated-app/index.d.ts +17 -0
- package/generated-app/index.d.ts.map +1 -0
- package/generated-app/index.js +12 -0
- package/generated-app/manifest.d.ts +183 -0
- package/generated-app/manifest.d.ts.map +1 -0
- package/generated-app/manifest.js +14 -0
- package/generated-app/projection.d.ts +44 -0
- package/generated-app/projection.d.ts.map +1 -0
- package/generated-app/projection.js +234 -0
- package/generated-app/runtime.d.ts +215 -0
- package/generated-app/runtime.d.ts.map +1 -0
- package/generated-app/runtime.js +1196 -0
- package/interactions/detail-model.d.ts +54 -0
- package/interactions/detail-model.d.ts.map +1 -0
- package/interactions/detail-model.js +105 -0
- package/interactions/exploration-bindings.d.ts +120 -0
- package/interactions/exploration-bindings.d.ts.map +1 -0
- package/interactions/exploration-bindings.js +218 -0
- package/interactions/feature-state.d.ts +144 -0
- package/interactions/feature-state.d.ts.map +1 -0
- package/interactions/feature-state.js +169 -0
- package/interactions/hit-test.d.ts +112 -0
- package/interactions/hit-test.d.ts.map +1 -0
- package/interactions/hit-test.js +291 -0
- package/interactions/index.d.ts +31 -0
- package/interactions/index.d.ts.map +1 -0
- package/interactions/index.js +24 -0
- package/interactions/share-state.d.ts +36 -0
- package/interactions/share-state.d.ts.map +1 -0
- package/interactions/share-state.js +123 -0
- package/map/feature-service-adapter.d.ts +138 -0
- package/map/feature-service-adapter.d.ts.map +1 -0
- package/map/feature-service-adapter.js +279 -0
- package/map/honua-map.d.ts +203 -0
- package/map/honua-map.d.ts.map +1 -0
- package/map/honua-map.js +347 -0
- package/map/index.d.ts +27 -0
- package/map/index.d.ts.map +1 -0
- package/map/index.js +22 -0
- package/map/maplibre-target.d.ts +103 -0
- package/map/maplibre-target.d.ts.map +1 -0
- package/map/maplibre-target.js +164 -0
- package/map/webmap-maplibre.d.ts +60 -0
- package/map/webmap-maplibre.d.ts.map +1 -0
- package/map/webmap-maplibre.js +212 -0
- package/package.json +37 -0
- package/react/context.d.ts +32 -0
- package/react/context.d.ts.map +1 -0
- package/react/context.js +19 -0
- package/react/honua-layer.d.ts +35 -0
- package/react/honua-layer.d.ts.map +1 -0
- package/react/honua-layer.js +47 -0
- package/react/honua-map.d.ts +83 -0
- package/react/honua-map.d.ts.map +1 -0
- package/react/honua-map.js +109 -0
- package/react/honua-popup.d.ts +26 -0
- package/react/honua-popup.d.ts.map +1 -0
- package/react/honua-popup.js +34 -0
- package/react/hooks.d.ts +127 -0
- package/react/hooks.d.ts.map +1 -0
- package/react/hooks.js +206 -0
- package/react/index.d.ts +42 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +34 -0
- package/react/provider.d.ts +36 -0
- package/react/provider.d.ts.map +1 -0
- package/react/provider.js +35 -0
- package/react/query-cache.d.ts +76 -0
- package/react/query-cache.d.ts.map +1 -0
- package/react/query-cache.js +188 -0
- package/runtime/diff.d.ts +31 -0
- package/runtime/diff.d.ts.map +1 -0
- package/runtime/diff.js +143 -0
- package/runtime/errors.d.ts +40 -0
- package/runtime/errors.d.ts.map +1 -0
- package/runtime/errors.js +35 -0
- package/runtime/index.d.ts +59 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +43 -0
- package/runtime/legend.d.ts +23 -0
- package/runtime/legend.d.ts.map +1 -0
- package/runtime/legend.js +38 -0
- package/runtime/load-package.d.ts +125 -0
- package/runtime/load-package.d.ts.map +1 -0
- package/runtime/load-package.js +264 -0
- package/runtime/map-package-fetch.d.ts +107 -0
- package/runtime/map-package-fetch.d.ts.map +1 -0
- package/runtime/map-package-fetch.js +336 -0
- package/runtime/map-package-realtime.d.ts +169 -0
- package/runtime/map-package-realtime.d.ts.map +1 -0
- package/runtime/map-package-realtime.js +350 -0
- package/runtime/map-package-validation.d.ts +43 -0
- package/runtime/map-package-validation.d.ts.map +1 -0
- package/runtime/map-package-validation.js +269 -0
- package/runtime/map-package-watch.d.ts +78 -0
- package/runtime/map-package-watch.d.ts.map +1 -0
- package/runtime/map-package-watch.js +695 -0
- package/runtime/map-package.d.ts +167 -0
- package/runtime/map-package.d.ts.map +1 -0
- package/runtime/map-package.js +15 -0
- package/runtime/ogc-styles.d.ts +110 -0
- package/runtime/ogc-styles.d.ts.map +1 -0
- package/runtime/ogc-styles.js +195 -0
- package/runtime/popups.d.ts +62 -0
- package/runtime/popups.d.ts.map +1 -0
- package/runtime/popups.js +95 -0
- package/runtime/query-tiles.d.ts +217 -0
- package/runtime/query-tiles.d.ts.map +1 -0
- package/runtime/query-tiles.js +801 -0
- package/runtime/runtime.d.ts +243 -0
- package/runtime/runtime.d.ts.map +1 -0
- package/runtime/runtime.js +1147 -0
- package/runtime/source-bridge.d.ts +99 -0
- package/runtime/source-bridge.d.ts.map +1 -0
- package/runtime/source-bridge.js +401 -0
- package/runtime/style-compose.d.ts +46 -0
- package/runtime/style-compose.d.ts.map +1 -0
- package/runtime/style-compose.js +144 -0
- package/runtime/style-interactions.d.ts +141 -0
- package/runtime/style-interactions.d.ts.map +1 -0
- package/runtime/style-interactions.js +574 -0
- package/runtime/style-spec-validation.d.ts +23 -0
- package/runtime/style-spec-validation.d.ts.map +1 -0
- package/runtime/style-spec-validation.js +357 -0
- package/studio/capability-manifest.d.ts +285 -0
- package/studio/capability-manifest.d.ts.map +1 -0
- package/studio/capability-manifest.js +59 -0
- package/studio/chart-spec.d.ts +85 -0
- package/studio/chart-spec.d.ts.map +1 -0
- package/studio/chart-spec.js +106 -0
- package/studio/index.d.ts +34 -0
- package/studio/index.d.ts.map +1 -0
- package/studio/index.js +27 -0
- package/studio/provenance.d.ts +131 -0
- package/studio/provenance.d.ts.map +1 -0
- package/studio/provenance.js +39 -0
- package/studio/publish.d.ts +64 -0
- package/studio/publish.d.ts.map +1 -0
- package/studio/publish.js +13 -0
- package/studio/types.d.ts +278 -0
- package/studio/types.d.ts.map +1 -0
- package/studio/types.js +71 -0
- package/studio/validate.d.ts +45 -0
- package/studio/validate.d.ts.map +1 -0
- package/studio/validate.js +255 -0
- package/studio/validation.d.ts +112 -0
- package/studio/validation.d.ts.map +1 -0
- package/studio/validation.js +42 -0
- package/style/factory.d.ts +30 -0
- package/style/factory.d.ts.map +1 -0
- package/style/factory.js +61 -0
- package/style/index.d.ts +25 -0
- package/style/index.d.ts.map +1 -0
- package/style/index.js +24 -0
- package/style/specification.d.ts +203 -0
- package/style/specification.d.ts.map +1 -0
- package/style/specification.js +178 -0
- package/style/wms-wmts-resolvers.d.ts +38 -0
- package/style/wms-wmts-resolvers.d.ts.map +1 -0
- package/style/wms-wmts-resolvers.js +92 -0
- package/webmap/contract.d.ts +28 -0
- package/webmap/contract.d.ts.map +1 -0
- package/webmap/contract.js +130 -0
- package/webmap/convert-basemap.d.ts +17 -0
- package/webmap/convert-basemap.d.ts.map +1 -0
- package/webmap/convert-basemap.js +78 -0
- package/webmap/convert-extent.d.ts +17 -0
- package/webmap/convert-extent.d.ts.map +1 -0
- package/webmap/convert-extent.js +114 -0
- package/webmap/convert-label.d.ts +13 -0
- package/webmap/convert-label.d.ts.map +1 -0
- package/webmap/convert-label.js +125 -0
- package/webmap/convert-layer.d.ts +22 -0
- package/webmap/convert-layer.d.ts.map +1 -0
- package/webmap/convert-layer.js +181 -0
- package/webmap/convert-popup.d.ts +34 -0
- package/webmap/convert-popup.d.ts.map +1 -0
- package/webmap/convert-popup.js +68 -0
- package/webmap/convert-renderer.d.ts +17 -0
- package/webmap/convert-renderer.d.ts.map +1 -0
- package/webmap/convert-renderer.js +161 -0
- package/webmap/convert-symbol.d.ts +17 -0
- package/webmap/convert-symbol.d.ts.map +1 -0
- package/webmap/convert-symbol.js +122 -0
- package/webmap/index.d.ts +44 -0
- package/webmap/index.d.ts.map +1 -0
- package/webmap/index.js +33 -0
- package/webmap/parse.d.ts +25 -0
- package/webmap/parse.d.ts.map +1 -0
- package/webmap/parse.js +83 -0
- package/webmap/types.d.ts +264 -0
- package/webmap/types.d.ts.map +1 -0
- package/webmap/types.js +13 -0
- package/webmap/warnings.d.ts +30 -0
- package/webmap/warnings.d.ts.map +1 -0
- package/webmap/warnings.js +37 -0
|
@@ -0,0 +1,665 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared client contract — canonical nouns that all protocol adapters
|
|
3
|
+
* (`HonuaFeatureLayer`, `HonuaMapService`, `HonuaOgcFeatureCollection`, plus
|
|
4
|
+
* future WFS / WMS / OData adapters) must speak. The contract is documented
|
|
5
|
+
* in `docs/shared-client-contract.md`; capability coverage by protocol is
|
|
6
|
+
* documented in `docs/protocol-capability-matrix.md`.
|
|
7
|
+
*
|
|
8
|
+
* The runtime classes in `src/core/surfaces.ts` are not replaced — they
|
|
9
|
+
* remain the implementation. The contract here wraps their request /
|
|
10
|
+
* response shapes (`QueryFeaturesRequest`, `OgcItemsRequest`,
|
|
11
|
+
* `HonuaTypedQueryResponse`, `HonuaOgcFeatureCollectionResponse`) so that
|
|
12
|
+
* cross-protocol code can speak one vocabulary without re-litigating the
|
|
13
|
+
* surface in every downstream ticket.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import type { HonuaClient } from "../core/client.js";
|
|
18
|
+
import type { SpatialFilter } from "../core/spatial-filter.js";
|
|
19
|
+
import type { HonuaExtent, HonuaFieldInfo, HonuaServerCompatibilityFeature, HonuaTypedFeature } from "../core/types.js";
|
|
20
|
+
/**
|
|
21
|
+
* Canonical protocol identifiers. Spatial / tabular protocols served
|
|
22
|
+
* behind a `Source` come first, with the shared canonical gRPC
|
|
23
|
+
* FeatureService transport leading the list. Render-only OGC tile and map
|
|
24
|
+
* adapters (reachable through `Source.protocol()`), then OGC Records and
|
|
25
|
+
* STAC catalog/search adapters, the WFS / WMS / WMTS / OData adapters, and
|
|
26
|
+
* finally the
|
|
27
|
+
* MapLibre-native sources composed alongside protocol sources by
|
|
28
|
+
* `HonuaMap` and `MapBinding`.
|
|
29
|
+
*
|
|
30
|
+
* The five GeoServices identifiers correspond to the five Esri service
|
|
31
|
+
* types Honua Server publishes: FeatureServer, MapServer, ImageServer,
|
|
32
|
+
* Geometry Service, and GP Service. Geometry and GP services do not host
|
|
33
|
+
* features, so their `Source` instances expose only the typed `protocol()`
|
|
34
|
+
* escape hatch — every cross-protocol request shape goes through one
|
|
35
|
+
* vocabulary even when the underlying protocol is utility-only.
|
|
36
|
+
*/
|
|
37
|
+
export type Protocol = "grpc" | "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "stac" | "wfs" | "wms" | "wmts" | "odata" | "maplibre-vector" | "maplibre-raster" | "maplibre-geojson";
|
|
38
|
+
/** All protocol identifiers, in declaration order. */
|
|
39
|
+
export declare const PROTOCOLS: readonly Protocol[];
|
|
40
|
+
/**
|
|
41
|
+
* Coarse-grained protocol capabilities negotiated across the canonical
|
|
42
|
+
* `Source` methods and the typed `Source.adapter()` escape hatch. This
|
|
43
|
+
* ticket intentionally standardizes only the query-family subset on
|
|
44
|
+
* `Source`; capabilities such as `render`, `tiles`, `sql`, and
|
|
45
|
+
* `queryObjectIds` stay in the shared registry so downstream adapter
|
|
46
|
+
* tickets can reuse one vocabulary without widening the top-level API.
|
|
47
|
+
*
|
|
48
|
+
* Keep this list aligned with `docs/protocol-capability-matrix.md`.
|
|
49
|
+
*/
|
|
50
|
+
export type Capability = "query" | "queryAggregate" | "spatialAggregate" | "queryExtent" | "queryObjectIds" | "queryRelated" | "applyEdits" | "attachments" | "render" | "tiles" | "sql" | "stream" | "pbf" | "connect" | "image" | "geometry" | "geoprocess" | "processes";
|
|
51
|
+
/** All capability identifiers, in declaration order. */
|
|
52
|
+
export declare const CAPABILITIES: readonly Capability[];
|
|
53
|
+
/**
|
|
54
|
+
* Per-source capability registry. Set membership = first-party support
|
|
55
|
+
* (the adapter can fulfill the capability without client-side fallback).
|
|
56
|
+
* Capabilities that require a client-side fallback should be omitted from
|
|
57
|
+
* the set; callers either swap to a different protocol or opt into a
|
|
58
|
+
* `degraded: true` policy at the `ExplorationContext` level.
|
|
59
|
+
*/
|
|
60
|
+
export type Capabilities = ReadonlySet<Capability>;
|
|
61
|
+
/**
|
|
62
|
+
* Build a `Capabilities` set from a readonly array. Provided as a tiny
|
|
63
|
+
* helper so callers do not need to import `Set` literals at every adapter
|
|
64
|
+
* site.
|
|
65
|
+
*/
|
|
66
|
+
export declare function capabilities(values: readonly Capability[]): Capabilities;
|
|
67
|
+
/**
|
|
68
|
+
* Compute the **weakest** (intersected) capability set across one or
|
|
69
|
+
* more participating sources / descriptors. This is the canonical helper
|
|
70
|
+
* for cross-protocol capability negotiation in a mixed-source
|
|
71
|
+
* composition (`#22`): a composition supports a capability only when
|
|
72
|
+
* **every** participating source supports it.
|
|
73
|
+
*
|
|
74
|
+
* Promising a capability the weakest source lacks is the worst possible
|
|
75
|
+
* mixed-source failure mode (silent wrong result), so consumers should
|
|
76
|
+
* always intersect before fanning a query out to a heterogeneous set.
|
|
77
|
+
*
|
|
78
|
+
* Accepts anything with a `capabilities` field (live `Source` instances
|
|
79
|
+
* or plain `SourceDescriptor`s). Empty input returns an empty set.
|
|
80
|
+
*
|
|
81
|
+
* For per-operation reasoning across a heterogeneous mix, partition
|
|
82
|
+
* sources first (e.g., feature sources only) and intersect on the
|
|
83
|
+
* partition; intersecting a render-only source with a feature source
|
|
84
|
+
* yields the empty set, which is honest but rarely actionable on its
|
|
85
|
+
* own.
|
|
86
|
+
*/
|
|
87
|
+
export declare function intersectCapabilities(participants: ReadonlyArray<{
|
|
88
|
+
readonly capabilities: Capabilities;
|
|
89
|
+
}>): Capabilities;
|
|
90
|
+
/**
|
|
91
|
+
* Companion of {@link intersectCapabilities}: the union (best-case)
|
|
92
|
+
* capability set across participants. Useful for documenting what
|
|
93
|
+
* capability fan-out under `degraded` policy could reach if every
|
|
94
|
+
* source were queried independently — never use this to gate a single
|
|
95
|
+
* fan-out call (that needs the intersection).
|
|
96
|
+
*/
|
|
97
|
+
export declare function unionCapabilities(participants: ReadonlyArray<{
|
|
98
|
+
readonly capabilities: Capabilities;
|
|
99
|
+
}>): Capabilities;
|
|
100
|
+
/**
|
|
101
|
+
* Default capability sets keyed by protocol. Callers that need a narrower
|
|
102
|
+
* surface for a specific source must intersect the default set themselves
|
|
103
|
+
* and pass the result on `SourceDescriptor.capabilities`; the built-in
|
|
104
|
+
* adapter constructors do not read service metadata today.
|
|
105
|
+
*
|
|
106
|
+
* The matrix here mirrors the one in `docs/protocol-capability-matrix.md`.
|
|
107
|
+
* Update both together.
|
|
108
|
+
*/
|
|
109
|
+
export declare const PROTOCOL_DEFAULT_CAPABILITIES: Readonly<Record<Protocol, Capabilities>>;
|
|
110
|
+
export type SourceId = string;
|
|
111
|
+
export type DatasetId = string;
|
|
112
|
+
export type FeatureId = number | string;
|
|
113
|
+
/**
|
|
114
|
+
* Protocol-specific endpoint information. Field-compatible with the server
|
|
115
|
+
* `SourceBinding.locator` shape documented in
|
|
116
|
+
* `docs/source-binding-alignment.md` (a Honua SDK `SourceDescriptor` may be
|
|
117
|
+
* exported into a server `SourceBinding` without re-shaping the locator).
|
|
118
|
+
*/
|
|
119
|
+
export interface SourceLocator {
|
|
120
|
+
/** Fully qualified URL to the protocol endpoint. */
|
|
121
|
+
url: string;
|
|
122
|
+
/** GeoServices service identifier (FeatureServer / MapServer / ImageServer / Geometry / GP). */
|
|
123
|
+
serviceId?: string;
|
|
124
|
+
/** GeoServices layer identifier within the service. */
|
|
125
|
+
layerId?: number;
|
|
126
|
+
/** OGC API Features / Tiles / Maps collection identifier, or Records catalog id. */
|
|
127
|
+
collectionId?: string | number;
|
|
128
|
+
/** OGC API Tiles tile-matrix-set identifier (e.g. `WebMercatorQuad`). */
|
|
129
|
+
tileMatrixSetId?: string;
|
|
130
|
+
/** OGC API Maps / Tiles style identifier for styled-output endpoints. */
|
|
131
|
+
styleId?: string;
|
|
132
|
+
/** WFS / WMS type-name identifier. */
|
|
133
|
+
typeName?: string;
|
|
134
|
+
/**
|
|
135
|
+
* WFS feature namespace URI bound to the prefix in `typeName`. Required for
|
|
136
|
+
* WFS-T `applyEdits` when `typeName` carries a namespace prefix
|
|
137
|
+
* (e.g. `parcels:lot`) — the prefix is declared on the
|
|
138
|
+
* `<wfs:Transaction>` root with this URI so the per-handle feature
|
|
139
|
+
* element resolves to the schema element the server expects. The
|
|
140
|
+
* namespace URI typically appears on the `<wfs:WFS_Capabilities>` root
|
|
141
|
+
* (`xmlns:<prefix>=…`); record it on the descriptor so applyEdits does
|
|
142
|
+
* not have to fetch capabilities synchronously.
|
|
143
|
+
*/
|
|
144
|
+
featureNamespace?: string;
|
|
145
|
+
/**
|
|
146
|
+
* WFS coordinate reference system for the layer's native geometry (e.g.
|
|
147
|
+
* `EPSG:4326`, a numeric WKID, or an OGC URN like
|
|
148
|
+
* `urn:ogc:def:crs:EPSG::4326`). When set, WFS-T `applyEdits` emits it as the
|
|
149
|
+
* `srsName` attribute on `<wfs:Insert>` / `<wfs:Update>` geometries. Servers
|
|
150
|
+
* that require `srsName` on transaction geometry, or whose native CRS differs
|
|
151
|
+
* from the unqualified default, otherwise reject or mis-place the written
|
|
152
|
+
* feature.
|
|
153
|
+
*/
|
|
154
|
+
srsName?: string | number;
|
|
155
|
+
/** OData entity-set identifier. */
|
|
156
|
+
entitySet?: string;
|
|
157
|
+
/** GP Service task identifier (for `geoservices-gp-service`). */
|
|
158
|
+
taskName?: string;
|
|
159
|
+
}
|
|
160
|
+
/** Optional schema description; mirrors `HonuaLayerMetadata.fields`. */
|
|
161
|
+
export interface SourceSchema {
|
|
162
|
+
fields?: readonly HonuaFieldInfo[];
|
|
163
|
+
primaryKey?: string;
|
|
164
|
+
/** Hint that the source's records carry temporal validity. */
|
|
165
|
+
timeField?: string;
|
|
166
|
+
}
|
|
167
|
+
export interface SourceFreshnessContract {
|
|
168
|
+
readonly mode: "snapshot" | "watermark" | "cursor" | "delta" | "realtime";
|
|
169
|
+
readonly ttlMs?: number;
|
|
170
|
+
readonly watermarkField?: string;
|
|
171
|
+
readonly cursorField?: string;
|
|
172
|
+
readonly updatedAtField?: string;
|
|
173
|
+
}
|
|
174
|
+
export interface SourceHistogramCapabilityMetadata {
|
|
175
|
+
readonly fields?: readonly string[];
|
|
176
|
+
readonly maxBins?: number;
|
|
177
|
+
}
|
|
178
|
+
export interface SourceTimeSeriesCapabilityMetadata {
|
|
179
|
+
readonly fields?: readonly string[];
|
|
180
|
+
readonly intervals?: readonly AggregationTimeIntervalUnit[];
|
|
181
|
+
}
|
|
182
|
+
export interface SourceAnalyticsCapabilities {
|
|
183
|
+
readonly histogram?: boolean | SourceHistogramCapabilityMetadata;
|
|
184
|
+
readonly timeSeries?: boolean | SourceTimeSeriesCapabilityMetadata;
|
|
185
|
+
readonly freshness?: SourceFreshnessContract;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Canonical descriptor for one protocol-backed data source. Carries
|
|
189
|
+
* everything required to construct a `Source`, negotiate capabilities, and
|
|
190
|
+
* project the source onto a server `SourceBinding`.
|
|
191
|
+
*/
|
|
192
|
+
export interface SourceDescriptor {
|
|
193
|
+
id: SourceId;
|
|
194
|
+
protocol: Protocol;
|
|
195
|
+
locator: SourceLocator;
|
|
196
|
+
capabilities: Capabilities;
|
|
197
|
+
schema?: SourceSchema;
|
|
198
|
+
analytics?: SourceAnalyticsCapabilities;
|
|
199
|
+
attribution?: string;
|
|
200
|
+
}
|
|
201
|
+
export interface PaginationSpec {
|
|
202
|
+
/** Zero-based offset of the first record. */
|
|
203
|
+
offset?: number;
|
|
204
|
+
/** Maximum records per page. Implementation may clamp. */
|
|
205
|
+
limit?: number;
|
|
206
|
+
}
|
|
207
|
+
export interface SortSpec {
|
|
208
|
+
field: string;
|
|
209
|
+
direction?: "asc" | "desc";
|
|
210
|
+
}
|
|
211
|
+
export type AggregationFn = "count" | "sum" | "avg" | "min" | "max" | "stddev" | "var";
|
|
212
|
+
export type AggregationTimeIntervalUnit = "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year";
|
|
213
|
+
export interface AggregationHistogramBucketAliases {
|
|
214
|
+
/** Bucket index or id emitted by a server histogram response. */
|
|
215
|
+
bucket?: string;
|
|
216
|
+
/** Inclusive lower bucket boundary. */
|
|
217
|
+
min?: string;
|
|
218
|
+
/** Upper bucket boundary. */
|
|
219
|
+
max?: string;
|
|
220
|
+
/** Optional display label emitted by the server. */
|
|
221
|
+
label?: string;
|
|
222
|
+
}
|
|
223
|
+
export interface AggregationHistogramBucketSpec {
|
|
224
|
+
readonly field: string;
|
|
225
|
+
readonly bins: number;
|
|
226
|
+
readonly min?: number;
|
|
227
|
+
readonly max?: number;
|
|
228
|
+
readonly boundary?: "inclusive-exclusive" | "inclusive";
|
|
229
|
+
readonly aliases?: AggregationHistogramBucketAliases;
|
|
230
|
+
}
|
|
231
|
+
export interface AggregationTimeIntervalSpec {
|
|
232
|
+
readonly unit: AggregationTimeIntervalUnit;
|
|
233
|
+
readonly step?: number;
|
|
234
|
+
readonly timezone?: string;
|
|
235
|
+
}
|
|
236
|
+
export interface AggregationTimeSeriesAliases {
|
|
237
|
+
/** Inclusive interval start emitted by a server time-series response. */
|
|
238
|
+
start?: string;
|
|
239
|
+
/** Exclusive interval end emitted by a server time-series response. */
|
|
240
|
+
end?: string;
|
|
241
|
+
/** Optional display label emitted by the server. */
|
|
242
|
+
label?: string;
|
|
243
|
+
}
|
|
244
|
+
export interface AggregationTimeSeriesSpec {
|
|
245
|
+
readonly field: string;
|
|
246
|
+
readonly interval: AggregationTimeIntervalSpec;
|
|
247
|
+
readonly start?: string | number;
|
|
248
|
+
readonly end?: string | number;
|
|
249
|
+
readonly aliases?: AggregationTimeSeriesAliases;
|
|
250
|
+
}
|
|
251
|
+
export interface AggregationSpec {
|
|
252
|
+
/** Optional grouping fields. Empty / omitted = single-row aggregate. */
|
|
253
|
+
groupBy?: readonly string[];
|
|
254
|
+
/** Aggregation expressions. */
|
|
255
|
+
metrics: readonly AggregationMetric[];
|
|
256
|
+
/** Optional numeric bucketization intent for server-side histograms. */
|
|
257
|
+
histogram?: AggregationHistogramBucketSpec;
|
|
258
|
+
/** Optional temporal interval intent for server-side time-series widgets. */
|
|
259
|
+
timeSeries?: AggregationTimeSeriesSpec;
|
|
260
|
+
}
|
|
261
|
+
export interface AggregationMetric {
|
|
262
|
+
fn: AggregationFn;
|
|
263
|
+
field: string;
|
|
264
|
+
alias?: string;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Protocol-neutral query intent. `Source.query()` adapters translate this
|
|
268
|
+
* into a `QueryFeaturesRequest`, `MapLayerQueryRequest`, `OgcItemsRequest`,
|
|
269
|
+
* or the corresponding WFS / OData request.
|
|
270
|
+
*
|
|
271
|
+
* `spatialFilter` is a `SpatialFilter` produced by the spatial-filter builders
|
|
272
|
+
* (`envelope`, `point`, `polygon`, `buffer`, …), not an inline literal.
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```ts
|
|
276
|
+
* import { envelope } from "@honua/sdk-js";
|
|
277
|
+
*
|
|
278
|
+
* const query: Query = {
|
|
279
|
+
* where: "STATUS = 'ACTIVE'",
|
|
280
|
+
* outFields: ["OBJECTID", "NAME"],
|
|
281
|
+
* spatialFilter: envelope(-158.5, 21.2, -157.6, 21.7),
|
|
282
|
+
* orderBy: [{ field: "REPORTED_AT", direction: "desc" }],
|
|
283
|
+
* pagination: { limit: 500 },
|
|
284
|
+
* returnGeometry: true,
|
|
285
|
+
* };
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
export interface Query<_T = Record<string, unknown>> {
|
|
289
|
+
/** Logical filter expression. SQL-92 WHERE for GeoServices, CQL2 for OGC. */
|
|
290
|
+
where?: string;
|
|
291
|
+
/** Spatial constraint. Reuses `core/spatial-filter.ts`. */
|
|
292
|
+
spatialFilter?: SpatialFilter;
|
|
293
|
+
/** Subset of fields to return. Adapters default to all when omitted. */
|
|
294
|
+
outFields?: readonly string[];
|
|
295
|
+
/** Sort order. */
|
|
296
|
+
orderBy?: readonly SortSpec[];
|
|
297
|
+
/** Pagination. */
|
|
298
|
+
pagination?: PaginationSpec;
|
|
299
|
+
/** Aggregation request; if present the `Result` contains aggregate rows. */
|
|
300
|
+
aggregation?: AggregationSpec;
|
|
301
|
+
/** Whether the result envelope should include geometry. */
|
|
302
|
+
returnGeometry?: boolean;
|
|
303
|
+
/** Output spatial reference (WKID, "auto", or full reference object). */
|
|
304
|
+
outSr?: string | number;
|
|
305
|
+
/** Caller-supplied cancellation. */
|
|
306
|
+
signal?: AbortSignal;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Reasons that a `Source` may have fulfilled a `Query` with a degraded
|
|
310
|
+
* strategy. Surfaced in `Result.degraded`. Downstream views should check
|
|
311
|
+
* this field before reporting numbers as authoritative.
|
|
312
|
+
*
|
|
313
|
+
* `sourceId` is populated by mixed-source consumers (`#22`) so a fan-out
|
|
314
|
+
* across multiple sources can attribute each degradation back to the
|
|
315
|
+
* exact source that triggered it without parsing the human-readable
|
|
316
|
+
* `reason`.
|
|
317
|
+
*/
|
|
318
|
+
export interface DegradedReason {
|
|
319
|
+
/** The capability that was missing or partially supported. */
|
|
320
|
+
capability: Capability;
|
|
321
|
+
/** Human-readable explanation. */
|
|
322
|
+
reason: string;
|
|
323
|
+
/** Which protocol the degradation was relative to. */
|
|
324
|
+
protocol?: Protocol;
|
|
325
|
+
/**
|
|
326
|
+
* Optional id of the source that emitted this degradation. Set by the
|
|
327
|
+
* adapter when the degradation can be attributed to a specific source
|
|
328
|
+
* (the common case once mixed-source compositions are in play).
|
|
329
|
+
*/
|
|
330
|
+
sourceId?: SourceId;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Unified query result envelope. Wraps (does not replace)
|
|
334
|
+
* `HonuaTypedQueryResponse<T>` and `HonuaOgcFeatureCollectionResponse`;
|
|
335
|
+
* adapters fill the optional fields that their underlying response carries
|
|
336
|
+
* and leave the rest undefined.
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* ```ts
|
|
340
|
+
* const result: Result<{ name: string }> = await source.query({ where: "1=1" });
|
|
341
|
+
* for (const feature of result.features) {
|
|
342
|
+
* console.log(feature.attributes.name, feature.geometry?.type);
|
|
343
|
+
* }
|
|
344
|
+
* if (result.exceededTransferLimit) {
|
|
345
|
+
* // re-issue with pagination.offset or use source.queryAll() to drain
|
|
346
|
+
* }
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
export interface Result<T = Record<string, unknown>> {
|
|
350
|
+
/** Returned features. Empty array (not undefined) when nothing matched. */
|
|
351
|
+
features: readonly HonuaTypedFeature<T>[];
|
|
352
|
+
/** True if the server signalled that more records exist than were returned. */
|
|
353
|
+
exceededTransferLimit: boolean;
|
|
354
|
+
/** Total count when known (counts request, OGC `numberMatched`). */
|
|
355
|
+
totalCount?: number;
|
|
356
|
+
/** Aggregated rows when the query carried an `aggregation` spec. */
|
|
357
|
+
aggregateRows?: ReadonlyArray<Record<string, unknown>>;
|
|
358
|
+
/** Spatial extent of the returned features (extent-only query response). */
|
|
359
|
+
extent?: HonuaExtent;
|
|
360
|
+
/** Field schema as returned by the protocol, when the response carried one. */
|
|
361
|
+
fields?: readonly HonuaFieldInfo[];
|
|
362
|
+
/** Degradation flags emitted by the source while serving this query. */
|
|
363
|
+
degraded?: readonly DegradedReason[];
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Canonical feature shape used by edit envelopes. Mirrors the canonical
|
|
367
|
+
* `HonuaTypedFeature<T>` (attributes + optional geometry) so the same value
|
|
368
|
+
* an adapter returns from `query()` may be fed back into `applyEdits()`.
|
|
369
|
+
*/
|
|
370
|
+
export interface CanonicalFeature<T = Record<string, unknown>> {
|
|
371
|
+
/** Optional row identity. Required for updates and deletes. */
|
|
372
|
+
id?: FeatureId;
|
|
373
|
+
attributes: T;
|
|
374
|
+
geometry?: Record<string, unknown> | null;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Single-source edit envelope. Adapters that do not advertise `applyEdits`
|
|
378
|
+
* throw `HonuaCapabilityNotSupportedError` rather than dropping records.
|
|
379
|
+
*/
|
|
380
|
+
export interface EditEnvelope<T = Record<string, unknown>> {
|
|
381
|
+
adds?: ReadonlyArray<CanonicalFeature<T>>;
|
|
382
|
+
updates?: ReadonlyArray<CanonicalFeature<T>>;
|
|
383
|
+
deletes?: ReadonlyArray<FeatureId>;
|
|
384
|
+
/** When true (and the protocol honors it) the edit batch is atomic. */
|
|
385
|
+
rollbackOnFailure?: boolean;
|
|
386
|
+
/** Caller-supplied cancellation. */
|
|
387
|
+
signal?: AbortSignal;
|
|
388
|
+
}
|
|
389
|
+
/** Per-feature edit outcome. */
|
|
390
|
+
export interface EditOutcome {
|
|
391
|
+
id?: FeatureId;
|
|
392
|
+
success: boolean;
|
|
393
|
+
error?: {
|
|
394
|
+
code: number;
|
|
395
|
+
description: string;
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
/** Canonical edit response. Buckets mirror `EditEnvelope`. */
|
|
399
|
+
export interface EditResult {
|
|
400
|
+
added: ReadonlyArray<EditOutcome>;
|
|
401
|
+
updated: ReadonlyArray<EditOutcome>;
|
|
402
|
+
deleted: ReadonlyArray<EditOutcome>;
|
|
403
|
+
/** Degradation flags for partial-success or fallback paths. */
|
|
404
|
+
degraded?: readonly DegradedReason[];
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Canonical related-records request. The `relationshipId` is protocol-specific
|
|
408
|
+
* (GeoServices uses numeric ids; OData uses navigation property names) so
|
|
409
|
+
* adapters that lack relationships throw `HonuaCapabilityNotSupportedError`
|
|
410
|
+
* rather than silently dropping the request.
|
|
411
|
+
*/
|
|
412
|
+
export interface RelatedQuery {
|
|
413
|
+
relationshipId: number;
|
|
414
|
+
/** Source feature ids whose related records to return. */
|
|
415
|
+
sourceIds: ReadonlyArray<FeatureId>;
|
|
416
|
+
where?: string;
|
|
417
|
+
outFields?: readonly string[];
|
|
418
|
+
returnGeometry?: boolean;
|
|
419
|
+
signal?: AbortSignal;
|
|
420
|
+
}
|
|
421
|
+
/** One source feature plus its related records. */
|
|
422
|
+
export interface RelatedGroup<T = Record<string, unknown>> {
|
|
423
|
+
sourceId: FeatureId;
|
|
424
|
+
features: ReadonlyArray<HonuaTypedFeature<T>>;
|
|
425
|
+
}
|
|
426
|
+
/** Canonical related-records response. */
|
|
427
|
+
export interface RelatedResult<T = Record<string, unknown>> {
|
|
428
|
+
groups: ReadonlyArray<RelatedGroup<T>>;
|
|
429
|
+
fields?: readonly HonuaFieldInfo[];
|
|
430
|
+
degraded?: readonly DegradedReason[];
|
|
431
|
+
}
|
|
432
|
+
/** Metadata for a single attachment on a feature. */
|
|
433
|
+
export interface AttachmentInfo {
|
|
434
|
+
id: FeatureId;
|
|
435
|
+
parentId: FeatureId;
|
|
436
|
+
name?: string;
|
|
437
|
+
contentType?: string;
|
|
438
|
+
size?: number;
|
|
439
|
+
}
|
|
440
|
+
/** Canonical attachment-query envelope. */
|
|
441
|
+
export interface AttachmentQuery {
|
|
442
|
+
/** Optional caller-supplied parent ids. Empty = all matching `where`. */
|
|
443
|
+
parentIds?: ReadonlyArray<FeatureId>;
|
|
444
|
+
where?: string;
|
|
445
|
+
signal?: AbortSignal;
|
|
446
|
+
}
|
|
447
|
+
/** Group of attachments for a single parent feature. */
|
|
448
|
+
export interface AttachmentGroup {
|
|
449
|
+
parentId: FeatureId;
|
|
450
|
+
attachments: ReadonlyArray<AttachmentInfo>;
|
|
451
|
+
}
|
|
452
|
+
/** Add-attachment request. `attachment` accepts `Blob`, `File`, or string. */
|
|
453
|
+
export interface AttachmentAdd {
|
|
454
|
+
parentId: FeatureId;
|
|
455
|
+
attachment: Blob | File | string;
|
|
456
|
+
name?: string;
|
|
457
|
+
contentType?: string;
|
|
458
|
+
signal?: AbortSignal;
|
|
459
|
+
}
|
|
460
|
+
/** Update an existing attachment in place. */
|
|
461
|
+
export interface AttachmentUpdate extends AttachmentAdd {
|
|
462
|
+
attachmentId: FeatureId;
|
|
463
|
+
}
|
|
464
|
+
/** Delete one or more attachments from a parent feature. */
|
|
465
|
+
export interface AttachmentDelete {
|
|
466
|
+
parentId: FeatureId;
|
|
467
|
+
attachmentIds: ReadonlyArray<FeatureId>;
|
|
468
|
+
signal?: AbortSignal;
|
|
469
|
+
}
|
|
470
|
+
/** Outcome envelope for add / update / delete operations. */
|
|
471
|
+
export interface AttachmentEditOutcome {
|
|
472
|
+
parentId?: FeatureId;
|
|
473
|
+
attachmentId?: FeatureId;
|
|
474
|
+
success: boolean;
|
|
475
|
+
error?: {
|
|
476
|
+
code: number;
|
|
477
|
+
description: string;
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Namespace returned by `Source.attachments`. Adapters that do not advertise
|
|
482
|
+
* the `attachments` capability throw `HonuaCapabilityNotSupportedError`
|
|
483
|
+
* from each method rather than ship a `null`-ish placeholder.
|
|
484
|
+
*/
|
|
485
|
+
export interface AttachmentApi {
|
|
486
|
+
query(request?: AttachmentQuery): Promise<ReadonlyArray<AttachmentGroup>>;
|
|
487
|
+
list(parentId: FeatureId, options?: {
|
|
488
|
+
signal?: AbortSignal;
|
|
489
|
+
}): Promise<ReadonlyArray<AttachmentInfo>>;
|
|
490
|
+
add(request: AttachmentAdd): Promise<AttachmentEditOutcome>;
|
|
491
|
+
update(request: AttachmentUpdate): Promise<AttachmentEditOutcome>;
|
|
492
|
+
delete(request: AttachmentDelete): Promise<ReadonlyArray<AttachmentEditOutcome>>;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Formalizes the `HonuaMap.addSource` / `addLayer` binding. A `MapBinding`
|
|
496
|
+
* names the source that backs one or more rendering layers and carries an
|
|
497
|
+
* optional partial style block. `MapBinding` arrays serialize to
|
|
498
|
+
* `MapPackage.sourceBindings` + `MapPackage.mapSpec` on the server side.
|
|
499
|
+
*/
|
|
500
|
+
export interface MapBinding {
|
|
501
|
+
/** ID of the `Source` whose data backs the layers. */
|
|
502
|
+
sourceId: SourceId;
|
|
503
|
+
/** Layer ids consuming the source. */
|
|
504
|
+
layerIds: readonly string[];
|
|
505
|
+
/** Style overrides; merged with the source-driven defaults. */
|
|
506
|
+
style?: Record<string, unknown>;
|
|
507
|
+
/** Optional minimum zoom for visibility (forwarded to layer specs). */
|
|
508
|
+
minzoom?: number;
|
|
509
|
+
/** Optional maximum zoom for visibility (forwarded to layer specs). */
|
|
510
|
+
maxzoom?: number;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Discriminated union of the runtime adapter classes that implement
|
|
514
|
+
* `Source`. `Source.protocol()` (and the legacy `Source.adapter()` alias)
|
|
515
|
+
* narrows the typed escape hatch to one of these without forcing callers
|
|
516
|
+
* to cast through `unknown`.
|
|
517
|
+
*/
|
|
518
|
+
export type AdapterKind = "geoservices-feature-service" | "geoservices-map-service" | "geoservices-map-layer" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "ogc-processes" | "stac" | "wfs" | "wms" | "wms-layer" | "wmts" | "wmts-layer" | "wmts-tileset" | "odata";
|
|
519
|
+
/**
|
|
520
|
+
* Compile-time map from `AdapterKind` → underlying class instance. Adapter
|
|
521
|
+
* tickets extend this map by augmenting the `AdapterTypeMap` interface in
|
|
522
|
+
* their own module so `Source.protocol("wfs")` returns the right type
|
|
523
|
+
* without a cast. The interface ships empty by design — built-in adapters
|
|
524
|
+
* augment it from `src/contract/source.ts`.
|
|
525
|
+
*/
|
|
526
|
+
export interface AdapterTypeMap {
|
|
527
|
+
}
|
|
528
|
+
export type AdapterFor<K extends AdapterKind> = K extends keyof AdapterTypeMap ? AdapterTypeMap[K] : unknown;
|
|
529
|
+
/**
|
|
530
|
+
* Protocol-neutral data-source handle. Adapters returned by
|
|
531
|
+
* `Dataset.source()` implement this interface directly; the existing
|
|
532
|
+
* `HonuaFeatureLayer`, `HonuaMapService`, and `HonuaOgcFeatureCollection`
|
|
533
|
+
* classes are reachable through the typed `protocol()` escape hatch
|
|
534
|
+
* (alias `adapter()`).
|
|
535
|
+
*
|
|
536
|
+
* The canonical surface covers the query family plus edit / related /
|
|
537
|
+
* attachment operations. Operations that are protocol-specific (raw
|
|
538
|
+
* `where`, raw `outFields`, GeoServices `calculate` / `validateSQL` /
|
|
539
|
+
* `replica` etc.) live behind `protocol()` so the top-level API stays
|
|
540
|
+
* free of ArcGIS-typed structures.
|
|
541
|
+
*
|
|
542
|
+
* @example
|
|
543
|
+
* ```ts
|
|
544
|
+
* const parcels = dataset.source<{ NAME: string }>("parcels")!;
|
|
545
|
+
* const result = await parcels.queryAll({ where: "STATUS = 'ACTIVE'" });
|
|
546
|
+
* for await (const page of parcels.stream({ where: "1=1" })) {
|
|
547
|
+
* console.log(page.features.length);
|
|
548
|
+
* }
|
|
549
|
+
* const fs = parcels.protocol("geoservices-feature-service");
|
|
550
|
+
* await fs?.calculate({ where: "1=1", calcExpression: { field: "AREA", sqlExpression: "ST_Area(SHAPE)" } });
|
|
551
|
+
* ```
|
|
552
|
+
*/
|
|
553
|
+
export interface Source<T = Record<string, unknown>> {
|
|
554
|
+
readonly descriptor: SourceDescriptor;
|
|
555
|
+
readonly capabilities: Capabilities;
|
|
556
|
+
/** Single-page query. */
|
|
557
|
+
query(request?: Query<T>): Promise<Result<T>>;
|
|
558
|
+
/** Drain all pages into a single result. Honors `Query.pagination.limit`. */
|
|
559
|
+
queryAll(request?: Query<T>): Promise<Result<T>>;
|
|
560
|
+
/** Server-side aggregation; falls back to client-side under `degraded` policy. */
|
|
561
|
+
queryAggregate(request: Query<T> & {
|
|
562
|
+
aggregation: AggregationSpec;
|
|
563
|
+
}): Promise<Result<T>>;
|
|
564
|
+
/** Extent of the records that match `request`. */
|
|
565
|
+
queryExtent(request?: Query<T>): Promise<{
|
|
566
|
+
extent: HonuaExtent | null;
|
|
567
|
+
count?: number;
|
|
568
|
+
}>;
|
|
569
|
+
/** Async-generator paging stream. */
|
|
570
|
+
stream(request?: Query<T>): AsyncGenerator<Result<T>, void, undefined>;
|
|
571
|
+
/** Object ids of the records matching `request`. */
|
|
572
|
+
queryObjectIds(request?: Query<T>): Promise<readonly FeatureId[]>;
|
|
573
|
+
/** Apply add / update / delete edits to the source. */
|
|
574
|
+
applyEdits(envelope: EditEnvelope<T>): Promise<EditResult>;
|
|
575
|
+
/** Pull related records for the addressed source ids. */
|
|
576
|
+
queryRelated<R = Record<string, unknown>>(request: RelatedQuery): Promise<RelatedResult<R>>;
|
|
577
|
+
/** Attachment operations namespace; methods throw if `attachments` is missing. */
|
|
578
|
+
readonly attachments: AttachmentApi;
|
|
579
|
+
/**
|
|
580
|
+
* Typed escape hatch to the underlying protocol-specific class. Use this
|
|
581
|
+
* when a caller needs raw protocol semantics (e.g. raw `where`, raw
|
|
582
|
+
* `outFields`, GeoServices `calculate` / `validateSQL` / replica /
|
|
583
|
+
* `queryBins` / `getEstimates`) that the canonical surface intentionally
|
|
584
|
+
* does not expose.
|
|
585
|
+
*/
|
|
586
|
+
protocol<K extends AdapterKind>(kind: K): AdapterFor<K> | undefined;
|
|
587
|
+
/**
|
|
588
|
+
* Legacy alias of {@link Source.protocol}. Retained for callers written
|
|
589
|
+
* against the original ticket-23 surface; new code should prefer
|
|
590
|
+
* `protocol()` because the name reflects the design intent of
|
|
591
|
+
* protocol-namespaced escape hatches.
|
|
592
|
+
*/
|
|
593
|
+
adapter<K extends AdapterKind>(kind: K): AdapterFor<K> | undefined;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Logical grouping of one or more sources sharing identity and (optionally)
|
|
597
|
+
* a field schema. `Dataset` is the canonical entry point: `createDataset`
|
|
598
|
+
* gates the compatibility check and caches it per `HonuaClient`.
|
|
599
|
+
*
|
|
600
|
+
* @example
|
|
601
|
+
* ```ts
|
|
602
|
+
* const dataset = createDataset({ id: "parcels", client, sources: [...] });
|
|
603
|
+
* if (!(await dataset.isCompatible())) throw new Error("server too old");
|
|
604
|
+
* for (const id of dataset.sourceIds()) {
|
|
605
|
+
* console.log(id, dataset.source(id)?.capabilities);
|
|
606
|
+
* }
|
|
607
|
+
* ```
|
|
608
|
+
*/
|
|
609
|
+
export interface Dataset {
|
|
610
|
+
readonly id: DatasetId;
|
|
611
|
+
readonly client: HonuaClient;
|
|
612
|
+
readonly sourceDescriptors: ReadonlyArray<SourceDescriptor>;
|
|
613
|
+
/** Get a `Source` handle by id. Returns `undefined` if not registered. */
|
|
614
|
+
source<T = Record<string, unknown>>(id: SourceId): Source<T> | undefined;
|
|
615
|
+
/** Iterate registered source ids, in registration order. */
|
|
616
|
+
sourceIds(): readonly SourceId[];
|
|
617
|
+
/**
|
|
618
|
+
* Returns `true` when `client.checkCompatibility()` reported a supported
|
|
619
|
+
* server. The dataset caches the negotiation per `HonuaClient` instance.
|
|
620
|
+
*/
|
|
621
|
+
isCompatible(): Promise<boolean>;
|
|
622
|
+
/** Server-feature gate that mirrors `HonuaClient.supportsFeature`. */
|
|
623
|
+
supportsFeature(feature: HonuaServerCompatibilityFeature): Promise<boolean>;
|
|
624
|
+
}
|
|
625
|
+
export type CapabilityPolicy = "strict" | "degraded";
|
|
626
|
+
/**
|
|
627
|
+
* Context passed to a `SourceResolver`. Carries the active `HonuaClient`
|
|
628
|
+
* and the dataset's capability policy so adapters can react to either.
|
|
629
|
+
*/
|
|
630
|
+
export interface ResolveSourceContext {
|
|
631
|
+
readonly client: HonuaClient;
|
|
632
|
+
readonly capabilityPolicy: CapabilityPolicy;
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Adapter factory invoked for descriptors the built-in resolvers cannot
|
|
636
|
+
* handle (today: `wfs`, `wms`, MapLibre-native sources). Downstream
|
|
637
|
+
* tickets register their adapters by passing one through
|
|
638
|
+
* `CreateDatasetOptions.resolveSource`.
|
|
639
|
+
*/
|
|
640
|
+
export type SourceResolver = (descriptor: SourceDescriptor, ctx: ResolveSourceContext) => Source | undefined;
|
|
641
|
+
export interface CreateDatasetOptions {
|
|
642
|
+
id: DatasetId;
|
|
643
|
+
client: HonuaClient;
|
|
644
|
+
/** Source descriptors; `Source` instances are constructed lazily. */
|
|
645
|
+
sources: ReadonlyArray<SourceDescriptor>;
|
|
646
|
+
/**
|
|
647
|
+
* Capability policy. `"strict"` (default) refuses to construct a `Source`
|
|
648
|
+
* whose required capability is missing. `"degraded"` allows client-side
|
|
649
|
+
* fallback paths that report via `Result.degraded`.
|
|
650
|
+
*/
|
|
651
|
+
capabilityPolicy?: CapabilityPolicy;
|
|
652
|
+
/**
|
|
653
|
+
* When `true`, skips the `client.checkCompatibility()` gate. Reserved for
|
|
654
|
+
* test fixtures and conformance suites; production code should leave this
|
|
655
|
+
* unset.
|
|
656
|
+
*/
|
|
657
|
+
skipCompatibilityCheck?: boolean;
|
|
658
|
+
/**
|
|
659
|
+
* Resolver invoked for descriptors the built-in resolvers do not know how
|
|
660
|
+
* to handle. Built-in coverage includes GeoServices, OGC API
|
|
661
|
+
* Features/Tiles/Maps/Records, STAC, WFS, WMS, WMTS, and OData.
|
|
662
|
+
*/
|
|
663
|
+
resolveSource?: SourceResolver;
|
|
664
|
+
}
|
|
665
|
+
//# sourceMappingURL=types.d.ts.map
|