@itwin/core-common 3.3.0-dev.9 → 3.4.0-dev.10

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 (334) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +2 -2
  3. package/lib/cjs/AmbientOcclusion.d.ts.map +1 -1
  4. package/lib/cjs/AmbientOcclusion.js +9 -9
  5. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  6. package/lib/cjs/AnalysisStyle.d.ts +7 -7
  7. package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
  8. package/lib/cjs/AnalysisStyle.js.map +1 -1
  9. package/lib/cjs/BackgroundMapProvider.d.ts +2 -2
  10. package/lib/cjs/BackgroundMapProvider.js +1 -1
  11. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  12. package/lib/cjs/BackgroundMapSettings.d.ts +2 -2
  13. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  14. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  15. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  16. package/lib/cjs/ChangedEntities.d.ts +1 -1
  17. package/lib/cjs/ChangedEntities.js.map +1 -1
  18. package/lib/cjs/Code.d.ts +7 -7
  19. package/lib/cjs/Code.d.ts.map +1 -1
  20. package/lib/cjs/Code.js +5 -5
  21. package/lib/cjs/Code.js.map +1 -1
  22. package/lib/cjs/ColorDef.d.ts +2 -0
  23. package/lib/cjs/ColorDef.d.ts.map +1 -1
  24. package/lib/cjs/ColorDef.js +4 -0
  25. package/lib/cjs/ColorDef.js.map +1 -1
  26. package/lib/cjs/ContextRealityModel.d.ts +6 -6
  27. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  28. package/lib/cjs/ContextRealityModel.js.map +1 -1
  29. package/lib/cjs/DisplayStyleSettings.d.ts +58 -57
  30. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  31. package/lib/cjs/DisplayStyleSettings.js +23 -26
  32. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  33. package/lib/cjs/ElementProps.d.ts +6 -6
  34. package/lib/cjs/ElementProps.d.ts.map +1 -1
  35. package/lib/cjs/ElementProps.js.map +1 -1
  36. package/lib/cjs/EmphasizeElementsProps.d.ts +8 -8
  37. package/lib/cjs/EmphasizeElementsProps.d.ts.map +1 -1
  38. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  39. package/lib/cjs/EntityProps.d.ts +2 -2
  40. package/lib/cjs/EntityProps.d.ts.map +1 -1
  41. package/lib/cjs/EntityProps.js.map +1 -1
  42. package/lib/cjs/Environment.d.ts +2 -2
  43. package/lib/cjs/Environment.d.ts.map +1 -1
  44. package/lib/cjs/Environment.js.map +1 -1
  45. package/lib/cjs/FeatureIndex.d.ts +0 -1
  46. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  47. package/lib/cjs/FeatureIndex.js +0 -1
  48. package/lib/cjs/FeatureIndex.js.map +1 -1
  49. package/lib/cjs/FeatureSymbology.d.ts +40 -9
  50. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  51. package/lib/cjs/FeatureSymbology.js +41 -6
  52. package/lib/cjs/FeatureSymbology.js.map +1 -1
  53. package/lib/cjs/FeatureTable.d.ts +6 -2
  54. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  55. package/lib/cjs/FeatureTable.js +26 -6
  56. package/lib/cjs/FeatureTable.js.map +1 -1
  57. package/lib/cjs/Gradient.d.ts +5 -1
  58. package/lib/cjs/Gradient.d.ts.map +1 -1
  59. package/lib/cjs/Gradient.js +17 -23
  60. package/lib/cjs/Gradient.js.map +1 -1
  61. package/lib/cjs/HiddenLine.d.ts +3 -3
  62. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  63. package/lib/cjs/HiddenLine.js.map +1 -1
  64. package/lib/cjs/IModel.d.ts +9 -6
  65. package/lib/cjs/IModel.d.ts.map +1 -1
  66. package/lib/cjs/IModel.js.map +1 -1
  67. package/lib/cjs/IModelError.d.ts +3 -3
  68. package/lib/cjs/IModelError.d.ts.map +1 -1
  69. package/lib/cjs/IModelError.js +1 -2
  70. package/lib/cjs/IModelError.js.map +1 -1
  71. package/lib/cjs/LightSettings.d.ts +4 -4
  72. package/lib/cjs/LightSettings.d.ts.map +1 -1
  73. package/lib/cjs/LightSettings.js.map +1 -1
  74. package/lib/cjs/MapImagerySettings.d.ts +7 -7
  75. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  76. package/lib/cjs/MapImagerySettings.js +3 -3
  77. package/lib/cjs/MapImagerySettings.js.map +1 -1
  78. package/lib/cjs/MapLayerSettings.d.ts +21 -14
  79. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  80. package/lib/cjs/MapLayerSettings.js +6 -6
  81. package/lib/cjs/MapLayerSettings.js.map +1 -1
  82. package/lib/cjs/ModelProps.d.ts +1 -1
  83. package/lib/cjs/ModelProps.js.map +1 -1
  84. package/lib/cjs/PlanProjectionSettings.d.ts +4 -4
  85. package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
  86. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  87. package/lib/cjs/PlanarClipMask.d.ts +11 -11
  88. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  89. package/lib/cjs/PlanarClipMask.js.map +1 -1
  90. package/lib/cjs/RenderSchedule.d.ts +66 -8
  91. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  92. package/lib/cjs/RenderSchedule.js +228 -8
  93. package/lib/cjs/RenderSchedule.js.map +1 -1
  94. package/lib/cjs/RgbColor.d.ts +1 -0
  95. package/lib/cjs/RgbColor.d.ts.map +1 -1
  96. package/lib/cjs/RgbColor.js +4 -0
  97. package/lib/cjs/RgbColor.js.map +1 -1
  98. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  99. package/lib/cjs/RpcInterface.js +91 -4
  100. package/lib/cjs/RpcInterface.js.map +1 -1
  101. package/lib/cjs/SpatialClassification.d.ts +9 -9
  102. package/lib/cjs/SpatialClassification.d.ts.map +1 -1
  103. package/lib/cjs/SpatialClassification.js +1 -1
  104. package/lib/cjs/SpatialClassification.js.map +1 -1
  105. package/lib/cjs/SubCategoryAppearance.d.ts +10 -10
  106. package/lib/cjs/SubCategoryAppearance.d.ts.map +1 -1
  107. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  108. package/lib/cjs/SubCategoryOverride.d.ts +6 -6
  109. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  110. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  111. package/lib/cjs/ViewFlags.d.ts +3 -3
  112. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  113. package/lib/cjs/ViewFlags.js.map +1 -1
  114. package/lib/cjs/ViewProps.d.ts +3 -1
  115. package/lib/cjs/ViewProps.d.ts.map +1 -1
  116. package/lib/cjs/ViewProps.js.map +1 -1
  117. package/lib/cjs/core-common.d.ts +7 -1
  118. package/lib/cjs/core-common.d.ts.map +1 -1
  119. package/lib/cjs/core-common.js +7 -1
  120. package/lib/cjs/core-common.js.map +1 -1
  121. package/lib/cjs/ipc/IpcSession.d.ts +24 -0
  122. package/lib/cjs/ipc/IpcSession.d.ts.map +1 -0
  123. package/lib/cjs/ipc/IpcSession.js +28 -0
  124. package/lib/cjs/ipc/IpcSession.js.map +1 -0
  125. package/lib/cjs/ipc/IpcWebSocket.d.ts +3 -0
  126. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  127. package/lib/cjs/ipc/IpcWebSocket.js +28 -14
  128. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  129. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +4 -2
  130. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  131. package/lib/cjs/rpc/IModelReadRpcInterface.js +42 -2
  132. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  133. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  134. package/lib/cjs/rpc/IModelTileRpcInterface.js +16 -2
  135. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  136. package/lib/cjs/rpc/core/RpcControl.d.ts +2 -0
  137. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  138. package/lib/cjs/rpc/core/RpcControl.js +13 -1
  139. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  140. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  141. package/lib/cjs/rpc/core/RpcInvocation.js +17 -4
  142. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  143. package/lib/cjs/rpc/core/RpcProtocol.d.ts +6 -2
  144. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  145. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  146. package/lib/cjs/rpc/core/RpcRequest.d.ts +11 -6
  147. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  148. package/lib/cjs/rpc/core/RpcRequest.js +12 -14
  149. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  150. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +11 -0
  151. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  152. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -0
  153. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -0
  154. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  155. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  156. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +0 -47
  157. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  158. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +2 -3
  159. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  160. package/lib/cjs/rpc/web/WebAppRpcRequest.js +25 -20
  161. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  162. package/lib/cjs/tile/ElementGraphics.d.ts +4 -0
  163. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  164. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  165. package/lib/cjs/tile/IModelTileIO.d.ts +2 -2
  166. package/lib/cjs/tile/IModelTileIO.js +2 -2
  167. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  168. package/lib/esm/AmbientOcclusion.d.ts +2 -2
  169. package/lib/esm/AmbientOcclusion.d.ts.map +1 -1
  170. package/lib/esm/AmbientOcclusion.js +9 -9
  171. package/lib/esm/AmbientOcclusion.js.map +1 -1
  172. package/lib/esm/AnalysisStyle.d.ts +7 -7
  173. package/lib/esm/AnalysisStyle.d.ts.map +1 -1
  174. package/lib/esm/AnalysisStyle.js.map +1 -1
  175. package/lib/esm/BackgroundMapProvider.d.ts +2 -2
  176. package/lib/esm/BackgroundMapProvider.js +1 -1
  177. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  178. package/lib/esm/BackgroundMapSettings.d.ts +2 -2
  179. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  180. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  181. package/lib/esm/BriefcaseTypes.js.map +1 -1
  182. package/lib/esm/ChangedEntities.d.ts +1 -1
  183. package/lib/esm/ChangedEntities.js.map +1 -1
  184. package/lib/esm/Code.d.ts +7 -7
  185. package/lib/esm/Code.d.ts.map +1 -1
  186. package/lib/esm/Code.js +5 -5
  187. package/lib/esm/Code.js.map +1 -1
  188. package/lib/esm/ColorDef.d.ts +2 -0
  189. package/lib/esm/ColorDef.d.ts.map +1 -1
  190. package/lib/esm/ColorDef.js +4 -0
  191. package/lib/esm/ColorDef.js.map +1 -1
  192. package/lib/esm/ContextRealityModel.d.ts +6 -6
  193. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  194. package/lib/esm/ContextRealityModel.js.map +1 -1
  195. package/lib/esm/DisplayStyleSettings.d.ts +58 -57
  196. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  197. package/lib/esm/DisplayStyleSettings.js +23 -26
  198. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  199. package/lib/esm/ElementProps.d.ts +6 -6
  200. package/lib/esm/ElementProps.d.ts.map +1 -1
  201. package/lib/esm/ElementProps.js.map +1 -1
  202. package/lib/esm/EmphasizeElementsProps.d.ts +8 -8
  203. package/lib/esm/EmphasizeElementsProps.d.ts.map +1 -1
  204. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  205. package/lib/esm/EntityProps.d.ts +2 -2
  206. package/lib/esm/EntityProps.d.ts.map +1 -1
  207. package/lib/esm/EntityProps.js.map +1 -1
  208. package/lib/esm/Environment.d.ts +2 -2
  209. package/lib/esm/Environment.d.ts.map +1 -1
  210. package/lib/esm/Environment.js.map +1 -1
  211. package/lib/esm/FeatureIndex.d.ts +0 -1
  212. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  213. package/lib/esm/FeatureIndex.js +0 -1
  214. package/lib/esm/FeatureIndex.js.map +1 -1
  215. package/lib/esm/FeatureSymbology.d.ts +40 -9
  216. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  217. package/lib/esm/FeatureSymbology.js +41 -6
  218. package/lib/esm/FeatureSymbology.js.map +1 -1
  219. package/lib/esm/FeatureTable.d.ts +6 -2
  220. package/lib/esm/FeatureTable.d.ts.map +1 -1
  221. package/lib/esm/FeatureTable.js +26 -6
  222. package/lib/esm/FeatureTable.js.map +1 -1
  223. package/lib/esm/Gradient.d.ts +5 -1
  224. package/lib/esm/Gradient.d.ts.map +1 -1
  225. package/lib/esm/Gradient.js +17 -23
  226. package/lib/esm/Gradient.js.map +1 -1
  227. package/lib/esm/HiddenLine.d.ts +3 -3
  228. package/lib/esm/HiddenLine.d.ts.map +1 -1
  229. package/lib/esm/HiddenLine.js.map +1 -1
  230. package/lib/esm/IModel.d.ts +9 -6
  231. package/lib/esm/IModel.d.ts.map +1 -1
  232. package/lib/esm/IModel.js.map +1 -1
  233. package/lib/esm/IModelError.d.ts +3 -3
  234. package/lib/esm/IModelError.d.ts.map +1 -1
  235. package/lib/esm/IModelError.js +1 -1
  236. package/lib/esm/IModelError.js.map +1 -1
  237. package/lib/esm/LightSettings.d.ts +4 -4
  238. package/lib/esm/LightSettings.d.ts.map +1 -1
  239. package/lib/esm/LightSettings.js.map +1 -1
  240. package/lib/esm/MapImagerySettings.d.ts +7 -7
  241. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  242. package/lib/esm/MapImagerySettings.js +3 -3
  243. package/lib/esm/MapImagerySettings.js.map +1 -1
  244. package/lib/esm/MapLayerSettings.d.ts +21 -14
  245. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  246. package/lib/esm/MapLayerSettings.js +6 -6
  247. package/lib/esm/MapLayerSettings.js.map +1 -1
  248. package/lib/esm/ModelProps.d.ts +1 -1
  249. package/lib/esm/ModelProps.js.map +1 -1
  250. package/lib/esm/PlanProjectionSettings.d.ts +4 -4
  251. package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
  252. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  253. package/lib/esm/PlanarClipMask.d.ts +11 -11
  254. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  255. package/lib/esm/PlanarClipMask.js.map +1 -1
  256. package/lib/esm/RenderSchedule.d.ts +66 -8
  257. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  258. package/lib/esm/RenderSchedule.js +229 -9
  259. package/lib/esm/RenderSchedule.js.map +1 -1
  260. package/lib/esm/RgbColor.d.ts +1 -0
  261. package/lib/esm/RgbColor.d.ts.map +1 -1
  262. package/lib/esm/RgbColor.js +4 -0
  263. package/lib/esm/RgbColor.js.map +1 -1
  264. package/lib/esm/RpcInterface.d.ts.map +1 -1
  265. package/lib/esm/RpcInterface.js +91 -4
  266. package/lib/esm/RpcInterface.js.map +1 -1
  267. package/lib/esm/SpatialClassification.d.ts +9 -9
  268. package/lib/esm/SpatialClassification.d.ts.map +1 -1
  269. package/lib/esm/SpatialClassification.js +1 -1
  270. package/lib/esm/SpatialClassification.js.map +1 -1
  271. package/lib/esm/SubCategoryAppearance.d.ts +10 -10
  272. package/lib/esm/SubCategoryAppearance.d.ts.map +1 -1
  273. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  274. package/lib/esm/SubCategoryOverride.d.ts +6 -6
  275. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  276. package/lib/esm/SubCategoryOverride.js.map +1 -1
  277. package/lib/esm/ViewFlags.d.ts +3 -3
  278. package/lib/esm/ViewFlags.d.ts.map +1 -1
  279. package/lib/esm/ViewFlags.js.map +1 -1
  280. package/lib/esm/ViewProps.d.ts +3 -1
  281. package/lib/esm/ViewProps.d.ts.map +1 -1
  282. package/lib/esm/ViewProps.js.map +1 -1
  283. package/lib/esm/core-common.d.ts +7 -1
  284. package/lib/esm/core-common.d.ts.map +1 -1
  285. package/lib/esm/core-common.js +7 -1
  286. package/lib/esm/core-common.js.map +1 -1
  287. package/lib/esm/ipc/IpcSession.d.ts +24 -0
  288. package/lib/esm/ipc/IpcSession.d.ts.map +1 -0
  289. package/lib/esm/ipc/IpcSession.js +24 -0
  290. package/lib/esm/ipc/IpcSession.js.map +1 -0
  291. package/lib/esm/ipc/IpcWebSocket.d.ts +3 -0
  292. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  293. package/lib/esm/ipc/IpcWebSocket.js +28 -14
  294. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  295. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +4 -2
  296. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  297. package/lib/esm/rpc/IModelReadRpcInterface.js +41 -1
  298. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  299. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  300. package/lib/esm/rpc/IModelTileRpcInterface.js +15 -1
  301. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  302. package/lib/esm/rpc/core/RpcControl.d.ts +2 -0
  303. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  304. package/lib/esm/rpc/core/RpcControl.js +13 -1
  305. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  306. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  307. package/lib/esm/rpc/core/RpcInvocation.js +18 -5
  308. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  309. package/lib/esm/rpc/core/RpcProtocol.d.ts +6 -2
  310. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  311. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  312. package/lib/esm/rpc/core/RpcRequest.d.ts +11 -6
  313. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  314. package/lib/esm/rpc/core/RpcRequest.js +6 -8
  315. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  316. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +11 -0
  317. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  318. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -0
  319. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -0
  320. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  321. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  322. package/lib/esm/rpc/web/WebAppRpcProtocol.js +0 -47
  323. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  324. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +2 -3
  325. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  326. package/lib/esm/rpc/web/WebAppRpcRequest.js +25 -20
  327. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  328. package/lib/esm/tile/ElementGraphics.d.ts +4 -0
  329. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  330. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  331. package/lib/esm/tile/IModelTileIO.d.ts +2 -2
  332. package/lib/esm/tile/IModelTileIO.js +2 -2
  333. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  334. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IpcSocket\r\n */\r\n\r\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\r\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\r\n\r\n/** @internal */\r\nexport enum IpcWebSocketMessageType {\r\n Send,\r\n Push,\r\n Invoke,\r\n Response,\r\n Internal,\r\n Duplicate\r\n}\r\n\r\n/** @internal */\r\nexport interface IpcWebSocketMessage {\r\n type: IpcWebSocketMessageType;\r\n request?: number;\r\n response?: number;\r\n channel: string;\r\n method?: string;\r\n data?: any[];\r\n sequence: number;\r\n}\r\n\r\n/** @internal */\r\nexport namespace IpcWebSocketMessage {\r\n export function internal(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function duplicate(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function skip(message: IpcWebSocketMessage): boolean {\r\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport abstract class IpcWebSocket implements IpcSocket {\r\n public static transport: IpcWebSocketTransport;\r\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\r\n\r\n protected _channels = new Map<string, Set<IpcListener>>();\r\n\r\n public constructor() {\r\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\r\n }\r\n\r\n public abstract send(channel: string, ...data: any[]): void;\r\n\r\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\r\n let listeners = this._channels.get(channel);\r\n if (!listeners) {\r\n listeners = new Set();\r\n this._channels.set(channel, listeners);\r\n }\r\n\r\n if (!listeners.has(listener))\r\n listeners.add(listener);\r\n\r\n return () => listeners!.delete(listener);\r\n }\r\n\r\n public removeListener(channel: string, listener: IpcListener) {\r\n this._channels.get(channel)?.delete(listener);\r\n }\r\n\r\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\r\n return;\r\n\r\n const handlers = this._channels.get(message.channel);\r\n if (!handlers)\r\n return;\r\n\r\n let arg = message.data;\r\n if (typeof (arg) === \"undefined\")\r\n arg = [];\r\n\r\n for (const handler of handlers)\r\n handler(evt, ...arg);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\r\n private _nextRequest = 0;\r\n private _pendingRequests = new Map<number, (response: any) => void>();\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\r\n }\r\n\r\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\r\n const requestId = ++this._nextRequest;\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\r\n\r\n return new Promise((resolve) => {\r\n this._pendingRequests.set(requestId, resolve);\r\n });\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\r\n return;\r\n\r\n const pendingHandler = this._pendingRequests.get(message.response);\r\n if (!pendingHandler)\r\n return;\r\n\r\n this._pendingRequests.delete(message.response);\r\n pendingHandler(message.data);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\r\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\r\n }\r\n\r\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\r\n this._handlers.set(channel, handler);\r\n\r\n return () => {\r\n if (this._handlers.get(channel) === handler)\r\n this._handlers.delete(channel);\r\n };\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Invoke || !message.method)\r\n return;\r\n\r\n const handler = this._handlers.get(message.channel);\r\n if (!handler)\r\n return;\r\n\r\n let args = message.data;\r\n if (typeof (args) === \"undefined\")\r\n args = [];\r\n\r\n const response = await handler({} as any, message.method, ...args);\r\n\r\n IpcWebSocket.transport.send({\r\n type: IpcWebSocketMessageType.Response,\r\n channel: message.channel,\r\n response: message.request,\r\n data: response,\r\n sequence: -1,\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IpcSocket\r\n */\r\n\r\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\r\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\r\n\r\n/** @internal */\r\nexport enum IpcWebSocketMessageType {\r\n Send,\r\n Push,\r\n Invoke,\r\n Response,\r\n Internal,\r\n Duplicate\r\n}\r\n\r\n/** @internal */\r\nexport interface IpcWebSocketMessage {\r\n type: IpcWebSocketMessageType;\r\n request?: number;\r\n response?: number;\r\n channel: string;\r\n method?: string;\r\n data?: any[];\r\n sequence: number;\r\n}\r\n\r\n/** @internal */\r\nexport namespace IpcWebSocketMessage {\r\n export function internal(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function duplicate(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function skip(message: IpcWebSocketMessage): boolean {\r\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport abstract class IpcWebSocket implements IpcSocket {\r\n public static transport: IpcWebSocketTransport;\r\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\r\n\r\n protected _channels = new Map<string, Set<IpcListener>>();\r\n\r\n public constructor() {\r\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\r\n }\r\n\r\n public abstract send(channel: string, ...data: any[]): void;\r\n\r\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\r\n let listeners = this._channels.get(channel);\r\n if (!listeners) {\r\n listeners = new Set();\r\n this._channels.set(channel, listeners);\r\n }\r\n\r\n if (!listeners.has(listener))\r\n listeners.add(listener);\r\n\r\n return () => listeners!.delete(listener);\r\n }\r\n\r\n public removeListener(channel: string, listener: IpcListener) {\r\n this._channels.get(channel)?.delete(listener);\r\n }\r\n\r\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\r\n return;\r\n\r\n const handlers = this._channels.get(message.channel);\r\n if (!handlers)\r\n return;\r\n\r\n let arg = message.data;\r\n if (typeof (arg) === \"undefined\")\r\n arg = [];\r\n\r\n for (const handler of handlers)\r\n handler(evt, ...arg);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\r\n private _nextRequest = 0;\r\n private _pendingRequests = new Map<number, (response: any) => void>();\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\r\n }\r\n\r\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\r\n const requestId = ++this._nextRequest;\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\r\n\r\n return new Promise((resolve) => {\r\n this._pendingRequests.set(requestId, resolve);\r\n });\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\r\n return;\r\n\r\n const pendingHandler = this._pendingRequests.get(message.response);\r\n if (!pendingHandler)\r\n return;\r\n\r\n this._pendingRequests.delete(message.response);\r\n pendingHandler(message.data);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\r\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\r\n private _processingQueue: IpcWebSocketMessage[] = [];\r\n private _processing: IpcWebSocketMessage | undefined;\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\r\n }\r\n\r\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\r\n this._handlers.set(channel, handler);\r\n\r\n return () => {\r\n if (this._handlers.get(channel) === handler)\r\n this._handlers.delete(channel);\r\n };\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Invoke)\r\n return;\r\n\r\n this._processingQueue.push(message);\r\n await this.processMessages();\r\n }\r\n\r\n private async processMessages() {\r\n if (this._processing || !this._processingQueue.length) {\r\n return;\r\n }\r\n\r\n const message = this._processingQueue.shift();\r\n if (message && message.method) {\r\n const handler = this._handlers.get(message.channel);\r\n if (handler) {\r\n this._processing = message;\r\n\r\n let args = message.data;\r\n if (typeof (args) === \"undefined\")\r\n args = [];\r\n\r\n const response = await handler({} as any, message.method, ...args);\r\n\r\n IpcWebSocket.transport.send({\r\n type: IpcWebSocketMessageType.Response,\r\n channel: message.channel,\r\n response: message.request,\r\n data: response,\r\n sequence: -1,\r\n });\r\n\r\n this._processing = undefined;\r\n }\r\n }\r\n\r\n await this.processMessages();\r\n }\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module RpcInterface
3
3
  */
4
- import { GuidString, Id64String } from "@itwin/core-bentley";
4
+ import { CompressedId64Set, GuidString, Id64String } from "@itwin/core-bentley";
5
5
  import { Range3dProps } from "@itwin/core-geometry";
6
6
  import { CodeProps } from "../Code";
7
7
  import { DbBlobRequest, DbBlobResponse, DbQueryRequest, DbQueryResponse } from "../ConcurrentQuery";
@@ -17,7 +17,7 @@ import { ModelProps } from "../ModelProps";
17
17
  import { RpcInterface } from "../RpcInterface";
18
18
  import { SnapRequestProps, SnapResponseProps } from "../Snapping";
19
19
  import { TextureData, TextureLoadProps } from "../TextureProps";
20
- import { CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, ViewStateLoadProps, ViewStateProps } from "../ViewProps";
20
+ import { CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SubCategoryResultRow, ViewStateLoadProps, ViewStateProps } from "../ViewProps";
21
21
  import { RpcNotFoundResponse } from "./core/RpcControl";
22
22
  import { RpcRoutingToken } from "./core/RpcRoutingToken";
23
23
  /** Response if the IModelDb was not found at the backend
@@ -26,6 +26,7 @@ import { RpcRoutingToken } from "./core/RpcRoutingToken";
26
26
  */
27
27
  export declare class IModelNotFoundResponse extends RpcNotFoundResponse {
28
28
  isIModelNotFoundResponse: boolean;
29
+ message: string;
29
30
  }
30
31
  /** The RPC interface for reading from an iModel.
31
32
  * All operations only require read-only access.
@@ -43,6 +44,7 @@ export declare abstract class IModelReadRpcInterface extends RpcInterface {
43
44
  static interfaceVersion: string;
44
45
  getConnectionProps(_iModelToken: IModelRpcOpenProps): Promise<IModelConnectionProps>;
45
46
  queryRows(_iModelToken: IModelRpcProps, _request: DbQueryRequest): Promise<DbQueryResponse>;
47
+ querySubCategories(_iModelToken: IModelRpcProps, _categoryIds: CompressedId64Set): Promise<SubCategoryResultRow[]>;
46
48
  queryBlob(_iModelToken: IModelRpcProps, _request: DbBlobRequest): Promise<DbBlobResponse>;
47
49
  getModelProps(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelProps[]>;
48
50
  queryModelRanges(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<Range3dProps[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelReadRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelReadRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,16 @@
6
6
  /** @packageDocumentation
7
7
  * @module RpcInterface
8
8
  */
9
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
9
15
  Object.defineProperty(exports, "__esModule", { value: true });
10
16
  exports.IModelReadRpcInterface = exports.IModelNotFoundResponse = void 0;
17
+ const RpcConstants_1 = require("./core/RpcConstants");
18
+ const RpcOperation_1 = require("./core/RpcOperation");
11
19
  const RpcInterface_1 = require("../RpcInterface");
12
20
  const RpcManager_1 = require("../RpcManager");
13
21
  const RpcControl_1 = require("./core/RpcControl");
@@ -19,6 +27,7 @@ class IModelNotFoundResponse extends RpcControl_1.RpcNotFoundResponse {
19
27
  constructor() {
20
28
  super(...arguments);
21
29
  this.isIModelNotFoundResponse = true;
30
+ this.message = "iModel not found";
22
31
  }
23
32
  }
24
33
  exports.IModelNotFoundResponse = IModelNotFoundResponse;
@@ -38,6 +47,7 @@ class IModelReadRpcInterface extends RpcInterface_1.RpcInterface {
38
47
  ===========================================================================================*/
39
48
  async getConnectionProps(_iModelToken) { return this.forward(arguments); }
40
49
  async queryRows(_iModelToken, _request) { return this.forward(arguments); }
50
+ async querySubCategories(_iModelToken, _categoryIds) { return this.forward(arguments); }
41
51
  async queryBlob(_iModelToken, _request) { return this.forward(arguments); }
42
52
  async getModelProps(_iModelToken, _modelIds) { return this.forward(arguments); }
43
53
  async queryModelRanges(_iModelToken, _modelIds) { return this.forward(arguments); }
@@ -68,9 +78,39 @@ class IModelReadRpcInterface extends RpcInterface_1.RpcInterface {
68
78
  return this.forward(arguments);
69
79
  }
70
80
  }
71
- exports.IModelReadRpcInterface = IModelReadRpcInterface;
72
81
  /** The immutable name of the interface. */
73
82
  IModelReadRpcInterface.interfaceName = "IModelReadRpcInterface";
74
83
  /** The semantic version of the interface. */
75
- IModelReadRpcInterface.interfaceVersion = "3.1.0";
84
+ IModelReadRpcInterface.interfaceVersion = "3.2.0";
85
+ __decorate([
86
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
87
+ ], IModelReadRpcInterface.prototype, "getConnectionProps", null);
88
+ __decorate([
89
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
90
+ ], IModelReadRpcInterface.prototype, "querySubCategories", null);
91
+ __decorate([
92
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
93
+ ], IModelReadRpcInterface.prototype, "getModelProps", null);
94
+ __decorate([
95
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
96
+ ], IModelReadRpcInterface.prototype, "queryModelRanges", null);
97
+ __decorate([
98
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
99
+ ], IModelReadRpcInterface.prototype, "getClassHierarchy", null);
100
+ __decorate([
101
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
102
+ ], IModelReadRpcInterface.prototype, "getViewStateData", null);
103
+ __decorate([
104
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
105
+ ], IModelReadRpcInterface.prototype, "getDefaultViewId", null);
106
+ __decorate([
107
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
108
+ ], IModelReadRpcInterface.prototype, "getCustomViewState3dData", null);
109
+ __decorate([
110
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
111
+ ], IModelReadRpcInterface.prototype, "hydrateViewState", null);
112
+ __decorate([
113
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
114
+ ], IModelReadRpcInterface.prototype, "getGeoCoordinatesFromIModelCoordinates", null);
115
+ exports.IModelReadRpcInterface = IModelReadRpcInterface;
76
116
  //# sourceMappingURL=IModelReadRpcInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IModelReadRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { GuidString, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range3dProps } from \"@itwin/core-geometry\";\r\nimport { CodeProps } from \"../Code\";\r\nimport { DbBlobRequest, DbBlobResponse, DbQueryRequest, DbQueryResponse } from \"../ConcurrentQuery\";\r\nimport { ElementLoadOptions, ElementProps } from \"../ElementProps\";\r\nimport { EntityQueryParams } from \"../EntityProps\";\r\nimport { FontMapProps } from \"../Fonts\";\r\nimport {\r\n GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps,\r\n} from \"../GeoCoordinateServices\";\r\nimport { GeometryContainmentRequestProps, GeometryContainmentResponseProps } from \"../GeometryContainment\";\r\nimport { GeometrySummaryRequestProps } from \"../GeometrySummary\";\r\nimport { IModelConnectionProps, IModelRpcOpenProps, IModelRpcProps } from \"../IModel\";\r\nimport { MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps, MassPropertiesRequestProps, MassPropertiesResponseProps } from \"../MassProperties\";\r\nimport { ModelProps } from \"../ModelProps\";\r\nimport { RpcInterface } from \"../RpcInterface\";\r\nimport { RpcManager } from \"../RpcManager\";\r\nimport { SnapRequestProps, SnapResponseProps } from \"../Snapping\";\r\nimport { TextureData, TextureLoadProps } from \"../TextureProps\";\r\nimport { CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, ViewStateLoadProps, ViewStateProps } from \"../ViewProps\";\r\nimport { RpcNotFoundResponse } from \"./core/RpcControl\";\r\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\r\n\r\n/** Response if the IModelDb was not found at the backend\r\n * (if the service has moved)\r\n * @public\r\n */\r\nexport class IModelNotFoundResponse extends RpcNotFoundResponse {\r\n public isIModelNotFoundResponse: boolean = true;\r\n}\r\n\r\n/** The RPC interface for reading from an iModel.\r\n * All operations only require read-only access.\r\n * This interface is not normally used directly. See IModelConnection for higher-level and more convenient API for accessing iModels from a frontend.\r\n * @internal\r\n */\r\nexport abstract class IModelReadRpcInterface extends RpcInterface {\r\n /** Returns the IModelReadRpcInterface instance for the frontend. */\r\n public static getClient(): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface); }\r\n\r\n /** Returns the IModelReadRpcInterface instance for a custom RPC routing configuration. */\r\n public static getClientForRouting(token: RpcRoutingToken): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface, token); }\r\n\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"IModelReadRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"3.1.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in this folder for the semantic versioning rules.\r\n ===========================================================================================*/\r\n public async getConnectionProps(_iModelToken: IModelRpcOpenProps): Promise<IModelConnectionProps> { return this.forward(arguments); }\r\n public async queryRows(_iModelToken: IModelRpcProps, _request: DbQueryRequest): Promise<DbQueryResponse> { return this.forward(arguments); }\r\n public async queryBlob(_iModelToken: IModelRpcProps, _request: DbBlobRequest): Promise<DbBlobResponse> { return this.forward(arguments); }\r\n public async getModelProps(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelProps[]> { return this.forward(arguments); }\r\n public async queryModelRanges(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<Range3dProps[]> { return this.forward(arguments); }\r\n public async queryModelProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ModelProps[]> { return this.forward(arguments); }\r\n public async getElementProps(_iModelToken: IModelRpcProps, _elementIds: Id64String[]): Promise<ElementProps[]> { return this.forward(arguments); }\r\n public async queryElementProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ElementProps[]> { return this.forward(arguments); }\r\n public async queryEntityIds(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<Id64String[]> { return this.forward(arguments); }\r\n public async getClassHierarchy(_iModelToken: IModelRpcProps, _startClassName: string): Promise<string[]> { return this.forward(arguments); }\r\n public async getAllCodeSpecs(_iModelToken: IModelRpcProps): Promise<any[]> { return this.forward(arguments); }\r\n public async getViewStateData(_iModelToken: IModelRpcProps, _viewDefinitionId: string, _options?: ViewStateLoadProps): Promise<ViewStateProps> { return this.forward(arguments); }\r\n public async readFontJson(_iModelToken: IModelRpcProps): Promise<FontMapProps> { return this.forward(arguments); }\r\n public async getToolTipMessage(_iModelToken: IModelRpcProps, _elementId: string): Promise<string[]> { return this.forward(arguments); }\r\n /** @deprecated */\r\n public async getViewThumbnail(_iModelToken: IModelRpcProps, _viewId: string): Promise<Uint8Array> { return this.forward(arguments); }\r\n public async getDefaultViewId(_iModelToken: IModelRpcProps): Promise<Id64String> { return this.forward(arguments); }\r\n public async getCustomViewState3dData(_iModelToken: IModelRpcProps, _options: CustomViewState3dCreatorOptions): Promise<CustomViewState3dProps> { return this.forward(arguments); }\r\n public async hydrateViewState(_iModelToken: IModelRpcProps, _options: HydrateViewStateRequestProps): Promise<HydrateViewStateResponseProps> { return this.forward(arguments); }\r\n public async requestSnap(_iModelToken: IModelRpcProps, _sessionId: string, _props: SnapRequestProps): Promise<SnapResponseProps> { return this.forward(arguments); }\r\n public async cancelSnap(_iModelToken: IModelRpcProps, _sessionId: string): Promise<void> { return this.forward(arguments); }\r\n public async getGeometryContainment(_iModelToken: IModelRpcProps, _props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> { return this.forward(arguments); }\r\n public async getMassProperties(_iModelToken: IModelRpcProps, _props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> { return this.forward(arguments); }\r\n public async getMassPropertiesPerCandidate(_iModelToken: IModelRpcProps, _props: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]> { return this.forward(arguments); }\r\n public async getIModelCoordinatesFromGeoCoordinates(_iModelToken: IModelRpcProps, _props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> { return this.forward(arguments); }\r\n public async getGeoCoordinatesFromIModelCoordinates(_iModelToken: IModelRpcProps, _props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> { return this.forward(arguments); }\r\n public async getGeometrySummary(_iModelToken: IModelRpcProps, _props: GeometrySummaryRequestProps): Promise<string> { return this.forward(arguments); }\r\n public async queryTextureData(_iModelToken: IModelRpcProps, _textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> { return this.forward(arguments); }\r\n public async loadElementProps(_iModelToken: IModelRpcProps, _elementIdentifier: Id64String | GuidString | CodeProps, _options?: ElementLoadOptions): Promise<ElementProps | undefined> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelReadRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { CompressedId64Set, GuidString, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range3dProps } from \"@itwin/core-geometry\";\r\nimport { CodeProps } from \"../Code\";\r\nimport { DbBlobRequest, DbBlobResponse, DbQueryRequest, DbQueryResponse } from \"../ConcurrentQuery\";\r\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\r\nimport { RpcOperation } from \"./core/RpcOperation\";\r\nimport { ElementLoadOptions, ElementProps } from \"../ElementProps\";\r\nimport { EntityQueryParams } from \"../EntityProps\";\r\nimport { FontMapProps } from \"../Fonts\";\r\nimport {\r\n GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps,\r\n} from \"../GeoCoordinateServices\";\r\nimport { GeometryContainmentRequestProps, GeometryContainmentResponseProps } from \"../GeometryContainment\";\r\nimport { GeometrySummaryRequestProps } from \"../GeometrySummary\";\r\nimport { IModelConnectionProps, IModelRpcOpenProps, IModelRpcProps } from \"../IModel\";\r\nimport { MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps, MassPropertiesRequestProps, MassPropertiesResponseProps } from \"../MassProperties\";\r\nimport { ModelProps } from \"../ModelProps\";\r\nimport { RpcInterface } from \"../RpcInterface\";\r\nimport { RpcManager } from \"../RpcManager\";\r\nimport { SnapRequestProps, SnapResponseProps } from \"../Snapping\";\r\nimport { TextureData, TextureLoadProps } from \"../TextureProps\";\r\nimport { CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SubCategoryResultRow, ViewStateLoadProps, ViewStateProps } from \"../ViewProps\";\r\nimport { RpcNotFoundResponse } from \"./core/RpcControl\";\r\nimport { RpcRoutingToken } from \"./core/RpcRoutingToken\";\r\n\r\n/** Response if the IModelDb was not found at the backend\r\n * (if the service has moved)\r\n * @public\r\n */\r\nexport class IModelNotFoundResponse extends RpcNotFoundResponse {\r\n public isIModelNotFoundResponse: boolean = true;\r\n public override message = \"iModel not found\";\r\n}\r\n\r\n/** The RPC interface for reading from an iModel.\r\n * All operations only require read-only access.\r\n * This interface is not normally used directly. See IModelConnection for higher-level and more convenient API for accessing iModels from a frontend.\r\n * @internal\r\n */\r\nexport abstract class IModelReadRpcInterface extends RpcInterface {\r\n /** Returns the IModelReadRpcInterface instance for the frontend. */\r\n public static getClient(): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface); }\r\n\r\n /** Returns the IModelReadRpcInterface instance for a custom RPC routing configuration. */\r\n public static getClientForRouting(token: RpcRoutingToken): IModelReadRpcInterface { return RpcManager.getClientForInterface(IModelReadRpcInterface, token); }\r\n\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"IModelReadRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"3.2.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in this folder for the semantic versioning rules.\r\n ===========================================================================================*/\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getConnectionProps(_iModelToken: IModelRpcOpenProps): Promise<IModelConnectionProps> { return this.forward(arguments); }\r\n public async queryRows(_iModelToken: IModelRpcProps, _request: DbQueryRequest): Promise<DbQueryResponse> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async querySubCategories(_iModelToken: IModelRpcProps, _categoryIds: CompressedId64Set): Promise<SubCategoryResultRow[]> { return this.forward(arguments); }\r\n public async queryBlob(_iModelToken: IModelRpcProps, _request: DbBlobRequest): Promise<DbBlobResponse> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getModelProps(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<ModelProps[]> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async queryModelRanges(_iModelToken: IModelRpcProps, _modelIds: Id64String[]): Promise<Range3dProps[]> { return this.forward(arguments); }\r\n public async queryModelProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ModelProps[]> { return this.forward(arguments); }\r\n public async getElementProps(_iModelToken: IModelRpcProps, _elementIds: Id64String[]): Promise<ElementProps[]> { return this.forward(arguments); }\r\n public async queryElementProps(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<ElementProps[]> { return this.forward(arguments); }\r\n public async queryEntityIds(_iModelToken: IModelRpcProps, _params: EntityQueryParams): Promise<Id64String[]> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getClassHierarchy(_iModelToken: IModelRpcProps, _startClassName: string): Promise<string[]> { return this.forward(arguments); }\r\n public async getAllCodeSpecs(_iModelToken: IModelRpcProps): Promise<any[]> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getViewStateData(_iModelToken: IModelRpcProps, _viewDefinitionId: string, _options?: ViewStateLoadProps): Promise<ViewStateProps> { return this.forward(arguments); }\r\n public async readFontJson(_iModelToken: IModelRpcProps): Promise<FontMapProps> { return this.forward(arguments); }\r\n public async getToolTipMessage(_iModelToken: IModelRpcProps, _elementId: string): Promise<string[]> { return this.forward(arguments); }\r\n /** @deprecated */\r\n public async getViewThumbnail(_iModelToken: IModelRpcProps, _viewId: string): Promise<Uint8Array> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getDefaultViewId(_iModelToken: IModelRpcProps): Promise<Id64String> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getCustomViewState3dData(_iModelToken: IModelRpcProps, _options: CustomViewState3dCreatorOptions): Promise<CustomViewState3dProps> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async hydrateViewState(_iModelToken: IModelRpcProps, _options: HydrateViewStateRequestProps): Promise<HydrateViewStateResponseProps> { return this.forward(arguments); }\r\n public async requestSnap(_iModelToken: IModelRpcProps, _sessionId: string, _props: SnapRequestProps): Promise<SnapResponseProps> { return this.forward(arguments); }\r\n public async cancelSnap(_iModelToken: IModelRpcProps, _sessionId: string): Promise<void> { return this.forward(arguments); }\r\n public async getGeometryContainment(_iModelToken: IModelRpcProps, _props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> { return this.forward(arguments); }\r\n public async getMassProperties(_iModelToken: IModelRpcProps, _props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> { return this.forward(arguments); }\r\n public async getMassPropertiesPerCandidate(_iModelToken: IModelRpcProps, _props: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]> { return this.forward(arguments); }\r\n public async getIModelCoordinatesFromGeoCoordinates(_iModelToken: IModelRpcProps, _props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> { return this.forward(arguments); }\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getGeoCoordinatesFromIModelCoordinates(_iModelToken: IModelRpcProps, _props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> { return this.forward(arguments); }\r\n public async getGeometrySummary(_iModelToken: IModelRpcProps, _props: GeometrySummaryRequestProps): Promise<string> { return this.forward(arguments); }\r\n public async queryTextureData(_iModelToken: IModelRpcProps, _textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> { return this.forward(arguments); }\r\n public async loadElementProps(_iModelToken: IModelRpcProps, _elementIdentifier: Id64String | GuidString | CodeProps, _options?: ElementLoadOptions): Promise<ElementProps | undefined> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTileRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvF,cAAc;AACd,8BAAsB,sBAAuB,SAAQ,YAAY;WACjD,SAAS,IAAI,sBAAsB;IAEjD,2CAA2C;IAC3C,gBAAuB,aAAa,4BAA4B;IAEhE,6CAA6C;IAC7C,OAAc,gBAAgB,SAAW;IAOzC;;OAEG;IACU,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3I;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD,gBAAgB;IACH,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAEzG;;;;OAIG;IACU,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIvJ;;OAEG;IACU,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7G,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzD;;;;;OAKG;IACU,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzG;;;;OAIG;IACU,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAGvI"}
1
+ {"version":3,"file":"IModelTileRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvF,cAAc;AACd,8BAAsB,sBAAuB,SAAQ,YAAY;WACjD,SAAS,IAAI,sBAAsB;IAEjD,2CAA2C;IAC3C,gBAAuB,aAAa,4BAA4B;IAEhE,6CAA6C;IAC7C,OAAc,gBAAgB,SAAW;IAOzC;;OAEG;IAEU,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3I;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD,gBAAgB;IAEH,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAEzG;;;;OAIG;IACU,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIvJ;;OAEG;IACU,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7G,gBAAgB;IACH,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzD;;;;;OAKG;IACU,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzG;;;;OAIG;IACU,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAGvI"}
@@ -6,8 +6,16 @@
6
6
  /** @packageDocumentation
7
7
  * @module RpcInterface
8
8
  */
9
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
9
15
  Object.defineProperty(exports, "__esModule", { value: true });
10
16
  exports.IModelTileRpcInterface = void 0;
17
+ const RpcConstants_1 = require("./core/RpcConstants");
18
+ const RpcOperation_1 = require("./core/RpcOperation");
11
19
  const RpcInterface_1 = require("../RpcInterface");
12
20
  const RpcManager_1 = require("../RpcManager");
13
21
  /** @public */
@@ -65,9 +73,15 @@ class IModelTileRpcInterface extends RpcInterface_1.RpcInterface {
65
73
  return this.forward(arguments);
66
74
  }
67
75
  }
68
- exports.IModelTileRpcInterface = IModelTileRpcInterface;
69
76
  /** The immutable name of the interface. */
70
77
  IModelTileRpcInterface.interfaceName = "IModelTileRpcInterface";
71
78
  /** The semantic version of the interface. */
72
- IModelTileRpcInterface.interfaceVersion = "3.0.0";
79
+ IModelTileRpcInterface.interfaceVersion = "3.1.0";
80
+ __decorate([
81
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
82
+ ], IModelTileRpcInterface.prototype, "getTileCacheContainerUrl", null);
83
+ __decorate([
84
+ RpcOperation_1.RpcOperation.allowResponseCaching(RpcConstants_1.RpcResponseCacheControl.Immutable)
85
+ ], IModelTileRpcInterface.prototype, "requestTileTreeProps", null);
86
+ exports.IModelTileRpcInterface = IModelTileRpcInterface;
73
87
  //# sourceMappingURL=IModelTileRpcInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTileRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAMH,kDAA+C;AAC/C,8CAA2C;AAI3C,cAAc;AACd,MAAsB,sBAAuB,SAAQ,2BAAY;IACxD,MAAM,CAAC,SAAS,KAA6B,OAAO,uBAAU,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQtH;;;iGAG6F;IAE7F;;OAEG;IACI,KAAK,CAAC,wBAAwB,CAAC,WAA2B,EAAE,GAAoC;QACrG,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,wBAAwB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IACT,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;;AAnEH,wDAoEC;AAjEC,2CAA2C;AACpB,oCAAa,GAAG,wBAAwB,CAAC;AAEhE,6CAA6C;AAC/B,uCAAgB,GAAG,OAAO,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { Id64Array } from \"@itwin/core-bentley\";\r\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl } from \"../CloudStorage\";\r\nimport { TileContentIdentifier } from \"../CloudStorageTileCache\";\r\nimport { IModelRpcProps } from \"../IModel\";\r\nimport { RpcInterface } from \"../RpcInterface\";\r\nimport { RpcManager } from \"../RpcManager\";\r\nimport { ElementGraphicsRequestProps } from \"../tile/ElementGraphics\";\r\nimport { IModelTileTreeProps, TileContentSource, TileVersionInfo } from \"../TileProps\";\r\n\r\n/** @public */\r\nexport abstract class IModelTileRpcInterface extends RpcInterface {\r\n public static getClient(): IModelTileRpcInterface { return RpcManager.getClientForInterface(IModelTileRpcInterface); }\r\n\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"IModelTileRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"3.0.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in this folder for the semantic versioning rules.\r\n ===========================================================================================*/\r\n\r\n /** Returns connection information for external tile cache or an empty `CloudStorageContainerUrl` if no external tile cache is configured on the backend.\r\n * @beta\r\n */\r\n public async getTileCacheContainerUrl(_tokenProps: IModelRpcProps, _id: CloudStorageContainerDescriptor): Promise<CloudStorageContainerUrl> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** Returns true if an external tile cache is configured on the backend.\r\n * @internal @deprecated\r\n */\r\n public async isUsingExternalTileCache(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @internal */\r\n public async requestTileTreeProps(_tokenProps: IModelRpcProps, _id: string): Promise<IModelTileTreeProps> { return this.forward(arguments); }\r\n\r\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 -\r\n * Use `CloudStorageTileCache.retrieve` for that.\r\n * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent\r\n * @internal\r\n */\r\n public async generateTileContent(_rpcProps: IModelRpcProps, _treeId: string, _contentId: string, _guid: string | undefined): Promise<TileContentSource> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** Retrieves tile content from the backend once it's generated by generateTileContent.\r\n * @internal\r\n */\r\n public async retrieveTileContent(_rpcProps: IModelRpcProps, _key: TileContentIdentifier): Promise<Uint8Array> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @internal */\r\n public async queryVersionInfo(): Promise<TileVersionInfo> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced.\r\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.\r\n * Invoked after a modification is made to the model(s).\r\n * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient.\r\n * @internal\r\n */\r\n public async purgeTileTrees(_tokenProps: IModelRpcProps, _modelIds: Id64Array | undefined): Promise<void> { return this.forward(arguments); }\r\n\r\n /** Requests graphics for a single element in \"iMdl\" format.\r\n * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion.\r\n * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc).\r\n * @internal\r\n */\r\n public async requestElementGraphics(_rpcProps: IModelRpcProps, _request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelTileRpcInterface.js","sourceRoot":"","sources":["../../../src/rpc/IModelTileRpcInterface.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;AAKH,sDAA8D;AAC9D,sDAAmD;AAEnD,kDAA+C;AAC/C,8CAA2C;AAI3C,cAAc;AACd,MAAsB,sBAAuB,SAAQ,2BAAY;IACxD,MAAM,CAAC,SAAS,KAA6B,OAAO,uBAAU,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAQtH;;;iGAG6F;IAE7F;;OAEG;IAEI,KAAK,CAAC,wBAAwB,CAAC,WAA2B,EAAE,GAAoC;QACrG,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,wBAAwB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IAET,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;;AAlED,2CAA2C;AACpB,oCAAa,GAAG,wBAAwB,CAAC;AAEhE,6CAA6C;AAC/B,uCAAgB,GAAG,OAAO,CAAC;AAWzC;IADC,2BAAY,CAAC,oBAAoB,CAAC,sCAAuB,CAAC,SAAS,CAAC;sEAGpE;AAWD;IADC,2BAAY,CAAC,oBAAoB,CAAC,sCAAuB,CAAC,SAAS,CAAC;kEACwE;AA/B/I,wDAsEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { Id64Array } from \"@itwin/core-bentley\";\r\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl } from \"../CloudStorage\";\r\nimport { TileContentIdentifier } from \"../CloudStorageTileCache\";\r\nimport { RpcResponseCacheControl } from \"./core/RpcConstants\";\r\nimport { RpcOperation } from \"./core/RpcOperation\";\r\nimport { IModelRpcProps } from \"../IModel\";\r\nimport { RpcInterface } from \"../RpcInterface\";\r\nimport { RpcManager } from \"../RpcManager\";\r\nimport { ElementGraphicsRequestProps } from \"../tile/ElementGraphics\";\r\nimport { IModelTileTreeProps, TileContentSource, TileVersionInfo } from \"../TileProps\";\r\n\r\n/** @public */\r\nexport abstract class IModelTileRpcInterface extends RpcInterface {\r\n public static getClient(): IModelTileRpcInterface { return RpcManager.getClientForInterface(IModelTileRpcInterface); }\r\n\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"IModelTileRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"3.1.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in this folder for the semantic versioning rules.\r\n ===========================================================================================*/\r\n\r\n /** Returns connection information for external tile cache or an empty `CloudStorageContainerUrl` if no external tile cache is configured on the backend.\r\n * @beta\r\n */\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async getTileCacheContainerUrl(_tokenProps: IModelRpcProps, _id: CloudStorageContainerDescriptor): Promise<CloudStorageContainerUrl> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** Returns true if an external tile cache is configured on the backend.\r\n * @internal @deprecated\r\n */\r\n public async isUsingExternalTileCache(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @internal */\r\n @RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable)\r\n public async requestTileTreeProps(_tokenProps: IModelRpcProps, _id: string): Promise<IModelTileTreeProps> { return this.forward(arguments); }\r\n\r\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 -\r\n * Use `CloudStorageTileCache.retrieve` for that.\r\n * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent\r\n * @internal\r\n */\r\n public async generateTileContent(_rpcProps: IModelRpcProps, _treeId: string, _contentId: string, _guid: string | undefined): Promise<TileContentSource> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** Retrieves tile content from the backend once it's generated by generateTileContent.\r\n * @internal\r\n */\r\n public async retrieveTileContent(_rpcProps: IModelRpcProps, _key: TileContentIdentifier): Promise<Uint8Array> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @internal */\r\n public async queryVersionInfo(): Promise<TileVersionInfo> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced.\r\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.\r\n * Invoked after a modification is made to the model(s).\r\n * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient.\r\n * @internal\r\n */\r\n public async purgeTileTrees(_tokenProps: IModelRpcProps, _modelIds: Id64Array | undefined): Promise<void> { return this.forward(arguments); }\r\n\r\n /** Requests graphics for a single element in \"iMdl\" format.\r\n * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion.\r\n * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc).\r\n * @internal\r\n */\r\n public async requestElementGraphics(_rpcProps: IModelRpcProps, _request: ElementGraphicsRequestProps): Promise<Uint8Array | undefined> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
@@ -8,6 +8,7 @@ import { RpcInvocation } from "./RpcInvocation";
8
8
  * @public
9
9
  */
10
10
  export declare abstract class RpcControlResponse {
11
+ message: string;
11
12
  }
12
13
  /** A pending RPC operation response.
13
14
  * @public
@@ -22,6 +23,7 @@ export declare class RpcPendingResponse extends RpcControlResponse {
22
23
  * @public
23
24
  */
24
25
  export declare class RpcNotFoundResponse extends RpcControlResponse {
26
+ message: string;
25
27
  }
26
28
  /** Manages requests and responses for an RPC configuration.
27
29
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"RpcControl.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcControl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,EAAE,qBAAqB,EAAc,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;GAEG;AACH,8BAAsB,kBAAkB;CACvC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,uDAAuD;IAChD,OAAO,EAAE,MAAM,CAAC;IAEvB,qCAAqC;gBAClB,OAAO,GAAE,MAAW;CAIxC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;CAC1D;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,gBAAgB;IAChB,OAAc,QAAQ,EAAE,iBAAiB,EAAE,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAC/B,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAA4D;IAEtF,OAAO;IAKP,gBAAgB;IACH,iBAAiB;IAK9B,gBAAgB;WACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,iBAAiB;IAWxE,OAAO,CAAC,iBAAiB,CAIvB;IAEF,OAAO,CAAC,YAAY,CAelB;IAEF,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,cAAc;IAkBtB,gBAAgB;IACT,UAAU;IAejB,gBAAgB;IACT,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO;CAS/E"}
1
+ {"version":3,"file":"RpcControl.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcControl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,EAAE,qBAAqB,EAAc,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;GAEG;AACH,8BAAsB,kBAAkB;IAC/B,OAAO,SAAwB;CACvC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,uDAAuD;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhC,qCAAqC;gBAClB,OAAO,GAAE,MAAW;CAIxC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzC,OAAO,SAAe;CACvC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,gBAAgB;IAChB,OAAc,QAAQ,EAAE,iBAAiB,EAAE,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAC/B,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAA4D;IAEtF,OAAO;IAKP,gBAAgB;IACH,iBAAiB;IAS9B,gBAAgB;WACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,GAAG,iBAAiB;IAWxE,OAAO,CAAC,iBAAiB,CAIvB;IAEF,OAAO,CAAC,YAAY,CAelB;IAEF,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,cAAc;IAkBtB,gBAAgB;IACT,UAAU;IAejB,gBAAgB;IACT,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO;CAY/E"}
@@ -20,6 +20,9 @@ const RpcRegistry_1 = require("./RpcRegistry");
20
20
  * @public
21
21
  */
22
22
  class RpcControlResponse {
23
+ constructor() {
24
+ this.message = "RpcControlResponse";
25
+ }
23
26
  }
24
27
  exports.RpcControlResponse = RpcControlResponse;
25
28
  /** A pending RPC operation response.
@@ -37,6 +40,10 @@ exports.RpcPendingResponse = RpcPendingResponse;
37
40
  * @public
38
41
  */
39
42
  class RpcNotFoundResponse extends RpcControlResponse {
43
+ constructor() {
44
+ super(...arguments);
45
+ this.message = "Not found";
46
+ }
40
47
  }
41
48
  exports.RpcNotFoundResponse = RpcNotFoundResponse;
42
49
  /** Manages requests and responses for an RPC configuration.
@@ -73,6 +80,9 @@ class RpcControlChannel {
73
80
  /** @internal */
74
81
  async describeEndpoints() {
75
82
  this.activateClient();
83
+ if (!this._channelInterface.interfaceName) {
84
+ return [];
85
+ }
76
86
  return this._describeEndpoints();
77
87
  }
78
88
  /** @internal */
@@ -125,7 +135,9 @@ class RpcControlChannel {
125
135
  handleUnknownOperation(invocation, _error) {
126
136
  const op = invocation.request.operation;
127
137
  if (op.interfaceVersion === "CONTROL" && op.operationName === "describeEndpoints") {
128
- op.interfaceDefinition = this._channelInterface.interfaceName;
138
+ if (this._channelInterface.interfaceName) {
139
+ op.interfaceDefinition = this._channelInterface.interfaceName;
140
+ }
129
141
  return true;
130
142
  }
131
143
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"RpcControl.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcControl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { Buffer } from \"buffer\";\r\nimport { IModelRpcProps } from \"../../IModel\";\r\nimport { IModelError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcInterfaceEndpoints, RpcManager } from \"../../RpcManager\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcInvocation } from \"./RpcInvocation\";\r\nimport { RpcOperation } from \"./RpcOperation\";\r\nimport { RpcRegistry } from \"./RpcRegistry\";\r\n\r\n/** An RPC operation control response.\r\n * @public\r\n */\r\nexport abstract class RpcControlResponse {\r\n}\r\n\r\n/** A pending RPC operation response.\r\n * @public\r\n */\r\nexport class RpcPendingResponse extends RpcControlResponse {\r\n /** Extended status regarding the pending operation. */\r\n public message: string;\r\n\r\n /** Constructs a pending response. */\r\n public constructor(message: string = \"\") {\r\n super();\r\n this.message = message;\r\n }\r\n}\r\n\r\n/** A RPC operation response.\r\n * @public\r\n */\r\nexport class RpcNotFoundResponse extends RpcControlResponse {\r\n}\r\n\r\n/** Manages requests and responses for an RPC configuration.\r\n * @internal\r\n */\r\nexport class RpcControlChannel {\r\n /** @internal */\r\n public static channels: RpcControlChannel[] = [];\r\n private static _obtainLock = 0;\r\n private _configuration: RpcConfiguration;\r\n private _initialized = false;\r\n private _clientActive = false;\r\n private _describeEndpoints: () => Promise<RpcInterfaceEndpoints[]> = undefined as any;\r\n\r\n private constructor(configuration: RpcConfiguration) {\r\n this._configuration = configuration;\r\n RpcControlChannel.channels.push(this);\r\n }\r\n\r\n /** @internal */\r\n public async describeEndpoints() {\r\n this.activateClient();\r\n return this._describeEndpoints();\r\n }\r\n\r\n /** @internal */\r\n public static obtain(configuration: RpcConfiguration): RpcControlChannel {\r\n if (RpcControlChannel._obtainLock)\r\n return undefined as any;\r\n\r\n ++RpcControlChannel._obtainLock;\r\n const channel = new RpcControlChannel(configuration);\r\n --RpcControlChannel._obtainLock;\r\n\r\n return channel;\r\n }\r\n\r\n private _channelInterface = class extends RpcInterface {\r\n public static readonly interfaceVersion = \"CONTROL\";\r\n public static readonly interfaceName = \"\";\r\n public async describeEndpoints(): Promise<RpcInterfaceEndpoints[]> { return this.forward(arguments); }\r\n };\r\n\r\n private _channelImpl = class extends RpcInterface {\r\n public async describeEndpoints(): Promise<RpcInterfaceEndpoints[]> {\r\n const endpoints: RpcInterfaceEndpoints[] = [];\r\n\r\n this.configuration.interfaces().forEach((definition) => {\r\n if (!RpcRegistry.instance.isRpcInterfaceInitialized(definition))\r\n return;\r\n\r\n const description: RpcInterfaceEndpoints = { interfaceName: definition.interfaceName, interfaceVersion: definition.interfaceVersion, operationNames: [], compatible: true };\r\n RpcOperation.forEach(definition, (operation) => description.operationNames.push(operation.operationName));\r\n endpoints.push(description);\r\n });\r\n\r\n return endpoints;\r\n }\r\n };\r\n\r\n private computeId(): string {\r\n const interfaces: string[] = [];\r\n this._configuration.interfaces().forEach((definition) => interfaces.push(`${definition.interfaceName}@${definition.interfaceVersion}`));\r\n const id = interfaces.sort().join(\",\");\r\n\r\n if (typeof (btoa) !== \"undefined\") // eslint-disable-line deprecation/deprecation\r\n return btoa(id); // eslint-disable-line deprecation/deprecation\r\n else if (typeof (Buffer) !== \"undefined\")\r\n return Buffer.from(id, \"binary\").toString(\"base64\");\r\n else\r\n return id;\r\n }\r\n\r\n private activateClient() {\r\n if (this._clientActive)\r\n return;\r\n\r\n if (!this._initialized) {\r\n if (this._configuration.interfaces().length)\r\n throw new IModelError(BentleyStatus.ERROR, `Invalid state.`);\r\n\r\n this.initialize();\r\n }\r\n\r\n this._clientActive = true;\r\n const token: IModelRpcProps = { key: \"none\", iTwinId: \"none\", iModelId: \"none\", changeset: { id: \"none\" } };\r\n RpcOperation.forEach(this._channelInterface, (operation) => operation.policy.token = (_request) => RpcOperation.fallbackToken ?? token);\r\n const client = RpcManager.getClientForInterface(this._channelInterface);\r\n this._describeEndpoints = async () => client.describeEndpoints();\r\n }\r\n\r\n /** @internal */\r\n public initialize() {\r\n if (this._initialized)\r\n throw new IModelError(BentleyStatus.ERROR, `Already initialized.`);\r\n\r\n this._initialized = true;\r\n\r\n const id = this.computeId();\r\n Object.defineProperty(this._channelInterface, \"interfaceName\", { value: id });\r\n Object.defineProperty(this._channelImpl, \"interfaceName\", { value: id });\r\n\r\n RpcConfiguration.assign(this._channelInterface, () => this._configuration.constructor as any);\r\n RpcManager.registerImpl(this._channelInterface, this._channelImpl);\r\n RpcManager.initializeInterface(this._channelInterface);\r\n }\r\n\r\n /** @internal */\r\n public handleUnknownOperation(invocation: RpcInvocation, _error: any): boolean {\r\n const op = invocation.request.operation;\r\n if (op.interfaceVersion === \"CONTROL\" && op.operationName === \"describeEndpoints\") {\r\n op.interfaceDefinition = this._channelInterface.interfaceName;\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RpcControl.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcControl.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { Buffer } from \"buffer\";\r\nimport { IModelRpcProps } from \"../../IModel\";\r\nimport { IModelError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcInterfaceEndpoints, RpcManager } from \"../../RpcManager\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcInvocation } from \"./RpcInvocation\";\r\nimport { RpcOperation } from \"./RpcOperation\";\r\nimport { RpcRegistry } from \"./RpcRegistry\";\r\n\r\n/** An RPC operation control response.\r\n * @public\r\n */\r\nexport abstract class RpcControlResponse {\r\n public message = \"RpcControlResponse\";\r\n}\r\n\r\n/** A pending RPC operation response.\r\n * @public\r\n */\r\nexport class RpcPendingResponse extends RpcControlResponse {\r\n /** Extended status regarding the pending operation. */\r\n public override message: string;\r\n\r\n /** Constructs a pending response. */\r\n public constructor(message: string = \"\") {\r\n super();\r\n this.message = message;\r\n }\r\n}\r\n\r\n/** A RPC operation response.\r\n * @public\r\n */\r\nexport class RpcNotFoundResponse extends RpcControlResponse {\r\n public override message = \"Not found\";\r\n}\r\n\r\n/** Manages requests and responses for an RPC configuration.\r\n * @internal\r\n */\r\nexport class RpcControlChannel {\r\n /** @internal */\r\n public static channels: RpcControlChannel[] = [];\r\n private static _obtainLock = 0;\r\n private _configuration: RpcConfiguration;\r\n private _initialized = false;\r\n private _clientActive = false;\r\n private _describeEndpoints: () => Promise<RpcInterfaceEndpoints[]> = undefined as any;\r\n\r\n private constructor(configuration: RpcConfiguration) {\r\n this._configuration = configuration;\r\n RpcControlChannel.channels.push(this);\r\n }\r\n\r\n /** @internal */\r\n public async describeEndpoints() {\r\n this.activateClient();\r\n if (!this._channelInterface.interfaceName) {\r\n return [];\r\n }\r\n\r\n return this._describeEndpoints();\r\n }\r\n\r\n /** @internal */\r\n public static obtain(configuration: RpcConfiguration): RpcControlChannel {\r\n if (RpcControlChannel._obtainLock)\r\n return undefined as any;\r\n\r\n ++RpcControlChannel._obtainLock;\r\n const channel = new RpcControlChannel(configuration);\r\n --RpcControlChannel._obtainLock;\r\n\r\n return channel;\r\n }\r\n\r\n private _channelInterface = class extends RpcInterface {\r\n public static readonly interfaceVersion = \"CONTROL\";\r\n public static readonly interfaceName = \"\";\r\n public async describeEndpoints(): Promise<RpcInterfaceEndpoints[]> { return this.forward(arguments); }\r\n };\r\n\r\n private _channelImpl = class extends RpcInterface {\r\n public async describeEndpoints(): Promise<RpcInterfaceEndpoints[]> {\r\n const endpoints: RpcInterfaceEndpoints[] = [];\r\n\r\n this.configuration.interfaces().forEach((definition) => {\r\n if (!RpcRegistry.instance.isRpcInterfaceInitialized(definition))\r\n return;\r\n\r\n const description: RpcInterfaceEndpoints = { interfaceName: definition.interfaceName, interfaceVersion: definition.interfaceVersion, operationNames: [], compatible: true };\r\n RpcOperation.forEach(definition, (operation) => description.operationNames.push(operation.operationName));\r\n endpoints.push(description);\r\n });\r\n\r\n return endpoints;\r\n }\r\n };\r\n\r\n private computeId(): string {\r\n const interfaces: string[] = [];\r\n this._configuration.interfaces().forEach((definition) => interfaces.push(`${definition.interfaceName}@${definition.interfaceVersion}`));\r\n const id = interfaces.sort().join(\",\");\r\n\r\n if (typeof (btoa) !== \"undefined\") // eslint-disable-line deprecation/deprecation\r\n return btoa(id); // eslint-disable-line deprecation/deprecation\r\n else if (typeof (Buffer) !== \"undefined\")\r\n return Buffer.from(id, \"binary\").toString(\"base64\");\r\n else\r\n return id;\r\n }\r\n\r\n private activateClient() {\r\n if (this._clientActive)\r\n return;\r\n\r\n if (!this._initialized) {\r\n if (this._configuration.interfaces().length)\r\n throw new IModelError(BentleyStatus.ERROR, `Invalid state.`);\r\n\r\n this.initialize();\r\n }\r\n\r\n this._clientActive = true;\r\n const token: IModelRpcProps = { key: \"none\", iTwinId: \"none\", iModelId: \"none\", changeset: { id: \"none\" } };\r\n RpcOperation.forEach(this._channelInterface, (operation) => operation.policy.token = (_request) => RpcOperation.fallbackToken ?? token);\r\n const client = RpcManager.getClientForInterface(this._channelInterface);\r\n this._describeEndpoints = async () => client.describeEndpoints();\r\n }\r\n\r\n /** @internal */\r\n public initialize() {\r\n if (this._initialized)\r\n throw new IModelError(BentleyStatus.ERROR, `Already initialized.`);\r\n\r\n this._initialized = true;\r\n\r\n const id = this.computeId();\r\n Object.defineProperty(this._channelInterface, \"interfaceName\", { value: id });\r\n Object.defineProperty(this._channelImpl, \"interfaceName\", { value: id });\r\n\r\n RpcConfiguration.assign(this._channelInterface, () => this._configuration.constructor as any);\r\n RpcManager.registerImpl(this._channelInterface, this._channelImpl);\r\n RpcManager.initializeInterface(this._channelInterface);\r\n }\r\n\r\n /** @internal */\r\n public handleUnknownOperation(invocation: RpcInvocation, _error: any): boolean {\r\n const op = invocation.request.operation;\r\n if (op.interfaceVersion === \"CONTROL\" && op.operationName === \"describeEndpoints\") {\r\n if (this._channelInterface.interfaceName) {\r\n op.interfaceDefinition = this._channelInterface.interfaceName;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RpcInvocation.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcInvocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAA+B,UAAU,EAA4D,MAAM,qBAAqB,CAAC;AAIrJ,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAoB,WAAW,EAAsB,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG/H;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,gBAAgB;AAChB,oBAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE7F;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAc,WAAW,EAAE,cAAc,CAAiC;IAC1E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAE7B,wCAAwC;IACxC,SAAgB,QAAQ,EAAE,WAAW,CAAC;IAEtC,4BAA4B;IAC5B,SAAgB,OAAO,EAAE,oBAAoB,CAAC;IAE9C,oCAAoC;IACpC,SAAgB,SAAS,EAAE,YAAY,CAAoB;IAE3D,mCAAmC;IACnC,SAAgB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,wCAAwC;IACxC,SAAgB,WAAW,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE5D,mCAAmC;IACnC,IAAW,MAAM,IAAI,gBAAgB,CAMpC;IAED,4CAA4C;IAC5C,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;WACW,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa;IAI3D,gCAAgC;gBACb,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB;IA8BvE,OAAO,CAAC,sBAAsB;WAIhB,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW;;;;;;;YAQrC,OAAO;IA2BrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,MAAM,CAAC,aAAa;YAOd,MAAM;YAKN,eAAe;YAOf,eAAe;IA4B7B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,OAAO;IAsBf,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,uBAAuB;CAsBhC"}
1
+ {"version":3,"file":"RpcInvocation.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcInvocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAA+B,UAAU,EAAqE,MAAM,qBAAqB,CAAC;AAI9J,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAoB,WAAW,EAAsB,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG/H;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,gBAAgB;AAChB,oBAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE7F;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAc,WAAW,EAAE,cAAc,CAAiC;IAC1E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAE7B,wCAAwC;IACxC,SAAgB,QAAQ,EAAE,WAAW,CAAC;IAEtC,4BAA4B;IAC5B,SAAgB,OAAO,EAAE,oBAAoB,CAAC;IAE9C,oCAAoC;IACpC,SAAgB,SAAS,EAAE,YAAY,CAAoB;IAE3D,mCAAmC;IACnC,SAAgB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,wCAAwC;IACxC,SAAgB,WAAW,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE5D,mCAAmC;IACnC,IAAW,MAAM,IAAI,gBAAgB,CAMpC;IAED,4CAA4C;IAC5C,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;WACW,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa;IAI3D,gCAAgC;gBACb,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB;IA8BvE,OAAO,CAAC,sBAAsB;WAIhB,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW;;;;;;;YAQrC,OAAO;IAkCrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,MAAM,CAAC,aAAa;YAOd,MAAM;YAKN,eAAe;YAOf,eAAe;IA4B7B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,OAAO;IAsBf,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,uBAAuB;CA0BhC"}
@@ -102,15 +102,22 @@ class RpcInvocation {
102
102
  };
103
103
  try {
104
104
  this.protocol.events.raiseEvent(RpcConstants_1.RpcProtocolEvent.RequestReceived, this);
105
- const parameters = RpcMarshaling_1.RpcMarshaling.deserialize(this.protocol, request.parameters);
105
+ const parameters = request.parametersOverride || RpcMarshaling_1.RpcMarshaling.deserialize(this.protocol, request.parameters);
106
106
  this.applyPolicies(parameters);
107
107
  const impl = RpcRegistry_1.RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);
108
108
  impl[RpcRegistry_1.CURRENT_INVOCATION] = this;
109
109
  const op = this.lookupOperationFunction(impl);
110
- return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters));
110
+ return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters)
111
+ .catch(async (error) => {
112
+ // this catch block is intentionally placed inside `runActivity` to attach the right logging metadata and use the correct openTelemetry span.
113
+ if (!(error instanceof RpcControl_1.RpcPendingResponse)) {
114
+ core_bentley_1.Logger.logError(CommonLoggerCategory_1.CommonLoggerCategory.RpcInterfaceBackend, "Error in RPC operation", { error: core_bentley_1.BentleyError.getErrorProps(error) });
115
+ core_bentley_1.Tracing.setAttributes({ error: true });
116
+ }
117
+ throw error;
118
+ }));
111
119
  }
