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