@itwin/core-frontend 4.1.0-dev.35 → 4.1.0-dev.40

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 (851) hide show
  1. package/lib/cjs/AccuDraw.js.map +1 -1
  2. package/lib/cjs/AccuSnap.js.map +1 -1
  3. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  5. package/lib/cjs/AuxCoordSys.js.map +1 -1
  6. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  7. package/lib/cjs/BingLocation.js.map +1 -1
  8. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  9. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  10. package/lib/cjs/CategorySelectorState.js.map +1 -1
  11. package/lib/cjs/ChangeFlags.js.map +1 -1
  12. package/lib/cjs/CheckpointConnection.js.map +1 -1
  13. package/lib/cjs/CoordSystem.js.map +1 -1
  14. package/lib/cjs/DecorationsCache.js.map +1 -1
  15. package/lib/cjs/DevTools.js.map +1 -1
  16. package/lib/cjs/DisplayStyleState.js.map +1 -1
  17. package/lib/cjs/DrawingViewState.js +5 -5
  18. package/lib/cjs/DrawingViewState.js.map +1 -1
  19. package/lib/cjs/ElementLocateManager.js.map +1 -1
  20. package/lib/cjs/EmphasizeElements.js.map +1 -1
  21. package/lib/cjs/EntityState.js.map +1 -1
  22. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  23. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  24. package/lib/cjs/FlashSettings.js.map +1 -1
  25. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  26. package/lib/cjs/Frustum2d.js.map +1 -1
  27. package/lib/cjs/FrustumAnimator.js.map +1 -1
  28. package/lib/cjs/FuzzySearch.js.map +1 -1
  29. package/lib/cjs/GeoServices.js.map +1 -1
  30. package/lib/cjs/GlobeAnimator.js.map +1 -1
  31. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  32. package/lib/cjs/HitDetail.js.map +1 -1
  33. package/lib/cjs/IModelApp.js.map +1 -1
  34. package/lib/cjs/IModelConnection.js +23 -23
  35. package/lib/cjs/IModelConnection.js.map +1 -1
  36. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  37. package/lib/cjs/IModeljs-css.js +133 -133
  38. package/lib/cjs/IModeljs-css.js.map +1 -1
  39. package/lib/cjs/IpcApp.js.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  42. package/lib/cjs/MarginPercent.js.map +1 -1
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/ModelSelectorState.js.map +1 -1
  45. package/lib/cjs/NativeApp.js.map +1 -1
  46. package/lib/cjs/NativeAppLogger.js.map +1 -1
  47. package/lib/cjs/NoRenderApp.js.map +1 -1
  48. package/lib/cjs/NotificationManager.js.map +1 -1
  49. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  50. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  51. package/lib/cjs/RealityDataSource.js.map +1 -1
  52. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  54. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  55. package/lib/cjs/SelectionSet.js.map +1 -1
  56. package/lib/cjs/SheetViewState.js.map +1 -1
  57. package/lib/cjs/SpatialViewState.js.map +1 -1
  58. package/lib/cjs/Sprites.js.map +1 -1
  59. package/lib/cjs/StandardView.js.map +1 -1
  60. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  61. package/lib/cjs/TentativePoint.js.map +1 -1
  62. package/lib/cjs/Tiles.js.map +1 -1
  63. package/lib/cjs/UserPreferences.js.map +1 -1
  64. package/lib/cjs/ViewAnimation.js.map +1 -1
  65. package/lib/cjs/ViewContext.js.map +1 -1
  66. package/lib/cjs/ViewCreator2d.js.map +1 -1
  67. package/lib/cjs/ViewCreator3d.js.map +1 -1
  68. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  69. package/lib/cjs/ViewManager.js.map +1 -1
  70. package/lib/cjs/ViewPose.js.map +1 -1
  71. package/lib/cjs/ViewState.js.map +1 -1
  72. package/lib/cjs/ViewStatus.js.map +1 -1
  73. package/lib/cjs/ViewingSpace.js.map +1 -1
  74. package/lib/cjs/Viewport.js.map +1 -1
  75. package/lib/cjs/ViewportSync.js.map +1 -1
  76. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  77. package/lib/cjs/common/ImageUtil.js.map +1 -1
  78. package/lib/cjs/common/ViewRect.js.map +1 -1
  79. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  80. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  81. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  82. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  83. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  84. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  85. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  86. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  87. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -1
  88. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  89. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  90. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -1
  91. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -1
  92. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -1
  93. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -1
  94. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -1
  95. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -1
  96. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -1
  97. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -1
  98. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -1
  99. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -1
  100. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -1
  101. package/lib/cjs/core-frontend.js.map +1 -1
  102. package/lib/cjs/extension/Extension.js.map +1 -1
  103. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  104. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  105. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  106. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  107. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  108. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  109. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  110. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  111. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  112. package/lib/cjs/public/scripts/checkbrowser.js +24 -24
  113. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  114. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  115. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  116. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  117. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  118. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  119. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  120. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  121. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  122. package/lib/cjs/render/Decorations.js.map +1 -1
  123. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  124. package/lib/cjs/render/FrameStats.js.map +1 -1
  125. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  126. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  127. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  128. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  129. package/lib/cjs/render/MockRender.js.map +1 -1
  130. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  131. package/lib/cjs/render/Pixel.js.map +1 -1
  132. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -1
  133. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  134. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  135. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  136. package/lib/cjs/render/RenderMemory.js.map +1 -1
  137. package/lib/cjs/render/RenderPlan.js.map +1 -1
  138. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  139. package/lib/cjs/render/RenderSystem.js.map +1 -1
  140. package/lib/cjs/render/RenderTarget.js.map +1 -1
  141. package/lib/cjs/render/Scene.js.map +1 -1
  142. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  143. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  144. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  145. package/lib/cjs/render/primitives/ColorMap.js.map +1 -1
  146. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  147. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  148. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  149. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  150. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  151. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  152. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  153. package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
  154. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -1
  155. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  156. package/lib/cjs/render/primitives/geometry/GeometryList.js.map +1 -1
  157. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  158. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  159. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  160. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  161. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  162. package/lib/cjs/render/webgl/AtmosphereUniforms.js.map +1 -1
  163. package/lib/cjs/render/webgl/AttributeBuffers.js.map +1 -1
  164. package/lib/cjs/render/webgl/AttributeMap.js.map +1 -1
  165. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  166. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  167. package/lib/cjs/render/webgl/BatchUniforms.js.map +1 -1
  168. package/lib/cjs/render/webgl/BranchStack.js.map +1 -1
  169. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  170. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  171. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  172. package/lib/cjs/render/webgl/ClipStack.js.map +1 -1
  173. package/lib/cjs/render/webgl/ClipVolume.js.map +1 -1
  174. package/lib/cjs/render/webgl/ClippingProgram.js.map +1 -1
  175. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  176. package/lib/cjs/render/webgl/Diagnostics.js.map +1 -1
  177. package/lib/cjs/render/webgl/Disposable.js.map +1 -1
  178. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  179. package/lib/cjs/render/webgl/EDL.js.map +1 -1
  180. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  181. package/lib/cjs/render/webgl/EdgeSettings.js.map +1 -1
  182. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  183. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  184. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  185. package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
  186. package/lib/cjs/render/webgl/GL.js.map +1 -1
  187. package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
  188. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  189. package/lib/cjs/render/webgl/HiliteUniforms.js.map +1 -1
  190. package/lib/cjs/render/webgl/IModelFrameLifecycle.js.map +1 -1
  191. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  192. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  193. package/lib/cjs/render/webgl/Layer.js.map +1 -1
  194. package/lib/cjs/render/webgl/LayerCommands.js.map +1 -1
  195. package/lib/cjs/render/webgl/LightingUniforms.js.map +1 -1
  196. package/lib/cjs/render/webgl/LineCode.js.map +1 -1
  197. package/lib/cjs/render/webgl/Material.js.map +1 -1
  198. package/lib/cjs/render/webgl/Matrix.js.map +1 -1
  199. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  200. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  201. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -1
  202. package/lib/cjs/render/webgl/PerformanceMetrics.js.map +1 -1
  203. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  204. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  205. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  206. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  207. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  208. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  209. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  210. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  211. package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
  212. package/lib/cjs/render/webgl/RenderBuffer.js.map +1 -1
  213. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  214. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  215. package/lib/cjs/render/webgl/RenderState.js.map +1 -1
  216. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  217. package/lib/cjs/render/webgl/ScratchDrawParams.js.map +1 -1
  218. package/lib/cjs/render/webgl/ScreenSpaceEffect.js.map +1 -1
  219. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  220. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  221. package/lib/cjs/render/webgl/ShadowUniforms.js.map +1 -1
  222. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  223. package/lib/cjs/render/webgl/StyleUniforms.js.map +1 -1
  224. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  225. package/lib/cjs/render/webgl/Sync.js.map +1 -1
  226. package/lib/cjs/render/webgl/System.js.map +1 -1
  227. package/lib/cjs/render/webgl/Target.js.map +1 -1
  228. package/lib/cjs/render/webgl/TargetGraphics.js.map +1 -1
  229. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  230. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  231. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  232. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  233. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  234. package/lib/cjs/render/webgl/TextureDrape.js.map +1 -1
  235. package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
  236. package/lib/cjs/render/webgl/ThematicUniforms.js.map +1 -1
  237. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  238. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  239. package/lib/cjs/render/webgl/ViewRectUniforms.js.map +1 -1
  240. package/lib/cjs/render/webgl/VisibleTileFeatures.js.map +1 -1
  241. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +154 -154
  242. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  243. package/lib/cjs/render/webgl/glsl/Animation.js +83 -83
  244. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  245. package/lib/cjs/render/webgl/glsl/Atmosphere.js +266 -266
  246. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  247. package/lib/cjs/render/webgl/glsl/Blur.js +37 -37
  248. package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
  249. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +4 -4
  250. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  251. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +3 -3
  252. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  253. package/lib/cjs/render/webgl/glsl/Clipping.js +60 -60
  254. package/lib/cjs/render/webgl/glsl/Clipping.js.map +1 -1
  255. package/lib/cjs/render/webgl/glsl/Color.js +12 -12
  256. package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
  257. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +7 -7
  258. package/lib/cjs/render/webgl/glsl/Combine3Textures.js.map +1 -1
  259. package/lib/cjs/render/webgl/glsl/CombineTextures.js +5 -5
  260. package/lib/cjs/render/webgl/glsl/CombineTextures.js.map +1 -1
  261. package/lib/cjs/render/webgl/glsl/Common.js +16 -16
  262. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  263. package/lib/cjs/render/webgl/glsl/Composite.js +71 -71
  264. package/lib/cjs/render/webgl/glsl/Composite.js.map +1 -1
  265. package/lib/cjs/render/webgl/glsl/CopyColor.js +6 -6
  266. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  267. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +3 -3
  268. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  269. package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -4
  270. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  271. package/lib/cjs/render/webgl/glsl/Decode.js +65 -65
  272. package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
  273. package/lib/cjs/render/webgl/glsl/EDL.js +103 -103
  274. package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -1
  275. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +25 -25
  276. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  277. package/lib/cjs/render/webgl/glsl/Edge.js +146 -146
  278. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  279. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +232 -232
  280. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  281. package/lib/cjs/render/webgl/glsl/Fragment.js +41 -41
  282. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  283. package/lib/cjs/render/webgl/glsl/Instancing.js +21 -21
  284. package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
  285. package/lib/cjs/render/webgl/glsl/Lighting.js +92 -92
  286. package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
  287. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  288. package/lib/cjs/render/webgl/glsl/LookupTable.js +19 -19
  289. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  290. package/lib/cjs/render/webgl/glsl/Monochrome.js +13 -13
  291. package/lib/cjs/render/webgl/glsl/Monochrome.js.map +1 -1
  292. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +188 -188
  293. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  294. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +22 -22
  295. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  296. package/lib/cjs/render/webgl/glsl/PointCloud.js +28 -28
  297. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  298. package/lib/cjs/render/webgl/glsl/PointString.js +9 -9
  299. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  300. package/lib/cjs/render/webgl/glsl/Polyline.js +213 -213
  301. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  302. package/lib/cjs/render/webgl/glsl/RealityMesh.js +83 -83
  303. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  304. package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
  305. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  306. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  307. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  308. package/lib/cjs/render/webgl/glsl/SkySphere.js +49 -49
  309. package/lib/cjs/render/webgl/glsl/SkySphere.js.map +1 -1
  310. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +51 -51
  311. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  312. package/lib/cjs/render/webgl/glsl/Surface.js +239 -239
  313. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  314. package/lib/cjs/render/webgl/glsl/Thematic.js +134 -134
  315. package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
  316. package/lib/cjs/render/webgl/glsl/Translucency.js +19 -19
  317. package/lib/cjs/render/webgl/glsl/Translucency.js.map +1 -1
  318. package/lib/cjs/render/webgl/glsl/Vertex.js +73 -73
  319. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  320. package/lib/cjs/render/webgl/glsl/Viewport.js +38 -38
  321. package/lib/cjs/render/webgl/glsl/Viewport.js.map +1 -1
  322. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  323. package/lib/cjs/render/webgl/glsl/Wiremesh.js +10 -10
  324. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -1
  325. package/lib/cjs/render-primitives.js.map +1 -1
  326. package/lib/cjs/request/Request.js.map +1 -1
  327. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  328. package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
  329. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -1
  330. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  331. package/lib/cjs/tile/ContextShareProvider.js.map +1 -1
  332. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  333. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  334. package/lib/cjs/tile/GltfReader.js.map +1 -1
  335. package/lib/cjs/tile/GraphicsCollector.js.map +1 -1
  336. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  337. package/lib/cjs/tile/IModelTile.js.map +1 -1
  338. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  339. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  340. package/lib/cjs/tile/ImdlDecoder.js.map +1 -1
  341. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
  342. package/lib/cjs/tile/ImdlParser.js.map +1 -1
  343. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  344. package/lib/cjs/tile/LRUTileList.js.map +1 -1
  345. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  346. package/lib/cjs/tile/PntsReader.js.map +1 -1
  347. package/lib/cjs/tile/RealityTile.js.map +1 -1
  348. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  349. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  350. package/lib/cjs/tile/RealityTileTree.js +1 -1
  351. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  352. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  353. package/lib/cjs/tile/Tile.js.map +1 -1
  354. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  355. package/lib/cjs/tile/TileContent.js.map +1 -1
  356. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  357. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  358. package/lib/cjs/tile/TileParams.js.map +1 -1
  359. package/lib/cjs/tile/TileRequest.js.map +1 -1
  360. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  361. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  362. package/lib/cjs/tile/TileStorage.js.map +1 -1
  363. package/lib/cjs/tile/TileTree.js.map +1 -1
  364. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  365. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  366. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  367. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  368. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  369. package/lib/cjs/tile/TileUser.js.map +1 -1
  370. package/lib/cjs/tile/TileUserSet.js.map +1 -1
  371. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  372. package/lib/cjs/tile/ViewFlagOverrides.js.map +1 -1
  373. package/lib/cjs/tile/internal.js.map +1 -1
  374. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  375. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  376. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  377. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  378. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  379. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  380. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  381. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  382. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  383. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  384. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  385. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  386. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  387. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  388. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  389. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  390. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  391. package/lib/cjs/tile/map/MapLayerImageryProvider.js +2 -2
  392. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  393. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  394. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  395. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  396. package/lib/cjs/tile/map/MapTileAvailability.js.map +1 -1
  397. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  398. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  399. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  400. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  401. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  402. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  403. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  404. package/lib/cjs/tile/map/WmsUtilities.js.map +1 -1
  405. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  406. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  407. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  408. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  409. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  410. package/lib/cjs/tools/EventController.js.map +1 -1
  411. package/lib/cjs/tools/IdleTool.js.map +1 -1
  412. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  413. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  414. package/lib/cjs/tools/SelectTool.js.map +1 -1
  415. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  416. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  417. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  418. package/lib/cjs/tools/ViewTool.js.map +1 -1
  419. package/lib/cjs/webgl.js.map +1 -1
  420. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  421. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -40
  422. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  423. package/lib/esm/AccuDraw.js.map +1 -1
  424. package/lib/esm/AccuSnap.js.map +1 -1
  425. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  426. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  427. package/lib/esm/AuxCoordSys.js.map +1 -1
  428. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  429. package/lib/esm/BingLocation.js.map +1 -1
  430. package/lib/esm/BriefcaseConnection.js.map +1 -1
  431. package/lib/esm/BriefcaseTxns.js.map +1 -1
  432. package/lib/esm/CategorySelectorState.js.map +1 -1
  433. package/lib/esm/ChangeFlags.js.map +1 -1
  434. package/lib/esm/CheckpointConnection.js.map +1 -1
  435. package/lib/esm/CoordSystem.js.map +1 -1
  436. package/lib/esm/DecorationsCache.js.map +1 -1
  437. package/lib/esm/DevTools.js.map +1 -1
  438. package/lib/esm/DisplayStyleState.js.map +1 -1
  439. package/lib/esm/DrawingViewState.js +5 -5
  440. package/lib/esm/DrawingViewState.js.map +1 -1
  441. package/lib/esm/ElementLocateManager.js.map +1 -1
  442. package/lib/esm/EmphasizeElements.js.map +1 -1
  443. package/lib/esm/EntityState.js.map +1 -1
  444. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  445. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  446. package/lib/esm/FlashSettings.js.map +1 -1
  447. package/lib/esm/FrontendHubAccess.js.map +1 -1
  448. package/lib/esm/Frustum2d.js.map +1 -1
  449. package/lib/esm/FrustumAnimator.js.map +1 -1
  450. package/lib/esm/FuzzySearch.js.map +1 -1
  451. package/lib/esm/GeoServices.js.map +1 -1
  452. package/lib/esm/GlobeAnimator.js.map +1 -1
  453. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  454. package/lib/esm/HitDetail.js.map +1 -1
  455. package/lib/esm/IModelApp.js.map +1 -1
  456. package/lib/esm/IModelConnection.js +23 -23
  457. package/lib/esm/IModelConnection.js.map +1 -1
  458. package/lib/esm/IModelRoutingContext.js.map +1 -1
  459. package/lib/esm/IModeljs-css.js +133 -133
  460. package/lib/esm/IModeljs-css.js.map +1 -1
  461. package/lib/esm/IpcApp.js.map +1 -1
  462. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  463. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  464. package/lib/esm/MarginPercent.js.map +1 -1
  465. package/lib/esm/Marker.js.map +1 -1
  466. package/lib/esm/ModelSelectorState.js.map +1 -1
  467. package/lib/esm/NativeApp.js.map +1 -1
  468. package/lib/esm/NativeAppLogger.js.map +1 -1
  469. package/lib/esm/NoRenderApp.js.map +1 -1
  470. package/lib/esm/NotificationManager.js.map +1 -1
  471. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  472. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  473. package/lib/esm/RealityDataSource.js.map +1 -1
  474. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  475. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  476. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  477. package/lib/esm/SelectionSet.js.map +1 -1
  478. package/lib/esm/SheetViewState.js.map +1 -1
  479. package/lib/esm/SpatialViewState.js.map +1 -1
  480. package/lib/esm/Sprites.js.map +1 -1
  481. package/lib/esm/StandardView.js.map +1 -1
  482. package/lib/esm/SubCategoriesCache.js.map +1 -1
  483. package/lib/esm/TentativePoint.js.map +1 -1
  484. package/lib/esm/Tiles.js.map +1 -1
  485. package/lib/esm/UserPreferences.js.map +1 -1
  486. package/lib/esm/ViewAnimation.js.map +1 -1
  487. package/lib/esm/ViewContext.js.map +1 -1
  488. package/lib/esm/ViewCreator2d.js.map +1 -1
  489. package/lib/esm/ViewCreator3d.js.map +1 -1
  490. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  491. package/lib/esm/ViewManager.js.map +1 -1
  492. package/lib/esm/ViewPose.js.map +1 -1
  493. package/lib/esm/ViewState.js.map +1 -1
  494. package/lib/esm/ViewStatus.js.map +1 -1
  495. package/lib/esm/ViewingSpace.js.map +1 -1
  496. package/lib/esm/Viewport.js.map +1 -1
  497. package/lib/esm/ViewportSync.js.map +1 -1
  498. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  499. package/lib/esm/common/ImageUtil.js.map +1 -1
  500. package/lib/esm/common/ViewRect.js.map +1 -1
  501. package/lib/esm/common/WorkerProxy.js.map +1 -1
  502. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  503. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  504. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  505. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  506. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  507. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  508. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  509. package/lib/esm/common/render/AnimationNodeId.js.map +1 -1
  510. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  511. package/lib/esm/common/render/TextureParams.js.map +1 -1
  512. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -1
  513. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -1
  514. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -1
  515. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -1
  516. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -1
  517. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -1
  518. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -1
  519. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -1
  520. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -1
  521. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -1
  522. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -1
  523. package/lib/esm/core-frontend.js.map +1 -1
  524. package/lib/esm/extension/Extension.js.map +1 -1
  525. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  526. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  527. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  528. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  529. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  530. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  531. package/lib/esm/properties/AngleDescription.js.map +1 -1
  532. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  533. package/lib/esm/properties/LengthDescription.js.map +1 -1
  534. package/lib/esm/public/scripts/checkbrowser.js +24 -24
  535. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  536. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  537. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  538. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  539. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  540. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  541. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  542. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  543. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  544. package/lib/esm/render/Decorations.js.map +1 -1
  545. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  546. package/lib/esm/render/FrameStats.js.map +1 -1
  547. package/lib/esm/render/GraphicBranch.js.map +1 -1
  548. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  549. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  550. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  551. package/lib/esm/render/MockRender.js.map +1 -1
  552. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  553. package/lib/esm/render/Pixel.js.map +1 -1
  554. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -1
  555. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  556. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  557. package/lib/esm/render/RenderGraphic.js.map +1 -1
  558. package/lib/esm/render/RenderMemory.js.map +1 -1
  559. package/lib/esm/render/RenderPlan.js.map +1 -1
  560. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  561. package/lib/esm/render/RenderSystem.js.map +1 -1
  562. package/lib/esm/render/RenderTarget.js.map +1 -1
  563. package/lib/esm/render/Scene.js.map +1 -1
  564. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  565. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
  566. package/lib/esm/render/VisibleFeature.js.map +1 -1
  567. package/lib/esm/render/primitives/ColorMap.js.map +1 -1
  568. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  569. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  570. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  571. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  572. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  573. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  574. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  575. package/lib/esm/render/primitives/VertexKey.js.map +1 -1
  576. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -1
  577. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  578. package/lib/esm/render/primitives/geometry/GeometryList.js.map +1 -1
  579. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  580. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  581. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  582. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  583. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  584. package/lib/esm/render/webgl/AtmosphereUniforms.js.map +1 -1
  585. package/lib/esm/render/webgl/AttributeBuffers.js.map +1 -1
  586. package/lib/esm/render/webgl/AttributeMap.js.map +1 -1
  587. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  588. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  589. package/lib/esm/render/webgl/BatchUniforms.js.map +1 -1
  590. package/lib/esm/render/webgl/BranchStack.js.map +1 -1
  591. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  592. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  593. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  594. package/lib/esm/render/webgl/ClipStack.js.map +1 -1
  595. package/lib/esm/render/webgl/ClipVolume.js.map +1 -1
  596. package/lib/esm/render/webgl/ClippingProgram.js.map +1 -1
  597. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  598. package/lib/esm/render/webgl/Diagnostics.js.map +1 -1
  599. package/lib/esm/render/webgl/Disposable.js.map +1 -1
  600. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  601. package/lib/esm/render/webgl/EDL.js.map +1 -1
  602. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  603. package/lib/esm/render/webgl/EdgeSettings.js.map +1 -1
  604. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  605. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  606. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  607. package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
  608. package/lib/esm/render/webgl/GL.js.map +1 -1
  609. package/lib/esm/render/webgl/GLTimer.js.map +1 -1
  610. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  611. package/lib/esm/render/webgl/HiliteUniforms.js.map +1 -1
  612. package/lib/esm/render/webgl/IModelFrameLifecycle.js.map +1 -1
  613. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  614. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  615. package/lib/esm/render/webgl/Layer.js.map +1 -1
  616. package/lib/esm/render/webgl/LayerCommands.js.map +1 -1
  617. package/lib/esm/render/webgl/LightingUniforms.js.map +1 -1
  618. package/lib/esm/render/webgl/LineCode.js.map +1 -1
  619. package/lib/esm/render/webgl/Material.js.map +1 -1
  620. package/lib/esm/render/webgl/Matrix.js.map +1 -1
  621. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  622. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  623. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -1
  624. package/lib/esm/render/webgl/PerformanceMetrics.js.map +1 -1
  625. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  626. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  627. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  628. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  629. package/lib/esm/render/webgl/PointString.js.map +1 -1
  630. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  631. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  632. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  633. package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
  634. package/lib/esm/render/webgl/RenderBuffer.js.map +1 -1
  635. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  636. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  637. package/lib/esm/render/webgl/RenderState.js.map +1 -1
  638. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  639. package/lib/esm/render/webgl/ScratchDrawParams.js.map +1 -1
  640. package/lib/esm/render/webgl/ScreenSpaceEffect.js.map +1 -1
  641. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  642. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  643. package/lib/esm/render/webgl/ShadowUniforms.js.map +1 -1
  644. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  645. package/lib/esm/render/webgl/StyleUniforms.js.map +1 -1
  646. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  647. package/lib/esm/render/webgl/Sync.js.map +1 -1
  648. package/lib/esm/render/webgl/System.js.map +1 -1
  649. package/lib/esm/render/webgl/Target.js.map +1 -1
  650. package/lib/esm/render/webgl/TargetGraphics.js.map +1 -1
  651. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  652. package/lib/esm/render/webgl/Technique.js.map +1 -1
  653. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  654. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  655. package/lib/esm/render/webgl/Texture.js.map +1 -1
  656. package/lib/esm/render/webgl/TextureDrape.js.map +1 -1
  657. package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
  658. package/lib/esm/render/webgl/ThematicUniforms.js.map +1 -1
  659. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  660. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  661. package/lib/esm/render/webgl/ViewRectUniforms.js.map +1 -1
  662. package/lib/esm/render/webgl/VisibleTileFeatures.js.map +1 -1
  663. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +154 -154
  664. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  665. package/lib/esm/render/webgl/glsl/Animation.js +83 -83
  666. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  667. package/lib/esm/render/webgl/glsl/Atmosphere.js +266 -266
  668. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  669. package/lib/esm/render/webgl/glsl/Blur.js +37 -37
  670. package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
  671. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +4 -4
  672. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  673. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +3 -3
  674. package/lib/esm/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  675. package/lib/esm/render/webgl/glsl/Clipping.js +60 -60
  676. package/lib/esm/render/webgl/glsl/Clipping.js.map +1 -1
  677. package/lib/esm/render/webgl/glsl/Color.js +12 -12
  678. package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
  679. package/lib/esm/render/webgl/glsl/Combine3Textures.js +7 -7
  680. package/lib/esm/render/webgl/glsl/Combine3Textures.js.map +1 -1
  681. package/lib/esm/render/webgl/glsl/CombineTextures.js +5 -5
  682. package/lib/esm/render/webgl/glsl/CombineTextures.js.map +1 -1
  683. package/lib/esm/render/webgl/glsl/Common.js +16 -16
  684. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  685. package/lib/esm/render/webgl/glsl/Composite.js +71 -71
  686. package/lib/esm/render/webgl/glsl/Composite.js.map +1 -1
  687. package/lib/esm/render/webgl/glsl/CopyColor.js +6 -6
  688. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  689. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +3 -3
  690. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  691. package/lib/esm/render/webgl/glsl/CopyStencil.js +4 -4
  692. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  693. package/lib/esm/render/webgl/glsl/Decode.js +65 -65
  694. package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
  695. package/lib/esm/render/webgl/glsl/EDL.js +103 -103
  696. package/lib/esm/render/webgl/glsl/EDL.js.map +1 -1
  697. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +25 -25
  698. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  699. package/lib/esm/render/webgl/glsl/Edge.js +146 -146
  700. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  701. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +232 -232
  702. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  703. package/lib/esm/render/webgl/glsl/Fragment.js +41 -41
  704. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  705. package/lib/esm/render/webgl/glsl/Instancing.js +21 -21
  706. package/lib/esm/render/webgl/glsl/Instancing.js.map +1 -1
  707. package/lib/esm/render/webgl/glsl/Lighting.js +92 -92
  708. package/lib/esm/render/webgl/glsl/Lighting.js.map +1 -1
  709. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  710. package/lib/esm/render/webgl/glsl/LookupTable.js +19 -19
  711. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  712. package/lib/esm/render/webgl/glsl/Monochrome.js +13 -13
  713. package/lib/esm/render/webgl/glsl/Monochrome.js.map +1 -1
  714. package/lib/esm/render/webgl/glsl/PlanarClassification.js +188 -188
  715. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  716. package/lib/esm/render/webgl/glsl/PlanarGrid.js +22 -22
  717. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  718. package/lib/esm/render/webgl/glsl/PointCloud.js +28 -28
  719. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  720. package/lib/esm/render/webgl/glsl/PointString.js +9 -9
  721. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  722. package/lib/esm/render/webgl/glsl/Polyline.js +213 -213
  723. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  724. package/lib/esm/render/webgl/glsl/RealityMesh.js +83 -83
  725. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  726. package/lib/esm/render/webgl/glsl/RenderPass.js.map +1 -1
  727. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  728. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  729. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  730. package/lib/esm/render/webgl/glsl/SkySphere.js +49 -49
  731. package/lib/esm/render/webgl/glsl/SkySphere.js.map +1 -1
  732. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +51 -51
  733. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  734. package/lib/esm/render/webgl/glsl/Surface.js +239 -239
  735. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  736. package/lib/esm/render/webgl/glsl/Thematic.js +134 -134
  737. package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
  738. package/lib/esm/render/webgl/glsl/Translucency.js +19 -19
  739. package/lib/esm/render/webgl/glsl/Translucency.js.map +1 -1
  740. package/lib/esm/render/webgl/glsl/Vertex.js +73 -73
  741. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  742. package/lib/esm/render/webgl/glsl/Viewport.js +38 -38
  743. package/lib/esm/render/webgl/glsl/Viewport.js.map +1 -1
  744. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  745. package/lib/esm/render/webgl/glsl/Wiremesh.js +10 -10
  746. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -1
  747. package/lib/esm/render-primitives.js.map +1 -1
  748. package/lib/esm/request/Request.js.map +1 -1
  749. package/lib/esm/tile/B3dmReader.js.map +1 -1
  750. package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
  751. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -1
  752. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  753. package/lib/esm/tile/ContextShareProvider.js.map +1 -1
  754. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  755. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  756. package/lib/esm/tile/GltfReader.js.map +1 -1
  757. package/lib/esm/tile/GraphicsCollector.js.map +1 -1
  758. package/lib/esm/tile/I3dmReader.js.map +1 -1
  759. package/lib/esm/tile/IModelTile.js.map +1 -1
  760. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  761. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  762. package/lib/esm/tile/ImdlDecoder.js.map +1 -1
  763. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
  764. package/lib/esm/tile/ImdlParser.js.map +1 -1
  765. package/lib/esm/tile/ImdlReader.js.map +1 -1
  766. package/lib/esm/tile/LRUTileList.js.map +1 -1
  767. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  768. package/lib/esm/tile/PntsReader.js.map +1 -1
  769. package/lib/esm/tile/RealityTile.js.map +1 -1
  770. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  771. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  772. package/lib/esm/tile/RealityTileTree.js +1 -1
  773. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  774. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  775. package/lib/esm/tile/Tile.js.map +1 -1
  776. package/lib/esm/tile/TileAdmin.js.map +1 -1
  777. package/lib/esm/tile/TileContent.js.map +1 -1
  778. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  779. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  780. package/lib/esm/tile/TileParams.js.map +1 -1
  781. package/lib/esm/tile/TileRequest.js.map +1 -1
  782. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  783. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  784. package/lib/esm/tile/TileStorage.js.map +1 -1
  785. package/lib/esm/tile/TileTree.js.map +1 -1
  786. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  787. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  788. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  789. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  790. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  791. package/lib/esm/tile/TileUser.js.map +1 -1
  792. package/lib/esm/tile/TileUserSet.js.map +1 -1
  793. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  794. package/lib/esm/tile/ViewFlagOverrides.js.map +1 -1
  795. package/lib/esm/tile/internal.js.map +1 -1
  796. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  797. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  798. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  799. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  800. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  801. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  802. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  803. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  804. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  805. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  806. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  807. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  808. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  809. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  810. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  811. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  812. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  813. package/lib/esm/tile/map/MapLayerImageryProvider.js +2 -2
  814. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  815. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  816. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  817. package/lib/esm/tile/map/MapTile.js.map +1 -1
  818. package/lib/esm/tile/map/MapTileAvailability.js.map +1 -1
  819. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  820. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  821. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  822. package/lib/esm/tile/map/QuadId.js.map +1 -1
  823. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  824. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  825. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  826. package/lib/esm/tile/map/WmsUtilities.js.map +1 -1
  827. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  828. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  829. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  830. package/lib/esm/tools/EditManipulator.js.map +1 -1
  831. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  832. package/lib/esm/tools/EventController.js.map +1 -1
  833. package/lib/esm/tools/IdleTool.js.map +1 -1
  834. package/lib/esm/tools/MeasureTool.js.map +1 -1
  835. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  836. package/lib/esm/tools/SelectTool.js.map +1 -1
  837. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  838. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  839. package/lib/esm/tools/ToolSettings.js.map +1 -1
  840. package/lib/esm/tools/ViewTool.js.map +1 -1
  841. package/lib/esm/webgl.js.map +1 -1
  842. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  843. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -40
  844. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  845. package/lib/public/assets/MapLayerSources.json +25 -25
  846. package/lib/public/images/cesium-ion.svg +92 -92
  847. package/lib/public/images/imodeljs-icon.svg +2 -2
  848. package/lib/public/locales/en/CoreTools.json +477 -477
  849. package/lib/public/locales/en/iModelJs.json +170 -170
  850. package/lib/public/scripts/checkbrowser.js +24 -24
  851. package/package.json +23 -22
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA8C;AAC9C,oDAG4B;AAC5B,wDAAgF;AAEhF,qCAAuD;AAEvD;;;;GAIG;AACH,MAAsB,4BAA6B,SAAQ,4BAAmB;IAC5E,YAAoB,IAAY;QAAI,KAAK,EAAE,CAAC;QAAxB,SAAI,GAAJ,IAAI,CAAQ;IAAa,CAAC;IAE9C,IAAW,WAAW,KAAK,OAAO,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACjF;AAJD,oEAIC;AAED;;;;GAIG;AACH,MAAa,aAAc,SAAQ,4BAA4B;IAI7D,gBAAgB;IAChB,IAAW,oBAAoB;QAC7B,OAAO,4BAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IA0DD,gBAAgB;IAChB,YAAmB,MAA2B;QAC5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QA1DpB;;WAEG;QACa,sBAAiB,GAAG,IAAI,sBAAO,EAAgD,CAAC;QAEhG;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAgD,CAAC;QAE9F;;;;;WAKG;QACa,2BAAsB,GAAG,IAAI,sBAAO,EAA4D,CAAC;QAEjH;;WAEG;QACa,aAAQ,GAAG,IAAI,sBAAO,EAAc,CAAC;QAErD;;;;;WAKG;QACa,gBAAW,GAAG,IAAI,sBAAO,EAAmD,CAAC;QAE7F;;WAEG;QACa,qBAAgB,GAAG,IAAI,sBAAO,EAAc,CAAC;QAE7D;;WAEG;QACa,qBAAgB,GAAG,IAAI,sBAAO,EAA6B,CAAC;QAE5E;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAA6B,CAAC;QAE3E;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAkD,CAAC;QAEhG;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAkD,CAAC;QAK9F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,gBAAgB;IACT,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,wEAAwE;IACjE,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CAAC,aAAqB;QAC5C,OAAO,eAAM,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,YAAY;QACvB,OAAO,eAAM,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,eAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;IACT,qBAAqB,CAAC,OAAwB;QACnD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,OAAwB;QACjD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACT,0BAA0B,CAAC,OAAiC;QACjE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;IACT,YAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB;IACT,eAAe,CAAC,cAAuB,EAAE,IAAY;QAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB;IACT,oBAAoB;QACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,oBAAoB,CAAC,MAAe;QACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,MAAe;QACxC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,eAAoC;QAC7D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,eAAoC;QAC7D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IACT,uBAAuB,CAAC,IAAY;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,gBAAgB;IACT,wBAAwB,CAAC,OAAyB;QACvD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,2BAA2B,CAAC,KAAmB;QACpD,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,uBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB;IACT,yBAAyB,CAAC,MAAgB;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,uBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB;IACT,yBAAyB,CAAC,IAAmC;QAClE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,gBAAgB;IACT,uCAAuC,CAAC,GAAmC;QAChF,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,2BAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,CAAC;CACF;AA9PD,sCA8PC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangedEntities, ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\r\n ModelIdAndGeometryGuid, RemoveFunction, RootSubjectProps, TxnNotifications,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\r\n\r\n/**\r\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\r\n * @see [[BriefcaseTxns]].\r\n * @public\r\n */\r\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\r\n constructor(private _key: string) { super(); }\r\n public abstract get briefcaseChannelName(): string;\r\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\r\n}\r\n\r\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\r\n * @see [[BriefcaseConnection.txns]].\r\n * @see [TxnManager]($backend) for the backend counterpart.\r\n * @public\r\n */\r\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\r\n private readonly _iModel: BriefcaseConnection;\r\n private _cleanup?: RemoveFunction;\r\n\r\n /** @internal */\r\n public get briefcaseChannelName() {\r\n return ipcAppChannels.txns;\r\n }\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\r\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onElementsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\r\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onModelsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\r\n * A model's geometry can change as a result of:\r\n * - Insertion or deletion of a geometric element within the model; or\r\n * - Modification of an existing element's geometric properties; or\r\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\r\n */\r\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\r\n\r\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\r\n * @see [[onCommitted]] for the event raised after the operation.\r\n */\r\n public readonly onCommit = new BeEvent<() => void>();\r\n\r\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\r\n * The event supplies the following information:\r\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\r\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\r\n * @see [[onCommit]] for the event raised before the operation.\r\n */\r\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\r\n\r\n /** Event raised after a changeset has been applied to the briefcase.\r\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\r\n */\r\n public readonly onChangesApplied = new BeEvent<() => void>();\r\n\r\n /** Event raised before an undo/redo operation is performed.\r\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\r\n */\r\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after an undo/redo operation is performed.\r\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\r\n */\r\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after changes are pulled and merged into the briefcase.\r\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\r\n */\r\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** Event raised after the briefcase's local changes are pushed.\r\n * @see [[BriefcaseConnection.pushChanges]].\r\n */\r\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** @internal */\r\n public constructor(iModel: BriefcaseConnection) {\r\n super(iModel.key);\r\n this._iModel = iModel;\r\n this._cleanup = this.registerImpl();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n if (this._cleanup) {\r\n this._cleanup();\r\n this._cleanup = undefined;\r\n\r\n this.onElementsChanged.clear();\r\n this.onModelsChanged.clear();\r\n this.onModelGeometryChanged.clear();\r\n this.onCommit.clear();\r\n this.onCommitted.clear();\r\n this.onChangesApplied.clear();\r\n this.onBeforeUndoRedo.clear();\r\n this.onAfterUndoRedo.clear();\r\n this.onChangesPulled.clear();\r\n this.onChangesPushed.clear();\r\n }\r\n }\r\n\r\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reversible (undoable) changes exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reinstatable (redoable) changes exist.\r\n * @see [[reinstateTxn]] to redo changes.\r\n */\r\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\r\n }\r\n\r\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\r\n * This is useful for showing the operation that would be undone, for example in a menu.\r\n */\r\n public async getUndoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\r\n }\r\n\r\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\r\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\r\n */\r\n public async getRedoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation.\r\n * @see [[reinstateTxn]] to redo operations.\r\n * @see [[reverseAll]] to undo all operations.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseSingleTxn(): Promise<IModelStatus> {\r\n return this.reverseTxns(1);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\r\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\r\n * be reinstated together when/if [[reinstateTxn]] is called.\r\n * @note If there are any outstanding uncommitted changes, they are reversed.\r\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\r\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\r\n * @note If numOperations is too large only the number of reversible operations are reversed.\r\n */\r\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\r\n }\r\n\r\n /** Reverse (undo) all changes back to the beginning of the session.\r\n * @see [[reinstateTxn]] to redo changes.\r\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseAll(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\r\n }\r\n\r\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\r\n * may take multiple calls to this method to reinstate all reversed operations.\r\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\r\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\r\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async reinstateTxn(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\r\n }\r\n\r\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\r\n * and reopened.)\r\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\r\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\r\n * Probably a good idea to alert the user it happened.\r\n */\r\n public async restartTxnSession(): Promise<void> {\r\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\r\n }\r\n\r\n /** @internal */\r\n public notifyElementsChanged(changed: ChangedEntities): void {\r\n this.onElementsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyModelsChanged(changed: ChangedEntities): void {\r\n this.onModelsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\r\n this.onModelGeometryChanged.raiseEvent(changes);\r\n }\r\n\r\n /** @internal */\r\n public notifyCommit() {\r\n this.onCommit.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\r\n this.onCommitted.raiseEvent(hasPendingTxns, time);\r\n }\r\n\r\n /** @internal */\r\n public notifyChangesApplied() {\r\n this.onChangesApplied.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyBeforeUndoRedo(isUndo: boolean) {\r\n this.onBeforeUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyAfterUndoRedo(isUndo: boolean) {\r\n this.onAfterUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPulled.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPushed.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyIModelNameChanged(name: string) {\r\n this._iModel.name = name;\r\n }\r\n\r\n /** @internal */\r\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\r\n this._iModel.rootSubject = subject;\r\n }\r\n\r\n /** @internal */\r\n public notifyProjectExtentsChanged(range: Range3dProps) {\r\n this._iModel.projectExtents = Range3d.fromJSON(range);\r\n }\r\n\r\n /** @internal */\r\n public notifyGlobalOriginChanged(origin: XYZProps) {\r\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\r\n }\r\n\r\n /** @internal */\r\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\r\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\r\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport {\n ChangedEntities, ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\n ModelIdAndGeometryGuid, RemoveFunction, RootSubjectProps, TxnNotifications,\n} from \"@itwin/core-common\";\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\n\n/**\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\n * @see [[BriefcaseTxns]].\n * @public\n */\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\n constructor(private _key: string) { super(); }\n public abstract get briefcaseChannelName(): string;\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\n}\n\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\n * @see [[BriefcaseConnection.txns]].\n * @see [TxnManager]($backend) for the backend counterpart.\n * @public\n */\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\n private readonly _iModel: BriefcaseConnection;\n private _cleanup?: RemoveFunction;\n\n /** @internal */\n public get briefcaseChannelName() {\n return ipcAppChannels.txns;\n }\n\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\n */\n public readonly onElementsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\n\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\n */\n public readonly onModelsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\n\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\n * A model's geometry can change as a result of:\n * - Insertion or deletion of a geometric element within the model; or\n * - Modification of an existing element's geometric properties; or\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\n */\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\n\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\n * @see [[onCommitted]] for the event raised after the operation.\n */\n public readonly onCommit = new BeEvent<() => void>();\n\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\n * The event supplies the following information:\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\n * @see [[onCommit]] for the event raised before the operation.\n */\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\n\n /** Event raised after a changeset has been applied to the briefcase.\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\n */\n public readonly onChangesApplied = new BeEvent<() => void>();\n\n /** Event raised before an undo/redo operation is performed.\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\n */\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\n\n /** Event raised after an undo/redo operation is performed.\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\n */\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\n\n /** Event raised after changes are pulled and merged into the briefcase.\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\n */\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\n\n /** Event raised after the briefcase's local changes are pushed.\n * @see [[BriefcaseConnection.pushChanges]].\n */\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\n\n /** @internal */\n public constructor(iModel: BriefcaseConnection) {\n super(iModel.key);\n this._iModel = iModel;\n this._cleanup = this.registerImpl();\n }\n\n /** @internal */\n public dispose(): void {\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = undefined;\n\n this.onElementsChanged.clear();\n this.onModelsChanged.clear();\n this.onModelGeometryChanged.clear();\n this.onCommit.clear();\n this.onCommitted.clear();\n this.onChangesApplied.clear();\n this.onBeforeUndoRedo.clear();\n this.onAfterUndoRedo.clear();\n this.onChangesPulled.clear();\n this.onChangesPushed.clear();\n }\n }\n\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\n }\n\n /** Determine if any reversible (undoable) changes exist.\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\n */\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\n }\n\n /** Determine if any reinstatable (redoable) changes exist.\n * @see [[reinstateTxn]] to redo changes.\n */\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\n }\n\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\n * This is useful for showing the operation that would be undone, for example in a menu.\n */\n public async getUndoString(): Promise<string> {\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\n }\n\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\n */\n public async getRedoString(): Promise<string> {\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\n }\n\n /** Reverse (undo) the most recent operation.\n * @see [[reinstateTxn]] to redo operations.\n * @see [[reverseAll]] to undo all operations.\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\n */\n public async reverseSingleTxn(): Promise<IModelStatus> {\n return this.reverseTxns(1);\n }\n\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\n * be reinstated together when/if [[reinstateTxn]] is called.\n * @note If there are any outstanding uncommitted changes, they are reversed.\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\n * @note If numOperations is too large only the number of reversible operations are reversed.\n */\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\n }\n\n /** Reverse (undo) all changes back to the beginning of the session.\n * @see [[reinstateTxn]] to redo changes.\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\n */\n public async reverseAll(): Promise<IModelStatus> {\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\n }\n\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\n * may take multiple calls to this method to reinstate all reversed operations.\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\n */\n public async reinstateTxn(): Promise<IModelStatus> {\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\n }\n\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\n * and reopened.)\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\n * Probably a good idea to alert the user it happened.\n */\n public async restartTxnSession(): Promise<void> {\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\n }\n\n /** @internal */\n public notifyElementsChanged(changed: ChangedEntities): void {\n this.onElementsChanged.raiseEvent(changed);\n }\n\n /** @internal */\n public notifyModelsChanged(changed: ChangedEntities): void {\n this.onModelsChanged.raiseEvent(changed);\n }\n\n /** @internal */\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\n this.onModelGeometryChanged.raiseEvent(changes);\n }\n\n /** @internal */\n public notifyCommit() {\n this.onCommit.raiseEvent();\n }\n\n /** @internal */\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\n this.onCommitted.raiseEvent(hasPendingTxns, time);\n }\n\n /** @internal */\n public notifyChangesApplied() {\n this.onChangesApplied.raiseEvent();\n }\n\n /** @internal */\n public notifyBeforeUndoRedo(isUndo: boolean) {\n this.onBeforeUndoRedo.raiseEvent(isUndo);\n }\n\n /** @internal */\n public notifyAfterUndoRedo(isUndo: boolean) {\n this.onAfterUndoRedo.raiseEvent(isUndo);\n }\n\n /** @internal */\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\n this.onChangesPulled.raiseEvent(parentChangeset);\n }\n\n /** @internal */\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\n this.onChangesPushed.raiseEvent(parentChangeset);\n }\n\n /** @internal */\n public notifyIModelNameChanged(name: string) {\n this._iModel.name = name;\n }\n\n /** @internal */\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\n this._iModel.rootSubject = subject;\n }\n\n /** @internal */\n public notifyProjectExtentsChanged(range: Range3dProps) {\n this._iModel.projectExtents = Range3d.fromJSON(range);\n }\n\n /** @internal */\n public notifyGlobalOriginChanged(origin: XYZProps) {\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\n }\n\n /** @internal */\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\n }\n\n /** @internal */\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { CategorySelectorProps } from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A set of Categories to be displayed in a [[ViewState]].\r\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\r\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\r\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\r\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\r\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\r\n * @see [[Category]]\r\n * @public\r\n * @extensions\r\n */\r\nexport class CategorySelectorState extends ElementState {\r\n public static override get className() { return \"CategorySelector\"; }\r\n\r\n private readonly _categories = new ObservableSet<string>();\r\n\r\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n if (props.categories)\r\n props.categories.forEach((cat) => this.categories.add(cat));\r\n }\r\n\r\n public get categories(): Set<string> {\r\n return this._categories;\r\n }\r\n\r\n public set categories(categories: Set<string>) {\r\n this._categories.clear();\r\n for (const category of categories)\r\n this._categories.add(category);\r\n }\r\n\r\n /** @internal */\r\n public get observableCategories(): ObservableSet<string> {\r\n return this._categories;\r\n }\r\n\r\n public override toJSON(): CategorySelectorProps {\r\n const val = super.toJSON() as CategorySelectorProps;\r\n val.categories = [];\r\n this.categories.forEach((cat) => val.categories.push(cat));\r\n return val;\r\n }\r\n\r\n /** Returns true if this category selector is logically equivalent to the specified category selector.\r\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\r\n */\r\n public equalState(other: CategorySelectorState): boolean {\r\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\r\n return false;\r\n\r\n for (const cat of this.categories)\r\n if (!other.categories.has(cat))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n /** The name of this CategorySelector */\r\n public get name(): string { return this.code.value; }\r\n\r\n /** Determine whether this CategorySelector includes the specified categoryId string */\r\n public has(id: Id64String): boolean { return this.categories.has(id); }\r\n\r\n /** Determine whether this CategorySelector includes the specified category */\r\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\r\n\r\n /** Add one or more categories to this CategorySelector */\r\n public addCategories(arg: Id64Arg): void {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.add(id);\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector */\r\n public dropCategories(arg: Id64Arg) {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.delete(id);\r\n }\r\n\r\n /** Add or remove categories from this CategorySelector.\r\n * @param arg The categories to add or remove\r\n * @param add If true, categories will be added; otherwise they will be removed.\r\n */\r\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void {\r\n if (add)\r\n this.addCategories(arg);\r\n else\r\n this.dropCategories(arg);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\nimport { CategorySelectorProps } from \"@itwin/core-common\";\nimport { ElementState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\n\n/** A set of Categories to be displayed in a [[ViewState]].\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\n * @see [[Category]]\n * @public\n * @extensions\n */\nexport class CategorySelectorState extends ElementState {\n public static override get className() { return \"CategorySelector\"; }\n\n private readonly _categories = new ObservableSet<string>();\n\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\n super(props, iModel);\n if (props.categories)\n props.categories.forEach((cat) => this.categories.add(cat));\n }\n\n public get categories(): Set<string> {\n return this._categories;\n }\n\n public set categories(categories: Set<string>) {\n this._categories.clear();\n for (const category of categories)\n this._categories.add(category);\n }\n\n /** @internal */\n public get observableCategories(): ObservableSet<string> {\n return this._categories;\n }\n\n public override toJSON(): CategorySelectorProps {\n const val = super.toJSON() as CategorySelectorProps;\n val.categories = [];\n this.categories.forEach((cat) => val.categories.push(cat));\n return val;\n }\n\n /** Returns true if this category selector is logically equivalent to the specified category selector.\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\n */\n public equalState(other: CategorySelectorState): boolean {\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\n return false;\n\n for (const cat of this.categories)\n if (!other.categories.has(cat))\n return false;\n\n return true;\n }\n\n /** The name of this CategorySelector */\n public get name(): string { return this.code.value; }\n\n /** Determine whether this CategorySelector includes the specified categoryId string */\n public has(id: Id64String): boolean { return this.categories.has(id); }\n\n /** Determine whether this CategorySelector includes the specified category */\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\n\n /** Add one or more categories to this CategorySelector */\n public addCategories(arg: Id64Arg): void {\n for (const id of Id64.iterable(arg))\n this.categories.add(id);\n }\n\n /** Remove one or more categories from this CategorySelector */\n public dropCategories(arg: Id64Arg) {\n for (const id of Id64.iterable(arg))\n this.categories.delete(id);\n }\n\n /** Add or remove categories from this CategorySelector.\n * @param arg The categories to add or remove\n * @param add If true, categories will be added; otherwise they will be removed.\n */\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void {\n if (add)\n this.addCategories(arg);\n else\n this.dropCategories(arg);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeFlags.js","sourceRoot":"","sources":["../../src/ChangeFlags.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/** Bit masks describing which aspects of a [[Viewport]] have changed as part of a [[ChangeFlags]].\r\n * @see [[Viewport.onViewportChanged]].\r\n * @internal\r\n */\r\nexport enum ChangeFlag {\r\n None = 0,\r\n AlwaysDrawn = 1 << 0,\r\n NeverDrawn = 1 << 1,\r\n ViewedCategories = 1 << 2,\r\n ViewedModels = 1 << 3,\r\n DisplayStyle = 1 << 4,\r\n FeatureOverrideProvider = 1 << 5,\r\n ViewedCategoriesPerModel = 1 << 6,\r\n ViewState = 1 << 7, // eslint-disable-line no-shadow\r\n All = 0x0fffffff,\r\n Overrides = ChangeFlag.All & ~(ChangeFlag.ViewedModels | ChangeFlag.ViewState),\r\n Initial = ChangeFlag.ViewedCategories | ChangeFlag.ViewedModels | ChangeFlag.DisplayStyle,\r\n}\r\n\r\n/** Describes which aspects of a [[Viewport]] have changed. Each time [[Viewport.renderFrame]] is invoked, the aspects of the viewport that have changed since\r\n * the previous call to `renderFrame` are computed and dispatched via the [[Viewport.onViewportChanged]] event.\r\n * @public\r\n * @extensions\r\n */\r\nexport class ChangeFlags {\r\n /** @internal */\r\n protected _flags: ChangeFlag;\r\n\r\n /** @internal */\r\n public constructor(flags = ChangeFlag.Initial) {\r\n this._flags = flags;\r\n }\r\n\r\n /** The set of always-drawn elements has changed.\r\n * @see [[Viewport.setAlwaysDrawn]] and [[Viewport.clearAlwaysDrawn]].\r\n */\r\n public get alwaysDrawn() { return this.isSet(ChangeFlag.AlwaysDrawn); }\r\n\r\n /** The set of never-drawn elements has changed.\r\n * @see [[Viewport.setNeverDrawn]] and [[Viewport.clearNeverDrawn]].\r\n */\r\n public get neverDrawn() { return this.isSet(ChangeFlag.NeverDrawn); }\r\n\r\n /** The set of displayed categories defined by the viewport's [[CategorySelectorState]] has changed. */\r\n public get viewedCategories() { return this.isSet(ChangeFlag.ViewedCategories); }\r\n\r\n /** The set of models to be displayed in the viewport has changed. */\r\n public get viewedModels() { return this.isSet(ChangeFlag.ViewedModels); }\r\n\r\n /** The [[DisplayStyleState]] or its settings such as [ViewFlags]($common) have changed. */\r\n public get displayStyle() { return this.isSet(ChangeFlag.DisplayStyle); }\r\n\r\n /** The [[FeatureOverrideProvider]] has changed, or its internal state has changed such that its overrides must be recomputed.\r\n * @see [[Viewport.addFeatureOverrideProvider]] and [[Viewport.setFeatureOverrideProviderChanged]].\r\n */\r\n public get featureOverrideProvider() { return this.isSet(ChangeFlag.FeatureOverrideProvider); }\r\n\r\n /** [[Vewport.changeView]] was used to replace the previous [[ViewState]] with a new one. */\r\n public get viewState() { return this.isSet(ChangeFlag.ViewState); }\r\n\r\n /** The [[PerModelCategoryVisibility.Overrides]] associated with the viewport have changed.\r\n * @beta\r\n */\r\n public get viewedCategoriesPerModel() { return this.isSet(ChangeFlag.ViewedCategoriesPerModel); }\r\n\r\n /** Return true if any of the specified flags are set.\r\n * @internal\r\n */\r\n public isSet(flags: ChangeFlag): boolean { return 0 !== (this._flags & flags); }\r\n\r\n /** Return true if all of the specified flags are set.\r\n * @internal\r\n */\r\n public areAllSet(flags: ChangeFlag): boolean { return flags === (this._flags & flags); }\r\n\r\n /** Returns true if any aspects affecting [[FeatureSymbology.Overrides]] have changed. */\r\n public get areFeatureOverridesDirty() { return this.isSet(ChangeFlag.Overrides); }\r\n\r\n /** Returns true if any aspect at all has changed. */\r\n public get hasChanges() { return this.isSet(ChangeFlag.All); }\r\n\r\n /** @internal */\r\n public get value(): ChangeFlag { return this._flags; }\r\n}\r\n\r\n/** Mutable [[ChangelFlags]].\r\n * @internal Used internally by Viewport.\r\n */\r\nexport class MutableChangeFlags extends ChangeFlags {\r\n public constructor(flags = ChangeFlag.Initial) {\r\n super(flags);\r\n }\r\n\r\n /** Set all of the specified flags. */\r\n private set(flags: ChangeFlag): void { this._flags |= flags; }\r\n\r\n public setAlwaysDrawn() { this.set(ChangeFlag.AlwaysDrawn); }\r\n public setNeverDrawn() { this.set(ChangeFlag.NeverDrawn); }\r\n public setViewedCategories() { this.set(ChangeFlag.ViewedCategories); }\r\n public setViewedModels() { this.set(ChangeFlag.ViewedModels); }\r\n public setDisplayStyle() { this.set(ChangeFlag.DisplayStyle); }\r\n public setFeatureOverrideProvider() { this.set(ChangeFlag.FeatureOverrideProvider); }\r\n public setViewState() { this.set(ChangeFlag.ViewState); }\r\n public setViewedCategoriesPerModel() { this.set(ChangeFlag.ViewedCategoriesPerModel); }\r\n\r\n /** Clear all of the specified flags. By default, clears all flags. */\r\n public clear(flags: ChangeFlag = ChangeFlag.All): void { this._flags &= ~flags; }\r\n}\r\n"]}
1
+ {"version":3,"file":"ChangeFlags.js","sourceRoot":"","sources":["../../src/ChangeFlags.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\n/** Bit masks describing which aspects of a [[Viewport]] have changed as part of a [[ChangeFlags]].\n * @see [[Viewport.onViewportChanged]].\n * @internal\n */\nexport enum ChangeFlag {\n None = 0,\n AlwaysDrawn = 1 << 0,\n NeverDrawn = 1 << 1,\n ViewedCategories = 1 << 2,\n ViewedModels = 1 << 3,\n DisplayStyle = 1 << 4,\n FeatureOverrideProvider = 1 << 5,\n ViewedCategoriesPerModel = 1 << 6,\n ViewState = 1 << 7, // eslint-disable-line no-shadow\n All = 0x0fffffff,\n Overrides = ChangeFlag.All & ~(ChangeFlag.ViewedModels | ChangeFlag.ViewState),\n Initial = ChangeFlag.ViewedCategories | ChangeFlag.ViewedModels | ChangeFlag.DisplayStyle,\n}\n\n/** Describes which aspects of a [[Viewport]] have changed. Each time [[Viewport.renderFrame]] is invoked, the aspects of the viewport that have changed since\n * the previous call to `renderFrame` are computed and dispatched via the [[Viewport.onViewportChanged]] event.\n * @public\n * @extensions\n */\nexport class ChangeFlags {\n /** @internal */\n protected _flags: ChangeFlag;\n\n /** @internal */\n public constructor(flags = ChangeFlag.Initial) {\n this._flags = flags;\n }\n\n /** The set of always-drawn elements has changed.\n * @see [[Viewport.setAlwaysDrawn]] and [[Viewport.clearAlwaysDrawn]].\n */\n public get alwaysDrawn() { return this.isSet(ChangeFlag.AlwaysDrawn); }\n\n /** The set of never-drawn elements has changed.\n * @see [[Viewport.setNeverDrawn]] and [[Viewport.clearNeverDrawn]].\n */\n public get neverDrawn() { return this.isSet(ChangeFlag.NeverDrawn); }\n\n /** The set of displayed categories defined by the viewport's [[CategorySelectorState]] has changed. */\n public get viewedCategories() { return this.isSet(ChangeFlag.ViewedCategories); }\n\n /** The set of models to be displayed in the viewport has changed. */\n public get viewedModels() { return this.isSet(ChangeFlag.ViewedModels); }\n\n /** The [[DisplayStyleState]] or its settings such as [ViewFlags]($common) have changed. */\n public get displayStyle() { return this.isSet(ChangeFlag.DisplayStyle); }\n\n /** The [[FeatureOverrideProvider]] has changed, or its internal state has changed such that its overrides must be recomputed.\n * @see [[Viewport.addFeatureOverrideProvider]] and [[Viewport.setFeatureOverrideProviderChanged]].\n */\n public get featureOverrideProvider() { return this.isSet(ChangeFlag.FeatureOverrideProvider); }\n\n /** [[Vewport.changeView]] was used to replace the previous [[ViewState]] with a new one. */\n public get viewState() { return this.isSet(ChangeFlag.ViewState); }\n\n /** The [[PerModelCategoryVisibility.Overrides]] associated with the viewport have changed.\n * @beta\n */\n public get viewedCategoriesPerModel() { return this.isSet(ChangeFlag.ViewedCategoriesPerModel); }\n\n /** Return true if any of the specified flags are set.\n * @internal\n */\n public isSet(flags: ChangeFlag): boolean { return 0 !== (this._flags & flags); }\n\n /** Return true if all of the specified flags are set.\n * @internal\n */\n public areAllSet(flags: ChangeFlag): boolean { return flags === (this._flags & flags); }\n\n /** Returns true if any aspects affecting [[FeatureSymbology.Overrides]] have changed. */\n public get areFeatureOverridesDirty() { return this.isSet(ChangeFlag.Overrides); }\n\n /** Returns true if any aspect at all has changed. */\n public get hasChanges() { return this.isSet(ChangeFlag.All); }\n\n /** @internal */\n public get value(): ChangeFlag { return this._flags; }\n}\n\n/** Mutable [[ChangelFlags]].\n * @internal Used internally by Viewport.\n */\nexport class MutableChangeFlags extends ChangeFlags {\n public constructor(flags = ChangeFlag.Initial) {\n super(flags);\n }\n\n /** Set all of the specified flags. */\n private set(flags: ChangeFlag): void { this._flags |= flags; }\n\n public setAlwaysDrawn() { this.set(ChangeFlag.AlwaysDrawn); }\n public setNeverDrawn() { this.set(ChangeFlag.NeverDrawn); }\n public setViewedCategories() { this.set(ChangeFlag.ViewedCategories); }\n public setViewedModels() { this.set(ChangeFlag.ViewedModels); }\n public setDisplayStyle() { this.set(ChangeFlag.DisplayStyle); }\n public setFeatureOverrideProvider() { this.set(ChangeFlag.FeatureOverrideProvider); }\n public setViewState() { this.set(ChangeFlag.ViewState); }\n public setViewedCategoriesPerModel() { this.set(ChangeFlag.ViewedCategoriesPerModel); }\n\n /** Clear all of the specified flags. By default, clears all flags. */\n public clear(flags: ChangeFlag = ChangeFlag.All): void { this._flags &= ~flags; }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAsF;AACtF,oDAG4B;AAC5B,4EAAyE;AACzE,2CAAwC;AACxC,yDAAsD;AACtD,iEAA8D;AAE9D,MAAM,cAAc,GAAG,+CAAsB,CAAC,gBAAgB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAa,oBAAqB,SAAQ,mCAAgB;IAA1D;;QAoFU,6BAAwB,GAAG,KAAK,EAAE,OAAwC,EAAE,QAAa,EAAE,QAAoB,EAAE,MAA6B,EAAE,EAAE;YACxJ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;gBACtD,OAAO;YAET,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,GAAG;gBACtC,OAAO,CAAC,6DAA6D;YAEvE,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,iCAAiC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;YAEzF,IAAI;gBACF,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9F,6HAA6H;gBAC7H,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAU,CAAC;aAE1C;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,2BAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7C;oBAAS;aACT;YAED,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,0DAA0D,EAAE,cAAc,CAAC,CAAC;YAC5G,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,mEAAmE;YAC/G,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;IAWJ,CAAC;IAtHC,gEAAgE;IAChE,IAAoB,OAAO,KAAiB,OAAO,KAAK,CAAC,OAAQ,CAAC,CAAC,CAAC;IACpE,4CAA4C;IAC5C,IAAoB,QAAQ,KAAiB,OAAO,KAAK,CAAC,QAAS,CAAC,CAAC,CAAC;IAEtE,2DAA2D;IAC3D,IAAW,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAGxE,yDAAyD;IACzC,sBAAsB,KAAmC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEvF;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,QAAgB,EAAE,UAAyB,2BAAa,CAAC,MAAM,EAAE;QAC/G,MAAM,cAAc,GAAG,2CAAoB,CAAC,OAAO,IAAI,2CAAoB,CAAC,OAAO,CAAC;QACpF,MAAM,WAAW,GAAG,MAAM,qBAAS,CAAC,cAAc,EAAE,CAAC;QAErD,IAAI,SAAS,KAAK,qBAAS,CAAC,SAAS;YACnC,MAAM,IAAI,KAAK,CAAC,6MAA6M,CAAC,CAAC;QAEjO,MAAM,SAAS,GAAG,MAAM,qBAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAExG,MAAM,cAAc,GAAuB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,wBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjC,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;QAC3C,wBAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAE7E,mCAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAA+B,EAAE,cAAoC;QACjG,0FAA0F;QAC1F,4GAA4G;QAC5G,MAAM,4BAA4B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,kBAAkB;QAChF,IAAI,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,EAAE,mCAAgB,CAAC,iBAAiB,CAAC,CAAC;QAE7G,MAAM,oBAAoB,GAAG,0BAAY,CAAC,MAAM,CAAC,oCAAsB,EAAE,oBAAoB,CAAC,CAAC;QAC/F,IAAI,CAAC,oBAAoB;YACvB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,8DAA8D,CAAC,CAAC;QAC7G,oBAAoB,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAE1E,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,cAAc,GAAG,wBAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAqB,EAAE,OAAmB,EAAE,EAAE;YAClG,IAAI,IAAI,KAAK,6BAAe,CAAC,qBAAqB,EAAE,8CAA8C;gBAChG,OAAO;YACT,IAAI,CAAC,CAAC,oBAAoB,IAAI,OAAO,CAAC,SAAS,KAAK,oBAAoB,CAAC;gBACvE,OAAO;YAET,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,6DAA6D,EAAE,WAAW,CAAC,CAAC;YAE5G,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACrD,IAAI,qBAAqB,GAAG,mCAAgB,CAAC,iBAAiB,EAAE;gBAC9D,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,2EAA2E,mCAAgB,CAAC,iBAAiB,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBAC5K,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC,CAAC,yCAAyC;aAC5H;YAED,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,EAAE,uBAAuB,GAAG,CAAC,EAAE,mCAAgB,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,CAAC;YAC9J,IAAI,OAAO,CAAC,aAAa,KAAK,uBAAuB,EAAE;gBACrD,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC;gBAChD,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,8CAA8C,OAAO,CAAC,aAAa,wCAAwC,EAAE,WAAW,CAAC,CAAC;aAC3J;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,oCAAsB,CAAC,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrH,IAAI,YAAmC,CAAC;QACxC,IAAI;YACF,YAAY,GAAG,MAAM,WAAW,CAAC;SAClC;gBAAS;YACR,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,iDAAiD,EAAE,WAAW,CAAC,CAAC;YAChG,cAAc,EAAE,CAAC;SAClB;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IA4BD,sCAAsC;IAC/B,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO;QAET,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,wBAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF;AAvHD,oDAuHC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\r\n RpcRequest, RpcRequestEvent,\r\n} from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./common/FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\n\r\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\r\n\r\n/**\r\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\r\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\r\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\r\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\r\n * @public\r\n */\r\nexport class CheckpointConnection extends IModelConnection {\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; }\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n protected _isClosed?: boolean;\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]] */\r\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\r\n\r\n /**\r\n * Open a readonly IModelConnection to an iModel over RPC.\r\n */\r\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n const accessToken = await IModelApp.getAccessToken();\r\n\r\n if (undefined === IModelApp.hubAccess)\r\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\r\n\r\n const changeset = await IModelApp.hubAccess.getChangesetFromVersion({ accessToken, iModelId, version });\r\n\r\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\r\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\r\n\r\n const connection = new this(openResponse);\r\n RpcManager.setIModel(connection);\r\n connection.routingContext = routingContext;\r\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\r\n\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\r\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\r\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\r\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\r\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\r\n\r\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\r\n if (!openForReadOperation)\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\r\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\r\n\r\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\r\n const startTime = Date.now();\r\n\r\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => { // eslint-disable-line deprecation/deprecation\r\n if (type !== RpcRequestEvent.PendingUpdateReceived) // eslint-disable-line deprecation/deprecation\r\n return;\r\n if (!(openForReadOperation && request.operation === openForReadOperation))\r\n return;\r\n\r\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\r\n\r\n const connectionTimeElapsed = Date.now() - startTime;\r\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\r\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\r\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\r\n }\r\n\r\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\r\n if (request.retryInterval !== connectionRetryInterval) {\r\n request.retryInterval = connectionRetryInterval;\r\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\r\n }\r\n });\r\n\r\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\r\n let openResponse: IModelConnectionProps;\r\n try {\r\n openResponse = await openPromise;\r\n } finally {\r\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\r\n removeListener();\r\n }\r\n\r\n return openResponse;\r\n }\r\n\r\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => { // eslint-disable-line deprecation/deprecation\r\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\r\n return;\r\n\r\n const iModelRpcProps = request.parameters[0];\r\n if (this._fileKey !== iModelRpcProps.key)\r\n return; // The handler is called for a different connection than this\r\n\r\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\r\n\r\n try {\r\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\r\n // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same\r\n this._fileKey = openResponse.key;\r\n this.changeset = openResponse.changeset!;\r\n\r\n } catch (error) {\r\n reject(BentleyError.getErrorMessage(error));\r\n } finally {\r\n }\r\n\r\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\r\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\r\n resubmit();\r\n };\r\n\r\n /** Close this CheckpointConnection */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\r\n this._isClosed = true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\nimport {\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\n RpcRequest, RpcRequestEvent,\n} from \"@itwin/core-common\";\nimport { FrontendLoggerCategory } from \"./common/FrontendLoggerCategory\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\n\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\n\n/**\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\n * @public\n */\nexport class CheckpointConnection extends IModelConnection {\n /** The Guid that identifies the iTwin that owns this iModel. */\n public override get iTwinId(): GuidString { return super.iTwinId!; }\n /** The Guid that identifies this iModel. */\n public override get iModelId(): GuidString { return super.iModelId!; }\n\n /** Returns `true` if [[close]] has already been called. */\n public get isClosed(): boolean { return this._isClosed ? true : false; }\n protected _isClosed?: boolean;\n\n /** Type guard for instanceof [[CheckpointConnection]] */\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\n\n /**\n * Open a readonly IModelConnection to an iModel over RPC.\n */\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\n const accessToken = await IModelApp.getAccessToken();\n\n if (undefined === IModelApp.hubAccess)\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\n\n const changeset = await IModelApp.hubAccess.getChangesetFromVersion({ accessToken, iModelId, version });\n\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\n\n const connection = new this(openResponse);\n RpcManager.setIModel(connection);\n connection.routingContext = routingContext;\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\n\n IModelConnection.onOpen.raiseEvent(connection);\n return connection;\n }\n\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\n\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\n if (!openForReadOperation)\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\n\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\n const startTime = Date.now();\n\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => { // eslint-disable-line deprecation/deprecation\n if (type !== RpcRequestEvent.PendingUpdateReceived) // eslint-disable-line deprecation/deprecation\n return;\n if (!(openForReadOperation && request.operation === openForReadOperation))\n return;\n\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\n\n const connectionTimeElapsed = Date.now() - startTime;\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\n }\n\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\n if (request.retryInterval !== connectionRetryInterval) {\n request.retryInterval = connectionRetryInterval;\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\n }\n });\n\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\n let openResponse: IModelConnectionProps;\n try {\n openResponse = await openPromise;\n } finally {\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\n removeListener();\n }\n\n return openResponse;\n }\n\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => { // eslint-disable-line deprecation/deprecation\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\n return;\n\n const iModelRpcProps = request.parameters[0];\n if (this._fileKey !== iModelRpcProps.key)\n return; // The handler is called for a different connection than this\n\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\n\n try {\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\n // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same\n this._fileKey = openResponse.key;\n this.changeset = openResponse.changeset!;\n\n } catch (error) {\n reject(BentleyError.getErrorMessage(error));\n } finally {\n }\n\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\n resubmit();\n };\n\n /** Close this CheckpointConnection */\n public async close(): Promise<void> {\n if (this.isClosed)\n return;\n\n this.beforeClose();\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\n this._isClosed = true;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CoordSystem.js","sourceRoot":"","sources":["../../src/CoordSystem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;GAGG;AACH,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB;;OAEG;IACH,6CAAI,CAAA;IAEJ;;;OAGG;IACH,2CAAG,CAAA;IAEH;;OAEG;IACH,+CAAK,CAAA;AACP,CAAC,EAhBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAgBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/** Coordinate system types\r\n * @public\r\n * @extensions\r\n */\r\nexport enum CoordSystem {\r\n /** Coordinates are relative to the origin of the viewing rectangle.\r\n * x and y values correspond to pixels within that rectangle, with (x=0,y=0) corresponding to the top-left corner.\r\n */\r\n View,\r\n\r\n /** Coordinates are in [Normalized Plane Coordinates]($docs/learning/glossary.md#npc). NPC is a coordinate system\r\n * for frustums in which each dimension [x,y,z] is normalized to hold values between 0.0 and 1.0.\r\n * [0,0,0] corresponds to the left-bottom-rear and [1,1,1] to the right-top-front of the frustum.\r\n */\r\n Npc,\r\n\r\n /** Coordinates are in the coordinate system of the models in the view. For SpatialViews, this is the iModel's spatial coordinate system.\r\n * For 2d views, it is the coordinate system of the GeometricModel2d that the view shows.\r\n */\r\n World,\r\n}\r\n"]}
1
+ {"version":3,"file":"CoordSystem.js","sourceRoot":"","sources":["../../src/CoordSystem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;GAGG;AACH,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB;;OAEG;IACH,6CAAI,CAAA;IAEJ;;;OAGG;IACH,2CAAG,CAAA;IAEH;;OAEG;IACH,+CAAK,CAAA;AACP,CAAC,EAhBW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAgBtB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\n/** Coordinate system types\n * @public\n * @extensions\n */\nexport enum CoordSystem {\n /** Coordinates are relative to the origin of the viewing rectangle.\n * x and y values correspond to pixels within that rectangle, with (x=0,y=0) corresponding to the top-left corner.\n */\n View,\n\n /** Coordinates are in [Normalized Plane Coordinates]($docs/learning/glossary.md#npc). NPC is a coordinate system\n * for frustums in which each dimension [x,y,z] is normalized to hold values between 0.0 and 1.0.\n * [0,0,0] corresponds to the left-bottom-rear and [1,1,1] to the right-top-front of the frustum.\n */\n Npc,\n\n /** Coordinates are in the coordinate system of the models in the view. For SpatialViews, this is the iModel's spatial coordinate system.\n * For 2d views, it is the coordinate system of the GeometricModel2d that the view shows.\n */\n World,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DecorationsCache.js","sourceRoot":"","sources":["../../src/DecorationsCache.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAY7C,SAAS,wBAAwB,CAAC,WAA+B;IAC/D,KAAK,MAAM,GAAG,IAAI,WAAW;QAC3B,IAAI,SAAS,KAAK,GAAG,CAAC,IAAI;YACxB,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAa,gBAAgB;IAA7B;QACmB,WAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;QAC3E;;WAEG;QACI,oBAAe,GAAG,KAAK,CAAC;IAgDjC,CAAC;IA9CC,+DAA+D;IAC/D,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,4DAA4D;IACrD,GAAG,CAAC,SAA4B;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,4EAA4E;IACrE,GAAG,CAAC,SAA4B,EAAE,UAA4B;QACnE,IAAA,qBAAM,EAAC,IAAI,KAAK,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,oBAAoB;YACjC,OAAO;QAET,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;QAE/C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,+FAA+F;IACxF,MAAM,CAAC,SAA4B;QACxC,IAAI,IAAI,CAAC,eAAe;YACtB,OAAO;QAET,IAAA,qBAAM,EAAC,IAAI,KAAK,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE;YACR,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,0GAA0G;IACnG,KAAK;QACV,IAAI,IAAI,CAAC,eAAe;YACtB,OAAO;QAET,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AArDD,4CAqDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { RenderGraphicOwner } from \"./render/RenderGraphic\";\r\nimport { GraphicType } from \"./render/GraphicBuilder\";\r\nimport { ViewportDecorator } from \"./Viewport\";\r\nimport { CanvasDecoration } from \"./render/CanvasDecoration\";\r\n\r\n/** @internal */\r\nexport type CachedDecoration =\r\n { type: \"graphic\", graphicType: GraphicType, graphicOwner: RenderGraphicOwner } |\r\n { type: \"canvas\", canvasDecoration: CanvasDecoration, atFront: boolean } |\r\n { type: \"html\", htmlElement: HTMLElement };\r\n\r\nfunction disposeCachedDecorations(decorations: CachedDecoration[]): void {\r\n for (const dec of decorations)\r\n if (\"graphic\" === dec.type)\r\n dec.graphicOwner.disposeGraphic();\r\n}\r\n\r\n/** A cache of decorations previously produced by a [[ViewportDecorator]] for which `useCachedDecorations` is `true`.\r\n * The decorations are preserved until either:\r\n * - The associated [[Viewport]]'s scene is invalidated; or\r\n * - The decorator explicitly requests them to be discarded.\r\n * The primary benefit is that cached decorations do not get recreated on every mouse motion.\r\n * @internal\r\n */\r\nexport class DecorationsCache {\r\n private readonly _cache = new Map<ViewportDecorator, CachedDecoration[]>();\r\n /** If true, attempts to remove entries from the cache will silently fail. This is set while a [[ScreenViewport]] is producing decorations\r\n * to prevent poorly-written decorators from invalidating the cache while it is being populated by, e.g., calling [[Viewport.invalidateScene]].\r\n */\r\n public prohibitRemoval = false;\r\n\r\n /** The number of decorators that have entries in the cache. */\r\n public get size(): number {\r\n return this._cache.size;\r\n }\r\n\r\n /** Get the list of cached decorations for the decorator. */\r\n public get(decorator: ViewportDecorator): CachedDecoration[] | undefined {\r\n return this._cache.get(decorator);\r\n }\r\n\r\n /** Add a decoration to the list of cached decorations for the decorator. */\r\n public add(decorator: ViewportDecorator, decoration: CachedDecoration): void {\r\n assert(true === decorator.useCachedDecorations);\r\n if (!decorator.useCachedDecorations)\r\n return;\r\n\r\n let decorations = this.get(decorator);\r\n if (!decorations)\r\n this._cache.set(decorator, decorations = []);\r\n\r\n decorations.push(decoration);\r\n }\r\n\r\n /** Delete the decorator and all of its decorations, disposing of the decorations' graphics. */\r\n public delete(decorator: ViewportDecorator): void {\r\n if (this.prohibitRemoval)\r\n return;\r\n\r\n assert(true === decorator.useCachedDecorations);\r\n const decs = this._cache.get(decorator);\r\n if (decs) {\r\n disposeCachedDecorations(decs);\r\n this._cache.delete(decorator);\r\n }\r\n }\r\n\r\n /** Remove all decorators and their decorations from the cache, disposing of the decorations' graphics. */\r\n public clear(): void {\r\n if (this.prohibitRemoval)\r\n return;\r\n\r\n for (const decorations of this._cache.values())\r\n disposeCachedDecorations(decorations);\r\n\r\n this._cache.clear();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"DecorationsCache.js","sourceRoot":"","sources":["../../src/DecorationsCache.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAY7C,SAAS,wBAAwB,CAAC,WAA+B;IAC/D,KAAK,MAAM,GAAG,IAAI,WAAW;QAC3B,IAAI,SAAS,KAAK,GAAG,CAAC,IAAI;YACxB,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAa,gBAAgB;IAA7B;QACmB,WAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;QAC3E;;WAEG;QACI,oBAAe,GAAG,KAAK,CAAC;IAgDjC,CAAC;IA9CC,+DAA+D;IAC/D,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,4DAA4D;IACrD,GAAG,CAAC,SAA4B;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,4EAA4E;IACrE,GAAG,CAAC,SAA4B,EAAE,UAA4B;QACnE,IAAA,qBAAM,EAAC,IAAI,KAAK,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,oBAAoB;YACjC,OAAO;QAET,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;QAE/C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,+FAA+F;IACxF,MAAM,CAAC,SAA4B;QACxC,IAAI,IAAI,CAAC,eAAe;YACtB,OAAO;QAET,IAAA,qBAAM,EAAC,IAAI,KAAK,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE;YACR,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,0GAA0G;IACnG,KAAK;QACV,IAAI,IAAI,CAAC,eAAe;YACtB,OAAO;QAET,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AArDD,4CAqDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { RenderGraphicOwner } from \"./render/RenderGraphic\";\nimport { GraphicType } from \"./render/GraphicBuilder\";\nimport { ViewportDecorator } from \"./Viewport\";\nimport { CanvasDecoration } from \"./render/CanvasDecoration\";\n\n/** @internal */\nexport type CachedDecoration =\n { type: \"graphic\", graphicType: GraphicType, graphicOwner: RenderGraphicOwner } |\n { type: \"canvas\", canvasDecoration: CanvasDecoration, atFront: boolean } |\n { type: \"html\", htmlElement: HTMLElement };\n\nfunction disposeCachedDecorations(decorations: CachedDecoration[]): void {\n for (const dec of decorations)\n if (\"graphic\" === dec.type)\n dec.graphicOwner.disposeGraphic();\n}\n\n/** A cache of decorations previously produced by a [[ViewportDecorator]] for which `useCachedDecorations` is `true`.\n * The decorations are preserved until either:\n * - The associated [[Viewport]]'s scene is invalidated; or\n * - The decorator explicitly requests them to be discarded.\n * The primary benefit is that cached decorations do not get recreated on every mouse motion.\n * @internal\n */\nexport class DecorationsCache {\n private readonly _cache = new Map<ViewportDecorator, CachedDecoration[]>();\n /** If true, attempts to remove entries from the cache will silently fail. This is set while a [[ScreenViewport]] is producing decorations\n * to prevent poorly-written decorators from invalidating the cache while it is being populated by, e.g., calling [[Viewport.invalidateScene]].\n */\n public prohibitRemoval = false;\n\n /** The number of decorators that have entries in the cache. */\n public get size(): number {\n return this._cache.size;\n }\n\n /** Get the list of cached decorations for the decorator. */\n public get(decorator: ViewportDecorator): CachedDecoration[] | undefined {\n return this._cache.get(decorator);\n }\n\n /** Add a decoration to the list of cached decorations for the decorator. */\n public add(decorator: ViewportDecorator, decoration: CachedDecoration): void {\n assert(true === decorator.useCachedDecorations);\n if (!decorator.useCachedDecorations)\n return;\n\n let decorations = this.get(decorator);\n if (!decorations)\n this._cache.set(decorator, decorations = []);\n\n decorations.push(decoration);\n }\n\n /** Delete the decorator and all of its decorations, disposing of the decorations' graphics. */\n public delete(decorator: ViewportDecorator): void {\n if (this.prohibitRemoval)\n return;\n\n assert(true === decorator.useCachedDecorations);\n const decs = this._cache.get(decorator);\n if (decs) {\n disposeCachedDecorations(decs);\n this._cache.delete(decorator);\n }\n }\n\n /** Remove all decorators and their decorations from the cache, disposing of the decorations' graphics. */\n public clear(): void {\n if (this.prohibitRemoval)\n return;\n\n for (const decorations of this._cache.values())\n disposeCachedDecorations(decorations);\n\n this._cache.clear();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DevTools.js","sourceRoot":"","sources":["../../src/DevTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { LogLevel } from \"@itwin/core-bentley\";\r\nimport { DevToolsRpcInterface, DevToolsStatsOptions, IModelRpcProps } from \"@itwin/core-common\";\r\n\r\n/**\r\n * Results of the ping test\r\n * @internal\r\n */\r\nexport interface PingTestResult {\r\n /** Minimum time for the ping response. Set to undefined if any one ping didn't get a response. */\r\n min: number | undefined;\r\n /** Maximum time for the ping response, Set to undefined if any one ping didn't get a response. */\r\n max: number | undefined;\r\n /** Average time for the ping response. Set to undefined if any one ping didn't get a response. */\r\n avg: number | undefined;\r\n}\r\n\r\n/**\r\n * Internal diagnostic utility for backends\r\n * @internal\r\n */\r\nexport class DevTools {\r\n\r\n /** Create a new connection with a specific backend instance.\r\n * @param tokenProps The iModelToken that identifies that backend instance.\r\n * Supply a dummy token if contacting the backend without the Orchestrator.\r\n */\r\n public static connectToBackendInstance(tokenProps: IModelRpcProps): DevTools {\r\n return new DevTools(tokenProps);\r\n }\r\n\r\n /** Constructor */\r\n private constructor(\r\n private readonly _tokenProps: IModelRpcProps) {\r\n }\r\n\r\n /** Measures the round trip times for one or more pings to the backend\r\n * @param count Number of pings to send to the backend\r\n * @return Result of ping test.\r\n */\r\n public async ping(count: number): Promise<PingTestResult> {\r\n const pings = new Array<Promise<number | undefined>>(count);\r\n\r\n const pingFn = async (): Promise<number> => {\r\n const start = Date.now();\r\n await DevToolsRpcInterface.getClient().ping(this._tokenProps);\r\n return Date.now() - start;\r\n };\r\n\r\n for (let ii = 0; ii < count; ii++)\r\n pings[ii] = pingFn().catch(async () => undefined);\r\n\r\n const pingTimes: Array<number | undefined> = await Promise.all(pings);\r\n\r\n const min: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\r\n if (!acc)\r\n return curr;\r\n\r\n if (!curr)\r\n return acc;\r\n\r\n return Math.min(acc, curr);\r\n }, undefined);\r\n\r\n const max: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\r\n if (typeof acc === \"undefined\")\r\n return undefined;\r\n\r\n if (!curr)\r\n return curr;\r\n\r\n return Math.max(acc, curr);\r\n }, 0);\r\n\r\n const total: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\r\n if (typeof acc === \"undefined\")\r\n return undefined;\r\n if (!curr)\r\n return undefined;\r\n\r\n return acc + curr;\r\n }, 0);\r\n\r\n const avg = total ? total / count : undefined;\r\n return { min, max, avg };\r\n }\r\n\r\n /** Returns JSON object with backend statistics */\r\n public async stats(options: DevToolsStatsOptions = DevToolsStatsOptions.FormatUnits): Promise<any> {\r\n return DevToolsRpcInterface.getClient().stats(this._tokenProps, options);\r\n }\r\n\r\n // Returns JSON object with backend versions (application and iModelJs)\r\n public async versions(): Promise<any> {\r\n return DevToolsRpcInterface.getClient().versions(this._tokenProps);\r\n }\r\n\r\n /** Sets up a log level at the backend and returns the old log level */\r\n public async setLogLevel(inLoggerCategory: string, newLevel: LogLevel): Promise<LogLevel | undefined> {\r\n return DevToolsRpcInterface.getClient().setLogLevel(this._tokenProps, inLoggerCategory, newLevel);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"DevTools.js","sourceRoot":"","sources":["../../src/DevTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { LogLevel } from \"@itwin/core-bentley\";\nimport { DevToolsRpcInterface, DevToolsStatsOptions, IModelRpcProps } from \"@itwin/core-common\";\n\n/**\n * Results of the ping test\n * @internal\n */\nexport interface PingTestResult {\n /** Minimum time for the ping response. Set to undefined if any one ping didn't get a response. */\n min: number | undefined;\n /** Maximum time for the ping response, Set to undefined if any one ping didn't get a response. */\n max: number | undefined;\n /** Average time for the ping response. Set to undefined if any one ping didn't get a response. */\n avg: number | undefined;\n}\n\n/**\n * Internal diagnostic utility for backends\n * @internal\n */\nexport class DevTools {\n\n /** Create a new connection with a specific backend instance.\n * @param tokenProps The iModelToken that identifies that backend instance.\n * Supply a dummy token if contacting the backend without the Orchestrator.\n */\n public static connectToBackendInstance(tokenProps: IModelRpcProps): DevTools {\n return new DevTools(tokenProps);\n }\n\n /** Constructor */\n private constructor(\n private readonly _tokenProps: IModelRpcProps) {\n }\n\n /** Measures the round trip times for one or more pings to the backend\n * @param count Number of pings to send to the backend\n * @return Result of ping test.\n */\n public async ping(count: number): Promise<PingTestResult> {\n const pings = new Array<Promise<number | undefined>>(count);\n\n const pingFn = async (): Promise<number> => {\n const start = Date.now();\n await DevToolsRpcInterface.getClient().ping(this._tokenProps);\n return Date.now() - start;\n };\n\n for (let ii = 0; ii < count; ii++)\n pings[ii] = pingFn().catch(async () => undefined);\n\n const pingTimes: Array<number | undefined> = await Promise.all(pings);\n\n const min: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\n if (!acc)\n return curr;\n\n if (!curr)\n return acc;\n\n return Math.min(acc, curr);\n }, undefined);\n\n const max: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\n if (typeof acc === \"undefined\")\n return undefined;\n\n if (!curr)\n return curr;\n\n return Math.max(acc, curr);\n }, 0);\n\n const total: number | undefined = pingTimes.reduce((acc: number | undefined, curr: number | undefined) => {\n if (typeof acc === \"undefined\")\n return undefined;\n if (!curr)\n return undefined;\n\n return acc + curr;\n }, 0);\n\n const avg = total ? total / count : undefined;\n return { min, max, avg };\n }\n\n /** Returns JSON object with backend statistics */\n public async stats(options: DevToolsStatsOptions = DevToolsStatsOptions.FormatUnits): Promise<any> {\n return DevToolsRpcInterface.getClient().stats(this._tokenProps, options);\n }\n\n // Returns JSON object with backend versions (application and iModelJs)\n public async versions(): Promise<any> {\n return DevToolsRpcInterface.getClient().versions(this._tokenProps);\n }\n\n /** Sets up a log level at the backend and returns the old log level */\n public async setLogLevel(inLoggerCategory: string, newLevel: LogLevel): Promise<LogLevel | undefined> {\n return DevToolsRpcInterface.getClient().setLogLevel(this._tokenProps, inLoggerCategory, newLevel);\n }\n}\n"]}