@arcgis/core 5.0.0-next.83 → 5.0.0-next.85

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 (914) hide show
  1. package/WebDocument2D.d.ts +3 -2
  2. package/WebDocument2D.js +1 -1
  3. package/WebScene.d.ts +3 -2
  4. package/WebScene.js +1 -1
  5. package/applications/Components/applySetUtils.d.ts +237 -0
  6. package/applications/Components/applySetUtils.js +5 -0
  7. package/applications/Components/editUtils.d.ts +92 -0
  8. package/applications/Components/editUtils.js +5 -0
  9. package/applications/Components/symbolUtils.d.ts +37 -0
  10. package/applications/Components/symbolUtils.js +5 -0
  11. package/applications/Components/templateUtils.d.ts +106 -0
  12. package/applications/Components/templateUtils.js +5 -0
  13. package/applications/SceneViewer/layerUtils.d.ts +3 -2
  14. package/applications/SceneViewer/layerUtils.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/001fd3d30e5bb0d180c6.js +1 -0
  17. package/assets/esri/core/workers/chunks/0057d3a9522188090536.js +1 -0
  18. package/assets/esri/core/workers/chunks/008a555ce169640e2a35.js +2 -0
  19. package/assets/esri/core/workers/chunks/{f25bebd2b6eb0d0f6626.js.LICENSE.txt → 008a555ce169640e2a35.js.LICENSE.txt} +1 -1
  20. package/assets/esri/core/workers/chunks/00e135dc1b4cb024973d.js +1 -0
  21. package/assets/esri/core/workers/chunks/03da31c7635d077e8d99.js +1 -0
  22. package/assets/esri/core/workers/chunks/0402b7996940ba0f8cc8.js +2 -0
  23. package/assets/esri/core/workers/chunks/{73c416ae0ec5a1815591.js.LICENSE.txt → 0402b7996940ba0f8cc8.js.LICENSE.txt} +1 -1
  24. package/assets/esri/core/workers/chunks/04fddd41a8e6a4c1bc57.js +1 -0
  25. package/assets/esri/core/workers/chunks/055aead7135a2f8bca29.js +1 -0
  26. package/assets/esri/core/workers/chunks/05a75878baca3a04fee9.js +1 -0
  27. package/assets/esri/core/workers/chunks/05aa22778a85624cfa55.js +1 -0
  28. package/assets/esri/core/workers/chunks/06493efc57cbfbda050a.js +1 -0
  29. package/assets/esri/core/workers/chunks/0674ae3741bc99325879.js +1 -0
  30. package/assets/esri/core/workers/chunks/07c5a9e8f48b3c806ac7.js +1 -0
  31. package/assets/esri/core/workers/chunks/0889e3d1a034be031c9e.js +2 -0
  32. package/assets/esri/core/workers/chunks/{43e2c1d72cd9c8beed2f.js.LICENSE.txt → 0889e3d1a034be031c9e.js.LICENSE.txt} +1 -1
  33. package/assets/esri/core/workers/chunks/0abb084b8a137f4fcdfc.js +1 -0
  34. package/assets/esri/core/workers/chunks/0b0545538ce355cace52.js +1 -0
  35. package/assets/esri/core/workers/chunks/0c13591347d51d684561.js +1 -0
  36. package/assets/esri/core/workers/chunks/0e7daf348c3e4681dd44.js +1 -0
  37. package/assets/esri/core/workers/chunks/10a5bf887132821beaf0.js +1 -0
  38. package/assets/esri/core/workers/chunks/10b32aff749d3459ddcd.js +1 -0
  39. package/assets/esri/core/workers/chunks/114aecdbd2bd92b24de2.js +1 -0
  40. package/assets/esri/core/workers/chunks/14f8215ab716c6d9d5f8.js +1 -0
  41. package/assets/esri/core/workers/chunks/156c73a948bde11f0d53.js +1 -0
  42. package/assets/esri/core/workers/chunks/165cf8031af160c99d70.js +1 -0
  43. package/assets/esri/core/workers/chunks/1779e6eabc299831fc9f.js +1 -0
  44. package/assets/esri/core/workers/chunks/181fab86394f1f912490.js +1 -0
  45. package/assets/esri/core/workers/chunks/185c97bc63ce546995ce.js +1 -0
  46. package/assets/esri/core/workers/chunks/18cdd268fc921ffd92e2.js +1 -0
  47. package/assets/esri/core/workers/chunks/1a13b472e0cf9f88e8de.js +1 -0
  48. package/assets/esri/core/workers/chunks/1a41c9127ca5a260d5ef.js +1 -0
  49. package/assets/esri/core/workers/chunks/1a62c456e791c82050fe.js +1 -0
  50. package/assets/esri/core/workers/chunks/1c05906d1b5b92441c9b.js +1 -0
  51. package/assets/esri/core/workers/chunks/1cf289446619645487b6.js +1 -0
  52. package/assets/esri/core/workers/chunks/1e318e5cf417c8f13bc7.js +1 -0
  53. package/assets/esri/core/workers/chunks/1eb6f210ae69c317e1f6.js +1 -0
  54. package/assets/esri/core/workers/chunks/1facc1b45345a095b9a7.js +1 -0
  55. package/assets/esri/core/workers/chunks/1fe1a131be1d5e1e23ed.js +1 -0
  56. package/assets/esri/core/workers/chunks/21739c37160061f229ef.js +1 -0
  57. package/assets/esri/core/workers/chunks/22b1543b1a39db9acfc3.js +1 -0
  58. package/assets/esri/core/workers/chunks/249bc4abaa6482aaf288.js +1 -0
  59. package/assets/esri/core/workers/chunks/25a9ae17dc2ef44a4481.js +1 -0
  60. package/assets/esri/core/workers/chunks/25dead73dfc5a4c19285.js +1 -0
  61. package/assets/esri/core/workers/chunks/2767b69085c9f7a1e1af.js +1 -0
  62. package/assets/esri/core/workers/chunks/286a45e9aec0b2bf32ef.js +1 -0
  63. package/assets/esri/core/workers/chunks/289681e94e93dc1d3512.js +1 -0
  64. package/assets/esri/core/workers/chunks/2a81f08de9d642485669.js +1 -0
  65. package/assets/esri/core/workers/chunks/2b2283f1ee4bfc1baa18.js +1 -0
  66. package/assets/esri/core/workers/chunks/2bb82ae3ada57c066fdf.js +1 -0
  67. package/assets/esri/core/workers/chunks/2bdd28b4b5ef2c1e111f.js +1 -0
  68. package/assets/esri/core/workers/chunks/2c8b4d54ecf6ea2fecb1.js +1 -0
  69. package/assets/esri/core/workers/chunks/2ce845c990bb4d701362.js +1 -0
  70. package/assets/esri/core/workers/chunks/2f20cca2c5c058afc9af.js +1 -0
  71. package/assets/esri/core/workers/chunks/301fa6276f4098521106.js +1 -0
  72. package/assets/esri/core/workers/chunks/304ea784c28dc78e5e65.js +1 -0
  73. package/assets/esri/core/workers/chunks/3087910d19959fdc546b.js +1 -0
  74. package/assets/esri/core/workers/chunks/30cfa41017c2d434a89f.js +1 -0
  75. package/assets/esri/core/workers/chunks/33257fbd724ae188e259.js +1 -0
  76. package/assets/esri/core/workers/chunks/338768f94cc49559b209.js +1 -0
  77. package/assets/esri/core/workers/chunks/34073c8e4fc825f060f1.js +1 -0
  78. package/assets/esri/core/workers/chunks/34503f9b26c81e631174.js +1 -0
  79. package/assets/esri/core/workers/chunks/348560f083350ad0bf2e.js +1 -0
  80. package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +1 -0
  81. package/assets/esri/core/workers/chunks/3628e82707e7720c9e4c.js +1 -0
  82. package/assets/esri/core/workers/chunks/36b053decb87c9d32cd2.js +1 -0
  83. package/assets/esri/core/workers/chunks/37f5687dc1147b0a7bc1.js +1 -0
  84. package/assets/esri/core/workers/chunks/380a9b6d75992d6311c3.js +1 -0
  85. package/assets/esri/core/workers/chunks/3849dc35941e569fae5f.js +1 -0
  86. package/assets/esri/core/workers/chunks/388bd41c305d5a11f739.js +1 -0
  87. package/assets/esri/core/workers/chunks/389e2263a540f819d842.js +1 -0
  88. package/assets/esri/core/workers/chunks/38ca539f33e2d977771c.js +1 -0
  89. package/assets/esri/core/workers/chunks/39e1b04444389d2987be.js +1 -0
  90. package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +1 -0
  91. package/assets/esri/core/workers/chunks/3aeb3e8220e7d9869652.js +1 -0
  92. package/assets/esri/core/workers/chunks/3afc221b3a9e209cceea.js +1 -0
  93. package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +1 -0
  94. package/assets/esri/core/workers/chunks/3b6fc34b6d92eef030e5.js +1 -0
  95. package/assets/esri/core/workers/chunks/3bb28b59614fc36b2c50.js +1 -0
  96. package/assets/esri/core/workers/chunks/3eeaec74871e20b433d2.js +1 -0
  97. package/assets/esri/core/workers/chunks/418a778a4cbbb9dabecd.js +1 -0
  98. package/assets/esri/core/workers/chunks/42444285fd79a8d8e564.js +1 -0
  99. package/assets/esri/core/workers/chunks/428ca5900d882d7be499.js +1 -0
  100. package/assets/esri/core/workers/chunks/436c15ac34a205a13a37.js +1 -0
  101. package/assets/esri/core/workers/chunks/43e9eaedf65921b58eb2.js +1 -0
  102. package/assets/esri/core/workers/chunks/4487cf21fa9f0466450d.js +1 -0
  103. package/assets/esri/core/workers/chunks/45dbdf2ff95f7be1eb88.js +1 -0
  104. package/assets/esri/core/workers/chunks/4756f0dbbda129c760b1.js +1 -0
  105. package/assets/esri/core/workers/chunks/4a0760571ce536fbd8c8.js +1 -0
  106. package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +1 -0
  107. package/assets/esri/core/workers/chunks/4b24f72b56edc28bb15e.js +1 -0
  108. package/assets/esri/core/workers/chunks/4bb0c3b009493ea44632.js +1 -0
  109. package/assets/esri/core/workers/chunks/{f25bebd2b6eb0d0f6626.js → 4c07b2d1a14906371fc5.js} +2 -2
  110. package/assets/esri/core/workers/chunks/{6be530ab81291745485b.js.LICENSE.txt → 4c07b2d1a14906371fc5.js.LICENSE.txt} +1 -1
  111. package/assets/esri/core/workers/chunks/4c0e0beb1534d81ff648.js +1 -0
  112. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  113. package/assets/esri/core/workers/chunks/4caec60ac0a5851730c6.js +1 -0
  114. package/assets/esri/core/workers/chunks/4db259316b193fcc4541.js +1 -0
  115. package/assets/esri/core/workers/chunks/4f132d758f8b4795c43f.js +1 -0
  116. package/assets/esri/core/workers/chunks/4f4bdf9f5323fa702e6c.js +1 -0
  117. package/assets/esri/core/workers/chunks/4f53071b5eb23d4478c4.js +1 -0
  118. package/assets/esri/core/workers/chunks/4f8895eb57ec6ab4b318.js +1 -0
  119. package/assets/esri/core/workers/chunks/4ff3c03cfbec928c0720.js +1 -0
  120. package/assets/esri/core/workers/chunks/504ab6bf7bfbfd4c4211.js +1 -0
  121. package/assets/esri/core/workers/chunks/5119e3159617b8e1ea13.js +1 -0
  122. package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +1 -0
  123. package/assets/esri/core/workers/chunks/5298f99c197c8607a690.js +1 -0
  124. package/assets/esri/core/workers/chunks/52ae2073604deef63ea2.js +1 -0
  125. package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +1 -0
  126. package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +1 -0
  127. package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +1 -0
  128. package/assets/esri/core/workers/chunks/53d0b870c080236d82d1.js +1 -0
  129. package/assets/esri/core/workers/chunks/5543de9a0435c319f4f9.js +301 -0
  130. package/assets/esri/core/workers/chunks/55bf39611ae6028131a3.js +1 -0
  131. package/assets/esri/core/workers/chunks/5659e221e8805bb81210.js +1 -0
  132. package/assets/esri/core/workers/chunks/568fc92333a9ab1c06e6.js +1 -0
  133. package/assets/esri/core/workers/chunks/56bbd86b804cb2a59031.js +1 -0
  134. package/assets/esri/core/workers/chunks/57a749804da9a2b1fae9.js +1 -0
  135. package/assets/esri/core/workers/chunks/59d3f3fbae775fd7686e.js +1 -0
  136. package/assets/esri/core/workers/chunks/59e7a0215791b2b51180.js +1 -0
  137. package/assets/esri/core/workers/chunks/5a706eecd8a988fae6b7.js +1 -0
  138. package/assets/esri/core/workers/chunks/5b278b9980752ef495a2.js +1 -0
  139. package/assets/esri/core/workers/chunks/5b3bb636e3bec625e515.js +1 -0
  140. package/assets/esri/core/workers/chunks/5ba2bbbb42ef1920579d.js +1 -0
  141. package/assets/esri/core/workers/chunks/5cc731f161012b63c77a.js +1 -0
  142. package/assets/esri/core/workers/chunks/5eee48b02e1683f022df.js +2 -0
  143. package/assets/esri/core/workers/chunks/{0b7bbdc0d71ee6721751.js.LICENSE.txt → 5eee48b02e1683f022df.js.LICENSE.txt} +1 -1
  144. package/assets/esri/core/workers/chunks/5fa8fe6353dbdda0b06a.js +1 -0
  145. package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +1 -0
  146. package/assets/esri/core/workers/chunks/6107b58457a70c8de9da.js +1 -0
  147. package/assets/esri/core/workers/chunks/63e930e76a181d54786d.js +1 -0
  148. package/assets/esri/core/workers/chunks/63ee7aa1b169dbec1e37.js +1 -0
  149. package/assets/esri/core/workers/chunks/6440d78ed2af2e7265aa.js +1 -0
  150. package/assets/esri/core/workers/chunks/645e086291b04bc036d7.js +1 -0
  151. package/assets/esri/core/workers/chunks/654eef3ad30f34c42e12.js +1 -0
  152. package/assets/esri/core/workers/chunks/681d9a923c0d1ace86e8.js +1 -0
  153. package/assets/esri/core/workers/chunks/68abe4e70ea48e978642.js +1 -0
  154. package/assets/esri/core/workers/chunks/6a083fde0e207625fd0b.js +1 -0
  155. package/assets/esri/core/workers/chunks/6bc7bacf01328ef10ff1.js +1 -0
  156. package/assets/esri/core/workers/chunks/6bcf5d6792e4f09cbc7b.js +1 -0
  157. package/assets/esri/core/workers/chunks/6d7eb784988ee9a33473.js +1 -0
  158. package/assets/esri/core/workers/chunks/6de843d1809cba61ded3.js +1 -0
  159. package/assets/esri/core/workers/chunks/6e04303500a9fbc3f14a.js +1 -0
  160. package/assets/esri/core/workers/chunks/6edcae8ec128c2e86a05.js +1 -0
  161. package/assets/esri/core/workers/chunks/6eeee6e278b5f516d1d2.js +1 -0
  162. package/assets/esri/core/workers/chunks/701775be0dad640a72b4.js +1 -0
  163. package/assets/esri/core/workers/chunks/70df4331ed29d823bf38.js +1 -0
  164. package/assets/esri/core/workers/chunks/7130b09300032d3a5925.js +1 -0
  165. package/assets/esri/core/workers/chunks/72f0e2e5dcddafa2a642.js +1 -0
  166. package/assets/esri/core/workers/chunks/73c87eb9bd8f0f848481.js +1 -0
  167. package/assets/esri/core/workers/chunks/746190bb70aa78ba0bfc.js +1039 -0
  168. package/assets/esri/core/workers/chunks/75d7290c73bb59f2c856.js +1 -0
  169. package/assets/esri/core/workers/chunks/780a1eba9a7f1ca690ce.js +1 -0
  170. package/assets/esri/core/workers/chunks/7815dbf49ef5a06705f3.js +1 -0
  171. package/assets/esri/core/workers/chunks/7892daeed58778453639.js +1 -0
  172. package/assets/esri/core/workers/chunks/7990c828447bc3a29965.js +1 -0
  173. package/assets/esri/core/workers/chunks/799829d0ae17c146196b.js +1 -0
  174. package/assets/esri/core/workers/chunks/7a1ec6ac88d974cc5074.js +1 -0
  175. package/assets/esri/core/workers/chunks/7a31717dafbd820bc2bf.js +1 -0
  176. package/assets/esri/core/workers/chunks/7d76a2245ac973efe1ed.js +1 -0
  177. package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +1 -0
  178. package/assets/esri/core/workers/chunks/7f7c4ffbdf7b20dc7a54.js +1 -0
  179. package/assets/esri/core/workers/chunks/8008bca4ef04c9424579.js +1 -0
  180. package/assets/esri/core/workers/chunks/815a25a5a8dba7921f8b.js +1 -0
  181. package/assets/esri/core/workers/chunks/8184c34b2c4969f14f3d.js +1 -0
  182. package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +1 -0
  183. package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +1 -0
  184. package/assets/esri/core/workers/chunks/83ddc0f6bfe68756f26f.js +1 -0
  185. package/assets/esri/core/workers/chunks/841058de8bc6e328fd68.js +1 -0
  186. package/assets/esri/core/workers/chunks/84a4390b1c277c415d44.js +1 -0
  187. package/assets/esri/core/workers/chunks/854adab6a06af861c104.js +1 -0
  188. package/assets/esri/core/workers/chunks/8765fe036d9664c25b1d.js +37 -0
  189. package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +1 -0
  190. package/assets/esri/core/workers/chunks/8a0a13f398ab488dbbe9.js +1 -0
  191. package/assets/esri/core/workers/chunks/8b1fa59d436e2815b2f1.js +2 -0
  192. package/assets/esri/core/workers/chunks/{25f3ee666f545a7a7993.js.LICENSE.txt → 8b1fa59d436e2815b2f1.js.LICENSE.txt} +1 -1
  193. package/assets/esri/core/workers/chunks/8cb13b3776f07536c79f.js +1 -0
  194. package/assets/esri/core/workers/chunks/{51093e552e31344cefa5.js → 8d9ec752136cbc5cb29a.js} +1 -1
  195. package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +1 -0
  196. package/assets/esri/core/workers/chunks/8f4ca0dfd9635eb10e02.js +1 -0
  197. package/assets/esri/core/workers/chunks/8faa0122d0a6e2e39153.js +1 -0
  198. package/assets/esri/core/workers/chunks/913c417ad278ce1caaf9.js +1 -0
  199. package/assets/esri/core/workers/chunks/9184089e72c24d91d23b.js +1 -0
  200. package/assets/esri/core/workers/chunks/91e307ca0d11804a7a1d.js +2 -0
  201. package/assets/esri/core/workers/chunks/9264cce4699284eae97c.js +2 -0
  202. package/assets/esri/core/workers/chunks/{37002a46f03a9fc5f644.js.LICENSE.txt → 9264cce4699284eae97c.js.LICENSE.txt} +1 -1
  203. package/assets/esri/core/workers/chunks/9279a5361bf6a54784ef.js +1 -0
  204. package/assets/esri/core/workers/chunks/92a42bbb8b9b39f3211c.js +1 -0
  205. package/assets/esri/core/workers/chunks/934ce3f004c54d542d2c.js +1 -0
  206. package/assets/esri/core/workers/chunks/93caf6fb8afab3dd8a46.js +1 -0
  207. package/assets/esri/core/workers/chunks/95e93884b39ca4b312d1.js +2 -0
  208. package/assets/esri/core/workers/chunks/{5b9f2aa3ba1bf12c3240.js.LICENSE.txt → 95e93884b39ca4b312d1.js.LICENSE.txt} +1 -1
  209. package/assets/esri/core/workers/chunks/97148a9966f55e69421e.js +1 -0
  210. package/assets/esri/core/workers/chunks/9748b8c35d56a5ee9c64.js +1 -0
  211. package/assets/esri/core/workers/chunks/97ad3eb25ad003c16148.js +1 -0
  212. package/assets/esri/core/workers/chunks/982e709d2cef971ecd82.js +1 -0
  213. package/assets/esri/core/workers/chunks/98e04c2382fa5ba382fc.js +1 -0
  214. package/assets/esri/core/workers/chunks/9919b3c345785e910c38.js +1 -0
  215. package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +1 -0
  216. package/assets/esri/core/workers/chunks/9cd7205bbc711914d74b.js +1 -0
  217. package/assets/esri/core/workers/chunks/9d17524f5f935b7b60bf.js +1 -0
  218. package/assets/esri/core/workers/chunks/9de8149ae0a0726a4ab2.js +1 -0
  219. package/assets/esri/core/workers/chunks/9fac9eda0a41f7f4c2c6.js +1 -0
  220. package/assets/esri/core/workers/chunks/9ff1e650ce0912afa780.js +1 -0
  221. package/assets/esri/core/workers/chunks/a09099697955eb44bfac.js +1 -0
  222. package/assets/esri/core/workers/chunks/a0d52a819302ed6f401e.js +1 -0
  223. package/assets/esri/core/workers/chunks/a1908b3fa61f02425a94.js +1 -0
  224. package/assets/esri/core/workers/chunks/a2046f85b9964693f053.js +1 -0
  225. package/assets/esri/core/workers/chunks/a24627400b3b9fe8431d.js +1 -0
  226. package/assets/esri/core/workers/chunks/a27c74fd2029583de933.js +1 -0
  227. package/assets/esri/core/workers/chunks/a2c0c1bb5e775abefc90.js +1 -0
  228. package/assets/esri/core/workers/chunks/a3184fb1ac7ce9af1a7e.js +1 -0
  229. package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +1 -0
  230. package/assets/esri/core/workers/chunks/a56a5e00964d4cd59a66.js +1 -0
  231. package/assets/esri/core/workers/chunks/a774b4fc7df801503bea.js +1 -0
  232. package/assets/esri/core/workers/chunks/a9521578c0e21aaddbc7.js +1 -0
  233. package/assets/esri/core/workers/chunks/a9b30c3b604e314f1706.js +1 -0
  234. package/assets/esri/core/workers/chunks/aa0c648bd37787f62b1f.js +1 -0
  235. package/assets/esri/core/workers/chunks/aa1b8c06bdf8453a02d7.js +1 -0
  236. package/assets/esri/core/workers/chunks/aaac4eee709cd6d24910.js +1 -0
  237. package/assets/esri/core/workers/chunks/aafa33f661462f5afd2b.js +1 -0
  238. package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +1 -0
  239. package/assets/esri/core/workers/chunks/ac0949ea3d2cf3eb7383.js +1 -0
  240. package/assets/esri/core/workers/chunks/ac5da65af5da254acb16.js +1 -0
  241. package/assets/esri/core/workers/chunks/adecd31fd64d6753682d.js +1 -0
  242. package/assets/esri/core/workers/chunks/ae5798399607cb043ed2.js +1 -0
  243. package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +1 -0
  244. package/assets/esri/core/workers/chunks/b1015e1f25b60c08d2cf.js +1 -0
  245. package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +1 -0
  246. package/assets/esri/core/workers/chunks/b12dc8fd3f2a2ff8073d.js +1 -0
  247. package/assets/esri/core/workers/chunks/b190a776de4859ac00f8.js +1 -0
  248. package/assets/esri/core/workers/chunks/b1c6a1759febad66927f.js +1 -0
  249. package/assets/esri/core/workers/chunks/b482a24c9567d8926897.js +1 -0
  250. package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +1 -0
  251. package/assets/esri/core/workers/chunks/b586d7e608e8ba8b88fe.js +1 -0
  252. package/assets/esri/core/workers/chunks/b599c6d4fa3189ed1762.js +1 -0
  253. package/assets/esri/core/workers/chunks/b6acf67316107902e31d.js +1 -0
  254. package/assets/esri/core/workers/chunks/b7576a5195615c465ea7.js +1 -0
  255. package/assets/esri/core/workers/chunks/b7e40118b4d645e9f8e1.js +1 -0
  256. package/assets/esri/core/workers/chunks/b8005b1996f42dee8237.js +1 -0
  257. package/assets/esri/core/workers/chunks/b91a157fb5f729de6597.js +1 -0
  258. package/assets/esri/core/workers/chunks/b9226dd0342cfd30ece0.js +1 -0
  259. package/assets/esri/core/workers/chunks/b977b9f5f50ae8027443.js +1 -0
  260. package/assets/esri/core/workers/chunks/bab6dee8f4715d05d984.js +1 -0
  261. package/assets/esri/core/workers/chunks/bbb409e54db77bfabdee.js +1 -0
  262. package/assets/esri/core/workers/chunks/bc4f513ea3a8f344c8da.js +1 -0
  263. package/assets/esri/core/workers/chunks/be26f8175a76e7dc8f7a.js +1 -0
  264. package/assets/esri/core/workers/chunks/befedcb6d8d1ff88125f.js +1 -0
  265. package/assets/esri/core/workers/chunks/bf73352b3366de82abbe.js +1 -0
  266. package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +1 -0
  267. package/assets/esri/core/workers/chunks/c133e57f2201b9bc6cbc.js +1 -0
  268. package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +1 -0
  269. package/assets/esri/core/workers/chunks/c2d7b32f0c8eb965fcf7.js +1 -0
  270. package/assets/esri/core/workers/chunks/c45a5bcf26659daf02a1.js +1 -0
  271. package/assets/esri/core/workers/chunks/c46a4681cbba638b58c1.js +1 -0
  272. package/assets/esri/core/workers/chunks/c477b0ce55211339c4cb.js +1 -0
  273. package/assets/esri/core/workers/chunks/c500b59cd7da54fe72ec.js +1 -0
  274. package/assets/esri/core/workers/chunks/c5c1b189b91e199e8b82.js +1 -0
  275. package/assets/esri/core/workers/chunks/c65a138c14a4c540cd3b.js +1 -0
  276. package/assets/esri/core/workers/chunks/c66a9477e1c30a5ca03f.js +1 -0
  277. package/assets/esri/core/workers/chunks/{d79d29b52a65fb6bf94d.js → c71fe727224da0aba6ca.js} +1 -1
  278. package/assets/esri/core/workers/chunks/c741f7bc5693ae7e5019.js +1 -0
  279. package/assets/esri/core/workers/chunks/c75a41a5c8c5bd40ae91.js +1 -0
  280. package/assets/esri/core/workers/chunks/c791e8ebf3ee0805c479.js +1 -0
  281. package/assets/esri/core/workers/chunks/c825ca22894bdb4d01ba.js +1 -0
  282. package/assets/esri/core/workers/chunks/c8f1075c45ecf9fef00f.js +1 -0
  283. package/assets/esri/core/workers/chunks/ca06811e636f1d96f3cb.js +1 -0
  284. package/assets/esri/core/workers/chunks/cb66a74448a6c0c20d5d.js +1 -0
  285. package/assets/esri/core/workers/chunks/cbab45550b06bcc38524.js +1 -0
  286. package/assets/esri/core/workers/chunks/cc2606b8e600eeaf4bc8.js +1 -0
  287. package/assets/esri/core/workers/chunks/cdf711afbaaf345101f0.js +1 -0
  288. package/assets/esri/core/workers/chunks/ce87a6e24e9c64d90da3.js +1 -0
  289. package/assets/esri/core/workers/chunks/ce9467dc1ff695d795e5.js +1 -0
  290. package/assets/esri/core/workers/chunks/d0c831a473642d1bd9d1.js +1 -0
  291. package/assets/esri/core/workers/chunks/d0d6f818851d9a2d7938.js +1 -0
  292. package/assets/esri/core/workers/chunks/d1dd1787b3bf27834a9e.js +1 -0
  293. package/assets/esri/core/workers/chunks/d28169816c768d55aa09.js +1 -0
  294. package/assets/esri/core/workers/chunks/d2d4bce67c711a404b73.js +1 -0
  295. package/assets/esri/core/workers/chunks/d31f62ecbb54bffc54f2.js +1 -0
  296. package/assets/esri/core/workers/chunks/d37f03714c9591fb2b06.js +1 -0
  297. package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +1 -0
  298. package/assets/esri/core/workers/chunks/d436e1694f4b5bf05a90.js +1 -0
  299. package/assets/esri/core/workers/chunks/d4770dddfbfdc3845749.js +1 -0
  300. package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +1 -0
  301. package/assets/esri/core/workers/chunks/d4c4dad52da5dcf4432c.js +1 -0
  302. package/assets/esri/core/workers/chunks/d4f4c0201d8b641709c0.js +1 -0
  303. package/assets/esri/core/workers/chunks/d525b3fa719a688d4899.js +1 -0
  304. package/assets/esri/core/workers/chunks/d6e11f05db698d14f21d.js +1 -0
  305. package/assets/esri/core/workers/chunks/d7c275717a2405b6ff87.js +1 -0
  306. package/assets/esri/core/workers/chunks/d9d2178d436597b1afaf.js +1 -0
  307. package/assets/esri/core/workers/chunks/da808dfb22c6de29e560.js +1 -0
  308. package/assets/esri/core/workers/chunks/db9a9712038df76e3eda.js +1 -0
  309. package/assets/esri/core/workers/chunks/dd0e65b18c634b64582e.js +1 -0
  310. package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +1 -0
  311. package/assets/esri/core/workers/chunks/de216922b36267ab4aa1.js +1 -0
  312. package/assets/esri/core/workers/chunks/de6b3f80070abdd61d0f.js +1 -0
  313. package/assets/esri/core/workers/chunks/dea2e8caaf6e53ec56f8.js +1 -0
  314. package/assets/esri/core/workers/chunks/ded589862c22ea12d47a.js +1 -0
  315. package/assets/esri/core/workers/chunks/dedd9d47ccc019ffc484.js +1 -0
  316. package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +1 -0
  317. package/assets/esri/core/workers/chunks/e1b677a135e164a29605.js +1 -0
  318. package/assets/esri/core/workers/chunks/e201bfe3158c025edc99.js +1 -0
  319. package/assets/esri/core/workers/chunks/e337b8d69d89f597cb58.js +1 -0
  320. package/assets/esri/core/workers/chunks/e370d213c307ad8bfaec.js +1 -0
  321. package/assets/esri/core/workers/chunks/e3a73d9acebccd3ba49b.js +1 -0
  322. package/assets/esri/core/workers/chunks/e43c6058c793d43fa5f3.js +1 -0
  323. package/assets/esri/core/workers/chunks/e462b167841fddaa80b8.js +1 -0
  324. package/assets/esri/core/workers/chunks/e51e35b5cef89b0e0db1.js +1 -0
  325. package/assets/esri/core/workers/chunks/e58ec49a5cd852cb46cb.js +1 -0
  326. package/assets/esri/core/workers/chunks/e7d28ebf684db4ecb8cb.js +1 -0
  327. package/assets/esri/core/workers/chunks/e8f6305744f87bbed961.js +1 -0
  328. package/assets/esri/core/workers/chunks/e9f8115c049f168d3c2b.js +1 -0
  329. package/assets/esri/core/workers/chunks/ea32a8478f3ccb19aced.js +1 -0
  330. package/assets/esri/core/workers/chunks/ea734de7d5271c487171.js +1 -0
  331. package/assets/esri/core/workers/chunks/eb765db525f4e2e2bda2.js +1 -0
  332. package/assets/esri/core/workers/chunks/ebbcd6196ef5c5ab233d.js +1 -0
  333. package/assets/esri/core/workers/chunks/ec00fa313794f177d9d3.js +1 -0
  334. package/assets/esri/core/workers/chunks/ec03d59984782529031a.js +1 -0
  335. package/assets/esri/core/workers/chunks/ec7f4e459c7466805f72.js +1 -0
  336. package/assets/esri/core/workers/chunks/ecf7d34b37ce6f0877af.js +1 -0
  337. package/assets/esri/core/workers/chunks/ed1c92a24a167e57e36e.js +1 -0
  338. package/assets/esri/core/workers/chunks/ed69b19366e3ce5805ac.js +1 -0
  339. package/assets/esri/core/workers/chunks/ee25d1eae52c8be82898.js +1 -0
  340. package/assets/esri/core/workers/chunks/ee905e24320241959965.js +1 -0
  341. package/assets/esri/core/workers/chunks/eea91681bae00819a5e9.js +1 -0
  342. package/assets/esri/core/workers/chunks/eed24607e9b5312b417f.js +1 -0
  343. package/assets/esri/core/workers/chunks/f0eb2bfe5a8607b251f5.js +1 -0
  344. package/assets/esri/core/workers/chunks/f370e60dc81d41368e0c.js +1 -0
  345. package/assets/esri/core/workers/chunks/f3fdf9970b3c7acd071d.js +1 -0
  346. package/assets/esri/core/workers/chunks/f40e413c68d99cf54d42.js +1 -0
  347. package/assets/esri/core/workers/chunks/f5b32bc3f7ee911e3c59.js +1 -0
  348. package/assets/esri/core/workers/chunks/f5dbffd5e8b3c16336a1.js +1 -0
  349. package/assets/esri/core/workers/chunks/f5ed6953a9255f0bed6a.js +2 -0
  350. package/assets/esri/core/workers/chunks/{9ccabf8142fb5de4d3e2.js.LICENSE.txt → f5ed6953a9255f0bed6a.js.LICENSE.txt} +1 -1
  351. package/assets/esri/core/workers/chunks/f627017adc9469144507.js +1 -0
  352. package/assets/esri/core/workers/chunks/f7ad285944e0e5164384.js +1 -0
  353. package/assets/esri/core/workers/chunks/f872d34d4236f8bedbd9.js +1 -0
  354. package/assets/esri/core/workers/chunks/f88adc930506ac2d5c90.js +1 -0
  355. package/assets/esri/core/workers/chunks/f890cfa4932955ecd4e7.js +1 -0
  356. package/assets/esri/core/workers/chunks/fd4bd04f85458cad849c.js +1 -0
  357. package/assets/esri/core/workers/chunks/fe98a068536e904ce257.js +1 -0
  358. package/assets/esri/core/workers/chunks/ffa9cc09e82f2e515993.js +1 -0
  359. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  360. package/assets/esri/themes/base/widgets/_Compass.scss +1 -1
  361. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  362. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  363. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -4
  364. package/assets/esri/themes/base/widgets/_Widget.scss +1 -1
  365. package/assets/esri/themes/dark/main.css +1 -1
  366. package/assets/esri/themes/light/main.css +1 -1
  367. package/assets/esri/themes/light/view.css +1 -1
  368. package/chunks/HUDMaterial.glsl.js +1 -1
  369. package/config.js +1 -1
  370. package/copyright.txt +2 -2
  371. package/core/MultiOriginJSONSupport.d.ts +8 -0
  372. package/core/MultiOriginJSONSupport.js +1 -1
  373. package/core/ReadOnlyMultiOriginJSONSupport.d.ts +40 -0
  374. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  375. package/core/WriteableMultiOriginJSONMixin.js +1 -1
  376. package/core/accessorSupport/decorators/subclass.js +1 -1
  377. package/core/accessorSupport/types.d.ts +2 -0
  378. package/editing/sharedTemplates/templateLoader.js +5 -0
  379. package/editing/templateUtils.js +1 -1
  380. package/interfaces.d.ts +6 -0
  381. package/kernel.js +1 -1
  382. package/layers/BingMapsLayer.d.ts +3 -2
  383. package/layers/BingMapsLayer.js +1 -1
  384. package/layers/BuildingSceneLayer.d.ts +3 -2
  385. package/layers/BuildingSceneLayer.js +1 -1
  386. package/layers/CSVLayer.js +1 -1
  387. package/layers/CatalogLayer.d.ts +3 -2
  388. package/layers/CatalogLayer.js +1 -1
  389. package/layers/DimensionLayer.d.ts +3 -2
  390. package/layers/DimensionLayer.js +1 -1
  391. package/layers/ElevationLayer.d.ts +3 -2
  392. package/layers/ElevationLayer.js +1 -1
  393. package/layers/FeatureLayer.d.ts +3 -2
  394. package/layers/FeatureLayer.js +1 -1
  395. package/layers/GaussianSplatLayer.d.ts +3 -2
  396. package/layers/GaussianSplatLayer.js +1 -1
  397. package/layers/GeoJSONLayer.d.ts +3 -2
  398. package/layers/GeoJSONLayer.js +1 -1
  399. package/layers/GeoRSSLayer.d.ts +3 -2
  400. package/layers/GeoRSSLayer.js +1 -1
  401. package/layers/GroupLayer.d.ts +3 -2
  402. package/layers/GroupLayer.js +1 -1
  403. package/layers/ImageryLayer.d.ts +3 -2
  404. package/layers/ImageryLayer.js +1 -1
  405. package/layers/ImageryTileLayer.d.ts +3 -2
  406. package/layers/ImageryTileLayer.js +1 -1
  407. package/layers/IntegratedMesh3DTilesLayer.d.ts +3 -2
  408. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  409. package/layers/IntegratedMeshLayer.d.ts +3 -2
  410. package/layers/IntegratedMeshLayer.js +1 -1
  411. package/layers/KMLLayer.d.ts +3 -2
  412. package/layers/KMLLayer.js +1 -1
  413. package/layers/KnowledgeGraphLayer.d.ts +3 -2
  414. package/layers/KnowledgeGraphLayer.js +1 -1
  415. package/layers/LineOfSightLayer.d.ts +3 -2
  416. package/layers/LineOfSightLayer.js +1 -1
  417. package/layers/LinkChartLayer.d.ts +3 -2
  418. package/layers/LinkChartLayer.js +1 -1
  419. package/layers/MapImageLayer.d.ts +3 -2
  420. package/layers/MapImageLayer.js +1 -1
  421. package/layers/MapNotesLayer.d.ts +3 -2
  422. package/layers/MapNotesLayer.js +1 -1
  423. package/layers/MediaLayer.d.ts +3 -2
  424. package/layers/MediaLayer.js +1 -1
  425. package/layers/OGCFeatureLayer.d.ts +3 -2
  426. package/layers/OGCFeatureLayer.js +1 -1
  427. package/layers/ParquetLayer.d.ts +3 -2
  428. package/layers/ParquetLayer.js +1 -1
  429. package/layers/PointCloudLayer.d.ts +3 -2
  430. package/layers/PointCloudLayer.js +1 -1
  431. package/layers/RouteLayer.d.ts +3 -2
  432. package/layers/RouteLayer.js +1 -1
  433. package/layers/SceneLayer.d.ts +6 -2
  434. package/layers/SceneLayer.js +1 -1
  435. package/layers/StreamLayer.d.ts +3 -2
  436. package/layers/StreamLayer.js +1 -1
  437. package/layers/SubtypeGroupLayer.d.ts +3 -2
  438. package/layers/SubtypeGroupLayer.js +1 -1
  439. package/layers/TileLayer.d.ts +3 -2
  440. package/layers/TileLayer.js +1 -1
  441. package/layers/UnknownLayer.d.ts +3 -2
  442. package/layers/UnknownLayer.js +1 -1
  443. package/layers/UnsupportedLayer.d.ts +3 -2
  444. package/layers/UnsupportedLayer.js +1 -1
  445. package/layers/VectorTileLayer.d.ts +3 -2
  446. package/layers/VectorTileLayer.js +1 -1
  447. package/layers/VideoLayer.d.ts +3 -2
  448. package/layers/VideoLayer.js +1 -1
  449. package/layers/ViewshedLayer.d.ts +3 -2
  450. package/layers/ViewshedLayer.js +1 -1
  451. package/layers/VoxelLayer.d.ts +3 -2
  452. package/layers/VoxelLayer.js +1 -1
  453. package/layers/WCSLayer.d.ts +3 -2
  454. package/layers/WCSLayer.js +1 -1
  455. package/layers/WFSLayer.d.ts +3 -2
  456. package/layers/WFSLayer.js +1 -1
  457. package/layers/WMSLayer.d.ts +3 -2
  458. package/layers/WMSLayer.js +1 -1
  459. package/layers/WMTSLayer.d.ts +3 -2
  460. package/layers/WMTSLayer.js +1 -1
  461. package/layers/WebTileLayer.d.ts +3 -2
  462. package/layers/WebTileLayer.js +1 -1
  463. package/layers/buildingSublayers/BuildingSublayer.d.ts +3 -2
  464. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  465. package/layers/catalog/CatalogDynamicGroupLayer.d.ts +3 -2
  466. package/layers/catalog/CatalogDynamicGroupLayer.js +1 -1
  467. package/layers/catalog/CatalogFootprintLayer.d.ts +3 -2
  468. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  469. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +3 -2
  470. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  471. package/layers/media/types.d.ts +31 -5
  472. package/layers/mixins/ImageryTileMixin.js +1 -1
  473. package/layers/raster/datasets/FunctionRaster.js +1 -1
  474. package/layers/raster/functions/BaseRasterFunction.js +1 -1
  475. package/layers/raster/functions/StretchFunction.js +1 -1
  476. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  477. package/layers/support/ElevationQuery.js +1 -1
  478. package/layers/support/MediaElementBase.d.ts +5 -3
  479. package/layers/support/MediaElementBase.js +1 -1
  480. package/layers/support/RasterJobHandler.js +1 -1
  481. package/layers/support/RasterWorker.js +1 -1
  482. package/layers/support/Sublayer.d.ts +3 -2
  483. package/layers/support/Sublayer.js +1 -1
  484. package/layers/support/SubtypeSublayer.d.ts +3 -2
  485. package/layers/support/SubtypeSublayer.js +1 -1
  486. package/layers/support/WMSSublayer.d.ts +3 -2
  487. package/layers/support/WMSSublayer.js +1 -1
  488. package/layers/support/layerOriginUtils.js +1 -1
  489. package/linkChart/LinkChartProperties.d.ts +5 -3
  490. package/linkChart/LinkChartProperties.js +1 -1
  491. package/networks/CircuitManager.d.ts +1 -1
  492. package/networks/Network.d.ts +4 -2
  493. package/networks/Network.js +1 -1
  494. package/networks/support/NamedTraceConfiguration.d.ts +5 -3
  495. package/networks/support/NamedTraceConfiguration.js +1 -1
  496. package/networks/support/jsonTypes.d.ts +65 -0
  497. package/package.json +3 -3
  498. package/rest/featureService/types.d.ts +42 -5
  499. package/rest/networks/circuits/exportCircuits.js +1 -1
  500. package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +10 -2
  501. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  502. package/rest/support/Query.d.ts +12 -1
  503. package/support/revision.js +1 -1
  504. package/symbols/support/symbolUtils.js +1 -1
  505. package/views/2d/engine/BitmapTileContainer.js +1 -1
  506. package/views/2d/engine/DisplayObject.js +1 -1
  507. package/views/2d/engine/Stage.js +1 -1
  508. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  509. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  510. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  511. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  512. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  513. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  514. package/views/2d/engine/webgl/TileContainer.js +1 -1
  515. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  516. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
  517. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  518. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  519. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  520. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  521. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  522. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  523. package/views/2d/layers/TileLayerView2D.js +1 -1
  524. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  525. package/views/2d/layers/features/FeatureContainer.js +1 -1
  526. package/views/2d/layers/features/Processor.js +1 -1
  527. package/views/2d/layers/features/support/Tile.js +1 -1
  528. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  529. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  530. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  531. package/views/2d/layers/support/imageUtils.js +1 -1
  532. package/views/2d/tiling/TileCache.js +1 -1
  533. package/views/2d/tiling/TileInfoView.js +1 -1
  534. package/views/2d/tiling/TileInfoViewPOT.js +1 -1
  535. package/views/3d/FocusAreasView.js +1 -1
  536. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  537. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  538. package/views/3d/camera/intersectionUtils.js +1 -1
  539. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  540. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  541. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  542. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  543. package/views/3d/layers/graphics/extrudeUtils.js +5 -0
  544. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  545. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  546. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  547. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  548. package/views/interactive/snapping/SnappingContext.js +1 -1
  549. package/widgets/Attribution.d.ts +1 -0
  550. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +18 -0
  551. package/widgets/BatchAttributeForm.d.ts +2 -0
  552. package/widgets/BatchAttributeForm.js +1 -1
  553. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  554. package/widgets/Editor/workflowUtils.js +1 -1
  555. package/widgets/Feature/support/featureUtils.js +1 -1
  556. package/widgets/FeatureForm.js +1 -1
  557. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +43 -4
  558. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  559. package/widgets/FeatureTable/FieldColumn.js +1 -1
  560. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  561. package/widgets/FeatureTable/Grid/types.d.ts +7 -1
  562. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  563. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  564. package/widgets/FeatureTable.d.ts +43 -4
  565. package/widgets/FeatureTable.js +1 -1
  566. package/widgets/Legend/LegendViewModel.d.ts +6 -0
  567. package/widgets/Legend/styles/card/CardView.d.ts +19 -3
  568. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  569. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  570. package/widgets/Legend.d.ts +15 -0
  571. package/widgets/Search/SearchViewModel.d.ts +5 -0
  572. package/widgets/Search/SearchViewModel.js +1 -1
  573. package/widgets/Search/support/layerSearchUtils.js +1 -1
  574. package/widgets/Search.js +1 -1
  575. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  576. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  577. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  578. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  579. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  580. package/widgets/smartMapping/ColorSlider.js +1 -1
  581. package/widgets/smartMapping/OpacitySlider.js +1 -1
  582. package/widgets/smartMapping/SizeSlider.js +1 -1
  583. package/assets/esri/core/workers/chunks/00c77f03dd511c6dbff2.js +0 -1
  584. package/assets/esri/core/workers/chunks/015492d609c28077d66c.js +0 -1
  585. package/assets/esri/core/workers/chunks/04176244b0a3539c9681.js +0 -1
  586. package/assets/esri/core/workers/chunks/0429ca6ba562ae29897e.js +0 -1
  587. package/assets/esri/core/workers/chunks/04958494022f82dca473.js +0 -1
  588. package/assets/esri/core/workers/chunks/049c125085028ffdd0dd.js +0 -1
  589. package/assets/esri/core/workers/chunks/05e3bfd07a7a227862fd.js +0 -1
  590. package/assets/esri/core/workers/chunks/095c1b88cdcb91ab837e.js +0 -1
  591. package/assets/esri/core/workers/chunks/09b77f82c22530b44daa.js +0 -1
  592. package/assets/esri/core/workers/chunks/0a39c6dc57bd60d5587e.js +0 -1
  593. package/assets/esri/core/workers/chunks/0b679d5a1bfdbd006d6e.js +0 -1
  594. package/assets/esri/core/workers/chunks/0b7bbdc0d71ee6721751.js +0 -2
  595. package/assets/esri/core/workers/chunks/0d9e1ccc3ba8b5ed3287.js +0 -1
  596. package/assets/esri/core/workers/chunks/0f4e9846d074864b39c2.js +0 -1
  597. package/assets/esri/core/workers/chunks/0fc22ad791d3ec0a9c5e.js +0 -1
  598. package/assets/esri/core/workers/chunks/1037b38aade2a847bf24.js +0 -1
  599. package/assets/esri/core/workers/chunks/108a4ab28b6586e281d9.js +0 -1
  600. package/assets/esri/core/workers/chunks/12f9a55253084a910b2e.js +0 -1
  601. package/assets/esri/core/workers/chunks/13137f35b9ab299d07e3.js +0 -1
  602. package/assets/esri/core/workers/chunks/13839d220e5c62404923.js +0 -1
  603. package/assets/esri/core/workers/chunks/1484a7ef4fcbd748b197.js +0 -1
  604. package/assets/esri/core/workers/chunks/14dedd80fb797303f91f.js +0 -1
  605. package/assets/esri/core/workers/chunks/1694b9154df3eccf602e.js +0 -1
  606. package/assets/esri/core/workers/chunks/16a7edb381621085a631.js +0 -1
  607. package/assets/esri/core/workers/chunks/16cfa7031d6dbf5aa09b.js +0 -1
  608. package/assets/esri/core/workers/chunks/18ab5959ebf8689f8fe8.js +0 -1
  609. package/assets/esri/core/workers/chunks/18b0ce0bc2a9737ffb1b.js +0 -1
  610. package/assets/esri/core/workers/chunks/1a6d2f525dd30d08cf9b.js +0 -1
  611. package/assets/esri/core/workers/chunks/1b284a6f32effe28aafc.js +0 -1
  612. package/assets/esri/core/workers/chunks/1c58bd3275c849d44b13.js +0 -1
  613. package/assets/esri/core/workers/chunks/1c742018eb7dfd5d23e3.js +0 -1
  614. package/assets/esri/core/workers/chunks/1dfa949cc4f4c18ed4cf.js +0 -1
  615. package/assets/esri/core/workers/chunks/1e848d9da1c61a27cf18.js +0 -1
  616. package/assets/esri/core/workers/chunks/20f4c6d8b310ecab97be.js +0 -1
  617. package/assets/esri/core/workers/chunks/218b2b767b40d85fb713.js +0 -1
  618. package/assets/esri/core/workers/chunks/22c115ec003351c7d8ee.js +0 -1
  619. package/assets/esri/core/workers/chunks/23545a9adc75564ecf6e.js +0 -1
  620. package/assets/esri/core/workers/chunks/23cf4cbc389d2b50e968.js +0 -1
  621. package/assets/esri/core/workers/chunks/24527b61c8c216becbc4.js +0 -1
  622. package/assets/esri/core/workers/chunks/24dab877047369de13e2.js +0 -1
  623. package/assets/esri/core/workers/chunks/25f3ee666f545a7a7993.js +0 -2
  624. package/assets/esri/core/workers/chunks/29471e0b3f7296dee096.js +0 -1
  625. package/assets/esri/core/workers/chunks/2b27499fa9de22970b7a.js +0 -1
  626. package/assets/esri/core/workers/chunks/2bd59ece927b5c1c9f80.js +0 -1
  627. package/assets/esri/core/workers/chunks/2c7038a7ffaf75344b02.js +0 -1
  628. package/assets/esri/core/workers/chunks/2d8b8880e6bff4414e95.js +0 -1
  629. package/assets/esri/core/workers/chunks/2dfa7abf2d39fa5a3874.js +0 -1
  630. package/assets/esri/core/workers/chunks/2e6ae1ca07df442fc966.js +0 -1
  631. package/assets/esri/core/workers/chunks/2e6bd743b88e83d43137.js +0 -1
  632. package/assets/esri/core/workers/chunks/3001568a99fdd14aada9.js +0 -1
  633. package/assets/esri/core/workers/chunks/30dd4a7c93b33988a270.js +0 -1
  634. package/assets/esri/core/workers/chunks/312b3cc1c91d5b419faf.js +0 -1
  635. package/assets/esri/core/workers/chunks/31fa3dd983e9e73fcb65.js +0 -1
  636. package/assets/esri/core/workers/chunks/33a13e80badd20ed8de2.js +0 -1
  637. package/assets/esri/core/workers/chunks/355c8d0eadfff9f62dfb.js +0 -1
  638. package/assets/esri/core/workers/chunks/35c98ea99000f411175f.js +0 -1
  639. package/assets/esri/core/workers/chunks/35e1d0cfc3c5a484422f.js +0 -1
  640. package/assets/esri/core/workers/chunks/360f263f32aa2342a897.js +0 -1
  641. package/assets/esri/core/workers/chunks/369f37060608342a4262.js +0 -1
  642. package/assets/esri/core/workers/chunks/36ecf951c0c7dad84b69.js +0 -1
  643. package/assets/esri/core/workers/chunks/37002a46f03a9fc5f644.js +0 -2
  644. package/assets/esri/core/workers/chunks/37258b702fe06bbcf748.js +0 -1
  645. package/assets/esri/core/workers/chunks/37a3e91791a18ed8b8da.js +0 -1
  646. package/assets/esri/core/workers/chunks/3a04153ca9d8e4f01185.js +0 -1
  647. package/assets/esri/core/workers/chunks/3b1982bf7b44ff897a35.js +0 -1
  648. package/assets/esri/core/workers/chunks/3b25f5d9c8f78bb6e011.js +0 -1
  649. package/assets/esri/core/workers/chunks/3c5f07ebe1b09dcdc958.js +0 -1
  650. package/assets/esri/core/workers/chunks/3c66dd52ad156711a6a2.js +0 -1
  651. package/assets/esri/core/workers/chunks/3ed317900f0edf635508.js +0 -1
  652. package/assets/esri/core/workers/chunks/3f0959b1abafe516146e.js +0 -1
  653. package/assets/esri/core/workers/chunks/41f487713c6278d389a1.js +0 -1
  654. package/assets/esri/core/workers/chunks/4319b89cfa02894a8cae.js +0 -1
  655. package/assets/esri/core/workers/chunks/43e2c1d72cd9c8beed2f.js +0 -2
  656. package/assets/esri/core/workers/chunks/44c228388a95fa958827.js +0 -1
  657. package/assets/esri/core/workers/chunks/45a9cd722e98dd1548ae.js +0 -1
  658. package/assets/esri/core/workers/chunks/46daa1ff5b412a97edc9.js +0 -1
  659. package/assets/esri/core/workers/chunks/46e547691bca424f2bc9.js +0 -1
  660. package/assets/esri/core/workers/chunks/4750f55a289bc0cf3d77.js +0 -1
  661. package/assets/esri/core/workers/chunks/47d2103b876b01bc26fd.js +0 -1
  662. package/assets/esri/core/workers/chunks/495af366ec1defd89a72.js +0 -1
  663. package/assets/esri/core/workers/chunks/4b14ee37b5ac50a734f9.js +0 -1
  664. package/assets/esri/core/workers/chunks/4bcd74951477e8977ba1.js +0 -1
  665. package/assets/esri/core/workers/chunks/4cbe78d6a5ff617e15d6.js +0 -1
  666. package/assets/esri/core/workers/chunks/4ce28c936eaffe57c448.js +0 -1
  667. package/assets/esri/core/workers/chunks/4d5591c1b4ef37075921.js +0 -1
  668. package/assets/esri/core/workers/chunks/4ef97eb67dc42e0052d6.js +0 -1
  669. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +0 -1
  670. package/assets/esri/core/workers/chunks/4fcf035582fa6e93d264.js +0 -1
  671. package/assets/esri/core/workers/chunks/509307a2ef990ad1da8f.js +0 -301
  672. package/assets/esri/core/workers/chunks/50eb381b18b84b9c75a3.js +0 -1
  673. package/assets/esri/core/workers/chunks/50f03813fba4b752ca9f.js +0 -1
  674. package/assets/esri/core/workers/chunks/52a14266fe239b95c5ce.js +0 -1
  675. package/assets/esri/core/workers/chunks/52bcfb3ea563c1a301d4.js +0 -1
  676. package/assets/esri/core/workers/chunks/53b5c77832df7df4d4e3.js +0 -1
  677. package/assets/esri/core/workers/chunks/558822b700e8bd844052.js +0 -1
  678. package/assets/esri/core/workers/chunks/55a9ea536c64976c3409.js +0 -1
  679. package/assets/esri/core/workers/chunks/563933a84fc9b0e021f6.js +0 -1
  680. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +0 -1
  681. package/assets/esri/core/workers/chunks/575a33924ec900f9e537.js +0 -1
  682. package/assets/esri/core/workers/chunks/584c4602d97a008afb83.js +0 -1
  683. package/assets/esri/core/workers/chunks/58b3a776ef129f7f86dc.js +0 -1
  684. package/assets/esri/core/workers/chunks/590a7fd4f5476224ec89.js +0 -1
  685. package/assets/esri/core/workers/chunks/59a45533e96cedf1c480.js +0 -1
  686. package/assets/esri/core/workers/chunks/5a66b7f1f4da75da8e7f.js +0 -1
  687. package/assets/esri/core/workers/chunks/5b9f2aa3ba1bf12c3240.js +0 -2
  688. package/assets/esri/core/workers/chunks/5bbf20135c87a1cc8a18.js +0 -1
  689. package/assets/esri/core/workers/chunks/5cc217f188fd56006158.js +0 -1
  690. package/assets/esri/core/workers/chunks/5dc2f2e28c30386efadf.js +0 -1
  691. package/assets/esri/core/workers/chunks/5df49e1f283e2e83de46.js +0 -1
  692. package/assets/esri/core/workers/chunks/60764ea501a3a1aacc63.js +0 -1
  693. package/assets/esri/core/workers/chunks/6087d5dc40bb62ec48c8.js +0 -1
  694. package/assets/esri/core/workers/chunks/6094bba52ddada48c7ed.js +0 -1
  695. package/assets/esri/core/workers/chunks/60eeeea671a523bb6b15.js +0 -1
  696. package/assets/esri/core/workers/chunks/60f363ee2add089e8f0b.js +0 -1
  697. package/assets/esri/core/workers/chunks/6387308c4add226e5b83.js +0 -1
  698. package/assets/esri/core/workers/chunks/63b8193ad90b2ebe6884.js +0 -1
  699. package/assets/esri/core/workers/chunks/657602e6a84e8b4576fb.js +0 -1
  700. package/assets/esri/core/workers/chunks/65fd971d0574d69cbc26.js +0 -1
  701. package/assets/esri/core/workers/chunks/679cd6424e0e2d7f372b.js +0 -1
  702. package/assets/esri/core/workers/chunks/6800647240b7968be225.js +0 -1
  703. package/assets/esri/core/workers/chunks/68074a484d7f9bc713c0.js +0 -1
  704. package/assets/esri/core/workers/chunks/680f9c29ca96ea8e01da.js +0 -1
  705. package/assets/esri/core/workers/chunks/68cb43f2fa8cc826e99b.js +0 -1
  706. package/assets/esri/core/workers/chunks/69a68a6d6736c4b97a27.js +0 -1
  707. package/assets/esri/core/workers/chunks/6a3d66d7c92f90cc2a17.js +0 -1
  708. package/assets/esri/core/workers/chunks/6a544fb44f7da0e80f43.js +0 -1
  709. package/assets/esri/core/workers/chunks/6a782e8475bff4d56dbc.js +0 -1
  710. package/assets/esri/core/workers/chunks/6b85a8776ec2beff63cb.js +0 -1
  711. package/assets/esri/core/workers/chunks/6be530ab81291745485b.js +0 -2
  712. package/assets/esri/core/workers/chunks/6d3ae7969ea86a2e0b13.js +0 -1
  713. package/assets/esri/core/workers/chunks/6df484faf54e90a6cc77.js +0 -1
  714. package/assets/esri/core/workers/chunks/6ea6ad894ac634aa4391.js +0 -1
  715. package/assets/esri/core/workers/chunks/6ffc1a0400298fca00ee.js +0 -1
  716. package/assets/esri/core/workers/chunks/729c2d26ae23d9c86547.js +0 -1
  717. package/assets/esri/core/workers/chunks/73bee5659414b3687cfc.js +0 -1
  718. package/assets/esri/core/workers/chunks/73c416ae0ec5a1815591.js +0 -2
  719. package/assets/esri/core/workers/chunks/74b825d4f0e7ab567b10.js +0 -1
  720. package/assets/esri/core/workers/chunks/75c66e38bdc1c786c599.js +0 -1
  721. package/assets/esri/core/workers/chunks/75fd2ef1236a9364ca7f.js +0 -1
  722. package/assets/esri/core/workers/chunks/760a759f9697adde6dd4.js +0 -1
  723. package/assets/esri/core/workers/chunks/77509bd20ac5bc190c94.js +0 -1039
  724. package/assets/esri/core/workers/chunks/7763cf4a9a4343c28591.js +0 -1
  725. package/assets/esri/core/workers/chunks/7972954801b82e7afc72.js +0 -1
  726. package/assets/esri/core/workers/chunks/798d227205bd958de6a7.js +0 -1
  727. package/assets/esri/core/workers/chunks/7bc09e80bf45fe137055.js +0 -1
  728. package/assets/esri/core/workers/chunks/7be9bbae23895d1cfa92.js +0 -1
  729. package/assets/esri/core/workers/chunks/7bf30c254228f9b7f224.js +0 -1
  730. package/assets/esri/core/workers/chunks/7bf491b468cd74a4166c.js +0 -1
  731. package/assets/esri/core/workers/chunks/7d631ebf8f79225cf0f6.js +0 -1
  732. package/assets/esri/core/workers/chunks/7d744554d14057d9b2b1.js +0 -1
  733. package/assets/esri/core/workers/chunks/7d8664aeff66e34138bd.js +0 -1
  734. package/assets/esri/core/workers/chunks/7db52d2451494835c160.js +0 -1
  735. package/assets/esri/core/workers/chunks/818b5b8027d6fe8999d6.js +0 -1
  736. package/assets/esri/core/workers/chunks/8195310b4c53db902fc1.js +0 -1
  737. package/assets/esri/core/workers/chunks/82ace0195b63790b22c9.js +0 -1
  738. package/assets/esri/core/workers/chunks/83117d2747bdaf480c7b.js +0 -1
  739. package/assets/esri/core/workers/chunks/83c5dea24e36ac2e3497.js +0 -1
  740. package/assets/esri/core/workers/chunks/84440efe2cc337dab81f.js +0 -1
  741. package/assets/esri/core/workers/chunks/84ec8ea3e40e0864798f.js +0 -1
  742. package/assets/esri/core/workers/chunks/852007720e3bc29532db.js +0 -1
  743. package/assets/esri/core/workers/chunks/85c92726121cb43a2216.js +0 -1
  744. package/assets/esri/core/workers/chunks/86832d94190150c70c11.js +0 -1
  745. package/assets/esri/core/workers/chunks/873008572c1f21cea122.js +0 -2
  746. package/assets/esri/core/workers/chunks/87c6470ee295d736b06d.js +0 -1
  747. package/assets/esri/core/workers/chunks/88379cd8e8e1c7ae3c7c.js +0 -1
  748. package/assets/esri/core/workers/chunks/88cbaa91c495d86f4bb0.js +0 -1
  749. package/assets/esri/core/workers/chunks/89853fccdf2bfcc290c0.js +0 -1
  750. package/assets/esri/core/workers/chunks/8c1f1eb36198ce40ef13.js +0 -1
  751. package/assets/esri/core/workers/chunks/8d58e59ea13ecafdd45c.js +0 -1
  752. package/assets/esri/core/workers/chunks/8db723b8468e408dda46.js +0 -1
  753. package/assets/esri/core/workers/chunks/8dca61f8ba6689379f86.js +0 -1
  754. package/assets/esri/core/workers/chunks/8e354c7b4858db5880a9.js +0 -1
  755. package/assets/esri/core/workers/chunks/8e556ff730ae96290a69.js +0 -1
  756. package/assets/esri/core/workers/chunks/8e62a5fcc4c7e83a903a.js +0 -1
  757. package/assets/esri/core/workers/chunks/9086a4933d3d3d9ffa72.js +0 -1
  758. package/assets/esri/core/workers/chunks/91d9ade78854f40a962d.js +0 -1
  759. package/assets/esri/core/workers/chunks/91fba3bebd78cb956941.js +0 -1
  760. package/assets/esri/core/workers/chunks/920b4def081c78c0d586.js +0 -1
  761. package/assets/esri/core/workers/chunks/92928c56b312e1514600.js +0 -1
  762. package/assets/esri/core/workers/chunks/92a4f56232f81ca457fa.js +0 -1
  763. package/assets/esri/core/workers/chunks/92ef6071ea87b7f940e2.js +0 -1
  764. package/assets/esri/core/workers/chunks/9319d57494482668ab19.js +0 -1
  765. package/assets/esri/core/workers/chunks/9361834d2c3064eb41fc.js +0 -1
  766. package/assets/esri/core/workers/chunks/9382af94bf6bf1b09c8c.js +0 -1
  767. package/assets/esri/core/workers/chunks/942c80c425b1f13cced5.js +0 -1
  768. package/assets/esri/core/workers/chunks/95cb062cae4c31c07124.js +0 -1
  769. package/assets/esri/core/workers/chunks/968335b28b895e19913b.js +0 -1
  770. package/assets/esri/core/workers/chunks/979bc762ccc0d3fc2467.js +0 -1
  771. package/assets/esri/core/workers/chunks/9828b07b5f8fd9f40935.js +0 -1
  772. package/assets/esri/core/workers/chunks/98739414c107ad78e4d8.js +0 -1
  773. package/assets/esri/core/workers/chunks/988f5e003377d734d282.js +0 -1
  774. package/assets/esri/core/workers/chunks/9921c8d4487a0f580b93.js +0 -1
  775. package/assets/esri/core/workers/chunks/9a6bdcedcb7d2798ba30.js +0 -1
  776. package/assets/esri/core/workers/chunks/9afe220b5b60cfa44c95.js +0 -1
  777. package/assets/esri/core/workers/chunks/9ba8a2e1c0fb4e1efc7c.js +0 -1
  778. package/assets/esri/core/workers/chunks/9c93eadbd19bef1191b4.js +0 -1
  779. package/assets/esri/core/workers/chunks/9c9d359caf8354a8ec52.js +0 -1
  780. package/assets/esri/core/workers/chunks/9cc2832d5f625f81c08d.js +0 -1
  781. package/assets/esri/core/workers/chunks/9ccabf8142fb5de4d3e2.js +0 -2
  782. package/assets/esri/core/workers/chunks/9cec9d09f3aa5c21660d.js +0 -37
  783. package/assets/esri/core/workers/chunks/9d258f14199181dee424.js +0 -1
  784. package/assets/esri/core/workers/chunks/9e869fd6450cf874783a.js +0 -1
  785. package/assets/esri/core/workers/chunks/9f34cf024231f574009c.js +0 -1
  786. package/assets/esri/core/workers/chunks/a1594486177015e8a6c3.js +0 -1
  787. package/assets/esri/core/workers/chunks/a16e75ff5cd9b22be197.js +0 -1
  788. package/assets/esri/core/workers/chunks/a1b8722c6acafdf1c2bf.js +0 -1
  789. package/assets/esri/core/workers/chunks/a3407ca77b0ff62c0e75.js +0 -1
  790. package/assets/esri/core/workers/chunks/a41073263af5eba3c16d.js +0 -1
  791. package/assets/esri/core/workers/chunks/a623676c74745e040a2a.js +0 -1
  792. package/assets/esri/core/workers/chunks/a64cd02ca959d511101c.js +0 -1
  793. package/assets/esri/core/workers/chunks/a6742abe3ebe371e85f1.js +0 -1
  794. package/assets/esri/core/workers/chunks/a6d4256c327f07221117.js +0 -1
  795. package/assets/esri/core/workers/chunks/a6f29d1a6356e2de5a79.js +0 -1
  796. package/assets/esri/core/workers/chunks/a79fad422d41019c8232.js +0 -1
  797. package/assets/esri/core/workers/chunks/a8dfd246c797f3b979f5.js +0 -1
  798. package/assets/esri/core/workers/chunks/ab0275669e28e7a34c38.js +0 -1
  799. package/assets/esri/core/workers/chunks/ab5e2f823960c33cefe4.js +0 -1
  800. package/assets/esri/core/workers/chunks/acdbe0299024d58e1421.js +0 -1
  801. package/assets/esri/core/workers/chunks/ad253136c1e12f733d15.js +0 -1
  802. package/assets/esri/core/workers/chunks/adc68e2c6d2698a52bfe.js +0 -1
  803. package/assets/esri/core/workers/chunks/adff1791ae44631ad34a.js +0 -1
  804. package/assets/esri/core/workers/chunks/ae16fe50a54b5c0f9811.js +0 -1
  805. package/assets/esri/core/workers/chunks/ae18de425548bb865702.js +0 -1
  806. package/assets/esri/core/workers/chunks/ae6066ea6cb373dc6db3.js +0 -1
  807. package/assets/esri/core/workers/chunks/aeb524eded012217a865.js +0 -1
  808. package/assets/esri/core/workers/chunks/af00081b78fc30ac556c.js +0 -1
  809. package/assets/esri/core/workers/chunks/b211b53aa7616a093b90.js +0 -1
  810. package/assets/esri/core/workers/chunks/b28e0b89603d8b03f9e1.js +0 -1
  811. package/assets/esri/core/workers/chunks/b4349db7155673329432.js +0 -1
  812. package/assets/esri/core/workers/chunks/b48033645091c91e0d88.js +0 -1
  813. package/assets/esri/core/workers/chunks/b5e4a36784d598ae6679.js +0 -1
  814. package/assets/esri/core/workers/chunks/b64cfd86d9204be743c6.js +0 -1
  815. package/assets/esri/core/workers/chunks/b8988771bfa4e785ebd6.js +0 -1
  816. package/assets/esri/core/workers/chunks/ba6452acee3d6defb37e.js +0 -1
  817. package/assets/esri/core/workers/chunks/bb92a9daa0c5b019561f.js +0 -1
  818. package/assets/esri/core/workers/chunks/bc731ec9d5136f1d9253.js +0 -1
  819. package/assets/esri/core/workers/chunks/bd1d159dce4094694c93.js +0 -1
  820. package/assets/esri/core/workers/chunks/bd2a28b14e5c0a55d783.js +0 -1
  821. package/assets/esri/core/workers/chunks/bdbb5b33f0f49661bf6d.js +0 -1
  822. package/assets/esri/core/workers/chunks/befeca51530bba5e8073.js +0 -1
  823. package/assets/esri/core/workers/chunks/bf05164b7a3e4f31e9db.js +0 -1
  824. package/assets/esri/core/workers/chunks/bf88bd763fd6442a95fd.js +0 -1
  825. package/assets/esri/core/workers/chunks/bfe052b386ec4874f350.js +0 -1
  826. package/assets/esri/core/workers/chunks/c042269586921e337be9.js +0 -1
  827. package/assets/esri/core/workers/chunks/c0b15510a8cab98df77f.js +0 -1
  828. package/assets/esri/core/workers/chunks/c27842a34e73ccb46116.js +0 -1
  829. package/assets/esri/core/workers/chunks/c3272b09bff886b08ce1.js +0 -1
  830. package/assets/esri/core/workers/chunks/c38a07e936226b361b63.js +0 -1
  831. package/assets/esri/core/workers/chunks/c59c1e52acb5ac8f78f9.js +0 -1
  832. package/assets/esri/core/workers/chunks/c5cc0fc652432a9264cc.js +0 -1
  833. package/assets/esri/core/workers/chunks/c605bf7d1e12917ac482.js +0 -1
  834. package/assets/esri/core/workers/chunks/c743e561e7d73a100576.js +0 -1
  835. package/assets/esri/core/workers/chunks/c7838ac0db8570a2d2c1.js +0 -1
  836. package/assets/esri/core/workers/chunks/c8182c2cbb0ead202af6.js +0 -1
  837. package/assets/esri/core/workers/chunks/c91ef3814e7f024043cf.js +0 -1
  838. package/assets/esri/core/workers/chunks/c96083838f919a8f64cd.js +0 -1
  839. package/assets/esri/core/workers/chunks/cad1d7e5ce89f51b3ac9.js +0 -1
  840. package/assets/esri/core/workers/chunks/cade149fa19b4d06dd24.js +0 -1
  841. package/assets/esri/core/workers/chunks/cc50f96321a7c12f300b.js +0 -1
  842. package/assets/esri/core/workers/chunks/ccc743e41854eb225c23.js +0 -1
  843. package/assets/esri/core/workers/chunks/cd788ed111e1e35cf9c8.js +0 -1
  844. package/assets/esri/core/workers/chunks/ce3870db25566cd93d8e.js +0 -1
  845. package/assets/esri/core/workers/chunks/cfbe9993263fa6f69363.js +0 -1
  846. package/assets/esri/core/workers/chunks/d129a5a34e9ad09bd39e.js +0 -1
  847. package/assets/esri/core/workers/chunks/d14e75b160aa432233c6.js +0 -1
  848. package/assets/esri/core/workers/chunks/d21480925a8bc9c7de96.js +0 -1
  849. package/assets/esri/core/workers/chunks/d32aad968798948946e4.js +0 -1
  850. package/assets/esri/core/workers/chunks/d364096493ceeff34c10.js +0 -1
  851. package/assets/esri/core/workers/chunks/d373986588f6b1b8f2d5.js +0 -1
  852. package/assets/esri/core/workers/chunks/d3b1d1c389d70919fb02.js +0 -1
  853. package/assets/esri/core/workers/chunks/d52a0c3a855029c48bd2.js +0 -1
  854. package/assets/esri/core/workers/chunks/d66973e926bc03e2359a.js +0 -1
  855. package/assets/esri/core/workers/chunks/d7cd1d879768df629716.js +0 -1
  856. package/assets/esri/core/workers/chunks/d7df5e4028d502712317.js +0 -1
  857. package/assets/esri/core/workers/chunks/d90564fbafc00df2d56d.js +0 -1
  858. package/assets/esri/core/workers/chunks/d9ca754f51b9812bb179.js +0 -1
  859. package/assets/esri/core/workers/chunks/d9ef0b3341e2744d8f2f.js +0 -1
  860. package/assets/esri/core/workers/chunks/da5ce19ecf3a5e92a2a9.js +0 -1
  861. package/assets/esri/core/workers/chunks/da7685ec2b6eaf00fd2d.js +0 -1
  862. package/assets/esri/core/workers/chunks/dae715b2b0094641e42f.js +0 -1
  863. package/assets/esri/core/workers/chunks/db04b0a30cce9e476551.js +0 -1
  864. package/assets/esri/core/workers/chunks/db28d00171240b4fffac.js +0 -1
  865. package/assets/esri/core/workers/chunks/db4661fd82dc61162115.js +0 -1
  866. package/assets/esri/core/workers/chunks/dbd382546837aa7709e2.js +0 -1
  867. package/assets/esri/core/workers/chunks/dddb6cb44cbe4dc1af97.js +0 -1
  868. package/assets/esri/core/workers/chunks/de60421029fbcebe2950.js +0 -1
  869. package/assets/esri/core/workers/chunks/df33d5a08e1b6dc00f45.js +0 -1
  870. package/assets/esri/core/workers/chunks/e0369ce0d729c9656488.js +0 -1
  871. package/assets/esri/core/workers/chunks/e03c706e327f4989280a.js +0 -1
  872. package/assets/esri/core/workers/chunks/e0648f5aed9d939928dc.js +0 -1
  873. package/assets/esri/core/workers/chunks/e071b912539304564b69.js +0 -1
  874. package/assets/esri/core/workers/chunks/e10d6e511921394474ca.js +0 -1
  875. package/assets/esri/core/workers/chunks/e34b7acc963288ca0f04.js +0 -1
  876. package/assets/esri/core/workers/chunks/e4b6aa8f67c2bd285020.js +0 -1
  877. package/assets/esri/core/workers/chunks/e572ffc1d000e4e6325f.js +0 -1
  878. package/assets/esri/core/workers/chunks/e615a935bbf1168fac43.js +0 -1
  879. package/assets/esri/core/workers/chunks/e8bf362b2631f977b1cb.js +0 -1
  880. package/assets/esri/core/workers/chunks/e8e4d48ab4024e17108d.js +0 -1
  881. package/assets/esri/core/workers/chunks/e97787de88e2992add13.js +0 -1
  882. package/assets/esri/core/workers/chunks/eaadcc43837c465342cc.js +0 -1
  883. package/assets/esri/core/workers/chunks/eb7eb3b3b8800fd73f3e.js +0 -1
  884. package/assets/esri/core/workers/chunks/ecb4c223c0278971cdc9.js +0 -1
  885. package/assets/esri/core/workers/chunks/ed7e353e290b3a272457.js +0 -1
  886. package/assets/esri/core/workers/chunks/ee361690b456c12c30d8.js +0 -1
  887. package/assets/esri/core/workers/chunks/ef639d31c94d2b55b8d4.js +0 -1
  888. package/assets/esri/core/workers/chunks/ef977be20a647aeded0a.js +0 -1
  889. package/assets/esri/core/workers/chunks/efb631371b6bb3f043bb.js +0 -1
  890. package/assets/esri/core/workers/chunks/f0100b34f8b13fb37157.js +0 -1
  891. package/assets/esri/core/workers/chunks/f0914715e90e43466f8c.js +0 -1
  892. package/assets/esri/core/workers/chunks/f0a667d8d33bc51c795d.js +0 -1
  893. package/assets/esri/core/workers/chunks/f1e5d52e550326e49d1e.js +0 -1
  894. package/assets/esri/core/workers/chunks/f2b63597ae956db74eb3.js +0 -1
  895. package/assets/esri/core/workers/chunks/f32d4813b450a3eb4262.js +0 -1
  896. package/assets/esri/core/workers/chunks/f3b2c81f5ad26a58a4bd.js +0 -1
  897. package/assets/esri/core/workers/chunks/f54ec21fa67db6fef5a6.js +0 -1
  898. package/assets/esri/core/workers/chunks/f57b5720ce827f5845cd.js +0 -1
  899. package/assets/esri/core/workers/chunks/f5a695dc51793b138b23.js +0 -1
  900. package/assets/esri/core/workers/chunks/f5f584d325f8f2ea825f.js +0 -1
  901. package/assets/esri/core/workers/chunks/f65d26588d2d80680a26.js +0 -1
  902. package/assets/esri/core/workers/chunks/f65f1798f398bc549463.js +0 -1
  903. package/assets/esri/core/workers/chunks/f72e6c903f55ce95a6c5.js +0 -1
  904. package/assets/esri/core/workers/chunks/f77b93bef06bae03c1c6.js +0 -1
  905. package/assets/esri/core/workers/chunks/f7dfbf24859f4ac2421b.js +0 -1
  906. package/assets/esri/core/workers/chunks/f8438642a9bdd8980b4b.js +0 -1
  907. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +0 -1
  908. package/assets/esri/core/workers/chunks/fdb5b5d8a7c99a0bf5f9.js +0 -1
  909. package/assets/esri/core/workers/chunks/fdbe16e3b23e01655c0c.js +0 -1
  910. package/assets/esri/core/workers/chunks/fe07390e27f8cd5e93a8.js +0 -1
  911. package/assets/esri/core/workers/chunks/fe33b11ec3f58a0f541a.js +0 -1
  912. package/assets/esri/core/workers/chunks/ff8e2f998169ca3a7a68.js +0 -1
  913. package/assets/esri/core/workers/chunks/ffdba51e7256ebf8ebd3.js +0 -1
  914. /package/assets/esri/core/workers/chunks/{873008572c1f21cea122.js.LICENSE.txt → 91e307ca0d11804a7a1d.js.LICENSE.txt} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import s from"../../../geometry/Polygon.js";import a from"./BaseRaster.js";import{clip as o}from"../functions/clipUtils.js";import{approximateTransform as n}from"../functions/pixelUtils.js";import{projectPolygon as l}from"../functions/rasterProjectionHelper.js";import c from"../../../rest/support/FeatureSet.js";const p=40;let m=class extends a{constructor(){super(...arguments),this.datasetFormat="Function",this.tileType="Raster",this.rasterFunction=null,this._clippingGeometry=new Map}async fetchPixels(t,e,r,i={}){const{rasters:s,rasterIds:a}=this.primaryRasters;let l=!1;const{interpolation:c}=i,p=this.rasterFunction.flatWebGLFunctionChain?.hasFocalFunction;!i.requestRawData&&p&&(l=1===s.length&&!i.skipRasterFunction,i={...i,interpolation:"bilinear",requestRawData:l}),i.requestRawData&&s.length>1&&!this.hasUniqueSourceStorageInfo&&(l=!1,i={...i,requestRawData:!1});const m=s.map(s=>s.fetchPixels(t,e,r,i)),u=await Promise.all(m),h=u.map(t=>t.pixelBlock),f=l||i.requestRawData?u.map(t=>t.srcTilePixelSize):null;if(i.skipRasterFunction||h.every(t=>null==t))return u[0];const d=u.find(t=>null!=t.pixelBlock)?.extent??t;let y=this.rasterJobHandler?await this.rasterJobHandler.process({extent:d,primaryPixelBlocks:h,primaryPixelSizes:f,primaryRasterIds:a}):this.rasterFunction.process({extent:d,primaryPixelBlocks:h,primaryPixelSizes:f,primaryRasterIds:a});const{transformGrid:g}=u[0];if(!l||null==y||null==g){const t=i.noClip?null:this.getClippingGeometry(d.spatialReference);return!i.noClip&&null!=y&&t&&(y=await o(y,d,t)),{...u[0],pixelBlock:y}}const x={rows:g.spacing[0],cols:g.spacing[1]};let R;if(this.rasterJobHandler){R=(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:[y],srcMosaicSize:{width:y.width,height:y.height},destDimension:{width:e,height:r},coefs:g.coefficients,sampleSpacing:x,projectDirections:!1,gcsGrid:null,isUV:!1,interpolation:c,alignmentInfo:void 0,blockWidths:null},i)).pixelBlock}else R=n(y,{width:e,height:r},g.coefficients,x,c);const w=i.noClip?null:this.getClippingGeometry(t.spatialReference);return i.noClip||null==R||null==w||(R=await o(R,t,w)),{extent:t,srcExtent:u[0].srcExtent,pixelBlock:R}}getClippingGeometry(t){const e=this._clippingGeometry.get("0");if(!t||!e)return e;const r=h(t);let i=this._clippingGeometry.get(r);return null!=i||(i=t.equals(e.spatialReference)?e:l(e,t),this._clippingGeometry.set(r,i)),i}async _open(t){const{rasterFunction:r}=this;r.isRoot=!0,this.primaryRasters?.rasters?.length?r.sourceRasters=this.primaryRasters.rasters:(this.primaryRasters=r.getPrimaryRasters(),this.rasterJobHandler&&this.primaryRasters.rasters?.forEach(t=>t.rasterJobHandler=this.rasterJobHandler));const{rasters:i,rasterIds:s}=this.primaryRasters,a=i.map(e=>e.rasterInfo?void 0:e.open(t));await Promise.all(a);const o=i.map(({rasterInfo:t})=>t),n=r.bind({rasterInfos:o,rasterIds:s});if(r.rawSourceRasterInfos=o,!n.success||0===o.length)throw new e("raster-function:open",`cannot bind the function: ${n.error??""}`);const l="Table"===r.functionName?r:r.functionArguments?.raster;"Table"===l?.functionName&&(r.rasterInfo.attributeTable=c.fromJSON(l.functionArguments.attributeTableAsRecordSet)),await this.syncJobHandler();const p=o[0];this.hasUniqueSourceStorageInfo=1===o.length||o.slice(1).every(t=>u(t,p)),this.set("sourceJSON",i[0].sourceJSON),this.set("rasterInfo",r.rasterInfo),await this._updateClipGeometry()}async syncJobHandler(){return this.rasterJobHandler?.updateRasterFunction(this.rasterFunction)}async _updateClipGeometry(){const t=this.rasterFunction.getClippingGeometries()[0];let e=t?.clippingGeometry;if(e&&"inside"===t.clippingType){const{extent:t}=this.rasterInfo,r=await import("../../../geometry/operators/densifyOperator.js"),i=await import("../../../geometry/operators/differenceOperator.js");let a=r.execute(s.fromExtent(t),2*(t.width+t.height)/p);a=l(a,e.spatialReference),e=i.execute(a,e)}this._clippingGeometry.clear(),e&&this._clippingGeometry.set("0",e)}};function u(t,e){const{storageInfo:r,pixelSize:i,spatialReference:s,extent:a}=t,{storageInfo:o,pixelSize:n,spatialReference:l,extent:c}=e;return i.x===n.x&&i.y===n.y&&s.equals(l)&&a.equals(c)&&r.blockHeight===o.blockHeight&&r.blockWidth===o.blockWidth&&r.maximumPyramidLevel===o.maximumPyramidLevel&&r.firstPyramidLevel===o.firstPyramidLevel&&r.pyramidBlockWidth===o.pyramidBlockWidth&&r.pyramidBlockHeight===o.pyramidBlockHeight&&r.pyramidScalingFactor===o.pyramidScalingFactor}function h(t){return String(t.wkid??t.wkt??t.wkt2)}t([r({type:String,json:{write:!0}})],m.prototype,"datasetFormat",void 0),t([r()],m.prototype,"tileType",void 0),t([r()],m.prototype,"rasterFunction",void 0),t([r()],m.prototype,"primaryRasters",void 0),m=t([i("esri.layers.raster.datasets.FunctionRaster")],m);export{m as default};
