@itwin/core-frontend 3.6.0-dev.8 → 4.0.0-dev.2

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 (516) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuDraw.js +1 -1
  4. package/lib/cjs/AccuDraw.js.map +1 -1
  5. package/lib/cjs/BriefcaseConnection.d.ts +23 -3
  6. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  7. package/lib/cjs/BriefcaseConnection.js +11 -3
  8. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  9. package/lib/cjs/CheckpointConnection.js +1 -1
  10. package/lib/cjs/CheckpointConnection.js.map +1 -1
  11. package/lib/cjs/DisplayStyleState.d.ts +2 -2
  12. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  13. package/lib/cjs/DisplayStyleState.js +12 -4
  14. package/lib/cjs/DisplayStyleState.js.map +1 -1
  15. package/lib/cjs/IModelApp.d.ts +3 -3
  16. package/lib/cjs/IModelApp.d.ts.map +1 -1
  17. package/lib/cjs/IModelApp.js +2 -2
  18. package/lib/cjs/IModelApp.js.map +1 -1
  19. package/lib/cjs/IModelConnection.d.ts +4 -6
  20. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  21. package/lib/cjs/IModelConnection.js +6 -7
  22. package/lib/cjs/IModelConnection.js.map +1 -1
  23. package/lib/cjs/IpcApp.d.ts +1 -1
  24. package/lib/cjs/IpcApp.d.ts.map +1 -1
  25. package/lib/cjs/IpcApp.js +1 -1
  26. package/lib/cjs/IpcApp.js.map +1 -1
  27. package/lib/cjs/NativeApp.d.ts +8 -1
  28. package/lib/cjs/NativeApp.d.ts.map +1 -1
  29. package/lib/cjs/NativeApp.js +10 -6
  30. package/lib/cjs/NativeApp.js.map +1 -1
  31. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  32. package/lib/cjs/NoRenderApp.js +3 -0
  33. package/lib/cjs/NoRenderApp.js.map +1 -1
  34. package/lib/cjs/SpatialViewState.d.ts +4 -1
  35. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  36. package/lib/cjs/SpatialViewState.js +19 -5
  37. package/lib/cjs/SpatialViewState.js.map +1 -1
  38. package/lib/cjs/Tiles.d.ts +4 -0
  39. package/lib/cjs/Tiles.d.ts.map +1 -1
  40. package/lib/cjs/Tiles.js +11 -0
  41. package/lib/cjs/Tiles.js.map +1 -1
  42. package/lib/cjs/ViewContext.js +1 -1
  43. package/lib/cjs/ViewContext.js.map +1 -1
  44. package/lib/cjs/ViewManager.d.ts.map +1 -1
  45. package/lib/cjs/ViewManager.js +2 -3
  46. package/lib/cjs/ViewManager.js.map +1 -1
  47. package/lib/cjs/ViewState.d.ts +4 -5
  48. package/lib/cjs/ViewState.d.ts.map +1 -1
  49. package/lib/cjs/ViewState.js +0 -1
  50. package/lib/cjs/ViewState.js.map +1 -1
  51. package/lib/cjs/Viewport.d.ts +53 -4
  52. package/lib/cjs/Viewport.d.ts.map +1 -1
  53. package/lib/cjs/Viewport.js +82 -34
  54. package/lib/cjs/Viewport.js.map +1 -1
  55. package/lib/cjs/extension/ExtensionImpl.js +2 -2
  56. package/lib/cjs/extension/ExtensionImpl.js.map +1 -1
  57. package/lib/cjs/extension/ExtensionRuntime.js +3 -0
  58. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  59. package/lib/cjs/render/GraphicBranch.d.ts +3 -0
  60. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  61. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  62. package/lib/cjs/render/GraphicBuilder.d.ts +1 -1
  63. package/lib/cjs/render/GraphicBuilder.js +1 -1
  64. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  65. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  66. package/lib/cjs/render/MockRender.js +3 -0
  67. package/lib/cjs/render/MockRender.js.map +1 -1
  68. package/lib/cjs/render/RealityMeshParams.d.ts +3 -4
  69. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
  70. package/lib/cjs/render/RealityMeshParams.js +9 -5
  71. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  72. package/lib/cjs/render/RenderMaterial.d.ts +1 -1
  73. package/lib/cjs/render/RenderMaterial.d.ts.map +1 -1
  74. package/lib/cjs/render/RenderMaterial.js.map +1 -1
  75. package/lib/cjs/render/RenderSystem.d.ts +4 -4
  76. package/lib/cjs/render/RenderSystem.js +4 -4
  77. package/lib/cjs/render/RenderSystem.js.map +1 -1
  78. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  79. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  80. package/lib/cjs/render/RenderTarget.js +1 -1
  81. package/lib/cjs/render/RenderTarget.js.map +1 -1
  82. package/lib/cjs/render/VisibleFeature.d.ts +5 -5
  83. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  84. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +1 -1
  85. package/lib/cjs/render/primitives/DisplayParams.js +2 -1
  86. package/lib/cjs/render/primitives/DisplayParams.js.map +1 -1
  87. package/lib/cjs/render/webgl/BackgroundMapDrape.js +3 -3
  88. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  89. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  90. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  91. package/lib/cjs/render/webgl/BranchState.js +5 -0
  92. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  93. package/lib/cjs/render/webgl/CachedGeometry.d.ts +32 -0
  94. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  95. package/lib/cjs/render/webgl/CachedGeometry.js +74 -1
  96. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  97. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  98. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  99. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  100. package/lib/cjs/render/webgl/EDL.d.ts +40 -0
  101. package/lib/cjs/render/webgl/EDL.d.ts.map +1 -0
  102. package/lib/cjs/render/webgl/EDL.js +264 -0
  103. package/lib/cjs/render/webgl/EDL.js.map +1 -0
  104. package/lib/cjs/render/webgl/EdgeSettings.js +2 -2
  105. package/lib/cjs/render/webgl/FrameBuffer.d.ts +4 -0
  106. package/lib/cjs/render/webgl/FrameBuffer.d.ts.map +1 -1
  107. package/lib/cjs/render/webgl/FrameBuffer.js +9 -0
  108. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  109. package/lib/cjs/render/webgl/FrustumUniforms.d.ts +7 -0
  110. package/lib/cjs/render/webgl/FrustumUniforms.d.ts.map +1 -1
  111. package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
  112. package/lib/cjs/render/webgl/Layer.js +2 -2
  113. package/lib/cjs/render/webgl/LayerCommands.js +2 -2
  114. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  115. package/lib/cjs/render/webgl/PlanarClassifier.js +9 -8
  116. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  117. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -1
  118. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  119. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  120. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  121. package/lib/cjs/render/webgl/PointCloud.js +2 -0
  122. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  123. package/lib/cjs/render/webgl/RealityMesh.d.ts +3 -1
  124. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  125. package/lib/cjs/render/webgl/RealityMesh.js +8 -3
  126. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  127. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts +9 -0
  128. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts.map +1 -1
  129. package/lib/cjs/render/webgl/RealityModelUniforms.js +50 -0
  130. package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
  131. package/lib/cjs/render/webgl/RenderCommands.d.ts +2 -1
  132. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  133. package/lib/cjs/render/webgl/RenderCommands.js +46 -38
  134. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  135. package/lib/cjs/render/webgl/RenderFlags.d.ts +19 -17
  136. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  137. package/lib/cjs/render/webgl/RenderFlags.js +8 -6
  138. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  139. package/lib/cjs/render/webgl/SceneCompositor.d.ts +6 -1
  140. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  141. package/lib/cjs/render/webgl/SceneCompositor.js +195 -76
  142. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  143. package/lib/cjs/render/webgl/SolarShadowMap.js +3 -3
  144. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  145. package/lib/cjs/render/webgl/SurfaceGeometry.js +5 -5
  146. package/lib/cjs/render/webgl/Target.js +7 -7
  147. package/lib/cjs/render/webgl/Target.js.map +1 -1
  148. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  149. package/lib/cjs/render/webgl/Technique.js +18 -3
  150. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  151. package/lib/cjs/render/webgl/TechniqueFlags.js +4 -4
  152. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  153. package/lib/cjs/render/webgl/TechniqueId.d.ts +6 -2
  154. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  155. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  156. package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
  157. package/lib/cjs/render/webgl/UniformHandle.js +1 -2
  158. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  159. package/lib/cjs/render/webgl/VisibleTileFeatures.js +5 -5
  160. package/lib/cjs/render/webgl/glsl/EDL.d.ts +14 -0
  161. package/lib/cjs/render/webgl/glsl/EDL.d.ts.map +1 -0
  162. package/lib/cjs/render/webgl/glsl/EDL.js +260 -0
  163. package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -0
  164. package/lib/cjs/render/webgl/glsl/RenderPass.js +12 -12
  165. package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
  166. package/lib/cjs/render/webgl/glsl/Surface.js +1 -1
  167. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  168. package/lib/cjs/tile/BatchedTileIdMap.js +1 -1
  169. package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
  170. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  171. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  172. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  173. package/lib/cjs/tile/GltfReader.js +4 -2
  174. package/lib/cjs/tile/GltfReader.js.map +1 -1
  175. package/lib/cjs/tile/IModelTile.js +1 -1
  176. package/lib/cjs/tile/IModelTile.js.map +1 -1
  177. package/lib/cjs/tile/ImdlReader.d.ts +6 -0
  178. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  179. package/lib/cjs/tile/ImdlReader.js +20 -7
  180. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  181. package/lib/cjs/tile/OrbitGtTileTree.d.ts +14 -1
  182. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  183. package/lib/cjs/tile/OrbitGtTileTree.js +30 -11
  184. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  185. package/lib/cjs/tile/RealityModelTileTree.d.ts +4 -3
  186. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  187. package/lib/cjs/tile/RealityModelTileTree.js +61 -53
  188. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  189. package/lib/cjs/tile/RealityTileLoader.js +2 -2
  190. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  191. package/lib/cjs/tile/RealityTileTree.d.ts +5 -0
  192. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  193. package/lib/cjs/tile/RealityTileTree.js +9 -4
  194. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  195. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  196. package/lib/cjs/tile/TileAdmin.js +15 -7
  197. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  198. package/lib/cjs/tile/TileDrawArgs.js +1 -1
  199. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  200. package/lib/cjs/tile/TileTreeReference.d.ts +3 -0
  201. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  202. package/lib/cjs/tile/TileTreeReference.js +3 -0
  203. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  204. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +14 -1
  205. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  206. package/lib/cjs/tile/map/ArcGisUtilities.js +57 -27
  207. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  208. package/lib/cjs/tile/map/CesiumTerrainProvider.js +9 -9
  209. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  210. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +14 -2
  211. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  212. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +77 -37
  213. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  214. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  215. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  216. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +65 -52
  217. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  218. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +1 -0
  219. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  220. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -0
  221. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  222. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +1 -1
  223. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  224. package/lib/cjs/tile/map/ImageryTileTree.d.ts +26 -1
  225. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  226. package/lib/cjs/tile/map/ImageryTileTree.js +54 -4
  227. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  228. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  229. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -2
  230. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  231. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +12 -2
  232. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  233. package/lib/cjs/tile/map/MapLayerImageryProvider.js +16 -4
  234. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  235. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -1
  236. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  237. package/lib/cjs/tile/map/MapLayerSources.js +2 -0
  238. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  239. package/lib/cjs/tile/map/MapTile.d.ts +5 -0
  240. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  241. package/lib/cjs/tile/map/MapTile.js +33 -14
  242. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  243. package/lib/cjs/tile/map/MapTileTree.d.ts +42 -3
  244. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  245. package/lib/cjs/tile/map/MapTileTree.js +126 -9
  246. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  247. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +17 -0
  248. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  249. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +26 -0
  250. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  251. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +23 -68
  252. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  253. package/lib/cjs/tile/map/WmtsCapabilities.js +269 -260
  254. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  255. package/lib/cjs/tools/ClipViewTool.js +2 -2
  256. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  257. package/lib/cjs/tools/MeasureTool.js +2 -2
  258. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  259. package/lib/esm/AccuDraw.js +1 -1
  260. package/lib/esm/AccuDraw.js.map +1 -1
  261. package/lib/esm/BriefcaseConnection.d.ts +23 -3
  262. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  263. package/lib/esm/BriefcaseConnection.js +11 -3
  264. package/lib/esm/BriefcaseConnection.js.map +1 -1
  265. package/lib/esm/CheckpointConnection.js +1 -1
  266. package/lib/esm/CheckpointConnection.js.map +1 -1
  267. package/lib/esm/DisplayStyleState.d.ts +2 -2
  268. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  269. package/lib/esm/DisplayStyleState.js +12 -4
  270. package/lib/esm/DisplayStyleState.js.map +1 -1
  271. package/lib/esm/IModelApp.d.ts +3 -3
  272. package/lib/esm/IModelApp.d.ts.map +1 -1
  273. package/lib/esm/IModelApp.js +2 -2
  274. package/lib/esm/IModelApp.js.map +1 -1
  275. package/lib/esm/IModelConnection.d.ts +4 -6
  276. package/lib/esm/IModelConnection.d.ts.map +1 -1
  277. package/lib/esm/IModelConnection.js +6 -7
  278. package/lib/esm/IModelConnection.js.map +1 -1
  279. package/lib/esm/IpcApp.d.ts +1 -1
  280. package/lib/esm/IpcApp.d.ts.map +1 -1
  281. package/lib/esm/IpcApp.js +1 -1
  282. package/lib/esm/IpcApp.js.map +1 -1
  283. package/lib/esm/NativeApp.d.ts +8 -1
  284. package/lib/esm/NativeApp.d.ts.map +1 -1
  285. package/lib/esm/NativeApp.js +10 -6
  286. package/lib/esm/NativeApp.js.map +1 -1
  287. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  288. package/lib/esm/NoRenderApp.js +3 -0
  289. package/lib/esm/NoRenderApp.js.map +1 -1
  290. package/lib/esm/SpatialViewState.d.ts +4 -1
  291. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  292. package/lib/esm/SpatialViewState.js +19 -5
  293. package/lib/esm/SpatialViewState.js.map +1 -1
  294. package/lib/esm/Tiles.d.ts +4 -0
  295. package/lib/esm/Tiles.d.ts.map +1 -1
  296. package/lib/esm/Tiles.js +11 -0
  297. package/lib/esm/Tiles.js.map +1 -1
  298. package/lib/esm/ViewContext.js +1 -1
  299. package/lib/esm/ViewContext.js.map +1 -1
  300. package/lib/esm/ViewManager.d.ts.map +1 -1
  301. package/lib/esm/ViewManager.js +2 -3
  302. package/lib/esm/ViewManager.js.map +1 -1
  303. package/lib/esm/ViewState.d.ts +4 -5
  304. package/lib/esm/ViewState.d.ts.map +1 -1
  305. package/lib/esm/ViewState.js +0 -1
  306. package/lib/esm/ViewState.js.map +1 -1
  307. package/lib/esm/Viewport.d.ts +53 -4
  308. package/lib/esm/Viewport.d.ts.map +1 -1
  309. package/lib/esm/Viewport.js +83 -35
  310. package/lib/esm/Viewport.js.map +1 -1
  311. package/lib/esm/extension/ExtensionImpl.js +2 -2
  312. package/lib/esm/extension/ExtensionImpl.js.map +1 -1
  313. package/lib/esm/extension/ExtensionRuntime.js +5 -2
  314. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  315. package/lib/esm/render/GraphicBranch.d.ts +3 -0
  316. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  317. package/lib/esm/render/GraphicBranch.js.map +1 -1
  318. package/lib/esm/render/GraphicBuilder.d.ts +1 -1
  319. package/lib/esm/render/GraphicBuilder.js +1 -1
  320. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  321. package/lib/esm/render/MockRender.d.ts.map +1 -1
  322. package/lib/esm/render/MockRender.js +3 -0
  323. package/lib/esm/render/MockRender.js.map +1 -1
  324. package/lib/esm/render/RealityMeshParams.d.ts +3 -4
  325. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
  326. package/lib/esm/render/RealityMeshParams.js +10 -6
  327. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  328. package/lib/esm/render/RenderMaterial.d.ts +1 -1
  329. package/lib/esm/render/RenderMaterial.d.ts.map +1 -1
  330. package/lib/esm/render/RenderMaterial.js.map +1 -1
  331. package/lib/esm/render/RenderSystem.d.ts +4 -4
  332. package/lib/esm/render/RenderSystem.js +4 -4
  333. package/lib/esm/render/RenderSystem.js.map +1 -1
  334. package/lib/esm/render/RenderTarget.d.ts +1 -1
  335. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  336. package/lib/esm/render/RenderTarget.js +1 -1
  337. package/lib/esm/render/RenderTarget.js.map +1 -1
  338. package/lib/esm/render/VisibleFeature.d.ts +5 -5
  339. package/lib/esm/render/VisibleFeature.js.map +1 -1
  340. package/lib/esm/render/primitives/DisplayParams.d.ts.map +1 -1
  341. package/lib/esm/render/primitives/DisplayParams.js +2 -1
  342. package/lib/esm/render/primitives/DisplayParams.js.map +1 -1
  343. package/lib/esm/render/webgl/BackgroundMapDrape.js +3 -3
  344. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  345. package/lib/esm/render/webgl/BranchState.d.ts +3 -0
  346. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  347. package/lib/esm/render/webgl/BranchState.js +5 -0
  348. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  349. package/lib/esm/render/webgl/CachedGeometry.d.ts +32 -0
  350. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  351. package/lib/esm/render/webgl/CachedGeometry.js +69 -0
  352. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  353. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  354. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  355. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  356. package/lib/esm/render/webgl/EDL.d.ts +40 -0
  357. package/lib/esm/render/webgl/EDL.d.ts.map +1 -0
  358. package/lib/esm/render/webgl/EDL.js +260 -0
  359. package/lib/esm/render/webgl/EDL.js.map +1 -0
  360. package/lib/esm/render/webgl/EdgeSettings.js +2 -2
  361. package/lib/esm/render/webgl/FrameBuffer.d.ts +4 -0
  362. package/lib/esm/render/webgl/FrameBuffer.d.ts.map +1 -1
  363. package/lib/esm/render/webgl/FrameBuffer.js +9 -0
  364. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  365. package/lib/esm/render/webgl/FrustumUniforms.d.ts +7 -0
  366. package/lib/esm/render/webgl/FrustumUniforms.d.ts.map +1 -1
  367. package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
  368. package/lib/esm/render/webgl/Layer.js +2 -2
  369. package/lib/esm/render/webgl/LayerCommands.js +2 -2
  370. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  371. package/lib/esm/render/webgl/PlanarClassifier.js +9 -8
  372. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  373. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -1
  374. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  375. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  376. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  377. package/lib/esm/render/webgl/PointCloud.js +2 -0
  378. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  379. package/lib/esm/render/webgl/RealityMesh.d.ts +3 -1
  380. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  381. package/lib/esm/render/webgl/RealityMesh.js +8 -3
  382. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  383. package/lib/esm/render/webgl/RealityModelUniforms.d.ts +9 -0
  384. package/lib/esm/render/webgl/RealityModelUniforms.d.ts.map +1 -1
  385. package/lib/esm/render/webgl/RealityModelUniforms.js +50 -0
  386. package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
  387. package/lib/esm/render/webgl/RenderCommands.d.ts +2 -1
  388. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  389. package/lib/esm/render/webgl/RenderCommands.js +46 -38
  390. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  391. package/lib/esm/render/webgl/RenderFlags.d.ts +19 -17
  392. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  393. package/lib/esm/render/webgl/RenderFlags.js +8 -6
  394. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  395. package/lib/esm/render/webgl/SceneCompositor.d.ts +6 -1
  396. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  397. package/lib/esm/render/webgl/SceneCompositor.js +194 -77
  398. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  399. package/lib/esm/render/webgl/SolarShadowMap.js +3 -3
  400. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  401. package/lib/esm/render/webgl/SurfaceGeometry.js +5 -5
  402. package/lib/esm/render/webgl/Target.js +7 -7
  403. package/lib/esm/render/webgl/Target.js.map +1 -1
  404. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  405. package/lib/esm/render/webgl/Technique.js +18 -3
  406. package/lib/esm/render/webgl/Technique.js.map +1 -1
  407. package/lib/esm/render/webgl/TechniqueFlags.js +4 -4
  408. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  409. package/lib/esm/render/webgl/TechniqueId.d.ts +6 -2
  410. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  411. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  412. package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
  413. package/lib/esm/render/webgl/UniformHandle.js +1 -2
  414. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  415. package/lib/esm/render/webgl/VisibleTileFeatures.js +5 -5
  416. package/lib/esm/render/webgl/glsl/EDL.d.ts +14 -0
  417. package/lib/esm/render/webgl/glsl/EDL.d.ts.map +1 -0
  418. package/lib/esm/render/webgl/glsl/EDL.js +253 -0
  419. package/lib/esm/render/webgl/glsl/EDL.js.map +1 -0
  420. package/lib/esm/render/webgl/glsl/RenderPass.js +12 -12
  421. package/lib/esm/render/webgl/glsl/RenderPass.js.map +1 -1
  422. package/lib/esm/render/webgl/glsl/Surface.js +1 -1
  423. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  424. package/lib/esm/tile/BatchedTileIdMap.js +1 -1
  425. package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
  426. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  427. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  428. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  429. package/lib/esm/tile/GltfReader.js +4 -2
  430. package/lib/esm/tile/GltfReader.js.map +1 -1
  431. package/lib/esm/tile/IModelTile.js +1 -1
  432. package/lib/esm/tile/IModelTile.js.map +1 -1
  433. package/lib/esm/tile/ImdlReader.d.ts +6 -0
  434. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  435. package/lib/esm/tile/ImdlReader.js +20 -7
  436. package/lib/esm/tile/ImdlReader.js.map +1 -1
  437. package/lib/esm/tile/OrbitGtTileTree.d.ts +14 -1
  438. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  439. package/lib/esm/tile/OrbitGtTileTree.js +30 -12
  440. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  441. package/lib/esm/tile/RealityModelTileTree.d.ts +4 -3
  442. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  443. package/lib/esm/tile/RealityModelTileTree.js +62 -54
  444. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  445. package/lib/esm/tile/RealityTileLoader.js +2 -2
  446. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  447. package/lib/esm/tile/RealityTileTree.d.ts +5 -0
  448. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  449. package/lib/esm/tile/RealityTileTree.js +9 -4
  450. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  451. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  452. package/lib/esm/tile/TileAdmin.js +15 -7
  453. package/lib/esm/tile/TileAdmin.js.map +1 -1
  454. package/lib/esm/tile/TileDrawArgs.js +1 -1
  455. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  456. package/lib/esm/tile/TileTreeReference.d.ts +3 -0
  457. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  458. package/lib/esm/tile/TileTreeReference.js +3 -0
  459. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  460. package/lib/esm/tile/map/ArcGisUtilities.d.ts +14 -1
  461. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  462. package/lib/esm/tile/map/ArcGisUtilities.js +57 -27
  463. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  464. package/lib/esm/tile/map/CesiumTerrainProvider.js +9 -9
  465. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  466. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +14 -2
  467. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  468. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +77 -37
  469. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  470. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  471. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  472. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +65 -52
  473. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  474. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +1 -0
  475. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  476. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -0
  477. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  478. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +2 -2
  479. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  480. package/lib/esm/tile/map/ImageryTileTree.d.ts +26 -1
  481. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  482. package/lib/esm/tile/map/ImageryTileTree.js +53 -4
  483. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  484. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  485. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -2
  486. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  487. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +12 -2
  488. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  489. package/lib/esm/tile/map/MapLayerImageryProvider.js +16 -4
  490. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  491. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -1
  492. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  493. package/lib/esm/tile/map/MapLayerSources.js +2 -0
  494. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  495. package/lib/esm/tile/map/MapTile.d.ts +5 -0
  496. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  497. package/lib/esm/tile/map/MapTile.js +33 -14
  498. package/lib/esm/tile/map/MapTile.js.map +1 -1
  499. package/lib/esm/tile/map/MapTileTree.d.ts +42 -3
  500. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  501. package/lib/esm/tile/map/MapTileTree.js +126 -9
  502. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  503. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +17 -0
  504. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  505. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +26 -0
  506. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  507. package/lib/esm/tile/map/WmtsCapabilities.d.ts +23 -68
  508. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  509. package/lib/esm/tile/map/WmtsCapabilities.js +268 -259
  510. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  511. package/lib/esm/tools/ClipViewTool.js +2 -2
  512. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  513. package/lib/esm/tools/MeasureTool.js +2 -2
  514. package/lib/esm/tools/MeasureTool.js.map +1 -1
  515. package/lib/public/locales/en/iModelJs.json +2 -2
  516. package/package.json +20 -21
