@itwin/core-common 5.0.0-dev.56 → 5.0.0-dev.58

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 (563) hide show
  1. package/lib/cjs/AmbientOcclusion.js +17 -9
  2. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  3. package/lib/cjs/AnalysisStyle.js +20 -1
  4. package/lib/cjs/AnalysisStyle.js.map +1 -1
  5. package/lib/cjs/Atmosphere.js +30 -10
  6. package/lib/cjs/Atmosphere.js.map +1 -1
  7. package/lib/cjs/BackgroundMapProvider.js +4 -0
  8. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  9. package/lib/cjs/BackgroundMapSettings.js +19 -0
  10. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  11. package/lib/cjs/BlobReader.js +8 -6
  12. package/lib/cjs/BlobReader.js.map +1 -1
  13. package/lib/cjs/Camera.js +3 -0
  14. package/lib/cjs/Camera.js.map +1 -1
  15. package/lib/cjs/ClipStyle.js +29 -3
  16. package/lib/cjs/ClipStyle.js.map +1 -1
  17. package/lib/cjs/Code.d.ts +0 -5
  18. package/lib/cjs/Code.d.ts.map +1 -1
  19. package/lib/cjs/Code.js +16 -11
  20. package/lib/cjs/Code.js.map +1 -1
  21. package/lib/cjs/ColorDef.js +6 -5
  22. package/lib/cjs/ColorDef.js.map +1 -1
  23. package/lib/cjs/ConcurrentQuery.js +5 -3
  24. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  25. package/lib/cjs/ContextRealityModel.js +53 -27
  26. package/lib/cjs/ContextRealityModel.js.map +1 -1
  27. package/lib/cjs/ContourDisplay.js +37 -2
  28. package/lib/cjs/ContourDisplay.js.map +1 -1
  29. package/lib/cjs/DisplayStyleSettings.js +95 -63
  30. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  31. package/lib/cjs/ECSqlReader.js +52 -49
  32. package/lib/cjs/ECSqlReader.js.map +1 -1
  33. package/lib/cjs/ElementProps.js +5 -1
  34. package/lib/cjs/ElementProps.js.map +1 -1
  35. package/lib/cjs/EntityProps.js +31 -0
  36. package/lib/cjs/EntityProps.js.map +1 -1
  37. package/lib/cjs/Environment.js +24 -1
  38. package/lib/cjs/Environment.js.map +1 -1
  39. package/lib/cjs/FeatureIndex.js +15 -6
  40. package/lib/cjs/FeatureIndex.js.map +1 -1
  41. package/lib/cjs/FeatureSymbology.d.ts +0 -27
  42. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  43. package/lib/cjs/FeatureSymbology.js +82 -82
  44. package/lib/cjs/FeatureSymbology.js.map +1 -1
  45. package/lib/cjs/FeatureTable.js +5 -0
  46. package/lib/cjs/FeatureTable.js.map +1 -1
  47. package/lib/cjs/Fonts.js +1 -1
  48. package/lib/cjs/Fonts.js.map +1 -1
  49. package/lib/cjs/Frustum.js +2 -2
  50. package/lib/cjs/Frustum.js.map +1 -1
  51. package/lib/cjs/GeometryParams.js +58 -0
  52. package/lib/cjs/GeometryParams.js.map +1 -1
  53. package/lib/cjs/Gradient.js +12 -9
  54. package/lib/cjs/Gradient.js.map +1 -1
  55. package/lib/cjs/GraphicParams.js +14 -12
  56. package/lib/cjs/GraphicParams.js.map +1 -1
  57. package/lib/cjs/GroundPlane.js +7 -1
  58. package/lib/cjs/GroundPlane.js.map +1 -1
  59. package/lib/cjs/HSLColor.js +6 -0
  60. package/lib/cjs/HSLColor.js.map +1 -1
  61. package/lib/cjs/HSVColor.js +6 -0
  62. package/lib/cjs/HSVColor.js.map +1 -1
  63. package/lib/cjs/HiddenLine.js +23 -3
  64. package/lib/cjs/HiddenLine.js.map +1 -1
  65. package/lib/cjs/Hilite.js +10 -0
  66. package/lib/cjs/Hilite.js.map +1 -1
  67. package/lib/cjs/IModel.js +44 -20
  68. package/lib/cjs/IModel.js.map +1 -1
  69. package/lib/cjs/IModelError.js +2 -0
  70. package/lib/cjs/IModelError.js.map +1 -1
  71. package/lib/cjs/IModelVersion.js +4 -0
  72. package/lib/cjs/IModelVersion.js.map +1 -1
  73. package/lib/cjs/Image.js +10 -0
  74. package/lib/cjs/Image.js.map +1 -1
  75. package/lib/cjs/LightSettings.js +39 -1
  76. package/lib/cjs/LightSettings.js.map +1 -1
  77. package/lib/cjs/Localization.d.ts +0 -10
  78. package/lib/cjs/Localization.d.ts.map +1 -1
  79. package/lib/cjs/Localization.js +0 -1
  80. package/lib/cjs/Localization.js.map +1 -1
  81. package/lib/cjs/MapImagerySettings.js +3 -2
  82. package/lib/cjs/MapImagerySettings.js.map +1 -1
  83. package/lib/cjs/MapLayerSettings.js +33 -0
  84. package/lib/cjs/MapLayerSettings.js.map +1 -1
  85. package/lib/cjs/ModelClipGroup.js +6 -0
  86. package/lib/cjs/ModelClipGroup.js.map +1 -1
  87. package/lib/cjs/OctEncodedNormal.js +4 -0
  88. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  89. package/lib/cjs/PlanProjectionSettings.js +8 -0
  90. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  91. package/lib/cjs/PlanarClipMask.js +23 -1
  92. package/lib/cjs/PlanarClipMask.js.map +1 -1
  93. package/lib/cjs/QPoint.js +32 -24
  94. package/lib/cjs/QPoint.js.map +1 -1
  95. package/lib/cjs/RealityModelDisplaySettings.js +79 -2
  96. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  97. package/lib/cjs/RenderMaterial.d.ts +0 -43
  98. package/lib/cjs/RenderMaterial.d.ts.map +1 -1
  99. package/lib/cjs/RenderMaterial.js +6 -51
  100. package/lib/cjs/RenderMaterial.js.map +1 -1
  101. package/lib/cjs/RenderSchedule.d.ts +1 -2
  102. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  103. package/lib/cjs/RenderSchedule.js +138 -11
  104. package/lib/cjs/RenderSchedule.js.map +1 -1
  105. package/lib/cjs/RenderTexture.d.ts +0 -20
  106. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  107. package/lib/cjs/RenderTexture.js +4 -15
  108. package/lib/cjs/RenderTexture.js.map +1 -1
  109. package/lib/cjs/RgbColor.js +3 -0
  110. package/lib/cjs/RgbColor.js.map +1 -1
  111. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  112. package/lib/cjs/RpcInterface.js +6 -0
  113. package/lib/cjs/RpcInterface.js.map +1 -1
  114. package/lib/cjs/SkyBox.js +15 -2
  115. package/lib/cjs/SkyBox.js.map +1 -1
  116. package/lib/cjs/SolarShadows.js +5 -1
  117. package/lib/cjs/SolarShadows.js.map +1 -1
  118. package/lib/cjs/SpatialClassification.js +19 -1
  119. package/lib/cjs/SpatialClassification.js.map +1 -1
  120. package/lib/cjs/SubCategoryAppearance.js +35 -1
  121. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  122. package/lib/cjs/SubCategoryOverride.js +15 -1
  123. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  124. package/lib/cjs/TerrainSettings.d.ts +0 -7
  125. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  126. package/lib/cjs/TerrainSettings.js +19 -0
  127. package/lib/cjs/TerrainSettings.js.map +1 -1
  128. package/lib/cjs/TextureMapping.js +24 -1
  129. package/lib/cjs/TextureMapping.js.map +1 -1
  130. package/lib/cjs/ThematicDisplay.js +53 -2
  131. package/lib/cjs/ThematicDisplay.js.map +1 -1
  132. package/lib/cjs/Tween.js +28 -19
  133. package/lib/cjs/Tween.js.map +1 -1
  134. package/lib/cjs/ViewDetails.js +9 -5
  135. package/lib/cjs/ViewDetails.js.map +1 -1
  136. package/lib/cjs/ViewFlags.js +84 -1
  137. package/lib/cjs/ViewFlags.js.map +1 -1
  138. package/lib/cjs/ViewProps.d.ts +0 -4
  139. package/lib/cjs/ViewProps.d.ts.map +1 -1
  140. package/lib/cjs/ViewProps.js.map +1 -1
  141. package/lib/cjs/WhiteOnWhiteReversalSettings.js +7 -2
  142. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  143. package/lib/cjs/annotation/TextAnnotation.js +10 -0
  144. package/lib/cjs/annotation/TextAnnotation.js.map +1 -1
  145. package/lib/cjs/annotation/TextBlock.js +27 -6
  146. package/lib/cjs/annotation/TextBlock.js.map +1 -1
  147. package/lib/cjs/annotation/TextStyle.js +49 -3
  148. package/lib/cjs/annotation/TextStyle.js.map +1 -1
  149. package/lib/cjs/core-common.d.ts +0 -1
  150. package/lib/cjs/core-common.d.ts.map +1 -1
  151. package/lib/cjs/core-common.js +0 -1
  152. package/lib/cjs/core-common.js.map +1 -1
  153. package/lib/cjs/geometry/AdditionalTransform.js +12 -0
  154. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  155. package/lib/cjs/geometry/AreaPattern.js +17 -0
  156. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  157. package/lib/cjs/geometry/BoundingSphere.js +4 -0
  158. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  159. package/lib/cjs/geometry/Cartographic.js +23 -20
  160. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  161. package/lib/cjs/geometry/CoordinateReferenceSystem.js +62 -0
  162. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  163. package/lib/cjs/geometry/ElementGeometry.js +26 -8
  164. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  165. package/lib/cjs/geometry/ElementGeometryFB.js +54 -108
  166. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  167. package/lib/cjs/geometry/FrustumPlanes.js +1 -0
  168. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  169. package/lib/cjs/geometry/GeodeticDatum.js +100 -0
  170. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  171. package/lib/cjs/geometry/GeodeticEllipsoid.js +16 -0
  172. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  173. package/lib/cjs/geometry/GeometryStream.js +19 -6
  174. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  175. package/lib/cjs/geometry/ImageGraphic.js +10 -0
  176. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  177. package/lib/cjs/geometry/LineStyle.js +14 -0
  178. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  179. package/lib/cjs/geometry/Placement.js +6 -0
  180. package/lib/cjs/geometry/Placement.js.map +1 -1
  181. package/lib/cjs/geometry/Projection.js +75 -0
  182. package/lib/cjs/geometry/Projection.js.map +1 -1
  183. package/lib/cjs/geometry/TextString.js +18 -0
  184. package/lib/cjs/geometry/TextString.js.map +1 -1
  185. package/lib/cjs/{BackendTypes.d.ts → internal/BackendTypes.d.ts} +2 -2
  186. package/lib/cjs/internal/BackendTypes.d.ts.map +1 -0
  187. package/lib/cjs/internal/BackendTypes.js.map +1 -0
  188. package/lib/cjs/internal/PackedFeatureTable.js +10 -0
  189. package/lib/cjs/internal/PackedFeatureTable.js.map +1 -1
  190. package/lib/cjs/internal/RenderMaterialParams.d.ts +47 -0
  191. package/lib/cjs/internal/RenderMaterialParams.d.ts.map +1 -0
  192. package/lib/cjs/internal/RenderMaterialParams.js +68 -0
  193. package/lib/cjs/internal/RenderMaterialParams.js.map +1 -0
  194. package/lib/cjs/internal/RenderMesh.js +10 -7
  195. package/lib/cjs/internal/RenderMesh.js.map +1 -1
  196. package/lib/cjs/internal/RenderTextureParams.d.ts +25 -0
  197. package/lib/cjs/internal/RenderTextureParams.d.ts.map +1 -0
  198. package/lib/cjs/internal/RenderTextureParams.js +37 -0
  199. package/lib/cjs/internal/RenderTextureParams.js.map +1 -0
  200. package/lib/cjs/internal/cross-package.d.ts +3 -0
  201. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  202. package/lib/cjs/internal/cross-package.js +5 -1
  203. package/lib/cjs/internal/cross-package.js.map +1 -1
  204. package/lib/cjs/ipc/IpcSession.js +1 -0
  205. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  206. package/lib/cjs/ipc/IpcWebSocket.js +7 -6
  207. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  208. package/lib/cjs/ipc/IpcWebSocketTransport.js +8 -7
  209. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  210. package/lib/cjs/rpc/DevToolsRpcInterface.js +2 -2
  211. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  212. package/lib/cjs/rpc/IModelReadRpcInterface.js +4 -7
  213. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  214. package/lib/cjs/rpc/IModelTileRpcInterface.js +2 -2
  215. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  216. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +2 -2
  217. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  218. package/lib/cjs/rpc/TestRpcManager.js +1 -4
  219. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  220. package/lib/cjs/rpc/core/RpcConfiguration.js +25 -36
  221. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  222. package/lib/cjs/rpc/core/RpcControl.js +28 -30
  223. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  224. package/lib/cjs/rpc/core/RpcInvocation.js +17 -9
  225. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  226. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +1 -1
  227. package/lib/cjs/rpc/core/RpcMarshaling.d.ts.map +1 -1
  228. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  229. package/lib/cjs/rpc/core/RpcOperation.js +28 -30
  230. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  231. package/lib/cjs/rpc/core/RpcPendingQueue.js +17 -16
  232. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  233. package/lib/cjs/rpc/core/RpcProtocol.js +30 -28
  234. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  235. package/lib/cjs/rpc/core/RpcPush.js +13 -6
  236. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  237. package/lib/cjs/rpc/core/RpcRegistry.js +10 -9
  238. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  239. package/lib/cjs/rpc/core/RpcRequest.js +45 -23
  240. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  241. package/lib/cjs/rpc/core/RpcRoutingToken.js +4 -2
  242. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  243. package/lib/cjs/rpc/core/RpcSessionInvocation.js +5 -10
  244. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  245. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +7 -13
  246. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  247. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +16 -19
  248. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  249. package/lib/cjs/rpc/web/OpenAPI.js +2 -0
  250. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  251. package/lib/cjs/rpc/web/RpcMultipart.d.ts +1 -1
  252. package/lib/cjs/rpc/web/RpcMultipart.d.ts.map +1 -1
  253. package/lib/cjs/rpc/web/RpcMultipart.js +2 -2
  254. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  255. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +1 -1
  256. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  257. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +6 -6
  258. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  259. package/lib/cjs/rpc/web/WebAppRpcRequest.js +12 -10
  260. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  261. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +14 -0
  262. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  263. package/lib/cjs/tile/B3dmTileIO.js +7 -0
  264. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  265. package/lib/cjs/tile/CompositeTileIO.js +3 -0
  266. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  267. package/lib/cjs/tile/GltfTileIO.js +4 -3
  268. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  269. package/lib/cjs/tile/I3dmTileIO.js +8 -0
  270. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  271. package/lib/cjs/tile/IModelTileIO.js +24 -1
  272. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  273. package/lib/cjs/tile/PntsTileIO.js +5 -0
  274. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  275. package/lib/cjs/tile/TileIO.js +2 -0
  276. package/lib/cjs/tile/TileIO.js.map +1 -1
  277. package/lib/cjs/tile/TileMetadata.js +9 -1
  278. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  279. package/lib/esm/AmbientOcclusion.js +17 -9
  280. package/lib/esm/AmbientOcclusion.js.map +1 -1
  281. package/lib/esm/AnalysisStyle.js +20 -1
  282. package/lib/esm/AnalysisStyle.js.map +1 -1
  283. package/lib/esm/Atmosphere.js +30 -10
  284. package/lib/esm/Atmosphere.js.map +1 -1
  285. package/lib/esm/BackgroundMapProvider.js +4 -0
  286. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  287. package/lib/esm/BackgroundMapSettings.js +19 -0
  288. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  289. package/lib/esm/BlobReader.js +8 -6
  290. package/lib/esm/BlobReader.js.map +1 -1
  291. package/lib/esm/Camera.js +3 -0
  292. package/lib/esm/Camera.js.map +1 -1
  293. package/lib/esm/ClipStyle.js +29 -3
  294. package/lib/esm/ClipStyle.js.map +1 -1
  295. package/lib/esm/Code.d.ts +0 -5
  296. package/lib/esm/Code.d.ts.map +1 -1
  297. package/lib/esm/Code.js +16 -11
  298. package/lib/esm/Code.js.map +1 -1
  299. package/lib/esm/ColorDef.js +6 -5
  300. package/lib/esm/ColorDef.js.map +1 -1
  301. package/lib/esm/ConcurrentQuery.js +5 -3
  302. package/lib/esm/ConcurrentQuery.js.map +1 -1
  303. package/lib/esm/ContextRealityModel.js +53 -27
  304. package/lib/esm/ContextRealityModel.js.map +1 -1
  305. package/lib/esm/ContourDisplay.js +37 -2
  306. package/lib/esm/ContourDisplay.js.map +1 -1
  307. package/lib/esm/DisplayStyleSettings.js +95 -63
  308. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  309. package/lib/esm/ECSqlReader.js +52 -49
  310. package/lib/esm/ECSqlReader.js.map +1 -1
  311. package/lib/esm/ElementProps.js +5 -1
  312. package/lib/esm/ElementProps.js.map +1 -1
  313. package/lib/esm/EntityProps.js +31 -0
  314. package/lib/esm/EntityProps.js.map +1 -1
  315. package/lib/esm/Environment.js +24 -1
  316. package/lib/esm/Environment.js.map +1 -1
  317. package/lib/esm/FeatureIndex.js +15 -6
  318. package/lib/esm/FeatureIndex.js.map +1 -1
  319. package/lib/esm/FeatureSymbology.d.ts +0 -27
  320. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  321. package/lib/esm/FeatureSymbology.js +82 -82
  322. package/lib/esm/FeatureSymbology.js.map +1 -1
  323. package/lib/esm/FeatureTable.js +5 -0
  324. package/lib/esm/FeatureTable.js.map +1 -1
  325. package/lib/esm/Fonts.js +1 -1
  326. package/lib/esm/Fonts.js.map +1 -1
  327. package/lib/esm/Frustum.js +2 -2
  328. package/lib/esm/Frustum.js.map +1 -1
  329. package/lib/esm/GeometryParams.js +58 -0
  330. package/lib/esm/GeometryParams.js.map +1 -1
  331. package/lib/esm/Gradient.js +12 -9
  332. package/lib/esm/Gradient.js.map +1 -1
  333. package/lib/esm/GraphicParams.js +14 -12
  334. package/lib/esm/GraphicParams.js.map +1 -1
  335. package/lib/esm/GroundPlane.js +7 -1
  336. package/lib/esm/GroundPlane.js.map +1 -1
  337. package/lib/esm/HSLColor.js +6 -0
  338. package/lib/esm/HSLColor.js.map +1 -1
  339. package/lib/esm/HSVColor.js +6 -0
  340. package/lib/esm/HSVColor.js.map +1 -1
  341. package/lib/esm/HiddenLine.js +23 -3
  342. package/lib/esm/HiddenLine.js.map +1 -1
  343. package/lib/esm/Hilite.js +10 -0
  344. package/lib/esm/Hilite.js.map +1 -1
  345. package/lib/esm/IModel.js +44 -20
  346. package/lib/esm/IModel.js.map +1 -1
  347. package/lib/esm/IModelError.js +2 -0
  348. package/lib/esm/IModelError.js.map +1 -1
  349. package/lib/esm/IModelVersion.js +4 -0
  350. package/lib/esm/IModelVersion.js.map +1 -1
  351. package/lib/esm/Image.js +10 -0
  352. package/lib/esm/Image.js.map +1 -1
  353. package/lib/esm/LightSettings.js +39 -1
  354. package/lib/esm/LightSettings.js.map +1 -1
  355. package/lib/esm/Localization.d.ts +0 -10
  356. package/lib/esm/Localization.d.ts.map +1 -1
  357. package/lib/esm/Localization.js +0 -1
  358. package/lib/esm/Localization.js.map +1 -1
  359. package/lib/esm/MapImagerySettings.js +3 -2
  360. package/lib/esm/MapImagerySettings.js.map +1 -1
  361. package/lib/esm/MapLayerSettings.js +33 -0
  362. package/lib/esm/MapLayerSettings.js.map +1 -1
  363. package/lib/esm/ModelClipGroup.js +6 -0
  364. package/lib/esm/ModelClipGroup.js.map +1 -1
  365. package/lib/esm/OctEncodedNormal.js +4 -0
  366. package/lib/esm/OctEncodedNormal.js.map +1 -1
  367. package/lib/esm/PlanProjectionSettings.js +8 -0
  368. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  369. package/lib/esm/PlanarClipMask.js +23 -1
  370. package/lib/esm/PlanarClipMask.js.map +1 -1
  371. package/lib/esm/QPoint.js +32 -24
  372. package/lib/esm/QPoint.js.map +1 -1
  373. package/lib/esm/RealityModelDisplaySettings.js +79 -2
  374. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  375. package/lib/esm/RenderMaterial.d.ts +0 -43
  376. package/lib/esm/RenderMaterial.d.ts.map +1 -1
  377. package/lib/esm/RenderMaterial.js +6 -51
  378. package/lib/esm/RenderMaterial.js.map +1 -1
  379. package/lib/esm/RenderSchedule.d.ts +1 -2
  380. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  381. package/lib/esm/RenderSchedule.js +138 -11
  382. package/lib/esm/RenderSchedule.js.map +1 -1
  383. package/lib/esm/RenderTexture.d.ts +0 -20
  384. package/lib/esm/RenderTexture.d.ts.map +1 -1
  385. package/lib/esm/RenderTexture.js +4 -15
  386. package/lib/esm/RenderTexture.js.map +1 -1
  387. package/lib/esm/RgbColor.js +3 -0
  388. package/lib/esm/RgbColor.js.map +1 -1
  389. package/lib/esm/RpcInterface.d.ts.map +1 -1
  390. package/lib/esm/RpcInterface.js +6 -0
  391. package/lib/esm/RpcInterface.js.map +1 -1
  392. package/lib/esm/SkyBox.js +15 -2
  393. package/lib/esm/SkyBox.js.map +1 -1
  394. package/lib/esm/SolarShadows.js +5 -1
  395. package/lib/esm/SolarShadows.js.map +1 -1
  396. package/lib/esm/SpatialClassification.js +19 -1
  397. package/lib/esm/SpatialClassification.js.map +1 -1
  398. package/lib/esm/SubCategoryAppearance.js +35 -1
  399. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  400. package/lib/esm/SubCategoryOverride.js +15 -1
  401. package/lib/esm/SubCategoryOverride.js.map +1 -1
  402. package/lib/esm/TerrainSettings.d.ts +0 -7
  403. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  404. package/lib/esm/TerrainSettings.js +19 -0
  405. package/lib/esm/TerrainSettings.js.map +1 -1
  406. package/lib/esm/TextureMapping.js +24 -1
  407. package/lib/esm/TextureMapping.js.map +1 -1
  408. package/lib/esm/ThematicDisplay.js +53 -2
  409. package/lib/esm/ThematicDisplay.js.map +1 -1
  410. package/lib/esm/Tween.js +28 -19
  411. package/lib/esm/Tween.js.map +1 -1
  412. package/lib/esm/ViewDetails.js +9 -5
  413. package/lib/esm/ViewDetails.js.map +1 -1
  414. package/lib/esm/ViewFlags.js +84 -1
  415. package/lib/esm/ViewFlags.js.map +1 -1
  416. package/lib/esm/ViewProps.d.ts +0 -4
  417. package/lib/esm/ViewProps.d.ts.map +1 -1
  418. package/lib/esm/ViewProps.js.map +1 -1
  419. package/lib/esm/WhiteOnWhiteReversalSettings.js +7 -2
  420. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  421. package/lib/esm/annotation/TextAnnotation.js +10 -0
  422. package/lib/esm/annotation/TextAnnotation.js.map +1 -1
  423. package/lib/esm/annotation/TextBlock.js +27 -6
  424. package/lib/esm/annotation/TextBlock.js.map +1 -1
  425. package/lib/esm/annotation/TextStyle.js +49 -3
  426. package/lib/esm/annotation/TextStyle.js.map +1 -1
  427. package/lib/esm/core-common.d.ts +0 -1
  428. package/lib/esm/core-common.d.ts.map +1 -1
  429. package/lib/esm/core-common.js +0 -1
  430. package/lib/esm/core-common.js.map +1 -1
  431. package/lib/esm/geometry/AdditionalTransform.js +12 -0
  432. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  433. package/lib/esm/geometry/AreaPattern.js +17 -0
  434. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  435. package/lib/esm/geometry/BoundingSphere.js +4 -0
  436. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  437. package/lib/esm/geometry/Cartographic.js +23 -20
  438. package/lib/esm/geometry/Cartographic.js.map +1 -1
  439. package/lib/esm/geometry/CoordinateReferenceSystem.js +62 -0
  440. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  441. package/lib/esm/geometry/ElementGeometry.js +26 -8
  442. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  443. package/lib/esm/geometry/ElementGeometryFB.js +54 -108
  444. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  445. package/lib/esm/geometry/FrustumPlanes.js +1 -0
  446. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  447. package/lib/esm/geometry/GeodeticDatum.js +100 -0
  448. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  449. package/lib/esm/geometry/GeodeticEllipsoid.js +16 -0
  450. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  451. package/lib/esm/geometry/GeometryStream.js +19 -6
  452. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  453. package/lib/esm/geometry/ImageGraphic.js +10 -0
  454. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  455. package/lib/esm/geometry/LineStyle.js +14 -0
  456. package/lib/esm/geometry/LineStyle.js.map +1 -1
  457. package/lib/esm/geometry/Placement.js +6 -0
  458. package/lib/esm/geometry/Placement.js.map +1 -1
  459. package/lib/esm/geometry/Projection.js +75 -0
  460. package/lib/esm/geometry/Projection.js.map +1 -1
  461. package/lib/esm/geometry/TextString.js +18 -0
  462. package/lib/esm/geometry/TextString.js.map +1 -1
  463. package/lib/esm/{BackendTypes.d.ts → internal/BackendTypes.d.ts} +2 -2
  464. package/lib/esm/internal/BackendTypes.d.ts.map +1 -0
  465. package/lib/esm/internal/BackendTypes.js.map +1 -0
  466. package/lib/esm/internal/PackedFeatureTable.js +10 -0
  467. package/lib/esm/internal/PackedFeatureTable.js.map +1 -1
  468. package/lib/esm/internal/RenderMaterialParams.d.ts +47 -0
  469. package/lib/esm/internal/RenderMaterialParams.d.ts.map +1 -0
  470. package/lib/esm/internal/RenderMaterialParams.js +64 -0
  471. package/lib/esm/internal/RenderMaterialParams.js.map +1 -0
  472. package/lib/esm/internal/RenderMesh.js +10 -7
  473. package/lib/esm/internal/RenderMesh.js.map +1 -1
  474. package/lib/esm/internal/RenderTextureParams.d.ts +25 -0
  475. package/lib/esm/internal/RenderTextureParams.d.ts.map +1 -0
  476. package/lib/esm/internal/RenderTextureParams.js +33 -0
  477. package/lib/esm/internal/RenderTextureParams.js.map +1 -0
  478. package/lib/esm/internal/cross-package.d.ts +3 -0
  479. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  480. package/lib/esm/internal/cross-package.js +2 -0
  481. package/lib/esm/internal/cross-package.js.map +1 -1
  482. package/lib/esm/ipc/IpcSession.js +1 -0
  483. package/lib/esm/ipc/IpcSession.js.map +1 -1
  484. package/lib/esm/ipc/IpcWebSocket.js +7 -6
  485. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  486. package/lib/esm/ipc/IpcWebSocketTransport.js +8 -7
  487. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  488. package/lib/esm/rpc/DevToolsRpcInterface.js +2 -2
  489. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  490. package/lib/esm/rpc/IModelReadRpcInterface.js +4 -7
  491. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  492. package/lib/esm/rpc/IModelTileRpcInterface.js +2 -2
  493. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  494. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +2 -2
  495. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  496. package/lib/esm/rpc/TestRpcManager.js +1 -4
  497. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  498. package/lib/esm/rpc/core/RpcConfiguration.js +25 -36
  499. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  500. package/lib/esm/rpc/core/RpcControl.js +28 -30
  501. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  502. package/lib/esm/rpc/core/RpcInvocation.js +17 -9
  503. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  504. package/lib/esm/rpc/core/RpcMarshaling.d.ts +1 -1
  505. package/lib/esm/rpc/core/RpcMarshaling.d.ts.map +1 -1
  506. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  507. package/lib/esm/rpc/core/RpcOperation.js +28 -30
  508. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  509. package/lib/esm/rpc/core/RpcPendingQueue.js +17 -16
  510. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  511. package/lib/esm/rpc/core/RpcProtocol.js +30 -28
  512. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  513. package/lib/esm/rpc/core/RpcPush.js +13 -6
  514. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  515. package/lib/esm/rpc/core/RpcRegistry.js +10 -9
  516. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  517. package/lib/esm/rpc/core/RpcRequest.js +45 -23
  518. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  519. package/lib/esm/rpc/core/RpcRoutingToken.js +4 -2
  520. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  521. package/lib/esm/rpc/core/RpcSessionInvocation.js +5 -10
  522. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  523. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +7 -13
  524. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  525. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +16 -19
  526. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  527. package/lib/esm/rpc/web/OpenAPI.js +2 -0
  528. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  529. package/lib/esm/rpc/web/RpcMultipart.d.ts +1 -1
  530. package/lib/esm/rpc/web/RpcMultipart.d.ts.map +1 -1
  531. package/lib/esm/rpc/web/RpcMultipart.js +2 -2
  532. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  533. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +1 -1
  534. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  535. package/lib/esm/rpc/web/WebAppRpcProtocol.js +6 -6
  536. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  537. package/lib/esm/rpc/web/WebAppRpcRequest.js +12 -10
  538. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  539. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +14 -0
  540. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  541. package/lib/esm/tile/B3dmTileIO.js +7 -0
  542. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  543. package/lib/esm/tile/CompositeTileIO.js +3 -0
  544. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  545. package/lib/esm/tile/GltfTileIO.js +4 -3
  546. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  547. package/lib/esm/tile/I3dmTileIO.js +8 -0
  548. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  549. package/lib/esm/tile/IModelTileIO.js +24 -1
  550. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  551. package/lib/esm/tile/PntsTileIO.js +5 -0
  552. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  553. package/lib/esm/tile/TileIO.js +2 -0
  554. package/lib/esm/tile/TileIO.js.map +1 -1
  555. package/lib/esm/tile/TileMetadata.js +9 -1
  556. package/lib/esm/tile/TileMetadata.js.map +1 -1
  557. package/package.json +6 -6
  558. package/lib/cjs/BackendTypes.d.ts.map +0 -1
  559. package/lib/cjs/BackendTypes.js.map +0 -1
  560. package/lib/esm/BackendTypes.d.ts.map +0 -1
  561. package/lib/esm/BackendTypes.js.map +0 -1
  562. /package/lib/cjs/{BackendTypes.js → internal/BackendTypes.js} +0 -0
  563. /package/lib/esm/{BackendTypes.js → internal/BackendTypes.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMesh.js","sourceRoot":"","sources":["../../../src/internal/RenderMesh.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 Rendering\n */\n\nimport { OctEncodedNormalPair } from \"../OctEncodedNormal\";\nimport { PolylineIndices } from \"../RenderPolyline\";\n\n/** @internal */\nexport class MeshPolyline {\n public readonly indices: PolylineIndices;\n\n public constructor(indices: PolylineIndices = []) {\n this.indices = indices.slice();\n }\n\n public addIndex(index: number) {\n const { indices } = this;\n if (indices.length === 0 || indices[indices.length - 1] !== index)\n indices.push(index);\n }\n\n public clear() { this.indices.length = 0; }\n}\n\n/** @internal */\nexport type MeshPolylineList = MeshPolyline[];\n\n/** @internal */\nexport class MeshEdge {\n public indices = [0, 0];\n\n public constructor(index0?: number, index1?: number) {\n if (undefined === index0 || undefined === index1)\n return;\n if (index0 < index1) {\n this.indices[0] = index0;\n this.indices[1] = index1;\n } else {\n this.indices[0] = index1;\n this.indices[1] = index0;\n }\n }\n\n public compareTo(other: MeshEdge): number {\n let diff = this.indices[0] - other.indices[0];\n if (0 === diff)\n diff = this.indices[1] - other.indices[1];\n\n return diff;\n }\n}\n\n/** @internal */\nexport class MeshEdges {\n public visible: MeshEdge[] = [];\n public silhouette: MeshEdge[] = [];\n public polylines: MeshPolylineList = [];\n public silhouetteNormals: OctEncodedNormalPair[] = [];\n public constructor() { }\n}\n\n/** @internal */\nexport class EdgeArgs {\n public edges?: MeshEdge[];\n\n public init(meshEdges?: MeshEdges): boolean {\n this.clear();\n if (undefined !== meshEdges && 0 < meshEdges.visible.length)\n this.edges = meshEdges.visible;\n\n return this.isValid;\n }\n\n public clear(): void { this.edges = undefined; }\n public get isValid(): boolean { return 0 < this.numEdges; }\n public get numEdges() { return undefined !== this.edges ? this.edges.length : 0; }\n}\n\n/** @internal */\nexport class SilhouetteEdgeArgs extends EdgeArgs {\n public normals?: OctEncodedNormalPair[];\n\n public override init(meshEdges?: MeshEdges) {\n this.clear();\n if (undefined !== meshEdges && 0 < meshEdges.silhouette.length) {\n this.edges = meshEdges.silhouette;\n this.normals = meshEdges.silhouetteNormals;\n }\n\n return this.isValid;\n }\n\n public override clear() {\n this.normals = undefined;\n super.clear();\n }\n}\n\n/** @internal */\nexport class PolylineEdgeArgs {\n public lines?: PolylineIndices[];\n\n public constructor(lines?: PolylineIndices[]) { this.init(lines); }\n\n public init(lines?: PolylineIndices[]): boolean {\n this.lines = undefined !== lines && 0 < lines.length ? lines : undefined;\n return this.isValid;\n }\n\n public get numLines() { return undefined !== this.lines ? this.lines.length : 0; }\n public get isValid() { return this.numLines > 0; }\n public clear() { this.lines = undefined; }\n}\n"]}
