@honua/react 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +9 -0
  3. package/contract/analytics-sources.d.ts +149 -0
  4. package/contract/analytics-sources.d.ts.map +1 -0
  5. package/contract/analytics-sources.js +235 -0
  6. package/contract/edit-session.d.ts +203 -0
  7. package/contract/edit-session.d.ts.map +1 -0
  8. package/contract/edit-session.js +760 -0
  9. package/contract/edit-sketch.d.ts +91 -0
  10. package/contract/edit-sketch.d.ts.map +1 -0
  11. package/contract/edit-sketch.js +281 -0
  12. package/contract/index.d.ts +61 -0
  13. package/contract/index.d.ts.map +1 -0
  14. package/contract/index.js +51 -0
  15. package/contract/jobs.d.ts +149 -0
  16. package/contract/jobs.d.ts.map +1 -0
  17. package/contract/jobs.js +40 -0
  18. package/contract/source.d.ts +423 -0
  19. package/contract/source.d.ts.map +1 -0
  20. package/contract/source.js +3802 -0
  21. package/contract/spatial-aggregation.d.ts +336 -0
  22. package/contract/spatial-aggregation.d.ts.map +1 -0
  23. package/contract/spatial-aggregation.js +298 -0
  24. package/contract/temporal.d.ts +455 -0
  25. package/contract/temporal.d.ts.map +1 -0
  26. package/contract/temporal.js +146 -0
  27. package/contract/tiles.d.ts +370 -0
  28. package/contract/tiles.d.ts.map +1 -0
  29. package/contract/tiles.js +519 -0
  30. package/contract/types.d.ts +665 -0
  31. package/contract/types.d.ts.map +1 -0
  32. package/contract/types.js +175 -0
  33. package/contract/widget-source.d.ts +205 -0
  34. package/contract/widget-source.d.ts.map +1 -0
  35. package/contract/widget-source.js +1473 -0
  36. package/control-plane/client.d.ts +95 -0
  37. package/control-plane/client.d.ts.map +1 -0
  38. package/control-plane/client.js +374 -0
  39. package/control-plane/index.d.ts +18 -0
  40. package/control-plane/index.d.ts.map +1 -0
  41. package/control-plane/index.js +14 -0
  42. package/control-plane/types.d.ts +233 -0
  43. package/control-plane/types.d.ts.map +1 -0
  44. package/control-plane/types.js +7 -0
  45. package/core/batch.d.ts +37 -0
  46. package/core/batch.d.ts.map +1 -0
  47. package/core/batch.js +79 -0
  48. package/core/cache-state.d.ts +79 -0
  49. package/core/cache-state.d.ts.map +1 -0
  50. package/core/cache-state.js +87 -0
  51. package/core/client.d.ts +577 -0
  52. package/core/client.d.ts.map +1 -0
  53. package/core/client.js +1664 -0
  54. package/core/compatibility.d.ts +18 -0
  55. package/core/compatibility.d.ts.map +1 -0
  56. package/core/compatibility.js +245 -0
  57. package/core/errors.d.ts +107 -0
  58. package/core/errors.d.ts.map +1 -0
  59. package/core/errors.js +156 -0
  60. package/core/esri-geojson.d.ts +66 -0
  61. package/core/esri-geojson.d.ts.map +1 -0
  62. package/core/esri-geojson.js +363 -0
  63. package/core/geoservices.d.ts +34 -0
  64. package/core/geoservices.d.ts.map +1 -0
  65. package/core/geoservices.js +434 -0
  66. package/core/grpc-adapter.d.ts +23 -0
  67. package/core/grpc-adapter.d.ts.map +1 -0
  68. package/core/grpc-adapter.js +688 -0
  69. package/core/odata.d.ts +347 -0
  70. package/core/odata.d.ts.map +1 -0
  71. package/core/odata.js +913 -0
  72. package/core/ogc-conformance.d.ts +35 -0
  73. package/core/ogc-conformance.d.ts.map +1 -0
  74. package/core/ogc-conformance.js +134 -0
  75. package/core/ogc-features.d.ts +23 -0
  76. package/core/ogc-features.d.ts.map +1 -0
  77. package/core/ogc-features.js +114 -0
  78. package/core/ogc-maps.d.ts +49 -0
  79. package/core/ogc-maps.d.ts.map +1 -0
  80. package/core/ogc-maps.js +126 -0
  81. package/core/ogc-processes.d.ts +118 -0
  82. package/core/ogc-processes.d.ts.map +1 -0
  83. package/core/ogc-processes.js +423 -0
  84. package/core/ogc-records.d.ts +75 -0
  85. package/core/ogc-records.d.ts.map +1 -0
  86. package/core/ogc-records.js +251 -0
  87. package/core/ogc-tiles.d.ts +125 -0
  88. package/core/ogc-tiles.d.ts.map +1 -0
  89. package/core/ogc-tiles.js +183 -0
  90. package/core/path-utils.d.ts +69 -0
  91. package/core/path-utils.d.ts.map +1 -0
  92. package/core/path-utils.js +123 -0
  93. package/core/pbf-decoder.d.ts +39 -0
  94. package/core/pbf-decoder.d.ts.map +1 -0
  95. package/core/pbf-decoder.js +702 -0
  96. package/core/process-runner.d.ts +104 -0
  97. package/core/process-runner.d.ts.map +1 -0
  98. package/core/process-runner.js +315 -0
  99. package/core/protocol-transport.d.ts +76 -0
  100. package/core/protocol-transport.d.ts.map +1 -0
  101. package/core/protocol-transport.js +15 -0
  102. package/core/query-builder.d.ts +261 -0
  103. package/core/query-builder.d.ts.map +1 -0
  104. package/core/query-builder.js +538 -0
  105. package/core/request-pipeline.d.ts +88 -0
  106. package/core/request-pipeline.d.ts.map +1 -0
  107. package/core/request-pipeline.js +273 -0
  108. package/core/spatial-filter.d.ts +93 -0
  109. package/core/spatial-filter.d.ts.map +1 -0
  110. package/core/spatial-filter.js +153 -0
  111. package/core/stac.d.ts +55 -0
  112. package/core/stac.d.ts.map +1 -0
  113. package/core/stac.js +229 -0
  114. package/core/surfaces.d.ts +527 -0
  115. package/core/surfaces.d.ts.map +1 -0
  116. package/core/surfaces.js +1917 -0
  117. package/core/terrain-elevation.d.ts +114 -0
  118. package/core/terrain-elevation.d.ts.map +1 -0
  119. package/core/terrain-elevation.js +150 -0
  120. package/core/types.d.ts +1355 -0
  121. package/core/types.d.ts.map +1 -0
  122. package/core/types.js +13 -0
  123. package/core/wfs-capabilities.d.ts +143 -0
  124. package/core/wfs-capabilities.d.ts.map +1 -0
  125. package/core/wfs-capabilities.js +478 -0
  126. package/core/wfs-filter.d.ts +118 -0
  127. package/core/wfs-filter.d.ts.map +1 -0
  128. package/core/wfs-filter.js +634 -0
  129. package/core/wfs.d.ts +219 -0
  130. package/core/wfs.d.ts.map +1 -0
  131. package/core/wfs.js +406 -0
  132. package/core/wire-shared.d.ts +32 -0
  133. package/core/wire-shared.d.ts.map +1 -0
  134. package/core/wire-shared.js +76 -0
  135. package/core/wms-axis.d.ts +36 -0
  136. package/core/wms-axis.d.ts.map +1 -0
  137. package/core/wms-axis.js +73 -0
  138. package/core/wms-capabilities.d.ts +110 -0
  139. package/core/wms-capabilities.d.ts.map +1 -0
  140. package/core/wms-capabilities.js +559 -0
  141. package/core/wms-types.d.ts +128 -0
  142. package/core/wms-types.d.ts.map +1 -0
  143. package/core/wms-types.js +32 -0
  144. package/core/wms.d.ts +144 -0
  145. package/core/wms.d.ts.map +1 -0
  146. package/core/wms.js +338 -0
  147. package/core/wmts-capabilities.d.ts +82 -0
  148. package/core/wmts-capabilities.d.ts.map +1 -0
  149. package/core/wmts-capabilities.js +402 -0
  150. package/core/wmts.d.ts +103 -0
  151. package/core/wmts.d.ts.map +1 -0
  152. package/core/wmts.js +332 -0
  153. package/core/xml-text.d.ts +20 -0
  154. package/core/xml-text.d.ts.map +1 -0
  155. package/core/xml-text.js +85 -0
  156. package/esri-compat/basemap-gallery.d.ts +38 -0
  157. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  158. package/esri-compat/basemap-gallery.js +159 -0
  159. package/esri-compat/basemap-layer-list.d.ts +35 -0
  160. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  161. package/esri-compat/basemap-layer-list.js +139 -0
  162. package/esri-compat/basemap.d.ts +32 -0
  163. package/esri-compat/basemap.d.ts.map +1 -0
  164. package/esri-compat/basemap.js +84 -0
  165. package/esri-compat/bookmarks.d.ts +36 -0
  166. package/esri-compat/bookmarks.d.ts.map +1 -0
  167. package/esri-compat/bookmarks.js +108 -0
  168. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  169. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  170. package/esri-compat/class-breaks-renderer.js +164 -0
  171. package/esri-compat/color.d.ts +22 -0
  172. package/esri-compat/color.d.ts.map +1 -0
  173. package/esri-compat/color.js +106 -0
  174. package/esri-compat/controls.d.ts +174 -0
  175. package/esri-compat/controls.d.ts.map +1 -0
  176. package/esri-compat/controls.js +479 -0
  177. package/esri-compat/coordinate-conversion.d.ts +41 -0
  178. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  179. package/esri-compat/coordinate-conversion.js +125 -0
  180. package/esri-compat/directions.d.ts +45 -0
  181. package/esri-compat/directions.d.ts.map +1 -0
  182. package/esri-compat/directions.js +123 -0
  183. package/esri-compat/editor.d.ts +47 -0
  184. package/esri-compat/editor.d.ts.map +1 -0
  185. package/esri-compat/editor.js +170 -0
  186. package/esri-compat/esri-config.d.ts +16 -0
  187. package/esri-compat/esri-config.d.ts.map +1 -0
  188. package/esri-compat/esri-config.js +23 -0
  189. package/esri-compat/esri-request.d.ts +17 -0
  190. package/esri-compat/esri-request.d.ts.map +1 -0
  191. package/esri-compat/esri-request.js +127 -0
  192. package/esri-compat/event-bus.d.ts +106 -0
  193. package/esri-compat/event-bus.d.ts.map +1 -0
  194. package/esri-compat/event-bus.js +90 -0
  195. package/esri-compat/expand.d.ts +36 -0
  196. package/esri-compat/expand.d.ts.map +1 -0
  197. package/esri-compat/expand.js +97 -0
  198. package/esri-compat/extent.d.ts +43 -0
  199. package/esri-compat/extent.d.ts.map +1 -0
  200. package/esri-compat/extent.js +140 -0
  201. package/esri-compat/feature-filter.d.ts +55 -0
  202. package/esri-compat/feature-filter.d.ts.map +1 -0
  203. package/esri-compat/feature-filter.js +109 -0
  204. package/esri-compat/feature-form.d.ts +64 -0
  205. package/esri-compat/feature-form.d.ts.map +1 -0
  206. package/esri-compat/feature-form.js +137 -0
  207. package/esri-compat/feature-layer.d.ts +173 -0
  208. package/esri-compat/feature-layer.d.ts.map +1 -0
  209. package/esri-compat/feature-layer.js +661 -0
  210. package/esri-compat/feature-set.d.ts +32 -0
  211. package/esri-compat/feature-set.d.ts.map +1 -0
  212. package/esri-compat/feature-set.js +80 -0
  213. package/esri-compat/feature-table.d.ts +141 -0
  214. package/esri-compat/feature-table.d.ts.map +1 -0
  215. package/esri-compat/feature-table.js +500 -0
  216. package/esri-compat/feature-templates.d.ts +41 -0
  217. package/esri-compat/feature-templates.d.ts.map +1 -0
  218. package/esri-compat/feature-templates.js +97 -0
  219. package/esri-compat/feature.d.ts +33 -0
  220. package/esri-compat/feature.d.ts.map +1 -0
  221. package/esri-compat/feature.js +83 -0
  222. package/esri-compat/geojson-layer.d.ts +86 -0
  223. package/esri-compat/geojson-layer.d.ts.map +1 -0
  224. package/esri-compat/geojson-layer.js +191 -0
  225. package/esri-compat/geometry-engine.d.ts +107 -0
  226. package/esri-compat/geometry-engine.d.ts.map +1 -0
  227. package/esri-compat/geometry-engine.js +266 -0
  228. package/esri-compat/graphic.d.ts +46 -0
  229. package/esri-compat/graphic.d.ts.map +1 -0
  230. package/esri-compat/graphic.js +103 -0
  231. package/esri-compat/graphics-layer.d.ts +49 -0
  232. package/esri-compat/graphics-layer.d.ts.map +1 -0
  233. package/esri-compat/graphics-layer.js +185 -0
  234. package/esri-compat/group-layer.d.ts +48 -0
  235. package/esri-compat/group-layer.d.ts.map +1 -0
  236. package/esri-compat/group-layer.js +212 -0
  237. package/esri-compat/identify.d.ts +71 -0
  238. package/esri-compat/identify.d.ts.map +1 -0
  239. package/esri-compat/identify.js +299 -0
  240. package/esri-compat/identity-manager.d.ts +31 -0
  241. package/esri-compat/identity-manager.d.ts.map +1 -0
  242. package/esri-compat/identity-manager.js +115 -0
  243. package/esri-compat/imagery-layer.d.ts +78 -0
  244. package/esri-compat/imagery-layer.d.ts.map +1 -0
  245. package/esri-compat/imagery-layer.js +167 -0
  246. package/esri-compat/label-class.d.ts +31 -0
  247. package/esri-compat/label-class.d.ts.map +1 -0
  248. package/esri-compat/label-class.js +102 -0
  249. package/esri-compat/layer-list.d.ts +77 -0
  250. package/esri-compat/layer-list.d.ts.map +1 -0
  251. package/esri-compat/layer-list.js +342 -0
  252. package/esri-compat/legend.d.ts +53 -0
  253. package/esri-compat/legend.d.ts.map +1 -0
  254. package/esri-compat/legend.js +254 -0
  255. package/esri-compat/map-image-layer.d.ts +162 -0
  256. package/esri-compat/map-image-layer.d.ts.map +1 -0
  257. package/esri-compat/map-image-layer.js +709 -0
  258. package/esri-compat/map-view.d.ts +323 -0
  259. package/esri-compat/map-view.d.ts.map +1 -0
  260. package/esri-compat/map-view.js +1175 -0
  261. package/esri-compat/map.d.ts +47 -0
  262. package/esri-compat/map.d.ts.map +1 -0
  263. package/esri-compat/map.js +209 -0
  264. package/esri-compat/measurement-2d.d.ts +61 -0
  265. package/esri-compat/measurement-2d.d.ts.map +1 -0
  266. package/esri-compat/measurement-2d.js +184 -0
  267. package/esri-compat/measurement.d.ts +45 -0
  268. package/esri-compat/measurement.d.ts.map +1 -0
  269. package/esri-compat/measurement.js +193 -0
  270. package/esri-compat/oauth-info.d.ts +35 -0
  271. package/esri-compat/oauth-info.d.ts.map +1 -0
  272. package/esri-compat/oauth-info.js +115 -0
  273. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  274. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  275. package/esri-compat/picture-marker-symbol.js +126 -0
  276. package/esri-compat/point.d.ts +31 -0
  277. package/esri-compat/point.d.ts.map +1 -0
  278. package/esri-compat/point.js +102 -0
  279. package/esri-compat/polygon.d.ts +31 -0
  280. package/esri-compat/polygon.d.ts.map +1 -0
  281. package/esri-compat/polygon.js +107 -0
  282. package/esri-compat/polyline.d.ts +31 -0
  283. package/esri-compat/polyline.d.ts.map +1 -0
  284. package/esri-compat/polyline.js +107 -0
  285. package/esri-compat/popup-template.d.ts +55 -0
  286. package/esri-compat/popup-template.d.ts.map +1 -0
  287. package/esri-compat/popup-template.js +128 -0
  288. package/esri-compat/popup.d.ts +54 -0
  289. package/esri-compat/popup.d.ts.map +1 -0
  290. package/esri-compat/popup.js +312 -0
  291. package/esri-compat/print.d.ts +47 -0
  292. package/esri-compat/print.d.ts.map +1 -0
  293. package/esri-compat/print.js +105 -0
  294. package/esri-compat/query.d.ts +58 -0
  295. package/esri-compat/query.d.ts.map +1 -0
  296. package/esri-compat/query.js +128 -0
  297. package/esri-compat/reactive-utils.d.ts +24 -0
  298. package/esri-compat/reactive-utils.d.ts.map +1 -0
  299. package/esri-compat/reactive-utils.js +193 -0
  300. package/esri-compat/request.d.ts +41 -0
  301. package/esri-compat/request.d.ts.map +1 -0
  302. package/esri-compat/request.js +253 -0
  303. package/esri-compat/route-layer.d.ts +59 -0
  304. package/esri-compat/route-layer.d.ts.map +1 -0
  305. package/esri-compat/route-layer.js +223 -0
  306. package/esri-compat/route-task.d.ts +88 -0
  307. package/esri-compat/route-task.d.ts.map +1 -0
  308. package/esri-compat/route-task.js +225 -0
  309. package/esri-compat/scene-view.d.ts +41 -0
  310. package/esri-compat/scene-view.d.ts.map +1 -0
  311. package/esri-compat/scene-view.js +68 -0
  312. package/esri-compat/search.d.ts +112 -0
  313. package/esri-compat/search.d.ts.map +1 -0
  314. package/esri-compat/search.js +820 -0
  315. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  316. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  317. package/esri-compat/simple-fill-symbol.js +85 -0
  318. package/esri-compat/simple-line-symbol.d.ts +27 -0
  319. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  320. package/esri-compat/simple-line-symbol.js +85 -0
  321. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  322. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  323. package/esri-compat/simple-marker-symbol.js +92 -0
  324. package/esri-compat/simple-renderer.d.ts +29 -0
  325. package/esri-compat/simple-renderer.d.ts.map +1 -0
  326. package/esri-compat/simple-renderer.js +92 -0
  327. package/esri-compat/sketch.d.ts +64 -0
  328. package/esri-compat/sketch.d.ts.map +1 -0
  329. package/esri-compat/sketch.js +227 -0
  330. package/esri-compat/spatial-reference.d.ts +31 -0
  331. package/esri-compat/spatial-reference.d.ts.map +1 -0
  332. package/esri-compat/spatial-reference.js +102 -0
  333. package/esri-compat/swipe.d.ts +34 -0
  334. package/esri-compat/swipe.d.ts.map +1 -0
  335. package/esri-compat/swipe.js +93 -0
  336. package/esri-compat/table-list.d.ts +36 -0
  337. package/esri-compat/table-list.d.ts.map +1 -0
  338. package/esri-compat/table-list.js +126 -0
  339. package/esri-compat/text-symbol.d.ts +37 -0
  340. package/esri-compat/text-symbol.d.ts.map +1 -0
  341. package/esri-compat/text-symbol.js +123 -0
  342. package/esri-compat/tile-layer.d.ts +52 -0
  343. package/esri-compat/tile-layer.d.ts.map +1 -0
  344. package/esri-compat/tile-layer.js +168 -0
  345. package/esri-compat/time-slider.d.ts +70 -0
  346. package/esri-compat/time-slider.d.ts.map +1 -0
  347. package/esri-compat/time-slider.js +208 -0
  348. package/esri-compat/track.d.ts +51 -0
  349. package/esri-compat/track.d.ts.map +1 -0
  350. package/esri-compat/track.js +174 -0
  351. package/esri-compat/unique-value-renderer.d.ts +41 -0
  352. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  353. package/esri-compat/unique-value-renderer.js +127 -0
  354. package/esri-compat/url.d.ts +13 -0
  355. package/esri-compat/url.d.ts.map +1 -0
  356. package/esri-compat/url.js +68 -0
  357. package/esri-compat/vector-tile-layer.d.ts +47 -0
  358. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  359. package/esri-compat/vector-tile-layer.js +130 -0
  360. package/esri-compat/web-map.d.ts +14 -0
  361. package/esri-compat/web-map.d.ts.map +1 -0
  362. package/esri-compat/web-map.js +24 -0
  363. package/esri-compat/wfs-layer.d.ts +64 -0
  364. package/esri-compat/wfs-layer.d.ts.map +1 -0
  365. package/esri-compat/wfs-layer.js +145 -0
  366. package/esri-compat/wms-layer.d.ts +76 -0
  367. package/esri-compat/wms-layer.d.ts.map +1 -0
  368. package/esri-compat/wms-layer.js +157 -0
  369. package/exploration/context.d.ts +25 -0
  370. package/exploration/context.d.ts.map +1 -0
  371. package/exploration/context.js +396 -0
  372. package/exploration/index.d.ts +27 -0
  373. package/exploration/index.d.ts.map +1 -0
  374. package/exploration/index.js +24 -0
  375. package/exploration/presets.d.ts +27 -0
  376. package/exploration/presets.d.ts.map +1 -0
  377. package/exploration/presets.js +114 -0
  378. package/exploration/reducer.d.ts +23 -0
  379. package/exploration/reducer.d.ts.map +1 -0
  380. package/exploration/reducer.js +332 -0
  381. package/exploration/selection.d.ts +25 -0
  382. package/exploration/selection.d.ts.map +1 -0
  383. package/exploration/selection.js +34 -0
  384. package/exploration/selectors.d.ts +56 -0
  385. package/exploration/selectors.d.ts.map +1 -0
  386. package/exploration/selectors.js +110 -0
  387. package/exploration/types.d.ts +294 -0
  388. package/exploration/types.d.ts.map +1 -0
  389. package/exploration/types.js +33 -0
  390. package/expr/expression.d.ts +457 -0
  391. package/expr/expression.d.ts.map +1 -0
  392. package/expr/expression.js +663 -0
  393. package/expr/index.d.ts +32 -0
  394. package/expr/index.d.ts.map +1 -0
  395. package/expr/index.js +30 -0
  396. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  397. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  398. package/gen/honua/v1/feature_service_pb.js +375 -0
  399. package/generated-app/errors.d.ts +41 -0
  400. package/generated-app/errors.d.ts.map +1 -0
  401. package/generated-app/errors.js +41 -0
  402. package/generated-app/index.d.ts +17 -0
  403. package/generated-app/index.d.ts.map +1 -0
  404. package/generated-app/index.js +12 -0
  405. package/generated-app/manifest.d.ts +183 -0
  406. package/generated-app/manifest.d.ts.map +1 -0
  407. package/generated-app/manifest.js +14 -0
  408. package/generated-app/projection.d.ts +44 -0
  409. package/generated-app/projection.d.ts.map +1 -0
  410. package/generated-app/projection.js +234 -0
  411. package/generated-app/runtime.d.ts +215 -0
  412. package/generated-app/runtime.d.ts.map +1 -0
  413. package/generated-app/runtime.js +1196 -0
  414. package/interactions/detail-model.d.ts +54 -0
  415. package/interactions/detail-model.d.ts.map +1 -0
  416. package/interactions/detail-model.js +105 -0
  417. package/interactions/exploration-bindings.d.ts +120 -0
  418. package/interactions/exploration-bindings.d.ts.map +1 -0
  419. package/interactions/exploration-bindings.js +218 -0
  420. package/interactions/feature-state.d.ts +144 -0
  421. package/interactions/feature-state.d.ts.map +1 -0
  422. package/interactions/feature-state.js +169 -0
  423. package/interactions/hit-test.d.ts +112 -0
  424. package/interactions/hit-test.d.ts.map +1 -0
  425. package/interactions/hit-test.js +291 -0
  426. package/interactions/index.d.ts +31 -0
  427. package/interactions/index.d.ts.map +1 -0
  428. package/interactions/index.js +24 -0
  429. package/interactions/share-state.d.ts +36 -0
  430. package/interactions/share-state.d.ts.map +1 -0
  431. package/interactions/share-state.js +123 -0
  432. package/map/feature-service-adapter.d.ts +138 -0
  433. package/map/feature-service-adapter.d.ts.map +1 -0
  434. package/map/feature-service-adapter.js +279 -0
  435. package/map/honua-map.d.ts +203 -0
  436. package/map/honua-map.d.ts.map +1 -0
  437. package/map/honua-map.js +347 -0
  438. package/map/index.d.ts +27 -0
  439. package/map/index.d.ts.map +1 -0
  440. package/map/index.js +22 -0
  441. package/map/maplibre-target.d.ts +103 -0
  442. package/map/maplibre-target.d.ts.map +1 -0
  443. package/map/maplibre-target.js +164 -0
  444. package/map/webmap-maplibre.d.ts +60 -0
  445. package/map/webmap-maplibre.d.ts.map +1 -0
  446. package/map/webmap-maplibre.js +212 -0
  447. package/package.json +37 -0
  448. package/react/context.d.ts +32 -0
  449. package/react/context.d.ts.map +1 -0
  450. package/react/context.js +19 -0
  451. package/react/honua-layer.d.ts +35 -0
  452. package/react/honua-layer.d.ts.map +1 -0
  453. package/react/honua-layer.js +47 -0
  454. package/react/honua-map.d.ts +83 -0
  455. package/react/honua-map.d.ts.map +1 -0
  456. package/react/honua-map.js +109 -0
  457. package/react/honua-popup.d.ts +26 -0
  458. package/react/honua-popup.d.ts.map +1 -0
  459. package/react/honua-popup.js +34 -0
  460. package/react/hooks.d.ts +127 -0
  461. package/react/hooks.d.ts.map +1 -0
  462. package/react/hooks.js +206 -0
  463. package/react/index.d.ts +42 -0
  464. package/react/index.d.ts.map +1 -0
  465. package/react/index.js +34 -0
  466. package/react/provider.d.ts +36 -0
  467. package/react/provider.d.ts.map +1 -0
  468. package/react/provider.js +35 -0
  469. package/react/query-cache.d.ts +76 -0
  470. package/react/query-cache.d.ts.map +1 -0
  471. package/react/query-cache.js +188 -0
  472. package/runtime/diff.d.ts +31 -0
  473. package/runtime/diff.d.ts.map +1 -0
  474. package/runtime/diff.js +143 -0
  475. package/runtime/errors.d.ts +40 -0
  476. package/runtime/errors.d.ts.map +1 -0
  477. package/runtime/errors.js +35 -0
  478. package/runtime/index.d.ts +59 -0
  479. package/runtime/index.d.ts.map +1 -0
  480. package/runtime/index.js +43 -0
  481. package/runtime/legend.d.ts +23 -0
  482. package/runtime/legend.d.ts.map +1 -0
  483. package/runtime/legend.js +38 -0
  484. package/runtime/load-package.d.ts +125 -0
  485. package/runtime/load-package.d.ts.map +1 -0
  486. package/runtime/load-package.js +264 -0
  487. package/runtime/map-package-fetch.d.ts +107 -0
  488. package/runtime/map-package-fetch.d.ts.map +1 -0
  489. package/runtime/map-package-fetch.js +336 -0
  490. package/runtime/map-package-realtime.d.ts +169 -0
  491. package/runtime/map-package-realtime.d.ts.map +1 -0
  492. package/runtime/map-package-realtime.js +350 -0
  493. package/runtime/map-package-validation.d.ts +43 -0
  494. package/runtime/map-package-validation.d.ts.map +1 -0
  495. package/runtime/map-package-validation.js +269 -0
  496. package/runtime/map-package-watch.d.ts +78 -0
  497. package/runtime/map-package-watch.d.ts.map +1 -0
  498. package/runtime/map-package-watch.js +695 -0
  499. package/runtime/map-package.d.ts +167 -0
  500. package/runtime/map-package.d.ts.map +1 -0
  501. package/runtime/map-package.js +15 -0
  502. package/runtime/ogc-styles.d.ts +110 -0
  503. package/runtime/ogc-styles.d.ts.map +1 -0
  504. package/runtime/ogc-styles.js +195 -0
  505. package/runtime/popups.d.ts +62 -0
  506. package/runtime/popups.d.ts.map +1 -0
  507. package/runtime/popups.js +95 -0
  508. package/runtime/query-tiles.d.ts +217 -0
  509. package/runtime/query-tiles.d.ts.map +1 -0
  510. package/runtime/query-tiles.js +801 -0
  511. package/runtime/runtime.d.ts +243 -0
  512. package/runtime/runtime.d.ts.map +1 -0
  513. package/runtime/runtime.js +1147 -0
  514. package/runtime/source-bridge.d.ts +99 -0
  515. package/runtime/source-bridge.d.ts.map +1 -0
  516. package/runtime/source-bridge.js +401 -0
  517. package/runtime/style-compose.d.ts +46 -0
  518. package/runtime/style-compose.d.ts.map +1 -0
  519. package/runtime/style-compose.js +144 -0
  520. package/runtime/style-interactions.d.ts +141 -0
  521. package/runtime/style-interactions.d.ts.map +1 -0
  522. package/runtime/style-interactions.js +574 -0
  523. package/runtime/style-spec-validation.d.ts +23 -0
  524. package/runtime/style-spec-validation.d.ts.map +1 -0
  525. package/runtime/style-spec-validation.js +357 -0
  526. package/studio/capability-manifest.d.ts +285 -0
  527. package/studio/capability-manifest.d.ts.map +1 -0
  528. package/studio/capability-manifest.js +59 -0
  529. package/studio/chart-spec.d.ts +85 -0
  530. package/studio/chart-spec.d.ts.map +1 -0
  531. package/studio/chart-spec.js +106 -0
  532. package/studio/index.d.ts +34 -0
  533. package/studio/index.d.ts.map +1 -0
  534. package/studio/index.js +27 -0
  535. package/studio/provenance.d.ts +131 -0
  536. package/studio/provenance.d.ts.map +1 -0
  537. package/studio/provenance.js +39 -0
  538. package/studio/publish.d.ts +64 -0
  539. package/studio/publish.d.ts.map +1 -0
  540. package/studio/publish.js +13 -0
  541. package/studio/types.d.ts +278 -0
  542. package/studio/types.d.ts.map +1 -0
  543. package/studio/types.js +71 -0
  544. package/studio/validate.d.ts +45 -0
  545. package/studio/validate.d.ts.map +1 -0
  546. package/studio/validate.js +255 -0
  547. package/studio/validation.d.ts +112 -0
  548. package/studio/validation.d.ts.map +1 -0
  549. package/studio/validation.js +42 -0
  550. package/style/factory.d.ts +30 -0
  551. package/style/factory.d.ts.map +1 -0
  552. package/style/factory.js +61 -0
  553. package/style/index.d.ts +25 -0
  554. package/style/index.d.ts.map +1 -0
  555. package/style/index.js +24 -0
  556. package/style/specification.d.ts +203 -0
  557. package/style/specification.d.ts.map +1 -0
  558. package/style/specification.js +178 -0
  559. package/style/wms-wmts-resolvers.d.ts +38 -0
  560. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  561. package/style/wms-wmts-resolvers.js +92 -0
  562. package/webmap/contract.d.ts +28 -0
  563. package/webmap/contract.d.ts.map +1 -0
  564. package/webmap/contract.js +130 -0
  565. package/webmap/convert-basemap.d.ts +17 -0
  566. package/webmap/convert-basemap.d.ts.map +1 -0
  567. package/webmap/convert-basemap.js +78 -0
  568. package/webmap/convert-extent.d.ts +17 -0
  569. package/webmap/convert-extent.d.ts.map +1 -0
  570. package/webmap/convert-extent.js +114 -0
  571. package/webmap/convert-label.d.ts +13 -0
  572. package/webmap/convert-label.d.ts.map +1 -0
  573. package/webmap/convert-label.js +125 -0
  574. package/webmap/convert-layer.d.ts +22 -0
  575. package/webmap/convert-layer.d.ts.map +1 -0
  576. package/webmap/convert-layer.js +181 -0
  577. package/webmap/convert-popup.d.ts +34 -0
  578. package/webmap/convert-popup.d.ts.map +1 -0
  579. package/webmap/convert-popup.js +68 -0
  580. package/webmap/convert-renderer.d.ts +17 -0
  581. package/webmap/convert-renderer.d.ts.map +1 -0
  582. package/webmap/convert-renderer.js +161 -0
  583. package/webmap/convert-symbol.d.ts +17 -0
  584. package/webmap/convert-symbol.d.ts.map +1 -0
  585. package/webmap/convert-symbol.js +122 -0
  586. package/webmap/index.d.ts +44 -0
  587. package/webmap/index.d.ts.map +1 -0
  588. package/webmap/index.js +33 -0
  589. package/webmap/parse.d.ts +25 -0
  590. package/webmap/parse.d.ts.map +1 -0
  591. package/webmap/parse.js +83 -0
  592. package/webmap/types.d.ts +264 -0
  593. package/webmap/types.d.ts.map +1 -0
  594. package/webmap/types.js +13 -0
  595. package/webmap/warnings.d.ts +30 -0
  596. package/webmap/warnings.d.ts.map +1 -0
  597. package/webmap/warnings.js +37 -0
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Unified validation and preview response envelopes shared across every
3
+ * Studio package family and across the SDK, Console, MCP, and QGIS clients.
4
+ *
5
+ * The existing {@link ValidateMapPackageResult} (map family) stays unchanged;
6
+ * {@link toStudioValidationResponse} and {@link fromMapPackageValidation}
7
+ * adapt it into the generic {@link StudioPackageValidationResponse} envelope
8
+ * without renaming or restructuring it. {@link HonuaMapPackageDiagnostic} is
9
+ * already a structural subtype of {@link StudioPackageDiagnostic}.
10
+ *
11
+ * @experimental Not yet covered by the SDK's semver contract — these shapes
12
+ * may change in any minor release prior to `1.0.0`.
13
+ * @module
14
+ */
15
+ import type { ValidateMapPackageResult } from "../runtime/map-package-validation.js";
16
+ import type { HonuaMapPackage } from "../runtime/map-package.js";
17
+ import type { HonuaStudioPackageFamily } from "./types.js";
18
+ /**
19
+ * Severity of a single {@link StudioPackageDiagnostic}. Matches the frozen
20
+ * server / honua-sdk-dotnet `StudioPackageDiagnosticSeverity` enum members
21
+ * (`info`, `warning`, `error`, `blocker`); the map-package validator emits only
22
+ * `error`/`warning`, which remain assignable.
23
+ */
24
+ export type StudioPackageDiagnosticSeverity = "info" | "warning" | "error" | "blocker";
25
+ /**
26
+ * One diagnostic emitted while validating a Studio package. The shape is a
27
+ * superset-compatible mirror of `HonuaMapPackageDiagnostic` so the map
28
+ * validator's output adapts without conversion.
29
+ *
30
+ * @experimental
31
+ */
32
+ export interface StudioPackageDiagnostic {
33
+ readonly code: string;
34
+ readonly severity: StudioPackageDiagnosticSeverity;
35
+ readonly message: string;
36
+ readonly path?: string;
37
+ readonly detail?: unknown;
38
+ }
39
+ /**
40
+ * Generic validation response envelope. Every package family returns the
41
+ * same `{ valid, diagnostics, pkg? }` shape, so SDK, Console, MCP, and QGIS
42
+ * clients consume one contract.
43
+ *
44
+ * @experimental
45
+ */
46
+ export interface StudioPackageValidationResponse<T> {
47
+ readonly valid: boolean;
48
+ readonly diagnostics: readonly StudioPackageDiagnostic[];
49
+ readonly pkg?: T;
50
+ }
51
+ /** Reference to a server-rendered preview artifact for a package. */
52
+ export interface StudioPreviewArtifactRef {
53
+ readonly id?: string;
54
+ readonly kind?: string;
55
+ readonly url?: string;
56
+ readonly mediaType?: string;
57
+ readonly [extra: string]: unknown;
58
+ }
59
+ /**
60
+ * Generic preview response envelope returned when a package is previewed
61
+ * (composed without publishing). Diagnostics reuse the validation shape.
62
+ *
63
+ * @experimental
64
+ */
65
+ export interface StudioPackagePreviewResponse<T> {
66
+ readonly packageId?: string;
67
+ readonly packageFamily?: HonuaStudioPackageFamily | (string & {});
68
+ readonly pkg?: T;
69
+ readonly diagnostics?: readonly StudioPackageDiagnostic[];
70
+ readonly artifacts?: readonly StudioPreviewArtifactRef[];
71
+ readonly expiresAt?: string;
72
+ readonly [extra: string]: unknown;
73
+ }
74
+ /**
75
+ * Loose shape a family-specific validation result must satisfy to be adapted
76
+ * by {@link toStudioValidationResponse}. Diagnostics carry no index signature
77
+ * so that results with extra diagnostic fields (e.g. `packageId` on
78
+ * {@link HonuaMapPackageDiagnostic}) — and results that carry a named package
79
+ * field alongside `valid`/`diagnostics` — assign without a structural index
80
+ * signature on the caller's type.
81
+ */
82
+ interface StudioValidationResultLike {
83
+ readonly valid: boolean;
84
+ readonly diagnostics: readonly {
85
+ readonly code: string;
86
+ readonly severity: StudioPackageDiagnosticSeverity;
87
+ readonly message: string;
88
+ readonly path?: string;
89
+ readonly detail?: unknown;
90
+ }[];
91
+ }
92
+ /**
93
+ * Adapt any family validation result — an object with `valid`, `diagnostics`,
94
+ * and a named package field — into the unified
95
+ * {@link StudioPackageValidationResponse}. `pkgKey` names the field holding
96
+ * the package (e.g. `"mapPackage"`). The package field is loosely typed; for
97
+ * the map family prefer the fully-typed {@link fromMapPackageValidation}.
98
+ *
99
+ * @experimental
100
+ */
101
+ export declare function toStudioValidationResponse<T>(result: StudioValidationResultLike, pkgKey: string): StudioPackageValidationResponse<T>;
102
+ /**
103
+ * Fully-typed convenience adapter from the map family's
104
+ * {@link ValidateMapPackageResult} to a
105
+ * {@link StudioPackageValidationResponse}. Equivalent to
106
+ * `toStudioValidationResponse<HonuaMapPackage>(result, "mapPackage")`.
107
+ *
108
+ * @experimental
109
+ */
110
+ export declare function fromMapPackageValidation(result: ValidateMapPackageResult): StudioPackageValidationResponse<HonuaMapPackage>;
111
+ export {};
112
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/studio/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,UAAU,0BAA0B;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;QACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;KAC3B,EAAE,CAAC;CACL;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,MAAM,GACb,+BAA+B,CAAC,CAAC,CAAC,CAOpC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,+BAA+B,CAAC,eAAe,CAAC,CAElD"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Unified validation and preview response envelopes shared across every
3
+ * Studio package family and across the SDK, Console, MCP, and QGIS clients.
4
+ *
5
+ * The existing {@link ValidateMapPackageResult} (map family) stays unchanged;
6
+ * {@link toStudioValidationResponse} and {@link fromMapPackageValidation}
7
+ * adapt it into the generic {@link StudioPackageValidationResponse} envelope
8
+ * without renaming or restructuring it. {@link HonuaMapPackageDiagnostic} is
9
+ * already a structural subtype of {@link StudioPackageDiagnostic}.
10
+ *
11
+ * @experimental Not yet covered by the SDK's semver contract — these shapes
12
+ * may change in any minor release prior to `1.0.0`.
13
+ * @module
14
+ */
15
+ /**
16
+ * Adapt any family validation result — an object with `valid`, `diagnostics`,
17
+ * and a named package field — into the unified
18
+ * {@link StudioPackageValidationResponse}. `pkgKey` names the field holding
19
+ * the package (e.g. `"mapPackage"`). The package field is loosely typed; for
20
+ * the map family prefer the fully-typed {@link fromMapPackageValidation}.
21
+ *
22
+ * @experimental
23
+ */
24
+ export function toStudioValidationResponse(result, pkgKey) {
25
+ const pkg = result[pkgKey];
26
+ return {
27
+ valid: result.valid,
28
+ diagnostics: [...result.diagnostics],
29
+ ...(pkg === undefined ? {} : { pkg: pkg }),
30
+ };
31
+ }
32
+ /**
33
+ * Fully-typed convenience adapter from the map family's
34
+ * {@link ValidateMapPackageResult} to a
35
+ * {@link StudioPackageValidationResponse}. Equivalent to
36
+ * `toStudioValidationResponse<HonuaMapPackage>(result, "mapPackage")`.
37
+ *
38
+ * @experimental
39
+ */
40
+ export function fromMapPackageValidation(result) {
41
+ return toStudioValidationResponse(result, "mapPackage");
42
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Style-to-source factory: creates Honua SDK surface instances from a
3
+ * HonuaStyleSpecification's source definitions.
4
+ *
5
+ * @module
6
+ */
7
+ import type { HonuaClient } from "../core/client.js";
8
+ import { HonuaFeatureLayer, HonuaMapService, type HonuaOgcFeatureCollection } from "../core/surfaces.js";
9
+ import type { HonuaWms, HonuaWmsLayer } from "../core/wms.js";
10
+ import type { HonuaWmts, HonuaWmtsTileset } from "../core/wmts.js";
11
+ import type { HonuaStyleSpecification } from "./specification.js";
12
+ /** A resolved Honua source: either a surface instance or `null` for non-Honua (MapLibre-native) sources. */
13
+ export type ResolvedSource = HonuaFeatureLayer | HonuaMapService | HonuaOgcFeatureCollection | HonuaWms | HonuaWmsLayer | HonuaWmts | HonuaWmtsTileset | null;
14
+ /**
15
+ * Create Honua SDK surface instances for each source in a style.
16
+ *
17
+ * Non-Honua sources (e.g. `vector`, `raster`, `geojson`) are mapped to `null` —
18
+ * these should be handled directly by MapLibre's built-in source types.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const sources = createSources(client, style);
23
+ * const parcels = sources.get("parcels"); // HonuaFeatureLayer
24
+ * if (parcels instanceof HonuaFeatureLayer) {
25
+ * const features = await parcels.queryFeatures({ where: "status = 'active'" });
26
+ * }
27
+ * ```
28
+ */
29
+ export declare function createSources(client: HonuaClient, style: HonuaStyleSpecification): Map<string, ResolvedSource>;
30
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/style/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,KAAK,yBAAyB,EAE/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAWlE,4GAA4G;AAC5G,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,eAAe,GACf,yBAAyB,GACzB,QAAQ,GACR,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,IAAI,CAAC;AAET;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAsC9G"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Style-to-source factory: creates Honua SDK surface instances from a
3
+ * HonuaStyleSpecification's source definitions.
4
+ *
5
+ * @module
6
+ */
7
+ import { HonuaFeatureLayer, HonuaMapService, HonuaOgcFeatures, } from "../core/surfaces.js";
8
+ import { parseFeatureLayerUrl, parseMapServiceUrl } from "../esri-compat/url.js";
9
+ import { isFeatureServiceSource, isMapServiceSource, isOgcFeaturesSource, isWmsSource, isWmtsSource, parseOgcFeaturesUrl, } from "./specification.js";
10
+ import { resolveWmsSpec, resolveWmtsSpec } from "./wms-wmts-resolvers.js";
11
+ /**
12
+ * Create Honua SDK surface instances for each source in a style.
13
+ *
14
+ * Non-Honua sources (e.g. `vector`, `raster`, `geojson`) are mapped to `null` —
15
+ * these should be handled directly by MapLibre's built-in source types.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const sources = createSources(client, style);
20
+ * const parcels = sources.get("parcels"); // HonuaFeatureLayer
21
+ * if (parcels instanceof HonuaFeatureLayer) {
22
+ * const features = await parcels.queryFeatures({ where: "status = 'active'" });
23
+ * }
24
+ * ```
25
+ */
26
+ export function createSources(client, style) {
27
+ const result = new Map();
28
+ for (const [name, spec] of Object.entries(style.sources)) {
29
+ if (isFeatureServiceSource(spec)) {
30
+ const parsed = parseFeatureLayerUrl(spec.url);
31
+ result.set(name, new HonuaFeatureLayer({
32
+ client,
33
+ serviceId: parsed.serviceId,
34
+ layerId: parsed.layerId,
35
+ }));
36
+ }
37
+ else if (isMapServiceSource(spec)) {
38
+ const parsed = parseMapServiceUrl(spec.url);
39
+ result.set(name, new HonuaMapService({
40
+ client,
41
+ serviceId: parsed.serviceId,
42
+ }));
43
+ }
44
+ else if (isOgcFeaturesSource(spec)) {
45
+ const parsed = parseOgcFeaturesUrl(spec.url);
46
+ const ogcRoot = new HonuaOgcFeatures({ client });
47
+ const collectionId = spec.collectionId ?? parsed.collectionId ?? "";
48
+ result.set(name, ogcRoot.collection(collectionId));
49
+ }
50
+ else if (isWmsSource(spec)) {
51
+ result.set(name, resolveWmsSpec(client, spec));
52
+ }
53
+ else if (isWmtsSource(spec)) {
54
+ result.set(name, resolveWmtsSpec(client, spec));
55
+ }
56
+ else {
57
+ result.set(name, null);
58
+ }
59
+ }
60
+ return result;
61
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `@honua/sdk-js/style` — Honua style spec source parsers and validators.
3
+ *
4
+ * Translate `Source`/`SourceDescriptor` shapes to and from MapLibre-style
5
+ * source specifications, and validate Honua style documents.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createSources, validateHonuaStyle, parseOgcFeaturesUrl } from "@honua/sdk-js/style";
10
+ *
11
+ * const sources = createSources(dataset.sourceDescriptors);
12
+ * const errors = validateHonuaStyle(myStyle);
13
+ * if (errors.length) throw new Error(errors.map(e => e.message).join("\n"));
14
+ *
15
+ * const parsed = parseOgcFeaturesUrl("https://example.com/ogc/collections/parcels/items");
16
+ * console.log(parsed.collectionId); // "parcels"
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ export { isHonuaSource, isFeatureServiceSource, isMapServiceSource, isOgcFeaturesSource, isWmsSource, isWmtsSource, parseOgcFeaturesUrl, validateHonuaStyle, } from "./specification.js";
22
+ export type { HonuaSourceBase, HonuaFeatureServiceSourceSpecification, HonuaMapServiceSourceSpecification, HonuaOgcFeaturesSourceSpecification, HonuaWmsSourceSpecification, HonuaWmtsSourceSpecification, HonuaSourceSpecification, HonuaLayerSpecification, HonuaStyleSpecification, ParsedOgcFeaturesUrl, StyleValidationError, } from "./specification.js";
23
+ export { createSources } from "./factory.js";
24
+ export type { ResolvedSource } from "./factory.js";
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/style/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,eAAe,EACf,sCAAsC,EACtC,kCAAkC,EAClC,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
package/style/index.js ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `@honua/sdk-js/style` — Honua style spec source parsers and validators.
3
+ *
4
+ * Translate `Source`/`SourceDescriptor` shapes to and from MapLibre-style
5
+ * source specifications, and validate Honua style documents.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createSources, validateHonuaStyle, parseOgcFeaturesUrl } from "@honua/sdk-js/style";
10
+ *
11
+ * const sources = createSources(dataset.sourceDescriptors);
12
+ * const errors = validateHonuaStyle(myStyle);
13
+ * if (errors.length) throw new Error(errors.map(e => e.message).join("\n"));
14
+ *
15
+ * const parsed = parseOgcFeaturesUrl("https://example.com/ogc/collections/parcels/items");
16
+ * console.log(parsed.collectionId); // "parcels"
17
+ * ```
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ export { isHonuaSource, isFeatureServiceSource, isMapServiceSource, isOgcFeaturesSource, isWmsSource, isWmtsSource, parseOgcFeaturesUrl, validateHonuaStyle, } from "./specification.js";
22
+ export { createSources } from "./factory.js";
23
+ // Feature Service and Map Service URL parsers are exported from
24
+ // esri-compat/url.ts via the main index.ts barrel — no re-export needed here.
@@ -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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"}