@@ -7,8 +7,60 @@
7
7
  */
8
8
  import { Point2d, Range2d } from "@itwin/core-geometry";
9
9
  import { request } from "../../request/Request";
10
- import { xml2json } from "xml-js";
11
10
  import { MapCartoRectangle, WmsUtilities } from "../internal"; // WmsUtilities needed for getBaseUrl
11
+ var OwsConstants;
12
+ (function (OwsConstants) {
13
+ OwsConstants["ABSTRACT_XMLTAG"] = "ows:Abstract";
14
+ OwsConstants["ACCESSCONSTRAINTS_XMLTAG"] = "ows:AccessConstraints";
15
+ OwsConstants["ALLOWEDVALUES_XMLTAG"] = "ows:AllowedValues";
16
+ OwsConstants["BOUNDINGBOX_XMLTAG"] = "ows:BoundingBox";
17
+ OwsConstants["CONSTRAINT_XMLTAG"] = "ows:Constraint";
18
+ OwsConstants["DCP_XMLTAG"] = "ows:DCP";
19
+ OwsConstants["FEES_XMLTAG"] = "ows:Fees";
20
+ OwsConstants["GET_XMLTAG"] = "ows:Get";
21
+ OwsConstants["HTTP_XMLTAG"] = "ows:HTTP";
22
+ OwsConstants["IDENTIFIER_XMLTAG"] = "ows:Identifier";
23
+ OwsConstants["KEYWORDS_XMLTAG"] = "ows:Keywords";
24
+ OwsConstants["KEYWORD_XMLTAG"] = "ows:Keyword";
25
+ OwsConstants["LOWERCORNER_XMLTAG"] = "ows:LowerCorner";
26
+ OwsConstants["OPERATION_XMLTAG"] = "ows:Operation";
27
+ OwsConstants["OPERATIONSMETADATA_XMLTAG"] = "ows:OperationsMetadata";
28
+ OwsConstants["POST_XMLTAG"] = "ows:Post";
29
+ OwsConstants["SERVICEIDENTIFICATION_XMLTAG"] = "ows:ServiceIdentification";
30
+ OwsConstants["SERVICETYPE_XMLTAG"] = "ows:ServiceType";
31
+ OwsConstants["SERVICETYPEVERSION_XMLTAG"] = "ows:ServiceTypeVersion";
32
+ OwsConstants["SUPPORTEDCRS_XMLTAG"] = "ows:SupportedCRS";
33
+ OwsConstants["TITLE_XMLTAG"] = "ows:Title";
34
+ OwsConstants["UPPERCORNER_XMLTAG"] = "ows:UpperCorner";
35
+ OwsConstants["VALUE_XMLTAG"] = "ows:Value";
36
+ OwsConstants["WGS84BOUNDINGBOX_XMLTAG"] = "ows:WGS84BoundingBox";
37
+ })(OwsConstants || (OwsConstants = {}));
38
+ var XmlConstants;
39
+ (function (XmlConstants) {
40
+ // Operations names
41
+ XmlConstants["GETCAPABILITIES"] = "GetCapabilities";
42
+ XmlConstants["GETTILE"] = "GetTile";
43
+ XmlConstants["GETFEATUREINFO"] = "GetFeatureInfo";
44
+ XmlConstants["MATRIXWIDTH_XMLTAG"] = "MatrixWidth";
45
+ XmlConstants["MATRIXHEIGHT_XMLTAG"] = "MatrixHeight";
46
+ XmlConstants["SCALEDENOMINATOR_XMLTAG"] = "ScaleDenominator";
47
+ XmlConstants["TILEHEIGHT_XMLTAG"] = "TileHeight";
48
+ XmlConstants["TILEMATRIX_XMLTAG"] = "TileMatrix";
49
+ XmlConstants["TILEMATRIXSETLINK_XMLTAG"] = "TileMatrixSetLink";
50
+ XmlConstants["TILEWIDTH_XMLTAG"] = "TileWidth";
51
+ XmlConstants["TOPLEFTCORNER_XMLTAG"] = "TopLeftCorner";
52
+ XmlConstants["WELLKNOWNSCALESET_XMLTAG"] = "WellKnownScaleSet";
53
+ XmlConstants["CONSTRAINT_NAME_FILTER"] = "Encoding";
54
+ XmlConstants["STYLE_ISDEFAULT"] = "IsDefault";
55
+ XmlConstants["XLINK_HREF"] = "xlink:href";
56
+ })(XmlConstants || (XmlConstants = {}));
57
+ /** @internal
58
+ */
59
+ export var WmtsConstants;
60
+ (function (WmtsConstants) {
61
+ WmtsConstants[WmtsConstants["GOOGLEMAPS_LEVEL0_SCALE_DENOM"] = 559082264.0287178] = "GOOGLEMAPS_LEVEL0_SCALE_DENOM";
62
+ WmtsConstants["GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME"] = "googlemapscompatible";
63
+ })(WmtsConstants || (WmtsConstants = {}));
12
64
  /**
13
65
  * fetch XML from HTTP request
14
66
  * @param url server URL to address the request
@@ -25,100 +77,53 @@ async function getXml(url, credentials) {
25
77
  const data = await request(url, options);
26
78
  return data.text;
27
79
  }
80
+ /**
81
+ * Utility function to extract an element' text content
82
+ * @return An element's text content, default to provided defaultTest value if no text is available.
83
+ * @param url server URL to address the request
84
+ * @internal
85
+ */
86
+ const getElementTextContent = (elem, qualifiedName, defaultText) => {
87
+ var _a;
88
+ const tmpElem = elem.getElementsByTagName(qualifiedName);
89
+ if (tmpElem.length > 0) {
90
+ return (_a = tmpElem[0].textContent) !== null && _a !== void 0 ? _a : defaultText;
91
+ }
92
+ else
93
+ return defaultText;
94
+ };
28
95
  /** Encapsulation of the capabilities for an WMTS server
29
96
  * @internal
30
97
  */