5
+ import{__decorate as t}from"tslib";import e from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import s from"../../../geometry/Polygon.js";import a from"./BaseRaster.js";import{clip as o}from"../functions/clipUtils.js";import{approximateTransform as n}from"../functions/pixelUtils.js";import{projectPolygon as l}from"../functions/rasterProjectionHelper.js";import c from"../../../rest/support/FeatureSet.js";const p=40;let m=class extends a{constructor(){super(...arguments),this.datasetFormat="Function",this.tileType="Raster",this.rasterFunction=null,this._clippingGeometry=new Map}async fetchPixels(t,e,r,i={}){const{rasters:s,rasterIds:a}=this.primaryRasters;let l=!1;const{interpolation:c}=i,p=this.rasterFunction.flatWebGLFunctionChain?.hasFocalFunction;!i.requestRawData&&p&&(l=1===s.length&&!i.skipRasterFunction,i={...i,interpolation:"bilinear",requestRawData:l}),i.requestRawData&&s.length>1&&!this.hasUniqueSourceStorageInfo&&(l=!1,i={...i,requestRawData:!1});const m=s.map(s=>s.fetchPixels(t,e,r,i)),u=await Promise.all(m),h=u.map(t=>t.pixelBlock),f=l||i.requestRawData?u.map(t=>t.srcTilePixelSize):null;if(i.skipRasterFunction||h.every(t=>null==t))return u[0];const d=u.find(t=>null!=t.pixelBlock)?.extent??t;let y=this.rasterJobHandler?await this.rasterJobHandler.process({extent:d,primaryPixelBlocks:h,primaryPixelSizes:f,primaryRasterIds:a,parameters:this.processParameters}):this.rasterFunction.process({extent:d,primaryPixelBlocks:h,primaryPixelSizes:f,primaryRasterIds:a},this.processParameters);const{transformGrid:g}=u[0];if(!l||null==y||null==g){const t=i.noClip?null:this.getClippingGeometry(d.spatialReference);return!i.noClip&&null!=y&&t&&(y=await o(y,d,t)),{...u[0],pixelBlock:y}}const x={rows:g.spacing[0],cols:g.spacing[1]};let R;if(this.rasterJobHandler){R=(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:[y],srcMosaicSize:{width:y.width,height:y.height},destDimension:{width:e,height:r},coefs:g.coefficients,sampleSpacing:x,projectDirections:!1,gcsGrid:null,isUV:!1,interpolation:c,alignmentInfo:void 0,blockWidths:null},i)).pixelBlock}else R=n(y,{width:e,height:r},g.coefficients,x,c);const w=i.noClip?null:this.getClippingGeometry(t.spatialReference);return i.noClip||null==R||null==w||(R=await o(R,t,w)),{extent:t,srcExtent:u[0].srcExtent,pixelBlock:R}}getClippingGeometry(t){const e=this._clippingGeometry.get("0");if(!t||!e)return e;const r=h(t);let i=this._clippingGeometry.get(r);return null!=i||(i=t.equals(e.spatialReference)?e:l(e,t),this._clippingGeometry.set(r,i)),i}async _open(t){const{rasterFunction:r}=this;r.isRoot=!0,this.primaryRasters?.rasters?.length?r.sourceRasters=this.primaryRasters.rasters:(this.primaryRasters=r.getPrimaryRasters(),this.rasterJobHandler&&this.primaryRasters.rasters?.forEach(t=>t.rasterJobHandler=this.rasterJobHandler));const{rasters:i,rasterIds:s}=this.primaryRasters,a=i.map(e=>e.rasterInfo?void 0:e.open(t));await Promise.all(a);const o=i.map(({rasterInfo:t})=>t),n=r.bind({rasterInfos:o,rasterIds:s});if(r.rawSourceRasterInfos=o,!n.success||0===o.length)throw new e("raster-function:open",`cannot bind the function: ${n.error??""}`);const l="Table"===r.functionName?r:r.functionArguments?.raster;"Table"===l?.functionName&&(r.rasterInfo.attributeTable=c.fromJSON(l.functionArguments.attributeTableAsRecordSet)),await this.syncJobHandler();const p=o[0];this.hasUniqueSourceStorageInfo=1===o.length||o.slice(1).every(t=>u(t,p)),this.set("sourceJSON",i[0].sourceJSON),this.set("rasterInfo",r.rasterInfo),await this._updateClipGeometry()}async syncJobHandler(){return this.rasterJobHandler?.updateRasterFunction(this.rasterFunction)}async _updateClipGeometry(){const t=this.rasterFunction.getClippingGeometries()[0];let e=t?.clippingGeometry;if(e&&"inside"===t.clippingType){const{extent:t}=this.rasterInfo,r=await import("../../../geometry/operators/densifyOperator.js"),i=await import("../../../geometry/operators/differenceOperator.js");let a=r.execute(s.fromExtent(t),2*(t.width+t.height)/p);a=l(a,e.spatialReference),e=i.execute(a,e)}this._clippingGeometry.clear(),e&&this._clippingGeometry.set("0",e)}};function u(t,e){const{storageInfo:r,pixelSize:i,spatialReference:s,extent:a}=t,{storageInfo:o,pixelSize:n,spatialReference:l,extent:c}=e;return i.x===n.x&&i.y===n.y&&s.equals(l)&&a.equals(c)&&r.blockHeight===o.blockHeight&&r.blockWidth===o.blockWidth&&r.maximumPyramidLevel===o.maximumPyramidLevel&&r.firstPyramidLevel===o.firstPyramidLevel&&r.pyramidBlockWidth===o.pyramidBlockWidth&&r.pyramidBlockHeight===o.pyramidBlockHeight&&r.pyramidScalingFactor===o.pyramidScalingFactor}function h(t){return String(t.wkid??t.wkt??t.wkt2)}t([r({type:String,json:{write:!0}})],m.prototype,"datasetFormat",void 0),t([r()],m.prototype,"tileType",void 0),t([r()],m.prototype,"rasterFunction",void 0),t([r()],m.prototype,"processParameters",void 0),t([r()],m.prototype,"primaryRasters",void 0),m=t([i("esri.layers.raster.datasets.FunctionRaster")],m);export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{JSONSupport as s}from"../../../core/JSONSupport.js";import{property as e,cast as r,subclass as n}from"../../../core/accessorSupport/decorators.js";import i from"../../support/PixelBlock.js";import o from"../../support/RasterInfo.js";const a=new Set(["slope","aspect","curvature","hillshade","shadedrelief","statistics"]);let u=class extends s{constructor(){super(...arguments),this.functionArguments=null,this.readingBufferSize=0,this.id=-1,this.isNoopProcess=!1,this.rawInputBandIds=[],this.rawSourceRasterInfos=null,this.isInputBandIdsSwizzled=!1,this.swizzledBandSelection=[],this.isBranch=!1,this.isRoot=!1,this._bindingResult=null}get supportsGPU(){return this._bindingResult.supportsGPU}get flatWebGLFunctionChain(){const t=this.getWebGLProcessorDefinition();if(!t)return null;const s=[t],{parameters:e}=t;let r=e.rasters||e.raster&&[e.raster];for(;r?.length;){s.unshift(...r);const t=[];for(let s=0;s<r.length;s++){const{parameters:e}=r[s],n=e.rasters||e.raster&&[e.raster];n?.length&&t.push(...n)}r=t}for(let a=s.length-1;a>=0;a--)s[a].isNoopProcess&&s.splice(a,1);let n=!1;for(let a=0;a<s.length;a++){const t=s[a];t.id=s.length-a-1;const{rasters:e}=t.parameters;n=n||null!=e&&e.length>1}const i=s.some(({name:t})=>a.has(t.toLowerCase())),{rawSourceRasterInfos:o}=this;return{functions:s,hasBranches:n,hasFocalFunction:i,isSourceSingleBand:1===o?.[0]?.bandCount}}bind(t,s=!1,e=-1){this.id=e+1;const r=this._getRasterValues();let n=!0;for(let i=0;i<r.length;i++){const e=r[i];if(null!=e&&this._isRasterFunctionValue(e)){const r=e.bind(t,s,this.id+i);if(!r.success)return this._bindingResult=r,r;n=n&&r.supportsGPU}}if(!this.rasterInfo||s){if(this.sourceRasterInfos=this._getSourceRasterInfos(t),this._bindingResult=this._bindSourceRasters(),n&&=this._bindingResult.supportsGPU,this._bindingResult.success&&(this._patchRasterInfo(),n&&this.isRoot)){this.processInputBandIds();this.swizzleInputBandIds(this.rawInputBandIds)||(n=this.rawInputBandIds.length<=3)}return this._bindingResult.supportsGPU=n,this._bindingResult}return this._bindingResult={success:!0,supportsGPU:!0},this._bindingResult}process(t){const s=this._getRasterValues(),e=0===s.length?t.pixelBlocks??t.primaryPixelBlocks:s.map(s=>this._readRasterValue(s,t));return this._processPixels({...t,pixelBlocks:e})}processInputBandIds(){const t=this._getRasterValues().filter(this._isRasterFunctionValue);if(t.length>1){const s=t.map(t=>t.processInputBandIds());return this.rawInputBandIds=[...new Set(s.flat())],this.rawInputBandIds}const s=t[0];if(s)return this.rawInputBandIds=s.processInputBandIds(),this.rawInputBandIds;const{bandCount:e}=this.sourceRasterInfos[0],r=Array.from({length:e},(t,s)=>s);return this.rawInputBandIds=this._getInputBandIds(r),this.rawInputBandIds}swizzleInputBandIds(t){const s=this._getRasterValues().filter(this._isRasterFunctionValue);let e=!0;for(const r of s)e=r.swizzleInputBandIds(t)&&e;return!!e&&this._swizzleBandIds(t)}getPrimaryRasters(){const t=[],s=[];return this._getPrimaryRasters(this,t,s),{rasters:t,rasterIds:s}}getWebGLProcessorDefinition(){const t=this._getWebGLParameters(),{raster:s,rasters:e}=this.functionArguments;return e&&Array.isArray(e)&&e.length?(t.rasters=e.map(t=>this._isRasterFunctionValue(t)?t.getWebGLProcessorDefinition():"number"==typeof t?{name:"Constant",parameters:{value:t},pixelType:"f32",id:-1,isNoopProcess:!1}:{name:"Identity",parameters:{value:t},pixelType:"f32",id:-1,isNoopProcess:!1}),t.rasters.some(t=>null!=t)||(t.rasters=null)):this._isRasterFunctionValue(s)&&(t.raster=s.getWebGLProcessorDefinition()),{name:this.functionName,parameters:t,pixelType:this.outputPixelType,id:this.id,isNoopProcess:this.isNoopProcess}}getClippingGeometries(){const t=[];"Clip"===this.functionName&&t.push(this.functionArguments);const{raster:s,rasters:e}=this.functionArguments;if(e&&Array.isArray(e)&&e.length)e.forEach(s=>{if(this._isRasterFunctionValue(s)){const e=s.getClippingGeometries();t.push(...e)}});else if(this._isRasterFunctionValue(s)){const e=s.getClippingGeometries();t.push(...e)}return t}_getOutputPixelType(t){return"unknown"===this.outputPixelType?t:this.outputPixelType??t}_getWebGLParameters(){return{}}_getInputBandIds(t){return t}_swizzleBandIds(t){return!0}_isInputRasterPrimaryOrConstant(){return!this._getRasterValues().some(t=>t&&"object"==typeof t&&"rasterFunction"in t&&t.rasterFunction)}_removeStatsHistColormapVAT(t){t.statistics=null,t.histograms=null,t.colormap=null,t.attributeTable=null,t.multidimensionalInfo?.variables.forEach(t=>{t.statistics=void 0,t.histograms=void 0})}_getRasterValues(){const{rasterArgumentNames:t}=this;return"rasters"===t[0]?this.functionArguments.rasters??[]:t.flatMap(t=>this.functionArguments[t])}_getSourceRasterInfos(t){const s=this._getRasterValues(),{rasterInfos:e,rasterIds:r}=t;if(0===s.length)return e;const n=s.map(t=>t&&"object"==typeof t&&"bind"in t&&t.rasterInfo?t.rasterInfo:"string"==typeof t&&r.includes(t)?e[r.indexOf(t)]:"number"!=typeof t?e[0]:void 0),i=n.find(t=>t)??e[0];return n.forEach((t,s)=>{void 0===t&&(n[s]=i)}),n}_getPrimaryRasterId(t){return t?.rasterId}_getPrimaryRasters(t,s=[],e=[]){for(let r=0;r<t.sourceRasters.length;r++){const n=t.sourceRasters[r];if("number"!=typeof n)if("bind"in n)this._getPrimaryRasters(n,s,e);else{const t=n,r=this._getPrimaryRasterId(t);if(null==r)continue;e.includes(r)||(this.mainPrimaryRasterId===r?(s.unshift(t),e.unshift(r)):(s.push(t),e.push(r)))}}}_isRasterFunctionValue(t){return null!=t&&"object"==typeof t&&"getWebGLProcessorDefinition"in t}_readRasterValue(t,s){const{primaryPixelBlocks:e}=s;if(null==t||"$$"===t){const t=e[0];return null==t?null:t.clone()}if("string"==typeof t){const r=s.primaryRasterIds.indexOf(t);return-1===r?null:e[r]}if("number"==typeof t){const s=e[0];if(null==s)return null;const{width:r,height:n,pixelType:o}=s,a=new Float32Array(r*n);a.fill(t);const u=this.sourceRasterInfos[0].bandCount,l=new Array(u).fill(a);return new i({width:r,height:n,pixelType:o,pixels:l})}return t.process(s)}_patchRasterInfo(){const{rasterInfo:t}=this;if(!t?.keyProperties)return;const{bandCount:s,keyProperties:e,statistics:r,histograms:n}=t,i=e.BandProperties;i&&i.length!==s&&(t.keyProperties={...e,BandProperties:void 0}),r&&r.length!==s&&(t.statistics=r.length>s?r.slice(0,s):null),n&&n.length!==s&&(t.histograms=n.length>s?n.slice(0,s):null),e.BAND_COUNT&&Number(e.BAND_COUNT)!==s&&(t.keyProperties={...e,BAND_COUNT:"string"==typeof e.BAND_COUNT?String(s):s})}};t([e({json:{write:!0}})],u.prototype,"functionName",void 0),t([e({json:{write:!0}})],u.prototype,"functionArguments",void 0),t([e()],u.prototype,"rasterArgumentNames",void 0),t([e({json:{write:!0}}),r(t=>t?.toLowerCase())],u.prototype,"outputPixelType",void 0),t([e({json:{write:!0}})],u.prototype,"mainPrimaryRasterId",void 0),t([e()],u.prototype,"sourceRasters",void 0),t([e({type:[o],json:{write:!0}})],u.prototype,"sourceRasterInfos",void 0),t([e({json:{write:!0}})],u.prototype,"rasterInfo",void 0),t([e({json:{write:!0}})],u.prototype,"readingBufferSize",void 0),t([e({json:{write:!0}})],u.prototype,"id",void 0),t([e()],u.prototype,"isNoopProcess",void 0),t([e()],u.prototype,"supportsGPU",null),t([e({json:{write:!0}})],u.prototype,"rawInputBandIds",void 0),t([e()],u.prototype,"rawSourceRasterInfos",void 0),t([e({json:{write:!0}})],u.prototype,"isInputBandIdsSwizzled",void 0),t([e({json:{write:!0}})],u.prototype,"swizzledBandSelection",void 0),t([e()],u.prototype,"isBranch",void 0),t([e()],u.prototype,"isRoot",void 0),t([e({readOnly:!0})],u.prototype,"flatWebGLFunctionChain",null),t([e()],u.prototype,"_bindingResult",void 0),u=t([n("esri.layers.raster.functions.BaseRasterFunction")],u);const l=u;export{l as default};
5
+ import{__decorate as t}from"tslib";import{JSONSupport as s}from"../../../core/JSONSupport.js";import{property as e,cast as r,subclass as n}from"../../../core/accessorSupport/decorators.js";import i from"../../support/PixelBlock.js";import o from"../../support/RasterInfo.js";const a=new Set(["slope","aspect","curvature","hillshade","shadedrelief","statistics"]);let u=class extends s{constructor(){super(...arguments),this.functionArguments=null,this.readingBufferSize=0,this.id=-1,this.isNoopProcess=!1,this.rawInputBandIds=[],this.rawSourceRasterInfos=null,this.isInputBandIdsSwizzled=!1,this.swizzledBandSelection=[],this.isBranch=!1,this.isRoot=!1,this._bindingResult=null}get supportsGPU(){return this._bindingResult.supportsGPU}get flatWebGLFunctionChain(){const t=this.getWebGLProcessorDefinition();if(!t)return null;const s=[t],{parameters:e}=t;let r=e.rasters||e.raster&&[e.raster];for(;r?.length;){s.unshift(...r);const t=[];for(let s=0;s<r.length;s++){const{parameters:e}=r[s],n=e.rasters||e.raster&&[e.raster];n?.length&&t.push(...n)}r=t}for(let a=s.length-1;a>=0;a--)s[a].isNoopProcess&&s.splice(a,1);let n=!1;for(let a=0;a<s.length;a++){const t=s[a];t.id=s.length-a-1;const{rasters:e}=t.parameters;n=n||null!=e&&e.length>1}const i=s.some(({name:t})=>a.has(t.toLowerCase())),{rawSourceRasterInfos:o}=this;return{functions:s,hasBranches:n,hasFocalFunction:i,isSourceSingleBand:1===o?.[0]?.bandCount}}bind(t,s=!1,e=-1){this.id=e+1;const r=this._getRasterValues();let n=!0;for(let i=0;i<r.length;i++){const e=r[i];if(null!=e&&this._isRasterFunctionValue(e)){const r=e.bind(t,s,this.id+i);if(!r.success)return this._bindingResult=r,r;n=n&&r.supportsGPU}}if(!this.rasterInfo||s){if(this.sourceRasterInfos=this._getSourceRasterInfos(t),this._bindingResult=this._bindSourceRasters(),n&&=this._bindingResult.supportsGPU,this._bindingResult.success&&(this._patchRasterInfo(),n&&this.isRoot)){this.processInputBandIds();this.swizzleInputBandIds(this.rawInputBandIds)||(n=this.rawInputBandIds.length<=3)}return this._bindingResult.supportsGPU=n,this._bindingResult}return this._bindingResult={success:!0,supportsGPU:!0},this._bindingResult}queryRasterFunction(t){const s=[this];for(;s.length;){const e=s.pop();if(t(e))return e;const r=e.getImmediateChildFunctions();s.push(...r)}}getImmediateChildFunctions(){return this._getRasterValues().filter(t=>t&&"object"==typeof t&&"bind"in t)}process(t,s){const e=this._getRasterValues(),r=0===e.length?t.pixelBlocks??t.primaryPixelBlocks:e.map(s=>this._readRasterValue(s,t));return this._processPixels({...t,pixelBlocks:r},s)}processInputBandIds(){const t=this._getRasterValues().filter(this._isRasterFunctionValue);if(t.length>1){const s=t.map(t=>t.processInputBandIds());return this.rawInputBandIds=[...new Set(s.flat())],this.rawInputBandIds}const s=t[0];if(s)return this.rawInputBandIds=s.processInputBandIds(),this.rawInputBandIds;const{bandCount:e}=this.sourceRasterInfos[0],r=Array.from({length:e},(t,s)=>s);return this.rawInputBandIds=this._getInputBandIds(r),this.rawInputBandIds}swizzleInputBandIds(t){const s=this._getRasterValues().filter(this._isRasterFunctionValue);let e=!0;for(const r of s)e=r.swizzleInputBandIds(t)&&e;return!!e&&this._swizzleBandIds(t)}getPrimaryRasters(){const t=[],s=[];return this._getPrimaryRasters(this,t,s),{rasters:t,rasterIds:s}}getWebGLProcessorDefinition(){const t=this._getWebGLParameters(),{raster:s,rasters:e}=this.functionArguments;return e&&Array.isArray(e)&&e.length?(t.rasters=e.map(t=>this._isRasterFunctionValue(t)?t.getWebGLProcessorDefinition():"number"==typeof t?{name:"Constant",parameters:{value:t},pixelType:"f32",id:-1,isNoopProcess:!1}:{name:"Identity",parameters:{value:t},pixelType:"f32",id:-1,isNoopProcess:!1}),t.rasters.some(t=>null!=t)||(t.rasters=null)):this._isRasterFunctionValue(s)&&(t.raster=s.getWebGLProcessorDefinition()),{name:this.functionName,parameters:t,pixelType:this.outputPixelType,id:this.id,isNoopProcess:this.isNoopProcess}}getClippingGeometries(){const t=[];"Clip"===this.functionName&&t.push(this.functionArguments);const{raster:s,rasters:e}=this.functionArguments;if(e&&Array.isArray(e)&&e.length)e.forEach(s=>{if(this._isRasterFunctionValue(s)){const e=s.getClippingGeometries();t.push(...e)}});else if(this._isRasterFunctionValue(s)){const e=s.getClippingGeometries();t.push(...e)}return t}_getOutputPixelType(t){return"unknown"===this.outputPixelType?t:this.outputPixelType??t}_getWebGLParameters(){return{}}_getInputBandIds(t){return t}_swizzleBandIds(t){return!0}_isInputRasterPrimaryOrConstant(){return!this._getRasterValues().some(t=>t&&"object"==typeof t&&"rasterFunction"in t&&t.rasterFunction)}_removeStatsHistColormapVAT(t){t.statistics=null,t.histograms=null,t.colormap=null,t.attributeTable=null,t.multidimensionalInfo?.variables.forEach(t=>{t.statistics=void 0,t.histograms=void 0})}_getRasterValues(){const{rasterArgumentNames:t}=this;return"rasters"===t[0]?this.functionArguments.rasters??[]:t.flatMap(t=>this.functionArguments[t])}_getSourceRasterInfos(t){const s=this._getRasterValues(),{rasterInfos:e,rasterIds:r}=t;if(0===s.length)return e;const n=s.map(t=>t&&"object"==typeof t&&"bind"in t&&t.rasterInfo?t.rasterInfo:"string"==typeof t&&r.includes(t)?e[r.indexOf(t)]:"number"!=typeof t?e[0]:void 0),i=n.find(t=>t)??e[0];return n.forEach((t,s)=>{void 0===t&&(n[s]=i)}),n}_getPrimaryRasterId(t){return t?.rasterId}_getPrimaryRasters(t,s=[],e=[]){for(let r=0;r<t.sourceRasters.length;r++){const n=t.sourceRasters[r];if("number"!=typeof n)if("bind"in n)this._getPrimaryRasters(n,s,e);else{const t=n,r=this._getPrimaryRasterId(t);if(null==r)continue;e.includes(r)||(this.mainPrimaryRasterId===r?(s.unshift(t),e.unshift(r)):(s.push(t),e.push(r)))}}}_isRasterFunctionValue(t){return null!=t&&"object"==typeof t&&"getWebGLProcessorDefinition"in t}_readRasterValue(t,s){const{primaryPixelBlocks:e}=s;if(null==t||"$$"===t){const t=e[0];return null==t?null:t.clone()}if("string"==typeof t){const r=s.primaryRasterIds.indexOf(t);return-1===r?null:e[r]}if("number"==typeof t){const s=e[0];if(null==s)return null;const{width:r,height:n,pixelType:o}=s,a=new Float32Array(r*n);a.fill(t);const u=this.sourceRasterInfos[0].bandCount,l=new Array(u).fill(a);return new i({width:r,height:n,pixelType:o,pixels:l})}return t.process(s)}_patchRasterInfo(){const{rasterInfo:t}=this;if(!t?.keyProperties)return;const{bandCount:s,keyProperties:e,statistics:r,histograms:n}=t,i=e.BandProperties;i&&i.length!==s&&(t.keyProperties={...e,BandProperties:void 0}),r&&r.length!==s&&(t.statistics=r.length>s?r.slice(0,s):null),n&&n.length!==s&&(t.histograms=n.length>s?n.slice(0,s):null),e.BAND_COUNT&&Number(e.BAND_COUNT)!==s&&(t.keyProperties={...e,BAND_COUNT:"string"==typeof e.BAND_COUNT?String(s):s})}};t([e({json:{write:!0}})],u.prototype,"functionName",void 0),t([e({json:{write:!0}})],u.prototype,"functionArguments",void 0),t([e()],u.prototype,"rasterArgumentNames",void 0),t([e({json:{write:!0}}),r(t=>t?.toLowerCase())],u.prototype,"outputPixelType",void 0),t([e({json:{write:!0}})],u.prototype,"mainPrimaryRasterId",void 0),t([e()],u.prototype,"sourceRasters",void 0),t([e({type:[o],json:{write:!0}})],u.prototype,"sourceRasterInfos",void 0),t([e({json:{write:!0}})],u.prototype,"rasterInfo",void 0),t([e({json:{write:!0}})],u.prototype,"readingBufferSize",void 0),t([e({json:{write:!0}})],u.prototype,"id",void 0),t([e()],u.prototype,"isNoopProcess",void 0),t([e()],u.prototype,"supportsGPU",null),t([e({json:{write:!0}})],u.prototype,"rawInputBandIds",void 0),t([e()],u.prototype,"rawSourceRasterInfos",void 0),t([e({json:{write:!0}})],u.prototype,"isInputBandIdsSwizzled",void 0),t([e({json:{write:!0}})],u.prototype,"swizzledBandSelection",void 0),t([e()],u.prototype,"isBranch",void 0),t([e()],u.prototype,"isRoot",void 0),t([e({readOnly:!0})],u.prototype,"flatWebGLFunctionChain",null),t([e()],u.prototype,"_bindingResult",void 0),u=t([n("esri.layers.raster.functions.BaseRasterFunction")],u);const l=u;export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{property as s,subclass as e}from"../../../core/accessorSupport/decorators.js";import{isIntegerPixelType as o}from"../formats/pixelRangeUtils.js";import u from"./BaseRasterFunction.js";import{lookupPixels as r}from"./pixelUtils.js";import i from"./StretchFunctionArguments.js";import{getStretchCutoff as n,createStretchLUT as a,stretch as p,computeGammaCorrection as m}from"./stretchUtils.js";let c=class extends u{constructor(){super(...arguments),this.functionName="Stretch",this.functionArguments=null,this.rasterArgumentNames=["raster"],this.lookup=null,this.cutOffs=null}_bindSourceRasters(){this.lookup=null,this.cutOffs=null;const t=this.sourceRasterInfos[0],{pixelType:s}=t,{functionArguments:e}=this,{dynamicRangeAdjustment:u,gamma:r,useGamma:i}=e;if(!u&&["u8","u16","s8","s16"].includes(s)){const u=n(e.toJSON(),{rasterInfo:t}),p=o(this.outputPixelType)?"round":"float";this.lookup=a({pixelType:s,...u,gamma:i?r:null,rounding:p}),this.cutOffs=u}else u||(this.cutOffs=n(e.toJSON(),{rasterInfo:t}));this.outputPixelType=this._getOutputPixelType(s);const p=t.clone();p.pixelType=this.outputPixelType,this._removeStatsHistColormapVAT(p),"u8"===this.outputPixelType&&(p.keyProperties.DataType="processed");const{outputMin:m=0,outputMax:c=255}=this.functionArguments;p.statistics=[];for(let o=0;o<p.bandCount;o++)p.statistics[o]={min:m,max:c};this.rasterInfo=p;return{success:!0,supportsGPU:!u}}_processPixels(t){const s=t.pixelBlocks?.[0];if(null==s)return s;const{lookup:e}=this;if(e)return r(s,{...e,outputPixelType:this.rasterInfo.pixelType});const{functionArguments:o}=this,u=this.cutOffs||n(o.toJSON(),{rasterInfo:this.sourceRasterInfos[0],pixelBlock:s}),i=o.useGamma?o.gamma:null;return p(s,{...u,gamma:i,outputPixelType:this.outputPixelType})}_getWebGLParameters(){const{outputMin:t=0,outputMax:s=255,gamma:e,useGamma:u}=this.functionArguments,r=this.rasterInfo.bandCount>=2?3:1,i=u&&e?.length?m(r,e):[1,1,1],{minCutOff:n,maxCutOff:a}=this.cutOffs??{minCutOff:[0,0,0],maxCutOff:[255,255,255]};1===n.length&&(n[1]=n[2]=n[0],a[1]=a[2]=a[0]);const p=a.map((e,o)=>(s-t)/(a[o]-n[o])),c=o(this.outputPixelType),f=u&&e?[e[0],e[1]??e[0],e[2]??e[0]]:[1,1,1],l=u?[i[0],i[1]??i[0],i[2]??i[0]]:[1,1,1];return{bandCount:r,minOutput:t,maxOutput:s,minCutOff:n,maxCutOff:a,factor:p,useGamma:u,gamma:f,gammaCorrection:l,stretchType:this.functionArguments.stretchType,isOutputRounded:c,type:"stretch"}}};t([s({json:{write:!0,name:"rasterFunction"}})],c.prototype,"functionName",void 0),t([s({type:i,json:{write:!0,name:"rasterFunctionArguments"}})],c.prototype,"functionArguments",void 0),t([s()],c.prototype,"rasterArgumentNames",void 0),t([s({json:{write:!0}})],c.prototype,"lookup",void 0),t([s({json:{write:!0}})],c.prototype,"cutOffs",void 0),c=t([e("esri.layers.raster.functions.StretchFunction")],c);const f=c;export{f as default};
5
+ import{__decorate as t}from"tslib";import{property as s,subclass as e}from"../../../core/accessorSupport/decorators.js";import{isIntegerPixelType as o}from"../formats/pixelRangeUtils.js";import u from"./BaseRasterFunction.js";import{lookupPixels as r}from"./pixelUtils.js";import i from"./StretchFunctionArguments.js";import{getStretchCutoff as n,createStretchLUT as a,stretch as p,computeGammaCorrection as m}from"./stretchUtils.js";let c=class extends u{constructor(){super(...arguments),this.functionName="Stretch",this.functionArguments=null,this.rasterArgumentNames=["raster"],this.lookup=null,this.cutOffs=null}_bindSourceRasters(){this.lookup=null,this.cutOffs=null;const t=this.sourceRasterInfos[0],{pixelType:s}=t,{functionArguments:e}=this,{dynamicRangeAdjustment:u,gamma:r,useGamma:i}=e;if(!u&&["u8","u16","s8","s16"].includes(s)){const u=n(e.toJSON(),{rasterInfo:t}),p=o(this.outputPixelType)?"round":"float";this.lookup=a({pixelType:s,...u,gamma:i?r:null,rounding:p}),this.cutOffs=u}else u||(this.cutOffs=n(e.toJSON(),{rasterInfo:t}));this.outputPixelType=this._getOutputPixelType(s);const p=t.clone();p.pixelType=this.outputPixelType,this._removeStatsHistColormapVAT(p),"u8"===this.outputPixelType&&(p.keyProperties.DataType="processed");const{outputMin:m=0,outputMax:c=255}=this.functionArguments;p.statistics=[];for(let o=0;o<p.bandCount;o++)p.statistics[o]={min:m,max:c};this.rasterInfo=p;return{success:!0,supportsGPU:!u}}_processPixels(t,s){const e=t.pixelBlocks?.[0];if(null==e)return e;const{lookup:o}=this;if(o)return r(e,{...o,outputPixelType:this.rasterInfo.pixelType});const{functionArguments:u}=this,i=s?.stretchCutoff??this.cutOffs??n(u.toJSON(),{rasterInfo:this.sourceRasterInfos[0],pixelBlock:e}),a=u.useGamma?u.gamma:null;return p(e,{...i,gamma:a,outputPixelType:this.outputPixelType})}_getWebGLParameters(){const{outputMin:t=0,outputMax:s=255,gamma:e,useGamma:u}=this.functionArguments,r=this.rasterInfo.bandCount>=2?3:1,i=u&&e?.length?m(r,e):[1,1,1],{minCutOff:n,maxCutOff:a}=this.cutOffs??{minCutOff:[0,0,0],maxCutOff:[255,255,255]};1===n.length&&(n[1]=n[2]=n[0],a[1]=a[2]=a[0]);const p=a.map((e,o)=>(s-t)/(a[o]-n[o])),c=o(this.outputPixelType),f=u&&e?[e[0],e[1]??e[0],e[2]??e[0]]:[1,1,1],l=u?[i[0],i[1]??i[0],i[2]??i[0]]:[1,1,1];return{bandCount:r,minOutput:t,maxOutput:s,minCutOff:n,maxCutOff:a,factor:p,useGamma:u,gamma:f,gammaCorrection:l,stretchType:this.functionArguments.stretchType,isOutputRounded:c,type:"stretch"}}};t([s({json:{write:!0,name:"rasterFunction"}})],c.prototype,"functionName",void 0),t([s({type:i,json:{write:!0,name:"rasterFunctionArguments"}})],c.prototype,"functionArguments",void 0),t([s()],c.prototype,"rasterArgumentNames",void 0),t([s({json:{write:!0}})],c.prototype,"lookup",void 0),t([s({json:{write:!0}})],c.prototype,"cutOffs",void 0),c=t([e("esri.layers.raster.functions.StretchFunction")],c);const f=c;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import{createResolver as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../../core/units.js";import o from"../../../geometry/Extent.js";import{P as r,a as s,g as a,h as l,j as c}from"../../../chunks/pe.js";import f from"../../../geometry/Point.js";import u from"../../../geometry/Polygon.js";import{projectWithoutEngine as x}from"../../../geometry/projectionUtils.js";import m from"../../../geometry/SpatialReference.js";import{getInfo as h}from"../../../geometry/support/spatialReferenceUtils.js";function p(){if(!N)throw new t("rasterprojectionhelper-project","projection operator is not loaded")}const g=(e,t,n,i=0)=>{if(1===n[0])return[0,0];let o=1,r=-1,s=1,a=-1;for(let g=0;g<e.length;g+=2)isNaN(e[g])||(o=o>e[g]?e[g]:o,r=r>e[g]?r:e[g],s=s>e[g+1]?e[g+1]:s,a=a>e[g+1]?a:e[g+1]);const{cols:l,rows:c}=t,f=(r-o)/l/n[0],u=(a-s)/c/n[1],x=2*i;let m=0,h=!1,p=[0,0];for(let g=0;g<l-3;g++){for(let t=0;t<c-3;t++){const n=g*c*2+2*t,i=(e[n]+e[n+4]+e[n+4*c]+e[n+4*c+4])/4,o=(e[n+1]+e[n+5]+e[n+4*c+1]+e[n+4*c+5])/4,r=Math.abs((i-e[n+2*c+2])/f),s=Math.abs((o-e[n+2*c+3])/u);if(r+s>m&&(m=r+s,p=[r,s]),x&&m>x){h=!0;break}}if(h)break}return p},y={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},d=32,w=4,M=w,R=new Map,S=new Map,P=500,b=39.37,G=96;let k,E,T,N=!1;async function j(){return k||(k=n(),E=await import("../../../geometry/operators/projectOperator.js"),T=await import("../../../geometry/operators/support/geographicTransformationUtils.js"),E.isLoaded()||await E.load(),T.isLoaded()||await T.load(),N=!0,k.resolve()),k.promise}function v(e,t,n){if(p(),n){const n=E.execute(e,t);return T.getTransformation(t,e.spatialReference,n)}return T.getTransformation(e.spatialReference,t,e)}function C(e,t,n,i){const r=e.spatialReference;if(!r||!t||r.equals(t))return e;p();const s=n.center,a=new o({xmin:s.x-e.x/2,xmax:s.x+e.x/2,ymin:s.y-e.y/2,ymax:s.y+e.y/2,spatialReference:r}),l=E.execute(a,t,{geographicTransformation:i}),c=$(t);return null==l||null!=c&&l.width>=c?_(e,r,t):{x:l.width,y:l.height}}function _(e,t,n){const o=i(t)/i(n);return{x:e.x*o,y:e.y*o}}function z(e,n,o){const{spatialReference:r}=o;if(!r||!n||r.equals(n))return e;if(r.isGeographic&&n.isGeographic)return _(e,r,n);if(p(),!N)throw new t("raster-projection-helper:project-dataset-resolution","geometry engine is not loaded");let{x:s,y:a}=e;const l=(s+a)/2*i(r);let c=1;l>30&&(c=30/l,s*=c,a*=c);const f=256,x=s*f/2,m=a*f/2,{x:h,y:g}=o.center,y=[];for(let t=0;t<=f;t++)y.push([h-x,g-m+t*a]);for(let t=1;t<=f;t++)y.push([h-x+t*s,g+m]);for(let t=1;t<=f;t++)y.push([h+x,g+m-t*a]);for(let t=1;t<f;t++)y.push([h+x-t*s,g-m]);y.push(y[0]);const d=new u({rings:[y],spatialReference:r}),w=E.execute(d,n);if(!w)return _(e,r,n);const M=w.extent,R=$(n);if(null==M||null!=R&&M.width>=R)return _(e,r,n);const S=he(w.rings),P=s*a*f*f,b=Math.sqrt(S/P)/c,G={x:M.width/c/f,y:M.height/c/f},k={x:s*b,y:a*b},T=G.x*G.y;return Math.abs(T-k.x*k.y)/T<.1?G:k}function L(e,t){return("number"==typeof e?e:(e.x+e.y)/2)*i(t)*G*b}function W(e,t){const{pixelSize:n,extent:i}=e;return L(z(n,t,i),t)}function I(e,t=.01){return i(e)?t/i(e):0}function O(e,t,n,i=!0){const o=e.spatialReference;if(o.equals(t))return e;p();const r=E.execute(e,t,{geographicTransformation:n});return i&&r?(A([e],[r],o,t),r):r}function A(e,t,n,i){const o=ee(n,!0),r=ee(i,!0),s=I(n,P),a=I(i,P);if(s&&null!=o&&null!=r)for(let l=0;l<e.length;l++){const n=t[l];if(!n)continue;const{x:i}=e[l],{x:c}=n;c>=r[1]-a&&Math.abs(i-o[0])<s?n.x-=r[1]-r[0]:c<=r[0]+a&&Math.abs(i-o[1])<s&&(n.x+=r[1]-r[0])}}function F(e){const{inSR:t,outSR:n,preferPE:i}=e;if(t.equals(n)){const{points:t}=X(e,null);return t}if(t.isWebMercator&&n.isWGS84||t.isWGS84&&n.isWebMercator)return B(e);if(i){if(t.isGeographic)return Y(e);if(null!=U(t))return Y(e)}return q(e)}function q(e){const{points:t}=X(e,null),{inSR:n,outSR:i,datumTransformation:o}=e,r=t.map(e=>new f(e[0],e[1],n)),s=E.executeMany(r,i,{geographicTransformation:o});return o&&A(r,s,n,i),s.map(e=>e?[e.x,e.y]:[NaN,NaN])}function Y(e){const{inSR:t,outSR:n,datumTransformation:i}=e,o=U(t),{points:a,mask:f}=X(e,o);if(!t.isGeographic){const e=t.wkid?r.coordsys(t.wkid):r.fromString(t.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,t.wkt2||t.wkt);l.projToGeog(e,a.length,a)}if(null!=i&&i.steps.length){let e;const t=179.9955;if(n.isGeographic&&(e=a.map(([e])=>e>t?1:e<-t?-1:0)),i.steps.forEach(e=>{const t=e.wkid?r.geogtran(e.wkid):r.fromString(s.PE_TYPE_GEOGTRAN,e.wkt);c.geogToGeog(t,a.length,a,null,e.isInverse?s.PE_TRANSFORM_2_TO_1:s.PE_TRANSFORM_1_TO_2)}),e)for(let n=0;n<a.length;n++){const i=e[n],o=a[n][0],r=o>t?1:o<-t?-1:0;i&&r&&i!==r&&(a[n][0]=i>0?o+360:o-360)}}if(!n.isGeographic){const e=U(n,!0),t=null!=e&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];K(a,t);const i=n.wkid?r.coordsys(n.wkid):r.fromString(n.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,n.wkt2||n.wkt);l.geogToProj(i,a.length,a)}let u=a;if(f&&a.length!==f.length){u=[];for(let e=0,t=0;e<f.length;e++)f[e]?u.push(a[t++]):u.push([NaN,NaN])}return u}function B(e){const{cols:t,rows:n,xres:i,yres:o,usePixelCenter:r,inSR:s,outSR:a}=e;let{xmin:l,ymax:c}=e;r&&(l+=i/2,c-=o/2);const u=[],m=[],h=Math.max(t,n);for(let g=0;g<h;g++){const e=l+i*Math.min(t,g),r=c-o*Math.min(n,g),h=x(new f({x:e,y:r,spatialReference:s}),s,a);g<=t&&u.push(h.x),g<=n&&m.push(h.y)}const p=[];for(let f=0;f<t;f++)for(let e=0;e<n;e++)p.push([u[f],m[e]]);return p}function U(e,t=!1){let n=e.wkid||e.wkt2||e.wkt;if(!n||e.isGeographic)return null;if(n=String(n),R.has(n)){const e=R.get(n);return t?e?.gcs:e?.pcs}const i=e.wkid?r.coordsys(e.wkid):r.fromString(e.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,e.wkt2||e.wkt),o=J(i,I(e,1e-4)),a=J(i,0,!0);return R.set(n,{pcs:o,gcs:a}),t?a:o}function J(e,t=0,n=!1){const i=a.generate(e),o=n?e.horizonGcsGenerate():e.horizonPcsGenerate();if(!i||!o?.length)return null;let r=!1,s=o.find(e=>1===e.getInclusive()&&1===e.getKind());if(!s){if(s=o.find(e=>1===e.getInclusive()&&0===e.getKind()),!s)return null;r=!0}const l=n?0:(2===i.getNorthPoleLocation()?1:0)|(2===i.getSouthPoleLocation()?2:0),c=i.isPannableRectangle(),f=s.getCoord();if(r)return{isEnvelope:r,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-t,f[0][1]-t,f[1][0]+t,f[1][1]+t],poleLocation:l};let u=0;const x=[];let[m,h]=f[0],[p,g]=f[0];for(let a=0,y=f.length;a<y;a++){u++,u===y&&(u=0);const[e,t]=f[a],[n,i]=f[u];if(i===t)x.push([e,n,t,i,2]);else{const o=(n-e)/(i-t||1e-4),r=e-o*t;t<i?x.push([o,r,t,i,0]):x.push([o,r,i,t,1])}m=m<e?m:e,h=h<t?h:t,p=p>e?p:e,g=g>t?g:t}return{isEnvelope:!1,isPannable:c,vertices:f,coef:x,bbox:[m,h,p,g],poleLocation:l}}function X(e,t){const n=[],{cols:i,rows:o,xres:r,yres:s,usePixelCenter:a}=e;let{xmin:l,ymax:c}=e;if(a&&(l+=r/2,c-=s/2),null==t){for(let e=0;e<i;e++)for(let t=0;t<o;t++)n.push([l+r*e,c-s*t]);return{points:n}}const f=new Uint8Array(i*o);if(t.isEnvelope){const{isPannable:e,bbox:[a,u,x,m]}=t;for(let t=0,h=0;t<i;t++){const i=l+r*t,p=e||i>=a&&i<=x;for(let e=0;e<o;e++,h++){const t=c-s*e;p&&t>=u&&t<=m&&(n.push([i,t]),f[h]=1)}}return{points:n,mask:f}}const u=t.coef,x=[];for(let m=0;m<o;m++){const e=c-s*m,t=[],n=[];for(let o=0;o<u.length;o++){const[i,r,s,a,l]=u[o];if(e===s&&s===a)t.push(i),t.push(r),n.push(2),n.push(2);else if(e>=s&&e<=a){const o=i*e+r;t.push(o),n.push(l)}}let i=t;if(t.length>2){let e=2===n[0]?0:n[0],o=t[0];i=[];for(let r=1;r<n.length;r++)2===n[r]&&r!==n.length-1||(n[r]!==e&&(i.push(0===e?Math.min(o,t[r-1]):Math.max(o,t[r-1])),e=n[r],o=t[r]),r===n.length-1&&i.push(0===n[r]?Math.min(o,t[r]):Math.max(o,t[r])));i.sort((e,t)=>e-t)}else t[0]>t[1]&&(i=[t[1],t[0]]);x.push(i)}for(let m=0,h=0;m<i;m++){const e=l+r*m;for(let t=0;t<o;t++,h++){const i=c-s*t,o=x[t];if(2===o.length)e>=o[0]&&e<=o[1]&&(n.push([e,i]),f[h]=1);else if(o.length>2){let t=!1;for(let n=0;n<o.length;n+=2)if(e>=o[n]&&e<=o[n+1]){t=!0;break}t&&(n.push([e,i]),f[h]=1)}}}return{points:n,mask:f}}function K(e,t){const[n,i]=t;for(let o=0;o<e.length;o++){const t=e[o][1];(t<n||t>i)&&(e[o]=[NaN,NaN])}}function D(e,t){const n=$(e[0].spatialReference);if(e.length<2||null==n)return e[0];if(t=t??I(e[0].spatialReference),1===(e=e.filter(e=>e.width>t)).length)return e[0];let{xmin:i,xmax:r,ymin:s,ymax:a}=e[0];for(let o=1;o<e.length;o++){const t=e[o];r=t.xmax+n*o,s=Math.min(s,t.ymin),a=Math.max(a,t.ymax)}return new o({xmin:i,xmax:r,ymin:s,ymax:a,spatialReference:e[0].spatialReference})}function H(t,n,i=null,r=!0){const s=t.spatialReference;if(s.equals(n)||!n)return t;const a=ne(t),l=$(s,!0),c=$(n);if(0===a||null==l||null==c){const e=Z(t,n,i,r);if(e&&null==l&&null!=c&&Math.abs(e.width-c)<I(n)&&E.isLoaded()){const i=U(s);if(null!=i&&0===i.poleLocation&&t.width<(i.bbox[2]-i.bbox[0])/2)return V(t,n)||e}return e}const f=t.clone().normalize();if(1===f.length&&t.xmax<l&&t.xmax-l/2>I(s)){const{xmin:e,xmax:n}=t;for(let i=0;i<=a;i++){const r=0===i?e:-l/2,c=i===a?n-l*i:l/2;f[i]=new o({xmin:r,xmax:c,ymin:t.ymin,ymax:t.ymax,spatialReference:s})}}const u=f.map(e=>Z(e,n,i,r)).filter(e);return 0===u.length?null:D(u)}function Q(e,t,n){if("extent"===e.type){const{xmin:t,ymin:n,xmax:i,ymax:o,spatialReference:r}=e;e=new u({rings:[[[t,o],[i,o],[i,n],[t,n],[t,o]]],spatialReference:r})}return e.spatialReference.equals(t)?e:(p(),E.execute(e,t,{geographicTransformation:n}))}function V(e,t){const n=$(t);if(null==n)return null;let{xmin:i,ymin:r,xmax:s,ymax:a}=e;const l=e.spatialReference,c=new u({spatialReference:l,rings:[[[i,r],[s,r],[s,a],[i,a],[i,r]]]}),f=E.execute(c,t);if(2!==f.rings.length||!f.rings[0].length||!f.rings[1].length)return null;const{rings:x}=f,m=I(l),h=new o({spatialReference:t});for(let o=0;o<2;o++){i=s=x[o][0][0],r=a=x[o][0][1];for(let e=0;e<x[o].length;e++)i=i>x[o][e][0]?x[o][e][0]:i,s=s<x[o][e][0]?x[o][e][0]:s,r=r>x[o][e][1]?x[o][e][1]:r,a=a<x[o][e][1]?x[o][e][1]:a;if(0===o)h.ymin=r,h.ymax=a,h.xmin=i,h.xmax=s;else if(h.ymin=Math.min(h.ymin,r),h.ymax=Math.max(h.ymax,a),Math.abs(s-n/2)<m)h.xmin=i,h.xmax=h.xmax+n;else{if(!(Math.abs(i+n/2)<m))return null;h.xmax=s+n}}return h}function Z(e,t,n,i=!0,o=!0){const r=e.spatialReference;if(r.equals(t)||!t)return e;p();const s=E.execute(e,t,{geographicTransformation:n});if(o&&t.isWebMercator&&s&&(s.ymax=Math.min(20037508.342787,s.ymax),s.ymin=Math.max(-20037508.342787,s.ymin),s.ymin>=s.ymax))return null;if(!i||!s)return s;const a=ee(r,!0),l=ee(t,!0);if(null==a||null==l)return s;const c=I(r,.001),u=I(r,P),x=I(t,.001);if(Math.abs(s.xmin-l[0])<x&&Math.abs(s.xmax-l[1])<x){const i=Math.abs(e.xmin-a[0]),o=Math.abs(a[1]-e.xmax);if(i<c&&o>u){s.xmin=l[0];const i=[];i.push(new f(e.xmax,e.ymin,r)),i.push(new f(e.xmax,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmax,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmax=Math.max.apply(null,o)}if(o<c&&i>u){s.xmax=l[1];const i=[];i.push(new f(e.xmin,e.ymin,r)),i.push(new f(e.xmin,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmin,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmin=Math.min.apply(null,o)}}else{const e=I(t,.001);Math.abs(s.xmin-l[0])<e&&(s.xmin=l[0]),Math.abs(s.xmax-l[1])<e&&(s.xmax=l[1])}return s}function $(e,t=!1){if(!e)return null;const n=t?20037508.342787:20037508.342788905;return e.isWebMercator?2*n:e.wkid&&e.isGeographic?360:2*y[e.wkid]||null}function ee(e,t=!1){if(e.isGeographic)return[-180,180];const n=$(e,t);return n?[-n/2,n/2]:null}function te(e,t,n,i){let o=(e-t)/n;return o-Math.floor(o)!==0?o=Math.floor(o):i&&(o-=1),o}function ne(e,t=!1){const n=$(e.spatialReference);if(null==n)return 0;const i=t?0:-(n/2),o=I(e.spatialReference),r=!t&&Math.abs(e.xmax-n/2)<o?n/2:e.xmax,s=!t&&Math.abs(e.xmin+n/2)<o?-n/2:e.xmin;return te(r,i,n,!0)-te(s,i,n,!1)}function ie(e){const t=e.storageInfo.origin.x,n=$(e.spatialReference,!0);if(null==n)return{originX:t,halfWorldWidth:null,pyramidsInfo:null};const i=n/2,{nativePixelSize:o,storageInfo:r,extent:s}=e,{maximumPyramidLevel:a,blockWidth:l,pyramidScalingFactor:c}=r;let f=o.x;const u=[],x=null!=e.transform&&"gcs-shift"===e.transform.type,m=t+(x?0:i),h=x?n-t:i-t;for(let p=0;p<=a;p++){const e=(s.xmax-t)/f/l,n=e-Math.floor(e)===0?e:Math.ceil(e),i=h/f/l,o=i-Math.floor(i)===0?i:Math.ceil(i),r=Math.floor(m/f/l),a=Math.round(m/f)%l,x=(l-Math.round(h/f)%l)%l;u.push({resolutionX:f,blockWidth:l,datasetColumnCount:n,worldColumnCountFromOrigin:o,leftMargin:a,rightPadding:x,originColumnOffset:r}),f*=c}return{originX:t,halfWorldWidth:i,pyramidsInfo:u,hasGCSSShiftTransform:x}}function oe(e){if(!e||e.isGeographic)return e;const t=String(e.wkid||e.wkt2||e.wkt);let n;if(S.has(t))n=S.get(t);else{n=(e.wkid?r.coordsys(e.wkid):r.fromString(s.PE_TYPE_PROJCS,e.wkt2||e.wkt)).getGeogcs().getCode(),S.set(t,n)}return new m({wkid:n})}function re(e){const t=e.isAdaptive&&null==e.spacing;let n=e.spacing||[d,d],i=se(e),o={cols:i.size[0]+1,rows:i.size[1]+1};const r=i.outofBoundPointCount>0&&i.outofBoundPointCount<i.offsets.length/2;let s=i.outofBoundPointCount===i.offsets.length/2||t&&r?[0,0]:g(i.offsets,o,n,M);const a=(s[0]+s[1])/2,l=e.projectedExtent.spatialReference,c=e.srcBufferExtent.spatialReference;if(t&&(r||a>M)&&(l.isGeographic||U(l),n=[w,w],i=se({...e,spacing:n}),o={cols:i.size[0]+1,rows:i.size[1]+1},s=g(i.offsets,o,n,M)),i.error=s,n[0]>1&&(i.coefficients=ae(i.offsets,o,r)),e.includeGCSGrid&&!l.isGeographic&&!l.isWebMercator)if(c.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:n};else{const t=U(l);if(null!=t&&!t.isEnvelope){const t=oe(l),s=H(e.projectedExtent,t),{offsets:a}=se({...e,srcBufferExtent:s,spacing:n}),c=ae(a,o,r);i.gcsGrid={offsets:a,coefficients:c,spacing:n}}}return i}function se(e){const{projectedExtent:t,srcBufferExtent:n,pixelSize:i,datumTransformation:o,rasterTransform:r}=e,s=t.spatialReference,a=n.spatialReference;p();const{xmin:l,ymin:c,xmax:u,ymax:x}=t,m=$(a),h=null!=m&&(e.hasWrapAround||"gcs-shift"===r?.type),g=e.spacing||[d,d],y=g[0]*i.x,M=g[1]*i.y,R=1===g[0],S=Math.ceil((u-l)/y-.1/g[0])+(R?0:1),b=Math.ceil((x-c)/M-.1/g[1])+(R?0:1),G=F({cols:S,rows:b,xmin:l,ymax:x,xres:y,yres:M,inSR:s,outSR:a,datumTransformation:o,preferPE:g[0]<=w,usePixelCenter:R}),k=[];let E,T=0;const N=R?-1:NaN,{xmin:j,xmax:v,ymax:C,width:_,height:z}=n,L=I(a,P),W=null!=m&&j>0&&v>m/2,O=U(s),A=null!=O&&O.poleLocation>0;for(let p=0;p<S;p++){const e=[];for(let t=0;t<b;t++){let n=G[p*b+t];if(h&&n[0]>v&&n[0]>m/2-L?n[0]-=m:h&&0===p&&n[0]<0&&W&&!r&&(n[0]+=m),!n||isNaN(n[0])||isNaN(n[1]))k.push(N),k.push(N),e.push(null),T++;else{if(r){const e=r.inverseTransform(new f({x:n[0],y:n[1],spatialReference:a}));n=[e.x,e.y]}e.push(n),p>0&&h&&E[t]&&n[0]<E[t][0]&&(n[0]+=m,A&&n[0]>v&&n[0]>m&&(n[0]-=m)),k.push((n[0]-j)/_),k.push((C-n[1])/z)}}E=e}return{offsets:k,error:null,coefficients:null,outofBoundPointCount:T,spacing:g,size:R?[S,b]:[S-1,b-1]}}function ae(e,t,n){const{cols:i,rows:o}=t,r=new Float32Array((i-1)*(o-1)*2*6),s=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let l=0;l<i-1;l++){for(let t=0;t<o-1;t++){let n=l*o*2+2*t;const c=e[n],f=e[n+1],u=e[n+2],x=e[n+3];n+=2*o;const m=e[n],h=e[n+1],p=e[n+2],g=e[n+3];let y=0,d=12*(t*(i-1)+l);for(let e=0;e<3;e++)r[d++]=s[y++]*c+s[y++]*u+s[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=s[y++]*f+s[y++]*x+s[y++]*g;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*c+a[y++]*m+a[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*f+a[y++]*h+a[y++]*g}if(n)for(let e=0;e<r.length;e++)isNaN(r[e])&&(r[e]=-1)}return r}function le(e,t){const n=e.clone().normalize();return 1===n.length?n[0]:D(n,t)}function ce(e){const{spatialReference:t}=e,n=h(t);if(!n)return e;const[i,r]=n.valid,s=r-i;let a=0;if(e.xmin<i){const t=i-e.xmin;a=Math.ceil(t/s)}else if(e.xmin>r){const t=e.xmin-r;a=-Math.ceil(t/s)}return new o({spatialReference:e.spatialReference,xmin:e.xmin+a*s,ymin:e.ymin,xmax:e.xmax+a*s,ymax:e.ymax})}function fe(e,t,n){const{storageInfo:o,pixelSize:r}=t;let s=0,a=!1;const{pyramidResolutions:l}=o,c="mixed"===o.tileInfo.format?.toLowerCase()?Math.max(1,Math.min(3,o.tileInfo.dpi/96)):1,u=(e.x+e.y)/2/c;if(null!=l&&l.length){const e=l[l.length-1],o=(e.x+e.y)/2,c=(r.x+r.y)/2;if(u<=c)s=0;else if(u>=o)s=l.length,a=u/o>8;else{let e,t=c;for(let i=1;i<=l.length;i++){if(e=(l[i-1].x+l[i-1].y)/2,u<=e){u===e?s=i:"down"===n?(s=i-1,a=u/t>8):s="up"===n||u-t>e-u||u/t>2?i:i-1;break}t=e}}const x=0===s?r:l[s-1];if(a){Math.min(x.x,x.y)*i(t.spatialReference)>19567&&(a=!1)}return{pyramidLevel:s,pyramidResolution:new f({x:x.x,y:x.y,spatialReference:t.spatialReference}),excessiveReading:a}}const x=Math.log(e.x/r.x)/Math.LN2,m=Math.log(e.y/r.y)/Math.LN2,h=t.storageInfo.maximumPyramidLevel||0;s="down"===n?Math.floor(Math.min(x,m)):"up"===n?Math.ceil(Math.max(x,m)):Math.round((x+m)/2),s<0?s=0:s>h&&(a=s>h+3,s=h);const p=2**s;return{pyramidLevel:s,pyramidResolution:new f({x:p*t.nativePixelSize.x,y:p*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:a}}function ue(e,t,n=!1){const{pixelSize:i,extent:o}=e,r=v(o,t,!1),s=H(le(o,(i.x+i.y)/16),t,r);return!s||n||0===ne(s)?s:Z(o,t,r)}function xe(e,t,n){const i=n?.tileSize??512,o=n?.alignGlobalDatasetWithAGOL??!0,r=!!n?.limitToSrcResolution,{extent:s,pixelSize:a}=e,l=z(a,t,s);if(null==l)return{projectedPixelSize:null,scales:null,srcResolutions:null,isCustomTilingScheme:!1};const c=(l.x+l.y)/2,f=L(c,t),u=256/i,x=t.isGeographic?295828763.7958547*u:591657527.591555*u,m=(t.isGeographic?.703125:156543.03392800014)*u;let h="vector-magdir"===e.dataType||"vector-uv"===e.dataType;const p=ue(e,t,!0),g=Math.min(Math.ceil(Math.log(Math.min(e.width,e.height)/32)/Math.LN2),Math.ceil(Math.log(x/2/f)/Math.LN2));if(!h&&p&&o&&(t.isGeographic||t.isWebMercator)){const n=$(t);if(h=ne(p)>0||null!=n&&p.width>n/4,!h&&null!=n){let t=-1;if(g<3)t=2**g*c*i;else if(e.storageInfo){const{maximumPyramidLevel:n=0,pyramidScalingFactor:o=2}=e.storageInfo;t=o**n*c*i}const o=Math.ceil(n/t);h=1===o||2===o&&n/2-p.xmax<t}}let y,d=f;const w=1.001,M=Math.min(2,Math.max(1.414,e.storageInfo?.pyramidScalingFactor||2));if(h){d=x;const n=me(e,t);y={x:n.x*m,y:n.y*m}}else{y={x:a.x,y:a.y};let e=0;for(;d<x*(w/2)&&e<g;)e++,d*=M,y.x*=M,y.y*=M;Math.max(d,x)/Math.min(d,x)<=w&&(d=x)}const R=[d],S=[{x:y.x,y:y.y}],P=70.5310735,b=Math.min(P,f)/w;for(;d>=b;)d/=M,y.x/=M,y.y/=M,R.push(d),S.push({x:y.x,y:y.y});if(r){const e=.001*a.x;let t=S.findIndex(t=>t.x>=a.x-e&&t.x<=a.x+e);t>-1?(S.length=t+1,R.length=t+1):(t=S.findIndex(t=>t.x<=a.x+e),t>0&&(S.length=t,R.length=t))}return{projectedPixelSize:l,scales:R,srcResolutions:S,isCustomTilingScheme:!h}}function me(e,t){if(t.isWGS84||t.isWebMercator){const n=t.isGeographic?1341104507446289e-21:.29858214164761665,i=t.isGeographic?4326:3857,o=ue(e,new m({wkid:i}),!0),r=z({x:n,y:n},e.spatialReference,o);return{x:r.x/n,y:r.y/n}}const n=z(e.pixelSize,t,e.extent),i=(n.x+n.y)/2;return{x:e.pixelSize.x/i,y:e.pixelSize.y/i}}function he(e){let t=0;for(const n of e){const e=n.length;let i=n[0][0]*(n[1][1]-n[e-2][1]);for(let t=1;t<e-1;t++)i+=n[t][0]*(n[t+1][1]-n[t-1][1]);t+=i/2}return Math.abs(t)}export{xe as computeProjectedScales,me as computeSrcResolutionRatio,d as defaultGridSpacing,M as defaultProjectionToleranceInPixels,v as getDefaultDatumTransformationForDataset,F as getProjectedGridPoints,re as getProjectionOffsetGrid,ie as getRasterDatasetAlignmentInfo,W as getSourceScale,$ as getWorldWidth,ne as getWorldWrapCount,j as load,w as minimumGridSpacing,ue as projectDatasetExtent,z as projectDatasetResolution,H as projectExtent,O as projectPoint,Q as projectPolygon,C as projectResolution,ce as shiftExtent,le as snapExtent,fe as snapPyramid};
5
+ import{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import{createResolver as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../../core/units.js";import o from"../../../geometry/Extent.js";import{P as r,a as s,g as a,h as l,j as c}from"../../../chunks/pe.js";import f from"../../../geometry/Point.js";import u from"../../../geometry/Polygon.js";import{projectWithoutEngine as x}from"../../../geometry/projectionUtils.js";import m from"../../../geometry/SpatialReference.js";import{getInfo as h}from"../../../geometry/support/spatialReferenceUtils.js";function p(){if(!N)throw new t("rasterprojectionhelper-project","projection operator is not loaded")}const g=(e,t,n,i=0)=>{if(1===n[0])return[0,0];let o=1,r=-1,s=1,a=-1;for(let g=0;g<e.length;g+=2)isNaN(e[g])||(o=o>e[g]?e[g]:o,r=r>e[g]?r:e[g],s=s>e[g+1]?e[g+1]:s,a=a>e[g+1]?a:e[g+1]);const{cols:l,rows:c}=t,f=(r-o)/l/n[0],u=(a-s)/c/n[1],x=2*i;let m=0,h=!1,p=[0,0];for(let g=0;g<l-3;g++){for(let t=0;t<c-3;t++){const n=g*c*2+2*t,i=(e[n]+e[n+4]+e[n+4*c]+e[n+4*c+4])/4,o=(e[n+1]+e[n+5]+e[n+4*c+1]+e[n+4*c+5])/4,r=Math.abs((i-e[n+2*c+2])/f),s=Math.abs((o-e[n+2*c+3])/u);if(r+s>m&&(m=r+s,p=[r,s]),x&&m>x){h=!0;break}}if(h)break}return p},y={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},d=32,w=4,M=w,R=new Map,S=new Map,P=500,b=39.37,G=96;let k,E,T,N=!1;async function j(){return k||(k=n(),E=await import("../../../geometry/operators/projectOperator.js"),T=await import("../../../geometry/operators/support/geographicTransformationUtils.js"),E.isLoaded()||await E.load(),T.isLoaded()||await T.load(),N=!0,k.resolve()),k.promise}function v(e,t,n){if(p(),n){const n=E.execute(e,t);return T.getTransformation(t,e.spatialReference,n)}return T.getTransformation(e.spatialReference,t,e)}function C(e,t,n,i){const r=e.spatialReference;if(!r||!t||r.equals(t))return e;p();const s=n.center,a=new o({xmin:s.x-e.x/2,xmax:s.x+e.x/2,ymin:s.y-e.y/2,ymax:s.y+e.y/2,spatialReference:r}),l=E.execute(a,t,{geographicTransformation:i}),c=$(t);return null==l||null!=c&&l.width>=c?_(e,r,t):{x:l.width,y:l.height}}function _(e,t,n){const o=i(t)/i(n);return{x:e.x*o,y:e.y*o}}function z(e,n,o){const{spatialReference:r}=o;if(!r||!n||r.equals(n))return e;if(r.isGeographic&&n.isGeographic)return _(e,r,n);if(p(),!N)throw new t("raster-projection-helper:project-dataset-resolution","geometry engine is not loaded");let{x:s,y:a}=e;const l=(s+a)/2*i(r);let c=1;l>30&&(c=30/l,s*=c,a*=c);const f=256,x=s*f/2,m=a*f/2,{x:h,y:g}=o.center,y=[];for(let t=0;t<=f;t++)y.push([h-x,g-m+t*a]);for(let t=1;t<=f;t++)y.push([h-x+t*s,g+m]);for(let t=1;t<=f;t++)y.push([h+x,g+m-t*a]);for(let t=1;t<f;t++)y.push([h+x-t*s,g-m]);y.push(y[0]);const d=new u({rings:[y],spatialReference:r}),w=E.execute(d,n);if(!w)return _(e,r,n);const M=w.extent,R=$(n);if(null==M||null!=R&&M.width>=R)return _(e,r,n);const S=pe(w.rings),P=s*a*f*f,b=Math.sqrt(S/P)/c,G={x:M.width/c/f,y:M.height/c/f},k={x:s*b,y:a*b},T=G.x*G.y;return Math.abs(T-k.x*k.y)/T<.1?G:k}function L(e,t){return("number"==typeof e?e:(e.x+e.y)/2)*i(t)*G*b}function W(e,t){const{pixelSize:n,extent:i}=e;return L(z(n,t,i),t)}function I(e,t=.01){return i(e)?t/i(e):0}function O(e,t,n,i=!0){const o=e.spatialReference;if(o.equals(t))return e;p();const r=E.execute(e,t,{geographicTransformation:n});return i&&r?(A([e],[r],o,t),r):r}function A(e,t,n,i){const o=ee(n,!0),r=ee(i,!0),s=I(n,P),a=I(i,P);if(s&&null!=o&&null!=r)for(let l=0;l<e.length;l++){const n=t[l];if(!n)continue;const{x:i}=e[l],{x:c}=n;c>=r[1]-a&&Math.abs(i-o[0])<s?n.x-=r[1]-r[0]:c<=r[0]+a&&Math.abs(i-o[1])<s&&(n.x+=r[1]-r[0])}}function F(e){const{inSR:t,outSR:n,preferPE:i}=e;if(t.equals(n)){const{points:t}=X(e,null);return t}if(t.isWebMercator&&n.isWGS84||t.isWGS84&&n.isWebMercator)return B(e);if(i){if(t.isGeographic)return Y(e);if(null!=U(t))return Y(e)}return q(e)}function q(e){const{points:t}=X(e,null),{inSR:n,outSR:i,datumTransformation:o}=e,r=t.map(e=>new f(e[0],e[1],n)),s=E.executeMany(r,i,{geographicTransformation:o});return o&&A(r,s,n,i),s.map(e=>e?[e.x,e.y]:[NaN,NaN])}function Y(e){const{inSR:t,outSR:n,datumTransformation:i}=e,o=U(t),{points:a,mask:f}=X(e,o);if(!t.isGeographic){const e=t.wkid?r.coordsys(t.wkid):r.fromString(t.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,t.wkt2||t.wkt);l.projToGeog(e,a.length,a)}if(null!=i&&i.steps.length){let e;const t=179.9955;if(n.isGeographic&&(e=a.map(([e])=>e>t?1:e<-t?-1:0)),i.steps.forEach(e=>{const t=e.wkid?r.geogtran(e.wkid):r.fromString(s.PE_TYPE_GEOGTRAN,e.wkt);c.geogToGeog(t,a.length,a,null,e.isInverse?s.PE_TRANSFORM_2_TO_1:s.PE_TRANSFORM_1_TO_2)}),e)for(let n=0;n<a.length;n++){const i=e[n],o=a[n][0],r=o>t?1:o<-t?-1:0;i&&r&&i!==r&&(a[n][0]=i>0?o+360:o-360)}}if(!n.isGeographic){const e=U(n,!0),t=null!=e&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];K(a,t);const i=n.wkid?r.coordsys(n.wkid):r.fromString(n.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,n.wkt2||n.wkt);l.geogToProj(i,a.length,a)}let u=a;if(f&&a.length!==f.length){u=[];for(let e=0,t=0;e<f.length;e++)f[e]?u.push(a[t++]):u.push([NaN,NaN])}return u}function B(e){const{cols:t,rows:n,xres:i,yres:o,usePixelCenter:r,inSR:s,outSR:a}=e;let{xmin:l,ymax:c}=e;r&&(l+=i/2,c-=o/2);const u=[],m=[],h=Math.max(t,n);for(let g=0;g<h;g++){const e=l+i*Math.min(t,g),r=c-o*Math.min(n,g),h=x(new f({x:e,y:r,spatialReference:s}),s,a);g<=t&&u.push(h.x),g<=n&&m.push(h.y)}const p=[];for(let f=0;f<t;f++)for(let e=0;e<n;e++)p.push([u[f],m[e]]);return p}function U(e,t=!1){let n=e.wkid||e.wkt2||e.wkt;if(!n||e.isGeographic)return null;if(n=String(n),R.has(n)){const e=R.get(n);return t?e?.gcs:e?.pcs}const i=e.wkid?r.coordsys(e.wkid):r.fromString(e.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,e.wkt2||e.wkt),o=J(i,I(e,1e-4)),a=J(i,0,!0);return R.set(n,{pcs:o,gcs:a}),t?a:o}function J(e,t=0,n=!1){const i=a.generate(e),o=n?e.horizonGcsGenerate():e.horizonPcsGenerate();if(!i||!o?.length)return null;let r=!1,s=o.find(e=>1===e.getInclusive()&&1===e.getKind());if(!s){if(s=o.find(e=>1===e.getInclusive()&&0===e.getKind()),!s)return null;r=!0}const l=n?0:(2===i.getNorthPoleLocation()?1:0)|(2===i.getSouthPoleLocation()?2:0),c=i.isPannableRectangle(),f=s.getCoord();if(r)return{isEnvelope:r,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-t,f[0][1]-t,f[1][0]+t,f[1][1]+t],poleLocation:l};let u=0;const x=[];let[m,h]=f[0],[p,g]=f[0];for(let a=0,y=f.length;a<y;a++){u++,u===y&&(u=0);const[e,t]=f[a],[n,i]=f[u];if(i===t)x.push([e,n,t,i,2]);else{const o=(n-e)/(i-t||1e-4),r=e-o*t;t<i?x.push([o,r,t,i,0]):x.push([o,r,i,t,1])}m=m<e?m:e,h=h<t?h:t,p=p>e?p:e,g=g>t?g:t}return{isEnvelope:!1,isPannable:c,vertices:f,coef:x,bbox:[m,h,p,g],poleLocation:l}}function X(e,t){const n=[],{cols:i,rows:o,xres:r,yres:s,usePixelCenter:a}=e;let{xmin:l,ymax:c}=e;if(a&&(l+=r/2,c-=s/2),null==t){for(let e=0;e<i;e++)for(let t=0;t<o;t++)n.push([l+r*e,c-s*t]);return{points:n}}const f=new Uint8Array(i*o);if(t.isEnvelope){const{isPannable:e,bbox:[a,u,x,m]}=t;for(let t=0,h=0;t<i;t++){const i=l+r*t,p=e||i>=a&&i<=x;for(let e=0;e<o;e++,h++){const t=c-s*e;p&&t>=u&&t<=m&&(n.push([i,t]),f[h]=1)}}return{points:n,mask:f}}const u=t.coef,x=[];for(let m=0;m<o;m++){const e=c-s*m,t=[],n=[];for(let o=0;o<u.length;o++){const[i,r,s,a,l]=u[o];if(e===s&&s===a)t.push(i),t.push(r),n.push(2),n.push(2);else if(e>=s&&e<=a){const o=i*e+r;t.push(o),n.push(l)}}let i=t;if(t.length>2){let e=2===n[0]?0:n[0],o=t[0];i=[];for(let r=1;r<n.length;r++)2===n[r]&&r!==n.length-1||(n[r]!==e&&(i.push(0===e?Math.min(o,t[r-1]):Math.max(o,t[r-1])),e=n[r],o=t[r]),r===n.length-1&&i.push(0===n[r]?Math.min(o,t[r]):Math.max(o,t[r])));i.sort((e,t)=>e-t)}else t[0]>t[1]&&(i=[t[1],t[0]]);x.push(i)}for(let m=0,h=0;m<i;m++){const e=l+r*m;for(let t=0;t<o;t++,h++){const i=c-s*t,o=x[t];if(2===o.length)e>=o[0]&&e<=o[1]&&(n.push([e,i]),f[h]=1);else if(o.length>2){let t=!1;for(let n=0;n<o.length;n+=2)if(e>=o[n]&&e<=o[n+1]){t=!0;break}t&&(n.push([e,i]),f[h]=1)}}}return{points:n,mask:f}}function K(e,t){const[n,i]=t;for(let o=0;o<e.length;o++){const t=e[o][1];(t<n||t>i)&&(e[o]=[NaN,NaN])}}function D(e,t){const n=$(e[0].spatialReference);if(e.length<2||null==n)return e[0];if(t=t??I(e[0].spatialReference),1===(e=e.filter(e=>e.width>t)).length)return e[0];let{xmin:i,xmax:r,ymin:s,ymax:a}=e[0];for(let o=1;o<e.length;o++){const t=e[o];r=t.xmax+n*o,s=Math.min(s,t.ymin),a=Math.max(a,t.ymax)}return new o({xmin:i,xmax:r,ymin:s,ymax:a,spatialReference:e[0].spatialReference})}function H(t,n,i=null,r=!0){const s=t.spatialReference;if(s.equals(n)||!n)return t;const a=ne(t),l=$(s,!0),c=$(n);if(0===a||null==l||null==c){const e=Z(t,n,i,r);if(e&&null==l&&null!=c&&Math.abs(e.width-c)<I(n)&&E.isLoaded()){const i=U(s);if(null!=i&&0===i.poleLocation&&t.width<(i.bbox[2]-i.bbox[0])/2)return V(t,n)||e}return e}const f=t.clone().normalize();if(1===f.length&&t.xmax<l&&t.xmax-l/2>I(s)){const{xmin:e,xmax:n}=t;for(let i=0;i<=a;i++){const r=0===i?e:-l/2,c=i===a?n-l*i:l/2;f[i]=new o({xmin:r,xmax:c,ymin:t.ymin,ymax:t.ymax,spatialReference:s})}}const u=f.map(e=>Z(e,n,i,r)).filter(e);return 0===u.length?null:D(u)}function Q(e,t,n){if("extent"===e.type){const{xmin:t,ymin:n,xmax:i,ymax:o,spatialReference:r}=e;e=new u({rings:[[[t,o],[i,o],[i,n],[t,n],[t,o]]],spatialReference:r})}return e.spatialReference.equals(t)?e:(p(),E.execute(e,t,{geographicTransformation:n}))}function V(e,t){const n=$(t);if(null==n)return null;let{xmin:i,ymin:r,xmax:s,ymax:a}=e;const l=e.spatialReference,c=new u({spatialReference:l,rings:[[[i,r],[s,r],[s,a],[i,a],[i,r]]]}),f=E.execute(c,t);if(2!==f.rings.length||!f.rings[0].length||!f.rings[1].length)return null;const{rings:x}=f,m=I(l),h=new o({spatialReference:t});for(let o=0;o<2;o++){i=s=x[o][0][0],r=a=x[o][0][1];for(let e=0;e<x[o].length;e++)i=i>x[o][e][0]?x[o][e][0]:i,s=s<x[o][e][0]?x[o][e][0]:s,r=r>x[o][e][1]?x[o][e][1]:r,a=a<x[o][e][1]?x[o][e][1]:a;if(0===o)h.ymin=r,h.ymax=a,h.xmin=i,h.xmax=s;else if(h.ymin=Math.min(h.ymin,r),h.ymax=Math.max(h.ymax,a),Math.abs(s-n/2)<m)h.xmin=i,h.xmax=h.xmax+n;else{if(!(Math.abs(i+n/2)<m))return null;h.xmax=s+n}}return h}function Z(e,t,n,i=!0,o=!0){const r=e.spatialReference;if(r.equals(t)||!t)return e;p();const s=E.execute(e,t,{geographicTransformation:n});if(o&&t.isWebMercator&&s&&(s.ymax=Math.min(20037508.342787,s.ymax),s.ymin=Math.max(-20037508.342787,s.ymin),s.ymin>=s.ymax))return null;if(!i||!s)return s;const a=ee(r,!0),l=ee(t,!0);if(null==a||null==l)return s;const c=I(r,.001),u=I(r,P),x=I(t,.001);if(Math.abs(s.xmin-l[0])<x&&Math.abs(s.xmax-l[1])<x){const i=Math.abs(e.xmin-a[0]),o=Math.abs(a[1]-e.xmax);if(i<c&&o>u){s.xmin=l[0];const i=[];i.push(new f(e.xmax,e.ymin,r)),i.push(new f(e.xmax,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmax,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmax=Math.max.apply(null,o)}if(o<c&&i>u){s.xmax=l[1];const i=[];i.push(new f(e.xmin,e.ymin,r)),i.push(new f(e.xmin,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmin,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmin=Math.min.apply(null,o)}}else{const e=I(t,.001);Math.abs(s.xmin-l[0])<e&&(s.xmin=l[0]),Math.abs(s.xmax-l[1])<e&&(s.xmax=l[1])}return s}function $(e,t=!1){if(!e)return null;const n=t?20037508.342787:20037508.342788905;return e.isWebMercator?2*n:e.wkid&&e.isGeographic?360:2*y[e.wkid]||null}function ee(e,t=!1){if(e.isGeographic)return[-180,180];const n=$(e,t);return n?[-n/2,n/2]:null}function te(e,t,n,i){let o=(e-t)/n;return o-Math.floor(o)!==0?o=Math.floor(o):i&&(o-=1),o}function ne(e,t=!1){const n=$(e.spatialReference);if(null==n)return 0;const i=t?0:-(n/2),o=I(e.spatialReference),r=!t&&Math.abs(e.xmax-n/2)<o?n/2:e.xmax,s=!t&&Math.abs(e.xmin+n/2)<o?-n/2:e.xmin;return te(r,i,n,!0)-te(s,i,n,!1)}function ie(e){const t=e.storageInfo.origin.x,n=$(e.spatialReference,!0);if(null==n)return{originX:t,halfWorldWidth:null,pyramidsInfo:null};const i=n/2,{nativePixelSize:o,storageInfo:r,extent:s}=e,{maximumPyramidLevel:a,blockWidth:l,pyramidScalingFactor:c}=r;let f=o.x;const u=[],x=null!=e.transform&&"gcs-shift"===e.transform.type,m=t+(x?0:i),h=x?n-t:i-t;for(let p=0;p<=a;p++){const e=(s.xmax-t)/f/l,n=e-Math.floor(e)===0?e:Math.ceil(e),i=h/f/l,o=i-Math.floor(i)===0?i:Math.ceil(i),r=Math.floor(m/f/l),a=Math.round(m/f)%l,x=(l-Math.round(h/f)%l)%l;u.push({resolutionX:f,blockWidth:l,datasetColumnCount:n,worldColumnCountFromOrigin:o,leftMargin:a,rightPadding:x,originColumnOffset:r}),f*=c}return{originX:t,halfWorldWidth:i,pyramidsInfo:u,hasGCSSShiftTransform:x}}function oe(e){if(!e||e.isGeographic)return e;const t=String(e.wkid||e.wkt2||e.wkt);let n;if(S.has(t))n=S.get(t);else{n=(e.wkid?r.coordsys(e.wkid):r.fromString(s.PE_TYPE_PROJCS,e.wkt2||e.wkt)).getGeogcs().getCode(),S.set(t,n)}return new m({wkid:n})}function re(e){const t=e.isAdaptive&&null==e.spacing;let n=e.spacing||[d,d],i=se(e),o={cols:i.size[0]+1,rows:i.size[1]+1};const r=i.outofBoundPointCount>0&&i.outofBoundPointCount<i.offsets.length/2;let s=i.outofBoundPointCount===i.offsets.length/2||t&&r?[0,0]:g(i.offsets,o,n,M);const a=(s[0]+s[1])/2,l=e.projectedExtent.spatialReference,c=e.srcBufferExtent.spatialReference;if(t&&(r||a>M)&&(l.isGeographic||U(l),n=[w,w],i=se({...e,spacing:n}),o={cols:i.size[0]+1,rows:i.size[1]+1},s=g(i.offsets,o,n,M)),i.error=s,n[0]>1&&(i.coefficients=ae(i.offsets,o,r)),e.includeGCSGrid&&!l.isGeographic&&!l.isWebMercator)if(c.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:n};else{const t=U(l);if(null!=t&&!t.isEnvelope){const t=oe(l),s=H(e.projectedExtent,t),{offsets:a}=se({...e,srcBufferExtent:s,spacing:n}),c=ae(a,o,r);i.gcsGrid={offsets:a,coefficients:c,spacing:n}}}return i}function se(e){const{projectedExtent:t,srcBufferExtent:n,pixelSize:i,datumTransformation:o,rasterTransform:r}=e,s=t.spatialReference,a=n.spatialReference;p();const{xmin:l,ymin:c,xmax:u,ymax:x}=t,m=$(a),h=null!=m&&(e.hasWrapAround||"gcs-shift"===r?.type),g=e.spacing||[d,d],y=g[0]*i.x,M=g[1]*i.y,R=1===g[0],S=Math.ceil((u-l)/y-.1/g[0])+(R?0:1),b=Math.ceil((x-c)/M-.1/g[1])+(R?0:1),G=F({cols:S,rows:b,xmin:l,ymax:x,xres:y,yres:M,inSR:s,outSR:a,datumTransformation:o,preferPE:g[0]<=w,usePixelCenter:R}),k=[];let E,T=0;const N=R?-1:NaN,{xmin:j,xmax:v,ymax:C,width:_,height:z}=n,L=I(a,P),W=null!=m&&j>0&&v>m/2,O=U(s),A=null!=O&&O.poleLocation>0;for(let p=0;p<S;p++){const e=[];for(let t=0;t<b;t++){let n=G[p*b+t];if(h&&n[0]>v&&n[0]>m/2-L?n[0]-=m:h&&0===p&&n[0]<0&&W&&!r&&(n[0]+=m),!n||isNaN(n[0])||isNaN(n[1]))k.push(N),k.push(N),e.push(null),T++;else{if(r){const e=r.inverseTransform(new f({x:n[0],y:n[1],spatialReference:a}));n=[e.x,e.y]}e.push(n),p>0&&h&&E[t]&&n[0]<E[t][0]&&(n[0]+=m,A&&n[0]>v&&n[0]>m&&(n[0]-=m)),k.push((n[0]-j)/_),k.push((C-n[1])/z)}}E=e}return{offsets:k,error:null,coefficients:null,outofBoundPointCount:T,spacing:g,size:R?[S,b]:[S-1,b-1]}}function ae(e,t,n){const{cols:i,rows:o}=t,r=new Float32Array((i-1)*(o-1)*2*6),s=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let l=0;l<i-1;l++){for(let t=0;t<o-1;t++){let n=l*o*2+2*t;const c=e[n],f=e[n+1],u=e[n+2],x=e[n+3];n+=2*o;const m=e[n],h=e[n+1],p=e[n+2],g=e[n+3];let y=0,d=12*(t*(i-1)+l);for(let e=0;e<3;e++)r[d++]=s[y++]*c+s[y++]*u+s[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=s[y++]*f+s[y++]*x+s[y++]*g;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*c+a[y++]*m+a[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*f+a[y++]*h+a[y++]*g}if(n)for(let e=0;e<r.length;e++)isNaN(r[e])&&(r[e]=-1)}return r}function le(e,t){const n=e.clone().normalize();return 1===n.length?n[0]:D(n,t)}function ce(e){const{spatialReference:t}=e,n=h(t);if(!n)return e;const[i,r]=n.valid,s=r-i;let a=0;if(e.xmin<i){const t=i-e.xmin;a=Math.ceil(t/s)}else if(e.xmin>r){const t=e.xmin-r;a=-Math.ceil(t/s)}return new o({spatialReference:e.spatialReference,xmin:e.xmin+a*s,ymin:e.ymin,xmax:e.xmax+a*s,ymax:e.ymax})}function fe(e,t,n){const{storageInfo:o,pixelSize:r}=t;let s=0,a=!1;const{pyramidResolutions:l}=o,c="mixed"===o.tileInfo.format?.toLowerCase()?Math.max(1,Math.min(3,o.tileInfo.dpi/96)):1,u=(e.x+e.y)/2/c;if(null!=l&&l.length){const e=l[l.length-1],o=(e.x+e.y)/2,c=(r.x+r.y)/2;if(u<=c)s=0;else if(u>=o)s=l.length,a=u/o>8;else{let e,t=c;for(let i=1;i<=l.length;i++){if(e=(l[i-1].x+l[i-1].y)/2,u<=e){u===e?s=i:"down"===n?(s=i-1,a=u/t>8):s="up"===n||u-t>e-u||u/t>2?i:i-1;break}t=e}}const x=0===s?r:l[s-1];if(a){Math.min(x.x,x.y)*i(t.spatialReference)>19567&&(a=!1)}return{pyramidLevel:s,pyramidResolution:new f({x:x.x,y:x.y,spatialReference:t.spatialReference}),excessiveReading:a}}const x=Math.log(e.x/r.x)/Math.LN2,m=Math.log(e.y/r.y)/Math.LN2,h=t.storageInfo.maximumPyramidLevel||0;s="down"===n?Math.floor(Math.min(x,m)):"up"===n?Math.ceil(Math.max(x,m)):Math.round((x+m)/2),s<0?s=0:s>h&&(a=s>h+3,s=h);const p=2**s;return{pyramidLevel:s,pyramidResolution:new f({x:p*t.nativePixelSize.x,y:p*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:a}}function ue(e,t,n=!1){const{pixelSize:i,extent:o}=e,r=v(o,t,!1),s=H(le(o,(i.x+i.y)/16),t,r);return!s||n||0===ne(s)?s:Z(o,t,r)}function xe(e,t,n){const i=n?.tileSize??512,o=n?.alignGlobalDatasetWithAGOL??!0,r=!!n?.limitToSrcResolution,{extent:s,pixelSize:a}=e,l=z(a,t,s);if(null==l)return{projectedPixelSize:null,scales:null,srcResolutions:null,isCustomTilingScheme:!1};const c=(l.x+l.y)/2,f=L(c,t),u=256/i,x=t.isGeographic?295828763.7958547*u:591657527.591555*u,m=(t.isGeographic?.703125:156543.03392800014)*u;let h="vector-magdir"===e.dataType||"vector-uv"===e.dataType;const p=ue(e,t,!0),g=Math.min(Math.ceil(Math.log(Math.min(e.width,e.height)/32)/Math.LN2),Math.ceil(Math.log(x/2/f)/Math.LN2));if(!h&&p&&o&&(t.isGeographic||t.isWebMercator)){const n=$(t);if(h=ne(p)>0||null!=n&&p.width>n/4,!h&&null!=n){let t=-1;if(g<3)t=2**g*c*i;else if(e.storageInfo){const{maximumPyramidLevel:n=0,pyramidScalingFactor:o=2}=e.storageInfo;t=o**n*c*i}const o=Math.ceil(n/t);h=1===o||2===o&&n/2-p.xmax<t}}let y,d=f;const w=1.001,M=Math.min(2,Math.max(1.414,e.storageInfo?.pyramidScalingFactor||2));if(h){d=x;const n=me(e,t);y={x:n.x*m,y:n.y*m}}else{y={x:a.x,y:a.y};let e=0;for(;d<x*(w/2)&&e<g;)e++,d*=M,y.x*=M,y.y*=M;Math.max(d,x)/Math.min(d,x)<=w&&(d=x)}const R=[d],S=[{x:y.x,y:y.y}],P=70.5310735,b=Math.min(P,f)/w;for(;d>=b;)d/=M,y.x/=M,y.y/=M,R.push(d),S.push({x:y.x,y:y.y});if(r){const e=.001*a.x;let t=S.findIndex(t=>t.x>=a.x-e&&t.x<=a.x+e);t>-1?(S.length=t+1,R.length=t+1):(t=S.findIndex(t=>t.x<=a.x+e),t>0&&(S.length=t,R.length=t))}return{projectedPixelSize:l,scales:R,srcResolutions:S,isCustomTilingScheme:!h}}function me(e,t){if(t.isWGS84||t.isWebMercator){const n=t.isGeographic?1341104507446289e-21:.29858214164761665,i=t.isGeographic?4326:3857,o=ue(e,new m({wkid:i}),!0),r=z({x:n,y:n},e.spatialReference,o);return{x:r.x/n,y:r.y/n}}const n=z(e.pixelSize,t,e.extent),i=(n.x+n.y)/2;return{x:e.pixelSize.x/i,y:e.pixelSize.y/i}}function he(e,t){const{spatialReference:n,lods:i}=t,{x:o,y:r}=me(e,n);return i.map(({resolution:e})=>({x:e*o,y:e*r}))}function pe(e){let t=0;for(const n of e){const e=n.length;let i=n[0][0]*(n[1][1]-n[e-2][1]);for(let t=1;t<e-1;t++)i+=n[t][0]*(n[t+1][1]-n[t-1][1]);t+=i/2}return Math.abs(t)}export{xe as computeProjectedScales,me as computeSrcResolutionRatio,he as computeSrcResolutions,d as defaultGridSpacing,M as defaultProjectionToleranceInPixels,v as getDefaultDatumTransformationForDataset,F as getProjectedGridPoints,re as getProjectionOffsetGrid,ie as getRasterDatasetAlignmentInfo,W as getSourceScale,$ as getWorldWidth,ne as getWorldWrapCount,j as load,w as minimumGridSpacing,ue as projectDatasetExtent,z as projectDatasetResolution,H as projectExtent,O as projectPoint,Q as projectPolygon,C as projectResolution,ce as shiftExtent,le as snapExtent,fe as snapPyramid};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{result as e}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import{assertIsSome as n}from"../../core/maybe.js";import{whenOrAbort as a,throwIfAbortError as o}from"../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../core/units.js";import{initializeProjection as l,project as r}from"../../geometry/projectionUtils.js";import{fromExtent as s}from"../../geometry/support/aaBoundingRect.js";import{GeometryQueryContext as c,ExtentQueryContext as u,isTileInfoTilemapCache as m,getLods as f}from"./ElevationQueryContext.js";import{ElevationTile as p}from"./ElevationTile.js";import{GeometryDescriptor as y}from"./GeometryDescriptor.js";import{TileElevationSampler as w}from"./TileElevationSampler.js";import{TileKey as d}from"./TileKey.js";async function h(e,n,a){if(e=a?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice(),!e.length)throw new t(O,"Elevation queries require at least one elevation layer to fetch tiles from");const o=y.fromGeometry(n),i={...j,...a,returnSampleInfo:!0},l=e.pop(),r=await v(l,o,i),s=await I(e,r,i);return s.geometry=s.geometry.export(),a?.returnSampleInfo||delete s.sampleInfo,s}async function v(e,n,a){if(!e)throw new t(O,"Elevation queries require an elevation layer to fetch tiles from");if(!n||!(n instanceof y)&&"point"!==n.type&&"multipoint"!==n.type&&"polyline"!==n.type)throw new t("elevation-query:invalid-geometry","Only point, polyline and multipoint geometries can be used to query elevation");const o={...j,...a},i=o.signal;if("integrated-mesh-3dtiles"===e.type){const t=y.fromGeometry(n);if(e.queryElevationCallback&&e.replacesTerrain){const a=await e.queryElevationCallback(t,{signal:i,maxGeometricError:0}),o=t.coordinates.map(()=>({demResolution:1,source:e})),l=await a.project(n.spatialReference,i);if(l){return{geometry:l.export(),noDataValue:Number.MAX_VALUE,sampleInfo:o}}}const a=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:a}}const l=new c(e,n.spatialReference,o);return await e.load({signal:i}),await V(l,n,i),await x(l,i),await k(l,i),$(l),G(l,i)}async function g(e,n,a){if(e=Array.isArray(e)?e:[e],0===(e=a?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new t(O,"Elevation queries require at least one elevation layer to fetch tiles from");if(!n||"extent"!==n.type)throw new t("elevation-query:invalid-extent","Invalid or undefined extent");const o={...j,...a,returnSampleInfo:!0},i=T(e[e.length-1],n,o);if(1===e.length)return i;return E(e,n,await i,o)}async function T(e,t,n,a){const o=n.signal;await e.load({signal:o});const i=t.spatialReference,s=e.tileInfo.spatialReference;i.equals(s)||(await l([{source:i,dest:s}],{signal:o}),t=r(t,s));const c=new u(e,t,n,a);await x(c,o),await k(c,o);const m=c.elevationTiles,f=c.layer.tileInfo,p=c.parameters.noDataValue;return new w({noDataValue:p,tiles:m,tileInfo:f})}async function E(e,t,n,a){if(e.pop(),!e.length)return n;const o=n.samplers.filter(e=>!e.tile.hasNoDataValues).map(e=>s(e.extent)),i=await T(e[e.length-1],t,a,o);if(0===i.samplers.length)return n;const l=n.samplers.concat(i.samplers),r=a.noDataValue;return E(e,t,new w({samplers:l,noDataValue:r}),a)}async function I(e,t,a){const o=t.geometry.coordinates,i=t.sampleInfo;n(i);const l=new Array,r=new Array;for(let n=0;n<o.length;n++){i[n].demResolution<0&&e.length&&(l.push(o[n]),r.push(n))}const s=e.pop();if(null==s||0===l.length)return t;const c=t.geometry.clone(l),u=await v(s,c,a),m=u.sampleInfo;if(!m)throw new Error("no sampleInfo");return r.forEach((e,t)=>{o[e].z=u.geometry.coordinates[t].z,i[e].demResolution=m[t].demResolution,i[e].source=m[t].source}),I(e,t,a)}async function x(e,n){"geometry"===e.type&&C(e);const a=e.parameters.demResolution;if("number"==typeof a)F(e,a);else if("finest-contiguous"===a)await R(e,n);else{if("auto"!==a)throw new t("elevation-query:invalid-dem-resolution",`Invalid dem resolution value '${a}', expected a number, "finest-contiguous" or "auto"`);await q(e,n)}}async function R(e,t){const{tileInfo:n,tilemapCache:a}=e.layer,o=A(n,a,e.parameters.minDemResolution);await D(e,o,t)}async function D(e,n,i){const l=e.layer;if(e.selectTilesAtLOD(n),n<0)return;const r=l.tilemapCache,s=e.getTilesToFetch();try{if(r&&!m(r))await a(Promise.all(s.map(e=>r.fetchAvailability(e.level,e.row,e.col,{signal:i}))),i);else if(await k(e,i),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t("elevation-query:has-unavailable-tiles","Some elevation tiles are unavailable")}catch(c){o(c),await D(e,n-1,i)}}async function q(t,n){L(t),U(t);const i=t.layer.tilemapCache;if(!i||m(i))return b(t,n);const l=t.getTilesToFetch(),r={},s=l.map(async t=>{const a=new d(0,0,0),l=await e(i.fetchAvailabilityUpsample(t.level,t.row,t.col,a,{signal:n}));!1!==l.ok?null!=t.id&&(r[t.id]=a):o(l.error)});await a(Promise.all(s),n),t.remapTiles(r)}async function b(e,t){const n=e.layer.tileInfo;await k(e,t);let a=!1;e.forEachTileToFetch((e,t)=>{n.upsampleTile(e)?a=!0:t()}),a&&await b(e,t)}function A(e,t,n=0){const a=f(e,t);let o=a.length-1;if(n>0){const t=n/i(e.spatialReference),l=a.findIndex(e=>e.resolution<t);0===l?o=0:l>0&&(o=l-1)}return o}const j={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:"auto",minDemResolution:0,signal:null};async function V(e,n,a){let o;const i=e.layer.tileInfo.spatialReference;if(n instanceof y?o=await n.project(i,a):(await l([{source:n.spatialReference,dest:i}],{signal:a}),o=r(n,i)),!o)throw new t("elevation-query:spatial-reference-mismatch",`Cannot query elevation in '${n.spatialReference.wkid}' on an elevation service in '${i.wkid}'`);e.geometry=y.fromGeometry(o)}function C(e){if(null==e.layer.fullExtent)return;const t=new p(new d(-1,-1,-1));t.sample=()=>e.parameters.noDataValue,e.outsideExtentTile=t;const n=e.layer.fullExtent;e.geometry.coordinates.forEach(e=>{const a=e.x,o=e.y;(a<n.xmin||a>n.xmax||o<n.ymin||o>n.ymax)&&(e.elevationTile=t)})}function S(e,t){const{tileInfo:n,tilemapCache:a}=e.layer,o=t/i(n.spatialReference),l=f(n,a);let r=l[0],s=0;for(let i=1;i<l.length;i++){const e=l[i];Math.abs(e.resolution-o)<Math.abs(r.resolution-o)&&(r=e,s=i)}return s}function F(e,t){const n=S(e,t);e.selectTilesAtLOD(n)}function L(e){const{tileInfo:t,tilemapCache:n}=e.layer,a=A(t,n,e.parameters.minDemResolution);e.selectTilesAtLOD(a,e.parameters.maximumAutoTileRequests)}async function k(e,t){const n=e.getTilesToFetch(),o={},i=e.parameters.cache,l=e.parameters.noDataValue,r={noDataValue:l,signal:t},s=n.map(async t=>{if(null==t.id)return;const n=`${e.layer.uid}:${t.id}:${l}`,a=i?.get(n),s=a??await e.layer.fetchTile(t.level,t.row,t.col,r);i?.put(n,s),o[t.id]=new p(t,s)});await a(Promise.allSettled(s),t),e.populateElevationTiles(o)}function U(e){const t=e.layer.tileInfo;let n=0;const a={},o=e=>{null!=e.id&&(e.id in a?a[e.id]++:(a[e.id]=1,n++))},i=e=>{if(null==e.id)return;const t=a[e.id];1===t?(delete a[e.id],n--):a[e.id]=t-1};e.forEachTileToFetch(o,i);let l=!0;for(;l&&(l=!1,e.forEachTileToFetch(a=>{n<=e.parameters.maximumAutoTileRequests||(i(a),t.upsampleTile(a)&&(l=!0),o(a))},i),l););}function $(e){e.geometry.coordinates.forEach(t=>{const n=t.elevationTile;let a=e.parameters.noDataValue;if(n){const e=n.sample(t.x,t.y);null==e?t.elevationTile=null:a=e}t.z=a})}async function G(e,t){const a=await e.geometry.project(e.outSpatialReference,t);n(a);const o={geometry:a.export(),noDataValue:e.parameters.noDataValue};return e.parameters.returnSampleInfo&&(o.sampleInfo=M(e)),e.geometry.coordinates.forEach(e=>{e.tile=null,e.elevationTile=null}),o}function M(e){const t=e.layer.tileInfo,n=i(t.spatialReference);return e.geometry.coordinates.map(a=>{let o=-1;if(a.elevationTile&&a.elevationTile!==e.outsideExtentTile){o=t.lodAt(a.elevationTile.key.level).resolution*n}return{demResolution:o,source:-1===o?void 0:e.layer}})}const O="elevation-query:invalid-layer";export{O as InvalidLayerError,g as createSampler,j as defaultOptions,A as getFinestLodIndex,v as query,h as queryAll};
5
+ import{result as e}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import{assertIsSome as a}from"../../core/maybe.js";import{whenOrAbort as n,throwIfAbortError as o}from"../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../core/units.js";import{initializeProjection as l,project as r}from"../../geometry/projectionUtils.js";import{fromExtent as s}from"../../geometry/support/aaBoundingRect.js";import{GeometryQueryContext as c,ExtentQueryContext as u,isTileInfoTilemapCache as m,getLods as f}from"./ElevationQueryContext.js";import{ElevationTile as p}from"./ElevationTile.js";import{GeometryDescriptor as y}from"./GeometryDescriptor.js";import{TileElevationSampler as d}from"./TileElevationSampler.js";import{TileKey as w}from"./TileKey.js";async function h(e,a,n){if(e=n?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice(),!e.length)throw new t(G,"Elevation queries require at least one elevation layer to fetch tiles from");const o=y.fromGeometry(a),i={...q,...n,returnSampleInfo:!0},l=e.pop(),r=await v(l,o,i),s=await I(e,r,i);return s.geometry=s.geometry.export(),n?.returnSampleInfo||delete s.sampleInfo,s}async function v(e,a,n){if(!e)throw new t(G,"Elevation queries require an elevation layer to fetch tiles from");if(!a||!(a instanceof y)&&"point"!==a.type&&"multipoint"!==a.type&&"polyline"!==a.type)throw new t("elevation-query:invalid-geometry","Only point, polyline and multipoint geometries can be used to query elevation");const o={...q,...n},i=o.signal;if("integrated-mesh-3dtiles"===e.type){const t=y.fromGeometry(a);if(e.queryElevationCallback&&e.replacesTerrain){const n=await e.queryElevationCallback(t,{signal:i,maxGeometricError:0}),l=t.coordinates.map(()=>({demResolution:1,source:e})),r=await n.project(a.spatialReference,i);if(r){if(void 0!==o.noDataValue&&o.noDataValue!==Number.MAX_VALUE)for(const e of r.coordinates)e.z===Number.MAX_VALUE&&(e.z=o.noDataValue);return{geometry:r.export(),noDataValue:o.noDataValue??Number.MAX_VALUE,sampleInfo:l}}}const n=t.coordinates.map(()=>({demResolution:-1,source:e}));return{geometry:t.export(),noDataValue:Number.MAX_VALUE,sampleInfo:n}}const l=new c(e,a.spatialReference,o);return await e.load({signal:i}),await j(l,a,i),await x(l,i),await F(l,i),M(l),$(l,i)}async function g(e,a,n){if(e=Array.isArray(e)?e:[e],0===(e=n?.ignoreInvisibleLayers?e.filter(e=>e.visible):e.slice()).length)throw new t(G,"Elevation queries require at least one elevation layer to fetch tiles from");if(!a||"extent"!==a.type)throw new t("elevation-query:invalid-extent","Invalid or undefined extent");const o={...q,...n,returnSampleInfo:!0},i=T(e[e.length-1],a,o);if(1===e.length)return i;return E(e,a,await i,o)}async function T(e,t,a,n){const o=a.signal;await e.load({signal:o});const i=t.spatialReference,s=e.tileInfo.spatialReference;i.equals(s)||(await l([{source:i,dest:s}],{signal:o}),t=r(t,s));const c=new u(e,t,a,n);await x(c,o),await F(c,o);const m=c.elevationTiles,f=c.layer.tileInfo,p=c.parameters.noDataValue;return new d({noDataValue:p,tiles:m,tileInfo:f})}async function E(e,t,a,n){if(e.pop(),!e.length)return a;const o=a.samplers.filter(e=>!e.tile.hasNoDataValues).map(e=>s(e.extent)),i=await T(e[e.length-1],t,n,o);if(0===i.samplers.length)return a;const l=a.samplers.concat(i.samplers),r=n.noDataValue;return E(e,t,new d({samplers:l,noDataValue:r}),n)}async function I(e,t,n){const o=t.geometry.coordinates,i=t.sampleInfo;a(i);const l=new Array,r=new Array;for(let a=0;a<o.length;a++){i[a].demResolution<0&&e.length&&(l.push(o[a]),r.push(a))}const s=e.pop();if(null==s||0===l.length)return t;const c=t.geometry.clone(l),u=await v(s,c,n),m=u.sampleInfo;if(!m)throw new Error("no sampleInfo");return r.forEach((e,t)=>{o[e].z=u.geometry.coordinates[t].z,i[e].demResolution=m[t].demResolution,i[e].source=m[t].source}),I(e,t,n)}async function x(e,a){"geometry"===e.type&&C(e);const n=e.parameters.demResolution;if("number"==typeof n)S(e,n);else if("finest-contiguous"===n)await R(e,a);else{if("auto"!==n)throw new t("elevation-query:invalid-dem-resolution",`Invalid dem resolution value '${n}', expected a number, "finest-contiguous" or "auto"`);await V(e,a)}}async function R(e,t){const{tileInfo:a,tilemapCache:n}=e.layer,o=b(a,n,e.parameters.minDemResolution);await D(e,o,t)}async function D(e,a,i){const l=e.layer;if(e.selectTilesAtLOD(a),a<0)return;const r=l.tilemapCache,s=e.getTilesToFetch();try{if(r&&!m(r))await n(Promise.all(s.map(e=>r.fetchAvailability(e.level,e.row,e.col,{signal:i}))),i);else if(await F(e,i),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t("elevation-query:has-unavailable-tiles","Some elevation tiles are unavailable")}catch(c){o(c),await D(e,a-1,i)}}async function V(t,a){U(t),k(t);const i=t.layer.tilemapCache;if(!i||m(i))return A(t,a);const l=t.getTilesToFetch(),r={},s=l.map(async t=>{const n=new w(0,0,0),l=await e(i.fetchAvailabilityUpsample(t.level,t.row,t.col,n,{signal:a}));!1!==l.ok?null!=t.id&&(r[t.id]=n):o(l.error)});await n(Promise.all(s),a),t.remapTiles(r)}async function A(e,t){const a=e.layer.tileInfo;await F(e,t);let n=!1;e.forEachTileToFetch((e,t)=>{a.upsampleTile(e)?n=!0:t()}),n&&await A(e,t)}function b(e,t,a=0){const n=f(e,t);let o=n.length-1;if(a>0){const t=a/i(e.spatialReference),l=n.findIndex(e=>e.resolution<t);0===l?o=0:l>0&&(o=l-1)}return o}const q={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:"auto",minDemResolution:0,signal:null};async function j(e,a,n){let o;const i=e.layer.tileInfo.spatialReference;if(a instanceof y?o=await a.project(i,n):(await l([{source:a.spatialReference,dest:i}],{signal:n}),o=r(a,i)),!o)throw new t("elevation-query:spatial-reference-mismatch",`Cannot query elevation in '${a.spatialReference.wkid}' on an elevation service in '${i.wkid}'`);e.geometry=y.fromGeometry(o)}function C(e){if(null==e.layer.fullExtent)return;const t=new p(new w(-1,-1,-1));t.sample=()=>e.parameters.noDataValue,e.outsideExtentTile=t;const a=e.layer.fullExtent;e.geometry.coordinates.forEach(e=>{const n=e.x,o=e.y;(n<a.xmin||n>a.xmax||o<a.ymin||o>a.ymax)&&(e.elevationTile=t)})}function L(e,t){const{tileInfo:a,tilemapCache:n}=e.layer,o=t/i(a.spatialReference),l=f(a,n);let r=l[0],s=0;for(let i=1;i<l.length;i++){const e=l[i];Math.abs(e.resolution-o)<Math.abs(r.resolution-o)&&(r=e,s=i)}return s}function S(e,t){const a=L(e,t);e.selectTilesAtLOD(a)}function U(e){const{tileInfo:t,tilemapCache:a}=e.layer,n=b(t,a,e.parameters.minDemResolution);e.selectTilesAtLOD(n,e.parameters.maximumAutoTileRequests)}async function F(e,t){const a=e.getTilesToFetch(),o={},i=e.parameters.cache,l=e.parameters.noDataValue,r={noDataValue:l,signal:t},s=a.map(async t=>{if(null==t.id)return;const a=`${e.layer.uid}:${t.id}:${l}`,n=i?.get(a),s=n??await e.layer.fetchTile(t.level,t.row,t.col,r);i?.put(a,s),o[t.id]=new p(t,s)});await n(Promise.allSettled(s),t),e.populateElevationTiles(o)}function k(e){const t=e.layer.tileInfo;let a=0;const n={},o=e=>{null!=e.id&&(e.id in n?n[e.id]++:(n[e.id]=1,a++))},i=e=>{if(null==e.id)return;const t=n[e.id];1===t?(delete n[e.id],a--):n[e.id]=t-1};e.forEachTileToFetch(o,i);let l=!0;for(;l&&(l=!1,e.forEachTileToFetch(n=>{a<=e.parameters.maximumAutoTileRequests||(i(n),t.upsampleTile(n)&&(l=!0),o(n))},i),l););}function M(e){e.geometry.coordinates.forEach(t=>{const a=t.elevationTile;let n=e.parameters.noDataValue;if(a){const e=a.sample(t.x,t.y);null==e?t.elevationTile=null:n=e}t.z=n})}async function $(e,t){const n=await e.geometry.project(e.outSpatialReference,t);a(n);const o={geometry:n.export(),noDataValue:e.parameters.noDataValue};return e.parameters.returnSampleInfo&&(o.sampleInfo=z(e)),e.geometry.coordinates.forEach(e=>{e.tile=null,e.elevationTile=null}),o}function z(e){const t=e.layer.tileInfo,a=i(t.spatialReference);return e.geometry.coordinates.map(n=>{let o=-1;if(n.elevationTile&&n.elevationTile!==e.outsideExtentTile){o=t.lodAt(n.elevationTile.key.level).resolution*a}return{demResolution:o,source:-1===o?void 0:e.layer}})}const G="elevation-query:invalid-layer";export{G as InvalidLayerError,g as createSampler,q as defaultOptions,b as getFinestLodIndex,v as query,h as queryAll};
@@ -1,10 +1,11 @@
1
1
  import type { Loadable, LoadableMixinProperties } from "../../core/Loadable.js";
2
+ import type { MultiOriginJSONSupportMixin, MultiOriginJSONSupportMixinProperties } from "../../core/MultiOriginJSONSupport.js";
2
3
  import type { Georeference } from "../media/types.js";
3
4
  import type { ControlPointsGeoreferenceProperties } from "./ControlPointsGeoreference.js";
4
5
  import type { ExtentAndRotationGeoreferenceProperties } from "./ExtentAndRotationGeoreference.js";
5
6
  import type { CornersGeoreferenceProperties } from "./CornersGeoreference.js";
6
7
 
7
- export interface MediaElementBaseProperties extends LoadableMixinProperties, Partial<Pick<MediaElementBase, "opacity">> {
8
+ export interface MediaElementBaseProperties extends LoadableMixinProperties, MultiOriginJSONSupportMixinProperties, Partial<Pick<MediaElementBase, "opacity">> {
8
9
  /**
9
10
  * The geographic location of the image or video element to be placed on the map. The location can be set by either specifying
10
11
  * extent and rotation of the element, the corner points of the bounding box, or by defining control points.
@@ -90,7 +91,7 @@ export interface MediaElementBaseProperties extends LoadableMixinProperties, Par
90
91
  *
91
92
  * @since 4.24
92
93
  */
93
- export default abstract class MediaElementBase extends Loadable {
94
+ export default abstract class MediaElementBase extends MediaElementBaseSuperclass {
94
95
  /**
95
96
  * The geographic location of the image or video element to be placed on the map. The location can be set by either specifying
96
97
  * extent and rotation of the element, the corner points of the bounding box, or by defining control points.
@@ -176,4 +177,5 @@ export default abstract class MediaElementBase extends Loadable {
176
177
  * @default 1
177
178
  */
178
179
  accessor opacity: number;
179
- }
180
+ }
181
+ declare const MediaElementBaseSuperclass: typeof Loadable & typeof MultiOriginJSONSupportMixin
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../core/Error.js";import{Loadable as o}from"../../core/Loadable.js";import t from"../../core/Logger.js";import{MultiOriginJSONMixin as n}from"../../core/MultiOriginJSONSupport.js";import{NumericIdentifiableMixin as s}from"../../core/NumericIdentifiable.js";import{property as i,subclass as c}from"../../core/accessorSupport/decorators.js";import p from"./ControlPointsGeoreference.js";import{toControlPointsGeoreference as l,mediaGeoreferenceProperty as a}from"./mediaUtils.js";import{reader as f}from"../../core/accessorSupport/decorators/reader.js";import{writer as u}from"../../core/accessorSupport/decorators/writer.js";let m=class extends(s(n(o))){constructor(e){super(e),this.georeference=null,this.opacity=1}readGeoreference(e){return p.fromJSON(e)}writeGeoreference(e,o,n,s){const i=s?.resources?.pendingOperations,c=()=>{const i=l(this.georeference,this.contentWidth,this.contentHeight);if(i){if("control-points"!==e.type&&t.getLogger(this).warn(`only georeference of type 'control-points' may be persisted. The georeference of type '${e.type}' has been automatically converted.`),4!==i.controlPoints?.length&&s?.messages)return void s.messages.push(new r("property:unsupported","only 'control-points' georeference with 4 control points may be persisted."));o[n]=i.write({},s)}};if("control-points"!==e.type&&!this.loaded&&i)return o[n]={},void i.push(this.load().then(c));c()}get contentWidth(){return 0}get contentHeight(){return 0}toSource(e){const{georeference:r,contentWidth:o,contentHeight:t}=this;if(null==e||null==r||0===o||0===t)return null;const n=r.toSourceNormalized(e);return null==n?null:(n.x*=o,n.y*=t,n)}};e([i(a)],m.prototype,"georeference",void 0),e([f("georeference")],m.prototype,"readGeoreference",null),e([u("georeference")],m.prototype,"writeGeoreference",null),e([i({json:{read:!1,write:!1}})],m.prototype,"opacity",void 0),m=e([c("esri.layers.support.MediaElementBase")],m);export{m as default};
5
+ import{__decorate as e}from"tslib";import r from"../../core/Error.js";import{Loadable as o}from"../../core/Loadable.js";import t from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as n}from"../../core/MultiOriginJSONSupport.js";import{NumericIdentifiableMixin as s}from"../../core/NumericIdentifiable.js";import{property as i,subclass as c}from"../../core/accessorSupport/decorators.js";import p from"./ControlPointsGeoreference.js";import{toControlPointsGeoreference as l,mediaGeoreferenceProperty as a}from"./mediaUtils.js";import{reader as f}from"../../core/accessorSupport/decorators/reader.js";import{writer as u}from"../../core/accessorSupport/decorators/writer.js";let m=class extends(s(n(o))){constructor(e){super(e),this.georeference=null,this.opacity=1}readGeoreference(e){return p.fromJSON(e)}writeGeoreference(e,o,n,s){const i=s?.resources?.pendingOperations,c=()=>{const i=l(this.georeference,this.contentWidth,this.contentHeight);if(i){if("control-points"!==e.type&&t.getLogger(this).warn(`only georeference of type 'control-points' may be persisted. The georeference of type '${e.type}' has been automatically converted.`),4!==i.controlPoints?.length&&s?.messages)return void s.messages.push(new r("property:unsupported","only 'control-points' georeference with 4 control points may be persisted."));o[n]=i.write({},s)}};if("control-points"!==e.type&&!this.loaded&&i)return o[n]={},void i.push(this.load().then(c));c()}get contentWidth(){return 0}get contentHeight(){return 0}toSource(e){const{georeference:r,contentWidth:o,contentHeight:t}=this;if(null==e||null==r||0===o||0===t)return null;const n=r.toSourceNormalized(e);return null==n?null:(n.x*=o,n.y*=t,n)}};e([i(a)],m.prototype,"georeference",void 0),e([f("georeference")],m.prototype,"readGeoreference",null),e([u("georeference")],m.prototype,"writeGeoreference",null),e([i({json:{read:!1,write:!1}})],m.prototype,"opacity",void 0),m=e([c("esri.layers.support.MediaElementBase")],m);export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{open as r}from"../../core/workers.js";import t from"./PixelBlock.js";class i{constructor(){this._workerThread=null,this._destroyed=!1}async initialize(){const e=await r("RasterWorker");this._destroyed?e.close():this._workerThread=e}destroy(){this._destroyed=!0,this._workerThread&&(this._workerThread.close(),this._workerThread=null)}async convertVectorFieldData(e,r){a(this._workerThread);const i=e.pixelBlock.getTransferableObject().pixelBlock,s=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:i,type:e.dataType},r);return s?new t(s):null}async convertPixelBlockToFeatures(e,r){a(this._workerThread);const t=await this._workerThread.invoke("convertPixelBlockToFeatures",{pixelBlock:e.pixelBlock.toJSON(),extent:e.extent.toJSON(),fieldNames:e.fieldNames,skipFactor:e.skipFactor,pixelIdOffset:e.pixelIdOffset,imageRowSize:e.imageRowSize},r),i=e.extent.spatialReference?.toJSON();return t.forEach(e=>e.geometry.spatialReference=i),t}computeStatisticsHistograms(e,r){a(this._workerThread);const{transferList:t,pixelBlock:i}=e.pixelBlock.getTransferableObject();return r?.transferPixelsToWorker&&(r={...r,transferList:t}),this._workerThread.invoke("computeStatisticsHistograms",{...e,pixelBlock:i},r)}async transformPixels(e,r){a(this._workerThread);const{transferList:i,pixelBlock:s}=e.pixelBlock.getTransferableObject();r?.transferPixelsToWorker&&(r={...r,transferList:i});const o=await this._workerThread.invoke("transformPixels",{...e,pixelBlock:s},r);return t.fromJSON(o)}async compositeBands(e,r){a(this._workerThread);const i=e.pixelBlocks.map(e=>e?.getTransferableObject()),s={pixelBlocks:i.map(e=>e?.pixelBlock)};if(r?.transferPixelsToWorker){const e=i.flatMap(e=>e?.transferList).filter(e=>null!=e);r={...r,transferList:e}}const o=await this._workerThread.invoke("compositeBands",s,r);return o?t.fromJSON(o):null}async decode(e,r){a(this._workerThread);const i=await this._workerThread.invoke("decode",e,{...r,transferList:[e.data]});return i?new t(i):null}async symbolize(e,r){a(this._workerThread);const i=e.pixelBlock?.getTransferableObject().pixelBlock,s={extent:e.extent?.toJSON(),pixelBlock:i,simpleStretchParams:e.simpleStretchParams,bandIds:e.bandIds},o=await this._workerThread.invoke("symbolize",s,r);return o?new t(o):null}async highlightPixels(e,r){a(this._workerThread);const t={pixelBlock:e.pixelBlock?.toJSON(),renderedPixelBlock:e.renderedPixelBlock?.toJSON(),highlightOptions:e.highlightOptions},i=await this._workerThread.invoke("highlightPixels",t,r);e.renderedPixelBlock.pixels=i.pixels,e.renderedPixelBlock.mask=i.mask,e.renderedPixelBlock.maskIsAlpha=i.maskIsAlpha}async updateSymbolizer(e,r){a(this._workerThread);const t=e?.rendererJSON?.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:e.toJSON(),histograms:t},r))}async updateRasterFunction(e,r){a(this._workerThread),await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:e.toJSON()},r))}async process(e,r){a(this._workerThread);const i=await this._workerThread.invoke("process",{extent:e.extent?.toJSON(),primaryPixelSizes:e.primaryPixelSizes?.map(e=>null!=e?e.toJSON():null),primaryPixelBlocks:e.primaryPixelBlocks.map(e=>e?.getTransferableObject().pixelBlock),primaryRasterIds:e.primaryRasterIds},r);return i?new t(i):null}async stretch(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,stretchParams:e.stretchParams},s=await this._workerThread.invoke("stretch",i,r);return s?new t(s):null}async split(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,tileSize:e.tileSize,maximumPyramidLevel:e.maximumPyramidLevel,useBilinear:e.useBilinear},s=await this._workerThread.invoke("split",i,r);return s&&s.forEach((e,r)=>{s.set(r,e?t.fromJSON(e):null)}),s}async clipTile(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i=e.pixelBlock.getTransferableObject().pixelBlock,s={...e,pixelBlock:i},o=await this._workerThread.invoke("clipTile",s,r);return o?t.fromJSON(o):null}async estimateStatisticsHistograms(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const t={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock};return await this._workerThread.invoke("estimateStatisticsHistograms",t,r)}async mosaicAndTransform(e,r){if(a(this._workerThread),!e?.srcPixelBlocks?.length)return{pixelBlock:null};const i=e.srcPixelBlocks.map(e=>e?.getTransferableObject()),s={...e,srcPixelBlocks:i.map(e=>e?.pixelBlock)};if(r?.transferPixelsToWorker){const e=i.flatMap(e=>e?.transferList).filter(e=>null!=e);r={...r,transferList:e}}const o=await this._workerThread.invoke("mosaicAndTransform",s,r);return{pixelBlock:o.pixelBlock?new t(o.pixelBlock):null,localNorthDirections:o.localNorthDirections}}async createFlowMesh(e,r){a(this._workerThread);const t={buffer:e.flowData.data.buffer,maskBuffer:e.flowData.mask.buffer,width:e.flowData.width,height:e.flowData.height},{meshType:i,simulationSettings:s,startInfo:o}=e,l=await this._workerThread.invoke("createFlowMesh",{meshType:i,flowData:t,simulationSettings:s,startInfo:o},{...r,transferList:[t.buffer,t.maskBuffer]});return{vertexData:new Float32Array(l.vertexBuffer),indexData:new Uint32Array(l.indexBuffer),pathData:new Float32Array(l.pathBuffer)}}getProjectionOffsetGrid(e,r){a(this._workerThread);const t=null!=e.datumTransformation?e.datumTransformation.steps.map(e=>({wkid:e.wkid,wkt:e.wkt,isInverse:e.isInverse})):null,i=null!=e.rasterTransform?e.rasterTransform.toJSON():null,s={projectedExtent:e.projectedExtent.toJSON(),srcBufferExtent:e.srcBufferExtent.toJSON(),pixelSize:e.pixelSize,hasWrapAround:e.hasWrapAround,spacing:e.spacing,datumTransformationSteps:t,rasterTransform:i,isAdaptive:e.isAdaptive,includeGCSGrid:e.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",s,r)}}function a(r){if(null==r)throw new e("raster-jobhandler:no-connection","no available worker connection")}export{i as default};
5
+ import e from"../../core/Error.js";import{open as r}from"../../core/workers.js";import t from"./PixelBlock.js";class i{constructor(){this._workerThread=null,this._destroyed=!1}async initialize(){const e=await r("RasterWorker");this._destroyed?e.close():this._workerThread=e}destroy(){this._destroyed=!0,this._workerThread&&(this._workerThread.close(),this._workerThread=null)}async convertVectorFieldData(e,r){a(this._workerThread);const i=e.pixelBlock.getTransferableObject().pixelBlock,s=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:i,type:e.dataType},r);return s?new t(s):null}async convertPixelBlockToFeatures(e,r){a(this._workerThread);const t=await this._workerThread.invoke("convertPixelBlockToFeatures",{pixelBlock:e.pixelBlock.toJSON(),extent:e.extent.toJSON(),fieldNames:e.fieldNames,skipFactor:e.skipFactor,pixelIdOffset:e.pixelIdOffset,imageRowSize:e.imageRowSize},r),i=e.extent.spatialReference?.toJSON();return t.forEach(e=>e.geometry.spatialReference=i),t}computeStatisticsHistograms(e,r){a(this._workerThread);const{transferList:t,pixelBlock:i}=e.pixelBlock.getTransferableObject();return r?.transferPixelsToWorker&&(r={...r,transferList:t}),this._workerThread.invoke("computeStatisticsHistograms",{...e,pixelBlock:i},r)}async transformPixels(e,r){a(this._workerThread);const{transferList:i,pixelBlock:s}=e.pixelBlock.getTransferableObject();r?.transferPixelsToWorker&&(r={...r,transferList:i});const o=await this._workerThread.invoke("transformPixels",{...e,pixelBlock:s},r);return t.fromJSON(o)}async compositeBands(e,r){a(this._workerThread);const i=e.pixelBlocks.map(e=>e?.getTransferableObject()),s={pixelBlocks:i.map(e=>e?.pixelBlock)};if(r?.transferPixelsToWorker){const e=i.flatMap(e=>e?.transferList).filter(e=>null!=e);r={...r,transferList:e}}const o=await this._workerThread.invoke("compositeBands",s,r);return o?t.fromJSON(o):null}async decode(e,r){a(this._workerThread);const i=await this._workerThread.invoke("decode",e,{...r,transferList:[e.data]});return i?new t(i):null}async symbolize(e,r){a(this._workerThread);const i=e.pixelBlock?.getTransferableObject().pixelBlock,s={extent:e.extent?.toJSON(),pixelBlock:i,simpleStretchParams:e.simpleStretchParams,bandIds:e.bandIds},o=await this._workerThread.invoke("symbolize",s,r);return o?new t(o):null}async highlightPixels(e,r){a(this._workerThread);const t={pixelBlock:e.pixelBlock?.toJSON(),renderedPixelBlock:e.renderedPixelBlock?.toJSON(),highlightOptions:e.highlightOptions},i=await this._workerThread.invoke("highlightPixels",t,r);e.renderedPixelBlock.pixels=i.pixels,e.renderedPixelBlock.mask=i.mask,e.renderedPixelBlock.maskIsAlpha=i.maskIsAlpha}async updateSymbolizer(e,r){a(this._workerThread);const t=e?.rendererJSON?.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:e.toJSON(),histograms:t},r))}async updateRasterFunction(e,r){a(this._workerThread),await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:e.toJSON()},r))}async process(e,r){a(this._workerThread);const i=await this._workerThread.invoke("process",{extent:e.extent?.toJSON(),primaryPixelSizes:e.primaryPixelSizes?.map(e=>null!=e?e.toJSON():null),primaryPixelBlocks:e.primaryPixelBlocks.map(e=>e?.getTransferableObject().pixelBlock),primaryRasterIds:e.primaryRasterIds,parameters:e.parameters},r);return i?new t(i):null}async stretch(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,stretchParams:e.stretchParams},s=await this._workerThread.invoke("stretch",i,r);return s?new t(s):null}async split(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock,tileSize:e.tileSize,maximumPyramidLevel:e.maximumPyramidLevel,useBilinear:e.useBilinear},s=await this._workerThread.invoke("split",i,r);return s&&s.forEach((e,r)=>{s.set(r,e?t.fromJSON(e):null)}),s}async clipTile(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const i=e.pixelBlock.getTransferableObject().pixelBlock,s={...e,pixelBlock:i},o=await this._workerThread.invoke("clipTile",s,r);return o?t.fromJSON(o):null}async estimateStatisticsHistograms(e,r){if(a(this._workerThread),!e?.pixelBlock)return null;const t={srcPixelBlock:e.pixelBlock.getTransferableObject().pixelBlock};return await this._workerThread.invoke("estimateStatisticsHistograms",t,r)}async mosaicAndTransform(e,r){if(a(this._workerThread),!e?.srcPixelBlocks?.length)return{pixelBlock:null};const i=e.srcPixelBlocks.map(e=>e?.getTransferableObject()),s={...e,srcPixelBlocks:i.map(e=>e?.pixelBlock)};if(r?.transferPixelsToWorker){const e=i.flatMap(e=>e?.transferList).filter(e=>null!=e);r={...r,transferList:e}}const o=await this._workerThread.invoke("mosaicAndTransform",s,r);return{pixelBlock:o.pixelBlock?new t(o.pixelBlock):null,localNorthDirections:o.localNorthDirections}}async createFlowMesh(e,r){a(this._workerThread);const t={buffer:e.flowData.data.buffer,maskBuffer:e.flowData.mask.buffer,width:e.flowData.width,height:e.flowData.height},{meshType:i,simulationSettings:s,startInfo:o}=e,l=await this._workerThread.invoke("createFlowMesh",{meshType:i,flowData:t,simulationSettings:s,startInfo:o},{...r,transferList:[t.buffer,t.maskBuffer]});return{vertexData:new Float32Array(l.vertexBuffer),indexData:new Uint32Array(l.indexBuffer),pathData:new Float32Array(l.pathBuffer)}}getProjectionOffsetGrid(e,r){a(this._workerThread);const t=null!=e.datumTransformation?e.datumTransformation.steps.map(e=>({wkid:e.wkid,wkt:e.wkt,isInverse:e.isInverse})):null,i=null!=e.rasterTransform?e.rasterTransform.toJSON():null,s={projectedExtent:e.projectedExtent.toJSON(),srcBufferExtent:e.srcBufferExtent.toJSON(),pixelSize:e.pixelSize,hasWrapAround:e.hasWrapAround,spacing:e.spacing,datumTransformationSteps:t,rasterTransform:i,isAdaptive:e.isAdaptive,includeGCSGrid:e.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",s,r)}}function a(r){if(null==r)throw new e("raster-jobhandler:no-connection","no available worker connection")}export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../geometry/Extent.js";import r from"../../geometry/Point.js";import t from"../../geometry/operators/support/GeographicTransformation.js";import{decode as s}from"../raster/formats/RasterCodec.js";import{transformPixels as o}from"../raster/functions/pixelTransformUtils.js";import{convertPixelBlockToFeatures as i,compositeBands as n,highlightPixels as l,split as a,clipTile as m,mosaic as c,approximateTransform as f,getLocalArithmeticNorthRotations as p}from"../raster/functions/pixelUtils.js";import{create as u}from"../raster/functions/rasterFunctionHelper.js";import{load as x,getProjectionOffsetGrid as d}from"../raster/functions/rasterProjectionHelper.js";import{computeStatisticsHistograms as S,estimateStatisticsHistograms as h}from"../raster/functions/stretchUtils.js";import{convertVectorFieldData as k,convertToLocalDirections as g}from"../raster/functions/vectorFieldUtils.js";import{readTransform as B}from"../raster/transforms/utils.js";import O from"./PixelBlock.js";import y from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as P}from"../../views/2d/engine/flow/dataUtils.js";function N(e){if(!e)return{result:null,transferList:[]};const{pixelBlock:r,transferList:t}=e.getTransferableObject();return{result:r,transferList:t}}class J{convertVectorFieldData(e){const r=O.fromJSON(e.pixelBlock),t=N(k(r,e.type));return Promise.resolve(t)}convertPixelBlockToFeatures(r){const t=i({pixelBlock:O.fromJSON(r.pixelBlock),extent:e.fromJSON(r.extent),fieldNames:r.fieldNames,skipFactor:r.skipFactor,skipSpatialReference:!0,pixelIdOffset:r.pixelIdOffset,imageRowSize:r.imageRowSize});return Promise.resolve(t)}transformPixels(e){const r=O.fromJSON(e.pixelBlock),t=o(r,e.transformType,e.transformParameters);return Promise.resolve(N(t))}computeStatisticsHistograms(e){const r=O.fromJSON(e.pixelBlock),t=S(r,{histogramSize:e.histogramSize,includeSkewnessKurtosis:e.includeSkewnessKurtosis});return Promise.resolve(t)}compositeBands(e){const r=e.pixelBlocks.map(e=>e&&O.fromJSON(e)),t=N(n(r));return Promise.resolve(t)}async decode(e){return N(await s(e.data,e.options))}symbolize(r){const t=r.pixelBlock?O.fromJSON(r.pixelBlock):null,s=r.extent?e.fromJSON(r.extent):null,o=N(this.symbolizer.symbolize({...r,pixelBlock:t,extent:s}));return Promise.resolve(o)}highlightPixels(e){const r=O.fromJSON(e.pixelBlock),t=O.fromJSON(e.renderedPixelBlock);return l({pixelBlock:r,renderedPixelBlock:t,highlightOptions:e.highlightOptions}),Promise.resolve(t.toJSON())}async updateSymbolizer(e){this.symbolizer=y.fromJSON(e.symbolizerJSON),e.histograms&&"rasterStretch"===this.symbolizer?.rendererJSON.type&&(this.symbolizer.rendererJSON.histograms=e.histograms)}async updateRasterFunction(e){this.rasterFunction=u(e.rasterFunctionJSON)}async process(t){return N(this.rasterFunction.process({extent:e.fromJSON(t.extent),primaryPixelBlocks:t.primaryPixelBlocks.map(e=>null!=e?O.fromJSON(e):null),primaryPixelSizes:t.primaryPixelSizes?.map(e=>null!=e?r.fromJSON(e):null),primaryRasterIds:t.primaryRasterIds}))}stretch(e){const r=N(this.symbolizer.simpleStretch(O.fromJSON(e.srcPixelBlock),e.stretchParams));return Promise.resolve(r)}estimateStatisticsHistograms(e){const r=h(O.fromJSON(e.srcPixelBlock));return Promise.resolve(r)}split(e){const r=a(O.fromJSON(e.srcPixelBlock),e.tileSize,e.maximumPyramidLevel??0,!1===e.useBilinear),t=[];let s;return r&&(s=new Map,r.forEach((e,r)=>{if(e){const{pixelBlock:o,transferList:i}=e.getTransferableObject();s.set(r,o),i.forEach(e=>{t.includes(e)||t.push(e)})}})),Promise.resolve({result:s,transferList:t})}clipTile(e){const r=O.fromJSON(e.pixelBlock),t=N(m({...e,pixelBlock:r}));return Promise.resolve(t)}async mosaicAndTransform(e){const r=e.srcPixelBlocks.map(e=>e?new O(e):null),t=c(r,e.srcMosaicSize,{blockWidths:e.blockWidths,alignmentInfo:e.alignmentInfo,clipOffset:e.clipOffset,clipSize:e.clipSize});let s,o=t;e.coefs&&(o=f(t,e.destDimension,e.coefs,e.sampleSpacing,e.interpolation)),e.projectDirections&&e.gcsGrid&&(s=p(e.destDimension,e.gcsGrid),o=g(o,e.isUV?"vector-uv":"vector-magdir",s));const{result:i,transferList:n}=N(o);return{result:{pixelBlock:i,localNorthDirections:s},transferList:n}}async createFlowMesh(e,r){const t={data:new Float32Array(e.flowData.buffer),mask:new Uint8Array(e.flowData.maskBuffer),width:e.flowData.width,height:e.flowData.height},{vertexData:s,indexData:o,pathData:i}=await P(e.meshType,e.simulationSettings,t,e.startInfo,r.signal);return{result:{vertexBuffer:s.buffer,indexBuffer:o.buffer,pathBuffer:i.buffer},transferList:[s.buffer,o.buffer]}}async getProjectionOffsetGrid(r){const s=e.fromJSON(r.projectedExtent),o=e.fromJSON(r.srcBufferExtent);let i=null;r.datumTransformationSteps?.length&&(i=new t({steps:r.datumTransformationSteps})),await x();const n=r.rasterTransform?B(r.rasterTransform):null;return d({...r,projectedExtent:s,srcBufferExtent:o,datumTransformation:i,rasterTransform:n})}}export{J as default};
5
+ import e from"../../geometry/Extent.js";import r from"../../geometry/Point.js";import t from"../../geometry/operators/support/GeographicTransformation.js";import{decode as s}from"../raster/formats/RasterCodec.js";import{transformPixels as o}from"../raster/functions/pixelTransformUtils.js";import{convertPixelBlockToFeatures as i,compositeBands as n,highlightPixels as l,split as a,clipTile as m,mosaic as c,approximateTransform as f,getLocalArithmeticNorthRotations as p}from"../raster/functions/pixelUtils.js";import{create as u}from"../raster/functions/rasterFunctionHelper.js";import{load as x,getProjectionOffsetGrid as d}from"../raster/functions/rasterProjectionHelper.js";import{computeStatisticsHistograms as S,estimateStatisticsHistograms as h}from"../raster/functions/stretchUtils.js";import{convertVectorFieldData as k,convertToLocalDirections as g}from"../raster/functions/vectorFieldUtils.js";import{readTransform as B}from"../raster/transforms/utils.js";import O from"./PixelBlock.js";import y from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as P}from"../../views/2d/engine/flow/dataUtils.js";function N(e){if(!e)return{result:null,transferList:[]};const{pixelBlock:r,transferList:t}=e.getTransferableObject();return{result:r,transferList:t}}class J{convertVectorFieldData(e){const r=O.fromJSON(e.pixelBlock),t=N(k(r,e.type));return Promise.resolve(t)}convertPixelBlockToFeatures(r){const t=i({pixelBlock:O.fromJSON(r.pixelBlock),extent:e.fromJSON(r.extent),fieldNames:r.fieldNames,skipFactor:r.skipFactor,skipSpatialReference:!0,pixelIdOffset:r.pixelIdOffset,imageRowSize:r.imageRowSize});return Promise.resolve(t)}transformPixels(e){const r=O.fromJSON(e.pixelBlock),t=o(r,e.transformType,e.transformParameters);return Promise.resolve(N(t))}computeStatisticsHistograms(e){const r=O.fromJSON(e.pixelBlock),t=S(r,{histogramSize:e.histogramSize,includeSkewnessKurtosis:e.includeSkewnessKurtosis});return Promise.resolve(t)}compositeBands(e){const r=e.pixelBlocks.map(e=>e&&O.fromJSON(e)),t=N(n(r));return Promise.resolve(t)}async decode(e){return N(await s(e.data,e.options))}symbolize(r){const t=r.pixelBlock?O.fromJSON(r.pixelBlock):null,s=r.extent?e.fromJSON(r.extent):null,o=N(this.symbolizer.symbolize({...r,pixelBlock:t,extent:s}));return Promise.resolve(o)}highlightPixels(e){const r=O.fromJSON(e.pixelBlock),t=O.fromJSON(e.renderedPixelBlock);return l({pixelBlock:r,renderedPixelBlock:t,highlightOptions:e.highlightOptions}),Promise.resolve(t.toJSON())}async updateSymbolizer(e){this.symbolizer=y.fromJSON(e.symbolizerJSON),e.histograms&&"rasterStretch"===this.symbolizer?.rendererJSON.type&&(this.symbolizer.rendererJSON.histograms=e.histograms)}async updateRasterFunction(e){this.rasterFunction=u(e.rasterFunctionJSON)}async process(t){return N(this.rasterFunction.process({extent:e.fromJSON(t.extent),primaryPixelBlocks:t.primaryPixelBlocks.map(e=>null!=e?O.fromJSON(e):null),primaryPixelSizes:t.primaryPixelSizes?.map(e=>null!=e?r.fromJSON(e):null),primaryRasterIds:t.primaryRasterIds},t.parameters))}stretch(e){const r=N(this.symbolizer.simpleStretch(O.fromJSON(e.srcPixelBlock),e.stretchParams));return Promise.resolve(r)}estimateStatisticsHistograms(e){const r=h(O.fromJSON(e.srcPixelBlock));return Promise.resolve(r)}split(e){const r=a(O.fromJSON(e.srcPixelBlock),e.tileSize,e.maximumPyramidLevel??0,!1===e.useBilinear),t=[];let s;return r&&(s=new Map,r.forEach((e,r)=>{if(e){const{pixelBlock:o,transferList:i}=e.getTransferableObject();s.set(r,o),i.forEach(e=>{t.includes(e)||t.push(e)})}})),Promise.resolve({result:s,transferList:t})}clipTile(e){const r=O.fromJSON(e.pixelBlock),t=N(m({...e,pixelBlock:r}));return Promise.resolve(t)}async mosaicAndTransform(e){const r=e.srcPixelBlocks.map(e=>e?new O(e):null),t=c(r,e.srcMosaicSize,{blockWidths:e.blockWidths,alignmentInfo:e.alignmentInfo,clipOffset:e.clipOffset,clipSize:e.clipSize});let s,o=t;e.coefs&&(o=f(t,e.destDimension,e.coefs,e.sampleSpacing,e.interpolation)),e.projectDirections&&e.gcsGrid&&(s=p(e.destDimension,e.gcsGrid),o=g(o,e.isUV?"vector-uv":"vector-magdir",s));const{result:i,transferList:n}=N(o);return{result:{pixelBlock:i,localNorthDirections:s},transferList:n}}async createFlowMesh(e,r){const t={data:new Float32Array(e.flowData.buffer),mask:new Uint8Array(e.flowData.maskBuffer),width:e.flowData.width,height:e.flowData.height},{vertexData:s,indexData:o,pathData:i}=await P(e.meshType,e.simulationSettings,t,e.startInfo,r.signal);return{result:{vertexBuffer:s.buffer,indexBuffer:o.buffer,pathBuffer:i.buffer},transferList:[s.buffer,o.buffer]}}async getProjectionOffsetGrid(r){const s=e.fromJSON(r.projectedExtent),o=e.fromJSON(r.srcBufferExtent);let i=null;r.datumTransformationSteps?.length&&(i=new t({steps:r.datumTransformationSteps})),await x();const n=r.rasterTransform?B(r.rasterTransform):null;return d({...r,projectedExtent:s,srcBufferExtent:o,datumTransformation:i,rasterTransform:n})}}export{J as default};
@@ -23,6 +23,7 @@ import type AttributeTableTemplate from "../../tables/AttributeTableTemplate.js"
23
23
  import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
