@honua/app-platform 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (840) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/app/index.d.ts +164 -0
  4. package/app/index.d.ts.map +1 -0
  5. package/app/index.js +424 -0
  6. package/app-controller/controller.d.ts +425 -0
  7. package/app-controller/controller.d.ts.map +1 -0
  8. package/app-controller/controller.js +1173 -0
  9. package/app-controller/index.d.ts +14 -0
  10. package/app-controller/index.d.ts.map +1 -0
  11. package/app-controller/index.js +12 -0
  12. package/app-workspace/index.d.ts +421 -0
  13. package/app-workspace/index.d.ts.map +1 -0
  14. package/app-workspace/index.js +722 -0
  15. package/collaboration/client.d.ts +40 -0
  16. package/collaboration/client.d.ts.map +1 -0
  17. package/collaboration/client.js +299 -0
  18. package/collaboration/errors.d.ts +15 -0
  19. package/collaboration/errors.d.ts.map +1 -0
  20. package/collaboration/errors.js +17 -0
  21. package/collaboration/fixture.d.ts +41 -0
  22. package/collaboration/fixture.d.ts.map +1 -0
  23. package/collaboration/fixture.js +362 -0
  24. package/collaboration/index.d.ts +18 -0
  25. package/collaboration/index.d.ts.map +1 -0
  26. package/collaboration/index.js +14 -0
  27. package/collaboration/types.d.ts +240 -0
  28. package/collaboration/types.d.ts.map +1 -0
  29. package/collaboration/types.js +1 -0
  30. package/contract/analytics-sources.d.ts +149 -0
  31. package/contract/analytics-sources.d.ts.map +1 -0
  32. package/contract/analytics-sources.js +235 -0
  33. package/contract/edit-session.d.ts +203 -0
  34. package/contract/edit-session.d.ts.map +1 -0
  35. package/contract/edit-session.js +760 -0
  36. package/contract/edit-sketch.d.ts +91 -0
  37. package/contract/edit-sketch.d.ts.map +1 -0
  38. package/contract/edit-sketch.js +281 -0
  39. package/contract/index.d.ts +63 -0
  40. package/contract/index.d.ts.map +1 -0
  41. package/contract/index.js +52 -0
  42. package/contract/jobs.d.ts +149 -0
  43. package/contract/jobs.d.ts.map +1 -0
  44. package/contract/jobs.js +40 -0
  45. package/contract/pmtiles.d.ts +162 -0
  46. package/contract/pmtiles.d.ts.map +1 -0
  47. package/contract/pmtiles.js +155 -0
  48. package/contract/source.d.ts +447 -0
  49. package/contract/source.d.ts.map +1 -0
  50. package/contract/source.js +3909 -0
  51. package/contract/spatial-aggregation.d.ts +336 -0
  52. package/contract/spatial-aggregation.d.ts.map +1 -0
  53. package/contract/spatial-aggregation.js +298 -0
  54. package/contract/temporal.d.ts +455 -0
  55. package/contract/temporal.d.ts.map +1 -0
  56. package/contract/temporal.js +146 -0
  57. package/contract/tiles.d.ts +370 -0
  58. package/contract/tiles.d.ts.map +1 -0
  59. package/contract/tiles.js +519 -0
  60. package/contract/types.d.ts +694 -0
  61. package/contract/types.d.ts.map +1 -0
  62. package/contract/types.js +183 -0
  63. package/contract/widget-source.d.ts +205 -0
  64. package/contract/widget-source.d.ts.map +1 -0
  65. package/contract/widget-source.js +1473 -0
  66. package/control-plane/client.d.ts +95 -0
  67. package/control-plane/client.d.ts.map +1 -0
  68. package/control-plane/client.js +374 -0
  69. package/control-plane/index.d.ts +18 -0
  70. package/control-plane/index.d.ts.map +1 -0
  71. package/control-plane/index.js +14 -0
  72. package/control-plane/types.d.ts +233 -0
  73. package/control-plane/types.d.ts.map +1 -0
  74. package/control-plane/types.js +7 -0
  75. package/controls/basemap-style-binding.d.ts +54 -0
  76. package/controls/basemap-style-binding.d.ts.map +1 -0
  77. package/controls/basemap-style-binding.js +199 -0
  78. package/controls/basemap-switcher.d.ts +95 -0
  79. package/controls/basemap-switcher.d.ts.map +1 -0
  80. package/controls/basemap-switcher.js +379 -0
  81. package/controls/element-utils.d.ts +48 -0
  82. package/controls/element-utils.d.ts.map +1 -0
  83. package/controls/element-utils.js +78 -0
  84. package/controls/index.d.ts +33 -0
  85. package/controls/index.d.ts.map +1 -0
  86. package/controls/index.js +30 -0
  87. package/controls/layer-list.d.ts +98 -0
  88. package/controls/layer-list.d.ts.map +1 -0
  89. package/controls/layer-list.js +375 -0
  90. package/controls/legend-derive.d.ts +53 -0
  91. package/controls/legend-derive.d.ts.map +1 -0
  92. package/controls/legend-derive.js +196 -0
  93. package/controls/legend.d.ts +104 -0
  94. package/controls/legend.d.ts.map +1 -0
  95. package/controls/legend.js +381 -0
  96. package/controls/swipe-control.d.ts +80 -0
  97. package/controls/swipe-control.d.ts.map +1 -0
  98. package/controls/swipe-control.js +368 -0
  99. package/controls/types.d.ts +227 -0
  100. package/controls/types.d.ts.map +1 -0
  101. package/controls/types.js +11 -0
  102. package/core/auth/client-credentials-provider.d.ts +51 -0
  103. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  104. package/core/auth/client-credentials-provider.js +115 -0
  105. package/core/auth/credential-store.d.ts +52 -0
  106. package/core/auth/credential-store.d.ts.map +1 -0
  107. package/core/auth/credential-store.js +82 -0
  108. package/core/auth/index.d.ts +23 -0
  109. package/core/auth/index.d.ts.map +1 -0
  110. package/core/auth/index.js +20 -0
  111. package/core/auth/oauth2-provider.d.ts +114 -0
  112. package/core/auth/oauth2-provider.d.ts.map +1 -0
  113. package/core/auth/oauth2-provider.js +408 -0
  114. package/core/auth/pkce.d.ts +25 -0
  115. package/core/auth/pkce.d.ts.map +1 -0
  116. package/core/auth/pkce.js +46 -0
  117. package/core/auth/static-providers.d.ts +20 -0
  118. package/core/auth/static-providers.d.ts.map +1 -0
  119. package/core/auth/static-providers.js +26 -0
  120. package/core/auth/token-endpoint.d.ts +40 -0
  121. package/core/auth/token-endpoint.d.ts.map +1 -0
  122. package/core/auth/token-endpoint.js +133 -0
  123. package/core/auth/types.d.ts +144 -0
  124. package/core/auth/types.d.ts.map +1 -0
  125. package/core/auth/types.js +8 -0
  126. package/core/batch.d.ts +37 -0
  127. package/core/batch.d.ts.map +1 -0
  128. package/core/batch.js +79 -0
  129. package/core/cache-state.d.ts +79 -0
  130. package/core/cache-state.d.ts.map +1 -0
  131. package/core/cache-state.js +87 -0
  132. package/core/client.d.ts +607 -0
  133. package/core/client.d.ts.map +1 -0
  134. package/core/client.js +1716 -0
  135. package/core/compatibility.d.ts +18 -0
  136. package/core/compatibility.d.ts.map +1 -0
  137. package/core/compatibility.js +245 -0
  138. package/core/errors.d.ts +139 -0
  139. package/core/errors.d.ts.map +1 -0
  140. package/core/errors.js +176 -0
  141. package/core/esri-geojson.d.ts +66 -0
  142. package/core/esri-geojson.d.ts.map +1 -0
  143. package/core/esri-geojson.js +363 -0
  144. package/core/geoparquet-sql.d.ts +162 -0
  145. package/core/geoparquet-sql.d.ts.map +1 -0
  146. package/core/geoparquet-sql.js +333 -0
  147. package/core/geoservices.d.ts +34 -0
  148. package/core/geoservices.d.ts.map +1 -0
  149. package/core/geoservices.js +434 -0
  150. package/core/grpc-adapter.d.ts +23 -0
  151. package/core/grpc-adapter.d.ts.map +1 -0
  152. package/core/grpc-adapter.js +688 -0
  153. package/core/odata.d.ts +347 -0
  154. package/core/odata.d.ts.map +1 -0
  155. package/core/odata.js +913 -0
  156. package/core/ogc-conformance.d.ts +35 -0
  157. package/core/ogc-conformance.d.ts.map +1 -0
  158. package/core/ogc-conformance.js +134 -0
  159. package/core/ogc-endpoint-layout.d.ts +70 -0
  160. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  161. package/core/ogc-endpoint-layout.js +173 -0
  162. package/core/ogc-features.d.ts +23 -0
  163. package/core/ogc-features.d.ts.map +1 -0
  164. package/core/ogc-features.js +129 -0
  165. package/core/ogc-maps.d.ts +49 -0
  166. package/core/ogc-maps.d.ts.map +1 -0
  167. package/core/ogc-maps.js +126 -0
  168. package/core/ogc-processes.d.ts +118 -0
  169. package/core/ogc-processes.d.ts.map +1 -0
  170. package/core/ogc-processes.js +423 -0
  171. package/core/ogc-records.d.ts +75 -0
  172. package/core/ogc-records.d.ts.map +1 -0
  173. package/core/ogc-records.js +251 -0
  174. package/core/ogc-tiles.d.ts +125 -0
  175. package/core/ogc-tiles.d.ts.map +1 -0
  176. package/core/ogc-tiles.js +183 -0
  177. package/core/path-utils.d.ts +69 -0
  178. package/core/path-utils.d.ts.map +1 -0
  179. package/core/path-utils.js +123 -0
  180. package/core/pbf-decoder.d.ts +39 -0
  181. package/core/pbf-decoder.d.ts.map +1 -0
  182. package/core/pbf-decoder.js +702 -0
  183. package/core/process-runner.d.ts +104 -0
  184. package/core/process-runner.d.ts.map +1 -0
  185. package/core/process-runner.js +315 -0
  186. package/core/protocol-transport.d.ts +76 -0
  187. package/core/protocol-transport.d.ts.map +1 -0
  188. package/core/protocol-transport.js +15 -0
  189. package/core/query-builder.d.ts +261 -0
  190. package/core/query-builder.d.ts.map +1 -0
  191. package/core/query-builder.js +538 -0
  192. package/core/request-pipeline.d.ts +88 -0
  193. package/core/request-pipeline.d.ts.map +1 -0
  194. package/core/request-pipeline.js +273 -0
  195. package/core/spatial-filter.d.ts +93 -0
  196. package/core/spatial-filter.d.ts.map +1 -0
  197. package/core/spatial-filter.js +153 -0
  198. package/core/stac-static.d.ts +51 -0
  199. package/core/stac-static.d.ts.map +1 -0
  200. package/core/stac-static.js +195 -0
  201. package/core/stac.d.ts +67 -0
  202. package/core/stac.d.ts.map +1 -0
  203. package/core/stac.js +259 -0
  204. package/core/surfaces.d.ts +540 -0
  205. package/core/surfaces.d.ts.map +1 -0
  206. package/core/surfaces.js +1964 -0
  207. package/core/terrain-elevation.d.ts +114 -0
  208. package/core/terrain-elevation.d.ts.map +1 -0
  209. package/core/terrain-elevation.js +150 -0
  210. package/core/types.d.ts +1404 -0
  211. package/core/types.d.ts.map +1 -0
  212. package/core/types.js +13 -0
  213. package/core/wfs-capabilities.d.ts +153 -0
  214. package/core/wfs-capabilities.d.ts.map +1 -0
  215. package/core/wfs-capabilities.js +490 -0
  216. package/core/wfs-filter.d.ts +118 -0
  217. package/core/wfs-filter.d.ts.map +1 -0
  218. package/core/wfs-filter.js +634 -0
  219. package/core/wfs.d.ts +232 -0
  220. package/core/wfs.d.ts.map +1 -0
  221. package/core/wfs.js +426 -0
  222. package/core/wire-shared.d.ts +32 -0
  223. package/core/wire-shared.d.ts.map +1 -0
  224. package/core/wire-shared.js +76 -0
  225. package/core/wms-axis.d.ts +36 -0
  226. package/core/wms-axis.d.ts.map +1 -0
  227. package/core/wms-axis.js +73 -0
  228. package/core/wms-capabilities.d.ts +110 -0
  229. package/core/wms-capabilities.d.ts.map +1 -0
  230. package/core/wms-capabilities.js +559 -0
  231. package/core/wms-types.d.ts +128 -0
  232. package/core/wms-types.d.ts.map +1 -0
  233. package/core/wms-types.js +32 -0
  234. package/core/wms.d.ts +144 -0
  235. package/core/wms.d.ts.map +1 -0
  236. package/core/wms.js +338 -0
  237. package/core/wmts-capabilities.d.ts +82 -0
  238. package/core/wmts-capabilities.d.ts.map +1 -0
  239. package/core/wmts-capabilities.js +402 -0
  240. package/core/wmts.d.ts +103 -0
  241. package/core/wmts.d.ts.map +1 -0
  242. package/core/wmts.js +332 -0
  243. package/core/xml-text.d.ts +20 -0
  244. package/core/xml-text.d.ts.map +1 -0
  245. package/core/xml-text.js +85 -0
  246. package/esri-compat/basemap-gallery.d.ts +38 -0
  247. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  248. package/esri-compat/basemap-gallery.js +159 -0
  249. package/esri-compat/basemap-layer-list.d.ts +35 -0
  250. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  251. package/esri-compat/basemap-layer-list.js +139 -0
  252. package/esri-compat/basemap.d.ts +32 -0
  253. package/esri-compat/basemap.d.ts.map +1 -0
  254. package/esri-compat/basemap.js +84 -0
  255. package/esri-compat/bookmarks.d.ts +36 -0
  256. package/esri-compat/bookmarks.d.ts.map +1 -0
  257. package/esri-compat/bookmarks.js +108 -0
  258. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  259. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  260. package/esri-compat/class-breaks-renderer.js +164 -0
  261. package/esri-compat/color.d.ts +22 -0
  262. package/esri-compat/color.d.ts.map +1 -0
  263. package/esri-compat/color.js +106 -0
  264. package/esri-compat/controls.d.ts +174 -0
  265. package/esri-compat/controls.d.ts.map +1 -0
  266. package/esri-compat/controls.js +479 -0
  267. package/esri-compat/coordinate-conversion.d.ts +41 -0
  268. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  269. package/esri-compat/coordinate-conversion.js +125 -0
  270. package/esri-compat/directions.d.ts +45 -0
  271. package/esri-compat/directions.d.ts.map +1 -0
  272. package/esri-compat/directions.js +123 -0
  273. package/esri-compat/editor.d.ts +47 -0
  274. package/esri-compat/editor.d.ts.map +1 -0
  275. package/esri-compat/editor.js +170 -0
  276. package/esri-compat/esri-config.d.ts +16 -0
  277. package/esri-compat/esri-config.d.ts.map +1 -0
  278. package/esri-compat/esri-config.js +23 -0
  279. package/esri-compat/esri-request.d.ts +17 -0
  280. package/esri-compat/esri-request.d.ts.map +1 -0
  281. package/esri-compat/esri-request.js +127 -0
  282. package/esri-compat/event-bus.d.ts +106 -0
  283. package/esri-compat/event-bus.d.ts.map +1 -0
  284. package/esri-compat/event-bus.js +90 -0
  285. package/esri-compat/expand.d.ts +36 -0
  286. package/esri-compat/expand.d.ts.map +1 -0
  287. package/esri-compat/expand.js +97 -0
  288. package/esri-compat/extent.d.ts +43 -0
  289. package/esri-compat/extent.d.ts.map +1 -0
  290. package/esri-compat/extent.js +140 -0
  291. package/esri-compat/feature-filter.d.ts +55 -0
  292. package/esri-compat/feature-filter.d.ts.map +1 -0
  293. package/esri-compat/feature-filter.js +109 -0
  294. package/esri-compat/feature-form.d.ts +64 -0
  295. package/esri-compat/feature-form.d.ts.map +1 -0
  296. package/esri-compat/feature-form.js +137 -0
  297. package/esri-compat/feature-layer.d.ts +173 -0
  298. package/esri-compat/feature-layer.d.ts.map +1 -0
  299. package/esri-compat/feature-layer.js +661 -0
  300. package/esri-compat/feature-set.d.ts +32 -0
  301. package/esri-compat/feature-set.d.ts.map +1 -0
  302. package/esri-compat/feature-set.js +80 -0
  303. package/esri-compat/feature-table.d.ts +141 -0
  304. package/esri-compat/feature-table.d.ts.map +1 -0
  305. package/esri-compat/feature-table.js +500 -0
  306. package/esri-compat/feature-templates.d.ts +41 -0
  307. package/esri-compat/feature-templates.d.ts.map +1 -0
  308. package/esri-compat/feature-templates.js +97 -0
  309. package/esri-compat/feature.d.ts +33 -0
  310. package/esri-compat/feature.d.ts.map +1 -0
  311. package/esri-compat/feature.js +83 -0
  312. package/esri-compat/geojson-layer.d.ts +86 -0
  313. package/esri-compat/geojson-layer.d.ts.map +1 -0
  314. package/esri-compat/geojson-layer.js +191 -0
  315. package/esri-compat/geometry-engine.d.ts +107 -0
  316. package/esri-compat/geometry-engine.d.ts.map +1 -0
  317. package/esri-compat/geometry-engine.js +266 -0
  318. package/esri-compat/graphic.d.ts +46 -0
  319. package/esri-compat/graphic.d.ts.map +1 -0
  320. package/esri-compat/graphic.js +103 -0
  321. package/esri-compat/graphics-layer.d.ts +49 -0
  322. package/esri-compat/graphics-layer.d.ts.map +1 -0
  323. package/esri-compat/graphics-layer.js +185 -0
  324. package/esri-compat/group-layer.d.ts +48 -0
  325. package/esri-compat/group-layer.d.ts.map +1 -0
  326. package/esri-compat/group-layer.js +212 -0
  327. package/esri-compat/identify.d.ts +71 -0
  328. package/esri-compat/identify.d.ts.map +1 -0
  329. package/esri-compat/identify.js +299 -0
  330. package/esri-compat/identity-manager.d.ts +74 -0
  331. package/esri-compat/identity-manager.d.ts.map +1 -0
  332. package/esri-compat/identity-manager.js +245 -0
  333. package/esri-compat/imagery-layer.d.ts +78 -0
  334. package/esri-compat/imagery-layer.d.ts.map +1 -0
  335. package/esri-compat/imagery-layer.js +167 -0
  336. package/esri-compat/label-class.d.ts +31 -0
  337. package/esri-compat/label-class.d.ts.map +1 -0
  338. package/esri-compat/label-class.js +102 -0
  339. package/esri-compat/layer-list.d.ts +77 -0
  340. package/esri-compat/layer-list.d.ts.map +1 -0
  341. package/esri-compat/layer-list.js +342 -0
  342. package/esri-compat/legend.d.ts +53 -0
  343. package/esri-compat/legend.d.ts.map +1 -0
  344. package/esri-compat/legend.js +254 -0
  345. package/esri-compat/map-image-layer.d.ts +162 -0
  346. package/esri-compat/map-image-layer.d.ts.map +1 -0
  347. package/esri-compat/map-image-layer.js +709 -0
  348. package/esri-compat/map-view.d.ts +323 -0
  349. package/esri-compat/map-view.d.ts.map +1 -0
  350. package/esri-compat/map-view.js +1175 -0
  351. package/esri-compat/map.d.ts +47 -0
  352. package/esri-compat/map.d.ts.map +1 -0
  353. package/esri-compat/map.js +209 -0
  354. package/esri-compat/measurement-2d.d.ts +61 -0
  355. package/esri-compat/measurement-2d.d.ts.map +1 -0
  356. package/esri-compat/measurement-2d.js +184 -0
  357. package/esri-compat/measurement.d.ts +45 -0
  358. package/esri-compat/measurement.d.ts.map +1 -0
  359. package/esri-compat/measurement.js +193 -0
  360. package/esri-compat/oauth-info.d.ts +50 -0
  361. package/esri-compat/oauth-info.d.ts.map +1 -0
  362. package/esri-compat/oauth-info.js +142 -0
  363. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  364. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  365. package/esri-compat/picture-marker-symbol.js +126 -0
  366. package/esri-compat/point.d.ts +31 -0
  367. package/esri-compat/point.d.ts.map +1 -0
  368. package/esri-compat/point.js +102 -0
  369. package/esri-compat/polygon.d.ts +31 -0
  370. package/esri-compat/polygon.d.ts.map +1 -0
  371. package/esri-compat/polygon.js +107 -0
  372. package/esri-compat/polyline.d.ts +31 -0
  373. package/esri-compat/polyline.d.ts.map +1 -0
  374. package/esri-compat/polyline.js +107 -0
  375. package/esri-compat/popup-template.d.ts +55 -0
  376. package/esri-compat/popup-template.d.ts.map +1 -0
  377. package/esri-compat/popup-template.js +128 -0
  378. package/esri-compat/popup.d.ts +54 -0
  379. package/esri-compat/popup.d.ts.map +1 -0
  380. package/esri-compat/popup.js +312 -0
  381. package/esri-compat/print.d.ts +47 -0
  382. package/esri-compat/print.d.ts.map +1 -0
  383. package/esri-compat/print.js +105 -0
  384. package/esri-compat/query.d.ts +58 -0
  385. package/esri-compat/query.d.ts.map +1 -0
  386. package/esri-compat/query.js +128 -0
  387. package/esri-compat/reactive-utils.d.ts +24 -0
  388. package/esri-compat/reactive-utils.d.ts.map +1 -0
  389. package/esri-compat/reactive-utils.js +193 -0
  390. package/esri-compat/request.d.ts +41 -0
  391. package/esri-compat/request.d.ts.map +1 -0
  392. package/esri-compat/request.js +253 -0
  393. package/esri-compat/route-layer.d.ts +59 -0
  394. package/esri-compat/route-layer.d.ts.map +1 -0
  395. package/esri-compat/route-layer.js +223 -0
  396. package/esri-compat/route-task.d.ts +88 -0
  397. package/esri-compat/route-task.d.ts.map +1 -0
  398. package/esri-compat/route-task.js +225 -0
  399. package/esri-compat/scene-view.d.ts +41 -0
  400. package/esri-compat/scene-view.d.ts.map +1 -0
  401. package/esri-compat/scene-view.js +68 -0
  402. package/esri-compat/search.d.ts +112 -0
  403. package/esri-compat/search.d.ts.map +1 -0
  404. package/esri-compat/search.js +820 -0
  405. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  406. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  407. package/esri-compat/simple-fill-symbol.js +85 -0
  408. package/esri-compat/simple-line-symbol.d.ts +27 -0
  409. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  410. package/esri-compat/simple-line-symbol.js +85 -0
  411. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  412. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  413. package/esri-compat/simple-marker-symbol.js +92 -0
  414. package/esri-compat/simple-renderer.d.ts +29 -0
  415. package/esri-compat/simple-renderer.d.ts.map +1 -0
  416. package/esri-compat/simple-renderer.js +92 -0
  417. package/esri-compat/sketch.d.ts +64 -0
  418. package/esri-compat/sketch.d.ts.map +1 -0
  419. package/esri-compat/sketch.js +227 -0
  420. package/esri-compat/spatial-reference.d.ts +31 -0
  421. package/esri-compat/spatial-reference.d.ts.map +1 -0
  422. package/esri-compat/spatial-reference.js +102 -0
  423. package/esri-compat/swipe.d.ts +34 -0
  424. package/esri-compat/swipe.d.ts.map +1 -0
  425. package/esri-compat/swipe.js +93 -0
  426. package/esri-compat/table-list.d.ts +36 -0
  427. package/esri-compat/table-list.d.ts.map +1 -0
  428. package/esri-compat/table-list.js +126 -0
  429. package/esri-compat/text-symbol.d.ts +37 -0
  430. package/esri-compat/text-symbol.d.ts.map +1 -0
  431. package/esri-compat/text-symbol.js +123 -0
  432. package/esri-compat/tile-layer.d.ts +52 -0
  433. package/esri-compat/tile-layer.d.ts.map +1 -0
  434. package/esri-compat/tile-layer.js +168 -0
  435. package/esri-compat/time-slider.d.ts +70 -0
  436. package/esri-compat/time-slider.d.ts.map +1 -0
  437. package/esri-compat/time-slider.js +208 -0
  438. package/esri-compat/track.d.ts +51 -0
  439. package/esri-compat/track.d.ts.map +1 -0
  440. package/esri-compat/track.js +174 -0
  441. package/esri-compat/unique-value-renderer.d.ts +41 -0
  442. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  443. package/esri-compat/unique-value-renderer.js +127 -0
  444. package/esri-compat/url.d.ts +13 -0
  445. package/esri-compat/url.d.ts.map +1 -0
  446. package/esri-compat/url.js +68 -0
  447. package/esri-compat/vector-tile-layer.d.ts +47 -0
  448. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  449. package/esri-compat/vector-tile-layer.js +130 -0
  450. package/esri-compat/web-map.d.ts +14 -0
  451. package/esri-compat/web-map.d.ts.map +1 -0
  452. package/esri-compat/web-map.js +24 -0
  453. package/esri-compat/wfs-layer.d.ts +64 -0
  454. package/esri-compat/wfs-layer.d.ts.map +1 -0
  455. package/esri-compat/wfs-layer.js +145 -0
  456. package/esri-compat/wms-layer.d.ts +76 -0
  457. package/esri-compat/wms-layer.d.ts.map +1 -0
  458. package/esri-compat/wms-layer.js +157 -0
  459. package/exploration/context.d.ts +25 -0
  460. package/exploration/context.d.ts.map +1 -0
  461. package/exploration/context.js +396 -0
  462. package/exploration/index.d.ts +27 -0
  463. package/exploration/index.d.ts.map +1 -0
  464. package/exploration/index.js +24 -0
  465. package/exploration/presets.d.ts +27 -0
  466. package/exploration/presets.d.ts.map +1 -0
  467. package/exploration/presets.js +114 -0
  468. package/exploration/reducer.d.ts +23 -0
  469. package/exploration/reducer.d.ts.map +1 -0
  470. package/exploration/reducer.js +332 -0
  471. package/exploration/selection.d.ts +25 -0
  472. package/exploration/selection.d.ts.map +1 -0
  473. package/exploration/selection.js +34 -0
  474. package/exploration/selectors.d.ts +56 -0
  475. package/exploration/selectors.d.ts.map +1 -0
  476. package/exploration/selectors.js +110 -0
  477. package/exploration/types.d.ts +294 -0
  478. package/exploration/types.d.ts.map +1 -0
  479. package/exploration/types.js +33 -0
  480. package/expr/expression.d.ts +457 -0
  481. package/expr/expression.d.ts.map +1 -0
  482. package/expr/expression.js +663 -0
  483. package/expr/index.d.ts +32 -0
  484. package/expr/index.d.ts.map +1 -0
  485. package/expr/index.js +30 -0
  486. package/filter-registry/index.d.ts +145 -0
  487. package/filter-registry/index.d.ts.map +1 -0
  488. package/filter-registry/index.js +531 -0
  489. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  490. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  491. package/gen/honua/v1/feature_service_pb.js +375 -0
  492. package/generated-app/errors.d.ts +41 -0
  493. package/generated-app/errors.d.ts.map +1 -0
  494. package/generated-app/errors.js +41 -0
  495. package/generated-app/index.d.ts +17 -0
  496. package/generated-app/index.d.ts.map +1 -0
  497. package/generated-app/index.js +12 -0
  498. package/generated-app/manifest.d.ts +183 -0
  499. package/generated-app/manifest.d.ts.map +1 -0
  500. package/generated-app/manifest.js +14 -0
  501. package/generated-app/projection.d.ts +44 -0
  502. package/generated-app/projection.d.ts.map +1 -0
  503. package/generated-app/projection.js +234 -0
  504. package/generated-app/runtime.d.ts +215 -0
  505. package/generated-app/runtime.d.ts.map +1 -0
  506. package/generated-app/runtime.js +1196 -0
  507. package/geocoding/index.d.ts +106 -0
  508. package/geocoding/index.d.ts.map +1 -0
  509. package/geocoding/index.js +278 -0
  510. package/interactions/detail-model.d.ts +54 -0
  511. package/interactions/detail-model.d.ts.map +1 -0
  512. package/interactions/detail-model.js +105 -0
  513. package/interactions/exploration-bindings.d.ts +120 -0
  514. package/interactions/exploration-bindings.d.ts.map +1 -0
  515. package/interactions/exploration-bindings.js +218 -0
  516. package/interactions/feature-state.d.ts +144 -0
  517. package/interactions/feature-state.d.ts.map +1 -0
  518. package/interactions/feature-state.js +169 -0
  519. package/interactions/hit-test.d.ts +112 -0
  520. package/interactions/hit-test.d.ts.map +1 -0
  521. package/interactions/hit-test.js +291 -0
  522. package/interactions/index.d.ts +31 -0
  523. package/interactions/index.d.ts.map +1 -0
  524. package/interactions/index.js +24 -0
  525. package/interactions/share-state.d.ts +36 -0
  526. package/interactions/share-state.d.ts.map +1 -0
  527. package/interactions/share-state.js +123 -0
  528. package/map/feature-service-adapter.d.ts +138 -0
  529. package/map/feature-service-adapter.d.ts.map +1 -0
  530. package/map/feature-service-adapter.js +279 -0
  531. package/map/honua-map.d.ts +203 -0
  532. package/map/honua-map.d.ts.map +1 -0
  533. package/map/honua-map.js +347 -0
  534. package/map/index.d.ts +27 -0
  535. package/map/index.d.ts.map +1 -0
  536. package/map/index.js +22 -0
  537. package/map/maplibre-target.d.ts +103 -0
  538. package/map/maplibre-target.d.ts.map +1 -0
  539. package/map/maplibre-target.js +164 -0
  540. package/map/webmap-maplibre.d.ts +60 -0
  541. package/map/webmap-maplibre.d.ts.map +1 -0
  542. package/map/webmap-maplibre.js +212 -0
  543. package/operate/client.d.ts +94 -0
  544. package/operate/client.d.ts.map +1 -0
  545. package/operate/client.js +361 -0
  546. package/operate/index.d.ts +22 -0
  547. package/operate/index.d.ts.map +1 -0
  548. package/operate/index.js +19 -0
  549. package/operate/types.d.ts +397 -0
  550. package/operate/types.d.ts.map +1 -0
  551. package/operate/types.js +17 -0
  552. package/operator/client.d.ts +60 -0
  553. package/operator/client.d.ts.map +1 -0
  554. package/operator/client.js +20 -0
  555. package/operator/controllers/approval.d.ts +52 -0
  556. package/operator/controllers/approval.d.ts.map +1 -0
  557. package/operator/controllers/approval.js +123 -0
  558. package/operator/controllers/base.d.ts +27 -0
  559. package/operator/controllers/base.d.ts.map +1 -0
  560. package/operator/controllers/base.js +53 -0
  561. package/operator/controllers/builder-workspace.d.ts +55 -0
  562. package/operator/controllers/builder-workspace.d.ts.map +1 -0
  563. package/operator/controllers/builder-workspace.js +108 -0
  564. package/operator/controllers/chat.d.ts +61 -0
  565. package/operator/controllers/chat.d.ts.map +1 -0
  566. package/operator/controllers/chat.js +154 -0
  567. package/operator/controllers/clarification.d.ts +52 -0
  568. package/operator/controllers/clarification.d.ts.map +1 -0
  569. package/operator/controllers/clarification.js +121 -0
  570. package/operator/controllers/execution.d.ts +60 -0
  571. package/operator/controllers/execution.d.ts.map +1 -0
  572. package/operator/controllers/execution.js +286 -0
  573. package/operator/controllers/index.d.ts +23 -0
  574. package/operator/controllers/index.d.ts.map +1 -0
  575. package/operator/controllers/index.js +15 -0
  576. package/operator/controllers/map-workspace.d.ts +85 -0
  577. package/operator/controllers/map-workspace.d.ts.map +1 -0
  578. package/operator/controllers/map-workspace.js +296 -0
  579. package/operator/controllers/plan-review.d.ts +66 -0
  580. package/operator/controllers/plan-review.d.ts.map +1 -0
  581. package/operator/controllers/plan-review.js +124 -0
  582. package/operator/errors.d.ts +62 -0
  583. package/operator/errors.d.ts.map +1 -0
  584. package/operator/errors.js +75 -0
  585. package/operator/i18n/index.d.ts +10 -0
  586. package/operator/i18n/index.d.ts.map +1 -0
  587. package/operator/i18n/index.js +8 -0
  588. package/operator/i18n/messages.d.ts +19 -0
  589. package/operator/i18n/messages.d.ts.map +1 -0
  590. package/operator/i18n/messages.js +54 -0
  591. package/operator/index.d.ts +19 -0
  592. package/operator/index.d.ts.map +1 -0
  593. package/operator/index.js +15 -0
  594. package/operator/telemetry.d.ts +26 -0
  595. package/operator/telemetry.d.ts.map +1 -0
  596. package/operator/telemetry.js +9 -0
  597. package/operator/theming/index.d.ts +12 -0
  598. package/operator/theming/index.d.ts.map +1 -0
  599. package/operator/theming/index.js +9 -0
  600. package/operator/theming/provider.d.ts +27 -0
  601. package/operator/theming/provider.d.ts.map +1 -0
  602. package/operator/theming/provider.js +26 -0
  603. package/operator/theming/tokens.d.ts +28 -0
  604. package/operator/theming/tokens.d.ts.map +1 -0
  605. package/operator/theming/tokens.js +65 -0
  606. package/operator/workspace/events.d.ts +70 -0
  607. package/operator/workspace/events.d.ts.map +1 -0
  608. package/operator/workspace/events.js +9 -0
  609. package/operator/workspace/index.d.ts +12 -0
  610. package/operator/workspace/index.d.ts.map +1 -0
  611. package/operator/workspace/index.js +8 -0
  612. package/operator/workspace/types.d.ts +178 -0
  613. package/operator/workspace/types.d.ts.map +1 -0
  614. package/operator/workspace/types.js +47 -0
  615. package/operator/workspace/workspace.d.ts +58 -0
  616. package/operator/workspace/workspace.d.ts.map +1 -0
  617. package/operator/workspace/workspace.js +339 -0
  618. package/package.json +105 -0
  619. package/realtime/exploration.d.ts +16 -0
  620. package/realtime/exploration.d.ts.map +1 -0
  621. package/realtime/exploration.js +32 -0
  622. package/realtime/honua-server.d.ts +123 -0
  623. package/realtime/honua-server.d.ts.map +1 -0
  624. package/realtime/honua-server.js +188 -0
  625. package/realtime/index.d.ts +20 -0
  626. package/realtime/index.d.ts.map +1 -0
  627. package/realtime/index.js +14 -0
  628. package/realtime/projections.d.ts +30 -0
  629. package/realtime/projections.d.ts.map +1 -0
  630. package/realtime/projections.js +51 -0
  631. package/realtime/reducer.d.ts +14 -0
  632. package/realtime/reducer.d.ts.map +1 -0
  633. package/realtime/reducer.js +351 -0
  634. package/realtime/sse.d.ts +23 -0
  635. package/realtime/sse.d.ts.map +1 -0
  636. package/realtime/sse.js +143 -0
  637. package/realtime/store.d.ts +18 -0
  638. package/realtime/store.d.ts.map +1 -0
  639. package/realtime/store.js +63 -0
  640. package/realtime/types.d.ts +190 -0
  641. package/realtime/types.d.ts.map +1 -0
  642. package/realtime/types.js +10 -0
  643. package/replica-sync/client.d.ts +32 -0
  644. package/replica-sync/client.d.ts.map +1 -0
  645. package/replica-sync/client.js +52 -0
  646. package/replica-sync/errors.d.ts +22 -0
  647. package/replica-sync/errors.d.ts.map +1 -0
  648. package/replica-sync/errors.js +29 -0
  649. package/replica-sync/fixture.d.ts +40 -0
  650. package/replica-sync/fixture.d.ts.map +1 -0
  651. package/replica-sync/fixture.js +364 -0
  652. package/replica-sync/index.d.ts +22 -0
  653. package/replica-sync/index.d.ts.map +1 -0
  654. package/replica-sync/index.js +17 -0
  655. package/replica-sync/types.d.ts +270 -0
  656. package/replica-sync/types.d.ts.map +1 -0
  657. package/replica-sync/types.js +13 -0
  658. package/runtime/diff.d.ts +31 -0
  659. package/runtime/diff.d.ts.map +1 -0
  660. package/runtime/diff.js +143 -0
  661. package/runtime/errors.d.ts +40 -0
  662. package/runtime/errors.d.ts.map +1 -0
  663. package/runtime/errors.js +35 -0
  664. package/runtime/index.d.ts +59 -0
  665. package/runtime/index.d.ts.map +1 -0
  666. package/runtime/index.js +40 -0
  667. package/runtime/legend.d.ts +23 -0
  668. package/runtime/legend.d.ts.map +1 -0
  669. package/runtime/legend.js +38 -0
  670. package/runtime/load-package.d.ts +125 -0
  671. package/runtime/load-package.d.ts.map +1 -0
  672. package/runtime/load-package.js +272 -0
  673. package/runtime/map-package-fetch.d.ts +107 -0
  674. package/runtime/map-package-fetch.d.ts.map +1 -0
  675. package/runtime/map-package-fetch.js +336 -0
  676. package/runtime/map-package-realtime.d.ts +169 -0
  677. package/runtime/map-package-realtime.d.ts.map +1 -0
  678. package/runtime/map-package-realtime.js +350 -0
  679. package/runtime/map-package-validation.d.ts +30 -0
  680. package/runtime/map-package-validation.d.ts.map +1 -0
  681. package/runtime/map-package-validation.js +257 -0
  682. package/runtime/map-package-watch.d.ts +78 -0
  683. package/runtime/map-package-watch.d.ts.map +1 -0
  684. package/runtime/map-package-watch.js +695 -0
  685. package/runtime/map-package.d.ts +167 -0
  686. package/runtime/map-package.d.ts.map +1 -0
  687. package/runtime/map-package.js +15 -0
  688. package/runtime/ogc-styles.d.ts +110 -0
  689. package/runtime/ogc-styles.d.ts.map +1 -0
  690. package/runtime/ogc-styles.js +195 -0
  691. package/runtime/pmtiles-protocol.d.ts +77 -0
  692. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  693. package/runtime/pmtiles-protocol.js +120 -0
  694. package/runtime/popups.d.ts +62 -0
  695. package/runtime/popups.d.ts.map +1 -0
  696. package/runtime/popups.js +95 -0
  697. package/runtime/query-tiles.d.ts +217 -0
  698. package/runtime/query-tiles.d.ts.map +1 -0
  699. package/runtime/query-tiles.js +801 -0
  700. package/runtime/runtime.d.ts +243 -0
  701. package/runtime/runtime.d.ts.map +1 -0
  702. package/runtime/runtime.js +1147 -0
  703. package/runtime/source-bridge.d.ts +99 -0
  704. package/runtime/source-bridge.d.ts.map +1 -0
  705. package/runtime/source-bridge.js +428 -0
  706. package/runtime/style-compose.d.ts +46 -0
  707. package/runtime/style-compose.d.ts.map +1 -0
  708. package/runtime/style-compose.js +144 -0
  709. package/runtime/style-interactions.d.ts +141 -0
  710. package/runtime/style-interactions.d.ts.map +1 -0
  711. package/runtime/style-interactions.js +574 -0
  712. package/runtime/style-spec-validation.d.ts +23 -0
  713. package/runtime/style-spec-validation.d.ts.map +1 -0
  714. package/runtime/style-spec-validation.js +357 -0
  715. package/scene-workspace/analysis-widgets.d.ts +334 -0
  716. package/scene-workspace/analysis-widgets.d.ts.map +1 -0
  717. package/scene-workspace/analysis-widgets.js +424 -0
  718. package/scene-workspace/cesium-adapter.d.ts +438 -0
  719. package/scene-workspace/cesium-adapter.d.ts.map +1 -0
  720. package/scene-workspace/cesium-adapter.js +493 -0
  721. package/scene-workspace/index.d.ts +21 -0
  722. package/scene-workspace/index.d.ts.map +1 -0
  723. package/scene-workspace/index.js +14 -0
  724. package/scene-workspace/primitives.d.ts +162 -0
  725. package/scene-workspace/primitives.d.ts.map +1 -0
  726. package/scene-workspace/primitives.js +255 -0
  727. package/scene-workspace/scene-discovery.d.ts +196 -0
  728. package/scene-workspace/scene-discovery.d.ts.map +1 -0
  729. package/scene-workspace/scene-discovery.js +228 -0
  730. package/scene-workspace/scene-view.d.ts +209 -0
  731. package/scene-workspace/scene-view.d.ts.map +1 -0
  732. package/scene-workspace/scene-view.js +267 -0
  733. package/scene-workspace/types.d.ts +229 -0
  734. package/scene-workspace/types.d.ts.map +1 -0
  735. package/scene-workspace/types.js +23 -0
  736. package/scene-workspace/workspace.d.ts +13 -0
  737. package/scene-workspace/workspace.d.ts.map +1 -0
  738. package/scene-workspace/workspace.js +391 -0
  739. package/share/denial.d.ts +78 -0
  740. package/share/denial.d.ts.map +1 -0
  741. package/share/denial.js +61 -0
  742. package/share/embed-token.d.ts +71 -0
  743. package/share/embed-token.d.ts.map +1 -0
  744. package/share/embed-token.js +99 -0
  745. package/share/index.d.ts +35 -0
  746. package/share/index.d.ts.map +1 -0
  747. package/share/index.js +30 -0
  748. package/share/open-data.d.ts +114 -0
  749. package/share/open-data.d.ts.map +1 -0
  750. package/share/open-data.js +81 -0
  751. package/share/types.d.ts +163 -0
  752. package/share/types.d.ts.map +1 -0
  753. package/share/types.js +17 -0
  754. package/studio/capability-manifest.d.ts +285 -0
  755. package/studio/capability-manifest.d.ts.map +1 -0
  756. package/studio/capability-manifest.js +59 -0
  757. package/studio/chart-spec.d.ts +85 -0
  758. package/studio/chart-spec.d.ts.map +1 -0
  759. package/studio/chart-spec.js +106 -0
  760. package/studio/index.d.ts +34 -0
  761. package/studio/index.d.ts.map +1 -0
  762. package/studio/index.js +27 -0
  763. package/studio/provenance.d.ts +131 -0
  764. package/studio/provenance.d.ts.map +1 -0
  765. package/studio/provenance.js +39 -0
  766. package/studio/publish.d.ts +64 -0
  767. package/studio/publish.d.ts.map +1 -0
  768. package/studio/publish.js +13 -0
  769. package/studio/types.d.ts +278 -0
  770. package/studio/types.d.ts.map +1 -0
  771. package/studio/types.js +71 -0
  772. package/studio/validate.d.ts +45 -0
  773. package/studio/validate.d.ts.map +1 -0
  774. package/studio/validate.js +255 -0
  775. package/studio/validation.d.ts +112 -0
  776. package/studio/validation.d.ts.map +1 -0
  777. package/studio/validation.js +42 -0
  778. package/style/factory.d.ts +30 -0
  779. package/style/factory.d.ts.map +1 -0
  780. package/style/factory.js +61 -0
  781. package/style/index.d.ts +25 -0
  782. package/style/index.d.ts.map +1 -0
  783. package/style/index.js +24 -0
  784. package/style/specification.d.ts +203 -0
  785. package/style/specification.d.ts.map +1 -0
  786. package/style/specification.js +178 -0
  787. package/style/wms-wmts-resolvers.d.ts +38 -0
  788. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  789. package/style/wms-wmts-resolvers.js +92 -0
  790. package/web-components/controller.d.ts +39 -0
  791. package/web-components/controller.d.ts.map +1 -0
  792. package/web-components/controller.js +640 -0
  793. package/web-components/elements.d.ts +210 -0
  794. package/web-components/elements.d.ts.map +1 -0
  795. package/web-components/elements.js +1651 -0
  796. package/web-components/index.d.ts +24 -0
  797. package/web-components/index.d.ts.map +1 -0
  798. package/web-components/index.js +22 -0
  799. package/web-components/maplibre-renderer.d.ts +22 -0
  800. package/web-components/maplibre-renderer.d.ts.map +1 -0
  801. package/web-components/maplibre-renderer.js +474 -0
  802. package/web-components/types.d.ts +397 -0
  803. package/web-components/types.d.ts.map +1 -0
  804. package/web-components/types.js +1 -0
  805. package/webmap/contract.d.ts +28 -0
  806. package/webmap/contract.d.ts.map +1 -0
  807. package/webmap/contract.js +130 -0
  808. package/webmap/convert-basemap.d.ts +17 -0
  809. package/webmap/convert-basemap.d.ts.map +1 -0
  810. package/webmap/convert-basemap.js +78 -0
  811. package/webmap/convert-extent.d.ts +17 -0
  812. package/webmap/convert-extent.d.ts.map +1 -0
  813. package/webmap/convert-extent.js +114 -0
  814. package/webmap/convert-label.d.ts +13 -0
  815. package/webmap/convert-label.d.ts.map +1 -0
  816. package/webmap/convert-label.js +125 -0
  817. package/webmap/convert-layer.d.ts +22 -0
  818. package/webmap/convert-layer.d.ts.map +1 -0
  819. package/webmap/convert-layer.js +181 -0
  820. package/webmap/convert-popup.d.ts +34 -0
  821. package/webmap/convert-popup.d.ts.map +1 -0
  822. package/webmap/convert-popup.js +68 -0
  823. package/webmap/convert-renderer.d.ts +17 -0
  824. package/webmap/convert-renderer.d.ts.map +1 -0
  825. package/webmap/convert-renderer.js +161 -0
  826. package/webmap/convert-symbol.d.ts +17 -0
  827. package/webmap/convert-symbol.d.ts.map +1 -0
  828. package/webmap/convert-symbol.js +122 -0
  829. package/webmap/index.d.ts +44 -0
  830. package/webmap/index.d.ts.map +1 -0
  831. package/webmap/index.js +33 -0
  832. package/webmap/parse.d.ts +25 -0
  833. package/webmap/parse.d.ts.map +1 -0
  834. package/webmap/parse.js +83 -0
  835. package/webmap/types.d.ts +264 -0
  836. package/webmap/types.d.ts.map +1 -0
  837. package/webmap/types.js +13 -0
  838. package/webmap/warnings.d.ts +30 -0
  839. package/webmap/warnings.d.ts.map +1 -0
  840. package/webmap/warnings.js +37 -0