31
98
  export var WmtsCapability;
32
99
  (function (WmtsCapability) {
33
- class OwsConstants {
34
- }
35
- // OWS xml tag names
36
- OwsConstants.ABSTRACT_XMLTAG = "ows:Abstract";
37
- OwsConstants.ACCESSCONSTRAINTS_XMLTAG = "ows:AccessConstraints";
38
- OwsConstants.ALLOWEDVALUES_XMLTAG = "ows:AllowedValues";
39
- OwsConstants.BOUNDINGBOX_XMLTAG = "ows:BoundingBox";
40
- OwsConstants.CONSTRAINT_XMLTAG = "ows:Constraint";
41
- OwsConstants.DCP_XMLTAG = "ows:DCP";
42
- OwsConstants.FEES_XMLTAG = "ows:Fees";
43
- OwsConstants.GET_XMLTAG = "ows:Get";
44
- OwsConstants.HTTP_XMLTAG = "ows:HTTP";
45
- OwsConstants.IDENTIFIER_XMLTAG = "ows:Identifier";
46
- OwsConstants.KEYWORDS_XMLTAG = "ows:Keywords";
47
- OwsConstants.KEYWORD_XMLTAG = "ows:Keyword";
48
- OwsConstants.LOWERCORNER_XMLTAG = "ows:LowerCorner";
49
- OwsConstants.OPERATION_XMLTAG = "ows:Operation";
50
- OwsConstants.OPERATIONSMETADATA_XMLTAG = "ows:OperationsMetadata";
51
- OwsConstants.POST_XMLTAG = "ows:Post";
52
- OwsConstants.SERVICEIDENTIFICATION_XMLTAG = "ows:ServiceIdentification";
53
- OwsConstants.SERVICETYPE_XMLTAG = "ows:ServiceType";
54
- OwsConstants.SERVICETYPEVERSION_XMLTAG = "ows:ServiceTypeVersion";
55
- OwsConstants.SUPPORTEDCRS_XMLTAG = "ows:SupportedCRS";
56
- OwsConstants.TITLE_XMLTAG = "ows:Title";
57
- OwsConstants.UPPERCORNER_XMLTAG = "ows:UpperCorner";
58
- OwsConstants.VALUE_XMLTAG = "ows:Value";
59
- OwsConstants.WGS84BOUNDINGBOX_XMLTAG = "ows:WGS84BoundingBox";
60
- WmtsCapability.OwsConstants = OwsConstants;
61
- class XmlConstants {
62
- }
63
- // Operations names
64
- XmlConstants.GETCAPABILITIES = "GetCapabilities";
65
- XmlConstants.GETTILE = "GetTile";
66
- XmlConstants.GETFEATUREINFO = "GetFeatureInfo";
67
- XmlConstants.MATRIXWIDTH_XMLTAG = "MatrixWidth";
68
- XmlConstants.MATRIXHEIGHT_XMLTAG = "MatrixHeight";
69
- XmlConstants.SCALEDENOMINATOR_XMLTAG = "ScaleDenominator";
70
- XmlConstants.TILEHEIGHT_XMLTAG = "TileHeight";
71
- XmlConstants.TILEMATRIX_XMLTAG = "TileMatrix";
72
- XmlConstants.TILEMATRIXSETLINK_XMLTAG = "TileMatrixSetLink";
73
- XmlConstants.TILEWIDTH_XMLTAG = "TileWidth";
74
- XmlConstants.TOPLEFTCORNER_XMLTAG = "TopLeftCorner";
75
- XmlConstants.WELLKNOWNSCALESET_XMLTAG = "WellKnownScaleSet";
76
- XmlConstants.CONSTRAINT_NAME_FILTER = "Encoding";
77
- XmlConstants.STYLE_ISDEFAULT = "IsDefault";
78
- XmlConstants.XLINK_HREF = "xlink:href";
79
- WmtsCapability.XmlConstants = XmlConstants;
80
- class Constants {
81
- }
82
- Constants.GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178;
83
- Constants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = "googlemapscompatible";
84
- WmtsCapability.Constants = Constants;
85
100
  class ServiceIdentification {
86
- constructor(json) {
87
- var _a, _b, _c, _d, _e, _f, _g;
88
- this.abstract = (_a = json[OwsConstants.ABSTRACT_XMLTAG]) === null || _a === void 0 ? void 0 : _a._text;
89
- this.serviceType = (_b = json[OwsConstants.SERVICETYPE_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text;
90
- this.serviceTypeVersion = (_c = json[OwsConstants.SERVICETYPEVERSION_XMLTAG]) === null || _c === void 0 ? void 0 : _c._text;
91
- this.title = (_d = json[OwsConstants.TITLE_XMLTAG]) === null || _d === void 0 ? void 0 : _d._text;
92
- const keywords = (_e = json[OwsConstants.KEYWORDS_XMLTAG]) === null || _e === void 0 ? void 0 : _e[OwsConstants.KEYWORD_XMLTAG];
93
- if (keywords !== undefined) {
101
+ constructor(elem) {
102
+ this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
103
+ this.serviceType = getElementTextContent(elem, OwsConstants.SERVICETYPE_XMLTAG);
104
+ this.serviceTypeVersion = getElementTextContent(elem, OwsConstants.SERVICETYPEVERSION_XMLTAG);
105
+ this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
106
+ const keywords = elem.getElementsByTagName(OwsConstants.KEYWORDS_XMLTAG);
107
+ if (keywords.length > 0) {
108
+ const keyword = keywords[0].getElementsByTagName(OwsConstants.KEYWORD_XMLTAG);
94
109
  this.keywords = [];
95
- if (Array.isArray(keywords)) {
96
- for (const keyword of keywords) {
97
- if (keyword !== undefined) {
98
- this.keywords.push(keyword._text);
99
- }
100
- }
101
- }
102
- else {
103
- this.keywords.push(keywords._text);
110
+ for (const keyworkElem of keyword) {
111
+ const keyWordText = keyworkElem.textContent;
112
+ if (keyWordText)
113
+ this.keywords.push(keyWordText);
104
114
  }
105
115
  }
106
- this.accessConstraints = (_f = json[OwsConstants.ACCESSCONSTRAINTS_XMLTAG]) === null || _f === void 0 ? void 0 : _f._text;
107
- this.fees = (_g = json[OwsConstants.FEES_XMLTAG]) === null || _g === void 0 ? void 0 : _g._text;
116
+ this.accessConstraints = getElementTextContent(elem, OwsConstants.ACCESSCONSTRAINTS_XMLTAG);
117
+ this.fees = getElementTextContent(elem, OwsConstants.FEES_XMLTAG);
108
118
  }
109
119
  }
110
120
  WmtsCapability.ServiceIdentification = ServiceIdentification;
111
121
  class OperationMetadata {
112
- constructor(json) {
113
- const operation = (json ? json[OwsConstants.OPERATION_XMLTAG] : undefined);
114
- if (operation) {
115
- if (Array.isArray(operation)) {
116
- operation.forEach((op) => {
117
- this.readOperation(op);
118
- });
119
- }
120
- else {
121
- this.readOperation(operation);
122
+ constructor(elem) {
123
+ const operation = elem.getElementsByTagName(OwsConstants.OPERATION_XMLTAG);
124
+ if (operation.length > 0) {
125
+ for (const op of operation) {
126
+ this.readOperation(op);
122
127
  }
123
128
  }
124
129
  }
@@ -126,57 +131,64 @@ export var WmtsCapability;
126
131
  get getFeatureInfo() { return this._getFeatureInfo; }
127
132
  get getTile() { return this._getTile; }
128
133
  readOperation(op) {
129
- var _a, _b, _c;
130
- if (((_a = op === null || op === void 0 ? void 0 : op._attributes) === null || _a === void 0 ? void 0 : _a.name) === XmlConstants.GETCAPABILITIES)
134
+ const nameAttr = op.attributes.getNamedItem("name");
135
+ if (!nameAttr)
136
+ return;
137
+ if (nameAttr.textContent === XmlConstants.GETCAPABILITIES) {
131
138
  this._getCapabilities = new Operation(op);
132
- else if (((_b = op === null || op === void 0 ? void 0 : op._attributes) === null || _b === void 0 ? void 0 : _b.name) === XmlConstants.GETTILE)
139
+ }
140
+ else if (nameAttr.textContent === XmlConstants.GETTILE) {
133
141
  this._getTile = new Operation(op);
134
- else if (((_c = op === null || op === void 0 ? void 0 : op._attributes) === null || _c === void 0 ? void 0 : _c.name) === XmlConstants.GETFEATUREINFO)
142
+ }
143
+ else if (nameAttr.textContent === XmlConstants.GETFEATUREINFO) {
135
144
  this._getFeatureInfo = new Operation(op);
145
+ }
136
146
  }
137
147
  }
138
148
  WmtsCapability.OperationMetadata = OperationMetadata;
139
149
  class HttpDcp {
140
- constructor(json) {
141
- var _a, _b, _c, _d, _e, _f;
142
- this.url = json === null || json === void 0 ? void 0 : json._attributes[XmlConstants.XLINK_HREF];
143
- this.constraintName = (json ? (_b = (_a = json[OwsConstants.CONSTRAINT_XMLTAG]) === null || _a === void 0 ? void 0 : _a._attributes) === null || _b === void 0 ? void 0 : _b.name : undefined);
144
- if ((_c = this.constraintName) === null || _c === void 0 ? void 0 : _c.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER))
145
- this.encoding = (_f = (_e = (_d = json[OwsConstants.CONSTRAINT_XMLTAG]) === null || _d === void 0 ? void 0 : _d[OwsConstants.ALLOWEDVALUES_XMLTAG]) === null || _e === void 0 ? void 0 : _e[OwsConstants.VALUE_XMLTAG]) === null || _f === void 0 ? void 0 : _f._text;
150
+ constructor(elem) {
151
+ var _a, _b;
152
+ const url = elem.getAttribute(XmlConstants.XLINK_HREF);
153
+ if (url)
154
+ this.url = url !== null && url !== void 0 ? url : "";
155
+ const constraint = elem.getElementsByTagName(OwsConstants.CONSTRAINT_XMLTAG);
156
+ if (constraint.length > 0) {
157
+ this.constraintName = (_a = constraint[0].getAttribute("name")) !== null && _a !== void 0 ? _a : "";
158
+ if ((_b = this.constraintName) === null || _b === void 0 ? void 0 : _b.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER)) {
159
+ const allowedValues = constraint[0].getElementsByTagName(OwsConstants.ALLOWEDVALUES_XMLTAG);
160
+ if (allowedValues.length > 0) {
161
+ this.encoding = getElementTextContent(allowedValues[0], OwsConstants.VALUE_XMLTAG);
162
+ }
163
+ }
164
+ }
146
165
  }
147
166
  }
148
167
  WmtsCapability.HttpDcp = HttpDcp;
149
168
  class Operation {
150
- constructor(json) {
151
- var _a, _b, _c, _d;
152
- this.name = (_a = json === null || json === void 0 ? void 0 : json._attributes) === null || _a === void 0 ? void 0 : _a.name;
153
- const dcpHttp = (json ? (_b = json[OwsConstants.DCP_XMLTAG]) === null || _b === void 0 ? void 0 : _b[OwsConstants.HTTP_XMLTAG] : undefined);
154
- if (!dcpHttp)
169
+ constructor(elem) {
170
+ var _a, _b;
171
+ const name = elem.getAttribute("name");
172
+ if (name)
173
+ this.name = name;
174
+ const dcp = elem.getElementsByTagName(OwsConstants.DCP_XMLTAG);
175
+ if (!dcp || dcp.length === 0)
176
+ return;
177
+ const dcpHttp = dcp[0].getElementsByTagName(OwsConstants.HTTP_XMLTAG);
178
+ if (!dcpHttp || dcpHttp.length === 0)
155
179
  return;
156
- const get = dcpHttp[OwsConstants.GET_XMLTAG];
157
- if (get) {
180
+ const get = dcpHttp[0].getElementsByTagName(OwsConstants.GET_XMLTAG);
181
+ if (get.length > 0) {
158
182
  this._getDcpHttp = [];
159
- if (Array.isArray(get)) {
160
- get.forEach((getItem) => {
161
- var _a;
162
- (_a = this._getDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new WmtsCapability.HttpDcp(getItem));
163
- });
164
- }
165
- else {
166
- (_c = this._getDcpHttp) === null || _c === void 0 ? void 0 : _c.push(new WmtsCapability.HttpDcp(get));
183
+ for (const getItem of get) {
184
+ (_a = this._getDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new HttpDcp(getItem));
167
185
  }
168
186
  }
169
- const post = dcpHttp[OwsConstants.POST_XMLTAG];
170
- if (post) {
187
+ const post = dcpHttp[0].getElementsByTagName(OwsConstants.POST_XMLTAG);
188
+ if (post.length > 0) {
171
189
  this._postDcpHttp = [];
172
- if (Array.isArray(post)) {
173
- post.forEach((postItem) => {
174
- var _a;
175
- (_a = this._postDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new WmtsCapability.HttpDcp(postItem));
176
- });
177
- }
178
- else {
179
- (_d = this._postDcpHttp) === null || _d === void 0 ? void 0 : _d.push(new WmtsCapability.HttpDcp(post));
190
+ for (const postItem of post) {
191
+ (_b = this._postDcpHttp) === null || _b === void 0 ? void 0 : _b.push(new HttpDcp(postItem));
180
192
  }
181
193
  }
182
194
  }
@@ -185,45 +197,32 @@ export var WmtsCapability;
185
197
  }
186
198
  WmtsCapability.Operation = Operation;
187
199
  class Contents {
188
- constructor(_json) {
189
- this._json = _json;
200
+ constructor(elem) {
190
201
  this.layers = [];
191
202
  this.tileMatrixSets = [];
192
203
  // Layers
193
- const jsonLayer = _json === null || _json === void 0 ? void 0 : _json.Layer;
194
- if (jsonLayer) {
195
- if (Array.isArray(jsonLayer)) {
196
- jsonLayer.forEach((layer) => {
197
- this.layers.push(new WmtsCapability.Layer(layer));
198
- });
199
- }
200
- else {
201
- this.layers.push(new WmtsCapability.Layer(jsonLayer));
202
- }
204
+ const layer = elem.getElementsByTagName("Layer");
205
+ if (layer) {
206
+ for (const layerElem of layer)
207
+ this.layers.push(new Layer(layerElem));
203
208
  }
204
209
  // TileMatrixSet
205
- const jsonTileMatrixSet = _json === null || _json === void 0 ? void 0 : _json.TileMatrixSet;
206
- if (jsonTileMatrixSet) {
207
- if (Array.isArray(jsonTileMatrixSet)) {
208
- jsonTileMatrixSet.forEach((matrixSet) => {
209
- this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(matrixSet));
210
- });
211
- }
212
- else {
213
- this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(jsonTileMatrixSet));
214
- }
210
+ const tms = elem.querySelectorAll("Contents > TileMatrixSet");
211
+ if (tms) {
212
+ for (const tmsElem of tms)
213
+ this.tileMatrixSets.push(new TileMatrixSet(tmsElem));
215
214
  }
216
215
  }
217
216
  getGoogleMapsCompatibleTileMatrixSet() {
218
217
  const googleMapsTms = [];
219
218
  this.tileMatrixSets.forEach((tms) => {
220
219
  var _a;
221
- if ((_a = tms.wellKnownScaleSet) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(Constants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))
220
+ if ((_a = tms.wellKnownScaleSet) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))
222
221
  googleMapsTms.push(tms);
223
222
  // In case wellKnownScaleSet was not been set properly, infer from scaleDenominator
224
223
  // Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.
225
224
  else if (tms.tileMatrix.length > 0
226
- && Math.abs(tms.tileMatrix[0].scaleDenominator - Constants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1
225
+ && Math.abs(tms.tileMatrix[0].scaleDenominator - WmtsConstants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1
227
226
  && (tms.supportedCrs.includes("3857") || tms.supportedCrs.includes("900913")))
228
227
  googleMapsTms.push(tms);
229
228
  });
@@ -236,140 +235,155 @@ export var WmtsCapability;
236
235
  WmtsCapability.Contents = Contents;
237
236
  class Style {
238
237
  // TODO: LegendURL
239
- constructor(_json) {
240
- var _a, _b, _c;
241
- this._json = _json;
238
+ constructor(elem) {
242
239
  this.isDefault = false;
243
- if (!_json)
240
+ if (!elem)
244
241
  return;
245
- if ((_a = _json._attributes) === null || _a === void 0 ? void 0 : _a.isDefault)
246
- this.isDefault = _json._attributes.isDefault.toLowerCase() === "true";
247
- this.title = (_b = _json[OwsConstants.TITLE_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text;
248
- this.identifier = (_c = _json[OwsConstants.IDENTIFIER_XMLTAG]) === null || _c === void 0 ? void 0 : _c._text;
242
+ const isDefault = elem.getAttribute("isDefault");
243
+ if (isDefault)
244
+ this.isDefault = isDefault.toLowerCase() === "true";
245
+ this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
246
+ this.identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);
249
247
  }
250
248
  }
251
249
  WmtsCapability.Style = Style;
252
250
  class BoundingBox {
253
- constructor(_json) {
254
- var _a, _b, _c, _d, _e;
255
- this.crs = (_a = _json._attributes) === null || _a === void 0 ? void 0 : _a.crs;
256
- const lowerCorner = (_c = (_b = _json[OwsConstants.LOWERCORNER_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text) === null || _c === void 0 ? void 0 : _c.split(" ").map((x) => +x);
257
- const upperCorner = (_e = (_d = _json[OwsConstants.UPPERCORNER_XMLTAG]) === null || _d === void 0 ? void 0 : _d._text) === null || _e === void 0 ? void 0 : _e.split(" ").map((x) => +x);
258
- if (lowerCorner.length === 2 && upperCorner.length === 2)
259
- this.range = Range2d.createXYXY(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);
251
+ constructor(elem) {
252
+ var _a;
253
+ this.crs = (_a = elem.getAttribute("crs")) !== null && _a !== void 0 ? _a : undefined;
254
+ const lowerCorner = getElementTextContent(elem, OwsConstants.LOWERCORNER_XMLTAG);
255
+ const upperCorner = getElementTextContent(elem, OwsConstants.UPPERCORNER_XMLTAG);
256
+ if (lowerCorner && upperCorner) {
257
+ const lowerCornerArray = lowerCorner === null || lowerCorner === void 0 ? void 0 : lowerCorner.split(" ").map((x) => +x);
258
+ const upperCornerArray = upperCorner === null || upperCorner === void 0 ? void 0 : upperCorner.split(" ").map((x) => +x);
259
+ if (lowerCornerArray && lowerCornerArray.length === 2 && upperCornerArray && upperCornerArray.length === 2)
260
+ this.range = Range2d.createXYXY(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);
261
+ }
260
262
  }
261
263
  }
262
264
  WmtsCapability.BoundingBox = BoundingBox;
263
265
  class TileMatrixSetLimits {
264
- constructor(_json) {
265
- this.tileMatrix = _json.TileMatrix;
266
- if (_json.MinTileRow !== undefined && _json.MaxTileRow !== undefined && _json.MinTileCol !== undefined && _json.MaxTileCol)
267
- this.limits = Range2d.createXYXY(Number(_json.MinTileCol._text), Number(_json.MinTileRow._text), Number(_json.MaxTileCol._text), Number(_json.MaxTileRow._text));
266
+ constructor(elem) {
267
+ this.tileMatrix = getElementTextContent(elem, "TileMatrix");
268
+ const minTileRow = getElementTextContent(elem, "MinTileRow");
269
+ const maxTileRow = getElementTextContent(elem, "MaxTileRow");
270
+ const minTileCol = getElementTextContent(elem, "MinTileCol");
271
+ const maxTileCol = getElementTextContent(elem, "MaxTileCol");
272
+ if (minTileRow !== undefined && maxTileRow !== undefined && minTileCol !== undefined && maxTileCol)
273
+ this.limits = Range2d.createXYXY(Number(minTileCol), Number(minTileRow), Number(maxTileCol), Number(maxTileRow));
268
274
  }
269
275
  }
270
276
  WmtsCapability.TileMatrixSetLimits = TileMatrixSetLimits;
271
277
  class TileMatrixSetLink {
272
- constructor(_json) {
273
- var _a, _b;
278
+ constructor(elem) {
274
279
  this.tileMatrixSetLimits = new Array();
275
- this.tileMatrixSet = (((_a = _json === null || _json === void 0 ? void 0 : _json.TileMatrixSet) === null || _a === void 0 ? void 0 : _a._text) ? _json.TileMatrixSet._text : "");
276
- const tileMatrixLimits = (_b = _json === null || _json === void 0 ? void 0 : _json.TileMatrixSetLimits) === null || _b === void 0 ? void 0 : _b.TileMatrixLimits;
277
- if (Array.isArray(tileMatrixLimits))
278
- tileMatrixLimits.forEach((tml) => this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tml)));
280
+ this.tileMatrixSet = getElementTextContent(elem, "TileMatrixSet", "");
281
+ const tileMatrixLimitsRoot = elem.getElementsByTagName("TileMatrixSetLimits");
282
+ if (tileMatrixLimitsRoot.length > 0) {
283
+ const tileMatrixLimits = tileMatrixLimitsRoot[0].getElementsByTagName("TileMatrixSetLimits");
284
+ for (const tmsl of tileMatrixLimits) {
285
+ this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tmsl));
286
+ }
287
+ }
279
288
  }
280
289
  }
281
290
  WmtsCapability.TileMatrixSetLink = TileMatrixSetLink;
282
291
  class TileMatrixSet {
283
- constructor(_json) {
284
- var _a, _b, _c, _d, _e;
292
+ constructor(elem) {
285
293
  this.tileMatrix = [];
286
- this.identifier = (_a = _json[OwsConstants.IDENTIFIER_XMLTAG]) === null || _a === void 0 ? void 0 : _a._text;
287
- if (!this.identifier)
294
+ const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);
295
+ if (identifier)
296
+ this.identifier = identifier;
297
+ else
288
298
  throw new Error("No Identifier found.");
289
- this.title = (_b = _json[OwsConstants.TITLE_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text;
290
- this.abstract = (_c = _json[OwsConstants.ABSTRACT_XMLTAG]) === null || _c === void 0 ? void 0 : _c._text;
291
- this.supportedCrs = (_d = _json[OwsConstants.SUPPORTEDCRS_XMLTAG]) === null || _d === void 0 ? void 0 : _d._text;
292
- if (!this.supportedCrs)
299
+ this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
300
+ this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
301
+ const supportedCrs = getElementTextContent(elem, OwsConstants.SUPPORTEDCRS_XMLTAG);
302
+ if (supportedCrs)
303
+ this.supportedCrs = supportedCrs;
304
+ else
293
305
  throw new Error("No supported CRS found.");
294
- this.wellKnownScaleSet = (_e = _json[XmlConstants.WELLKNOWNSCALESET_XMLTAG]) === null || _e === void 0 ? void 0 : _e._text;
306
+ this.wellKnownScaleSet = getElementTextContent(elem, XmlConstants.WELLKNOWNSCALESET_XMLTAG, "");
295
307
  // TileMatrix:
296
308
  // TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.
297
- const tileMatrix = _json[XmlConstants.TILEMATRIX_XMLTAG];
298
- if (!tileMatrix)
309
+ const tileMatrix = elem.getElementsByTagName(XmlConstants.TILEMATRIX_XMLTAG);
310
+ if (tileMatrix.length === 0)
299
311
  throw new Error("No matrix set link found for WMTS layer");
300
- if (Array.isArray(tileMatrix)) {
301
- tileMatrix.forEach((tm) => {
302
- this.tileMatrix.push(new TileMatrix(tm));
303
- });
304
- }
305
- else {
306
- this.tileMatrix.push(new TileMatrix(tileMatrix));
312
+ for (const tm of tileMatrix) {
313
+ this.tileMatrix.push(new TileMatrix(tm));
307
314
  }
308
315
  }
309
316
  }
310
317
  WmtsCapability.TileMatrixSet = TileMatrixSet;
311
318
  class TileMatrix {
312
- constructor(_json) {
313
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
314
- if (!_json)
315
- throw new Error("Invalid json data provided");
316
- this.identifier = (_a = _json[OwsConstants.IDENTIFIER_XMLTAG]) === null || _a === void 0 ? void 0 : _a._text;
317
- if (!this.identifier)
319
+ constructor(elem) {
320
+ var _a;
321
+ const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, "");
322
+ if (identifier)
323
+ this.identifier = identifier;
324
+ else
318
325
  throw new Error("No Identifier found.");
319
- this.title = (_b = _json[OwsConstants.TITLE_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text;
320
- this.abstract = (_c = _json[OwsConstants.ABSTRACT_XMLTAG]) === null || _c === void 0 ? void 0 : _c._text;
326
+ this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
327
+ this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
321
328
  // Scale denominator
322
- const scaleDenomStr = (_d = _json[XmlConstants.SCALEDENOMINATOR_XMLTAG]) === null || _d === void 0 ? void 0 : _d._text;
323
- if (!scaleDenomStr)
329
+ const scaleDenom = getElementTextContent(elem, XmlConstants.SCALEDENOMINATOR_XMLTAG, "");
330
+ if (!scaleDenom)
324
331
  throw new Error("No scale denominator found on TileMatrix.");
325
- this.scaleDenominator = +scaleDenomStr;
332
+ this.scaleDenominator = +scaleDenom;
326
333
  // Top left corner
327
- const topLeftCorner = (_f = (_e = _json[XmlConstants.TOPLEFTCORNER_XMLTAG]) === null || _e === void 0 ? void 0 : _e._text) === null || _f === void 0 ? void 0 : _f.split(" ").map((x) => +x);
334
+ const topLeftCorner = (_a = getElementTextContent(elem, XmlConstants.TOPLEFTCORNER_XMLTAG, "")) === null || _a === void 0 ? void 0 : _a.split(" ").map((x) => +x);
328
335
  if ((topLeftCorner === null || topLeftCorner === void 0 ? void 0 : topLeftCorner.length) !== 2)
329
336
  throw new Error("No TopLeftCorner found on TileMatrix.");
330
337
  this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);
331
338
  // Tile Width
332
- const tileWidthStr = (_g = _json[XmlConstants.TILEWIDTH_XMLTAG]) === null || _g === void 0 ? void 0 : _g._text;
333
- if (!tileWidthStr)
339
+ const tileWidth = getElementTextContent(elem, XmlConstants.TILEWIDTH_XMLTAG);
340
+ if (!tileWidth)
334
341
  throw new Error("No tile width found on TileMatrix.");
335
- this.tileWidth = +tileWidthStr;
342
+ this.tileWidth = +tileWidth;
336
343
  // Tile Height
337
- const tileHeightStr = (_h = _json[XmlConstants.TILEHEIGHT_XMLTAG]) === null || _h === void 0 ? void 0 : _h._text;
338
- if (!tileHeightStr)
339
- throw new Error("No tile eight found on TileMatrix.");
340
- this.tileHeight = +tileHeightStr;
344
+ const tileHeight = getElementTextContent(elem, XmlConstants.TILEHEIGHT_XMLTAG);
345
+ if (!tileHeight)
346
+ throw new Error("No tile height found on TileMatrix.");
347
+ this.tileHeight = +tileHeight;
341
348
  // Matrix Width
342
- const matrixWidthStr = (_j = _json[XmlConstants.MATRIXWIDTH_XMLTAG]) === null || _j === void 0 ? void 0 : _j._text;
343
- if (!matrixWidthStr)
349
+ const matrixWidth = getElementTextContent(elem, XmlConstants.MATRIXWIDTH_XMLTAG);
350
+ if (!matrixWidth)
344
351
  throw new Error("No tile width found on TileMatrix.");
345
- this.matrixWidth = +matrixWidthStr;
352
+ this.matrixWidth = +matrixWidth;
346
353
  // Matrix Height
347
- const matrixHeightStr = (_k = _json[XmlConstants.MATRIXHEIGHT_XMLTAG]) === null || _k === void 0 ? void 0 : _k._text;
348
- if (!matrixHeightStr)
349
- throw new Error("No tile eight found on TileMatrix.");
350
- this.matrixHeight = +matrixHeightStr;
354
+ const matrixHeight = getElementTextContent(elem, XmlConstants.MATRIXHEIGHT_XMLTAG);
355
+ if (!matrixHeight)
356
+ throw new Error("No tile height found on TileMatrix.");
357
+ this.matrixHeight = +matrixHeight;
351
358
  }
352
359
  }
353
360
  WmtsCapability.TileMatrix = TileMatrix;
354
361
  class Layer {
355
- constructor(_json) {
356
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
362
+ constructor(elem) {
363
+ var _a, _b, _c, _d, _e, _f;
357
364
  this.styles = [];
358
365
  this.tileMatrixSetLinks = [];
359
- if (!_json)
360
- throw new Error("Invalid json data provided");
361
- this.identifier = (_a = _json[OwsConstants.IDENTIFIER_XMLTAG]) === null || _a === void 0 ? void 0 : _a._text;
362
- this.title = (_b = _json[OwsConstants.TITLE_XMLTAG]) === null || _b === void 0 ? void 0 : _b._text;
363
- this.format = (_c = _json.Format) === null || _c === void 0 ? void 0 : _c._text;
366
+ const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, "");
367
+ if (identifier)
368
+ this.identifier = identifier;
369
+ else
370
+ throw new Error("No Identifier found.");
371
+ this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
372
+ this.format = getElementTextContent(elem, "Format");
364
373
  // BoundingBox
365
- this.boundingBox = (_json[OwsConstants.BOUNDINGBOX_XMLTAG] ? new BoundingBox(_json[OwsConstants.BOUNDINGBOX_XMLTAG]) : undefined);
366
- // WSG84 BoundingBox
367
- const lowerCorner = (_f = (_e = (_d = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]) === null || _d === void 0 ? void 0 : _d[OwsConstants.LOWERCORNER_XMLTAG]) === null || _e === void 0 ? void 0 : _e._text) === null || _f === void 0 ? void 0 : _f.split(" ").map((x) => +x);
368
- const upperCorner = (_j = (_h = (_g = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]) === null || _g === void 0 ? void 0 : _g[OwsConstants.UPPERCORNER_XMLTAG]) === null || _h === void 0 ? void 0 : _h._text) === null || _j === void 0 ? void 0 : _j.split(" ").map((x) => +x);
369
- if ((lowerCorner === null || lowerCorner === void 0 ? void 0 : lowerCorner.length) === 2 && (upperCorner === null || upperCorner === void 0 ? void 0 : upperCorner.length) === 2)
370
- this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);
374
+ const boundingBox = elem.getElementsByTagName(OwsConstants.BOUNDINGBOX_XMLTAG);
375
+ if (boundingBox.length > 0)
376
+ this.boundingBox = new BoundingBox(boundingBox[0]);
377
+ let lowerCornerArray, upperCornerArray;
378
+ const bbox = elem.getElementsByTagName(OwsConstants.WGS84BOUNDINGBOX_XMLTAG);
379
+ if (bbox.length > 0) {
380
+ lowerCornerArray = (_a = getElementTextContent(bbox[0], OwsConstants.LOWERCORNER_XMLTAG)) === null || _a === void 0 ? void 0 : _a.split(" ").map((x) => +x);
381
+ upperCornerArray = (_b = getElementTextContent(bbox[0], OwsConstants.UPPERCORNER_XMLTAG)) === null || _b === void 0 ? void 0 : _b.split(" ").map((x) => +x);
382
+ }
383
+ if ((lowerCornerArray === null || lowerCornerArray === void 0 ? void 0 : lowerCornerArray.length) === 2 && (upperCornerArray === null || upperCornerArray === void 0 ? void 0 : upperCornerArray.length) === 2)
384
+ this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);
371
385
  // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box
372
- if (!this.wsg84BoundingBox && (((_l = (_k = this.boundingBox) === null || _k === void 0 ? void 0 : _k.crs) === null || _l === void 0 ? void 0 : _l.includes("EPSG:4326")) || ((_o = (_m = this.boundingBox) === null || _m === void 0 ? void 0 : _m.crs) === null || _o === void 0 ? void 0 : _o.includes("CRS:84")))) {
386
+ if (!this.wsg84BoundingBox && (((_d = (_c = this.boundingBox) === null || _c === void 0 ? void 0 : _c.crs) === null || _d === void 0 ? void 0 : _d.includes("EPSG:4326")) || ((_f = (_e = this.boundingBox) === null || _e === void 0 ? void 0 : _e.crs) === null || _f === void 0 ? void 0 : _f.includes("CRS:84")))) {
373
387
  const range = this.boundingBox.range;
374
388
  if (range)
375
389
  this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(range.low.x, range.low.y, range.high.x, range.high.y);
@@ -377,53 +391,48 @@ export var WmtsCapability;
377
391
  this.wsg84BoundingBox = MapCartoRectangle.createMaximum();
378
392
  }
379
393
  // Style
380
- if (Array.isArray(_json.Style)) {
381
- _json.Style.forEach((style) => {
382
- this.styles.push(new Style(style));
383
- });
384
- }
385
- else if (_json.Style) {
386
- this.styles.push(new Style(_json.Style));
394
+ const style = elem.getElementsByTagName("Style");
395
+ if (style.length > 0) {
396
+ for (const styleElem of style)
397
+ this.styles.push(new Style(styleElem));
387
398
  }
388
399
  // TileMatrixSetLink
389
400
  // TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.
390
- const tileMatrixSetLink = _json[XmlConstants.TILEMATRIXSETLINK_XMLTAG];
391
- if (!tileMatrixSetLink)
401
+ const tileMatrixSetLink = elem.getElementsByTagName(XmlConstants.TILEMATRIXSETLINK_XMLTAG);
402
+ if (tileMatrixSetLink.length === 0)
392
403
  throw new Error("No matrix set link found for WMTS layer");
393
- if (Array.isArray(tileMatrixSetLink)) {
394
- tileMatrixSetLink.forEach((tmsl) => {
395
- this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));
396
- });
397
- }
398
- else {
399
- this.tileMatrixSetLinks.push(new TileMatrixSetLink(tileMatrixSetLink));
400
- }
404
+ for (const tmsl of tileMatrixSetLink)
405
+ this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));
401
406
  }
402
407
  }
403
408
  WmtsCapability.Layer = Layer;
404
409
  })(WmtsCapability || (WmtsCapability = {}));
405
410
  /** @internal */
406
411
  export class WmtsCapabilities {
407
- constructor(_json) {
408
- var _a, _b, _c, _d, _e, _f, _g;
409
- this._json = _json;
410
- // Capabilities version
411
- this.version = (_a = _json === null || _json === void 0 ? void 0 : _json.Capabilities) === null || _a === void 0 ? void 0 : _a._attributes.version;
412
- // Service Identification
413
- if ((_b = _json === null || _json === void 0 ? void 0 : _json.Capabilities) === null || _b === void 0 ? void 0 : _b[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG])
414
- this.serviceIdentification = new WmtsCapability.ServiceIdentification((_c = _json === null || _json === void 0 ? void 0 : _json.Capabilities) === null || _c === void 0 ? void 0 : _c[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG]);
415
- // Operations metadata
416
- if ((_d = _json === null || _json === void 0 ? void 0 : _json.Capabilities) === null || _d === void 0 ? void 0 : _d[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG])
417
- this.operationsMetadata = new WmtsCapability.OperationMetadata((_e = _json === null || _json === void 0 ? void 0 : _json.Capabilities) === null || _e === void 0 ? void 0 : _e[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG]);
418
- // Contents
419
- if ((_f = _json.Capabilities) === null || _f === void 0 ? void 0 : _f.Contents)
420
- this.contents = new WmtsCapability.Contents((_g = _json.Capabilities) === null || _g === void 0 ? void 0 : _g.Contents);
412
+ constructor(xmlDoc) {
413
+ var _a;
414
+ const capabilities = xmlDoc.getElementsByTagName("Capabilities");
415
+ if (capabilities.length !== 0) {
416
+ const capability = capabilities[0];
417
+ this.version = (_a = capability.getAttribute("version")) !== null && _a !== void 0 ? _a : undefined;
418
+ // Service Identification
419
+ const serviceIdentification = capability.getElementsByTagName(OwsConstants.SERVICEIDENTIFICATION_XMLTAG);
420
+ if (serviceIdentification.length > 0)
421
+ this.serviceIdentification = new WmtsCapability.ServiceIdentification(serviceIdentification[0]);
422
+ // Operations metadata
423
+ const operationsMetadata = capability.getElementsByTagName(OwsConstants.OPERATIONSMETADATA_XMLTAG);
424
+ if (operationsMetadata.length > 0)
425
+ this.operationsMetadata = new WmtsCapability.OperationMetadata(operationsMetadata[0]);
426
+ // Contents
427
+ const content = capability.getElementsByTagName("Contents");
428
+ if (content.length > 0)
429
+ this.contents = new WmtsCapability.Contents(content[0]);
430
+ }
421
431
  }
422
- get json() { return this._json; }
423
432
  static createFromXml(xmlCapabilities) {
424
- const jsonCapabilities = xml2json(xmlCapabilities, { compact: true, nativeType: false, ignoreComment: true });
425
- const capabilities = JSON.parse(jsonCapabilities);
426
- return new WmtsCapabilities(capabilities);
433
+ const parser = new DOMParser();
434
+ const xmlDoc = parser.parseFromString(xmlCapabilities, "text/xml");
435
+ return new WmtsCapabilities(xmlDoc);
427
436
  }
428
437
  static async create(url, credentials, ignoreCache) {
429
438
  if (!ignoreCache) {