1
+ {"version":3,"file":"RenderMesh.js","sourceRoot":"","sources":["../../../src/internal/RenderMesh.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 Rendering\n */\n\nimport { OctEncodedNormalPair } from \"../OctEncodedNormal\";\nimport { PolylineIndices } from \"../RenderPolyline\";\n\n/** @internal */\nexport class MeshPolyline {\n public readonly indices: PolylineIndices;\n\n public constructor(indices: PolylineIndices = []) {\n this.indices = indices.slice();\n }\n\n public addIndex(index: number) {\n const { indices } = this;\n if (indices.length === 0 || indices[indices.length - 1] !== index)\n indices.push(index);\n }\n\n public clear() { this.indices.length = 0; }\n}\n\n/** @internal */\nexport type MeshPolylineList = MeshPolyline[];\n\n/** @internal */\nexport class MeshEdge {\n public indices = [0, 0];\n\n public constructor(index0?: number, index1?: number) {\n if (undefined === index0 || undefined === index1)\n return;\n if (index0 < index1) {\n this.indices[0] = index0;\n this.indices[1] = index1;\n } else {\n this.indices[0] = index1;\n this.indices[1] = index0;\n }\n }\n\n public compareTo(other: MeshEdge): number {\n let diff = this.indices[0] - other.indices[0];\n if (0 === diff)\n diff = this.indices[1] - other.indices[1];\n\n return diff;\n }\n}\n\n/** @internal */\nexport class MeshEdges {\n public visible: MeshEdge[] = [];\n public silhouette: MeshEdge[] = [];\n public polylines: MeshPolylineList = [];\n public silhouetteNormals: OctEncodedNormalPair[] = [];\n public constructor() { }\n}\n\n/** @internal */\nexport class EdgeArgs {\n public edges?: MeshEdge[];\n\n public init(meshEdges?: MeshEdges): boolean {\n this.clear();\n if (undefined !== meshEdges && 0 < meshEdges.visible.length)\n this.edges = meshEdges.visible;\n\n return this.isValid;\n }\n\n public clear(): void { this.edges = undefined; }\n public get isValid(): boolean { return 0 < this.numEdges; }\n public get numEdges() { return undefined !== this.edges ? this.edges.length : 0; }\n}\n\n/** @internal */\nexport class SilhouetteEdgeArgs extends EdgeArgs {\n public normals?: OctEncodedNormalPair[];\n\n public override init(meshEdges?: MeshEdges) {\n this.clear();\n if (undefined !== meshEdges && 0 < meshEdges.silhouette.length) {\n this.edges = meshEdges.silhouette;\n this.normals = meshEdges.silhouetteNormals;\n }\n\n return this.isValid;\n }\n\n public override clear() {\n this.normals = undefined;\n super.clear();\n }\n}\n\n/** @internal */\nexport class PolylineEdgeArgs {\n public lines?: PolylineIndices[];\n\n public constructor(lines?: PolylineIndices[]) { this.init(lines); }\n\n public init(lines?: PolylineIndices[]): boolean {\n this.lines = undefined !== lines && 0 < lines.length ? lines : undefined;\n return this.isValid;\n }\n\n public get numLines() { return undefined !== this.lines ? this.lines.length : 0; }\n public get isValid() { return this.numLines > 0; }\n public clear() { this.lines = undefined; }\n}\n"]}
@@ -0,0 +1,25 @@
1
+ /** @packageDocumentation
2
+ * @module Rendering
3
+ */
4
+ import { RenderTexture } from "../RenderTexture";
5
+ /** Parameters used to construct a [[RenderTexture]] in old RenderTexture functions.
6
+ * Use RenderSystem.createTexture and CreateTextureArgs instead.
7
+ * @internal
8
+ */
9
+ export declare class RenderTextureParams {
10
+ /** A string uniquely identifying this texture within the context of an [[IModel]]. Typically this is the element Id of the corresponding [Texture]($backend) element.
11
+ * Textures created on the front-end generally have no key.
12
+ */
13
+ readonly key?: string;
14
+ /** Indicates the type of texture. */
15
+ readonly type: RenderTexture.Type;
16
+ /** Indicates that some object is managing the lifetime of this texture and will take care of calling its dispose function appropriately.
17
+ * An unowned texture associated with a [RenderGraphic]($frontend) will be disposed when the RenderGraphic is disposed.
18
+ */
19
+ readonly isOwned: boolean;
20
+ constructor(key?: string, type?: RenderTexture.Type, isOwned?: boolean);
21
+ get isTileSection(): boolean;
22
+ get isGlyph(): boolean;
23
+ get isSkyBox(): boolean;
24
+ }
25
+ //# sourceMappingURL=RenderTextureParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderTextureParams.d.ts","sourceRoot":"","sources":["../../../src/internal/RenderTextureParams.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;MAEE;IACF,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,qCAAqC;IACrC,SAAgB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;IACzC;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;gBAEd,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,aAAa,CAAC,IAAgC,EAAE,OAAO,GAAE,OAAe;IAM/G,IAAW,aAAa,IAAI,OAAO,CAAyD;IAC5F,IAAW,OAAO,IAAI,OAAO,CAAmD;IAChF,IAAW,QAAQ,IAAI,OAAO,CAAoD;CACnF"}
@@ -0,0 +1,33 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Rendering
7
+ */
8
+ import { RenderTexture } from "../RenderTexture";
9
+ /** Parameters used to construct a [[RenderTexture]] in old RenderTexture functions.
10
+ * Use RenderSystem.createTexture and CreateTextureArgs instead.
11
+ * @internal
12
+ */
13
+ export class RenderTextureParams {
14
+ /** A string uniquely identifying this texture within the context of an [[IModel]]. Typically this is the element Id of the corresponding [Texture]($backend) element.
15
+ * Textures created on the front-end generally have no key.
16
+ */
17
+ key;
18
+ /** Indicates the type of texture. */
19
+ type;
20
+ /** Indicates that some object is managing the lifetime of this texture and will take care of calling its dispose function appropriately.
21
+ * An unowned texture associated with a [RenderGraphic]($frontend) will be disposed when the RenderGraphic is disposed.
22
+ */
23
+ isOwned;
24
+ constructor(key, type = RenderTexture.Type.Normal, isOwned = false) {
25
+ this.key = key;
26
+ this.type = type;
27
+ this.isOwned = isOwned;
28
+ }
29
+ get isTileSection() { return RenderTexture.Type.TileSection === this.type; }
30
+ get isGlyph() { return RenderTexture.Type.Glyph === this.type; }
31
+ get isSkyBox() { return RenderTexture.Type.SkyBox === this.type; }
32
+ }
33
+ //# sourceMappingURL=RenderTextureParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderTextureParams.js","sourceRoot":"","sources":["../../../src/internal/RenderTextureParams.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;MAEE;IACc,GAAG,CAAU;IAC7B,qCAAqC;IACrB,IAAI,CAAqB;IACzC;;OAEG;IACa,OAAO,CAAU;IAEjC,YAAmB,GAAY,EAAE,OAA2B,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAmB,KAAK;QAC7G,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAW,aAAa,KAAc,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,IAAW,OAAO,KAAc,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,IAAW,QAAQ,KAAc,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;CACnF","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 Rendering\n */\nimport { RenderTexture } from \"../RenderTexture\";\n\n/** Parameters used to construct a [[RenderTexture]] in old RenderTexture functions.\n * Use RenderSystem.createTexture and CreateTextureArgs instead.\n * @internal\n */\nexport class RenderTextureParams {\n /** A string uniquely identifying this texture within the context of an [[IModel]]. Typically this is the element Id of the corresponding [Texture]($backend) element.\n * Textures created on the front-end generally have no key.\n */\n public readonly key?: string;\n /** Indicates the type of texture. */\n public readonly type: RenderTexture.Type;\n /** Indicates that some object is managing the lifetime of this texture and will take care of calling its dispose function appropriately.\n * An unowned texture associated with a [RenderGraphic]($frontend) will be disposed when the RenderGraphic is disposed.\n */\n public readonly isOwned: boolean;\n\n public constructor(key?: string, type: RenderTexture.Type = RenderTexture.Type.Normal, isOwned: boolean = false) {\n this.key = key;\n this.type = type;\n this.isOwned = isOwned;\n }\n\n public get isTileSection(): boolean { return RenderTexture.Type.TileSection === this.type; }\n public get isGlyph(): boolean { return RenderTexture.Type.Glyph === this.type; }\n public get isSkyBox(): boolean { return RenderTexture.Type.SkyBox === this.type; }\n}"]}
@@ -1,4 +1,7 @@
1
1
  export type { DecorationGeometryProps, SnapRequestProps, SnapResponseProps } from "./Snapping";
