@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,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MapLibre runtime adapter for Honua feature-service sources.
|
|
3
|
+
*
|
|
4
|
+
* {@link createHonuaFeatureServiceLayer} (and the migration codemod) emit a
|
|
5
|
+
* custom `honua-feature-service` source type that MapLibre's renderer does not
|
|
6
|
+
* understand — adding it to a `maplibre-gl` `Map` directly is a silent no-op.
|
|
7
|
+
*
|
|
8
|
+
* This module bridges that gap. It fetches features through the SDK query path
|
|
9
|
+
* ({@link HonuaFeatureLayer}) and converts the Esri feature set into a standard
|
|
10
|
+
* GeoJSON `FeatureCollection`, then exposes it as a plain MapLibre `geojson`
|
|
11
|
+
* source spec that the renderer renders natively. Callers either:
|
|
12
|
+
*
|
|
13
|
+
* - call {@link loadHonuaFeatureServiceGeoJson} to obtain a `geojson` source
|
|
14
|
+
* spec they add to their style themselves, or
|
|
15
|
+
* - call {@link registerHonuaFeatureServiceSources} to walk a {@link HonuaMap}
|
|
16
|
+
* and live-patch every `honua-feature-service` source on a real MapLibre map
|
|
17
|
+
* into a fetched `geojson` source.
|
|
18
|
+
*
|
|
19
|
+
* Raster Honua sources (`honua-map-service`, tile services) already project
|
|
20
|
+
* onto MapLibre-native sources and need no adapter; this fills in the feature
|
|
21
|
+
* (vector) asymmetry.
|
|
22
|
+
*
|
|
23
|
+
* @module
|
|
24
|
+
*/
|
|
25
|
+
import { HonuaFeatureLayer } from "../core/surfaces.js";
|
|
26
|
+
import { parseFeatureLayerUrl } from "../esri-compat/url.js";
|
|
27
|
+
/**
|
|
28
|
+
* Convert a single Esri geometry into a GeoJSON geometry.
|
|
29
|
+
*
|
|
30
|
+
* Handles the geometry kinds a feature-service query returns (point,
|
|
31
|
+
* multipoint, polyline, polygon, envelope). Returns `null` when the geometry is
|
|
32
|
+
* absent or unrecognised so the feature still renders attribute-only.
|
|
33
|
+
*/
|
|
34
|
+
export function esriGeometryToGeoJson(geometry, geometryType) {
|
|
35
|
+
if (!geometry) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
// Point geometries are recognisable structurally even without a declared
|
|
39
|
+
// type (queries that elide geometryType still return {x, y}).
|
|
40
|
+
if (geometryType === "esriGeometryPoint" || (geometry.x !== undefined && geometry.y !== undefined)) {
|
|
41
|
+
const x = asFiniteNumber(geometry.x);
|
|
42
|
+
const y = asFiniteNumber(geometry.y);
|
|
43
|
+
if (x === undefined || y === undefined)
|
|
44
|
+
return null;
|
|
45
|
+
return { type: "Point", coordinates: [x, y] };
|
|
46
|
+
}
|
|
47
|
+
if (geometryType === "esriGeometryMultipoint") {
|
|
48
|
+
const points = asArray(geometry.points)
|
|
49
|
+
.map(asCoordinatePair)
|
|
50
|
+
.filter((value) => value !== undefined);
|
|
51
|
+
return { type: "MultiPoint", coordinates: points };
|
|
52
|
+
}
|
|
53
|
+
if (geometryType === "esriGeometryPolyline") {
|
|
54
|
+
const paths = asArray(geometry.paths)
|
|
55
|
+
.map(asCoordinateArray)
|
|
56
|
+
.filter((path) => path.length > 0);
|
|
57
|
+
if (paths.length === 1) {
|
|
58
|
+
return { type: "LineString", coordinates: paths[0] };
|
|
59
|
+
}
|
|
60
|
+
return { type: "MultiLineString", coordinates: paths };
|
|
61
|
+
}
|
|
62
|
+
if (geometryType === "esriGeometryPolygon") {
|
|
63
|
+
const rings = asArray(geometry.rings)
|
|
64
|
+
.map(asCoordinateArray)
|
|
65
|
+
.filter((ring) => ring.length > 0);
|
|
66
|
+
// MapLibre does not enforce GeoJSON ring winding for rendering, so the
|
|
67
|
+
// adapter passes Esri rings through as a Polygon without re-nesting.
|
|
68
|
+
return { type: "Polygon", coordinates: rings };
|
|
69
|
+
}
|
|
70
|
+
if (geometryType === "esriGeometryEnvelope") {
|
|
71
|
+
const xmin = asFiniteNumber(geometry.xmin);
|
|
72
|
+
const ymin = asFiniteNumber(geometry.ymin);
|
|
73
|
+
const xmax = asFiniteNumber(geometry.xmax);
|
|
74
|
+
const ymax = asFiniteNumber(geometry.ymax);
|
|
75
|
+
if (xmin === undefined || ymin === undefined || xmax === undefined || ymax === undefined) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
type: "Polygon",
|
|
80
|
+
coordinates: [
|
|
81
|
+
[
|
|
82
|
+
[xmin, ymin],
|
|
83
|
+
[xmax, ymin],
|
|
84
|
+
[xmax, ymax],
|
|
85
|
+
[xmin, ymax],
|
|
86
|
+
[xmin, ymin],
|
|
87
|
+
],
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Convert an array of Esri features (attributes + geometry) into a GeoJSON
|
|
95
|
+
* `FeatureCollection`.
|
|
96
|
+
*/
|
|
97
|
+
export function esriFeaturesToGeoJson(features, geometryType) {
|
|
98
|
+
return {
|
|
99
|
+
type: "FeatureCollection",
|
|
100
|
+
features: features.map((feature) => ({
|
|
101
|
+
type: "Feature",
|
|
102
|
+
geometry: esriGeometryToGeoJson(feature.geometry ?? null, geometryType),
|
|
103
|
+
properties: { ...(feature.attributes ?? {}) },
|
|
104
|
+
})),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Fetch a Honua feature-service layer through the SDK and return a standard
|
|
109
|
+
* MapLibre `geojson` source specification that the renderer renders natively.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const source = await loadHonuaFeatureServiceGeoJson(client, layer.source.url);
|
|
114
|
+
* map.addSource(layer.sourceId, source);
|
|
115
|
+
* map.addLayer(layer.layer);
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export async function loadHonuaFeatureServiceGeoJson(client, url, options = {}) {
|
|
119
|
+
const parsed = parseFeatureLayerUrl(url);
|
|
120
|
+
const layer = new HonuaFeatureLayer({
|
|
121
|
+
client,
|
|
122
|
+
serviceId: parsed.serviceId,
|
|
123
|
+
layerId: parsed.layerId,
|
|
124
|
+
});
|
|
125
|
+
// GeoJSON is lon/lat (WGS84). Default outSR to 4326 so the rendered
|
|
126
|
+
// coordinates land where MapLibre expects them.
|
|
127
|
+
const outSR = options.outSR ?? 4326;
|
|
128
|
+
const request = {
|
|
129
|
+
where: options.definitionExpression ?? "1=1",
|
|
130
|
+
outFields: options.outFields ?? ["*"],
|
|
131
|
+
returnGeometry: true,
|
|
132
|
+
outSr: outSR,
|
|
133
|
+
...(options.pageSize !== undefined ? { pageSize: options.pageSize } : {}),
|
|
134
|
+
...(options.maxPages !== undefined ? { maxPages: options.maxPages } : {}),
|
|
135
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
136
|
+
};
|
|
137
|
+
const metadataPromise = layer.metadata(options.signal ? { signal: options.signal } : {}).catch(() => undefined);
|
|
138
|
+
const features = await layer.queryFeaturesAll(request);
|
|
139
|
+
const geometryType = (await metadataPromise)?.geometryType;
|
|
140
|
+
const data = esriFeaturesToGeoJson(features, geometryType);
|
|
141
|
+
return {
|
|
142
|
+
type: "geojson",
|
|
143
|
+
data,
|
|
144
|
+
...(options.attribution ? { attribution: options.attribution } : {}),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/** Default fetch fan-out for {@link registerHonuaFeatureServiceSources}. */
|
|
148
|
+
const DEFAULT_REGISTER_CONCURRENCY = 6;
|
|
149
|
+
/**
|
|
150
|
+
* Walk a {@link HonuaMap} and replace every `honua-feature-service` source on a
|
|
151
|
+
* real MapLibre map with a fetched standard `geojson` source so feature layers
|
|
152
|
+
* actually render.
|
|
153
|
+
*
|
|
154
|
+
* Existing `geojson` sources are updated in place via `setData`; otherwise a new
|
|
155
|
+
* source is added. Layers should be added by the caller (or already present in
|
|
156
|
+
* the style) — this only manages the data sources.
|
|
157
|
+
*
|
|
158
|
+
* @param map - A `maplibre-gl` `Map` (or any {@link FeatureServiceAdapterMap}).
|
|
159
|
+
* @param honuaMap - The {@link HonuaMap} whose feature-service sources to wire.
|
|
160
|
+
* @param client - The Honua client used to fetch features.
|
|
161
|
+
*/
|
|
162
|
+
export async function registerHonuaFeatureServiceSources(map, honuaMap, client, options = {}) {
|
|
163
|
+
const registered = [];
|
|
164
|
+
const failed = [];
|
|
165
|
+
// Collect the feature-service sources to load, validating `url` up front so a
|
|
166
|
+
// missing url fails fast without consuming a fetch slot.
|
|
167
|
+
const pending = [];
|
|
168
|
+
for (const sourceId of honuaMap.sourceIds) {
|
|
169
|
+
const spec = honuaMap.getSourceSpec(sourceId);
|
|
170
|
+
if (!spec || spec.type !== "honua-feature-service") {
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
const url = spec.url;
|
|
174
|
+
if (typeof url !== "string" || url.length === 0) {
|
|
175
|
+
failed.push({ sourceId, error: new Error(`feature-service source "${sourceId}" is missing url`) });
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
pending.push({ sourceId, url, spec });
|
|
179
|
+
}
|
|
180
|
+
// Fetch sources with bounded concurrency: total latency becomes the max of the
|
|
181
|
+
// per-source fetches instead of their sum (a startup cliff for multi-layer maps).
|
|
182
|
+
const concurrency = typeof options.concurrency === "number" && Number.isFinite(options.concurrency)
|
|
183
|
+
? Math.max(1, Math.trunc(options.concurrency))
|
|
184
|
+
: DEFAULT_REGISTER_CONCURRENCY;
|
|
185
|
+
const results = await allSettledLimited(pending, concurrency, (item) => loadHonuaFeatureServiceGeoJson(client, item.url, {
|
|
186
|
+
...options,
|
|
187
|
+
...featureServiceSpecOverrides(item.spec),
|
|
188
|
+
}));
|
|
189
|
+
// Apply the fetched sources to the map sequentially, preserving source order.
|
|
190
|
+
// Map mutations are synchronous and must stay single-threaded.
|
|
191
|
+
for (let index = 0; index < pending.length; index += 1) {
|
|
192
|
+
const { sourceId } = pending[index];
|
|
193
|
+
const result = results[index];
|
|
194
|
+
if (result.status === "rejected") {
|
|
195
|
+
failed.push({ sourceId, error: result.reason });
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const source = result.value;
|
|
200
|
+
const existing = map.getSource(sourceId);
|
|
201
|
+
if (existing && typeof existing.setData === "function") {
|
|
202
|
+
existing.setData(source.data);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
if (existing) {
|
|
206
|
+
map.removeSource(sourceId);
|
|
207
|
+
}
|
|
208
|
+
map.addSource(sourceId, source);
|
|
209
|
+
}
|
|
210
|
+
registered.push(sourceId);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
failed.push({ sourceId, error });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return { registered, failed };
|
|
217
|
+
}
|
|
218
|
+
/** Derive per-source query overrides from a `honua-feature-service` source spec. */
|
|
219
|
+
function featureServiceSpecOverrides(spec) {
|
|
220
|
+
return {
|
|
221
|
+
...(typeof spec.definitionExpression === "string"
|
|
222
|
+
? { definitionExpression: spec.definitionExpression }
|
|
223
|
+
: {}),
|
|
224
|
+
...(Array.isArray(spec.outFields)
|
|
225
|
+
? { outFields: spec.outFields }
|
|
226
|
+
: {}),
|
|
227
|
+
...(typeof spec.outSR === "number" ? { outSR: spec.outSR } : {}),
|
|
228
|
+
...(typeof spec.attribution === "string"
|
|
229
|
+
? { attribution: spec.attribution }
|
|
230
|
+
: {}),
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Run `worker` over `values` with at most `concurrency` in flight, collecting
|
|
235
|
+
* settled results in input order. Mirrors the limiter in `runtime/query-tiles`;
|
|
236
|
+
* kept local to avoid coupling the map layer to the runtime tile pipeline.
|
|
237
|
+
*/
|
|
238
|
+
async function allSettledLimited(values, concurrency, worker) {
|
|
239
|
+
const results = new Array(values.length);
|
|
240
|
+
let nextIndex = 0;
|
|
241
|
+
async function run() {
|
|
242
|
+
for (;;) {
|
|
243
|
+
const index = nextIndex;
|
|
244
|
+
nextIndex += 1;
|
|
245
|
+
if (index >= values.length)
|
|
246
|
+
return;
|
|
247
|
+
try {
|
|
248
|
+
results[index] = { status: "fulfilled", value: await worker(values[index]) };
|
|
249
|
+
}
|
|
250
|
+
catch (reason) {
|
|
251
|
+
results[index] = { status: "rejected", reason };
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
const workers = Array.from({ length: Math.min(concurrency, values.length) }, () => run());
|
|
256
|
+
await Promise.all(workers);
|
|
257
|
+
return results;
|
|
258
|
+
}
|
|
259
|
+
// ── Coercion helpers ─────────────────────────────────────────
|
|
260
|
+
function asFiniteNumber(value) {
|
|
261
|
+
return typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
262
|
+
}
|
|
263
|
+
function asArray(value) {
|
|
264
|
+
return Array.isArray(value) ? value : [];
|
|
265
|
+
}
|
|
266
|
+
function asCoordinatePair(value) {
|
|
267
|
+
if (!Array.isArray(value) || value.length < 2)
|
|
268
|
+
return undefined;
|
|
269
|
+
const x = asFiniteNumber(value[0]);
|
|
270
|
+
const y = asFiniteNumber(value[1]);
|
|
271
|
+
if (x === undefined || y === undefined)
|
|
272
|
+
return undefined;
|
|
273
|
+
return [x, y];
|
|
274
|
+
}
|
|
275
|
+
function asCoordinateArray(value) {
|
|
276
|
+
return asArray(value)
|
|
277
|
+
.map(asCoordinatePair)
|
|
278
|
+
.filter((pair) => pair !== undefined);
|
|
279
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HonuaMap — Source/Layer separation for multi-protocol geospatial maps.
|
|
3
|
+
*
|
|
4
|
+
* Manages named data sources (protocol-aware: Feature Service, Map Service,
|
|
5
|
+
* OGC Features) separately from named rendering layers. One source can back
|
|
6
|
+
* multiple layers; layers reference sources by name.
|
|
7
|
+
*
|
|
8
|
+
* Does **not** depend on `maplibre-gl` at runtime. Produces a
|
|
9
|
+
* MapLibre-compatible style via {@link HonuaMap.toStyle} and exposes the
|
|
10
|
+
* underlying SDK surface instances via {@link HonuaMap.getSource}.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import type { HonuaClient } from "../core/client.js";
|
|
15
|
+
import { HonuaFeatureLayer, HonuaMapService, type HonuaOgcFeatureCollection } from "../core/surfaces.js";
|
|
16
|
+
import type { HonuaWms, HonuaWmsLayer } from "../core/wms.js";
|
|
17
|
+
import type { HonuaWmts, HonuaWmtsLayer, HonuaWmtsTileset } from "../core/wmts.js";
|
|
18
|
+
import type { HonuaLayerSpecification, HonuaSourceSpecification, HonuaStyleSpecification } from "../style/specification.js";
|
|
19
|
+
/** A resolved Honua source: either an SDK surface instance or `null` for native MapLibre sources. */
|
|
20
|
+
export type ResolvedMapSource = HonuaFeatureLayer | HonuaMapService | HonuaOgcFeatureCollection | HonuaWms | HonuaWmsLayer | HonuaWmts | HonuaWmtsLayer | HonuaWmtsTileset | null;
|
|
21
|
+
/** Options for constructing a {@link HonuaMap}. */
|
|
22
|
+
export interface HonuaMapOptions {
|
|
23
|
+
/** The Honua client used to instantiate protocol surfaces. */
|
|
24
|
+
client: HonuaClient;
|
|
25
|
+
/** Optional initial style. Sources and layers are loaded from this. */
|
|
26
|
+
style?: HonuaStyleSpecification;
|
|
27
|
+
}
|
|
28
|
+
/** Snapshot of a layer with its current properties. */
|
|
29
|
+
export interface LayerSnapshot extends HonuaLayerSpecification {
|
|
30
|
+
/** The source this layer references. */
|
|
31
|
+
source: string;
|
|
32
|
+
}
|
|
33
|
+
/** Events emitted by HonuaMap. */
|
|
34
|
+
export type HonuaMapEvent = {
|
|
35
|
+
type: "source-added";
|
|
36
|
+
sourceId: string;
|
|
37
|
+
} | {
|
|
38
|
+
type: "source-updated";
|
|
39
|
+
sourceId: string;
|
|
40
|
+
} | {
|
|
41
|
+
type: "source-removed";
|
|
42
|
+
sourceId: string;
|
|
43
|
+
} | {
|
|
44
|
+
type: "layer-added";
|
|
45
|
+
layerId: string;
|
|
46
|
+
} | {
|
|
47
|
+
type: "layer-updated";
|
|
48
|
+
layerId: string;
|
|
49
|
+
} | {
|
|
50
|
+
type: "layer-removed";
|
|
51
|
+
layerId: string;
|
|
52
|
+
} | {
|
|
53
|
+
type: "layer-moved";
|
|
54
|
+
layerId: string;
|
|
55
|
+
beforeId: string | undefined;
|
|
56
|
+
};
|
|
57
|
+
export type HonuaMapEventListener = (event: HonuaMapEvent) => void;
|
|
58
|
+
/**
|
|
59
|
+
* A protocol-aware map that separates data sources from rendering layers.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const map = new HonuaMap({ client });
|
|
64
|
+
*
|
|
65
|
+
* map.addSource("parcels", {
|
|
66
|
+
* type: "honua-feature-service",
|
|
67
|
+
* url: "https://gis.example.com/rest/services/parcels/FeatureServer/0",
|
|
68
|
+
* definitionExpression: "status = 'active'",
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* map.addLayer({
|
|
72
|
+
* id: "parcel-fill",
|
|
73
|
+
* source: "parcels",
|
|
74
|
+
* type: "fill",
|
|
75
|
+
* paint: { "fill-color": "#088", "fill-opacity": 0.5 },
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* map.addLayer({
|
|
79
|
+
* id: "parcel-labels",
|
|
80
|
+
* source: "parcels",
|
|
81
|
+
* type: "symbol",
|
|
82
|
+
* layout: { "text-field": ["get", "parcel_id"] },
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* // Access the underlying surface for queries
|
|
86
|
+
* const parcels = map.getSource("parcels"); // HonuaFeatureLayer
|
|
87
|
+
* const count = await (parcels as HonuaFeatureLayer).queryFeatureCount();
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare class HonuaMap {
|
|
91
|
+
#private;
|
|
92
|
+
constructor(options: HonuaMapOptions);
|
|
93
|
+
/**
|
|
94
|
+
* Register a named data source.
|
|
95
|
+
*
|
|
96
|
+
* Honua sources (`honua-feature-service`, `honua-map-service`,
|
|
97
|
+
* `honua-ogc-features`) are resolved into SDK surface instances.
|
|
98
|
+
* Native MapLibre sources (`vector`, `raster`, `geojson`) are stored
|
|
99
|
+
* as-is and resolve to `null`.
|
|
100
|
+
*
|
|
101
|
+
* @throws If a source with the same name already exists.
|
|
102
|
+
*/
|
|
103
|
+
addSource(name: string, spec: HonuaSourceSpecification | {
|
|
104
|
+
type: string;
|
|
105
|
+
[key: string]: unknown;
|
|
106
|
+
}): void;
|
|
107
|
+
/**
|
|
108
|
+
* Remove a named data source and all layers that reference it.
|
|
109
|
+
*
|
|
110
|
+
* @returns The IDs of layers that were removed.
|
|
111
|
+
*/
|
|
112
|
+
removeSource(name: string): string[];
|
|
113
|
+
/**
|
|
114
|
+
* Get the resolved SDK surface for a source.
|
|
115
|
+
*
|
|
116
|
+
* Returns `null` for native MapLibre sources (they should be handled
|
|
117
|
+
* by MapLibre directly). Returns `undefined` if the source does not exist.
|
|
118
|
+
*/
|
|
119
|
+
getSource(name: string): ResolvedMapSource | undefined;
|
|
120
|
+
/** Get the raw specification for a source. */
|
|
121
|
+
getSourceSpec(name: string): HonuaSourceSpecification | {
|
|
122
|
+
type: string;
|
|
123
|
+
[key: string]: unknown;
|
|
124
|
+
} | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Replace a source specification while preserving layers that reference it.
|
|
127
|
+
*
|
|
128
|
+
* This updates the resolved SDK surface for Honua custom source types and
|
|
129
|
+
* leaves render layers in place so callers can decide how to patch the
|
|
130
|
+
* renderer.
|
|
131
|
+
*
|
|
132
|
+
* @throws If the source does not exist.
|
|
133
|
+
*/
|
|
134
|
+
updateSource(name: string, spec: HonuaSourceSpecification | {
|
|
135
|
+
type: string;
|
|
136
|
+
[key: string]: unknown;
|
|
137
|
+
}): void;
|
|
138
|
+
/** Check whether a source with the given name exists. */
|
|
139
|
+
hasSource(name: string): boolean;
|
|
140
|
+
/** Get all registered source names. */
|
|
141
|
+
get sourceIds(): string[];
|
|
142
|
+
/**
|
|
143
|
+
* Add a rendering layer.
|
|
144
|
+
*
|
|
145
|
+
* Layers reference a source by name. Multiple layers can reference the
|
|
146
|
+
* same source (e.g. a fill layer and a symbol layer over the same
|
|
147
|
+
* Feature Service).
|
|
148
|
+
*
|
|
149
|
+
* @param spec - Layer specification (must include `id`, `source`, `type`).
|
|
150
|
+
* @param beforeId - Insert this layer before the layer with this ID.
|
|
151
|
+
* If omitted, appends to the end.
|
|
152
|
+
* @throws If the referenced source does not exist.
|
|
153
|
+
* @throws If a layer with the same ID already exists.
|
|
154
|
+
*/
|
|
155
|
+
addLayer(spec: HonuaLayerSpecification, beforeId?: string): void;
|
|
156
|
+
/** Remove a layer by ID. Returns `true` if the layer was found and removed. */
|
|
157
|
+
removeLayer(id: string): boolean;
|
|
158
|
+
/** Get a layer specification by ID. */
|
|
159
|
+
getLayer(id: string): HonuaLayerSpecification | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Patch a layer specification by ID. The layer ID remains stable.
|
|
162
|
+
*
|
|
163
|
+
* @throws If the layer does not exist.
|
|
164
|
+
* @throws If the patched source does not exist.
|
|
165
|
+
*/
|
|
166
|
+
updateLayer(id: string, patch: Partial<Omit<HonuaLayerSpecification, "id">>): HonuaLayerSpecification;
|
|
167
|
+
/** Check whether a layer with the given ID exists. */
|
|
168
|
+
hasLayer(id: string): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Move a layer to a new position in the render order.
|
|
171
|
+
*
|
|
172
|
+
* @param id - The layer to move.
|
|
173
|
+
* @param beforeId - Place it before this layer. If omitted, moves to end.
|
|
174
|
+
*/
|
|
175
|
+
moveLayer(id: string, beforeId?: string): void;
|
|
176
|
+
/** Get all layer IDs in render order. */
|
|
177
|
+
get layerIds(): string[];
|
|
178
|
+
/** Get all layers in render order. */
|
|
179
|
+
get layers(): ReadonlyArray<HonuaLayerSpecification>;
|
|
180
|
+
/** Get all layers that reference a given source. */
|
|
181
|
+
getLayersForSource(sourceId: string): HonuaLayerSpecification[];
|
|
182
|
+
/**
|
|
183
|
+
* Produce a MapLibre-compatible style specification.
|
|
184
|
+
*
|
|
185
|
+
* Honua sources are included with their original custom `type` values.
|
|
186
|
+
* Use this to feed into a MapLibre map via `map.setStyle(honuaMap.toStyle())`
|
|
187
|
+
* alongside a MapLibre source-type plugin that handles the Honua types.
|
|
188
|
+
*/
|
|
189
|
+
toStyle(options?: {
|
|
190
|
+
name?: string;
|
|
191
|
+
}): HonuaStyleSpecification;
|
|
192
|
+
/** Subscribe to map structure changes. Returns a remove handle. */
|
|
193
|
+
on(listener: HonuaMapEventListener): {
|
|
194
|
+
remove(): void;
|
|
195
|
+
};
|
|
196
|
+
/** Number of registered sources. */
|
|
197
|
+
get sourceCount(): number;
|
|
198
|
+
/** Number of registered layers. */
|
|
199
|
+
get layerCount(): number;
|
|
200
|
+
/** Remove all sources and layers. */
|
|
201
|
+
clear(): void;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=honua-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"honua-map.d.ts","sourceRoot":"","sources":["../../../src/map/honua-map.ts"],"names":[],"mappings":"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"}
|