@@ -0,0 +1,74 @@
1
+ import type { HonuaAuthProvider } from "../core/types.js";
2
+ import { OAuthInfoCompat, type OAuthInfoCompatOptions } from "./oauth-info.js";
3
+ export interface IdentityCredentialCompat {
4
+ server: string;
5
+ token: string;
6
+ expires?: number;
7
+ userId?: string;
8
+ }
9
+ export interface IdentityTokenRegistrationCompat {
10
+ server: string;
11
+ token: string;
12
+ expires?: number;
13
+ userId?: string;
14
+ }
15
+ /**
16
+ * A real OAuth2 engine backing a server in {@link IdentityManagerCompatStore}.
17
+ * Any built-in provider from `@honua/sdk-js/auth` (e.g. `oauth2(...)`) satisfies
18
+ * this: it is a {@link HonuaAuthProvider} with an optional interactive
19
+ * `signIn()`. Binding one makes `getCredential(url)` drive the actual PKCE /
20
+ * refresh flow (obtain a token, register it, return it) instead of only reading
21
+ * pre-seeded tokens — so migrated `IdentityManager.registerOAuthInfos(...)` +
22
+ * `IdentityManager.getCredential(...)` code paths work end to end.
23
+ */
24
+ export interface IdentityManagerOAuth2Engine extends HonuaAuthProvider {
25
+ signIn?(): Promise<unknown>;
26
+ }
27
+ declare class IdentityManagerCompatStore {
28
+ private readonly oauthInfosInternal;
29
+ private readonly credentialsInternal;
30
+ private readonly engines;
31
+ constructor();
32
+ get oauthInfos(): readonly OAuthInfoCompat[];
33
+ get credentials(): readonly IdentityCredentialCompat[];
34
+ registerOAuthInfos(infos: readonly (OAuthInfoCompat | OAuthInfoCompatOptions)[]): void;
35
+ registerToken(token: IdentityTokenRegistrationCompat): void;
36
+ findCredential(url: string): IdentityCredentialCompat | undefined;
37
+ checkSignInStatus(url: string): Promise<IdentityCredentialCompat>;
38
+ /**
39
+ * Bind a real OAuth2 engine (e.g. `oauth2(...)` from `@honua/sdk-js/auth`) to
40
+ * a server URL. Once bound, {@link getCredential} for a URL under that server
41
+ * drives the engine's silent-refresh / interactive sign-in flow instead of
42
+ * only reading a pre-registered token.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import { oauth2 } from "@honua/sdk-js/auth";
47
+ * import { identityManager, OAuthInfoCompat } from "@honua/sdk-js/esri-compat";
48
+ *
49
+ * const info = new OAuthInfoCompat({ appId: "app", portalUrl: "https://portal.example" });
50
+ * identityManager.registerOAuthInfos([info]);
51
+ * identityManager.registerOAuth2Engine(
52
+ * info.portalUrl,
53
+ * oauth2(info.toOAuth2Config({ redirectUri: `${location.origin}/callback` })),
54
+ * );
55
+ * const credential = await identityManager.getCredential("https://portal.example/sharing/rest");
56
+ * ```
57
+ */
58
+ registerOAuth2Engine(server: string, engine: IdentityManagerOAuth2Engine): void;
59
+ /**
60
+ * Resolve a credential for `url`. Returns a valid pre-registered token when
61
+ * one exists; otherwise, if a real OAuth2 engine is bound for the server,
62
+ * drives it (silent refresh, or interactive `signIn()` when the engine throws
63
+ * `interaction_required`), registers the resulting token, and returns it.
64
+ */
65
+ getCredential(url: string): Promise<IdentityCredentialCompat>;
66
+ destroyCredentials(): void;
67
+ reset(): void;
68
+ private findEngine;
69
+ private resolveThroughEngine;
70
+ private findCredentialEntry;
71
+ }
72
+ export declare const identityManager: IdentityManagerCompatStore;
73
+ export {};
74
+ //# sourceMappingURL=identity-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/identity-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAOD,cAAM,0BAA0B;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;;IAQxC,IAAW,UAAU,IAAI,SAAS,eAAe,EAAE,CAElD;IAED,IAAW,WAAW,IAAI,SAAS,wBAAwB,EAAE,CAE5D;IAEM,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,GAAG,sBAAsB,CAAC,EAAE,GAAG,IAAI;IAOtF,aAAa,CAAC,KAAK,EAAE,+BAA+B,GAAG,IAAI;IA6B3D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAQ3D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAW9E;;;;;;;;;;;;;;;;;;;OAmBG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAWtF;;;;;OAKG;IACU,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAgBnE,kBAAkB,IAAI,IAAI;IAI1B,KAAK,IAAI,IAAI;IAMpB,OAAO,CAAC,UAAU;YAqBJ,oBAAoB;IAyBlC,OAAO,CAAC,mBAAmB;CAsB5B;AAED,eAAO,MAAM,eAAe,4BAAmC,CAAC"}
@@ -0,0 +1,245 @@
1
+ import { OAuthInfoCompat } from "./oauth-info.js";
2
+ class IdentityManagerCompatStore {
3
+ oauthInfosInternal;
4
+ credentialsInternal;
5
+ engines;
6
+ constructor() {
7
+ this.oauthInfosInternal = [];
8
+ this.credentialsInternal = [];
9
+ this.engines = [];
10
+ }
11
+ get oauthInfos() {
12
+ return this.oauthInfosInternal.map((info) => info.clone());
13
+ }
14
+ get credentials() {
15
+ return this.credentialsInternal.map((credential) => ({ ...credential }));
16
+ }
17
+ registerOAuthInfos(infos) {
18
+ this.oauthInfosInternal.length = 0;
19
+ for (const info of infos) {
20
+ this.oauthInfosInternal.push(info instanceof OAuthInfoCompat ? info.clone() : new OAuthInfoCompat(info));
21
+ }
22
+ }
23
+ registerToken(token) {
24
+ const next = {
25
+ server: token.server,
26
+ token: token.token,
27
+ expires: typeof token.expires === "number" && Number.isFinite(token.expires) ? token.expires : undefined,
28
+ userId: token.userId,
29
+ };
30
+ const deduped = [];
31
+ let replaced = false;
32
+ for (const existing of this.credentialsInternal) {
33
+ if (isSameCredentialServer(existing.server, next.server)) {
34
+ if (!replaced) {
35
+ deduped.push(next);
36
+ replaced = true;
37
+ }
38
+ continue;
39
+ }
40
+ deduped.push(existing);
41
+ }
42
+ if (!replaced) {
43
+ deduped.push(next);
44
+ }
45
+ this.credentialsInternal.length = 0;
46
+ this.credentialsInternal.push(...deduped);
47
+ }
48
+ findCredential(url) {
49
+ const match = this.findCredentialEntry(url);
50
+ if (!match || isCredentialExpired(match)) {
51
+ return undefined;
52
+ }
53
+ return { ...match };
54
+ }
55
+ async checkSignInStatus(url) {
56
+ const credential = this.findCredentialEntry(url);
57
+ if (!credential) {
58
+ throw new Error("No registered credential for requested server.");
59
+ }
60
+ if (isCredentialExpired(credential)) {
61
+ throw new Error("Registered credential for requested server has expired.");
62
+ }
63
+ return { ...credential };
64
+ }
65
+ /**
66
+ * Bind a real OAuth2 engine (e.g. `oauth2(...)` from `@honua/sdk-js/auth`) to
67
+ * a server URL. Once bound, {@link getCredential} for a URL under that server
68
+ * drives the engine's silent-refresh / interactive sign-in flow instead of
69
+ * only reading a pre-registered token.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * import { oauth2 } from "@honua/sdk-js/auth";
74
+ * import { identityManager, OAuthInfoCompat } from "@honua/sdk-js/esri-compat";
75
+ *
76
+ * const info = new OAuthInfoCompat({ appId: "app", portalUrl: "https://portal.example" });
77
+ * identityManager.registerOAuthInfos([info]);
78
+ * identityManager.registerOAuth2Engine(
79
+ * info.portalUrl,
80
+ * oauth2(info.toOAuth2Config({ redirectUri: `${location.origin}/callback` })),
81
+ * );
82
+ * const credential = await identityManager.getCredential("https://portal.example/sharing/rest");
83
+ * ```
84
+ */
85
+ registerOAuth2Engine(server, engine) {
86
+ const normalized = normalizeServerUrl(server) ?? server;
87
+ const existing = this.engines.findIndex((bound) => (normalizeServerUrl(bound.server) ?? bound.server) === normalized);
88
+ if (existing >= 0) {
89
+ this.engines.splice(existing, 1);
90
+ }
91
+ this.engines.push({ server, engine });
92
+ }
93
+ /**
94
+ * Resolve a credential for `url`. Returns a valid pre-registered token when
95
+ * one exists; otherwise, if a real OAuth2 engine is bound for the server,
96
+ * drives it (silent refresh, or interactive `signIn()` when the engine throws
97
+ * `interaction_required`), registers the resulting token, and returns it.
98
+ */
99
+ async getCredential(url) {
100
+ const existing = this.findCredentialEntry(url);
101
+ if (existing && !isCredentialExpired(existing)) {
102
+ return { ...existing };
103
+ }
104
+ const engine = this.findEngine(url);
105
+ if (!engine) {
106
+ return this.checkSignInStatus(url);
107
+ }
108
+ const credential = await this.resolveThroughEngine(engine, url);
109
+ this.registerToken(credential);
110
+ return { ...credential };
111
+ }
112
+ destroyCredentials() {
113
+ this.credentialsInternal.length = 0;
114
+ }
115
+ reset() {
116
+ this.oauthInfosInternal.length = 0;
117
+ this.credentialsInternal.length = 0;
118
+ this.engines.length = 0;
119
+ }
120
+ findEngine(url) {
121
+ const normalized = normalizeServerUrl(url);
122
+ if (!normalized) {
123
+ return undefined;
124
+ }
125
+ for (let index = this.engines.length - 1; index >= 0; index -= 1) {
126
+ const bound = this.engines[index];
127
+ if (!bound) {
128
+ continue;
129
+ }
130
+ const server = normalizeServerUrl(bound.server);
131
+ if (!server) {
132
+ continue;
133
+ }
134
+ if (normalized === server || normalized.startsWith(`${server}/`)) {
135
+ return bound;
136
+ }
137
+ }
138
+ return undefined;
139
+ }
140
+ async resolveThroughEngine(bound, url) {
141
+ const context = { reason: "initial", forceRefresh: false };
142
+ let credentials;
143
+ try {
144
+ credentials = await bound.engine.getCredentials(context);
145
+ }
146
+ catch (error) {
147
+ if (isInteractionRequired(error) && bound.engine.signIn) {
148
+ await bound.engine.signIn();
149
+ credentials = await bound.engine.getCredentials(context);
150
+ }
151
+ else {
152
+ throw error;
153
+ }
154
+ }
155
+ const token = tokenFromCredentials(credentials);
156
+ if (!token) {
157
+ throw new Error("OAuth2 engine did not return a usable token for the requested server.");
158
+ }
159
+ const expires = expiresFromCredentials(credentials);
160
+ return {
161
+ server: bound.server,
162
+ token,
163
+ ...(expires !== undefined ? { expires } : {}),
164
+ };
165
+ }
166
+ findCredentialEntry(url) {
167
+ const normalized = normalizeServerUrl(url);
168
+ if (!normalized) {
169
+ return undefined;
170
+ }
171
+ for (let index = this.credentialsInternal.length - 1; index >= 0; index -= 1) {
172
+ const credential = this.credentialsInternal[index];
173
+ if (!credential) {
174
+ continue;
175
+ }
176
+ const server = normalizeServerUrl(credential.server);
177
+ if (!server) {
178
+ continue;
179
+ }
180
+ if (normalized === server || normalized.startsWith(`${server}/`)) {
181
+ return credential;
182
+ }
183
+ }
184
+ return undefined;
185
+ }
186
+ }
187
+ export const identityManager = new IdentityManagerCompatStore();
188
+ function normalizeServerUrl(value) {
189
+ try {
190
+ const url = new URL(value);
191
+ const pathname = url.pathname.endsWith("/") ? url.pathname.slice(0, -1) : url.pathname;
192
+ return `${url.protocol}//${url.host}${pathname}`;
193
+ }
194
+ catch {
195
+ return undefined;
196
+ }
197
+ }
198
+ function isCredentialExpired(credential) {
199
+ return (typeof credential.expires === "number" && Number.isFinite(credential.expires) && credential.expires <= Date.now());
200
+ }
201
+ function isSameCredentialServer(left, right) {
202
+ const leftNormalized = normalizeServerUrl(left);
203
+ const rightNormalized = normalizeServerUrl(right);
204
+ if (leftNormalized && rightNormalized) {
205
+ return leftNormalized === rightNormalized;
206
+ }
207
+ return left === right;
208
+ }
209
+ function isInteractionRequired(error) {
210
+ return (typeof error === "object" &&
211
+ error !== null &&
212
+ error.name === "HonuaAuthError" &&
213
+ error.code === "interaction_required");
214
+ }
215
+ function tokenFromCredentials(credentials) {
216
+ if (!credentials) {
217
+ return undefined;
218
+ }
219
+ if (typeof credentials === "string") {
220
+ return credentials.length > 0 ? credentials : undefined;
221
+ }
222
+ if (credentials.bearerToken) {
223
+ return credentials.bearerToken;
224
+ }
225
+ if (credentials.authorization) {
226
+ // Strip a leading "Bearer " scheme so the stored token matches what Esri
227
+ // clients expect in the `token` field.
228
+ return credentials.authorization.replace(/^Bearer\s+/i, "");
229
+ }
230
+ return credentials.apiKey;
231
+ }
232
+ function expiresFromCredentials(credentials) {
233
+ if (!credentials || typeof credentials === "string" || credentials.expiresAt === undefined) {
234
+ return undefined;
235
+ }
236
+ const { expiresAt } = credentials;
237
+ if (expiresAt instanceof Date) {
238
+ return Number.isFinite(expiresAt.getTime()) ? expiresAt.getTime() : undefined;
239
+ }
240
+ if (typeof expiresAt === "number") {
241
+ return Number.isFinite(expiresAt) ? expiresAt : undefined;
242
+ }
243
+ const parsed = Date.parse(expiresAt);
244
+ return Number.isFinite(parsed) ? parsed : undefined;
245
+ }
@@ -0,0 +1,78 @@
1
+ import { HonuaClient } from "../core/client.js";
2
+ import type { HonuaServiceMetadata } from "../core/types.js";
3
+ import { CompatEventBus } from "./event-bus.js";
4
+ export interface ImageryLayerCompatOptions {
5
+ url: string;
6
+ id?: string;
7
+ title?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ listMode?: string;
11
+ format?: string;
12
+ pixelType?: string;
13
+ bandIds?: ReadonlyArray<number>;
14
+ renderingRule?: Record<string, unknown>;
15
+ mosaicRule?: Record<string, unknown>;
16
+ client?: HonuaClient;
17
+ eventBus?: CompatEventBus;
18
+ }
19
+ export type ImageryLayerLoadStatusCompat = "not-loaded" | "loading" | "loaded" | "failed";
20
+ export interface ImageryLayerHandleCompat {
21
+ remove(): void;
22
+ }
23
+ export interface ImageryLayerExportOptions {
24
+ bbox: [number, number, number, number] | string;
25
+ size: [number, number] | string;
26
+ format?: string;
27
+ pixelType?: string;
28
+ interpolation?: string;
29
+ bandIds?: ReadonlyArray<number>;
30
+ compressionQuality?: number;
31
+ }
32
+ export interface ImageryLayerIdentifyOptions {
33
+ geometry: Record<string, unknown>;
34
+ geometryType?: string;
35
+ }
36
+ export interface ImageryLayerQueryOptions {
37
+ where?: string;
38
+ objectIds?: readonly number[];
39
+ outFields?: readonly string[];
40
+ returnGeometry?: boolean;
41
+ }
42
+ export declare class ImageryLayerCompat {
43
+ readonly type: "imagery";
44
+ readonly url: string;
45
+ readonly serviceId: string;
46
+ id: string;
47
+ title: string | undefined;
48
+ opacity: number;
49
+ visible: boolean;
50
+ listMode: string;
51
+ format: string;
52
+ pixelType: string | undefined;
53
+ bandIds: ReadonlyArray<number> | undefined;
54
+ renderingRule: Record<string, unknown> | undefined;
55
+ mosaicRule: Record<string, unknown> | undefined;
56
+ loaded: boolean;
57
+ loadStatus: ImageryLayerLoadStatusCompat;
58
+ metadata: HonuaServiceMetadata | undefined;
59
+ readonly eventBus: CompatEventBus;
60
+ private readonly client;
61
+ private readonly imageService;
62
+ private readonly watchListeners;
63
+ private readonly eventListeners;
64
+ constructor(options: ImageryLayerCompatOptions);
65
+ load(): Promise<ImageryLayerCompat>;
66
+ when(callback?: (layer: ImageryLayerCompat) => void): Promise<ImageryLayerCompat>;
67
+ exportImage(options: ImageryLayerExportOptions): Promise<unknown>;
68
+ identify(options: ImageryLayerIdentifyOptions): Promise<unknown>;
69
+ queryRasters(options?: ImageryLayerQueryOptions): Promise<unknown>;
70
+ refresh(): void;
71
+ watch(propertyName: string, listener: (value: unknown) => void): ImageryLayerHandleCompat;
72
+ on(eventName: string, listener: (event: unknown) => void): ImageryLayerHandleCompat;
73
+ setVisibility(visible: boolean): void;
74
+ setOpacity(opacity: number): void;
75
+ destroy(): void;
76
+ private notifyWatchers;
77
+ }
78
+ //# sourceMappingURL=imagery-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagery-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/imagery-layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { HonuaClient } from "../core/client.js";
2
+ import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
3
+ import { parseImageServiceUrl } from "./url.js";
4
+ export class ImageryLayerCompat {
5
+ type;
6
+ url;
7
+ serviceId;
8
+ id;
9
+ title;
10
+ opacity;
11
+ visible;
12
+ listMode;
13
+ format;
14
+ pixelType;
15
+ bandIds;
16
+ renderingRule;
17
+ mosaicRule;
18
+ loaded;
19
+ loadStatus;
20
+ metadata;
21
+ eventBus;
22
+ client;
23
+ imageService;
24
+ watchListeners;
25
+ eventListeners;
26
+ constructor(options) {
27
+ const parsed = parseImageServiceUrl(options.url);
28
+ this.type = "imagery";
29
+ this.url = options.url;
30
+ this.serviceId = parsed.serviceId;
31
+ this.id = options.id ?? this.serviceId;
32
+ this.title = options.title;
33
+ this.opacity = options.opacity ?? 1;
34
+ this.visible = options.visible ?? true;
35
+ this.listMode = options.listMode ?? "show";
36
+ this.format = options.format ?? "png";
37
+ this.pixelType = options.pixelType;
38
+ this.bandIds = options.bandIds;
39
+ this.renderingRule = options.renderingRule;
40
+ this.mosaicRule = options.mosaicRule;
41
+ this.loaded = false;
42
+ this.loadStatus = "not-loaded";
43
+ this.metadata = undefined;
44
+ this.eventBus = options.eventBus ?? resolveCompatEventBus(options.client) ?? new CompatEventBus();
45
+ this.client = options.client ?? new HonuaClient({ baseUrl: parsed.baseUrl });
46
+ this.imageService = this.client.imageService(this.serviceId);
47
+ this.watchListeners = new Map();
48
+ this.eventListeners = new Map();
49
+ }
50
+ async load() {
51
+ if (this.loaded)
52
+ return this;
53
+ this.loadStatus = "loading";
54
+ this.notifyWatchers("loadStatus", this.loadStatus);
55
+ try {
56
+ this.metadata = await this.imageService.metadata();
57
+ this.notifyWatchers("metadata", this.metadata);
58
+ this.loaded = true;
59
+ this.loadStatus = "loaded";
60
+ this.notifyWatchers("loaded", this.loaded);
61
+ this.notifyWatchers("loadStatus", this.loadStatus);
62
+ this.eventBus.emit("imagery-layer.loaded", { serviceId: this.serviceId, id: this.id }, this);
63
+ }
64
+ catch (error) {
65
+ this.loadStatus = "failed";
66
+ this.notifyWatchers("loadStatus", this.loadStatus);
67
+ this.eventBus.emit("imagery-layer.failed", { serviceId: this.serviceId, id: this.id, error }, this);
68
+ throw error;
69
+ }
70
+ return this;
71
+ }
72
+ async when(callback) {
73
+ const layer = await this.load();
74
+ if (callback)
75
+ callback(layer);
76
+ return layer;
77
+ }
78
+ async exportImage(options) {
79
+ await this.load();
80
+ return this.imageService.exportImage({
81
+ bbox: options.bbox,
82
+ size: options.size,
83
+ format: options.format ?? this.format,
84
+ pixelType: options.pixelType ?? this.pixelType,
85
+ bandIds: options.bandIds ?? this.bandIds,
86
+ interpolation: options.interpolation,
87
+ compressionQuality: options.compressionQuality,
88
+ });
89
+ }
90
+ async identify(options) {
91
+ await this.load();
92
+ return this.imageService.identify({
93
+ geometry: options.geometry,
94
+ geometryType: options.geometryType,
95
+ });
96
+ }
97
+ async queryRasters(options = {}) {
98
+ await this.load();
99
+ return this.imageService.queryRasterCatalog({
100
+ where: options.where,
101
+ objectIds: options.objectIds !== undefined ? [...options.objectIds] : undefined,
102
+ outFields: options.outFields !== undefined ? [...options.outFields] : undefined,
103
+ returnGeometry: options.returnGeometry,
104
+ });
105
+ }
106
+ refresh() {
107
+ this.loaded = false;
108
+ this.metadata = undefined;
109
+ this.loadStatus = "not-loaded";
110
+ this.notifyWatchers("loaded", this.loaded);
111
+ this.notifyWatchers("metadata", this.metadata);
112
+ this.notifyWatchers("loadStatus", this.loadStatus);
113
+ this.eventBus.emit("imagery-layer.refreshed", { serviceId: this.serviceId, id: this.id }, this);
114
+ }
115
+ watch(propertyName, listener) {
116
+ let listeners = this.watchListeners.get(propertyName);
117
+ if (!listeners) {
118
+ listeners = new Set();
119
+ this.watchListeners.set(propertyName, listeners);
120
+ }
121
+ listeners.add(listener);
122
+ return {
123
+ remove: () => {
124
+ listeners?.delete(listener);
125
+ },
126
+ };
127
+ }
128
+ on(eventName, listener) {
129
+ let listeners = this.eventListeners.get(eventName);
130
+ if (!listeners) {
131
+ listeners = new Set();
132
+ this.eventListeners.set(eventName, listeners);
133
+ }
134
+ listeners.add(listener);
135
+ const subscription = this.eventBus.on(`imagery-layer.${eventName}`, (event) => {
136
+ safeInvokeCompatListener(listener, event.payload);
137
+ });
138
+ return {
139
+ remove: () => {
140
+ listeners?.delete(listener);
141
+ subscription.remove();
142
+ },
143
+ };
144
+ }
145
+ setVisibility(visible) {
146
+ this.visible = visible;
147
+ this.notifyWatchers("visible", this.visible);
148
+ this.eventBus.emit("layer.visibility-changed", { layerId: this.id, visible }, this);
149
+ }
150
+ setOpacity(opacity) {
151
+ this.opacity = Math.min(Math.max(opacity, 0), 1);
152
+ this.notifyWatchers("opacity", this.opacity);
153
+ this.eventBus.emit("layer.opacity-changed", { layerId: this.id, opacity: this.opacity }, this);
154
+ }
155
+ destroy() {
156
+ this.watchListeners.clear();
157
+ this.eventListeners.clear();
158
+ this.eventBus.emit("imagery-layer.destroyed", { layerId: this.id }, this);
159
+ }
160
+ notifyWatchers(propertyName, value) {
161
+ const listeners = this.watchListeners.get(propertyName);
162
+ if (!listeners)
163
+ return;
164
+ for (const listener of listeners)
165
+ safeInvokeCompatListener(listener, value);
166
+ }
167
+ }
@@ -0,0 +1,31 @@
1
+ export interface LabelClassCompatOptions {
2
+ labelExpressionInfo?: unknown;
3
+ symbol?: unknown;
4
+ where?: string;
5
+ minScale?: number;
6
+ maxScale?: number;
7
+ }
8
+ export type LabelClassLoadStatusCompat = "not-loaded" | "loading" | "loaded";
9
+ export interface LabelClassHandleCompat {
10
+ remove(): void;
11
+ }
12
+ export declare class LabelClassCompat {
13
+ loaded: boolean;
14
+ loadStatus: LabelClassLoadStatusCompat;
15
+ labelExpressionInfo: unknown;
16
+ symbol: unknown;
17
+ where: string | undefined;
18
+ minScale: number | undefined;
19
+ maxScale: number | undefined;
20
+ private readonly watchListeners;
21
+ constructor(options?: LabelClassCompatOptions);
22
+ load(): Promise<LabelClassCompat>;
23
+ when(callback?: (labelClass: LabelClassCompat) => void): Promise<LabelClassCompat>;
24
+ watch(propertyName: string, listener: (value: unknown) => void): LabelClassHandleCompat;
25
+ update(options: LabelClassCompatOptions): void;
26
+ clone(): LabelClassCompat;
27
+ toJSON(): LabelClassCompatOptions;
28
+ destroy(): void;
29
+ private notifyWatchers;
30
+ }
31
+ //# sourceMappingURL=label-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-class.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/label-class.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,gBAAgB;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,0BAA0B,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,uBAA4B;IAW3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAcjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQxF,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,sBAAsB;IAevF,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAuB9C,KAAK,IAAI,gBAAgB;IAIzB,MAAM,IAAI,uBAAuB;IAUjC,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}