2
2
  export { EdgeArgs, MeshEdge, MeshEdges, MeshPolyline, type MeshPolylineList, PolylineEdgeArgs, SilhouetteEdgeArgs } from "./RenderMesh";
3
3
  export { MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTable } from "./PackedFeatureTable";
4
+ export type { BackendReadable, BackendWritable, BackendBuffer } from "./BackendTypes";
5
+ export { RenderMaterialParams } from "./RenderMaterialParams";
6
+ export { RenderTextureParams } from "./RenderTextureParams";
4
7
  //# sourceMappingURL=cross-package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-package.d.ts","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EACzG,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"cross-package.d.ts","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EACzG,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -4,4 +4,6 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  export { EdgeArgs, MeshEdge, MeshEdges, MeshPolyline, PolylineEdgeArgs, SilhouetteEdgeArgs } from "./RenderMesh";
6
6
  export { MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTable } from "./PackedFeatureTable";
7
+ export { RenderMaterialParams } from "./RenderMaterialParams";
8
+ export { RenderTextureParams } from "./RenderTextureParams";
7
9
  //# sourceMappingURL=cross-package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross-package.js","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAyB,gBAAgB,EAAE,kBAAkB,EACzG,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC","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\nexport type { DecorationGeometryProps, SnapRequestProps, SnapResponseProps } from \"./Snapping\";\nexport {\n EdgeArgs, MeshEdge, MeshEdges, MeshPolyline, type MeshPolylineList, PolylineEdgeArgs, SilhouetteEdgeArgs\n} from \"./RenderMesh\";\nexport {\n MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTable\n} from \"./PackedFeatureTable\";\n"]}
