@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,347 @@
1
+ /**
2
+ * OData v4 entity-set adapter. Wraps an OData entity set behind the shared
3
+ * `Source<T>` contract surface in `src/contract/source.ts`.
4
+ *
5
+ * Library posture is recorded in
6
+ * `docs/decisions/odata-library-selection.md`: the canonical surface is a
7
+ * thin URL/JSON serializer over `HonuaClient.pipelineFetch` /
8
+ * `pipelineRequestJson` (rather than the GeoServices-shaped
9
+ * `request()` helper, which would inject `f=json` and trip Honua
10
+ * Server's OData validators) so that the auth / retry / telemetry
11
+ * pipeline stays centralized. The dialect-specific `$batch` / `$apply`
12
+ * / `$search` / `$deltatoken` operations live behind the typed escape
13
+ * hatch returned by `Source.protocol("odata")`.
14
+ *
15
+ * @module
16
+ */
17
+ import { type HonuaCacheState, type HonuaMetadataRequestOptions } from "./cache-state.js";
18
+ import type { HonuaClient } from "./client.js";
19
+ import type { HonuaFieldInfo } from "./types.js";
20
+ /**
21
+ * Construction options for {@link HonuaOdataEntitySet}.
22
+ *
23
+ * `basePath` defaults to `/odata` (Honua Server's route prefix). External
24
+ * OData services pass the path their endpoint is mounted under and use a
25
+ * `HonuaClient` bound to that origin.
26
+ */
27
+ export interface HonuaOdataEntitySetOptions {
28
+ client: HonuaClient;
29
+ /** Entity-set token, e.g. `"Features"` or `"Layers(1)/Features"`. */
30
+ entitySet: string;
31
+ /** Path prefix for the OData service. Defaults to `"/odata"`. */
32
+ basePath?: string;
33
+ }
34
+ /**
35
+ * Per-page response envelope for `query()`. Mirrors the canonical
36
+ * `Result<T>` fields the contract adapter consumes; the fully-canonical
37
+ * `Result<T>` shape is constructed in `src/contract/source.ts` from this
38
+ * envelope (so `HonuaOdataEntitySet` does not import from `contract/`).
39
+ */
40
+ export interface HonuaOdataPage<T> {
41
+ rows: ReadonlyArray<T>;
42
+ totalCount?: number;
43
+ nextLink?: string;
44
+ deltaLink?: string;
45
+ }
46
+ /** Parameters that translate onto an OData query string. */
47
+ export interface HonuaOdataQueryParams {
48
+ filter?: string;
49
+ select?: readonly string[];
50
+ orderBy?: readonly string[];
51
+ top?: number;
52
+ skip?: number;
53
+ expand?: readonly string[];
54
+ /** OData v4 `$count=true` — request the matched-row count alongside the page. */
55
+ count?: boolean;
56
+ /** Server-driven pagination cursor returned in `@odata.nextLink`. */
57
+ skiptoken?: string;
58
+ /** `$search` full-text search expression. */
59
+ search?: string;
60
+ /** `$apply` transformation expression. */
61
+ apply?: string;
62
+ /** `$deltatoken` change-feed cursor. */
63
+ deltatoken?: string;
64
+ /** Free-form passthrough for parameters the adapter does not model directly. */
65
+ extra?: Record<string, string | number | boolean>;
66
+ signal?: AbortSignal;
67
+ }
68
+ /** Single batch operation, in canonical SDK terms. */
69
+ export interface HonuaOdataBatchOperation {
70
+ /** Request id; the adapter assigns one when omitted. */
71
+ id?: string;
72
+ method: "GET" | "POST" | "PATCH" | "DELETE";
73
+ /** Path relative to the OData service root (no leading slash). */
74
+ url: string;
75
+ /** JSON body for `POST` / `PATCH` requests. */
76
+ body?: Record<string, unknown>;
77
+ /** Optional headers to merge with the per-batch defaults. */
78
+ headers?: Record<string, string>;
79
+ }
80
+ /** Per-operation outcome in a `$batch` response. */
81
+ export interface HonuaOdataBatchOutcome {
82
+ id: string;
83
+ status: number;
84
+ body?: unknown;
85
+ headers?: Record<string, string>;
86
+ }
87
+ export interface HonuaOdataBatchResult {
88
+ responses: ReadonlyArray<HonuaOdataBatchOutcome>;
89
+ }
90
+ /** Options for {@link HonuaOdataEntitySet.batch}. */
91
+ export interface HonuaOdataBatchOptions {
92
+ /**
93
+ * `"all"` wraps the requests in a single `atomicityGroup`, requesting
94
+ * server-side rollback when any operation fails. `"none"` (default)
95
+ * runs them as independent change-set operations.
96
+ */
97
+ atomicity?: "all" | "none";
98
+ signal?: AbortSignal;
99
+ }
100
+ /** SDK-shaped projection of an OData CSDL `$metadata` document. */
101
+ export interface HonuaOdataMetadata {
102
+ /** Entity-set name → declared entity type. */
103
+ entitySets: Readonly<Record<string, string>>;
104
+ /** Entity-type name → ordered key field names. */
105
+ keys: Readonly<Record<string, readonly string[]>>;
106
+ /** Entity-type name → field metadata, including spatial typing hints. */
107
+ fields: Readonly<Record<string, readonly HonuaOdataFieldInfo[]>>;
108
+ /** Entity-set name → coarse capability flags advertised by `Capabilities.*` annotations. */
109
+ capabilities: Readonly<Record<string, HonuaOdataAdvertisedCapabilities>>;
110
+ cache?: HonuaCacheState;
111
+ }
112
+ /** Per-field metadata carried by {@link HonuaOdataMetadata.fields}. */
113
+ export interface HonuaOdataFieldInfo {
114
+ name: string;
115
+ type: string;
116
+ nullable?: boolean;
117
+ /** True when the field is an `Edm.Geography` / `Edm.Geometry` column. */
118
+ isSpatial?: boolean;
119
+ /** Optional SRID hint declared in the type or annotation. */
120
+ srid?: number;
121
+ }
122
+ /**
123
+ * Coarse capability flags derived from the OData `Capabilities.*`
124
+ * annotation namespace. The intersection happens in the contract layer
125
+ * (the adapter does not enforce capability restrictions itself).
126
+ */
127
+ export interface HonuaOdataAdvertisedCapabilities {
128
+ query?: boolean;
129
+ insert?: boolean;
130
+ update?: boolean;
131
+ delete?: boolean;
132
+ batch?: boolean;
133
+ filter?: boolean;
134
+ select?: boolean;
135
+ expand?: boolean;
136
+ apply?: boolean;
137
+ search?: boolean;
138
+ delta?: boolean;
139
+ count?: boolean;
140
+ }
141
+ /** Single page of an OData `$apply` aggregation response. */
142
+ export interface HonuaOdataAggregateResult {
143
+ rows: ReadonlyArray<Record<string, unknown>>;
144
+ totalCount?: number;
145
+ }
146
+ /** Cursor-driven change-feed page returned by `delta()`. */
147
+ export interface HonuaOdataDeltaPage<T> {
148
+ rows: ReadonlyArray<T>;
149
+ /** Cursor for the next batch; undefined when the feed is fully drained. */
150
+ nextLink?: string;
151
+ /** Final-page cursor that callers persist for the next `delta({ since })`. */
152
+ deltaLink?: string;
153
+ }
154
+ /**
155
+ * Runtime handle for one OData entity set. Returned by
156
+ * `Source.protocol("odata")` so callers can reach the dialect-specific
157
+ * surface (`$batch`, `$apply`, `$search`, `$deltatoken`) without leaking
158
+ * OData-shaped types into the canonical `Source` API.
159
+ */
160
+ export declare class HonuaOdataEntitySet {
161
+ readonly client: HonuaClient;
162
+ readonly entitySet: string;
163
+ /**
164
+ * Unqualified entity-set name used as the CSDL metadata-lookup key.
165
+ * Equals `entitySet` for direct paths like `"Parcels"`. For
166
+ * layer-scoped navigation paths like `"Layers(1)/Features"` it is the
167
+ * navigation suffix `"Features"` so capability and schema lookups
168
+ * still find the entry the server emits in `<EntitySet Name="…">`.
169
+ */
170
+ readonly entitySetName: string;
171
+ readonly basePath: string;
172
+ private cachedMetadata;
173
+ private inflightMetadata;
174
+ constructor(options: HonuaOdataEntitySetOptions);
175
+ /**
176
+ * Fetch (and cache) the `$metadata` document. The cache is per
177
+ * `HonuaOdataEntitySet` instance so callers can pin a metadata snapshot
178
+ * to a long-lived `Source` without re-parsing on every request.
179
+ */
180
+ metadata(options?: HonuaMetadataRequestOptions): Promise<HonuaOdataMetadata>;
181
+ /** Fetch one page of the entity set. */
182
+ query<T = Record<string, unknown>>(params?: HonuaOdataQueryParams): Promise<HonuaOdataPage<T>>;
183
+ /**
184
+ * Drain server-driven `@odata.nextLink` pages. When `params.top` is
185
+ * supplied it is treated as a hard cap on collected rows. Callers that
186
+ * want a lookahead row to detect truncation must add it themselves; the
187
+ * canonical `Source.queryAll` path does this with `top = limit + 1`,
188
+ * while ids-only projections enforce their own result cap.
189
+ * Returning `top + 1` here would double-count for callers that already
190
+ * added the lookahead, so this helper respects `top` exactly.
191
+ */
192
+ queryAll<T = Record<string, unknown>>(params?: HonuaOdataQueryParams): Promise<{
193
+ rows: ReadonlyArray<T>;
194
+ totalCount?: number;
195
+ }>;
196
+ /** Yield one page per server response. Used by `Source.stream()`. */
197
+ queryStream<T = Record<string, unknown>>(params?: HonuaOdataQueryParams): AsyncGenerator<HonuaOdataPage<T>, void, undefined>;
198
+ /** Insert a row via `POST /<entitySet>`. */
199
+ add<T = Record<string, unknown>>(body: Record<string, unknown>, options?: {
200
+ signal?: AbortSignal;
201
+ }): Promise<T>;
202
+ /**
203
+ * Update a row via `PATCH /<entitySet>(<key>)`. The OData server in
204
+ * Honua Server intentionally does not implement `PUT`; the SDK issues
205
+ * `PATCH` with the full canonical body to match a `PUT` replacement on
206
+ * the canonical surface (documented in
207
+ * `docs/protocol-capability-matrix.md` under the OData section).
208
+ */
209
+ update<T = Record<string, unknown>>(key: string, body: Record<string, unknown>, options?: {
210
+ signal?: AbortSignal;
211
+ }): Promise<T | undefined>;
212
+ /** Delete a row via `DELETE /<entitySet>(<key>)`. */
213
+ delete(key: string, options?: {
214
+ signal?: AbortSignal;
215
+ }): Promise<void>;
216
+ /**
217
+ * Submit a `$batch` request using the OData JSON batch format.
218
+ * Multipart/mixed fallback is intentionally not implemented; Honua
219
+ * Server emits both formats but the JSON envelope is sufficient for
220
+ * the canonical surface and avoids the multipart parser.
221
+ *
222
+ * `atomicity: "all"` stamps the same `atomicityGroup` token on every
223
+ * request so the server runs them in one change-set with rollback on
224
+ * any failure (per OData v4 §11.7.7.3 and Honua Server's
225
+ * `ODataBatchHandler`, which groups by `request.AtomicityGroup`).
226
+ * `atomicity: "none"` (default) leaves the field unset so each request
227
+ * runs independently.
228
+ */
229
+ batch(operations: ReadonlyArray<HonuaOdataBatchOperation>, options?: HonuaOdataBatchOptions): Promise<HonuaOdataBatchResult>;
230
+ /**
231
+ * Run an `$apply` aggregation. The OData server applies the
232
+ * transformation pipeline (`aggregate`, `groupby`, `filter`,
233
+ * `compute`); the SDK returns the rows unchanged so callers can shape
234
+ * them onto the canonical `Result.aggregateRows`.
235
+ */
236
+ apply(transformations: string, params?: {
237
+ filter?: string;
238
+ signal?: AbortSignal;
239
+ }): Promise<HonuaOdataAggregateResult>;
240
+ /**
241
+ * Run a `$search` full-text query. Returns an `HonuaOdataPage` so the
242
+ * canonical `Result<T>` projection is symmetric with `query()`.
243
+ */
244
+ search<T = Record<string, unknown>>(text: string, params?: HonuaOdataQueryParams): Promise<HonuaOdataPage<T>>;
245
+ /**
246
+ * `$deltatoken`-driven change feed. Yields `HonuaOdataDeltaPage` per
247
+ * server response. The final page carries `deltaLink`; callers persist
248
+ * the encoded token for the next call to `delta({ since })`.
249
+ */
250
+ delta<T = Record<string, unknown>>(options?: {
251
+ since?: string;
252
+ signal?: AbortSignal;
253
+ }): AsyncGenerator<HonuaOdataDeltaPage<T>, void, undefined>;
254
+ /**
255
+ * Last-resort raw passthrough — flows through `HonuaClient.pipelineFetch`
256
+ * so auth headers, retry, timeout, interceptors, telemetry, and
257
+ * normalized error mapping all apply. The returned `Response` is
258
+ * unconsumed; callers pick `.json()`, `.text()`, or `.arrayBuffer()`.
259
+ */
260
+ raw(method: string, path: string, init?: RequestInit): Promise<Response>;
261
+ private entitySetPath;
262
+ private fetchMetadata;
263
+ private followNextLink;
264
+ /**
265
+ * Wrap `HonuaClient.pipelineRequestJson` with OData-shaped query
266
+ * serialization so callers can pass parsed query bags. Critically this
267
+ * does **not** go through `HonuaClient.request` — that helper injects
268
+ * `f=json`, which Honua Server's OData validators reject as
269
+ * `InvalidQueryOption`. The OData server defaults to JSON when the
270
+ * request advertises `Accept: application/json` (the pipeline default).
271
+ */
272
+ private requestJson;
273
+ }
274
+ /**
275
+ * Parse the subset of CSDL we need to power capability negotiation and
276
+ * key resolution: entity sets, entity-type keys, property names + types,
277
+ * `Edm.Geography` / `Edm.Geometry` typing, and `Capabilities.*`
278
+ * annotations. The XML is read via small regular expressions because we
279
+ * intentionally do not pull a DOM dep — the surface we read is
280
+ * well-defined by OData CSDL §6 and the Honua Server spec page.
281
+ */
282
+ export declare function parseOdataMetadata(xml: string): HonuaOdataMetadata;
283
+ /**
284
+ * Convenience: project the field schema for one entity set into the
285
+ * canonical `HonuaFieldInfo[]` shape reused by `Result.fields`.
286
+ */
287
+ export declare function odataFieldSchema(metadata: HonuaOdataMetadata, entitySet: string): readonly HonuaFieldInfo[];
288
+ /**
289
+ * `Query.where` is documented as SQL-92 / CQL2 on the canonical surface.
290
+ * The OData `$filter` grammar is close to but not identical to SQL-92;
291
+ * this minimal rewriter handles the cases that would otherwise produce a
292
+ * server-side parse error rather than a translated query. Full SQL→OData
293
+ * translation is tracked as follow-up work in
294
+ * `docs/decisions/odata-library-selection.md`.
295
+ *
296
+ * Rewrites applied:
297
+ * - `IS NULL` / `IS NOT NULL` → `eq null` / `ne null`
298
+ * - `<col> = '...'`, `<col> = N` → `<col> eq '...'` / `<col> eq N`
299
+ * - SQL-style `<>` → `ne`
300
+ * - SQL comparison operators `>=` / `<=` / `>` / `<` → `ge` / `le` /
301
+ * `gt` / `lt` (Honua Server's OData lexer rejects bare punctuation
302
+ * comparisons as `InvalidQueryOption`).
303
+ *
304
+ * Predicates whose syntax already matches OData (e.g. `STATE eq 'CA'`)
305
+ * pass through unchanged. Unsupported operators (`HAS`, `IN`, `ANY`,
306
+ * `ALL`, `CAST`, `ISOF` from the parity matrix) are detected and
307
+ * rejected with a typed error rather than left to the server.
308
+ */
309
+ export declare function rewriteWhereToOdataFilter(where: string): string;
310
+ /**
311
+ * Build a spatial `$filter` predicate (`geo.intersects` / `geo.distance`)
312
+ * from a canonical `SpatialFilter`. The geometry column is resolved from
313
+ * the supplied schema (typed `Edm.Geography`); when no geometry column is
314
+ * declared the function throws so the caller can either pass an explicit
315
+ * column via `extra` or refuse the request before it reaches the server.
316
+ *
317
+ * Only the `spatialRel` values supported by Honua Server's parity matrix
318
+ * are accepted: `esriSpatialRelIntersects` and
319
+ * `esriSpatialRelEnvelopeIntersects` translate to `geo.intersects`;
320
+ * `esriSpatialRelWithin` and `esriSpatialRelContains` are not supported
321
+ * by `geo.intersects` semantics and throw.
322
+ *
323
+ * The WKT literal is stamped with the **input** geometry's SRID (i.e.
324
+ * the coordinate system the literal coordinates are in), not an output
325
+ * SR. The resolution order is `inputSrid` → the
326
+ * `spatialFilter.geometry.spatialReference.{wkid|latestWkid}` carried by
327
+ * the canonical `SpatialFilter` constructors → the metadata-declared
328
+ * SRID on the **selected** geometry column (matched by name against
329
+ * `geometryColumn` when supplied; falls back to the first `isSpatial`
330
+ * field only when no column was pinned). Multi-geometry entity types
331
+ * never borrow SRIDs across columns. When none of those resolves, the
332
+ * literal is emitted without a `SRID=` prefix and the server falls
333
+ * back to the column's declared SRID.
334
+ */
335
+ export interface OdataSpatialFilterContext {
336
+ geometryColumn?: string;
337
+ geometryFields?: ReadonlyArray<HonuaOdataFieldInfo>;
338
+ /** SRID of the input WKT literal. Optional — auto-derived when omitted. */
339
+ inputSrid?: string | number;
340
+ }
341
+ export declare function buildOdataSpatialFilter(spatialFilter: {
342
+ geometry: Record<string, unknown>;
343
+ geometryType: string;
344
+ spatialRel?: string;
345
+ distance?: number;
346
+ }, context?: OdataSpatialFilterContext): string;
347
+ //# sourceMappingURL=odata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata.d.ts","sourceRoot":"","sources":["../../../src/core/odata.ts"],"names":[],"mappings":"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"}