@honua/app-platform 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 +11 -0
- package/app/index.d.ts +164 -0
- package/app/index.d.ts.map +1 -0
- package/app/index.js +424 -0
- package/app-controller/controller.d.ts +425 -0
- package/app-controller/controller.d.ts.map +1 -0
- package/app-controller/controller.js +1173 -0
- package/app-controller/index.d.ts +14 -0
- package/app-controller/index.d.ts.map +1 -0
- package/app-controller/index.js +12 -0
- package/app-workspace/index.d.ts +421 -0
- package/app-workspace/index.d.ts.map +1 -0
- package/app-workspace/index.js +722 -0
- package/collaboration/client.d.ts +40 -0
- package/collaboration/client.d.ts.map +1 -0
- package/collaboration/client.js +299 -0
- package/collaboration/errors.d.ts +15 -0
- package/collaboration/errors.d.ts.map +1 -0
- package/collaboration/errors.js +17 -0
- package/collaboration/fixture.d.ts +41 -0
- package/collaboration/fixture.d.ts.map +1 -0
- package/collaboration/fixture.js +362 -0
- package/collaboration/index.d.ts +18 -0
- package/collaboration/index.d.ts.map +1 -0
- package/collaboration/index.js +14 -0
- package/collaboration/types.d.ts +240 -0
- package/collaboration/types.d.ts.map +1 -0
- package/collaboration/types.js +1 -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 +63 -0
- package/contract/index.d.ts.map +1 -0
- package/contract/index.js +52 -0
- package/contract/jobs.d.ts +149 -0
- package/contract/jobs.d.ts.map +1 -0
- package/contract/jobs.js +40 -0
- package/contract/pmtiles.d.ts +162 -0
- package/contract/pmtiles.d.ts.map +1 -0
- package/contract/pmtiles.js +155 -0
- package/contract/source.d.ts +447 -0
- package/contract/source.d.ts.map +1 -0
- package/contract/source.js +3909 -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 +694 -0
- package/contract/types.d.ts.map +1 -0
- package/contract/types.js +183 -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/controls/basemap-style-binding.d.ts +54 -0
- package/controls/basemap-style-binding.d.ts.map +1 -0
- package/controls/basemap-style-binding.js +199 -0
- package/controls/basemap-switcher.d.ts +95 -0
- package/controls/basemap-switcher.d.ts.map +1 -0
- package/controls/basemap-switcher.js +379 -0
- package/controls/element-utils.d.ts +48 -0
- package/controls/element-utils.d.ts.map +1 -0
- package/controls/element-utils.js +78 -0
- package/controls/index.d.ts +33 -0
- package/controls/index.d.ts.map +1 -0
- package/controls/index.js +30 -0
- package/controls/layer-list.d.ts +98 -0
- package/controls/layer-list.d.ts.map +1 -0
- package/controls/layer-list.js +375 -0
- package/controls/legend-derive.d.ts +53 -0
- package/controls/legend-derive.d.ts.map +1 -0
- package/controls/legend-derive.js +196 -0
- package/controls/legend.d.ts +104 -0
- package/controls/legend.d.ts.map +1 -0
- package/controls/legend.js +381 -0
- package/controls/swipe-control.d.ts +80 -0
- package/controls/swipe-control.d.ts.map +1 -0
- package/controls/swipe-control.js +368 -0
- package/controls/types.d.ts +227 -0
- package/controls/types.d.ts.map +1 -0
- package/controls/types.js +11 -0
- package/core/auth/client-credentials-provider.d.ts +51 -0
- package/core/auth/client-credentials-provider.d.ts.map +1 -0
- package/core/auth/client-credentials-provider.js +115 -0
- package/core/auth/credential-store.d.ts +52 -0
- package/core/auth/credential-store.d.ts.map +1 -0
- package/core/auth/credential-store.js +82 -0
- package/core/auth/index.d.ts +23 -0
- package/core/auth/index.d.ts.map +1 -0
- package/core/auth/index.js +20 -0
- package/core/auth/oauth2-provider.d.ts +114 -0
- package/core/auth/oauth2-provider.d.ts.map +1 -0
- package/core/auth/oauth2-provider.js +408 -0
- package/core/auth/pkce.d.ts +25 -0
- package/core/auth/pkce.d.ts.map +1 -0
- package/core/auth/pkce.js +46 -0
- package/core/auth/static-providers.d.ts +20 -0
- package/core/auth/static-providers.d.ts.map +1 -0
- package/core/auth/static-providers.js +26 -0
- package/core/auth/token-endpoint.d.ts +40 -0
- package/core/auth/token-endpoint.d.ts.map +1 -0
- package/core/auth/token-endpoint.js +133 -0
- package/core/auth/types.d.ts +144 -0
- package/core/auth/types.d.ts.map +1 -0
- package/core/auth/types.js +8 -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 +607 -0
- package/core/client.d.ts.map +1 -0
- package/core/client.js +1716 -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 +139 -0
- package/core/errors.d.ts.map +1 -0
- package/core/errors.js +176 -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/geoparquet-sql.d.ts +162 -0
- package/core/geoparquet-sql.d.ts.map +1 -0
- package/core/geoparquet-sql.js +333 -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-endpoint-layout.d.ts +70 -0
- package/core/ogc-endpoint-layout.d.ts.map +1 -0
- package/core/ogc-endpoint-layout.js +173 -0
- package/core/ogc-features.d.ts +23 -0
- package/core/ogc-features.d.ts.map +1 -0
- package/core/ogc-features.js +129 -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-static.d.ts +51 -0
- package/core/stac-static.d.ts.map +1 -0
- package/core/stac-static.js +195 -0
- package/core/stac.d.ts +67 -0
- package/core/stac.d.ts.map +1 -0
- package/core/stac.js +259 -0
- package/core/surfaces.d.ts +540 -0
- package/core/surfaces.d.ts.map +1 -0
- package/core/surfaces.js +1964 -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 +1404 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +13 -0
- package/core/wfs-capabilities.d.ts +153 -0
- package/core/wfs-capabilities.d.ts.map +1 -0
- package/core/wfs-capabilities.js +490 -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 +232 -0
- package/core/wfs.d.ts.map +1 -0
- package/core/wfs.js +426 -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 +74 -0
- package/esri-compat/identity-manager.d.ts.map +1 -0
- package/esri-compat/identity-manager.js +245 -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 +50 -0
- package/esri-compat/oauth-info.d.ts.map +1 -0
- package/esri-compat/oauth-info.js +142 -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/filter-registry/index.d.ts +145 -0
- package/filter-registry/index.d.ts.map +1 -0
- package/filter-registry/index.js +531 -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/geocoding/index.d.ts +106 -0
- package/geocoding/index.d.ts.map +1 -0
- package/geocoding/index.js +278 -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/operate/client.d.ts +94 -0
- package/operate/client.d.ts.map +1 -0
- package/operate/client.js +361 -0
- package/operate/index.d.ts +22 -0
- package/operate/index.d.ts.map +1 -0
- package/operate/index.js +19 -0
- package/operate/types.d.ts +397 -0
- package/operate/types.d.ts.map +1 -0
- package/operate/types.js +17 -0
- package/operator/client.d.ts +60 -0
- package/operator/client.d.ts.map +1 -0
- package/operator/client.js +20 -0
- package/operator/controllers/approval.d.ts +52 -0
- package/operator/controllers/approval.d.ts.map +1 -0
- package/operator/controllers/approval.js +123 -0
- package/operator/controllers/base.d.ts +27 -0
- package/operator/controllers/base.d.ts.map +1 -0
- package/operator/controllers/base.js +53 -0
- package/operator/controllers/builder-workspace.d.ts +55 -0
- package/operator/controllers/builder-workspace.d.ts.map +1 -0
- package/operator/controllers/builder-workspace.js +108 -0
- package/operator/controllers/chat.d.ts +61 -0
- package/operator/controllers/chat.d.ts.map +1 -0
- package/operator/controllers/chat.js +154 -0
- package/operator/controllers/clarification.d.ts +52 -0
- package/operator/controllers/clarification.d.ts.map +1 -0
- package/operator/controllers/clarification.js +121 -0
- package/operator/controllers/execution.d.ts +60 -0
- package/operator/controllers/execution.d.ts.map +1 -0
- package/operator/controllers/execution.js +286 -0
- package/operator/controllers/index.d.ts +23 -0
- package/operator/controllers/index.d.ts.map +1 -0
- package/operator/controllers/index.js +15 -0
- package/operator/controllers/map-workspace.d.ts +85 -0
- package/operator/controllers/map-workspace.d.ts.map +1 -0
- package/operator/controllers/map-workspace.js +296 -0
- package/operator/controllers/plan-review.d.ts +66 -0
- package/operator/controllers/plan-review.d.ts.map +1 -0
- package/operator/controllers/plan-review.js +124 -0
- package/operator/errors.d.ts +62 -0
- package/operator/errors.d.ts.map +1 -0
- package/operator/errors.js +75 -0
- package/operator/i18n/index.d.ts +10 -0
- package/operator/i18n/index.d.ts.map +1 -0
- package/operator/i18n/index.js +8 -0
- package/operator/i18n/messages.d.ts +19 -0
- package/operator/i18n/messages.d.ts.map +1 -0
- package/operator/i18n/messages.js +54 -0
- package/operator/index.d.ts +19 -0
- package/operator/index.d.ts.map +1 -0
- package/operator/index.js +15 -0
- package/operator/telemetry.d.ts +26 -0
- package/operator/telemetry.d.ts.map +1 -0
- package/operator/telemetry.js +9 -0
- package/operator/theming/index.d.ts +12 -0
- package/operator/theming/index.d.ts.map +1 -0
- package/operator/theming/index.js +9 -0
- package/operator/theming/provider.d.ts +27 -0
- package/operator/theming/provider.d.ts.map +1 -0
- package/operator/theming/provider.js +26 -0
- package/operator/theming/tokens.d.ts +28 -0
- package/operator/theming/tokens.d.ts.map +1 -0
- package/operator/theming/tokens.js +65 -0
- package/operator/workspace/events.d.ts +70 -0
- package/operator/workspace/events.d.ts.map +1 -0
- package/operator/workspace/events.js +9 -0
- package/operator/workspace/index.d.ts +12 -0
- package/operator/workspace/index.d.ts.map +1 -0
- package/operator/workspace/index.js +8 -0
- package/operator/workspace/types.d.ts +178 -0
- package/operator/workspace/types.d.ts.map +1 -0
- package/operator/workspace/types.js +47 -0
- package/operator/workspace/workspace.d.ts +58 -0
- package/operator/workspace/workspace.d.ts.map +1 -0
- package/operator/workspace/workspace.js +339 -0
- package/package.json +105 -0
- package/realtime/exploration.d.ts +16 -0
- package/realtime/exploration.d.ts.map +1 -0
- package/realtime/exploration.js +32 -0
- package/realtime/honua-server.d.ts +123 -0
- package/realtime/honua-server.d.ts.map +1 -0
- package/realtime/honua-server.js +188 -0
- package/realtime/index.d.ts +20 -0
- package/realtime/index.d.ts.map +1 -0
- package/realtime/index.js +14 -0
- package/realtime/projections.d.ts +30 -0
- package/realtime/projections.d.ts.map +1 -0
- package/realtime/projections.js +51 -0
- package/realtime/reducer.d.ts +14 -0
- package/realtime/reducer.d.ts.map +1 -0
- package/realtime/reducer.js +351 -0
- package/realtime/sse.d.ts +23 -0
- package/realtime/sse.d.ts.map +1 -0
- package/realtime/sse.js +143 -0
- package/realtime/store.d.ts +18 -0
- package/realtime/store.d.ts.map +1 -0
- package/realtime/store.js +63 -0
- package/realtime/types.d.ts +190 -0
- package/realtime/types.d.ts.map +1 -0
- package/realtime/types.js +10 -0
- package/replica-sync/client.d.ts +32 -0
- package/replica-sync/client.d.ts.map +1 -0
- package/replica-sync/client.js +52 -0
- package/replica-sync/errors.d.ts +22 -0
- package/replica-sync/errors.d.ts.map +1 -0
- package/replica-sync/errors.js +29 -0
- package/replica-sync/fixture.d.ts +40 -0
- package/replica-sync/fixture.d.ts.map +1 -0
- package/replica-sync/fixture.js +364 -0
- package/replica-sync/index.d.ts +22 -0
- package/replica-sync/index.d.ts.map +1 -0
- package/replica-sync/index.js +17 -0
- package/replica-sync/types.d.ts +270 -0
- package/replica-sync/types.d.ts.map +1 -0
- package/replica-sync/types.js +13 -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 +40 -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 +272 -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 +30 -0
- package/runtime/map-package-validation.d.ts.map +1 -0
- package/runtime/map-package-validation.js +257 -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/pmtiles-protocol.d.ts +77 -0
- package/runtime/pmtiles-protocol.d.ts.map +1 -0
- package/runtime/pmtiles-protocol.js +120 -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 +428 -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/scene-workspace/analysis-widgets.d.ts +334 -0
- package/scene-workspace/analysis-widgets.d.ts.map +1 -0
- package/scene-workspace/analysis-widgets.js +424 -0
- package/scene-workspace/cesium-adapter.d.ts +438 -0
- package/scene-workspace/cesium-adapter.d.ts.map +1 -0
- package/scene-workspace/cesium-adapter.js +493 -0
- package/scene-workspace/index.d.ts +21 -0
- package/scene-workspace/index.d.ts.map +1 -0
- package/scene-workspace/index.js +14 -0
- package/scene-workspace/primitives.d.ts +162 -0
- package/scene-workspace/primitives.d.ts.map +1 -0
- package/scene-workspace/primitives.js +255 -0
- package/scene-workspace/scene-discovery.d.ts +196 -0
- package/scene-workspace/scene-discovery.d.ts.map +1 -0
- package/scene-workspace/scene-discovery.js +228 -0
- package/scene-workspace/scene-view.d.ts +209 -0
- package/scene-workspace/scene-view.d.ts.map +1 -0
- package/scene-workspace/scene-view.js +267 -0
- package/scene-workspace/types.d.ts +229 -0
- package/scene-workspace/types.d.ts.map +1 -0
- package/scene-workspace/types.js +23 -0
- package/scene-workspace/workspace.d.ts +13 -0
- package/scene-workspace/workspace.d.ts.map +1 -0
- package/scene-workspace/workspace.js +391 -0
- package/share/denial.d.ts +78 -0
- package/share/denial.d.ts.map +1 -0
- package/share/denial.js +61 -0
- package/share/embed-token.d.ts +71 -0
- package/share/embed-token.d.ts.map +1 -0
- package/share/embed-token.js +99 -0
- package/share/index.d.ts +35 -0
- package/share/index.d.ts.map +1 -0
- package/share/index.js +30 -0
- package/share/open-data.d.ts +114 -0
- package/share/open-data.d.ts.map +1 -0
- package/share/open-data.js +81 -0
- package/share/types.d.ts +163 -0
- package/share/types.d.ts.map +1 -0
- package/share/types.js +17 -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/web-components/controller.d.ts +39 -0
- package/web-components/controller.d.ts.map +1 -0
- package/web-components/controller.js +640 -0
- package/web-components/elements.d.ts +210 -0
- package/web-components/elements.d.ts.map +1 -0
- package/web-components/elements.js +1651 -0
- package/web-components/index.d.ts +24 -0
- package/web-components/index.d.ts.map +1 -0
- package/web-components/index.js +22 -0
- package/web-components/maplibre-renderer.d.ts +22 -0
- package/web-components/maplibre-renderer.d.ts.map +1 -0
- package/web-components/maplibre-renderer.js +474 -0
- package/web-components/types.d.ts +397 -0
- package/web-components/types.d.ts.map +1 -0
- package/web-components/types.js +1 -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,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HonuaMapSpec — Honua-specific source type definitions extending MapLibre Style Spec v8.
|
|
3
|
+
*
|
|
4
|
+
* Defines three custom source types (`honua-feature-service`, `honua-map-service`,
|
|
5
|
+
* `honua-ogc-features`) and a `HonuaStyleSpecification` that widens the MapLibre
|
|
6
|
+
* style's `sources` map to accept them. Standard MapLibre layer types, paint/layout
|
|
7
|
+
* properties, and expressions are used unchanged.
|
|
8
|
+
*
|
|
9
|
+
* These types are standalone (zero dependency on `maplibre-gl` or
|
|
10
|
+
* `@maplibre/maplibre-gl-style-spec`), but structurally compatible — a
|
|
11
|
+
* `HonuaStyleSpecification` can be narrowed to `StyleSpecification` by filtering
|
|
12
|
+
* out Honua sources.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/** Common fields shared by all Honua source specifications. */
|
|
17
|
+
export interface HonuaSourceBase {
|
|
18
|
+
/** Full URL to the service endpoint. */
|
|
19
|
+
url: string;
|
|
20
|
+
/** Attribution string displayed on the map. */
|
|
21
|
+
attribution?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A source backed by an Esri-compatible Feature Service layer.
|
|
25
|
+
*
|
|
26
|
+
* URL format: `https://host/rest/services/{serviceId}/FeatureServer/{layerId}`
|
|
27
|
+
*/
|
|
28
|
+
export interface HonuaFeatureServiceSourceSpecification extends HonuaSourceBase {
|
|
29
|
+
type: "honua-feature-service";
|
|
30
|
+
/** Server-side WHERE clause applied to all queries. */
|
|
31
|
+
definitionExpression?: string;
|
|
32
|
+
/** Fields to include in query responses. Defaults to all (`["*"]`). */
|
|
33
|
+
outFields?: string[];
|
|
34
|
+
/** Whether queries return geometry. Defaults to `true`. */
|
|
35
|
+
returnGeometry?: boolean;
|
|
36
|
+
/** Output spatial reference WKID (e.g. `4326`, `3857`). */
|
|
37
|
+
outSR?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A source backed by an Esri-compatible Map Service (dynamic map export).
|
|
41
|
+
*
|
|
42
|
+
* URL format: `https://host/rest/services/{serviceId}/MapServer`
|
|
43
|
+
*/
|
|
44
|
+
export interface HonuaMapServiceSourceSpecification extends HonuaSourceBase {
|
|
45
|
+
type: "honua-map-service";
|
|
46
|
+
/** Comma-separated layer IDs to include (e.g. `"0,1,3"`). */
|
|
47
|
+
layers?: string;
|
|
48
|
+
/** Export DPI. Defaults to `96`. */
|
|
49
|
+
dpi?: number;
|
|
50
|
+
/** Image format. */
|
|
51
|
+
format?: "png" | "png24" | "png32" | "jpg" | "gif";
|
|
52
|
+
/** Whether the exported image has a transparent background. */
|
|
53
|
+
transparent?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* A source backed by an OGC API Features collection.
|
|
57
|
+
*
|
|
58
|
+
* URL format: `https://host/ogc/collections/{collectionId}` or
|
|
59
|
+
* `https://host/ogc` (with `collectionId` specified separately).
|
|
60
|
+
*/
|
|
61
|
+
export interface HonuaOgcFeaturesSourceSpecification extends HonuaSourceBase {
|
|
62
|
+
type: "honua-ogc-features";
|
|
63
|
+
/** The OGC collection identifier. Required if the URL does not include it. */
|
|
64
|
+
collectionId?: string;
|
|
65
|
+
/** Coordinate reference system URI (e.g. `"http://www.opengis.net/def/crs/OGC/1.3/CRS84"`). */
|
|
66
|
+
crs?: string;
|
|
67
|
+
/** CQL2 filter expression applied server-side. */
|
|
68
|
+
filter?: string;
|
|
69
|
+
/** Maximum items per request page. */
|
|
70
|
+
limit?: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* A source backed by a first-party WMS 1.3.0 service.
|
|
74
|
+
*
|
|
75
|
+
* URL format: `https://host/rest/services/{serviceId}/MapServer/WMS`.
|
|
76
|
+
*/
|
|
77
|
+
export interface HonuaWmsSourceSpecification extends HonuaSourceBase {
|
|
78
|
+
type: "honua-wms";
|
|
79
|
+
/** Service identifier, when not parseable from the URL. */
|
|
80
|
+
serviceId?: string;
|
|
81
|
+
/** Comma-separated layer names (the WMS `LAYERS=` value). */
|
|
82
|
+
layers?: string;
|
|
83
|
+
/** Comma-separated style names (the WMS `STYLES=` value). */
|
|
84
|
+
styles?: string;
|
|
85
|
+
/** Image MIME type. Defaults to `image/png`. */
|
|
86
|
+
format?: string;
|
|
87
|
+
/** Whether the rendered image should be transparent. */
|
|
88
|
+
transparent?: boolean;
|
|
89
|
+
/** CRS code. Defaults to `EPSG:3857`. */
|
|
90
|
+
crs?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* A source backed by a first-party WMTS 1.0.0 service.
|
|
94
|
+
*
|
|
95
|
+
* URL format: `https://host/rest/services/{serviceId}/MapServer/WMTS`.
|
|
96
|
+
*/
|
|
97
|
+
export interface HonuaWmtsSourceSpecification extends HonuaSourceBase {
|
|
98
|
+
type: "honua-wmts";
|
|
99
|
+
/** Service identifier, when not parseable from the URL. */
|
|
100
|
+
serviceId?: string;
|
|
101
|
+
/** Layer identifier. */
|
|
102
|
+
layer?: string;
|
|
103
|
+
/** Style identifier. Defaults to `default`. */
|
|
104
|
+
style?: string;
|
|
105
|
+
/** TileMatrixSet identifier. Defaults to `WebMercatorQuad`. */
|
|
106
|
+
tileMatrixSet?: string;
|
|
107
|
+
/** Image MIME type. Defaults to `image/png`. */
|
|
108
|
+
format?: string;
|
|
109
|
+
}
|
|
110
|
+
/** Union of all Honua custom source types. */
|
|
111
|
+
export type HonuaSourceSpecification = HonuaFeatureServiceSourceSpecification | HonuaMapServiceSourceSpecification | HonuaOgcFeaturesSourceSpecification | HonuaWmsSourceSpecification | HonuaWmtsSourceSpecification;
|
|
112
|
+
/** Minimal layer shape compatible with MapLibre Style Spec v8. */
|
|
113
|
+
export interface HonuaLayerSpecification {
|
|
114
|
+
id: string;
|
|
115
|
+
type: string;
|
|
116
|
+
source?: string;
|
|
117
|
+
"source-layer"?: string;
|
|
118
|
+
filter?: unknown;
|
|
119
|
+
layout?: Record<string, unknown>;
|
|
120
|
+
paint?: Record<string, unknown>;
|
|
121
|
+
minzoom?: number;
|
|
122
|
+
maxzoom?: number;
|
|
123
|
+
metadata?: Record<string, unknown>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* A MapLibre Style Spec v8 document extended with Honua custom source types.
|
|
127
|
+
*
|
|
128
|
+
* Standard MapLibre sources (`vector`, `raster`, `geojson`, etc.) are accepted
|
|
129
|
+
* alongside Honua sources. Layer definitions use standard MapLibre types.
|
|
130
|
+
*/
|
|
131
|
+
export interface HonuaStyleSpecification {
|
|
132
|
+
version: 8;
|
|
133
|
+
name?: string;
|
|
134
|
+
metadata?: Record<string, unknown>;
|
|
135
|
+
center?: [number, number];
|
|
136
|
+
zoom?: number;
|
|
137
|
+
bearing?: number;
|
|
138
|
+
pitch?: number;
|
|
139
|
+
sources: Record<string, HonuaSourceSpecification | {
|
|
140
|
+
type: string;
|
|
141
|
+
[key: string]: unknown;
|
|
142
|
+
}>;
|
|
143
|
+
layers: HonuaLayerSpecification[];
|
|
144
|
+
sprite?: string | {
|
|
145
|
+
id: string;
|
|
146
|
+
url: string;
|
|
147
|
+
}[];
|
|
148
|
+
glyphs?: string;
|
|
149
|
+
transition?: {
|
|
150
|
+
duration?: number;
|
|
151
|
+
delay?: number;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/** Test whether a source specification is any Honua custom type. */
|
|
155
|
+
export declare function isHonuaSource(source: {
|
|
156
|
+
type: string;
|
|
157
|
+
}): source is HonuaSourceSpecification;
|
|
158
|
+
/** Test whether a source is a `honua-feature-service`. */
|
|
159
|
+
export declare function isFeatureServiceSource(source: {
|
|
160
|
+
type: string;
|
|
161
|
+
}): source is HonuaFeatureServiceSourceSpecification;
|
|
162
|
+
/** Test whether a source is a `honua-map-service`. */
|
|
163
|
+
export declare function isMapServiceSource(source: {
|
|
164
|
+
type: string;
|
|
165
|
+
}): source is HonuaMapServiceSourceSpecification;
|
|
166
|
+
/** Test whether a source is a `honua-ogc-features`. */
|
|
167
|
+
export declare function isOgcFeaturesSource(source: {
|
|
168
|
+
type: string;
|
|
169
|
+
}): source is HonuaOgcFeaturesSourceSpecification;
|
|
170
|
+
/** Test whether a source is a `honua-wms`. */
|
|
171
|
+
export declare function isWmsSource(source: {
|
|
172
|
+
type: string;
|
|
173
|
+
}): source is HonuaWmsSourceSpecification;
|
|
174
|
+
/** Test whether a source is a `honua-wmts`. */
|
|
175
|
+
export declare function isWmtsSource(source: {
|
|
176
|
+
type: string;
|
|
177
|
+
}): source is HonuaWmtsSourceSpecification;
|
|
178
|
+
/** Parsed components of an OGC Features URL. */
|
|
179
|
+
export interface ParsedOgcFeaturesUrl {
|
|
180
|
+
baseUrl: string;
|
|
181
|
+
collectionId: string | undefined;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Parse an OGC Features URL into baseUrl and optional collectionId.
|
|
185
|
+
*
|
|
186
|
+
* Accepts URLs like:
|
|
187
|
+
* - `https://gis.example.com/ogc/collections/admin-boundaries`
|
|
188
|
+
* - `https://gis.example.com/ogc` (collectionId provided separately)
|
|
189
|
+
*/
|
|
190
|
+
export declare function parseOgcFeaturesUrl(url: string): ParsedOgcFeaturesUrl;
|
|
191
|
+
/** A validation error found in a HonuaStyleSpecification. */
|
|
192
|
+
export interface StyleValidationError {
|
|
193
|
+
path: string;
|
|
194
|
+
message: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Validate a HonuaStyleSpecification for structural correctness.
|
|
198
|
+
*
|
|
199
|
+
* Returns an empty array if the style is valid. Does not validate MapLibre
|
|
200
|
+
* layer/expression semantics — use `@maplibre/maplibre-gl-style-spec` for that.
|
|
201
|
+
*/
|
|
202
|
+
export declare function validateHonuaStyle(style: unknown): StyleValidationError[];
|
|
203
|
+
//# sourceMappingURL=specification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specification.d.ts","sourceRoot":"","sources":["../../../src/style/specification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HonuaMapSpec — Honua-specific source type definitions extending MapLibre Style Spec v8.
|
|
3
|
+
*
|
|
4
|
+
* Defines three custom source types (`honua-feature-service`, `honua-map-service`,
|
|
5
|
+
* `honua-ogc-features`) and a `HonuaStyleSpecification` that widens the MapLibre
|
|
6
|
+
* style's `sources` map to accept them. Standard MapLibre layer types, paint/layout
|
|
7
|
+
* properties, and expressions are used unchanged.
|
|
8
|
+
*
|
|
9
|
+
* These types are standalone (zero dependency on `maplibre-gl` or
|
|
10
|
+
* `@maplibre/maplibre-gl-style-spec`), but structurally compatible — a
|
|
11
|
+
* `HonuaStyleSpecification` can be narrowed to `StyleSpecification` by filtering
|
|
12
|
+
* out Honua sources.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
// ── Type guards ──────────────────────────────────────────────
|
|
17
|
+
/** Test whether a source specification is any Honua custom type. */
|
|
18
|
+
export function isHonuaSource(source) {
|
|
19
|
+
return source.type.startsWith("honua-");
|
|
20
|
+
}
|
|
21
|
+
/** Test whether a source is a `honua-feature-service`. */
|
|
22
|
+
export function isFeatureServiceSource(source) {
|
|
23
|
+
return source.type === "honua-feature-service";
|
|
24
|
+
}
|
|
25
|
+
/** Test whether a source is a `honua-map-service`. */
|
|
26
|
+
export function isMapServiceSource(source) {
|
|
27
|
+
return source.type === "honua-map-service";
|
|
28
|
+
}
|
|
29
|
+
/** Test whether a source is a `honua-ogc-features`. */
|
|
30
|
+
export function isOgcFeaturesSource(source) {
|
|
31
|
+
return source.type === "honua-ogc-features";
|
|
32
|
+
}
|
|
33
|
+
/** Test whether a source is a `honua-wms`. */
|
|
34
|
+
export function isWmsSource(source) {
|
|
35
|
+
return source.type === "honua-wms";
|
|
36
|
+
}
|
|
37
|
+
/** Test whether a source is a `honua-wmts`. */
|
|
38
|
+
export function isWmtsSource(source) {
|
|
39
|
+
return source.type === "honua-wmts";
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Parse an OGC Features URL into baseUrl and optional collectionId.
|
|
43
|
+
*
|
|
44
|
+
* Accepts URLs like:
|
|
45
|
+
* - `https://gis.example.com/ogc/collections/admin-boundaries`
|
|
46
|
+
* - `https://gis.example.com/ogc` (collectionId provided separately)
|
|
47
|
+
*/
|
|
48
|
+
export function parseOgcFeaturesUrl(url) {
|
|
49
|
+
const absoluteUrl = parseAbsoluteHttpUrl(url);
|
|
50
|
+
const path = absoluteUrl ? absoluteUrl.pathname : stripQueryAndHash(url);
|
|
51
|
+
const normalizedPath = trimTrailingSlashes(path);
|
|
52
|
+
// Locate the first `/collections/` segment (case-insensitive) and split the
|
|
53
|
+
// path into basePath + collectionId. Linear `indexOf` scanning replaces the
|
|
54
|
+
// prior `/^(.*?)\/collections\/([^/?#]+)(?:\/.*)?$/i` regex, whose lazy
|
|
55
|
+
// leading `.*?` plus trailing alternation could backtrack super-linearly.
|
|
56
|
+
const collectionsToken = "/collections/";
|
|
57
|
+
const markerIndex = normalizedPath.toLowerCase().indexOf(collectionsToken);
|
|
58
|
+
if (markerIndex >= 0) {
|
|
59
|
+
const afterMarker = normalizedPath.slice(markerIndex + collectionsToken.length);
|
|
60
|
+
const nextSlash = afterMarker.indexOf("/");
|
|
61
|
+
const collectionId = nextSlash >= 0 ? afterMarker.slice(0, nextSlash) : afterMarker;
|
|
62
|
+
if (collectionId !== "") {
|
|
63
|
+
const basePath = normalizeCollectionBasePath(normalizedPath.slice(0, markerIndex), normalizedPath);
|
|
64
|
+
return {
|
|
65
|
+
baseUrl: joinUrlParts(absoluteUrl?.origin, basePath),
|
|
66
|
+
collectionId,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
baseUrl: joinUrlParts(absoluteUrl?.origin, normalizedPath),
|
|
72
|
+
collectionId: undefined,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function parseAbsoluteHttpUrl(url) {
|
|
76
|
+
try {
|
|
77
|
+
const parsed = new URL(url);
|
|
78
|
+
if (parsed.protocol === "http:" || parsed.protocol === "https:") {
|
|
79
|
+
return parsed;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// Relative URLs are handled by string parsing below.
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
function stripQueryAndHash(url) {
|
|
88
|
+
const hashIndex = url.indexOf("#");
|
|
89
|
+
const withoutHash = hashIndex >= 0 ? url.slice(0, hashIndex) : url;
|
|
90
|
+
const queryIndex = withoutHash.indexOf("?");
|
|
91
|
+
return queryIndex >= 0 ? withoutHash.slice(0, queryIndex) : withoutHash;
|
|
92
|
+
}
|
|
93
|
+
function trimTrailingSlashes(path) {
|
|
94
|
+
if (path === "/") {
|
|
95
|
+
return "/";
|
|
96
|
+
}
|
|
97
|
+
// Linear-time trailing-slash trim. Avoids the `/\/+$/` regex, whose
|
|
98
|
+
// anchored quantifier can backtrack super-linearly on long slash runs.
|
|
99
|
+
let end = path.length;
|
|
100
|
+
while (end > 0 && path.charCodeAt(end - 1) === 47 /* '/' */) {
|
|
101
|
+
end -= 1;
|
|
102
|
+
}
|
|
103
|
+
return end === path.length ? path : path.slice(0, end);
|
|
104
|
+
}
|
|
105
|
+
function normalizeCollectionBasePath(basePath, fullPath) {
|
|
106
|
+
const normalized = trimTrailingSlashes(basePath);
|
|
107
|
+
if (normalized.length > 0) {
|
|
108
|
+
return normalized;
|
|
109
|
+
}
|
|
110
|
+
return fullPath.startsWith("/") ? "/" : "";
|
|
111
|
+
}
|
|
112
|
+
function joinUrlParts(origin, path) {
|
|
113
|
+
if (!origin) {
|
|
114
|
+
return path;
|
|
115
|
+
}
|
|
116
|
+
if (path.length === 0 || path === "/") {
|
|
117
|
+
return origin;
|
|
118
|
+
}
|
|
119
|
+
return `${origin}${path.startsWith("/") ? path : `/${path}`}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Validate a HonuaStyleSpecification for structural correctness.
|
|
123
|
+
*
|
|
124
|
+
* Returns an empty array if the style is valid. Does not validate MapLibre
|
|
125
|
+
* layer/expression semantics — use `@maplibre/maplibre-gl-style-spec` for that.
|
|
126
|
+
*/
|
|
127
|
+
export function validateHonuaStyle(style) {
|
|
128
|
+
const errors = [];
|
|
129
|
+
if (typeof style !== "object" || style === null) {
|
|
130
|
+
errors.push({ path: "", message: "Style must be a non-null object" });
|
|
131
|
+
return errors;
|
|
132
|
+
}
|
|
133
|
+
const s = style;
|
|
134
|
+
if (s.version !== 8) {
|
|
135
|
+
errors.push({ path: "version", message: "Version must be 8" });
|
|
136
|
+
}
|
|
137
|
+
if (typeof s.sources !== "object" || s.sources === null || Array.isArray(s.sources)) {
|
|
138
|
+
errors.push({ path: "sources", message: "Sources must be a non-null object" });
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
for (const [name, source] of Object.entries(s.sources)) {
|
|
142
|
+
if (typeof source !== "object" || source === null) {
|
|
143
|
+
errors.push({ path: `sources.${name}`, message: "Source must be a non-null object" });
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
const src = source;
|
|
147
|
+
if (typeof src.type !== "string") {
|
|
148
|
+
errors.push({ path: `sources.${name}.type`, message: "Source type must be a string" });
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
if (isHonuaSource(src)) {
|
|
152
|
+
if (typeof src.url !== "string") {
|
|
153
|
+
errors.push({ path: `sources.${name}.url`, message: "Honua source must have a string url" });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (!Array.isArray(s.layers)) {
|
|
159
|
+
errors.push({ path: "layers", message: "Layers must be an array" });
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
for (let i = 0; i < s.layers.length; i++) {
|
|
163
|
+
const layer = s.layers[i];
|
|
164
|
+
if (typeof layer !== "object" || layer === null) {
|
|
165
|
+
errors.push({ path: `layers[${i}]`, message: "Layer must be a non-null object" });
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const l = layer;
|
|
169
|
+
if (typeof l.id !== "string") {
|
|
170
|
+
errors.push({ path: `layers[${i}].id`, message: "Layer must have a string id" });
|
|
171
|
+
}
|
|
172
|
+
if (typeof l.type !== "string") {
|
|
173
|
+
errors.push({ path: `layers[${i}].type`, message: "Layer must have a string type" });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return errors;
|
|
178
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resolvers that turn a `HonuaWmsSourceSpecification` /
|
|
3
|
+
* `HonuaWmtsSourceSpecification` into a runtime SDK handle. Used by both
|
|
4
|
+
* `src/style/factory.ts` (`createSources`) and `src/map/honua-map.ts`
|
|
5
|
+
* (`HonuaMap.getSource`) so the URL-parsing and handle-selection rules
|
|
6
|
+
* stay identical between the two surfaces.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { HonuaClient } from "../core/client.js";
|
|
11
|
+
import { HonuaWms, HonuaWmsLayer } from "../core/wms.js";
|
|
12
|
+
import { HonuaWmts, HonuaWmtsTileset } from "../core/wmts.js";
|
|
13
|
+
import type { HonuaWmsSourceSpecification, HonuaWmtsSourceSpecification } from "./specification.js";
|
|
14
|
+
/**
|
|
15
|
+
* Extract the service id from a WMS/WMTS endpoint URL. Returns
|
|
16
|
+
* `undefined` if the URL does not match a known service shape so the
|
|
17
|
+
* caller can fall back to the spec's explicit `serviceId` (or surface a
|
|
18
|
+
* typed error).
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseWmsServiceIdFromUrl(url: string): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Resolve a `honua-wms` source spec to a runtime handle. Returns the
|
|
23
|
+
* layer-bound `HonuaWmsLayer` only when `spec.layers` parses to exactly
|
|
24
|
+
* one non-empty layer token, because `HonuaWmsLayer` is a single-layer
|
|
25
|
+
* handle (its `describe()` resolves one `<Layer>` from the parsed
|
|
26
|
+
* Capabilities). Multi-layer composites (`LAYERS=a,b`) and
|
|
27
|
+
* empty / missing values stay on the service-level `HonuaWms` handle so
|
|
28
|
+
* `map()` / `featureInfo()` can still target the composite.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveWmsSpec(client: HonuaClient, spec: HonuaWmsSourceSpecification): HonuaWms | HonuaWmsLayer;
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a `honua-wmts` source spec to a runtime handle. Returns the
|
|
33
|
+
* (layer × style × TileMatrixSet) `HonuaWmtsTileset` when the spec
|
|
34
|
+
* pins a single layer; otherwise returns the service-level `HonuaWmts`
|
|
35
|
+
* handle.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveWmtsSpec(client: HonuaClient, spec: HonuaWmtsSourceSpecification): HonuaWmts | HonuaWmtsTileset;
|
|
38
|
+
//# sourceMappingURL=wms-wmts-resolvers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-wmts-resolvers.d.ts","sourceRoot":"","sources":["../../../src/style/wms-wmts-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAsB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAWpG;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,GAAG,QAAQ,GAAG,aAAa,CAmB/G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,gBAAgB,CAkBrH"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resolvers that turn a `HonuaWmsSourceSpecification` /
|
|
3
|
+
* `HonuaWmtsSourceSpecification` into a runtime SDK handle. Used by both
|
|
4
|
+
* `src/style/factory.ts` (`createSources`) and `src/map/honua-map.ts`
|
|
5
|
+
* (`HonuaMap.getSource`) so the URL-parsing and handle-selection rules
|
|
6
|
+
* stay identical between the two surfaces.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { HonuaWms, HonuaWmsLayer, parseWmsLayerNames } from "../core/wms.js";
|
|
11
|
+
import { HonuaWmts, HonuaWmtsTileset } from "../core/wmts.js";
|
|
12
|
+
/**
|
|
13
|
+
* Match the canonical Esri MapServer WMS/WMTS endpoint shape
|
|
14
|
+
* (`/rest/services/<name>/MapServer/{WMS|WMTS}`) and the OGC web-map
|
|
15
|
+
* shape (`/ogc/services/<name>/{wms|wmts}`) so we can lift the service
|
|
16
|
+
* id out of the URL when the spec did not carry it explicitly.
|
|
17
|
+
*/
|
|
18
|
+
const HONUA_WMS_WMTS_URL_RE = /\/(?:rest\/services\/([^/?#]+)\/MapServer\/(?:WMS|WMTS)|ogc\/services\/([^/?#]+)\/(?:wms|wmts))/i;
|
|
19
|
+
/**
|
|
20
|
+
* Extract the service id from a WMS/WMTS endpoint URL. Returns
|
|
21
|
+
* `undefined` if the URL does not match a known service shape so the
|
|
22
|
+
* caller can fall back to the spec's explicit `serviceId` (or surface a
|
|
23
|
+
* typed error).
|
|
24
|
+
*/
|
|
25
|
+
export function parseWmsServiceIdFromUrl(url) {
|
|
26
|
+
const match = HONUA_WMS_WMTS_URL_RE.exec(url);
|
|
27
|
+
if (!match)
|
|
28
|
+
return undefined;
|
|
29
|
+
const id = match[1] ?? match[2];
|
|
30
|
+
if (!id)
|
|
31
|
+
return undefined;
|
|
32
|
+
try {
|
|
33
|
+
return decodeURIComponent(id);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return id;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a `honua-wms` source spec to a runtime handle. Returns the
|
|
41
|
+
* layer-bound `HonuaWmsLayer` only when `spec.layers` parses to exactly
|
|
42
|
+
* one non-empty layer token, because `HonuaWmsLayer` is a single-layer
|
|
43
|
+
* handle (its `describe()` resolves one `<Layer>` from the parsed
|
|
44
|
+
* Capabilities). Multi-layer composites (`LAYERS=a,b`) and
|
|
45
|
+
* empty / missing values stay on the service-level `HonuaWms` handle so
|
|
46
|
+
* `map()` / `featureInfo()` can still target the composite.
|
|
47
|
+
*/
|
|
48
|
+
export function resolveWmsSpec(client, spec) {
|
|
49
|
+
const serviceId = spec.serviceId ?? parseWmsServiceIdFromUrl(spec.url);
|
|
50
|
+
if (!serviceId) {
|
|
51
|
+
throw new Error("honua-wms source requires either serviceId or a URL containing the service id");
|
|
52
|
+
}
|
|
53
|
+
const root = new HonuaWms({ client, serviceId });
|
|
54
|
+
const parsedLayers = parseWmsLayerNames(spec.layers);
|
|
55
|
+
if (parsedLayers.length === 1) {
|
|
56
|
+
const opts = {
|
|
57
|
+
client,
|
|
58
|
+
serviceId,
|
|
59
|
+
layerName: parsedLayers[0],
|
|
60
|
+
};
|
|
61
|
+
if (typeof spec.styles === "string" && spec.styles.length > 0) {
|
|
62
|
+
opts.defaultStyleId = spec.styles;
|
|
63
|
+
}
|
|
64
|
+
return new HonuaWmsLayer(opts);
|
|
65
|
+
}
|
|
66
|
+
return root;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolve a `honua-wmts` source spec to a runtime handle. Returns the
|
|
70
|
+
* (layer × style × TileMatrixSet) `HonuaWmtsTileset` when the spec
|
|
71
|
+
* pins a single layer; otherwise returns the service-level `HonuaWmts`
|
|
72
|
+
* handle.
|
|
73
|
+
*/
|
|
74
|
+
export function resolveWmtsSpec(client, spec) {
|
|
75
|
+
const serviceId = spec.serviceId ?? parseWmsServiceIdFromUrl(spec.url);
|
|
76
|
+
if (!serviceId) {
|
|
77
|
+
throw new Error("honua-wmts source requires either serviceId or a URL containing the service id");
|
|
78
|
+
}
|
|
79
|
+
const root = new HonuaWmts({ client, serviceId });
|
|
80
|
+
if (typeof spec.layer === "string" && spec.layer.length > 0) {
|
|
81
|
+
const style = spec.style ?? "default";
|
|
82
|
+
const tms = spec.tileMatrixSet ?? "WebMercatorQuad";
|
|
83
|
+
return new HonuaWmtsTileset({
|
|
84
|
+
client,
|
|
85
|
+
serviceId,
|
|
86
|
+
layerName: spec.layer,
|
|
87
|
+
styleId: style,
|
|
88
|
+
tileMatrixSetId: tms,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return root;
|
|
92
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { HonuaLayerSpecification } from "../style/index.js";
|
|
2
|
+
import type { CreateHonuaWebComponentControllerOptions, HonuaControllerStateListener, HonuaEditorModel, HonuaFeatureRecord, HonuaFeatureStateTarget, HonuaFeatureTableModel, HonuaFilterState, HonuaLayerModel, HonuaLegendItem, HonuaMeasureChangeDetail, HonuaMeasureMode, HonuaQueryFeaturesOptions, HonuaSearchOptions, HonuaSearchResult, HonuaSelectionState, HonuaSketchChangeDetail, HonuaSketchMode, HonuaViewportState, HonuaWebComponentController, HonuaWebComponentRuntimeLike, HonuaWebComponentState } from "./types.js";
|
|
3
|
+
export declare class HonuaInMemoryWebComponentController<T = Record<string, unknown>> implements HonuaWebComponentController<T> {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(options?: CreateHonuaWebComponentControllerOptions<T> & {
|
|
6
|
+
runtime?: HonuaWebComponentRuntimeLike<T>;
|
|
7
|
+
});
|
|
8
|
+
getState(): HonuaWebComponentState<T>;
|
|
9
|
+
subscribe(listener: HonuaControllerStateListener<T>): {
|
|
10
|
+
remove(): void;
|
|
11
|
+
};
|
|
12
|
+
setLayerVisibility(layerId: string, visible: boolean): void;
|
|
13
|
+
setViewport(viewport: HonuaViewportState): void;
|
|
14
|
+
setFilter(filter: HonuaFilterState): void;
|
|
15
|
+
selectFeature(selection: HonuaSelectionState<T>): void;
|
|
16
|
+
clearSelection(): void;
|
|
17
|
+
setFeatureState(target: HonuaFeatureStateTarget, state: Record<string, unknown>): void;
|
|
18
|
+
removeFeatureState(target: HonuaFeatureStateTarget, key?: string): void;
|
|
19
|
+
queryFeatures(sourceId?: string | undefined, options?: HonuaQueryFeaturesOptions): Promise<HonuaFeatureTableModel<T>>;
|
|
20
|
+
search(query: string, options?: HonuaSearchOptions): Promise<readonly HonuaSearchResult<T>[]>;
|
|
21
|
+
applyEdit(): Promise<HonuaEditorModel>;
|
|
22
|
+
updateFeatures(sourceId: string, features: readonly HonuaFeatureRecord<T>[]): void;
|
|
23
|
+
canMeasure(): boolean;
|
|
24
|
+
canSketch(): boolean;
|
|
25
|
+
setMeasureMode(mode: HonuaMeasureMode): Promise<HonuaMeasureChangeDetail>;
|
|
26
|
+
setSketchMode(mode: HonuaSketchMode): Promise<HonuaSketchChangeDetail<T>>;
|
|
27
|
+
destroy(): void;
|
|
28
|
+
}
|
|
29
|
+
export declare function createHonuaWebComponentController<T = Record<string, unknown>>(options?: CreateHonuaWebComponentControllerOptions<T>): HonuaWebComponentController<T>;
|
|
30
|
+
export declare function createHonuaWebComponentControllerFromRuntime<T = Record<string, unknown>>(runtime: HonuaWebComponentRuntimeLike<T>, options?: Omit<CreateHonuaWebComponentControllerOptions<T>, "mapPackage" | "layers" | "legend" | "viewport">): HonuaWebComponentController<T>;
|
|
31
|
+
export declare function layersFromMapPackage(layers: readonly HonuaLayerSpecification[]): HonuaLayerModel[];
|
|
32
|
+
export declare function legendFromMapPackage(entries: readonly {
|
|
33
|
+
label: string;
|
|
34
|
+
color?: string;
|
|
35
|
+
iconUrl?: string;
|
|
36
|
+
minValue?: number;
|
|
37
|
+
maxValue?: number;
|
|
38
|
+
}[] | undefined, layers: readonly HonuaLayerModel[], styleLayers: readonly HonuaLayerSpecification[]): HonuaLegendItem[];
|
|
39
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/web-components/controller.ts"],"names":[],"mappings":"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"}
|