1
+ {"version":3,"file":"cross-package.js","sourceRoot":"","sources":["../../../src/internal/cross-package.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAyB,gBAAgB,EAAE,kBAAkB,EACzG,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAAE,uBAAuB,EAAE,kBAAkB,EAC1E,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC","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\nexport type { DecorationGeometryProps, SnapRequestProps, SnapResponseProps } from \"./Snapping\";\nexport {\n EdgeArgs, MeshEdge, MeshEdges, MeshPolyline, type MeshPolylineList, PolylineEdgeArgs, SilhouetteEdgeArgs\n} from \"./RenderMesh\";\nexport {\n MultiModelPackedFeatureTable, PackedFeatureModelTable, PackedFeatureTable\n} from \"./PackedFeatureTable\";\nexport type { BackendReadable, BackendWritable, BackendBuffer } from \"./BackendTypes\";\nexport { RenderMaterialParams } from \"./RenderMaterialParams\";\nexport { RenderTextureParams } from \"./RenderTextureParams\";\n"]}
@@ -11,6 +11,7 @@ export const rpcOverIpcStrings = {
11
11
  };
12
12
  /** @internal */
13
13
  export class IpcSession {
14
+ static _active;
14
15
  static get active() { return this._active; }
15
16
  static start(session) {
16
17
  if (this._active)
@@ -1 +1 @@
1
- {"version":3,"file":"IpcSession.js","sourceRoot":"","sources":["../../../src/ipc/IpcSession.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,2BAA2B;CAChC,CAAC;AAUX,gBAAgB;AAChB,MAAM,OAAgB,UAAU;IAEvB,MAAM,KAAK,MAAM,KAA6B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,OAAmB;QACrC,IAAI,IAAI,CAAC,OAAO;YACd,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,IAAI;QAChB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CAGF","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 IpcSocket\n */\n\n/** @internal */\nexport const rpcOverIpcStrings = {\n channelName: \"itwinjs-core/rpc-over-ipc\",\n} as const;\n\n/** @internal */\nexport interface InterceptedRpcRequest {\n definition: { interfaceName: string, interfaceVersion: string };\n operation: string;\n parameters: any[];\n context: { [index: string]: string };\n}\n\n/** @internal */\nexport abstract class IpcSession {\n private static _active?: IpcSession;\n public static get active(): IpcSession | undefined { return this._active; }\n\n public static start(session: IpcSession) {\n if (this._active)\n return;\n\n this._active = session;\n }\n\n public static stop() {\n this._active = undefined;\n }\n\n public abstract handleRpc(info: InterceptedRpcRequest): Promise<any>;\n}\n"]}
1
+ {"version":3,"file":"IpcSession.js","sourceRoot":"","sources":["../../../src/ipc/IpcSession.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,2BAA2B;CAChC,CAAC;AAUX,gBAAgB;AAChB,MAAM,OAAgB,UAAU;IACtB,MAAM,CAAC,OAAO,CAAc;IAC7B,MAAM,KAAK,MAAM,KAA6B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,OAAmB;QACrC,IAAI,IAAI,CAAC,OAAO;YACd,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,IAAI;QAChB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CAGF","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 IpcSocket\n */\n\n/** @internal */\nexport const rpcOverIpcStrings = {\n channelName: \"itwinjs-core/rpc-over-ipc\",\n} as const;\n\n/** @internal */\nexport interface InterceptedRpcRequest {\n definition: { interfaceName: string, interfaceVersion: string };\n operation: string;\n parameters: any[];\n context: { [index: string]: string };\n}\n\n/** @internal */\nexport abstract class IpcSession {\n private static _active?: IpcSession;\n public static get active(): IpcSession | undefined { return this._active; }\n\n public static start(session: IpcSession) {\n if (this._active)\n return;\n\n this._active = session;\n }\n\n public static stop() {\n this._active = undefined;\n }\n\n public abstract handleRpc(info: InterceptedRpcRequest): Promise<any>;\n}\n"]}
@@ -33,9 +33,10 @@ export var IpcWebSocketMessage;
33
33
  })(IpcWebSocketMessage || (IpcWebSocketMessage = {}));
34
34
  /** @internal */
35
35
  export class IpcWebSocket {
36
- static { this.receivers = new Set(); }
36
+ static transport;
37
+ static receivers = new Set();
38
+ _channels = new Map();
37
39
  constructor() {
38
- this._channels = new Map();
39
40
  IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));
40
41
  }
