@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,538 @@
1
+ /**
2
+ * Fluent builder for constructing `QueryFeaturesRequest` objects.
3
+ *
4
+ * Create via `QueryBuilder.from(serviceId, layerId)` (standalone) or
5
+ * `QueryBuilder.for(client, serviceId, layerId)` (bound to a client for `.run()`).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Standalone — build request object
10
+ * const req = QueryBuilder.from("myService", 0)
11
+ * .where("POP > 1000")
12
+ * .outFields("NAME", "POP")
13
+ * .limit(100)
14
+ * .build();
15
+ *
16
+ * const result = await client.queryFeatures(req);
17
+ *
18
+ * // Bound — build and execute in one chain
19
+ * const result = await QueryBuilder.for(client, "myService", 0)
20
+ * .where("POP > 1000")
21
+ * .outFields("NAME", "POP")
22
+ * .limit(100)
23
+ * .run();
24
+ * ```
25
+ */
26
+ export class QueryBuilder {
27
+ serviceId;
28
+ layerId;
29
+ boundClient;
30
+ whereClause;
31
+ fields;
32
+ geometryFilter;
33
+ geometryTypeValue;
34
+ spatialRelValue;
35
+ returnGeometryValue;
36
+ orderByFieldsValue;
37
+ resultOffsetValue;
38
+ resultRecordCountValue;
39
+ objectIdsValue;
40
+ returnDistinctValuesValue;
41
+ returnCentroidValue;
42
+ groupByFieldsValue;
43
+ outStatisticsValue;
44
+ methodValue;
45
+ signalValue;
46
+ extraParamsValue;
47
+ constructor(serviceId, layerId, client) {
48
+ this.serviceId = serviceId;
49
+ this.layerId = layerId;
50
+ this.boundClient = client;
51
+ }
52
+ /** Create a standalone builder (call `.build()` to get the request object). */
53
+ static from(serviceId, layerId) {
54
+ return new QueryBuilder(serviceId, layerId);
55
+ }
56
+ /** Create a builder bound to a client (enables `.run()` to execute the query). */
57
+ static for(client, serviceId, layerId) {
58
+ return new QueryBuilder(serviceId, layerId, client);
59
+ }
60
+ /** Set the WHERE clause for filtering features. */
61
+ where(clause) {
62
+ this.whereClause = clause;
63
+ return this;
64
+ }
65
+ /** Set the output fields to return. Accepts individual field names. */
66
+ outFields(...fieldNames) {
67
+ this.fields = fieldNames;
68
+ return this;
69
+ }
70
+ /** Set a geometry filter. Accepts a geometry object or JSON string. */
71
+ geometry(geom) {
72
+ this.geometryFilter = geom;
73
+ return this;
74
+ }
75
+ /** Set the geometry type for the geometry filter. */
76
+ geometryType(type) {
77
+ this.geometryTypeValue = type;
78
+ return this;
79
+ }
80
+ /** Set the spatial relationship for the geometry filter. */
81
+ spatialRel(rel) {
82
+ this.spatialRelValue = rel;
83
+ return this;
84
+ }
85
+ /** Whether to include geometry in the response. */
86
+ returnGeometry(value) {
87
+ this.returnGeometryValue = value;
88
+ return this;
89
+ }
90
+ /** Set the fields to order results by (e.g. `"NAME ASC"`). */
91
+ orderBy(fields) {
92
+ this.orderByFieldsValue = fields;
93
+ return this;
94
+ }
95
+ /** Set the maximum number of features to return. */
96
+ limit(count) {
97
+ this.resultRecordCountValue = count;
98
+ return this;
99
+ }
100
+ /** Set the number of features to skip (for pagination). */
101
+ offset(count) {
102
+ this.resultOffsetValue = count;
103
+ return this;
104
+ }
105
+ /** Filter by specific object IDs. */
106
+ objectIds(ids) {
107
+ this.objectIdsValue = ids;
108
+ return this;
109
+ }
110
+ /** Return only distinct values. */
111
+ distinct(value = true) {
112
+ this.returnDistinctValuesValue = value;
113
+ return this;
114
+ }
115
+ /** Return centroids instead of full geometries. */
116
+ returnCentroid(value = true) {
117
+ this.returnCentroidValue = value;
118
+ return this;
119
+ }
120
+ /** Set group-by fields for statistics queries. */
121
+ groupBy(fields) {
122
+ this.groupByFieldsValue = fields;
123
+ return this;
124
+ }
125
+ /** Set output statistics definitions. */
126
+ outStatistics(stats) {
127
+ this.outStatisticsValue = stats;
128
+ return this;
129
+ }
130
+ /** Set the HTTP method (GET or POST). */
131
+ method(m) {
132
+ this.methodValue = m;
133
+ return this;
134
+ }
135
+ /** Attach an AbortSignal for cancellation. */
136
+ signal(s) {
137
+ this.signalValue = s;
138
+ return this;
139
+ }
140
+ /** Set extra query parameters. */
141
+ extraParams(params) {
142
+ this.extraParamsValue = params;
143
+ return this;
144
+ }
145
+ /** Build the `QueryFeaturesRequest` object without executing it. */
146
+ build() {
147
+ const request = {
148
+ serviceId: this.serviceId,
149
+ layerId: this.layerId,
150
+ };
151
+ if (this.whereClause !== undefined)
152
+ request.where = this.whereClause;
153
+ if (this.fields !== undefined)
154
+ request.outFields = this.fields;
155
+ if (this.geometryFilter !== undefined)
156
+ request.geometry = this.geometryFilter;
157
+ if (this.geometryTypeValue !== undefined)
158
+ request.geometryType = this.geometryTypeValue;
159
+ if (this.spatialRelValue !== undefined)
160
+ request.spatialRel = this.spatialRelValue;
161
+ if (this.returnGeometryValue !== undefined)
162
+ request.returnGeometry = this.returnGeometryValue;
163
+ if (this.orderByFieldsValue !== undefined)
164
+ request.orderByFields = this.orderByFieldsValue;
165
+ if (this.resultOffsetValue !== undefined)
166
+ request.resultOffset = this.resultOffsetValue;
167
+ if (this.resultRecordCountValue !== undefined)
168
+ request.resultRecordCount = this.resultRecordCountValue;
169
+ if (this.objectIdsValue !== undefined)
170
+ request.objectIds = this.objectIdsValue;
171
+ if (this.returnDistinctValuesValue !== undefined)
172
+ request.returnDistinctValues = this.returnDistinctValuesValue;
173
+ if (this.returnCentroidValue !== undefined)
174
+ request.returnCentroid = this.returnCentroidValue;
175
+ if (this.groupByFieldsValue !== undefined)
176
+ request.groupByFieldsForStatistics = this.groupByFieldsValue;
177
+ if (this.outStatisticsValue !== undefined)
178
+ request.outStatistics = this.outStatisticsValue;
179
+ if (this.methodValue !== undefined)
180
+ request.method = this.methodValue;
181
+ if (this.signalValue !== undefined)
182
+ request.signal = this.signalValue;
183
+ if (this.extraParamsValue !== undefined)
184
+ request.extraParams = this.extraParamsValue;
185
+ return request;
186
+ }
187
+ /**
188
+ * Build the request and execute it via the bound client.
189
+ * Throws if the builder was created with `QueryBuilder.from()` (no client).
190
+ */
191
+ async run() {
192
+ if (!this.boundClient) {
193
+ throw new Error("QueryBuilder.run() requires a bound client. Use QueryBuilder.for(client, ...) or call .build() and pass to client.queryFeatures().");
194
+ }
195
+ return this.boundClient.queryFeatures(this.build());
196
+ }
197
+ }
198
+ /**
199
+ * Fluent builder for constructing `MapLayerQueryRequest` objects.
200
+ *
201
+ * Create via `MapLayerQueryBuilder.from(serviceId, layerId)` (standalone) or
202
+ * `MapLayerQueryBuilder.for(client, serviceId, layerId)` (bound to a client for `.run()`).
203
+ *
204
+ * @example
205
+ * ```ts
206
+ * // Standalone — build request object
207
+ * const req = MapLayerQueryBuilder.from("myService", 0)
208
+ * .where("POP > 1000")
209
+ * .outFields("NAME", "POP")
210
+ * .limit(100)
211
+ * .build();
212
+ *
213
+ * const result = await client.queryMapLayer(req);
214
+ *
215
+ * // Bound — build and execute in one chain
216
+ * const result = await MapLayerQueryBuilder.for(client, "myService", 0)
217
+ * .where("POP > 1000")
218
+ * .outFields("NAME", "POP")
219
+ * .limit(100)
220
+ * .run();
221
+ * ```
222
+ */
223
+ export class MapLayerQueryBuilder {
224
+ serviceId;
225
+ layerId;
226
+ boundClient;
227
+ whereClause;
228
+ fields;
229
+ geometryFilter;
230
+ geometryTypeValue;
231
+ spatialRelValue;
232
+ returnGeometryValue;
233
+ orderByFieldsValue;
234
+ resultOffsetValue;
235
+ resultRecordCountValue;
236
+ objectIdsValue;
237
+ returnDistinctValuesValue;
238
+ returnCentroidValue;
239
+ groupByFieldsValue;
240
+ outStatisticsValue;
241
+ methodValue;
242
+ signalValue;
243
+ extraParamsValue;
244
+ constructor(serviceId, layerId, client) {
245
+ this.serviceId = serviceId;
246
+ this.layerId = layerId;
247
+ this.boundClient = client;
248
+ }
249
+ /** Create a standalone builder (call `.build()` to get the request object). */
250
+ static from(serviceId, layerId) {
251
+ return new MapLayerQueryBuilder(serviceId, layerId);
252
+ }
253
+ /** Create a builder bound to a client (enables `.run()` to execute the query). */
254
+ static for(client, serviceId, layerId) {
255
+ return new MapLayerQueryBuilder(serviceId, layerId, client);
256
+ }
257
+ /** Set the WHERE clause for filtering features. */
258
+ where(clause) {
259
+ this.whereClause = clause;
260
+ return this;
261
+ }
262
+ /** Set the output fields to return. Accepts individual field names. */
263
+ outFields(...fieldNames) {
264
+ this.fields = fieldNames;
265
+ return this;
266
+ }
267
+ /** Set a geometry filter. Accepts a geometry object or JSON string. */
268
+ geometry(geom) {
269
+ this.geometryFilter = geom;
270
+ return this;
271
+ }
272
+ /** Set the geometry type for the geometry filter. */
273
+ geometryType(type) {
274
+ this.geometryTypeValue = type;
275
+ return this;
276
+ }
277
+ /** Set the spatial relationship for the geometry filter. */
278
+ spatialRel(rel) {
279
+ this.spatialRelValue = rel;
280
+ return this;
281
+ }
282
+ /** Whether to include geometry in the response. */
283
+ returnGeometry(value) {
284
+ this.returnGeometryValue = value;
285
+ return this;
286
+ }
287
+ /** Set the fields to order results by (e.g. `"NAME ASC"`). */
288
+ orderBy(fields) {
289
+ this.orderByFieldsValue = fields;
290
+ return this;
291
+ }
292
+ /** Set the maximum number of features to return. */
293
+ limit(count) {
294
+ this.resultRecordCountValue = count;
295
+ return this;
296
+ }
297
+ /** Set the number of features to skip (for pagination). */
298
+ offset(count) {
299
+ this.resultOffsetValue = count;
300
+ return this;
301
+ }
302
+ /** Filter by specific object IDs. */
303
+ objectIds(ids) {
304
+ this.objectIdsValue = ids;
305
+ return this;
306
+ }
307
+ /** Return only distinct values. */
308
+ distinct(value = true) {
309
+ this.returnDistinctValuesValue = value;
310
+ return this;
311
+ }
312
+ /** Return centroids instead of full geometries. */
313
+ returnCentroid(value = true) {
314
+ this.returnCentroidValue = value;
315
+ return this;
316
+ }
317
+ /** Set group-by fields for statistics queries. */
318
+ groupBy(fields) {
319
+ this.groupByFieldsValue = fields;
320
+ return this;
321
+ }
322
+ /** Set output statistics definitions. */
323
+ outStatistics(stats) {
324
+ this.outStatisticsValue = stats;
325
+ return this;
326
+ }
327
+ /** Set the HTTP method (GET or POST). */
328
+ method(m) {
329
+ this.methodValue = m;
330
+ return this;
331
+ }
332
+ /** Attach an AbortSignal for cancellation. */
333
+ signal(s) {
334
+ this.signalValue = s;
335
+ return this;
336
+ }
337
+ /** Set extra query parameters. */
338
+ extraParams(params) {
339
+ this.extraParamsValue = params;
340
+ return this;
341
+ }
342
+ /** Build the `MapLayerQueryRequest` object without executing it. */
343
+ build() {
344
+ const request = {
345
+ serviceId: this.serviceId,
346
+ layerId: this.layerId,
347
+ };
348
+ if (this.whereClause !== undefined)
349
+ request.where = this.whereClause;
350
+ if (this.fields !== undefined)
351
+ request.outFields = this.fields;
352
+ if (this.geometryFilter !== undefined)
353
+ request.geometry = this.geometryFilter;
354
+ if (this.geometryTypeValue !== undefined)
355
+ request.geometryType = this.geometryTypeValue;
356
+ if (this.spatialRelValue !== undefined)
357
+ request.spatialRel = this.spatialRelValue;
358
+ if (this.returnGeometryValue !== undefined)
359
+ request.returnGeometry = this.returnGeometryValue;
360
+ if (this.orderByFieldsValue !== undefined)
361
+ request.orderByFields = this.orderByFieldsValue;
362
+ if (this.resultOffsetValue !== undefined)
363
+ request.resultOffset = this.resultOffsetValue;
364
+ if (this.resultRecordCountValue !== undefined)
365
+ request.resultRecordCount = this.resultRecordCountValue;
366
+ if (this.objectIdsValue !== undefined)
367
+ request.objectIds = this.objectIdsValue;
368
+ if (this.returnDistinctValuesValue !== undefined)
369
+ request.returnDistinctValues = this.returnDistinctValuesValue;
370
+ if (this.returnCentroidValue !== undefined)
371
+ request.returnCentroid = this.returnCentroidValue;
372
+ if (this.groupByFieldsValue !== undefined)
373
+ request.groupByFieldsForStatistics = this.groupByFieldsValue;
374
+ if (this.outStatisticsValue !== undefined)
375
+ request.outStatistics = this.outStatisticsValue;
376
+ if (this.methodValue !== undefined)
377
+ request.method = this.methodValue;
378
+ if (this.signalValue !== undefined)
379
+ request.signal = this.signalValue;
380
+ if (this.extraParamsValue !== undefined)
381
+ request.extraParams = this.extraParamsValue;
382
+ return request;
383
+ }
384
+ /**
385
+ * Build the request and execute it via the bound client.
386
+ * Throws if the builder was created with `MapLayerQueryBuilder.from()` (no client).
387
+ */
388
+ async run() {
389
+ if (!this.boundClient) {
390
+ throw new Error("MapLayerQueryBuilder.run() requires a bound client. Use MapLayerQueryBuilder.for(client, ...) or call .build() and pass to client.queryMapLayer().");
391
+ }
392
+ return this.boundClient.queryMapLayer(this.build());
393
+ }
394
+ }
395
+ /**
396
+ * Fluent builder for constructing `OgcItemsRequest` objects.
397
+ *
398
+ * Create via `OgcQueryBuilder.from(collectionId)` (standalone) or
399
+ * `OgcQueryBuilder.for(client, collectionId)` (bound to a client for `.run()`).
400
+ *
401
+ * @example
402
+ * ```ts
403
+ * // Standalone — build request object
404
+ * const req = OgcQueryBuilder.from("rivers")
405
+ * .limit(50)
406
+ * .bbox("-180,-90,180,90")
407
+ * .build();
408
+ *
409
+ * const result = await client.listOgcItems(req);
410
+ *
411
+ * // Bound — build and execute in one chain
412
+ * const result = await OgcQueryBuilder.for(client, "rivers")
413
+ * .limit(50)
414
+ * .bbox("-180,-90,180,90")
415
+ * .run();
416
+ * ```
417
+ */
418
+ export class OgcQueryBuilder {
419
+ collectionId;
420
+ boundClient;
421
+ limitValue;
422
+ offsetValue;
423
+ bboxValue;
424
+ datetimeValue;
425
+ filterValue;
426
+ idsValue;
427
+ propertiesValue;
428
+ sortbyValue;
429
+ crsValue;
430
+ signalValue;
431
+ responseFormatValue;
432
+ constructor(collectionId, client) {
433
+ this.collectionId = collectionId;
434
+ this.boundClient = client;
435
+ }
436
+ /** Create a standalone builder (call `.build()` to get the request object). */
437
+ static from(collectionId) {
438
+ return new OgcQueryBuilder(collectionId);
439
+ }
440
+ /** Create a builder bound to a client (enables `.run()` to execute the query). */
441
+ static for(client, collectionId) {
442
+ return new OgcQueryBuilder(collectionId, client);
443
+ }
444
+ /** Set the maximum number of items to return. */
445
+ limit(n) {
446
+ this.limitValue = n;
447
+ return this;
448
+ }
449
+ /** Set the number of items to skip (for pagination). */
450
+ offset(n) {
451
+ this.offsetValue = n;
452
+ return this;
453
+ }
454
+ /** Set the bounding box filter (e.g. `"-180,-90,180,90"`). */
455
+ bbox(value) {
456
+ this.bboxValue = value;
457
+ return this;
458
+ }
459
+ /** Set the datetime filter (e.g. `"2020-01-01T00:00:00Z/.."`). */
460
+ datetime(value) {
461
+ this.datetimeValue = value;
462
+ return this;
463
+ }
464
+ /** Set the CQL2 filter expression. */
465
+ filter(value) {
466
+ this.filterValue = value;
467
+ return this;
468
+ }
469
+ /** Filter by specific feature IDs. */
470
+ ids(...idValues) {
471
+ this.idsValue = idValues;
472
+ return this;
473
+ }
474
+ /** Set the properties to return. */
475
+ properties(...props) {
476
+ this.propertiesValue = props;
477
+ return this;
478
+ }
479
+ /** Set the sort order (e.g. `"+name"` or `"-pop"`). */
480
+ sortby(value) {
481
+ this.sortbyValue = value;
482
+ return this;
483
+ }
484
+ /** Set the coordinate reference system URI. */
485
+ crs(value) {
486
+ this.crsValue = value;
487
+ return this;
488
+ }
489
+ /** Attach an AbortSignal for cancellation. */
490
+ signal(s) {
491
+ this.signalValue = s;
492
+ return this;
493
+ }
494
+ /** Set the response format (e.g. `"json"`, `"geojson"`). */
495
+ responseFormat(fmt) {
496
+ this.responseFormatValue = fmt;
497
+ return this;
498
+ }
499
+ /** Build the `OgcItemsRequest` object without executing it. */
500
+ build() {
501
+ const request = {
502
+ collectionId: this.collectionId,
503
+ };
504
+ if (this.limitValue !== undefined)
505
+ request.limit = this.limitValue;
506
+ if (this.offsetValue !== undefined)
507
+ request.offset = this.offsetValue;
508
+ if (this.bboxValue !== undefined)
509
+ request.bbox = this.bboxValue;
510
+ if (this.datetimeValue !== undefined)
511
+ request.datetime = this.datetimeValue;
512
+ if (this.filterValue !== undefined)
513
+ request.filter = this.filterValue;
514
+ if (this.idsValue !== undefined)
515
+ request.ids = this.idsValue;
516
+ if (this.propertiesValue !== undefined)
517
+ request.properties = this.propertiesValue;
518
+ if (this.sortbyValue !== undefined)
519
+ request.sortby = this.sortbyValue;
520
+ if (this.crsValue !== undefined)
521
+ request.crs = this.crsValue;
522
+ if (this.signalValue !== undefined)
523
+ request.signal = this.signalValue;
524
+ if (this.responseFormatValue !== undefined)
525
+ request.responseFormat = this.responseFormatValue;
526
+ return request;
527
+ }
528
+ /**
529
+ * Build the request and execute it via the bound client.
530
+ * Throws if the builder was created with `OgcQueryBuilder.from()` (no client).
531
+ */
532
+ async run() {
533
+ if (!this.boundClient) {
534
+ throw new Error("OgcQueryBuilder.run() requires a bound client. Use OgcQueryBuilder.for(client, ...) or call .build() and pass to client.listOgcItems().");
535
+ }
536
+ return this.boundClient.listOgcItems(this.build());
537
+ }
538
+ }
@@ -0,0 +1,88 @@
1
+ import { HonuaHttpError } from "./errors.js";
2
+ import type { HonuaRetryOptions, QueryMethod } from "./types.js";
3
+ /**
4
+ * Stateless primitives shared by the {@link HonuaClient} request pipeline.
5
+ *
6
+ * These functions own the retry/backoff math, network-error normalization,
7
+ * timeout-signal composition, and HTTP-error envelope mapping. Extracting them
8
+ * from the client keeps the single shared `executeRequest` attempt loop small
9
+ * and lets the retry/error semantics be unit-tested in isolation.
10
+ */
11
+ export interface NormalizedRetryOptions {
12
+ maxRetries: number;
13
+ baseDelayMs: number;
14
+ maxDelayMs: number;
15
+ retryStatuses: ReadonlySet<number>;
16
+ }
17
+ export declare const DEFAULT_RETRY_STATUSES: ReadonlySet<number>;
18
+ export declare const DEFAULT_RETRY_METHODS: ReadonlySet<QueryMethod>;
19
+ export declare function normalizeTimeoutMs(timeoutMs: number | undefined): number | undefined;
20
+ export declare function normalizeRetryOptions(options: HonuaRetryOptions | undefined): NormalizedRetryOptions | undefined;
21
+ /**
22
+ * Parse a `Retry-After` header value (delta-seconds or HTTP-date) into a delay
23
+ * in milliseconds. Shared by the REST {@link parseRetryAfterMs} response helper
24
+ * and the gRPC-web path, which reads the same header off the Connect error
25
+ * metadata (a `Headers`-shaped object) rather than a `Response`.
26
+ */
27
+ export declare function parseRetryAfterHeaderMs(headers: Pick<Headers, "get">): number | undefined;
28
+ export declare function parseRetryAfterMs(response: Response): number | undefined;
29
+ /**
30
+ * Decide whether a failed attempt should be retried. Idempotent/replay-safe
31
+ * methods (GET/PUT/DELETE) are retried on the configured retry statuses or on
32
+ * transient network/timeout errors; aborts are never retried.
33
+ */
34
+ export declare function shouldRetryRequest(retryOptions: NormalizedRetryOptions | undefined, method: QueryMethod, attempt: number, statusCode: number | undefined, error: unknown): boolean;
35
+ /**
36
+ * Resolve the backoff delay before the next attempt. A server `Retry-After`
37
+ * header (capped by `maxDelayMs`) wins; otherwise an exponential backoff with
38
+ * full jitter in the [0.5x, 1x] band is used.
39
+ */
40
+ export declare function resolveRetryDelayMs(retryOptions: NormalizedRetryOptions | undefined, attempt: number, response?: Response): number;
41
+ /**
42
+ * gRPC/Connect numeric status codes that map to the transient REST retry
43
+ * statuses in {@link DEFAULT_RETRY_STATUSES}, so the grpc-web transport retries
44
+ * the same class of transient failures as REST. Mirrors the gRPC retry
45
+ * conventions: `resource_exhausted` (~429), `unavailable` (~502/503),
46
+ * `deadline_exceeded` (~504), and the transient `aborted` concurrency code.
47
+ */
48
+ export declare const DEFAULT_RETRYABLE_GRPC_CODES: ReadonlySet<number>;
49
+ /**
50
+ * Extract the numeric gRPC/Connect status code off a thrown error (a
51
+ * `ConnectError` carries a numeric `code`). Returns `undefined` for non-Connect
52
+ * errors so callers can treat them as non-retryable.
53
+ */
54
+ export declare function connectErrorCode(error: unknown): number | undefined;
55
+ /**
56
+ * Decide whether a failed gRPC-web call should be retried. Mirrors
57
+ * {@link shouldRetryRequest} for the Connect transport: retries only the
58
+ * transient {@link DEFAULT_RETRYABLE_GRPC_CODES} while honoring `maxRetries`,
59
+ * and never retries once the call's abort signal has fired (caller abort or the
60
+ * `timeoutMs` deadline) or for the `canceled` code.
61
+ *
62
+ * Replay-safety (unary-only, since server-streaming responses cannot be safely
63
+ * replayed mid-iteration) is enforced by the caller, mirroring the REST
64
+ * {@link DEFAULT_RETRY_METHODS} idempotency gate.
65
+ */
66
+ export declare function shouldRetryGrpcCall(retryOptions: NormalizedRetryOptions | undefined, attempt: number, error: unknown, aborted: boolean): boolean;
67
+ /**
68
+ * Resolve the backoff delay before the next gRPC-web attempt. Reuses the shared
69
+ * {@link resolveRetryDelayMs} exponential-with-jitter math; a `retry-after`
70
+ * value carried on the Connect error metadata (capped by `maxDelayMs`) wins,
71
+ * mirroring the REST `Retry-After` handling.
72
+ */
73
+ export declare function resolveGrpcRetryDelayMs(retryOptions: NormalizedRetryOptions | undefined, attempt: number, error: unknown): number;
74
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
75
+ export declare function normalizeNetworkError(error: unknown): Error;
76
+ export interface TimeoutSignal {
77
+ signal: AbortSignal | undefined;
78
+ didTimeout: boolean;
79
+ dispose(): void;
80
+ }
81
+ export declare function createTimeoutSignal(existingSignal: AbortSignal | null | undefined, timeoutMs: number | undefined): TimeoutSignal;
82
+ /**
83
+ * Map a non-OK HTTP response body into a {@link HonuaHttpError}, preferring the
84
+ * server's structured error message (`error.message`, `message`, or `detail`)
85
+ * and falling back to a generic message while preserving the raw body.
86
+ */
87
+ export declare function toHttpError(statusCode: number, body: unknown): HonuaHttpError;
88
+ //# sourceMappingURL=request-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-pipeline.d.ts","sourceRoot":"","sources":["../../../src/core/request-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAwC,MAAM,aAAa,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;;;GAOG;AAEH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAC;AACzF,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,WAAW,CAAqC,CAAC;AAEjG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKpF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,sBAAsB,GAAG,SAAS,CAsChH;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS,CAgBzF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAExE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,sBAAsB,GAAG,SAAS,EAChD,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,OAAO,GACb,OAAO,CAkBT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,sBAAsB,GAAG,SAAS,EAChD,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAWR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAK3D,CAAC;AAKH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,sBAAsB,GAAG,SAAS,EAChD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GACf,OAAO,CAYT;AAYD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,sBAAsB,GAAG,SAAS,EAChD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,MAAM,CAOR;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAQ3D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC9C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,aAAa,CA8Cf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,CAgB7E"}