24
24
  import type { IdentifiableMixin, IdentifiableMixinProperties } from "../../core/Identifiable.js";
25
25
  import type { Loadable, LoadableMixinProperties } from "../../core/Loadable.js";
26
+ import type { MultiOriginJSONSupportMixin, MultiOriginJSONSupportMixinProperties } from "../../core/MultiOriginJSONSupport.js";
26
27
  import type { AbortOptions } from "../../core/promiseUtils.js";
27
28
  import type { FieldDomainOptions } from "../mixins/properties/ILayerWithGetField.js";
28
29
  import type { SublayerCapabilities } from "./types.js";
@@ -47,7 +48,7 @@ import type { SimpleRendererProperties } from "../../renderers/SimpleRenderer.js
47
48
  import type { DynamicDataLayerProperties } from "../../rest/layerSources/DynamicDataLayer.js";
48
49
  import type { DynamicMapLayerProperties } from "../../rest/layerSources/DynamicMapLayer.js";
49
50
 
50
- export interface SublayerProperties extends LoadableMixinProperties, IdentifiableMixinProperties, Partial<Pick<Sublayer, "definitionExpression" | "id" | "labelsVisible" | "layer" | "legendEnabled" | "listMode" | "maxScale" | "minScale" | "opacity" | "parent" | "popupEnabled" | "sourceJSON" | "title" | "url" | "visible">> {
51
+ export interface SublayerProperties extends LoadableMixinProperties, IdentifiableMixinProperties, MultiOriginJSONSupportMixinProperties, Partial<Pick<Sublayer, "definitionExpression" | "id" | "labelsVisible" | "layer" | "legendEnabled" | "listMode" | "maxScale" | "minScale" | "opacity" | "parent" | "popupEnabled" | "sourceJSON" | "title" | "url" | "visible">> {
51
52
  /**
52
53
  * This property is used to configure the associated layer's [FeatureTable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html). It is meant to configure how the columns display within the table in regard to visibility, column order, and sorting.
53
54
  *
@@ -1120,4 +1121,4 @@ export default class Sublayer extends SublayerSuperclass {
1120
1121
  */
1121
1122
  reload(options?: AbortOptions | null | undefined): Promise<void>;
1122
1123
  }
1123
- declare const SublayerSuperclass: typeof Loadable & typeof IdentifiableMixin
1124
+ declare const SublayerSuperclass: typeof Loadable & typeof IdentifiableMixin & typeof MultiOriginJSONSupportMixin
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../PopupTemplate.js";import t from"../../request.js";import i from"../../core/Collection.js";import o from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as s}from"../../core/lang.js";import{Loadable as l}from"../../core/Loadable.js";import n from"../../core/Logger.js";import{MultiOriginJSONMixin as p}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as y}from"../../core/urlUtils.js";import{property as d,cast as c,subclass as h}from"../../core/accessorSupport/decorators.js";import{ensureInteger as f,ensureType as m,Integer as b,ensureClass as g}from"../../core/accessorSupport/ensureType.js";import{nameToId as w}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as I}from"../../core/accessorSupport/utils.js";import S from"../../geometry/Extent.js";import v from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as j}from"../../geometry/support/typeUtils.js";import O from"../../graphic/MapImageGraphicOrigin.js";import F from"../../graphic/TileGraphicOrigin.js";import x from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as L}from"../mixins/OrderedLayer.js";import{getFeatureType as D}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as _}from"./fieldUtils.js";import E from"./LabelClass.js";import{validateLabelingInfo as M}from"./labelingInfo.js";import N from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import k from"./Relationship.js";import{getFeatureLayerCapabilities as R}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as B,rendererTypes as C}from"../../renderers/support/typeUtils.js";import{parseUrl as V}from"../../rest/utils.js";import Q from"../../rest/layerSources/DynamicDataLayer.js";import U from"../../rest/layerSources/DynamicMapLayer.js";import J from"../../rest/support/AttachmentQuery.js";import $ from"../../rest/support/Query.js";import{createPopupTemplate as G}from"../../support/popupUtils.js";import{isSymbol3D as K}from"../../symbols/support/typeUtils.js";import W from"../../tables/AttributeTableTemplate.js";import{reader as z}from"../../core/accessorSupport/decorators/reader.js";import{writer as H}from"../../core/accessorSupport/decorators/writer.js";var X;function Y(e){return"esriSMS"===e?.type}function Z(e,r,t){const i=t.minimumWritableOrigin||t.origin;return!!i&&e.originIdOf(r)>=w(i)}function ee(e,r,t){const i=Z(this,r,t);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function re(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(Z(this,r,t)||this._isOverridden(r)))}}function te(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function ie(e,r,t){return{ignoreOrigin:!0,enabled:!!t?.writeSublayerStructure&&this.originIdOf(r)>2}}function oe(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||Z(this,r,t))}}let ae=0;const se=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let le=class extends(p(a(l))){static{X=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,r){r=r.layerDefinition||r;const{attachment:t,operations:{supportsQuery:i,supportsQueryAttachments:o},query:{supportsFormatPBF:a,supportsOrderBy:s,supportsPagination:l},data:{supportsAttachment:n},queryRelated:p}=R(r,this.url);return{attachment:{supportsOrderByFields:t?.supportsOrderByFields??!1,supportsResize:t?.supportsResize??!1,supportsTypeWildcard:t?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:i,supportsQueryAttachments:o},data:{supportsAttachment:n},query:{supportsFormatPBF:a,supportsOrderBy:s,supportsPagination:l},queryRelated:p}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case"tile":return new F(this.layer,this);case"map-image":return new O(this.layer,this)}}get id(){const e=this._get("id");return e??ae++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},i))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach(r=>r.layer=e)}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find(e=>"esriFieldTypeOID"===e.type);return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=f(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,a="gdbVersion"in t?t.gdbVersion:void 0,s=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new x({fieldsIndex:r,gdbVersion:a,pbfSupported:s,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(_(e,this.fieldsIndex),e)for(const r of e.symbols)if(K(r)){n.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new U({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}get sublayers(){return this._get("sublayers")}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return m(i.ofType(X),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find(e=>e.name.toLowerCase()===t);e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${y(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=I(this),r=new X;return I(r).store=e.clone(se),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return G(this,e)}createQuery(){return new $({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.sublayers)return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>2)i=new e({url:t});else{if(!r?.parsedUrl)throw new o("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=s(this.floorInfo)),this.originIdOf("labelingInfo")>2&&(i.labelingInfo=s(this.labelingInfo)),this.originIdOf("labelsVisible")>0&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>0&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>0&&(i.visible=this.visible),this.originIdOf("minScale")>0&&(i.minScale=this.minScale),this.originIdOf("maxScale")>0&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>0&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>0&&(i.popupTemplate=s(this.popupTemplate)),this.originIdOf("renderer")>2&&(i.renderer=s(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>0&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>0&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>0&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return D(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load();let t=J.from(e);const i=this.capabilities;if(!i?.data?.supportsAttachment)throw new o("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:a,objectIds:s,globalIds:l,num:n,size:p,start:u,where:y}=t;if(!i?.operations?.supportsQueryAttachments){if(a?.length>0||l?.length>0||p?.length>0||n||u||y)throw new o("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",t)}if(!(s?.length||l?.length||y))throw new o("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",t);return!i?.attachment?.supportsOrderByFields&&t.orderByFields?.length&&(t=t.clone(),t.orderByFields=null),this.queryTask.executeAttachmentQuery(t,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features){const e=this.graphicOrigin;for(const r of t.features)r.sourceLayer=this,r.origin=e}return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new o("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async reload(e){if("not-loaded"===this.loadStatus)return this.load(e).then(()=>{});const{layer:r,url:i}=this;if(!r&&!i)throw new o("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const a=r?await r.fetchSublayerInfo(this,e):(await t(i,{query:{f:"json"},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:"service",layer:r,url:V(i)}))}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=u(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce((e,r)=>(e[r]=this.originIdOf(r),e),{}),o=Object.keys(i).some(e=>i[e]>2);if(o){const e=r.drawingInfo={};if(i.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>2)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&n.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=M(this.labelingInfo,j.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:"service",layer:this.layer}))}else e.showLabels=!1;i.opacity>2&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>2&&(r.orderBy=this.orderBy?.map(e=>e.toJSON())??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)Y(e.symbol)&&r(e.symbol);"symbol"in e&&Y(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&Y(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,a;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",a="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",a="supportsModification"}const s=I(this).getDefaultOrigin();if("service"!==s){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(a&&!1===this.capabilities?.exportMap[a])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==s&&i!==r&&t?.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,e.layer=this.layer}),e.on("after-remove",({item:e})=>{e.parent=null,e.layer=null}),e.on("before-changes",e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(n.getLogger(this).error(new o("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;n.getLogger(i).error(new o("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===ie||e===te||e===ee,isTileImageLayerOverridePolicy:e=>e===re}}};e([d({type:W,json:{name:"attributeTableInfo",write:{overridePolicy:ee},origins:{"web-scene":{write:!1}}}})],le.prototype,"attributeTableTemplate",void 0),e([d({readOnly:!0})],le.prototype,"capabilities",void 0),e([z("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],le.prototype,"readCapabilities",null),e([d()],le.prototype,"defaultPopupTemplate",null),e([d({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:ee}}})],le.prototype,"definitionExpression",null),e([d({readOnly:!0})],le.prototype,"effectiveScaleRange",null),e([z("service","maxScaleRange",["minScale","maxScale"])],le.prototype,"readMaxScaleRange",null),e([d({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],le.prototype,"fields",void 0),e([d({readOnly:!0})],le.prototype,"fieldsIndex",null),e([d({type:N,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:ee},origins:{"web-scene":{read:!1,write:!1}}}})],le.prototype,"floorInfo",null),e([d({type:S,json:{read:{source:"layerDefinition.extent"}}})],le.prototype,"fullExtent",void 0),e([d({type:j.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:j.read}}}}})],le.prototype,"geometryType",void 0),e([d({type:String})],le.prototype,"globalIdField",void 0),e([z("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],le.prototype,"readGlobalIdFieldFromService",null),e([d({readOnly:!0})],le.prototype,"graphicOrigin",null),e([d({type:b,json:{write:{ignoreOrigin:!0}}})],le.prototype,"id",null),e([d({readOnly:!0})],le.prototype,"isTable",void 0),e([z("service","isTable",["type"])],le.prototype,"readIsTable",null),e([d({value:null,type:[E],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:ie}}})],le.prototype,"labelingInfo",null),e([H("labelingInfo")],le.prototype,"writeLabelingInfo",null),e([d({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:te}}})],le.prototype,"labelsVisible",null),e([d({value:null})],le.prototype,"layer",null),e([d({type:String,json:{write:{overridePolicy:re}}})],le.prototype,"layerItemId",void 0),e([d({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:oe}}})],le.prototype,"legendEnabled",void 0),e([d({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],le.prototype,"listMode",null),e([d({type:Number,value:0,json:{write:{overridePolicy:te}}})],le.prototype,"minScale",null),e([z("minScale",["minScale","layerDefinition.minScale"])],le.prototype,"readMinScale",null),e([d({type:Number,value:0,json:{write:{overridePolicy:te}}})],le.prototype,"maxScale",null),e([z("maxScale",["maxScale","layerDefinition.maxScale"])],le.prototype,"readMaxScale",null),e([d()],le.prototype,"objectIdField",void 0),e([z("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],le.prototype,"readObjectIdFieldFromService",null),e([d({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:te}}})],le.prototype,"opacity",null),e([z("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],le.prototype,"readOpacity",null),e([H("opacity")],le.prototype,"writeOpacity",null),e([d({value:null,type:[A],json:{name:"layerDefinition.orderBy",read:{reader:L},write:{overridePolicy:ee},origins:{"web-scene":{read:!1,write:!1}}}})],le.prototype,"orderBy",null),e([d({json:{type:b,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:te}}})],le.prototype,"parent",void 0),e([H("parent")],le.prototype,"writeParent",null),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:oe,writer(e,r,t){r[t]=!e}}}})],le.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:oe}}})],le.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],le.prototype,"queryTask",null),e([d({type:[k],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],le.prototype,"relationships",void 0),e([d({types:C,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ie},origins:{"web-scene":{types:B,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ie}}}}})],le.prototype,"renderer",null),e([d({types:{key:"type",base:null,typeMap:{"data-layer":Q,"map-layer":U}},cast(e){if(e){if("mapLayerId"in e)return g(U,e);if("dataSource"in e)return g(Q,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:te}}})],le.prototype,"source",null),e([d()],le.prototype,"sourceJSON",void 0),e([d({type:v,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],le.prototype,"spatialReference",void 0),e([d({value:null,json:{type:[b],write:{target:"subLayerIds",allowNull:!0,overridePolicy:te}}})],le.prototype,"sublayers",null),e([c("sublayers")],le.prototype,"castSublayers",null),e([H("sublayers")],le.prototype,"writeSublayers",null),e([d({type:String,json:{name:"name",write:{overridePolicy:oe}}})],le.prototype,"title",void 0),e([z("service","title",["name","layerDefinition.name"])],le.prototype,"readTitle",null),e([d({type:String})],le.prototype,"typeIdField",void 0),e([d({json:{read:!1},readOnly:!0,value:"sublayer"})],le.prototype,"type",void 0),e([z("typeIdField",["layerDefinition.typeIdField"])],le.prototype,"readTypeIdField",null),e([d({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],le.prototype,"types",void 0),e([d({type:String,json:{name:"layerUrl",write:{overridePolicy:re}}})],le.prototype,"url",null),e([d({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:te}}})],le.prototype,"visible",null),e([H("visible")],le.prototype,"writeVisible",null),le=X=e([h("esri.layers.support.Sublayer")],le);export{le as default};
5
+ import{__decorate as e}from"tslib";import r from"../../PopupTemplate.js";import t from"../../request.js";import i from"../../core/Collection.js";import o from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as s}from"../../core/lang.js";import{Loadable as l}from"../../core/Loadable.js";import n from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as p}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as y}from"../../core/urlUtils.js";import{property as d,cast as c,subclass as h}from"../../core/accessorSupport/decorators.js";import{ensureInteger as f,ensureType as m,Integer as b,ensureClass as g}from"../../core/accessorSupport/ensureType.js";import{nameToId as w}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as I}from"../../core/accessorSupport/utils.js";import S from"../../geometry/Extent.js";import v from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as j}from"../../geometry/support/typeUtils.js";import O from"../../graphic/MapImageGraphicOrigin.js";import F from"../../graphic/TileGraphicOrigin.js";import x from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as L}from"../mixins/OrderedLayer.js";import{getFeatureType as D}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as _}from"./fieldUtils.js";import E from"./LabelClass.js";import{validateLabelingInfo as M}from"./labelingInfo.js";import N from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import k from"./Relationship.js";import{getFeatureLayerCapabilities as R}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as B,rendererTypes as C}from"../../renderers/support/typeUtils.js";import{parseUrl as V}from"../../rest/utils.js";import Q from"../../rest/layerSources/DynamicDataLayer.js";import U from"../../rest/layerSources/DynamicMapLayer.js";import J from"../../rest/support/AttachmentQuery.js";import $ from"../../rest/support/Query.js";import{createPopupTemplate as G}from"../../support/popupUtils.js";import{isSymbol3D as K}from"../../symbols/support/typeUtils.js";import W from"../../tables/AttributeTableTemplate.js";import{reader as z}from"../../core/accessorSupport/decorators/reader.js";import{writer as H}from"../../core/accessorSupport/decorators/writer.js";var X;function Y(e){return"esriSMS"===e?.type}function Z(e,r,t){const i=t.minimumWritableOrigin||t.origin;return!!i&&e.originIdOf(r)>=w(i)}function ee(e,r,t){const i=Z(this,r,t);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function re(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(Z(this,r,t)||this._isOverridden(r)))}}function te(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function ie(e,r,t){return{ignoreOrigin:!0,enabled:!!t?.writeSublayerStructure&&this.originIdOf(r)>2}}function oe(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||Z(this,r,t))}}let ae=0;const se=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let le=class extends(p(a(l))){static{X=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,r){r=r.layerDefinition||r;const{attachment:t,operations:{supportsQuery:i,supportsQueryAttachments:o},query:{supportsFormatPBF:a,supportsOrderBy:s,supportsPagination:l},data:{supportsAttachment:n},queryRelated:p}=R(r,this.url);return{attachment:{supportsOrderByFields:t?.supportsOrderByFields??!1,supportsResize:t?.supportsResize??!1,supportsTypeWildcard:t?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:i,supportsQueryAttachments:o},data:{supportsAttachment:n},query:{supportsFormatPBF:a,supportsOrderBy:s,supportsPagination:l},queryRelated:p}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case"tile":return new F(this.layer,this);case"map-image":return new O(this.layer,this)}}get id(){const e=this._get("id");return e??ae++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},i))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach(r=>r.layer=e)}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find(e=>"esriFieldTypeOID"===e.type);return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=f(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,a="gdbVersion"in t?t.gdbVersion:void 0,s=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new x({fieldsIndex:r,gdbVersion:a,pbfSupported:s,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(_(e,this.fieldsIndex),e)for(const r of e.symbols)if(K(r)){n.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new U({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}get sublayers(){return this._get("sublayers")}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return m(i.ofType(X),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find(e=>e.name.toLowerCase()===t);e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${y(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=I(this),r=new X;return I(r).store=e.clone(se),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return G(this,e)}createQuery(){return new $({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.sublayers)return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>2)i=new e({url:t});else{if(!r?.parsedUrl)throw new o("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=s(this.floorInfo)),this.originIdOf("labelingInfo")>2&&(i.labelingInfo=s(this.labelingInfo)),this.originIdOf("labelsVisible")>0&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>0&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>0&&(i.visible=this.visible),this.originIdOf("minScale")>0&&(i.minScale=this.minScale),this.originIdOf("maxScale")>0&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>0&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>0&&(i.popupTemplate=s(this.popupTemplate)),this.originIdOf("renderer")>2&&(i.renderer=s(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>0&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>0&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>0&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return D(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load();let t=J.from(e);const i=this.capabilities;if(!i?.data?.supportsAttachment)throw new o("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:a,objectIds:s,globalIds:l,num:n,size:p,start:u,where:y}=t;if(!i?.operations?.supportsQueryAttachments){if(a?.length>0||l?.length>0||p?.length>0||n||u||y)throw new o("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",t)}if(!(s?.length||l?.length||y))throw new o("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",t);return!i?.attachment?.supportsOrderByFields&&t.orderByFields?.length&&(t=t.clone(),t.orderByFields=null),this.queryTask.executeAttachmentQuery(t,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features){const e=this.graphicOrigin;for(const r of t.features)r.sourceLayer=this,r.origin=e}return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new o("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async reload(e){if("not-loaded"===this.loadStatus)return this.load(e).then(()=>{});const{layer:r,url:i}=this;if(!r&&!i)throw new o("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const a=r?await r.fetchSublayerInfo(this,e):(await t(i,{query:{f:"json"},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:"service",layer:r,url:V(i)}))}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=u(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce((e,r)=>(e[r]=this.originIdOf(r),e),{}),o=Object.keys(i).some(e=>i[e]>2);if(o){const e=r.drawingInfo={};if(i.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>2)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&n.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=M(this.labelingInfo,j.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:"service",layer:this.layer}))}else e.showLabels=!1;i.opacity>2&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>2&&(r.orderBy=this.orderBy?.map(e=>e.toJSON())??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)Y(e.symbol)&&r(e.symbol);"symbol"in e&&Y(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&Y(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,a;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",a="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",a="supportsModification"}const s=I(this).getDefaultOrigin();if("service"!==s){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(a&&!1===this.capabilities?.exportMap[a])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==s&&i!==r&&t?.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,e.layer=this.layer}),e.on("after-remove",({item:e})=>{e.parent=null,e.layer=null}),e.on("before-changes",e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(n.getLogger(this).error(new o("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;n.getLogger(i).error(new o("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===ie||e===te||e===ee,isTileImageLayerOverridePolicy:e=>e===re}}};e([d({type:W,json:{name:"attributeTableInfo",write:{overridePolicy:ee},origins:{"web-scene":{write:!1}}}})],le.prototype,"attributeTableTemplate",void 0),e([d({readOnly:!0})],le.prototype,"capabilities",void 0),e([z("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],le.prototype,"readCapabilities",null),e([d()],le.prototype,"defaultPopupTemplate",null),e([d({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:ee}}})],le.prototype,"definitionExpression",null),e([d({readOnly:!0})],le.prototype,"effectiveScaleRange",null),e([z("service","maxScaleRange",["minScale","maxScale"])],le.prototype,"readMaxScaleRange",null),e([d({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],le.prototype,"fields",void 0),e([d({readOnly:!0})],le.prototype,"fieldsIndex",null),e([d({type:N,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:ee},origins:{"web-scene":{read:!1,write:!1}}}})],le.prototype,"floorInfo",null),e([d({type:S,json:{read:{source:"layerDefinition.extent"}}})],le.prototype,"fullExtent",void 0),e([d({type:j.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:j.read}}}}})],le.prototype,"geometryType",void 0),e([d({type:String})],le.prototype,"globalIdField",void 0),e([z("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],le.prototype,"readGlobalIdFieldFromService",null),e([d({readOnly:!0})],le.prototype,"graphicOrigin",null),e([d({type:b,json:{write:{ignoreOrigin:!0}}})],le.prototype,"id",null),e([d({readOnly:!0})],le.prototype,"isTable",void 0),e([z("service","isTable",["type"])],le.prototype,"readIsTable",null),e([d({value:null,type:[E],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:ie}}})],le.prototype,"labelingInfo",null),e([H("labelingInfo")],le.prototype,"writeLabelingInfo",null),e([d({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:te}}})],le.prototype,"labelsVisible",null),e([d({value:null})],le.prototype,"layer",null),e([d({type:String,json:{write:{overridePolicy:re}}})],le.prototype,"layerItemId",void 0),e([d({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:oe}}})],le.prototype,"legendEnabled",void 0),e([d({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],le.prototype,"listMode",null),e([d({type:Number,value:0,json:{write:{overridePolicy:te}}})],le.prototype,"minScale",null),e([z("minScale",["minScale","layerDefinition.minScale"])],le.prototype,"readMinScale",null),e([d({type:Number,value:0,json:{write:{overridePolicy:te}}})],le.prototype,"maxScale",null),e([z("maxScale",["maxScale","layerDefinition.maxScale"])],le.prototype,"readMaxScale",null),e([d()],le.prototype,"objectIdField",void 0),e([z("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],le.prototype,"readObjectIdFieldFromService",null),e([d({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:te}}})],le.prototype,"opacity",null),e([z("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],le.prototype,"readOpacity",null),e([H("opacity")],le.prototype,"writeOpacity",null),e([d({value:null,type:[A],json:{name:"layerDefinition.orderBy",read:{reader:L},write:{overridePolicy:ee},origins:{"web-scene":{read:!1,write:!1}}}})],le.prototype,"orderBy",null),e([d({json:{type:b,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:te}}})],le.prototype,"parent",void 0),e([H("parent")],le.prototype,"writeParent",null),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:oe,writer(e,r,t){r[t]=!e}}}})],le.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:oe}}})],le.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],le.prototype,"queryTask",null),e([d({type:[k],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],le.prototype,"relationships",void 0),e([d({types:C,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ie},origins:{"web-scene":{types:B,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ie}}}}})],le.prototype,"renderer",null),e([d({types:{key:"type",base:null,typeMap:{"data-layer":Q,"map-layer":U}},cast(e){if(e){if("mapLayerId"in e)return g(U,e);if("dataSource"in e)return g(Q,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:te}}})],le.prototype,"source",null),e([d()],le.prototype,"sourceJSON",void 0),e([d({type:v,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],le.prototype,"spatialReference",void 0),e([d({value:null,json:{type:[b],write:{target:"subLayerIds",allowNull:!0,overridePolicy:te}}})],le.prototype,"sublayers",null),e([c("sublayers")],le.prototype,"castSublayers",null),e([H("sublayers")],le.prototype,"writeSublayers",null),e([d({type:String,json:{name:"name",write:{overridePolicy:oe}}})],le.prototype,"title",void 0),e([z("service","title",["name","layerDefinition.name"])],le.prototype,"readTitle",null),e([d({type:String})],le.prototype,"typeIdField",void 0),e([d({json:{read:!1},readOnly:!0,value:"sublayer"})],le.prototype,"type",void 0),e([z("typeIdField",["layerDefinition.typeIdField"])],le.prototype,"readTypeIdField",null),e([d({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],le.prototype,"types",void 0),e([d({type:String,json:{name:"layerUrl",write:{overridePolicy:re}}})],le.prototype,"url",null),e([d({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:te}}})],le.prototype,"visible",null),e([H("visible")],le.prototype,"writeVisible",null),le=X=e([h("esri.layers.support.Sublayer")],le);export{le as default};
@@ -20,6 +20,7 @@ import type AttributeTableTemplate from "../../tables/AttributeTableTemplate.js"
20
20
  import type { ClonableMixin, ClonableMixinProperties } from "../../core/Clonable.js";
21
21
  import type { IdentifiableMixin, IdentifiableMixinProperties } from "../../core/Identifiable.js";
22
22
  import type { Loadable, LoadableMixinProperties } from "../../core/Loadable.js";
23
+ import type { MultiOriginJSONSupportMixin, MultiOriginJSONSupportMixinProperties } from "../../core/MultiOriginJSONSupport.js";
23
24
  import type { FeatureLayerCapabilities } from "../types.js";
24
25
  import type { EditOptions, Edits, EditsResult, FeatureEditResult } from "../graphics/editingSupport.js";
25
26
  import type { FeatureTitleOptions } from "../mixins/properties/ILayerWithGetFeatureTitle.js";
@@ -37,7 +38,7 @@ import type { ClassBreaksRendererProperties } from "../../renderers/ClassBreaksR
37
38
  import type { SimpleRendererProperties } from "../../renderers/SimpleRenderer.js";
38
39
  import type { FeatureTemplateProperties } from "./FeatureTemplate.js";
39
40
 
40
- export interface SubtypeSublayerProperties extends LoadableMixinProperties, IdentifiableMixinProperties, ClonableMixinProperties, Partial<Pick<SubtypeSublayer, "editingEnabled" | "id" | "labelsVisible" | "legendEnabled" | "listMode" | "maxScale" | "minScale" | "opacity" | "parent" | "popupEnabled" | "subtypeCode" | "title" | "visible">> {
41
+ export interface SubtypeSublayerProperties extends LoadableMixinProperties, IdentifiableMixinProperties, ClonableMixinProperties, MultiOriginJSONSupportMixinProperties, Partial<Pick<SubtypeSublayer, "editingEnabled" | "id" | "labelsVisible" | "legendEnabled" | "listMode" | "maxScale" | "minScale" | "opacity" | "parent" | "popupEnabled" | "subtypeCode" | "title" | "visible">> {
41
42
  /**
42
43
  * This property is used to configure the associated layer's [FeatureTable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html). It is meant to configure how the columns display within the table in regard to visibility, column order, and sorting.
43
44
  *
@@ -945,4 +946,4 @@ export default class SubtypeSublayer extends SubtypeSublayerSuperclass {
945
946
  */
946
947
  updateAttachment(feature: Graphic, attachmentId: number, attachment: HTMLFormElement | FormData): Promise<FeatureEditResult>;
947
948
  }
948
- declare const SubtypeSublayerSuperclass: typeof Loadable & typeof IdentifiableMixin & typeof ClonableMixin
949
+ declare const SubtypeSublayerSuperclass: typeof Loadable & typeof IdentifiableMixin & typeof ClonableMixin & typeof MultiOriginJSONSupportMixin