112
120
  catch (error) {
113
- core_bentley_1.Logger.logError(CommonLoggerCategory_1.CommonLoggerCategory.RpcInterfaceBackend, "Error in RPC operation", { error: core_bentley_1.BentleyError.getErrorProps(error), ...RpcInvocation.sanitizeForLog(activity) });
114
121
  return this.reject(error);
115
122
  }
116
123
  }
@@ -194,13 +201,14 @@ class RpcInvocation {
194
201
  return RpcProtocol_1.RpcProtocol.protocolVersion >= RpcProtocol_1.RpcProtocolVersion.IntroducedStatusCategory && this.request.protocolVersion >= RpcProtocol_1.RpcProtocolVersion.IntroducedStatusCategory;
195
202
  }
196
203
  fulfill(result, rawResult) {
204
+ var _b;
197
205
  const fulfillment = {
198
206
  result,
199
207
  rawResult,
200
208
  status: this.protocol.getCode(this.status),
201
209
  id: this.request.id,
202
210
  interfaceName: (typeof (this.operation) === "undefined") ? "" : this.operation.interfaceDefinition.interfaceName,
203
- allowCompression: this.operation.policy.allowResponseCompression,
211
+ allowCompression: ((_b = this.operation) === null || _b === void 0 ? void 0 : _b.policy.allowResponseCompression) || false,
204
212
  };
205
213
  this.transformResponseStatus(fulfillment, rawResult);
206
214
  try {
@@ -229,10 +237,15 @@ class RpcInvocation {
229
237
  else if (this._notFound) {
230
238
  managedStatus = "notFound";
231
239
  }
240
+ else if (this._noContent) {
241
+ managedStatus = "noContent";
242
+ }
232
243
  if (managedStatus) {
233
244
  const responseValue = fulfillment.result.objects;
234
245
  const status = { iTwinRpcCoreResponse: true, managedStatus, responseValue };
235
246
  fulfillment.result.objects = JSON.stringify(status);
247
+ status.responseValue = rawResult; // for ipc case
248
+ fulfillment.rawResult = status;
236
249
  }
237
250
  if (rawResult instanceof core_bentley_1.BentleyError) {
238
251
  fulfillment.status = core_bentley_1.StatusCategory.for(rawResult).code;