41
42
  addListener(channel, listener) {
@@ -66,10 +67,10 @@ export class IpcWebSocket {
66
67
  }
67
68
  /** @internal */
68
69
  export class IpcWebSocketFrontend extends IpcWebSocket {
70
+ _nextRequest = 0;
71
+ _pendingRequests = new Map();
69
72
  constructor() {
70
73
  super();
71
- this._nextRequest = 0;
72
- this._pendingRequests = new Map();
73
74
  IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
74
75
  }
75
76
  send(channel, ...data) {
@@ -94,10 +95,10 @@ export class IpcWebSocketFrontend extends IpcWebSocket {
94
95
  }
95
96
  /** @internal */
96
97
  export class IpcWebSocketBackend extends IpcWebSocket {
98
+ _handlers = new Map();
99
+ _processingQueue = [];
97
100
  constructor() {
98
101
  super();
99
- this._handlers = new Map();
100
- this._processingQueue = [];
101
102
  IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
102
103
  }
103
104
  send(channel, ...data) {
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.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 IpcSocket\n */\n\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\n\n/** @internal */\nexport enum IpcWebSocketMessageType {\n Send,\n Push,\n Invoke,\n Response,\n Internal,\n Duplicate\n}\n\n/** @internal */\nexport interface IpcWebSocketMessage {\n type: IpcWebSocketMessageType;\n request?: number;\n response?: number;\n channel: string;\n method?: string;\n data?: any[];\n sequence: number;\n}\n\n/** @internal */\nexport namespace IpcWebSocketMessage {\n export function internal(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function duplicate(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function skip(message: IpcWebSocketMessage): boolean {\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\n }\n}\n\n/** @internal */\nexport abstract class IpcWebSocket implements IpcSocket {\n public static transport: IpcWebSocketTransport;\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\n\n protected _channels = new Map<string, Set<IpcListener>>();\n\n public constructor() {\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\n }\n\n public abstract send(channel: string, ...data: any[]): void;\n\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\n let listeners = this._channels.get(channel);\n if (!listeners) {\n listeners = new Set();\n this._channels.set(channel, listeners);\n }\n\n if (!listeners.has(listener))\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n }\n\n public removeListener(channel: string, listener: IpcListener) {\n this._channels.get(channel)?.delete(listener);\n }\n\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\n return;\n\n const handlers = this._channels.get(message.channel);\n if (!handlers)\n return;\n\n let arg = message.data;\n if (typeof (arg) === \"undefined\")\n arg = [];\n\n for (const handler of handlers)\n handler(evt, ...arg);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\n private _nextRequest = 0;\n private _pendingRequests = new Map<number, (response: any) => void>();\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\n }\n\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\n const requestId = ++this._nextRequest;\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\n\n return new Promise((resolve) => {\n this._pendingRequests.set(requestId, resolve);\n });\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\n return;\n\n const pendingHandler = this._pendingRequests.get(message.response);\n if (!pendingHandler)\n return;\n\n this._pendingRequests.delete(message.response);\n pendingHandler(message.data);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\n private _processingQueue: IpcWebSocketMessage[] = [];\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\n }\n\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\n this._handlers.set(channel, handler);\n\n return () => {\n if (this._handlers.get(channel) === handler)\n this._handlers.delete(channel);\n };\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Invoke)\n return;\n\n this._processingQueue.push(message);\n await this.processMessages();\n }\n\n private async processMessages() {\n if (!this._processingQueue.length) {\n return;\n }\n\n const message = this._processingQueue.shift();\n if (message && message.method) {\n const handler = this._handlers.get(message.channel);\n if (handler) {\n let args = message.data;\n if (typeof (args) === \"undefined\")\n args = [];\n\n const response = await handler({} as any, message.method, ...args);\n\n IpcWebSocket.transport.send({\n type: IpcWebSocketMessageType.Response,\n channel: message.channel,\n response: message.request,\n data: response,\n sequence: -1,\n });\n }\n }\n\n await this.processMessages();\n }\n}\n"]}
1
+ {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.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 IpcSocket\n */\n\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\n\n/** @internal */\nexport enum IpcWebSocketMessageType {\n Send,\n Push,\n Invoke,\n Response,\n Internal,\n Duplicate\n}\n\n/** @internal */\nexport interface IpcWebSocketMessage {\n type: IpcWebSocketMessageType;\n request?: number;\n response?: number;\n channel: string;\n method?: string;\n data?: any[];\n sequence: number;\n}\n\n/** @internal */\nexport namespace IpcWebSocketMessage {\n export function internal(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function duplicate(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function skip(message: IpcWebSocketMessage): boolean {\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\n }\n}\n\n/** @internal */\nexport abstract class IpcWebSocket implements IpcSocket {\n public static transport: IpcWebSocketTransport;\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\n\n protected _channels = new Map<string, Set<IpcListener>>();\n\n public constructor() {\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\n }\n\n public abstract send(channel: string, ...data: any[]): void;\n\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\n let listeners = this._channels.get(channel);\n if (!listeners) {\n listeners = new Set();\n this._channels.set(channel, listeners);\n }\n\n if (!listeners.has(listener))\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n }\n\n public removeListener(channel: string, listener: IpcListener) {\n this._channels.get(channel)?.delete(listener);\n }\n\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\n return;\n\n const handlers = this._channels.get(message.channel);\n if (!handlers)\n return;\n\n let arg = message.data;\n if (typeof (arg) === \"undefined\")\n arg = [];\n\n for (const handler of handlers)\n handler(evt, ...arg);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\n private _nextRequest = 0;\n private _pendingRequests = new Map<number, (response: any) => void>();\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\n }\n\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\n const requestId = ++this._nextRequest;\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\n\n return new Promise((resolve) => {\n this._pendingRequests.set(requestId, resolve);\n });\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\n return;\n\n const pendingHandler = this._pendingRequests.get(message.response);\n if (!pendingHandler)\n return;\n\n this._pendingRequests.delete(message.response);\n pendingHandler(message.data);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\n private _processingQueue: IpcWebSocketMessage[] = [];\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\n }\n\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\n this._handlers.set(channel, handler);\n\n return () => {\n if (this._handlers.get(channel) === handler)\n this._handlers.delete(channel);\n };\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Invoke)\n return;\n\n this._processingQueue.push(message);\n await this.processMessages();\n }\n\n private async processMessages() {\n if (!this._processingQueue.length) {\n return;\n }\n\n const message = this._processingQueue.shift();\n if (message && message.method) {\n const handler = this._handlers.get(message.channel);\n if (handler) {\n let args = message.data;\n if (typeof (args) === \"undefined\")\n args = [];\n\n const response = await handler({} as any, message.method, ...args);\n\n IpcWebSocket.transport.send({\n type: IpcWebSocketMessageType.Response,\n channel: message.channel,\n response: message.request,\n data: response,\n sequence: -1,\n });\n }\n }\n\n await this.processMessages();\n }\n}\n"]}
@@ -12,10 +12,9 @@ function isBuffer(val) {
12
12
  let parts = [];
13
13
  /** @internal */
14
14
  export class IpcWebSocketTransport {
15
- constructor() {
16
- this._received = [];
17
- this._outstanding = 0;
18
- }
15
+ _partial;
16
+ _received = [];
17
+ _outstanding = 0;
19
18
  unwrap(data) {
20
19
  return (typeof (Blob) !== "undefined" && data instanceof Blob) ? data.arrayBuffer() : data;
21
20
  }
@@ -109,7 +108,7 @@ function makePromise() {
109
108
  /* Reconstructing the sequence in which messages were sent is necessary since
110
109
  the binary data for a message has to be awaited in IpcWebSocketTransport.unwrap. */
111
110
  class InSentOrder {
112
- static { this._connections = new Map(); }
111
+ static _connections = new Map();
113
112
  static async deliver(message, connection) {
114
113
  let context = this._connections.get(connection);
115
114
  if (!context) {
@@ -142,9 +141,11 @@ class InSentOrder {
142
141
  static close(connection) {
143
142
  this._connections.delete(connection);
144
143
  }
144
+ release = () => { };
145
+ sequence;
146
+ duplicate = false;
147
+ message;
145
148
  constructor(message) {
146
- this.release = () => { };
147
- this.duplicate = false;
148
149
  this.sequence = message.sequence;
149
150
  const { promise, resolve } = makePromise();
150
151
  this.message = promise;
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocketTransport.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.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 IpcSocket\n */\n\nimport { IpcWebSocketMessage } from \"./IpcWebSocket\";\n\nfunction isBuffer(val: any): boolean {\n return val && typeof (val.constructor) !== \"undefined\" && typeof (val.constructor.isBuffer) === \"function\" && val.constructor.isBuffer(val);\n}\n\nlet parts: any[] = [];\n\n/** @internal */\nexport abstract class IpcWebSocketTransport {\n private _partial?: string;\n private _received: any[] = [];\n private _outstanding = 0;\n\n public abstract send(message: IpcWebSocketMessage): void;\n\n protected unwrap(data: any) {\n return (typeof (Blob) !== \"undefined\" && data instanceof Blob) ? data.arrayBuffer() : data;\n }\n\n protected async notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage> {\n if (this._partial) {\n this._received.push(data);\n --this._outstanding;\n\n if (this._outstanding === 0) {\n const partial = this._partial;\n const received = this._received;\n this._partial = undefined;\n this._received = [];\n await Promise.all(received.map(async (v, i, a) => a[i] = await this.unwrap(v)));\n\n parts = received;\n const message: IpcWebSocketMessage = JSON.parse(partial, reviver);\n parts.length = 0;\n\n return InSentOrder.deliver(message, connection);\n } else {\n return IpcWebSocketMessage.internal();\n }\n } else {\n const [serialized, followers] = JSON.parse(data);\n\n if (followers) {\n this._partial = serialized;\n this._outstanding = followers;\n return IpcWebSocketMessage.internal();\n } else {\n const message: IpcWebSocketMessage = JSON.parse(serialized, reviver);\n return InSentOrder.deliver(message, connection);\n }\n }\n }\n\n protected serialize(data: IpcWebSocketMessage): any[] {\n parts.length = 0;\n const objects = JSON.stringify(data, replacer);\n const value = [JSON.stringify([objects, parts.length]), ...parts];\n parts.length = 0;\n return value;\n }\n\n protected notifyClose(connection: any) {\n InSentOrder.close(connection);\n }\n}\n\ninterface Marker { ipc: \"binary\", type: number, index: number }\nconst types = [Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, DataView];\nfunction identify(value: any) {\n return isBuffer(value) ? 0 : types.indexOf(value.constructor);\n}\n\nfunction lookup(value: Marker) {\n return types[value.type];\n}\n\nfunction replacer(this: any, _key: string, value: any) {\n const asBinary = replaceBinary(value);\n if (asBinary) {\n return asBinary;\n }\n\n return value;\n}\n\nfunction reviver(_key: string, value: any) {\n if (typeof (value) === \"object\" && value !== null && value.hasOwnProperty(\"ipc\") && value.ipc === \"binary\") {\n return reviveBinary(value);\n }\n\n return value;\n}\n\nfunction replaceBinary(value: any): Marker | undefined {\n if (ArrayBuffer.isView(value) || isBuffer(value)) {\n const index = parts.push(value) - 1;\n const type = identify(value);\n return { ipc: \"binary\", type, index };\n } else {\n return undefined;\n }\n}\n\nfunction reviveBinary(value: Marker): ArrayBufferView {\n const constructor = lookup(value);\n const part = parts[value.index];\n return new constructor(part);\n}\n\nfunction makePromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void = () => { };\n let reject: (reason?: any) => void = () => { };\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise, resolve, reject };\n}\n\n/* Reconstructing the sequence in which messages were sent is necessary since\n the binary data for a message has to be awaited in IpcWebSocketTransport.unwrap. */\nclass InSentOrder {\n private static _connections: Map<any, { queue: InSentOrder[], last: number }> = new Map();\n\n public static async deliver(message: IpcWebSocketMessage, connection: any): Promise<IpcWebSocketMessage> {\n let context = this._connections.get(connection);\n if (!context) {\n context = { queue: [], last: -1 };\n this._connections.set(connection, context);\n }\n\n const entry = new InSentOrder(message);\n context.queue.push(entry);\n context.queue.sort((a, b) => a.sequence - b.sequence);\n\n while (context.queue.length !== 0) {\n const next = context.queue[0];\n const duplicate = next.sequence <= context.last;\n const match = next.sequence === (context.last + 1);\n\n if (duplicate) {\n next.duplicate = true;\n } else if (match) {\n ++context.last;\n }\n\n if (duplicate || match) {\n context.queue.shift();\n next.release();\n } else {\n break;\n }\n }\n\n return entry.message;\n }\n\n public static close(connection: any) {\n this._connections.delete(connection);\n }\n\n public release = () => { };\n public sequence: number;\n public duplicate = false;\n public message: Promise<IpcWebSocketMessage>;\n\n private constructor(message: IpcWebSocketMessage) {\n this.sequence = message.sequence;\n\n const { promise, resolve } = makePromise<IpcWebSocketMessage>();\n this.message = promise;\n\n this.release = () => {\n const value = this.duplicate ? IpcWebSocketMessage.duplicate() : message;\n resolve(value);\n };\n }\n}\n"]}
1
+ {"version":3,"file":"IpcWebSocketTransport.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.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 IpcSocket\n */\n\nimport { IpcWebSocketMessage } from \"./IpcWebSocket\";\n\nfunction isBuffer(val: any): boolean {\n return val && typeof (val.constructor) !== \"undefined\" && typeof (val.constructor.isBuffer) === \"function\" && val.constructor.isBuffer(val);\n}\n\nlet parts: any[] = [];\n\n/** @internal */\nexport abstract class IpcWebSocketTransport {\n private _partial?: string;\n private _received: any[] = [];\n private _outstanding = 0;\n\n public abstract send(message: IpcWebSocketMessage): void;\n\n protected unwrap(data: any) {\n return (typeof (Blob) !== \"undefined\" && data instanceof Blob) ? data.arrayBuffer() : data;\n }\n\n protected async notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage> {\n if (this._partial) {\n this._received.push(data);\n --this._outstanding;\n\n if (this._outstanding === 0) {\n const partial = this._partial;\n const received = this._received;\n this._partial = undefined;\n this._received = [];\n await Promise.all(received.map(async (v, i, a) => a[i] = await this.unwrap(v)));\n\n parts = received;\n const message: IpcWebSocketMessage = JSON.parse(partial, reviver);\n parts.length = 0;\n\n return InSentOrder.deliver(message, connection);\n } else {\n return IpcWebSocketMessage.internal();\n }\n } else {\n const [serialized, followers] = JSON.parse(data);\n\n if (followers) {\n this._partial = serialized;\n this._outstanding = followers;\n return IpcWebSocketMessage.internal();\n } else {\n const message: IpcWebSocketMessage = JSON.parse(serialized, reviver);\n return InSentOrder.deliver(message, connection);\n }\n }\n }\n\n protected serialize(data: IpcWebSocketMessage): any[] {\n parts.length = 0;\n const objects = JSON.stringify(data, replacer);\n const value = [JSON.stringify([objects, parts.length]), ...parts];\n parts.length = 0;\n return value;\n }\n\n protected notifyClose(connection: any) {\n InSentOrder.close(connection);\n }\n}\n\ninterface Marker { ipc: \"binary\", type: number, index: number }\nconst types = [Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, DataView];\nfunction identify(value: any) {\n return isBuffer(value) ? 0 : types.indexOf(value.constructor);\n}\n\nfunction lookup(value: Marker) {\n return types[value.type];\n}\n\nfunction replacer(this: any, _key: string, value: any) {\n const asBinary = replaceBinary(value);\n if (asBinary) {\n return asBinary;\n }\n\n return value;\n}\n\nfunction reviver(_key: string, value: any) {\n if (typeof (value) === \"object\" && value !== null && value.hasOwnProperty(\"ipc\") && value.ipc === \"binary\") {\n return reviveBinary(value);\n }\n\n return value;\n}\n\nfunction replaceBinary(value: any): Marker | undefined {\n if (ArrayBuffer.isView(value) || isBuffer(value)) {\n const index = parts.push(value) - 1;\n const type = identify(value);\n return { ipc: \"binary\", type, index };\n } else {\n return undefined;\n }\n}\n\nfunction reviveBinary(value: Marker): ArrayBufferView {\n const constructor = lookup(value);\n const part = parts[value.index];\n return new constructor(part);\n}\n\nfunction makePromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void = () => { };\n let reject: (reason?: any) => void = () => { };\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise, resolve, reject };\n}\n\n/* Reconstructing the sequence in which messages were sent is necessary since\n the binary data for a message has to be awaited in IpcWebSocketTransport.unwrap. */\nclass InSentOrder {\n private static _connections: Map<any, { queue: InSentOrder[], last: number }> = new Map();\n\n public static async deliver(message: IpcWebSocketMessage, connection: any): Promise<IpcWebSocketMessage> {\n let context = this._connections.get(connection);\n if (!context) {\n context = { queue: [], last: -1 };\n this._connections.set(connection, context);\n }\n\n const entry = new InSentOrder(message);\n context.queue.push(entry);\n context.queue.sort((a, b) => a.sequence - b.sequence);\n\n while (context.queue.length !== 0) {\n const next = context.queue[0];\n const duplicate = next.sequence <= context.last;\n const match = next.sequence === (context.last + 1);\n\n if (duplicate) {\n next.duplicate = true;\n } else if (match) {\n ++context.last;\n }\n\n if (duplicate || match) {\n context.queue.shift();\n next.release();\n } else {\n break;\n }\n }\n\n return entry.message;\n }\n\n public static close(connection: any) {\n this._connections.delete(connection);\n }\n\n public release = () => { };\n public sequence: number;\n public duplicate = false;\n public message: Promise<IpcWebSocketMessage>;\n\n private constructor(message: IpcWebSocketMessage) {\n this.sequence = message.sequence;\n\n const { promise, resolve } = makePromise<IpcWebSocketMessage>();\n this.message = promise;\n\n this.release = () => {\n const value = this.duplicate ? IpcWebSocketMessage.duplicate() : message;\n resolve(value);\n };\n }\n}\n"]}
@@ -24,11 +24,11 @@ export class DevToolsRpcInterface extends RpcInterface {
24
24
  /** Returns the IModelReadRpcInterface instance for the frontend. */
25
25
  static getClient() { return RpcManager.getClientForInterface(DevToolsRpcInterface); }
26
26
  /** The immutable name of the interface. */
27
- static { this.interfaceName = "DevToolsRpcInterface"; }
27
+ static interfaceName = "DevToolsRpcInterface";
28
28
  /** The semantic version of the interface.
29
29
  * @note The DevToolsRpcInterface will remain at 0.x since it is for testing only and not intended for production.
30
30
  */
31
- static { this.interfaceVersion = "0.7.0"; }
31
+ static interfaceVersion = "0.7.0";
32
32
  /*===========================================================================================
33
33
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
34
34
  NOTE: Please consult the README in this folder for the semantic versioning rules.
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/DevToolsRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,+DAAQ,CAAA;IAER,oFAAoF;IACpF,6EAAe,CAAA;AACjB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED;;;GAGG;AACH,MAAM,OAAgB,oBAAqB,SAAQ,YAAY;IAC7D,oEAAoE;IAC7D,MAAM,CAAC,SAAS,KAA2B,OAAO,UAAU,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAElH,2CAA2C;aACpB,kBAAa,GAAG,sBAAsB,CAAC;IAE9D;;OAEG;aACW,qBAAgB,GAAG,OAAO,CAAC;IAEzC;;;gGAG4F;IAC5F,iEAAiE;IAC1D,KAAK,CAAC,IAAI,CAAC,YAA4B,IAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAErG,qEAAqE;IAC9D,KAAK,CAAC,KAAK,CAAC,YAA4B,EAAE,QAA8B,IAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAElI,uEAAuE;IAChE,KAAK,CAAC,QAAQ,CAAC,YAA4B;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACrD,QAAQ,CAAC,aAAa,GAAG,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gFAAgF;IACzE,KAAK,CAAC,WAAW,CAAC,YAA4B,EAAE,eAAuB,EAAE,SAAmB,IAAmC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC","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 RpcInterface\n */\n\nimport { LogLevel } from \"@itwin/core-bentley\";\nimport { IModelRpcProps } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\n\n/** Options to get the backend statistics\n * @internal\n */\nexport enum DevToolsStatsOptions {\n None = 0,\n\n /** All unitized values are setup as formatted strings with the appropriate units */\n FormatUnits = 1,\n}\n\n/** The purpose of this class is to house RPC methods for developer tools.\n * Note that this should NOT be used in production environments.\n * @internal\n */\nexport abstract class DevToolsRpcInterface extends RpcInterface {\n /** Returns the IModelReadRpcInterface instance for the frontend. */\n public static getClient(): DevToolsRpcInterface { return RpcManager.getClientForInterface(DevToolsRpcInterface); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"DevToolsRpcInterface\";\n\n /** The semantic version of the interface.\n * @note The DevToolsRpcInterface will remain at 0.x since it is for testing only and not intended for production.\n */\n public static interfaceVersion = \"0.7.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ==========================================================================================*/\n // Sends a ping and returns true if the backend received the ping\n public async ping(_iModelToken: IModelRpcProps): Promise<boolean> { return this.forward(arguments); }\n\n // Returns JSON object with backend performance and memory statistics\n public async stats(_iModelToken: IModelRpcProps, _options: DevToolsStatsOptions): Promise<any> { return this.forward(arguments); }\n\n // Returns JSON object with backend versions (application and iModelJs)\n public async versions(_iModelToken: IModelRpcProps): Promise<any> {\n const versions = await this.forward(arguments) || {};\n versions.availableRpcs = await RpcManager.describeAvailableEndpoints();\n return versions;\n }\n\n // Sets a new log level for the specified category and returns the old log level\n public async setLogLevel(_iModelToken: IModelRpcProps, _loggerCategory: string, _logLevel: LogLevel): Promise<LogLevel | undefined> { return this.forward(arguments); }\n}\n"]}
1
+ {"version":3,"file":"DevToolsRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/DevToolsRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,+DAAQ,CAAA;IAER,oFAAoF;IACpF,6EAAe,CAAA;AACjB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED;;;GAGG;AACH,MAAM,OAAgB,oBAAqB,SAAQ,YAAY;IAC7D,oEAAoE;IAC7D,MAAM,CAAC,SAAS,KAA2B,OAAO,UAAU,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAElH,2CAA2C;IACpC,MAAM,CAAU,aAAa,GAAG,sBAAsB,CAAC;IAE9D;;OAEG;IACI,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAEzC;;;gGAG4F;IAC5F,iEAAiE;IAC1D,KAAK,CAAC,IAAI,CAAC,YAA4B,IAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAErG,qEAAqE;IAC9D,KAAK,CAAC,KAAK,CAAC,YAA4B,EAAE,QAA8B,IAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAElI,uEAAuE;IAChE,KAAK,CAAC,QAAQ,CAAC,YAA4B;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACrD,QAAQ,CAAC,aAAa,GAAG,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gFAAgF;IACzE,KAAK,CAAC,WAAW,CAAC,YAA4B,EAAE,eAAuB,EAAE,SAAmB,IAAmC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC","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 RpcInterface\n */\n\nimport { LogLevel } from \"@itwin/core-bentley\";\nimport { IModelRpcProps } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\n\n/** Options to get the backend statistics\n * @internal\n */\nexport enum DevToolsStatsOptions {\n None = 0,\n\n /** All unitized values are setup as formatted strings with the appropriate units */\n FormatUnits = 1,\n}\n\n/** The purpose of this class is to house RPC methods for developer tools.\n * Note that this should NOT be used in production environments.\n * @internal\n */\nexport abstract class DevToolsRpcInterface extends RpcInterface {\n /** Returns the IModelReadRpcInterface instance for the frontend. */\n public static getClient(): DevToolsRpcInterface { return RpcManager.getClientForInterface(DevToolsRpcInterface); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"DevToolsRpcInterface\";\n\n /** The semantic version of the interface.\n * @note The DevToolsRpcInterface will remain at 0.x since it is for testing only and not intended for production.\n */\n public static interfaceVersion = \"0.7.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ==========================================================================================*/\n // Sends a ping and returns true if the backend received the ping\n public async ping(_iModelToken: IModelRpcProps): Promise<boolean> { return this.forward(arguments); }\n\n // Returns JSON object with backend performance and memory statistics\n public async stats(_iModelToken: IModelRpcProps, _options: DevToolsStatsOptions): Promise<any> { return this.forward(arguments); }\n\n // Returns JSON object with backend versions (application and iModelJs)\n public async versions(_iModelToken: IModelRpcProps): Promise<any> {\n const versions = await this.forward(arguments) || {};\n versions.availableRpcs = await RpcManager.describeAvailableEndpoints();\n return versions;\n }\n\n // Sets a new log level for the specified category and returns the old log level\n public async setLogLevel(_iModelToken: IModelRpcProps, _loggerCategory: string, _logLevel: LogLevel): Promise<LogLevel | undefined> { return this.forward(arguments); }\n}\n"]}
@@ -21,11 +21,8 @@ import { RpcOperation } from "./core/RpcOperation";
21
21
  * @public
22
22
  */
23
23
  export class IModelNotFoundResponse extends RpcNotFoundResponse {
24
- constructor() {
25
- super(...arguments);
26
- this.isIModelNotFoundResponse = true;
27
- this.message = "iModel not found";
28
- }
24
+ isIModelNotFoundResponse = true;
25
+ message = "iModel not found";
29
26
  }
30
27
  /** The RPC interface for reading from an iModel.
31
28
  * All operations only require read-only access.
@@ -38,9 +35,9 @@ export class IModelReadRpcInterface extends RpcInterface {
38
35
  /** Returns the IModelReadRpcInterface instance for a custom RPC routing configuration. */
39
36
  static getClientForRouting(token) { return RpcManager.getClientForInterface(IModelReadRpcInterface, token); }
40
37
  /** The immutable name of the interface. */
41
- static { this.interfaceName = "IModelReadRpcInterface"; }
38
+ static interfaceName = "IModelReadRpcInterface";
42
39
  /** The semantic version of the interface. */
43
- static { this.interfaceVersion = "3.7.0"; }
40
+ static interfaceVersion = "3.7.0";
44
41
  /*===========================================================================================
45
42
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
46
43
  NOTE: Please consult the README in this folder for the semantic versioning rules.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelReadRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.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 RpcInterface\n */\n\nimport { CompressedId64Set, GuidString, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport { Range3dProps } from \"@itwin/core-geometry\";\nimport { CodeProps } from \"../Code\";\nimport { DbBlobRequest, DbBlobResponse, DbQueryRequest, DbQueryResponse } from \"../ConcurrentQuery\";\nimport { ElementMeshRequestProps } from \"../ElementMesh\";\nimport { ElementLoadOptions, ElementProps } from \"../ElementProps\";\nimport { EntityQueryParams } from \"../EntityProps\";\nimport { FontMapProps } from \"../Fonts\";\nimport {\n GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps,\n} from \"../GeoCoordinateServices\";\nimport { GeometryContainmentRequestProps, GeometryContainmentResponseProps } from \"../GeometryContainment\";\nimport { GeometrySummaryRequestProps } from \"../GeometrySummary\";\nimport { IModelConnectionProps, IModelRpcOpenProps, IModelRpcProps } from \"../IModel\";\nimport {\n MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps, MassPropertiesRequestProps, MassPropertiesResponseProps,\n} from \"../MassProperties\";\nimport { ModelProps } from \"../ModelProps\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { SnapRequestProps, SnapResponseProps } from \"../internal/Snapping\";\nimport { TextureData, TextureLoadProps } from \"../TextureProps\";\nimport {\n CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SubCategoryResultRow,\n ViewStateLoadProps, ViewStateProps,\n} from \"../ViewProps\";\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\nimport { RpcNotFoundResponse } from \"./core/RpcControl\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\n\n/** Response if the IModelDb was not found at the backend\n * (if the service has moved)\n * @public\n */\nexport class IModelNotFoundResponse extends RpcNotFoundResponse {\n public isIModelNotFoundResponse: boolean = true;\n public override message = \"iModel not found\";\n}\n\n/** Describes the volume of geometry contained with a [GeometricModel]($backend) as returned by\n * [IModelConnection.Models.queryExtents]($frontend) and [IModelDb.Models.queryExtents]($backend).\n * @public\n */\nexport interface ModelExtentsProps {\n /** The Id of the model, or [Id64.invalid]($bentley) if the input model Id was not a well-formed [Id64String]($bentley). */\n id: Id64String;\n /** The volume of geometry contained within the model.\n * This range will be null (@see [Range3d.isNull]($geometry)) if [[status]] is not [IModelStatus.Success]($bentley) or the model contains no geometry.\n */\n extents: Range3dProps;\n /** A status code indicating what if any error occurred obtaining the model's extents. For example:\n * - [IModelStatus.InvalidId]($bentley) if the input model Id was not a well-formed [Id64String]($bentley);\n * - [IModelStatus.NotFound]($bentley) if no model with the specified Id exists in the [[IModel]];\n * - [IModelStatus.WrongModel]($bentley) if the specified model is not a [GeometricModel]($backend); or\n * - [IModelStatus.Success]($bentley) if the extents were successfully obtained.\n *\n * If `status` is anything other than [IModelStatus.Success]($bentley), [[extents]] will be a null range.\n */\n status: IModelStatus;\n}\n\n/** The RPC interface for reading from an iModel.\n * All operations only require read-only access.\n * This interface is not normally used directly. See IModelConnection for higher-level and more convenient API for accessing iModels from a frontend.\n * @internal\n */\nexport abstract class IModelReadRpcInterface extends RpcInterface {\n /** Returns the IModelReadRpcInterface instance for the frontend. */\n public static getClient(): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface); }\n\n /** Returns the IModelReadRpcInterface instance for a custom RPC routing configuration. */\n public static getClientForRouting(token: RpcRoutingToken): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface, token); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"IModelReadRpcInterface\";\n\n /** The semantic version of the interface. */\n public static interfaceVersion = \"3.7.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getConnectionProps(_iModelToken: IModelRpcOpenProps): Promise<IModelConnectionProps> { return this.forward(arguments); }\n public async queryRows(_iModelToken: IModelRpcProps, _request: DbQueryRequest): Promise<DbQueryResponse> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async querySubCategories(_iModelToken: IModelRpcProps, _categoryIds: CompressedId64Set): Promise<SubCategoryResultRow[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryAllUsedSpatialSubCategories(_iModelToken: IModelRpcProps): Promise<SubCategoryResultRow[]> { return this.forward(arguments); }\n public async queryBlob(_iModelToken: IModelRpcProps, _request: DbBlobRequest): Promise<DbBlobResponse> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getModelProps(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelProps[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryModelRanges(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<Range3dProps[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryModelExtents(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelExtentsProps[]> { return this.forward(arguments); }\n public async queryModelProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ModelProps[]> { return this.forward(arguments); }\n public async getElementProps(_iModelToken: IModelRpcProps, _elementIds: Id64String[]): Promise<ElementProps[]> { return this.forward(arguments); }\n public async queryElementProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ElementProps[]> { return this.forward(arguments); }\n public async queryEntityIds(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<Id64String[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getClassHierarchy(_iModelToken: IModelRpcProps, _startClassName: string): Promise<string[]> { return this.forward(arguments); }\n public async getAllCodeSpecs(_iModelToken: IModelRpcProps): Promise<any[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getViewStateData(_iModelToken: IModelRpcProps, _viewDefinitionId: string, _options?: ViewStateLoadProps): Promise<ViewStateProps> { return this.forward(arguments); }\n public async readFontJson(_iModelToken: IModelRpcProps): Promise<FontMapProps> { return this.forward(arguments); } // eslint-disable-line @typescript-eslint/no-deprecated\n public async getToolTipMessage(_iModelToken: IModelRpcProps, _elementId: string): Promise<string[]> { return this.forward(arguments); }\n /** @deprecated in 3.x use ViewStore apis. */\n public async getViewThumbnail(_iModelToken: IModelRpcProps, _viewId: string): Promise<Uint8Array> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getDefaultViewId(_iModelToken: IModelRpcProps): Promise<Id64String> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getCustomViewState3dData(_iModelToken: IModelRpcProps, _options: CustomViewState3dCreatorOptions): Promise<CustomViewState3dProps> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async hydrateViewState(_iModelToken: IModelRpcProps, _options: HydrateViewStateRequestProps): Promise<HydrateViewStateResponseProps> { return this.forward(arguments); }\n public async requestSnap(_iModelToken: IModelRpcProps, _sessionId: string, _props: SnapRequestProps): Promise<SnapResponseProps> { return this.forward(arguments); }\n public async cancelSnap(_iModelToken: IModelRpcProps, _sessionId: string): Promise<void> { return this.forward(arguments); }\n public async getGeometryContainment(_iModelToken: IModelRpcProps, _props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> { return this.forward(arguments); }\n public async getMassProperties(_iModelToken: IModelRpcProps, _props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> { return this.forward(arguments); }\n public async getMassPropertiesPerCandidate(_iModelToken: IModelRpcProps, _props: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]> { return this.forward(arguments); }\n public async getIModelCoordinatesFromGeoCoordinates(_iModelToken: IModelRpcProps, _props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getGeoCoordinatesFromIModelCoordinates(_iModelToken: IModelRpcProps, _props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> { return this.forward(arguments); }\n public async getGeometrySummary(_iModelToken: IModelRpcProps, _props: GeometrySummaryRequestProps): Promise<string> { return this.forward(arguments); }\n public async queryTextureData(_iModelToken: IModelRpcProps, _textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> { return this.forward(arguments); }\n public async loadElementProps(_iModelToken: IModelRpcProps, _elementIdentifier: Id64String | GuidString | CodeProps, _options?: ElementLoadOptions): Promise<ElementProps | undefined> {\n return this.forward(arguments);\n }\n public async generateElementMeshes(_iModelToken: IModelRpcProps, _props: ElementMeshRequestProps): Promise<Uint8Array> {\n return this.forward(arguments);\n }\n /** @internal */\n public async callViewStore(_iModelToken: IModelRpcProps, _version: string, _forWrite: boolean, _methodName: string, ..._args: any[]): Promise<any> { return this.forward(arguments); }\n}\n"]}
1
+ {"version":3,"file":"IModelReadRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.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 RpcInterface\n */\n\nimport { CompressedId64Set, GuidString, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport { Range3dProps } from \"@itwin/core-geometry\";\nimport { CodeProps } from \"../Code\";\nimport { DbBlobRequest, DbBlobResponse, DbQueryRequest, DbQueryResponse } from \"../ConcurrentQuery\";\nimport { ElementMeshRequestProps } from \"../ElementMesh\";\nimport { ElementLoadOptions, ElementProps } from \"../ElementProps\";\nimport { EntityQueryParams } from \"../EntityProps\";\nimport { FontMapProps } from \"../Fonts\";\nimport {\n GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps,\n} from \"../GeoCoordinateServices\";\nimport { GeometryContainmentRequestProps, GeometryContainmentResponseProps } from \"../GeometryContainment\";\nimport { GeometrySummaryRequestProps } from \"../GeometrySummary\";\nimport { IModelConnectionProps, IModelRpcOpenProps, IModelRpcProps } from \"../IModel\";\nimport {\n MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps, MassPropertiesRequestProps, MassPropertiesResponseProps,\n} from \"../MassProperties\";\nimport { ModelProps } from \"../ModelProps\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { SnapRequestProps, SnapResponseProps } from \"../internal/Snapping\";\nimport { TextureData, TextureLoadProps } from \"../TextureProps\";\nimport {\n CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SubCategoryResultRow,\n ViewStateLoadProps, ViewStateProps,\n} from \"../ViewProps\";\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\nimport { RpcNotFoundResponse } from \"./core/RpcControl\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\n\n/** Response if the IModelDb was not found at the backend\n * (if the service has moved)\n * @public\n */\nexport class IModelNotFoundResponse extends RpcNotFoundResponse {\n public isIModelNotFoundResponse: boolean = true;\n public override message = \"iModel not found\";\n}\n\n/** Describes the volume of geometry contained with a [GeometricModel]($backend) as returned by\n * [IModelConnection.Models.queryExtents]($frontend) and [IModelDb.Models.queryExtents]($backend).\n * @public\n */\nexport interface ModelExtentsProps {\n /** The Id of the model, or [Id64.invalid]($bentley) if the input model Id was not a well-formed [Id64String]($bentley). */\n id: Id64String;\n /** The volume of geometry contained within the model.\n * This range will be null (@see [Range3d.isNull]($geometry)) if [[status]] is not [IModelStatus.Success]($bentley) or the model contains no geometry.\n */\n extents: Range3dProps;\n /** A status code indicating what if any error occurred obtaining the model's extents. For example:\n * - [IModelStatus.InvalidId]($bentley) if the input model Id was not a well-formed [Id64String]($bentley);\n * - [IModelStatus.NotFound]($bentley) if no model with the specified Id exists in the [[IModel]];\n * - [IModelStatus.WrongModel]($bentley) if the specified model is not a [GeometricModel]($backend); or\n * - [IModelStatus.Success]($bentley) if the extents were successfully obtained.\n *\n * If `status` is anything other than [IModelStatus.Success]($bentley), [[extents]] will be a null range.\n */\n status: IModelStatus;\n}\n\n/** The RPC interface for reading from an iModel.\n * All operations only require read-only access.\n * This interface is not normally used directly. See IModelConnection for higher-level and more convenient API for accessing iModels from a frontend.\n * @internal\n */\nexport abstract class IModelReadRpcInterface extends RpcInterface {\n /** Returns the IModelReadRpcInterface instance for the frontend. */\n public static getClient(): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface); }\n\n /** Returns the IModelReadRpcInterface instance for a custom RPC routing configuration. */\n public static getClientForRouting(token: RpcRoutingToken): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface, token); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"IModelReadRpcInterface\";\n\n /** The semantic version of the interface. */\n public static interfaceVersion = \"3.7.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getConnectionProps(_iModelToken: IModelRpcOpenProps): Promise<IModelConnectionProps> { return this.forward(arguments); }\n public async queryRows(_iModelToken: IModelRpcProps, _request: DbQueryRequest): Promise<DbQueryResponse> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async querySubCategories(_iModelToken: IModelRpcProps, _categoryIds: CompressedId64Set): Promise<SubCategoryResultRow[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryAllUsedSpatialSubCategories(_iModelToken: IModelRpcProps): Promise<SubCategoryResultRow[]> { return this.forward(arguments); }\n public async queryBlob(_iModelToken: IModelRpcProps, _request: DbBlobRequest): Promise<DbBlobResponse> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getModelProps(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelProps[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryModelRanges(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<Range3dProps[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async queryModelExtents(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelExtentsProps[]> { return this.forward(arguments); }\n public async queryModelProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ModelProps[]> { return this.forward(arguments); }\n public async getElementProps(_iModelToken: IModelRpcProps, _elementIds: Id64String[]): Promise<ElementProps[]> { return this.forward(arguments); }\n public async queryElementProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ElementProps[]> { return this.forward(arguments); }\n public async queryEntityIds(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<Id64String[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getClassHierarchy(_iModelToken: IModelRpcProps, _startClassName: string): Promise<string[]> { return this.forward(arguments); }\n public async getAllCodeSpecs(_iModelToken: IModelRpcProps): Promise<any[]> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getViewStateData(_iModelToken: IModelRpcProps, _viewDefinitionId: string, _options?: ViewStateLoadProps): Promise<ViewStateProps> { return this.forward(arguments); }\n public async readFontJson(_iModelToken: IModelRpcProps): Promise<FontMapProps> { return this.forward(arguments); } // eslint-disable-line @typescript-eslint/no-deprecated\n public async getToolTipMessage(_iModelToken: IModelRpcProps, _elementId: string): Promise<string[]> { return this.forward(arguments); }\n /** @deprecated in 3.x use ViewStore apis. */\n public async getViewThumbnail(_iModelToken: IModelRpcProps, _viewId: string): Promise<Uint8Array> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getDefaultViewId(_iModelToken: IModelRpcProps): Promise<Id64String> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getCustomViewState3dData(_iModelToken: IModelRpcProps, _options: CustomViewState3dCreatorOptions): Promise<CustomViewState3dProps> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async hydrateViewState(_iModelToken: IModelRpcProps, _options: HydrateViewStateRequestProps): Promise<HydrateViewStateResponseProps> { return this.forward(arguments); }\n public async requestSnap(_iModelToken: IModelRpcProps, _sessionId: string, _props: SnapRequestProps): Promise<SnapResponseProps> { return this.forward(arguments); }\n public async cancelSnap(_iModelToken: IModelRpcProps, _sessionId: string): Promise<void> { return this.forward(arguments); }\n public async getGeometryContainment(_iModelToken: IModelRpcProps, _props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> { return this.forward(arguments); }\n public async getMassProperties(_iModelToken: IModelRpcProps, _props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> { return this.forward(arguments); }\n public async getMassPropertiesPerCandidate(_iModelToken: IModelRpcProps, _props: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]> { return this.forward(arguments); }\n public async getIModelCoordinatesFromGeoCoordinates(_iModelToken: IModelRpcProps, _props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> { return this.forward(arguments); }\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async getGeoCoordinatesFromIModelCoordinates(_iModelToken: IModelRpcProps, _props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> { return this.forward(arguments); }\n public async getGeometrySummary(_iModelToken: IModelRpcProps, _props: GeometrySummaryRequestProps): Promise<string> { return this.forward(arguments); }\n public async queryTextureData(_iModelToken: IModelRpcProps, _textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> { return this.forward(arguments); }\n public async loadElementProps(_iModelToken: IModelRpcProps, _elementIdentifier: Id64String | GuidString | CodeProps, _options?: ElementLoadOptions): Promise<ElementProps | undefined> {\n return this.forward(arguments);\n }\n public async generateElementMeshes(_iModelToken: IModelRpcProps, _props: ElementMeshRequestProps): Promise<Uint8Array> {\n return this.forward(arguments);\n }\n /** @internal */\n public async callViewStore(_iModelToken: IModelRpcProps, _version: string, _forWrite: boolean, _methodName: string, ..._args: any[]): Promise<any> { return this.forward(arguments); }\n}\n"]}
@@ -19,9 +19,9 @@ import { RpcManager } from "../RpcManager";
19
19
  export class IModelTileRpcInterface extends RpcInterface {
20
20
  static getClient() { return RpcManager.getClientForInterface(IModelTileRpcInterface); }
21
21
  /** The immutable name of the interface. */
22
- static { this.interfaceName = "IModelTileRpcInterface"; }
22
+ static interfaceName = "IModelTileRpcInterface";
23
23
  /** The semantic version of the interface. */
24
- static { this.interfaceVersion = "3.2.0"; }
24
+ static interfaceVersion = "3.2.0";
25
25
  /*===========================================================================================
26
26
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
27
27
  NOTE: Please consult the README in this folder for the semantic versioning rules.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTileRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,cAAc;AACd,MAAM,OAAgB,sBAAuB,SAAQ,YAAY;IACxD,MAAM,CAAC,SAAS,KAA6B,OAAO,UAAU,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAEtH,2CAA2C;aACpB,kBAAa,GAAG,wBAAwB,CAAC;IAEhE,6CAA6C;aAC/B,qBAAgB,GAAG,OAAO,CAAC;IAEzC;;;iGAG6F;IAE7F;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,WAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,QAAQ,IAAI,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,gBAAgB;IAEH,AAAN,KAAK,CAAC,oBAAoB,CAAC,WAA2B,EAAE,GAAW,IAAkC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE7I;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,SAAyB,EAAE,OAAe,EAAE,UAAkB,EAAE,KAAyB;QACxH,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,SAAyB,EAAE,IAA2B;QACrF,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,WAA2B,EAAE,SAAgC,IAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE7I;;;;OAIG;IACI,KAAK,CAAC,sBAAsB,CAAC,SAAyB,EAAE,QAAqC;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;;AAtCY;IADZ,YAAY,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,SAAS,CAAC;kEACwE","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 RpcInterface\n */\n\nimport type { TransferConfig } from \"@itwin/object-storage-core/lib/common\";\nimport { Id64Array } from \"@itwin/core-bentley\";\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { IModelRpcProps } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { ElementGraphicsRequestProps } from \"../tile/ElementGraphics\";\nimport { IModelTileTreeProps, TileContentIdentifier, TileContentSource, TileVersionInfo } from \"../TileProps\";\n\n/** @public */\nexport abstract class IModelTileRpcInterface extends RpcInterface {\n public static getClient(): IModelTileRpcInterface { return RpcManager.getClientForInterface(IModelTileRpcInterface); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"IModelTileRpcInterface\";\n\n /** The semantic version of the interface. */\n public static interfaceVersion = \"3.2.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n\n /** Get storage config required to download tiles from the tile cache.\n * @returns undefined if the backend does not support caching. In that case, tiles must be requested using [[generateTileContent]].\n * @beta\n */\n public async getTileCacheConfig(_tokenProps: IModelRpcProps): Promise<TransferConfig | undefined> {\n const response = await this.forward(arguments);\n return response && { ...response, expiration: new Date(response.expiration) };\n }\n\n /** @internal */\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async requestTileTreeProps(_tokenProps: IModelRpcProps, _id: string): Promise<IModelTileTreeProps> { return this.forward(arguments); }\n\n /** Ask the backend to generate content for the specified tile. This function, unlike the deprecated `requestTileContent`, does not check the cloud storage tile cache -\n * Use `CloudStorageTileCache.retrieve` for that.\n * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent\n * @internal\n */\n public async generateTileContent(_rpcProps: IModelRpcProps, _treeId: string, _contentId: string, _guid: string | undefined): Promise<TileContentSource> {\n return this.forward(arguments);\n }\n\n /** Retrieves tile content from the backend once it's generated by generateTileContent.\n * @internal\n */\n public async retrieveTileContent(_rpcProps: IModelRpcProps, _key: TileContentIdentifier): Promise<Uint8Array> {\n return this.forward(arguments);\n }\n\n /** @internal */\n public async queryVersionInfo(): Promise<TileVersionInfo> {\n return this.forward(arguments);\n }\n\n /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced.\n * Given a set of model Ids, it purges any associated tile tree state on the back-end so that the next request for the tile tree or content will recreate that state.\n * Invoked after a modification is made to the model(s).\n * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient.\n * @internal\n */\n public async purgeTileTrees(_tokenProps: IModelRpcProps, _modelIds: Id64Array | undefined): Promise<void> { return this.forward(arguments); }\n\n /** Requests graphics for a single element in \"iMdl\" format.\n * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion.\n * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc).\n * @internal\n */\n public async requestElementGraphics(_rpcProps: IModelRpcProps, _request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined> {\n return this.forward(arguments);\n }\n}\n"]}
1
+ {"version":3,"file":"IModelTileRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,cAAc;AACd,MAAM,OAAgB,sBAAuB,SAAQ,YAAY;IACxD,MAAM,CAAC,SAAS,KAA6B,OAAO,UAAU,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAEtH,2CAA2C;IACpC,MAAM,CAAU,aAAa,GAAG,wBAAwB,CAAC;IAEhE,6CAA6C;IACtC,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAEzC;;;iGAG6F;IAE7F;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,WAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,QAAQ,IAAI,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,gBAAgB;IAEH,AAAN,KAAK,CAAC,oBAAoB,CAAC,WAA2B,EAAE,GAAW,IAAkC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE7I;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,SAAyB,EAAE,OAAe,EAAE,UAAkB,EAAE,KAAyB;QACxH,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,SAAyB,EAAE,IAA2B;QACrF,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,WAA2B,EAAE,SAAgC,IAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE7I;;;;OAIG;IACI,KAAK,CAAC,sBAAsB,CAAC,SAAyB,EAAE,QAAqC;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;;AAtCY;IADZ,YAAY,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,SAAS,CAAC;kEACwE","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 RpcInterface\n */\n\nimport type { TransferConfig } from \"@itwin/object-storage-core/lib/common\";\nimport { Id64Array } from \"@itwin/core-bentley\";\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { IModelRpcProps } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { ElementGraphicsRequestProps } from \"../tile/ElementGraphics\";\nimport { IModelTileTreeProps, TileContentIdentifier, TileContentSource, TileVersionInfo } from \"../TileProps\";\n\n/** @public */\nexport abstract class IModelTileRpcInterface extends RpcInterface {\n public static getClient(): IModelTileRpcInterface { return RpcManager.getClientForInterface(IModelTileRpcInterface); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"IModelTileRpcInterface\";\n\n /** The semantic version of the interface. */\n public static interfaceVersion = \"3.2.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n\n /** Get storage config required to download tiles from the tile cache.\n * @returns undefined if the backend does not support caching. In that case, tiles must be requested using [[generateTileContent]].\n * @beta\n */\n public async getTileCacheConfig(_tokenProps: IModelRpcProps): Promise<TransferConfig | undefined> {\n const response = await this.forward(arguments);\n return response && { ...response, expiration: new Date(response.expiration) };\n }\n\n /** @internal */\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\n public async requestTileTreeProps(_tokenProps: IModelRpcProps, _id: string): Promise<IModelTileTreeProps> { return this.forward(arguments); }\n\n /** Ask the backend to generate content for the specified tile. This function, unlike the deprecated `requestTileContent`, does not check the cloud storage tile cache -\n * Use `CloudStorageTileCache.retrieve` for that.\n * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent\n * @internal\n */\n public async generateTileContent(_rpcProps: IModelRpcProps, _treeId: string, _contentId: string, _guid: string | undefined): Promise<TileContentSource> {\n return this.forward(arguments);\n }\n\n /** Retrieves tile content from the backend once it's generated by generateTileContent.\n * @internal\n */\n public async retrieveTileContent(_rpcProps: IModelRpcProps, _key: TileContentIdentifier): Promise<Uint8Array> {\n return this.forward(arguments);\n }\n\n /** @internal */\n public async queryVersionInfo(): Promise<TileVersionInfo> {\n return this.forward(arguments);\n }\n\n /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced.\n * Given a set of model Ids, it purges any associated tile tree state on the back-end so that the next request for the tile tree or content will recreate that state.\n * Invoked after a modification is made to the model(s).\n * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient.\n * @internal\n */\n public async purgeTileTrees(_tokenProps: IModelRpcProps, _modelIds: Id64Array | undefined): Promise<void> { return this.forward(arguments); }\n\n /** Requests graphics for a single element in \"iMdl\" format.\n * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion.\n * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc).\n * @internal\n */\n public async requestElementGraphics(_rpcProps: IModelRpcProps, _request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined> {\n return this.forward(arguments);\n }\n}\n"]}
@@ -26,9 +26,9 @@ export class SnapshotIModelRpcInterface extends RpcInterface {
26
26
  /** Returns the SnapshotIModelRpcInterface client instance for a custom RPC routing configuration. */
27
27
  static getClientForRouting(token) { return RpcManager.getClientForInterface(SnapshotIModelRpcInterface, token); }
28
28
  /** The immutable name of the interface. */
29
- static { this.interfaceName = "SnapshotIModelRpcInterface"; }
29
+ static interfaceName = "SnapshotIModelRpcInterface";
30
30
  /** The version of the interface. */
31
- static { this.interfaceVersion = "2.0.0"; }
31
+ static interfaceVersion = "2.0.0";
32
32
  /*===========================================================================================
33
33
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
34
34
  NOTE: Please consult the README in this folder for the semantic versioning rules.
@@ -1 +1 @@
1
- {"version":3,"file":"SnapshotIModelRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/SnapshotIModelRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,eAAe,GAA8B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhH;;;;GAIG;AACH,MAAM,OAAgB,0BAA2B,SAAQ,YAAY;IACnE,+EAA+E;IACxE,MAAM,CAAC,SAAS,KAAiC,OAAO,UAAU,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAE9H,qGAAqG;IAC9F,MAAM,CAAC,mBAAmB,CAAC,KAAsB,IAAgC,OAAO,UAAU,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAErK,2CAA2C;aACpB,kBAAa,GAAG,4BAA4B,CAAC;IAEpE,oCAAoC;aACtB,qBAAgB,GAAG,OAAO,CAAC;IAEzC;;;iGAG6F;IAE7F;;OAEG;IAEU,AAAN,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,KAA2B,IAAoC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzI;;OAEG;IAEU,AAAN,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAA2B,IAAoC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtI;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,eAA+B,IAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;AAX5F;IADZ,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC;0DAC2F;AAM5H;IADZ,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC;4DACwF","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 RpcInterface\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nimport { IModelConnectionProps, IModelRpcProps, SnapshotOpenOptions } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { RpcRequestTokenSupplier_T } from \"./core/RpcRequest\";\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\n\nconst unknownIModelId: RpcRequestTokenSupplier_T = (req) => ({ iModelId: \"undefined\", key: req.parameters[0] });\n\n/** The RPC interface for working with *snapshot* iModels.\n * This interface is intended for desktop and mobile products. Web products are discouraged from registering this interface.\n * @internal\n * @deprecated in 5.0. Check [[IpcAppFunctions]] or [[CheckpointConnection]] for replacements.\n */\nexport abstract class SnapshotIModelRpcInterface extends RpcInterface {\n /** Returns the SnapshotIModelRpcInterface client instance for the frontend. */\n public static getClient(): SnapshotIModelRpcInterface { return RpcManager.getClientForInterface(SnapshotIModelRpcInterface); }\n\n /** Returns the SnapshotIModelRpcInterface client instance for a custom RPC routing configuration. */\n public static getClientForRouting(token: RpcRoutingToken): SnapshotIModelRpcInterface { return RpcManager.getClientForInterface(SnapshotIModelRpcInterface, token); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"SnapshotIModelRpcInterface\";\n\n /** The version of the interface. */\n public static interfaceVersion = \"2.0.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n\n /**\n * @deprecated in 5.0. Use [[IpcAppFunctions.openSnapshot]] in IPC applications, no replacement for Web applications.\n */\n @RpcOperation.setRoutingProps(unknownIModelId)\n public async openFile(_filePath: string, _opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> { return this.forward(arguments); }\n\n /**\n * @deprecated in 4.10. Use [[CheckpointConnection.openRemote]].\n */\n @RpcOperation.setRoutingProps(unknownIModelId)\n public async openRemote(_key: string, _opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> { return this.forward(arguments); }\n\n /**\n * @deprecated in 5.0. Use [[IpcAppFunctions.closeIModel]] in IPC applications, no replacement for Web applications.\n */\n public async close(_iModelRpcProps: IModelRpcProps): Promise<boolean> { return this.forward(arguments); }\n}\n"]}
1
+ {"version":3,"file":"SnapshotIModelRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/SnapshotIModelRpcInterface.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,eAAe,GAA8B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhH;;;;GAIG;AACH,MAAM,OAAgB,0BAA2B,SAAQ,YAAY;IACnE,+EAA+E;IACxE,MAAM,CAAC,SAAS,KAAiC,OAAO,UAAU,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAE9H,qGAAqG;IAC9F,MAAM,CAAC,mBAAmB,CAAC,KAAsB,IAAgC,OAAO,UAAU,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAErK,2CAA2C;IACpC,MAAM,CAAU,aAAa,GAAG,4BAA4B,CAAC;IAEpE,oCAAoC;IAC7B,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAEzC;;;iGAG6F;IAE7F;;OAEG;IAEU,AAAN,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,KAA2B,IAAoC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzI;;OAEG;IAEU,AAAN,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAA2B,IAAoC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtI;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,eAA+B,IAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;AAX5F;IADZ,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC;0DAC2F;AAM5H;IADZ,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC;4DACwF","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 RpcInterface\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nimport { IModelConnectionProps, IModelRpcProps, SnapshotOpenOptions } from \"../IModel\";\nimport { RpcInterface } from \"../RpcInterface\";\nimport { RpcManager } from \"../RpcManager\";\nimport { RpcOperation } from \"./core/RpcOperation\";\nimport { RpcRequestTokenSupplier_T } from \"./core/RpcRequest\";\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\n\nconst unknownIModelId: RpcRequestTokenSupplier_T = (req) => ({ iModelId: \"undefined\", key: req.parameters[0] });\n\n/** The RPC interface for working with *snapshot* iModels.\n * This interface is intended for desktop and mobile products. Web products are discouraged from registering this interface.\n * @internal\n * @deprecated in 5.0. Check [[IpcAppFunctions]] or [[CheckpointConnection]] for replacements.\n */\nexport abstract class SnapshotIModelRpcInterface extends RpcInterface {\n /** Returns the SnapshotIModelRpcInterface client instance for the frontend. */\n public static getClient(): SnapshotIModelRpcInterface { return RpcManager.getClientForInterface(SnapshotIModelRpcInterface); }\n\n /** Returns the SnapshotIModelRpcInterface client instance for a custom RPC routing configuration. */\n public static getClientForRouting(token: RpcRoutingToken): SnapshotIModelRpcInterface { return RpcManager.getClientForInterface(SnapshotIModelRpcInterface, token); }\n\n /** The immutable name of the interface. */\n public static readonly interfaceName = \"SnapshotIModelRpcInterface\";\n\n /** The version of the interface. */\n public static interfaceVersion = \"2.0.0\";\n\n /*===========================================================================================\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\n NOTE: Please consult the README in this folder for the semantic versioning rules.\n ===========================================================================================*/\n\n /**\n * @deprecated in 5.0. Use [[IpcAppFunctions.openSnapshot]] in IPC applications, no replacement for Web applications.\n */\n @RpcOperation.setRoutingProps(unknownIModelId)\n public async openFile(_filePath: string, _opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> { return this.forward(arguments); }\n\n /**\n * @deprecated in 4.10. Use [[CheckpointConnection.openRemote]].\n */\n @RpcOperation.setRoutingProps(unknownIModelId)\n public async openRemote(_key: string, _opts?: SnapshotOpenOptions): Promise<IModelConnectionProps> { return this.forward(arguments); }\n\n /**\n * @deprecated in 5.0. Use [[IpcAppFunctions.closeIModel]] in IPC applications, no replacement for Web applications.\n */\n public async close(_iModelRpcProps: IModelRpcProps): Promise<boolean> { return this.forward(arguments); }\n}\n"]}
@@ -22,10 +22,7 @@ import { RpcConfiguration, RpcDefaultConfiguration } from "./core/RpcConfigurati
22
22
  export class TestRpcManager {
23
23
  static initialize(interfaces) {
24
24
  const config = class extends RpcDefaultConfiguration {
25
- constructor() {
26
- super(...arguments);
27
- this.interfaces = () => interfaces;
28
- }
25
+ interfaces = () => interfaces;
29
26
  };
30
27
  for (const def of interfaces)
31
28
  RpcConfiguration.assign(def, () => RpcDefaultConfiguration);