@itwin/core-common 3.4.0-dev.9 → 3.4.1

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 (1006) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.d.ts +11 -11
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  12. package/lib/cjs/BackgroundMapProvider.js +68 -68
  13. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  14. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  15. package/lib/cjs/BackgroundMapSettings.js +156 -156
  16. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  17. package/lib/cjs/Base64EncodedString.d.ts +30 -30
  18. package/lib/cjs/Base64EncodedString.js +56 -56
  19. package/lib/cjs/Base64EncodedString.js.map +1 -1
  20. package/lib/cjs/BlobReader.d.ts +31 -31
  21. package/lib/cjs/BlobReader.js +84 -84
  22. package/lib/cjs/BlobReader.js.map +1 -1
  23. package/lib/cjs/BriefcaseTypes.d.ts +189 -189
  24. package/lib/cjs/BriefcaseTypes.js +95 -95
  25. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  26. package/lib/cjs/Camera.d.ts +42 -42
  27. package/lib/cjs/Camera.d.ts.map +1 -1
  28. package/lib/cjs/Camera.js +62 -58
  29. package/lib/cjs/Camera.js.map +1 -1
  30. package/lib/cjs/ChangedElements.d.ts +83 -83
  31. package/lib/cjs/ChangedElements.js +21 -21
  32. package/lib/cjs/ChangedElements.js.map +1 -1
  33. package/lib/cjs/ChangedEntities.d.ts +45 -45
  34. package/lib/cjs/ChangedEntities.js +9 -9
  35. package/lib/cjs/ChangedEntities.js.map +1 -1
  36. package/lib/cjs/ChangesetProps.d.ts +98 -98
  37. package/lib/cjs/ChangesetProps.js +22 -22
  38. package/lib/cjs/ChangesetProps.js.map +1 -1
  39. package/lib/cjs/ClipStyle.d.ts +89 -89
  40. package/lib/cjs/ClipStyle.js +123 -123
  41. package/lib/cjs/ClipStyle.js.map +1 -1
  42. package/lib/cjs/CloudStorage.d.ts +62 -47
  43. package/lib/cjs/CloudStorage.d.ts.map +1 -1
  44. package/lib/cjs/CloudStorage.js +113 -103
  45. package/lib/cjs/CloudStorage.js.map +1 -1
  46. package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
  47. package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
  48. package/lib/cjs/CloudStorageTileCache.js +66 -62
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +256 -250
  51. package/lib/cjs/Code.d.ts.map +1 -1
  52. package/lib/cjs/Code.js +281 -277
  53. package/lib/cjs/Code.js.map +1 -1
  54. package/lib/cjs/ColorByName.d.ts +161 -161
  55. package/lib/cjs/ColorByName.js +169 -169
  56. package/lib/cjs/ColorByName.js.map +1 -1
  57. package/lib/cjs/ColorDef.d.ts +208 -208
  58. package/lib/cjs/ColorDef.d.ts.map +1 -1
  59. package/lib/cjs/ColorDef.js +571 -569
  60. package/lib/cjs/ColorDef.js.map +1 -1
  61. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  62. package/lib/cjs/CommonLoggerCategory.js +26 -26
  63. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  64. package/lib/cjs/ConcurrentQuery.d.ts +241 -241
  65. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  66. package/lib/cjs/ConcurrentQuery.js +380 -338
  67. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  68. package/lib/cjs/ContextRealityModel.d.ts +255 -255
  69. package/lib/cjs/ContextRealityModel.js +325 -325
  70. package/lib/cjs/ContextRealityModel.js.map +1 -1
  71. package/lib/cjs/DisplayStyleSettings.d.ts +552 -552
  72. package/lib/cjs/DisplayStyleSettings.js +951 -951
  73. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  74. package/lib/cjs/ECSchemaProps.d.ts +40 -0
  75. package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
  76. package/lib/cjs/ECSchemaProps.js +10 -0
  77. package/lib/cjs/ECSchemaProps.js.map +1 -0
  78. package/lib/cjs/ECSqlReader.d.ts +70 -70
  79. package/lib/cjs/ECSqlReader.js +280 -280
  80. package/lib/cjs/ECSqlReader.js.map +1 -1
  81. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  82. package/lib/cjs/ECSqlTypes.js +189 -189
  83. package/lib/cjs/ECSqlTypes.js.map +1 -1
  84. package/lib/cjs/ElementProps.d.ts +476 -470
  85. package/lib/cjs/ElementProps.d.ts.map +1 -1
  86. package/lib/cjs/ElementProps.js +99 -99
  87. package/lib/cjs/ElementProps.js.map +1 -1
  88. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  89. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  90. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  91. package/lib/cjs/EntityProps.d.ts +176 -176
  92. package/lib/cjs/EntityProps.js +112 -112
  93. package/lib/cjs/EntityProps.js.map +1 -1
  94. package/lib/cjs/EntityReference.d.ts +52 -0
  95. package/lib/cjs/EntityReference.d.ts.map +1 -0
  96. package/lib/cjs/EntityReference.js +57 -0
  97. package/lib/cjs/EntityReference.js.map +1 -0
  98. package/lib/cjs/Environment.d.ts +61 -61
  99. package/lib/cjs/Environment.js +73 -73
  100. package/lib/cjs/Environment.js.map +1 -1
  101. package/lib/cjs/FeatureGates.d.ts +31 -31
  102. package/lib/cjs/FeatureGates.d.ts.map +1 -1
  103. package/lib/cjs/FeatureGates.js +55 -51
  104. package/lib/cjs/FeatureGates.js.map +1 -1
  105. package/lib/cjs/FeatureIndex.d.ts +39 -39
  106. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  107. package/lib/cjs/FeatureIndex.js +63 -59
  108. package/lib/cjs/FeatureIndex.js.map +1 -1
  109. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  110. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  111. package/lib/cjs/FeatureSymbology.js +614 -614
  112. package/lib/cjs/FeatureSymbology.js.map +1 -1
  113. package/lib/cjs/FeatureTable.d.ts +141 -141
  114. package/lib/cjs/FeatureTable.js +278 -278
  115. package/lib/cjs/FeatureTable.js.map +1 -1
  116. package/lib/cjs/Fonts.d.ts +51 -51
  117. package/lib/cjs/Fonts.d.ts.map +1 -1
  118. package/lib/cjs/Fonts.js +53 -53
  119. package/lib/cjs/Fonts.js.map +1 -1
  120. package/lib/cjs/Frustum.d.ts +114 -114
  121. package/lib/cjs/Frustum.d.ts.map +1 -1
  122. package/lib/cjs/Frustum.js +292 -258
  123. package/lib/cjs/Frustum.js.map +1 -1
  124. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  125. package/lib/cjs/GeoCoordinateServices.js +80 -80
  126. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  127. package/lib/cjs/GeometryContainment.d.ts +28 -28
  128. package/lib/cjs/GeometryContainment.js +9 -9
  129. package/lib/cjs/GeometryContainment.js.map +1 -1
  130. package/lib/cjs/GeometryParams.d.ts +130 -130
  131. package/lib/cjs/GeometryParams.js +174 -174
  132. package/lib/cjs/GeometryParams.js.map +1 -1
  133. package/lib/cjs/GeometrySummary.d.ts +45 -45
  134. package/lib/cjs/GeometrySummary.js +23 -23
  135. package/lib/cjs/GeometrySummary.js.map +1 -1
  136. package/lib/cjs/Gradient.d.ts +139 -123
  137. package/lib/cjs/Gradient.d.ts.map +1 -1
  138. package/lib/cjs/Gradient.js +455 -444
  139. package/lib/cjs/Gradient.js.map +1 -1
  140. package/lib/cjs/GraphicParams.d.ts +58 -58
  141. package/lib/cjs/GraphicParams.js +85 -85
  142. package/lib/cjs/GraphicParams.js.map +1 -1
  143. package/lib/cjs/GroundPlane.d.ts +52 -52
  144. package/lib/cjs/GroundPlane.js +64 -64
  145. package/lib/cjs/GroundPlane.js.map +1 -1
  146. package/lib/cjs/HSLColor.d.ts +20 -20
  147. package/lib/cjs/HSLColor.js +32 -32
  148. package/lib/cjs/HSLColor.js.map +1 -1
  149. package/lib/cjs/HSVColor.d.ts +30 -30
  150. package/lib/cjs/HSVColor.js +59 -59
  151. package/lib/cjs/HSVColor.js.map +1 -1
  152. package/lib/cjs/HiddenLine.d.ts +97 -97
  153. package/lib/cjs/HiddenLine.js +162 -162
  154. package/lib/cjs/HiddenLine.js.map +1 -1
  155. package/lib/cjs/Hilite.d.ts +50 -50
  156. package/lib/cjs/Hilite.js +64 -64
  157. package/lib/cjs/Hilite.js.map +1 -1
  158. package/lib/cjs/IModel.d.ts +359 -355
  159. package/lib/cjs/IModel.d.ts.map +1 -1
  160. package/lib/cjs/IModel.js +347 -340
  161. package/lib/cjs/IModel.js.map +1 -1
  162. package/lib/cjs/IModelError.d.ts +36 -36
  163. package/lib/cjs/IModelError.js +72 -72
  164. package/lib/cjs/IModelError.js.map +1 -1
  165. package/lib/cjs/IModelVersion.d.ts +68 -68
  166. package/lib/cjs/IModelVersion.js +79 -79
  167. package/lib/cjs/IModelVersion.js.map +1 -1
  168. package/lib/cjs/Image.d.ts +86 -86
  169. package/lib/cjs/Image.d.ts.map +1 -1
  170. package/lib/cjs/Image.js +128 -126
  171. package/lib/cjs/Image.js.map +1 -1
  172. package/lib/cjs/IpcAppProps.d.ts +124 -124
  173. package/lib/cjs/IpcAppProps.js +18 -18
  174. package/lib/cjs/IpcAppProps.js.map +1 -1
  175. package/lib/cjs/LightSettings.d.ts +224 -224
  176. package/lib/cjs/LightSettings.js +309 -309
  177. package/lib/cjs/LightSettings.js.map +1 -1
  178. package/lib/cjs/LinePixels.d.ts +34 -34
  179. package/lib/cjs/LinePixels.js +42 -42
  180. package/lib/cjs/LinePixels.js.map +1 -1
  181. package/lib/cjs/Localization.d.ts +111 -112
  182. package/lib/cjs/Localization.d.ts.map +1 -1
  183. package/lib/cjs/Localization.js +26 -26
  184. package/lib/cjs/Localization.js.map +1 -1
  185. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  186. package/lib/cjs/MapImagerySettings.js +80 -80
  187. package/lib/cjs/MapImagerySettings.js.map +1 -1
  188. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  189. package/lib/cjs/MapLayerSettings.js +411 -411
  190. package/lib/cjs/MapLayerSettings.js.map +1 -1
  191. package/lib/cjs/MassProperties.d.ts +64 -64
  192. package/lib/cjs/MassProperties.js +23 -23
  193. package/lib/cjs/MassProperties.js.map +1 -1
  194. package/lib/cjs/MaterialProps.d.ts +118 -118
  195. package/lib/cjs/MaterialProps.js +23 -23
  196. package/lib/cjs/MaterialProps.js.map +1 -1
  197. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  198. package/lib/cjs/ModelClipGroup.js +98 -98
  199. package/lib/cjs/ModelClipGroup.js.map +1 -1
  200. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  201. package/lib/cjs/ModelGeometryChanges.js +83 -83
  202. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  203. package/lib/cjs/ModelProps.d.ts +67 -66
  204. package/lib/cjs/ModelProps.d.ts.map +1 -1
  205. package/lib/cjs/ModelProps.js +9 -9
  206. package/lib/cjs/ModelProps.js.map +1 -1
  207. package/lib/cjs/NativeAppProps.d.ts +122 -122
  208. package/lib/cjs/NativeAppProps.js +30 -30
  209. package/lib/cjs/NativeAppProps.js.map +1 -1
  210. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  211. package/lib/cjs/OctEncodedNormal.js +98 -98
  212. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  213. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  214. package/lib/cjs/PlanProjectionSettings.js +63 -63
  215. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  216. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  217. package/lib/cjs/PlanarClipMask.js +136 -136
  218. package/lib/cjs/PlanarClipMask.js.map +1 -1
  219. package/lib/cjs/QPoint.d.ts +479 -299
  220. package/lib/cjs/QPoint.d.ts.map +1 -1
  221. package/lib/cjs/QPoint.js +826 -626
  222. package/lib/cjs/QPoint.js.map +1 -1
  223. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  224. package/lib/cjs/RealityDataAccessProps.js +19 -19
  225. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  226. package/lib/cjs/Render.d.ts +89 -89
  227. package/lib/cjs/Render.d.ts.map +1 -1
  228. package/lib/cjs/Render.js +177 -169
  229. package/lib/cjs/Render.js.map +1 -1
  230. package/lib/cjs/RenderMaterial.d.ts +58 -58
  231. package/lib/cjs/RenderMaterial.js +76 -76
  232. package/lib/cjs/RenderMaterial.js.map +1 -1
  233. package/lib/cjs/RenderSchedule.d.ts +541 -540
  234. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  235. package/lib/cjs/RenderSchedule.js +1000 -1000
  236. package/lib/cjs/RenderSchedule.js.map +1 -1
  237. package/lib/cjs/RenderTexture.d.ts +70 -70
  238. package/lib/cjs/RenderTexture.js +59 -59
  239. package/lib/cjs/RenderTexture.js.map +1 -1
  240. package/lib/cjs/RgbColor.d.ts +39 -39
  241. package/lib/cjs/RgbColor.js +67 -67
  242. package/lib/cjs/RgbColor.js.map +1 -1
  243. package/lib/cjs/RpcInterface.d.ts +33 -33
  244. package/lib/cjs/RpcInterface.js +137 -137
  245. package/lib/cjs/RpcInterface.js.map +1 -1
  246. package/lib/cjs/RpcManager.d.ts +40 -40
  247. package/lib/cjs/RpcManager.js +55 -55
  248. package/lib/cjs/RpcManager.js.map +1 -1
  249. package/lib/cjs/SessionProps.d.ts +16 -16
  250. package/lib/cjs/SessionProps.js +9 -9
  251. package/lib/cjs/SessionProps.js.map +1 -1
  252. package/lib/cjs/SkyBox.d.ts +215 -215
  253. package/lib/cjs/SkyBox.js +210 -210
  254. package/lib/cjs/SkyBox.js.map +1 -1
  255. package/lib/cjs/Snapping.d.ts +49 -49
  256. package/lib/cjs/Snapping.js +9 -9
  257. package/lib/cjs/Snapping.js.map +1 -1
  258. package/lib/cjs/SolarCalculate.d.ts +27 -27
  259. package/lib/cjs/SolarCalculate.js +211 -211
  260. package/lib/cjs/SolarCalculate.js.map +1 -1
  261. package/lib/cjs/SolarShadows.d.ts +35 -35
  262. package/lib/cjs/SolarShadows.js +62 -62
  263. package/lib/cjs/SolarShadows.js.map +1 -1
  264. package/lib/cjs/SpatialClassification.d.ts +208 -208
  265. package/lib/cjs/SpatialClassification.js +340 -340
  266. package/lib/cjs/SpatialClassification.js.map +1 -1
  267. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  268. package/lib/cjs/SubCategoryAppearance.js +96 -96
  269. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  270. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  271. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  272. package/lib/cjs/SubCategoryOverride.js +104 -104
  273. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  274. package/lib/cjs/TerrainSettings.d.ts +82 -77
  275. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  276. package/lib/cjs/TerrainSettings.js +102 -101
  277. package/lib/cjs/TerrainSettings.js.map +1 -1
  278. package/lib/cjs/TextureMapping.d.ts +101 -101
  279. package/lib/cjs/TextureMapping.js +174 -174
  280. package/lib/cjs/TextureMapping.js.map +1 -1
  281. package/lib/cjs/TextureProps.d.ts +65 -65
  282. package/lib/cjs/TextureProps.js +28 -28
  283. package/lib/cjs/TextureProps.js.map +1 -1
  284. package/lib/cjs/ThematicDisplay.d.ts +230 -234
  285. package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
  286. package/lib/cjs/ThematicDisplay.js +344 -344
  287. package/lib/cjs/ThematicDisplay.js.map +1 -1
  288. package/lib/cjs/Thumbnail.d.ts +26 -26
  289. package/lib/cjs/Thumbnail.js +9 -9
  290. package/lib/cjs/Thumbnail.js.map +1 -1
  291. package/lib/cjs/TileProps.d.ts +82 -77
  292. package/lib/cjs/TileProps.d.ts.map +1 -1
  293. package/lib/cjs/TileProps.js +29 -18
  294. package/lib/cjs/TileProps.js.map +1 -1
  295. package/lib/cjs/Tween.d.ts +191 -191
  296. package/lib/cjs/Tween.js +570 -570
  297. package/lib/cjs/Tween.js.map +1 -1
  298. package/lib/cjs/TxnAction.d.ts +21 -21
  299. package/lib/cjs/TxnAction.js +29 -29
  300. package/lib/cjs/TxnAction.js.map +1 -1
  301. package/lib/cjs/ViewDetails.d.ts +125 -125
  302. package/lib/cjs/ViewDetails.js +158 -158
  303. package/lib/cjs/ViewDetails.js.map +1 -1
  304. package/lib/cjs/ViewFlags.d.ts +291 -291
  305. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  306. package/lib/cjs/ViewFlags.js +368 -368
  307. package/lib/cjs/ViewFlags.js.map +1 -1
  308. package/lib/cjs/ViewProps.d.ts +205 -205
  309. package/lib/cjs/ViewProps.js +9 -9
  310. package/lib/cjs/ViewProps.js.map +1 -1
  311. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  312. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  313. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  314. package/lib/cjs/core-common.d.ts +241 -239
  315. package/lib/cjs/core-common.d.ts.map +1 -1
  316. package/lib/cjs/core-common.js +257 -255
  317. package/lib/cjs/core-common.js.map +1 -1
  318. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  319. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  320. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  321. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  322. package/lib/cjs/domains/GenericElementProps.js +9 -9
  323. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  324. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  325. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  326. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  327. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  328. package/lib/cjs/geometry/AreaPattern.js +204 -204
  329. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  330. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  331. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  332. package/lib/cjs/geometry/BoundingSphere.js +30 -24
  333. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  334. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  335. package/lib/cjs/geometry/Cartographic.js +345 -345
  336. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  337. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  338. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  339. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  340. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  341. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  342. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  343. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  344. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  345. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  346. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  347. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  348. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  349. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  350. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  351. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  352. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  353. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  354. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  355. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  356. package/lib/cjs/geometry/GeometryStream.js +469 -469
  357. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  358. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  359. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  360. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  361. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  362. package/lib/cjs/geometry/LineStyle.js +129 -129
  363. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  364. package/lib/cjs/geometry/Placement.d.ts +95 -95
  365. package/lib/cjs/geometry/Placement.js +131 -131
  366. package/lib/cjs/geometry/Placement.js.map +1 -1
  367. package/lib/cjs/geometry/Projection.d.ts +251 -251
  368. package/lib/cjs/geometry/Projection.js +198 -198
  369. package/lib/cjs/geometry/Projection.js.map +1 -1
  370. package/lib/cjs/geometry/TextString.d.ts +55 -55
  371. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  372. package/lib/cjs/geometry/TextString.js +65 -65
  373. package/lib/cjs/geometry/TextString.js.map +1 -1
  374. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  375. package/lib/cjs/ipc/IpcSession.js +27 -27
  376. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  377. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  378. package/lib/cjs/ipc/IpcSocket.js +16 -16
  379. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  380. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  381. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  382. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  383. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  384. package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -151
  385. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  386. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  387. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  388. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  389. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
  390. package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
  391. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  392. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
  393. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  394. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -86
  395. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  396. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  397. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  398. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  399. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  400. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  401. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  402. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  403. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  404. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  406. package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
  407. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -83
  409. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcConstants.js +103 -100
  411. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
  413. package/lib/cjs/rpc/core/RpcControl.js +149 -149
  414. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  416. package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
  417. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  418. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
  419. package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
  420. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  421. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  422. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  423. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  424. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  425. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  426. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  428. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  429. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  431. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  432. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  433. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  434. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  435. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  436. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  437. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  438. package/lib/cjs/rpc/core/RpcRequest.js +477 -471
  439. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  440. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  441. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  442. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  443. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  444. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  445. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  446. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  447. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  448. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  449. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  450. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  451. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  452. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  453. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  454. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -139
  455. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  456. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  457. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  458. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  459. package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
  460. package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
  461. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  462. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
  463. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  464. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  465. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  466. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  467. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -100
  468. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  469. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
  470. package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
  471. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  472. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  473. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  474. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
  475. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  476. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  477. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  478. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  479. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  480. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  481. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  482. package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
  483. package/lib/cjs/tile/ElementGraphics.js +9 -9
  484. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  485. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  486. package/lib/cjs/tile/GltfTileIO.js +109 -109
  487. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  488. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  489. package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
  490. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  491. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  492. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  493. package/lib/cjs/tile/IModelTileIO.js +95 -95
  494. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  495. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  496. package/lib/cjs/tile/PntsTileIO.js +26 -26
  497. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  498. package/lib/cjs/tile/TileIO.d.ts +66 -66
  499. package/lib/cjs/tile/TileIO.js +118 -118
  500. package/lib/cjs/tile/TileIO.js.map +1 -1
  501. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  502. package/lib/cjs/tile/TileMetadata.js +676 -676
  503. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  504. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  505. package/lib/esm/AmbientOcclusion.js +52 -52
  506. package/lib/esm/AmbientOcclusion.js.map +1 -1
  507. package/lib/esm/AnalysisStyle.d.ts +134 -134
  508. package/lib/esm/AnalysisStyle.js +159 -159
  509. package/lib/esm/AnalysisStyle.js.map +1 -1
  510. package/lib/esm/AuthorizationClient.d.ts +11 -11
  511. package/lib/esm/AuthorizationClient.js +8 -8
  512. package/lib/esm/AuthorizationClient.js.map +1 -1
  513. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  514. package/lib/esm/BackgroundMapProvider.js +64 -64
  515. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  516. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  517. package/lib/esm/BackgroundMapSettings.js +152 -152
  518. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  519. package/lib/esm/Base64EncodedString.d.ts +30 -30
  520. package/lib/esm/Base64EncodedString.js +53 -53
  521. package/lib/esm/Base64EncodedString.js.map +1 -1
  522. package/lib/esm/BlobReader.d.ts +31 -31
  523. package/lib/esm/BlobReader.js +79 -79
  524. package/lib/esm/BlobReader.js.map +1 -1
  525. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  526. package/lib/esm/BriefcaseTypes.js +92 -92
  527. package/lib/esm/BriefcaseTypes.js.map +1 -1
  528. package/lib/esm/Camera.d.ts +42 -42
  529. package/lib/esm/Camera.d.ts.map +1 -1
  530. package/lib/esm/Camera.js +58 -54
  531. package/lib/esm/Camera.js.map +1 -1
  532. package/lib/esm/ChangedElements.d.ts +83 -83
  533. package/lib/esm/ChangedElements.js +18 -18
  534. package/lib/esm/ChangedElements.js.map +1 -1
  535. package/lib/esm/ChangedEntities.d.ts +45 -45
  536. package/lib/esm/ChangedEntities.js +8 -8
  537. package/lib/esm/ChangedEntities.js.map +1 -1
  538. package/lib/esm/ChangesetProps.d.ts +98 -98
  539. package/lib/esm/ChangesetProps.js +19 -19
  540. package/lib/esm/ChangesetProps.js.map +1 -1
  541. package/lib/esm/ClipStyle.d.ts +89 -89
  542. package/lib/esm/ClipStyle.js +118 -118
  543. package/lib/esm/ClipStyle.js.map +1 -1
  544. package/lib/esm/CloudStorage.d.ts +62 -47
  545. package/lib/esm/CloudStorage.d.ts.map +1 -1
  546. package/lib/esm/CloudStorage.js +109 -99
  547. package/lib/esm/CloudStorage.js.map +1 -1
  548. package/lib/esm/CloudStorageTileCache.d.ts +27 -24
  549. package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
  550. package/lib/esm/CloudStorageTileCache.js +62 -58
  551. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  552. package/lib/esm/Code.d.ts +256 -250
  553. package/lib/esm/Code.d.ts.map +1 -1
  554. package/lib/esm/Code.js +276 -272
  555. package/lib/esm/Code.js.map +1 -1
  556. package/lib/esm/ColorByName.d.ts +161 -161
  557. package/lib/esm/ColorByName.js +166 -166
  558. package/lib/esm/ColorByName.js.map +1 -1
  559. package/lib/esm/ColorDef.d.ts +208 -208
  560. package/lib/esm/ColorDef.d.ts.map +1 -1
  561. package/lib/esm/ColorDef.js +567 -565
  562. package/lib/esm/ColorDef.js.map +1 -1
  563. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  564. package/lib/esm/CommonLoggerCategory.js +23 -23
  565. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  566. package/lib/esm/ConcurrentQuery.d.ts +241 -241
  567. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  568. package/lib/esm/ConcurrentQuery.js +373 -331
  569. package/lib/esm/ConcurrentQuery.js.map +1 -1
  570. package/lib/esm/ContextRealityModel.d.ts +255 -255
  571. package/lib/esm/ContextRealityModel.js +320 -320
  572. package/lib/esm/ContextRealityModel.js.map +1 -1
  573. package/lib/esm/DisplayStyleSettings.d.ts +552 -552
  574. package/lib/esm/DisplayStyleSettings.js +946 -946
  575. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  576. package/lib/esm/ECSchemaProps.d.ts +40 -0
  577. package/lib/esm/ECSchemaProps.d.ts.map +1 -0
  578. package/lib/esm/ECSchemaProps.js +9 -0
  579. package/lib/esm/ECSchemaProps.js.map +1 -0
  580. package/lib/esm/ECSqlReader.d.ts +70 -70
  581. package/lib/esm/ECSqlReader.js +275 -275
  582. package/lib/esm/ECSqlReader.js.map +1 -1
  583. package/lib/esm/ECSqlTypes.d.ts +128 -128
  584. package/lib/esm/ECSqlTypes.js +185 -185
  585. package/lib/esm/ECSqlTypes.js.map +1 -1
  586. package/lib/esm/ElementProps.d.ts +476 -470
  587. package/lib/esm/ElementProps.d.ts.map +1 -1
  588. package/lib/esm/ElementProps.js +92 -92
  589. package/lib/esm/ElementProps.js.map +1 -1
  590. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  591. package/lib/esm/EmphasizeElementsProps.js +22 -22
  592. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  593. package/lib/esm/EntityProps.d.ts +176 -176
  594. package/lib/esm/EntityProps.js +107 -107
  595. package/lib/esm/EntityProps.js.map +1 -1
  596. package/lib/esm/EntityReference.d.ts +52 -0
  597. package/lib/esm/EntityReference.d.ts.map +1 -0
  598. package/lib/esm/EntityReference.js +53 -0
  599. package/lib/esm/EntityReference.js.map +1 -0
  600. package/lib/esm/Environment.d.ts +61 -61
  601. package/lib/esm/Environment.js +69 -69
  602. package/lib/esm/Environment.js.map +1 -1
  603. package/lib/esm/FeatureGates.d.ts +31 -31
  604. package/lib/esm/FeatureGates.d.ts.map +1 -1
  605. package/lib/esm/FeatureGates.js +51 -47
  606. package/lib/esm/FeatureGates.js.map +1 -1
  607. package/lib/esm/FeatureIndex.d.ts +39 -39
  608. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  609. package/lib/esm/FeatureIndex.js +57 -53
  610. package/lib/esm/FeatureIndex.js.map +1 -1
  611. package/lib/esm/FeatureSymbology.d.ts +444 -444
  612. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  613. package/lib/esm/FeatureSymbology.js +609 -609
  614. package/lib/esm/FeatureSymbology.js.map +1 -1
  615. package/lib/esm/FeatureTable.d.ts +141 -141
  616. package/lib/esm/FeatureTable.js +272 -272
  617. package/lib/esm/FeatureTable.js.map +1 -1
  618. package/lib/esm/Fonts.d.ts +51 -51
  619. package/lib/esm/Fonts.d.ts.map +1 -1
  620. package/lib/esm/Fonts.js +49 -49
  621. package/lib/esm/Fonts.js.map +1 -1
  622. package/lib/esm/Frustum.d.ts +114 -114
  623. package/lib/esm/Frustum.d.ts.map +1 -1
  624. package/lib/esm/Frustum.js +288 -254
  625. package/lib/esm/Frustum.js.map +1 -1
  626. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  627. package/lib/esm/GeoCoordinateServices.js +76 -76
  628. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  629. package/lib/esm/GeometryContainment.d.ts +28 -28
  630. package/lib/esm/GeometryContainment.js +8 -8
  631. package/lib/esm/GeometryContainment.js.map +1 -1
  632. package/lib/esm/GeometryParams.d.ts +130 -130
  633. package/lib/esm/GeometryParams.js +170 -170
  634. package/lib/esm/GeometryParams.js.map +1 -1
  635. package/lib/esm/GeometrySummary.d.ts +45 -45
  636. package/lib/esm/GeometrySummary.js +20 -20
  637. package/lib/esm/GeometrySummary.js.map +1 -1
  638. package/lib/esm/Gradient.d.ts +139 -123
  639. package/lib/esm/Gradient.d.ts.map +1 -1
  640. package/lib/esm/Gradient.js +452 -441
  641. package/lib/esm/Gradient.js.map +1 -1
  642. package/lib/esm/GraphicParams.d.ts +58 -58
  643. package/lib/esm/GraphicParams.js +81 -81
  644. package/lib/esm/GraphicParams.js.map +1 -1
  645. package/lib/esm/GroundPlane.d.ts +52 -52
  646. package/lib/esm/GroundPlane.js +60 -60
  647. package/lib/esm/GroundPlane.js.map +1 -1
  648. package/lib/esm/HSLColor.d.ts +20 -20
  649. package/lib/esm/HSLColor.js +28 -28
  650. package/lib/esm/HSLColor.js.map +1 -1
  651. package/lib/esm/HSVColor.d.ts +30 -30
  652. package/lib/esm/HSVColor.js +55 -55
  653. package/lib/esm/HSVColor.js.map +1 -1
  654. package/lib/esm/HiddenLine.d.ts +97 -97
  655. package/lib/esm/HiddenLine.js +159 -159
  656. package/lib/esm/HiddenLine.js.map +1 -1
  657. package/lib/esm/Hilite.d.ts +50 -50
  658. package/lib/esm/Hilite.js +61 -61
  659. package/lib/esm/Hilite.js.map +1 -1
  660. package/lib/esm/IModel.d.ts +359 -355
  661. package/lib/esm/IModel.d.ts.map +1 -1
  662. package/lib/esm/IModel.js +342 -335
  663. package/lib/esm/IModel.js.map +1 -1
  664. package/lib/esm/IModelError.d.ts +36 -36
  665. package/lib/esm/IModelError.js +55 -55
  666. package/lib/esm/IModelError.js.map +1 -1
  667. package/lib/esm/IModelVersion.d.ts +68 -68
  668. package/lib/esm/IModelVersion.js +75 -75
  669. package/lib/esm/IModelVersion.js.map +1 -1
  670. package/lib/esm/Image.d.ts +86 -86
  671. package/lib/esm/Image.d.ts.map +1 -1
  672. package/lib/esm/Image.js +120 -118
  673. package/lib/esm/Image.js.map +1 -1
  674. package/lib/esm/IpcAppProps.d.ts +124 -124
  675. package/lib/esm/IpcAppProps.js +15 -15
  676. package/lib/esm/IpcAppProps.js.map +1 -1
  677. package/lib/esm/LightSettings.d.ts +224 -224
  678. package/lib/esm/LightSettings.js +301 -301
  679. package/lib/esm/LightSettings.js.map +1 -1
  680. package/lib/esm/LinePixels.d.ts +34 -34
  681. package/lib/esm/LinePixels.js +39 -39
  682. package/lib/esm/LinePixels.js.map +1 -1
  683. package/lib/esm/Localization.d.ts +111 -112
  684. package/lib/esm/Localization.d.ts.map +1 -1
  685. package/lib/esm/Localization.js +22 -22
  686. package/lib/esm/Localization.js.map +1 -1
  687. package/lib/esm/MapImagerySettings.d.ts +62 -62
  688. package/lib/esm/MapImagerySettings.js +76 -76
  689. package/lib/esm/MapImagerySettings.js.map +1 -1
  690. package/lib/esm/MapLayerSettings.d.ts +272 -272
  691. package/lib/esm/MapLayerSettings.js +403 -403
  692. package/lib/esm/MapLayerSettings.js.map +1 -1
  693. package/lib/esm/MassProperties.d.ts +64 -64
  694. package/lib/esm/MassProperties.js +20 -20
  695. package/lib/esm/MassProperties.js.map +1 -1
  696. package/lib/esm/MaterialProps.d.ts +118 -118
  697. package/lib/esm/MaterialProps.js +20 -20
  698. package/lib/esm/MaterialProps.js.map +1 -1
  699. package/lib/esm/ModelClipGroup.d.ts +67 -67
  700. package/lib/esm/ModelClipGroup.js +93 -93
  701. package/lib/esm/ModelClipGroup.js.map +1 -1
  702. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  703. package/lib/esm/ModelGeometryChanges.js +80 -80
  704. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  705. package/lib/esm/ModelProps.d.ts +67 -66
  706. package/lib/esm/ModelProps.d.ts.map +1 -1
  707. package/lib/esm/ModelProps.js +8 -8
  708. package/lib/esm/ModelProps.js.map +1 -1
  709. package/lib/esm/NativeAppProps.d.ts +122 -122
  710. package/lib/esm/NativeAppProps.js +27 -27
  711. package/lib/esm/NativeAppProps.js.map +1 -1
  712. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  713. package/lib/esm/OctEncodedNormal.js +93 -93
  714. package/lib/esm/OctEncodedNormal.js.map +1 -1
  715. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  716. package/lib/esm/PlanProjectionSettings.js +59 -59
  717. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  718. package/lib/esm/PlanarClipMask.d.ts +177 -177
  719. package/lib/esm/PlanarClipMask.js +132 -132
  720. package/lib/esm/PlanarClipMask.js.map +1 -1
  721. package/lib/esm/QPoint.d.ts +479 -299
  722. package/lib/esm/QPoint.d.ts.map +1 -1
  723. package/lib/esm/QPoint.js +815 -617
  724. package/lib/esm/QPoint.js.map +1 -1
  725. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  726. package/lib/esm/RealityDataAccessProps.js +16 -16
  727. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  728. package/lib/esm/Render.d.ts +89 -89
  729. package/lib/esm/Render.d.ts.map +1 -1
  730. package/lib/esm/Render.js +165 -157
  731. package/lib/esm/Render.js.map +1 -1
  732. package/lib/esm/RenderMaterial.d.ts +58 -58
  733. package/lib/esm/RenderMaterial.js +72 -72
  734. package/lib/esm/RenderMaterial.js.map +1 -1
  735. package/lib/esm/RenderSchedule.d.ts +541 -540
  736. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  737. package/lib/esm/RenderSchedule.js +997 -997
  738. package/lib/esm/RenderSchedule.js.map +1 -1
  739. package/lib/esm/RenderTexture.d.ts +70 -70
  740. package/lib/esm/RenderTexture.js +55 -55
  741. package/lib/esm/RenderTexture.js.map +1 -1
  742. package/lib/esm/RgbColor.d.ts +39 -39
  743. package/lib/esm/RgbColor.js +63 -63
  744. package/lib/esm/RgbColor.js.map +1 -1
  745. package/lib/esm/RpcInterface.d.ts +33 -33
  746. package/lib/esm/RpcInterface.js +133 -133
  747. package/lib/esm/RpcInterface.js.map +1 -1
  748. package/lib/esm/RpcManager.d.ts +40 -40
  749. package/lib/esm/RpcManager.js +51 -51
  750. package/lib/esm/RpcManager.js.map +1 -1
  751. package/lib/esm/SessionProps.d.ts +16 -16
  752. package/lib/esm/SessionProps.js +8 -8
  753. package/lib/esm/SessionProps.js.map +1 -1
  754. package/lib/esm/SkyBox.d.ts +215 -215
  755. package/lib/esm/SkyBox.js +203 -203
  756. package/lib/esm/SkyBox.js.map +1 -1
  757. package/lib/esm/Snapping.d.ts +49 -49
  758. package/lib/esm/Snapping.js +8 -8
  759. package/lib/esm/Snapping.js.map +1 -1
  760. package/lib/esm/SolarCalculate.d.ts +27 -27
  761. package/lib/esm/SolarCalculate.js +204 -204
  762. package/lib/esm/SolarCalculate.js.map +1 -1
  763. package/lib/esm/SolarShadows.d.ts +35 -35
  764. package/lib/esm/SolarShadows.js +58 -58
  765. package/lib/esm/SolarShadows.js.map +1 -1
  766. package/lib/esm/SpatialClassification.d.ts +208 -208
  767. package/lib/esm/SpatialClassification.js +334 -334
  768. package/lib/esm/SpatialClassification.js.map +1 -1
  769. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  770. package/lib/esm/SubCategoryAppearance.js +92 -92
  771. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  772. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  773. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  774. package/lib/esm/SubCategoryOverride.js +100 -100
  775. package/lib/esm/SubCategoryOverride.js.map +1 -1
  776. package/lib/esm/TerrainSettings.d.ts +82 -77
  777. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  778. package/lib/esm/TerrainSettings.js +98 -97
  779. package/lib/esm/TerrainSettings.js.map +1 -1
  780. package/lib/esm/TextureMapping.d.ts +101 -101
  781. package/lib/esm/TextureMapping.js +170 -170
  782. package/lib/esm/TextureMapping.js.map +1 -1
  783. package/lib/esm/TextureProps.d.ts +65 -65
  784. package/lib/esm/TextureProps.js +25 -25
  785. package/lib/esm/TextureProps.js.map +1 -1
  786. package/lib/esm/ThematicDisplay.d.ts +230 -234
  787. package/lib/esm/ThematicDisplay.d.ts.map +1 -1
  788. package/lib/esm/ThematicDisplay.js +337 -337
  789. package/lib/esm/ThematicDisplay.js.map +1 -1
  790. package/lib/esm/Thumbnail.d.ts +26 -26
  791. package/lib/esm/Thumbnail.js +8 -8
  792. package/lib/esm/Thumbnail.js.map +1 -1
  793. package/lib/esm/TileProps.d.ts +82 -77
  794. package/lib/esm/TileProps.d.ts.map +1 -1
  795. package/lib/esm/TileProps.js +25 -15
  796. package/lib/esm/TileProps.js.map +1 -1
  797. package/lib/esm/Tween.d.ts +191 -191
  798. package/lib/esm/Tween.js +565 -565
  799. package/lib/esm/Tween.js.map +1 -1
  800. package/lib/esm/TxnAction.d.ts +21 -21
  801. package/lib/esm/TxnAction.js +26 -26
  802. package/lib/esm/TxnAction.js.map +1 -1
  803. package/lib/esm/ViewDetails.d.ts +125 -125
  804. package/lib/esm/ViewDetails.js +153 -153
  805. package/lib/esm/ViewDetails.js.map +1 -1
  806. package/lib/esm/ViewFlags.d.ts +291 -291
  807. package/lib/esm/ViewFlags.d.ts.map +1 -1
  808. package/lib/esm/ViewFlags.js +364 -364
  809. package/lib/esm/ViewFlags.js.map +1 -1
  810. package/lib/esm/ViewProps.d.ts +205 -205
  811. package/lib/esm/ViewProps.js +8 -8
  812. package/lib/esm/ViewProps.js.map +1 -1
  813. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  814. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  815. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  816. package/lib/esm/core-common.d.ts +241 -239
  817. package/lib/esm/core-common.d.ts.map +1 -1
  818. package/lib/esm/core-common.js +245 -243
  819. package/lib/esm/core-common.js.map +1 -1
  820. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  821. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  822. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  823. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  824. package/lib/esm/domains/GenericElementProps.js +8 -8
  825. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  826. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  827. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  828. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  829. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  830. package/lib/esm/geometry/AreaPattern.js +201 -201
  831. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  832. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  833. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  834. package/lib/esm/geometry/BoundingSphere.js +26 -20
  835. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  836. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  837. package/lib/esm/geometry/Cartographic.js +340 -340
  838. package/lib/esm/geometry/Cartographic.js.map +1 -1
  839. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  840. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  841. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  842. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  843. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  844. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  845. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  846. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  847. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  848. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  849. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  850. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  851. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  852. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  853. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  854. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  855. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  856. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  857. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  858. package/lib/esm/geometry/GeometryStream.js +464 -464
  859. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  860. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  861. package/lib/esm/geometry/ImageGraphic.js +93 -93
  862. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  863. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  864. package/lib/esm/geometry/LineStyle.js +126 -126
  865. package/lib/esm/geometry/LineStyle.js.map +1 -1
  866. package/lib/esm/geometry/Placement.d.ts +95 -95
  867. package/lib/esm/geometry/Placement.js +126 -126
  868. package/lib/esm/geometry/Placement.js.map +1 -1
  869. package/lib/esm/geometry/Projection.d.ts +251 -251
  870. package/lib/esm/geometry/Projection.js +192 -192
  871. package/lib/esm/geometry/Projection.js.map +1 -1
  872. package/lib/esm/geometry/TextString.d.ts +55 -55
  873. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  874. package/lib/esm/geometry/TextString.js +61 -61
  875. package/lib/esm/geometry/TextString.js.map +1 -1
  876. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  877. package/lib/esm/ipc/IpcSession.js +23 -23
  878. package/lib/esm/ipc/IpcSession.js.map +1 -1
  879. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  880. package/lib/esm/ipc/IpcSocket.js +12 -12
  881. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  882. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  883. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  884. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  885. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  886. package/lib/esm/ipc/IpcWebSocketTransport.js +154 -147
  887. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  888. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  889. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  890. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  891. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
  892. package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
  893. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  894. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
  895. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  896. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -82
  897. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  898. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  899. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  900. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  901. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  902. package/lib/esm/rpc/TestRpcManager.js +35 -35
  903. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  904. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  905. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  906. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  907. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  908. package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
  909. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  910. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -83
  911. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  912. package/lib/esm/rpc/core/RpcConstants.js +100 -97
  913. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  914. package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
  915. package/lib/esm/rpc/core/RpcControl.js +142 -142
  916. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  917. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  918. package/lib/esm/rpc/core/RpcInvocation.js +253 -253
  919. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  920. package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
  921. package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
  922. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  923. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  924. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  925. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  926. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  927. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  928. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  929. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  930. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  931. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  932. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  933. package/lib/esm/rpc/core/RpcPush.js +119 -119
  934. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  935. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  936. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  937. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  938. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  939. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  940. package/lib/esm/rpc/core/RpcRequest.js +472 -466
  941. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  942. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  943. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  944. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  945. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  946. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  947. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  948. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  949. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  950. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  951. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  952. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  953. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  954. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  955. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  956. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -135
  957. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  958. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  959. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  960. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  961. package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
  962. package/lib/esm/rpc/web/RpcMultipart.js +41 -41
  963. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  964. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
  965. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  966. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  967. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  968. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  969. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -96
  970. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  971. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
  972. package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
  973. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  974. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  975. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  976. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
  977. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  978. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  979. package/lib/esm/tile/B3dmTileIO.js +62 -62
  980. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  981. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  982. package/lib/esm/tile/CompositeTileIO.js +22 -22
  983. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  984. package/lib/esm/tile/ElementGraphics.d.ts +134 -134
  985. package/lib/esm/tile/ElementGraphics.js +8 -8
  986. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  987. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  988. package/lib/esm/tile/GltfTileIO.js +105 -105
  989. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  990. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  991. package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
  992. package/lib/esm/tile/I3dmTileIO.js +36 -36
  993. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  994. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  995. package/lib/esm/tile/IModelTileIO.js +90 -90
  996. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  997. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  998. package/lib/esm/tile/PntsTileIO.js +22 -22
  999. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1000. package/lib/esm/tile/TileIO.d.ts +66 -66
  1001. package/lib/esm/tile/TileIO.js +110 -110
  1002. package/lib/esm/tile/TileIO.js.map +1 -1
  1003. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1004. package/lib/esm/tile/TileMetadata.js +661 -661
  1005. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1006. package/package.json +9 -8
@@ -1,254 +1,254 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RpcInterface
7
- */
8
- var _a;
9
- import { BentleyError, BentleyStatus, IModelStatus, Logger, RpcInterfaceStatus, StatusCategory, Tracing } from "@itwin/core-bentley";
10
- import { CommonLoggerCategory } from "../../CommonLoggerCategory";
11
- import { IModelError } from "../../IModelError";
12
- import { RpcInterface } from "../../RpcInterface";
13
- import { RpcConfiguration } from "./RpcConfiguration";
14
- import { RpcProtocolEvent, RpcRequestStatus } from "./RpcConstants";
15
- import { RpcNotFoundResponse, RpcPendingResponse } from "./RpcControl";
16
- import { RpcMarshaling } from "./RpcMarshaling";
17
- import { RpcOperation } from "./RpcOperation";
18
- import { RpcProtocol, RpcProtocolVersion } from "./RpcProtocol";
19
- import { CURRENT_INVOCATION, RpcRegistry } from "./RpcRegistry";
20
- /** An RPC operation invocation in response to a request.
21
- * @internal
22
- */
23
- export class RpcInvocation {
24
- /** Constructs an invocation. */
25
- constructor(protocol, request) {
26
- this._threw = false;
27
- this._pending = false;
28
- this._notFound = false;
29
- this._noContent = false;
30
- this._timeIn = 0;
31
- this._timeOut = 0;
32
- /** The operation of the request. */
33
- this.operation = undefined;
34
- this._timeIn = new Date().getTime();
35
- this.protocol = protocol;
36
- this.request = request;
37
- try {
38
- try {
39
- this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);
40
- const backend = this.operation.interfaceVersion;
41
- const frontend = this.request.operation.interfaceVersion;
42
- if (!RpcInterface.isVersionCompatible(backend, frontend)) {
43
- throw new IModelError(RpcInterfaceStatus.IncompatibleVersion, `Backend version ${backend} does not match frontend version ${frontend} for RPC interface ${this.operation.operationName}.`);
44
- }
45
- }
46
- catch (error) {
47
- if (this.handleUnknownOperation(error)) {
48
- this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);
49
- }
50
- else {
51
- throw error;
52
- }
53
- }
54
- this.result = this.resolve();
55
- }
56
- catch (error) {
57
- this.result = this.reject(error);
58
- }
59
- this.fulfillment = this.result.then(async (value) => this._threw ? this.fulfillRejected(value) : this.fulfillResolved(value), async (reason) => this.fulfillRejected(reason));
60
- }
61
- /** The status for this request. */
62
- get status() {
63
- return this._threw ? RpcRequestStatus.Rejected :
64
- this._pending ? RpcRequestStatus.Pending :
65
- this._notFound ? RpcRequestStatus.NotFound :
66
- this._noContent ? RpcRequestStatus.NoContent :
67
- RpcRequestStatus.Resolved;
68
- }
69
- /** The elapsed time for this invocation. */
70
- get elapsed() {
71
- return this._timeOut - this._timeIn;
72
- }
73
- /**
74
- * The invocation for the current RPC operation.
75
- * @note The return value of this function is only reliable in an RPC impl class member function where program control was received from the RpcInvocation constructor function.
76
- */
77
- static current(rpcImpl) {
78
- return rpcImpl[CURRENT_INVOCATION];
79
- }
80
- handleUnknownOperation(error) {
81
- return this.protocol.configuration.controlChannel.handleUnknownOperation(this, error);
82
- }
83
- static sanitizeForLog(activity) {
84
- /* eslint-disable @typescript-eslint/naming-convention */
85
- return activity ? {
86
- ActivityId: activity.activityId, SessionId: activity.sessionId, ApplicationId: activity.applicationId, ApplicationVersion: activity.applicationVersion, rpcMethod: activity.rpcMethod,
87
- } : undefined;
88
- /* eslint-enable @typescript-eslint/naming-convention */
89
- }
90
- async resolve() {
91
- const request = this.request;
92
- const activity = {
93
- activityId: request.id,
94
- applicationId: request.applicationId,
95
- applicationVersion: request.applicationVersion,
96
- sessionId: request.sessionId,
97
- accessToken: request.authorization,
98
- rpcMethod: request.operation.operationName,
99
- };
100
- try {
101
- this.protocol.events.raiseEvent(RpcProtocolEvent.RequestReceived, this);
102
- const parameters = request.parametersOverride || RpcMarshaling.deserialize(this.protocol, request.parameters);
103
- this.applyPolicies(parameters);
104
- const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);
105
- impl[CURRENT_INVOCATION] = this;
106
- const op = this.lookupOperationFunction(impl);
107
- return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters)
108
- .catch(async (error) => {
109
- // this catch block is intentionally placed inside `runActivity` to attach the right logging metadata and use the correct openTelemetry span.
110
- if (!(error instanceof RpcPendingResponse)) {
111
- Logger.logError(CommonLoggerCategory.RpcInterfaceBackend, "Error in RPC operation", { error: BentleyError.getErrorProps(error) });
112
- Tracing.setAttributes({ error: true });
113
- }
114
- throw error;
115
- }));
116
- }
117
- catch (error) {
118
- return this.reject(error);
119
- }
120
- }
121
- applyPolicies(parameters) {
122
- if (!parameters || !Array.isArray(parameters))
123
- return;
124
- for (let i = 0; i !== parameters.length; ++i) {
125
- const parameter = parameters[i];
126
- const isToken = typeof (parameter) === "object" && parameter !== null && parameter.hasOwnProperty("iModelId") && parameter.hasOwnProperty("iTwinId");
127
- if (isToken && this.protocol.checkToken && !this.operation.policy.allowTokenMismatch) {
128
- const inflated = this.protocol.inflateToken(parameter, this.request);
129
- parameters[i] = inflated;
130
- if (!RpcInvocation.compareTokens(parameter, inflated)) {
131
- if (RpcConfiguration.throwOnTokenMismatch) {
132
- throw new IModelError(BentleyStatus.ERROR, "IModelRpcProps mismatch detected for this request.");
133
- }
134
- else {
135
- Logger.logWarning(CommonLoggerCategory.RpcInterfaceBackend, "IModelRpcProps mismatch detected for this request.");
136
- }
137
- }
138
- }
139
- }
140
- }
141
- static compareTokens(a, b) {
142
- var _b;
143
- return a.key === b.key &&
144
- a.iTwinId === b.iTwinId &&
145
- a.iModelId === b.iModelId &&
146
- (undefined === a.changeset || (a.changeset.id === ((_b = b.changeset) === null || _b === void 0 ? void 0 : _b.id)));
147
- }
148
- async reject(error) {
149
- this._threw = true;
150
- return error;
151
- }
152
- async fulfillResolved(value) {
153
- this._timeOut = new Date().getTime();
154
- this.protocol.events.raiseEvent(RpcProtocolEvent.BackendResponseCreated, this);
155
- const result = await RpcMarshaling.serialize(this.protocol, value);
156
- return this.fulfill(result, value);
157
- }
158
- async fulfillRejected(reason) {
159
- this._timeOut = new Date().getTime();
160
- if (!RpcConfiguration.developmentMode)
161
- reason.stack = undefined;
162
- const result = await RpcMarshaling.serialize(this.protocol, reason);
163
- if (reason instanceof RpcPendingResponse) {
164
- this._pending = true;
165
- this._threw = false;
166
- result.objects = reason.message;
167
- this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedPending, this);
168
- }
169
- else if (this.supportsNoContent() && (reason === null || reason === void 0 ? void 0 : reason.errorNumber) === IModelStatus.NoContent) {
170
- this._noContent = true;
171
- this._threw = false;
172
- this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNoContent, this);
173
- }
174
- else if (reason instanceof RpcNotFoundResponse) {
175
- this._notFound = true;
176
- this._threw = false;
177
- this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNotFound, this);
178
- }
179
- else {
180
- this._threw = true;
181
- this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorOccurred, this);
182
- }
183
- return this.fulfill(result, reason);
184
- }
185
- supportsNoContent() {
186
- if (!this.request.protocolVersion) {
187
- return false;
188
- }
189
- return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedNoContent && this.request.protocolVersion >= RpcProtocolVersion.IntroducedNoContent;
190
- }
191
- supportsStatusCategory() {
192
- if (!this.request.protocolVersion) {
193
- return false;
194
- }
195
- if (!this.protocol.supportsStatusCategory) {
196
- return false;
197
- }
198
- return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.request.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;
199
- }
200
- fulfill(result, rawResult) {
201
- var _b;
202
- const fulfillment = {
203
- result,
204
- rawResult,
205
- status: this.protocol.getCode(this.status),
206
- id: this.request.id,
207
- interfaceName: (typeof (this.operation) === "undefined") ? "" : this.operation.interfaceDefinition.interfaceName,
208
- allowCompression: ((_b = this.operation) === null || _b === void 0 ? void 0 : _b.policy.allowResponseCompression) || false,
209
- };
210
- this.transformResponseStatus(fulfillment, rawResult);
211
- try {
212
- const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);
213
- if (impl[CURRENT_INVOCATION] === this) {
214
- impl[CURRENT_INVOCATION] = undefined;
215
- }
216
- }
217
- catch (_err) { }
218
- return fulfillment;
219
- }
220
- lookupOperationFunction(implementation) {
221
- const func = implementation[this.operation.operationName];
222
- if (!func || typeof (func) !== "function")
223
- throw new IModelError(BentleyStatus.ERROR, `RPC interface class "${implementation.constructor.name}" does not implement operation "${this.operation.operationName}".`);
224
- return func;
225
- }
226
- transformResponseStatus(fulfillment, rawResult) {
227
- if (!this.supportsStatusCategory()) {
228
- return;
229
- }
230
- let managedStatus;
231
- if (this._pending) {
232
- managedStatus = "pending";
233
- }
234
- else if (this._notFound) {
235
- managedStatus = "notFound";
236
- }
237
- else if (this._noContent) {
238
- managedStatus = "noContent";
239
- }
240
- if (managedStatus) {
241
- const responseValue = fulfillment.result.objects;
242
- const status = { iTwinRpcCoreResponse: true, managedStatus, responseValue };
243
- fulfillment.result.objects = JSON.stringify(status);
244
- status.responseValue = rawResult; // for ipc case
245
- fulfillment.rawResult = status;
246
- }
247
- if (rawResult instanceof BentleyError) {
248
- fulfillment.status = StatusCategory.for(rawResult).code;
249
- }
250
- }
251
- }
252
- _a = RpcInvocation;
253
- RpcInvocation.runActivity = async (_activity, fn) => fn();
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module RpcInterface
7
+ */
8
+ var _a;
9
+ import { BentleyError, BentleyStatus, IModelStatus, Logger, RpcInterfaceStatus, StatusCategory, Tracing } from "@itwin/core-bentley";
10
+ import { CommonLoggerCategory } from "../../CommonLoggerCategory";
11
+ import { IModelError } from "../../IModelError";
12
+ import { RpcInterface } from "../../RpcInterface";
13
+ import { RpcConfiguration } from "./RpcConfiguration";
14
+ import { RpcProtocolEvent, RpcRequestStatus } from "./RpcConstants";
15
+ import { RpcNotFoundResponse, RpcPendingResponse } from "./RpcControl";
16
+ import { RpcMarshaling } from "./RpcMarshaling";
17
+ import { RpcOperation } from "./RpcOperation";
18
+ import { RpcProtocol, RpcProtocolVersion } from "./RpcProtocol";
19
+ import { CURRENT_INVOCATION, RpcRegistry } from "./RpcRegistry";
20
+ /** An RPC operation invocation in response to a request.
21
+ * @internal
22
+ */
23
+ export class RpcInvocation {
24
+ /** Constructs an invocation. */
25
+ constructor(protocol, request) {
26
+ this._threw = false;
27
+ this._pending = false;
28
+ this._notFound = false;
29
+ this._noContent = false;
30
+ this._timeIn = 0;
31
+ this._timeOut = 0;
32
+ /** The operation of the request. */
33
+ this.operation = undefined;
34
+ this._timeIn = new Date().getTime();
35
+ this.protocol = protocol;
36
+ this.request = request;
37
+ try {
38
+ try {
39
+ this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);
40
+ const backend = this.operation.interfaceVersion;
41
+ const frontend = this.request.operation.interfaceVersion;
42
+ if (!RpcInterface.isVersionCompatible(backend, frontend)) {
43
+ throw new IModelError(RpcInterfaceStatus.IncompatibleVersion, `Backend version ${backend} does not match frontend version ${frontend} for RPC interface ${this.operation.operationName}.`);
44
+ }
45
+ }
46
+ catch (error) {
47
+ if (this.handleUnknownOperation(error)) {
48
+ this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);
49
+ }
50
+ else {
51
+ throw error;
52
+ }
53
+ }
54
+ this.result = this.resolve();
55
+ }
56
+ catch (error) {
57
+ this.result = this.reject(error);
58
+ }
59
+ this.fulfillment = this.result.then(async (value) => this._threw ? this.fulfillRejected(value) : this.fulfillResolved(value), async (reason) => this.fulfillRejected(reason));
60
+ }
61
+ /** The status for this request. */
62
+ get status() {
63
+ return this._threw ? RpcRequestStatus.Rejected :
64
+ this._pending ? RpcRequestStatus.Pending :
65
+ this._notFound ? RpcRequestStatus.NotFound :
66
+ this._noContent ? RpcRequestStatus.NoContent :
67
+ RpcRequestStatus.Resolved;
68
+ }
69
+ /** The elapsed time for this invocation. */
70
+ get elapsed() {
71
+ return this._timeOut - this._timeIn;
72
+ }
73
+ /**
74
+ * The invocation for the current RPC operation.
75
+ * @note The return value of this function is only reliable in an RPC impl class member function where program control was received from the RpcInvocation constructor function.
76
+ */
77
+ static current(rpcImpl) {
78
+ return rpcImpl[CURRENT_INVOCATION];
79
+ }
80
+ handleUnknownOperation(error) {
81
+ return this.protocol.configuration.controlChannel.handleUnknownOperation(this, error);
82
+ }
83
+ static sanitizeForLog(activity) {
84
+ /* eslint-disable @typescript-eslint/naming-convention */
85
+ return activity ? {
86
+ ActivityId: activity.activityId, SessionId: activity.sessionId, ApplicationId: activity.applicationId, ApplicationVersion: activity.applicationVersion, rpcMethod: activity.rpcMethod,
87
+ } : undefined;
88
+ /* eslint-enable @typescript-eslint/naming-convention */
89
+ }
90
+ async resolve() {
91
+ const request = this.request;
92
+ const activity = {
93
+ activityId: request.id,
94
+ applicationId: request.applicationId,
95
+ applicationVersion: request.applicationVersion,
96
+ sessionId: request.sessionId,
97
+ accessToken: request.authorization,
98
+ rpcMethod: request.operation.operationName,
99
+ };
100
+ try {
101
+ this.protocol.events.raiseEvent(RpcProtocolEvent.RequestReceived, this);
102
+ const parameters = request.parametersOverride || RpcMarshaling.deserialize(this.protocol, request.parameters);
103
+ this.applyPolicies(parameters);
104
+ const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);
105
+ impl[CURRENT_INVOCATION] = this;
106
+ const op = this.lookupOperationFunction(impl);
107
+ return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters)
108
+ .catch(async (error) => {
109
+ // this catch block is intentionally placed inside `runActivity` to attach the right logging metadata and use the correct openTelemetry span.
110
+ if (!(error instanceof RpcPendingResponse)) {
111
+ Logger.logError(CommonLoggerCategory.RpcInterfaceBackend, "Error in RPC operation", { error: BentleyError.getErrorProps(error) });
112
+ Tracing.setAttributes({ error: true });
113
+ }
114
+ throw error;
115
+ }));
116
+ }
117
+ catch (error) {
118
+ return this.reject(error);
119
+ }
120
+ }
121
+ applyPolicies(parameters) {
122
+ if (!parameters || !Array.isArray(parameters))
123
+ return;
124
+ for (let i = 0; i !== parameters.length; ++i) {
125
+ const parameter = parameters[i];
126
+ const isToken = typeof (parameter) === "object" && parameter !== null && parameter.hasOwnProperty("iModelId") && parameter.hasOwnProperty("iTwinId");
127
+ if (isToken && this.protocol.checkToken && !this.operation.policy.allowTokenMismatch) {
128
+ const inflated = this.protocol.inflateToken(parameter, this.request);
129
+ parameters[i] = inflated;
130
+ if (!RpcInvocation.compareTokens(parameter, inflated)) {
131
+ if (RpcConfiguration.throwOnTokenMismatch) {
132
+ throw new IModelError(BentleyStatus.ERROR, "IModelRpcProps mismatch detected for this request.");
133
+ }
134
+ else {
135
+ Logger.logWarning(CommonLoggerCategory.RpcInterfaceBackend, "IModelRpcProps mismatch detected for this request.");
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ static compareTokens(a, b) {
142
+ var _b;
143
+ return a.key === b.key &&
144
+ a.iTwinId === b.iTwinId &&
145
+ a.iModelId === b.iModelId &&
146
+ (undefined === a.changeset || (a.changeset.id === ((_b = b.changeset) === null || _b === void 0 ? void 0 : _b.id)));
147
+ }
148
+ async reject(error) {
149
+ this._threw = true;
150
+ return error;
151
+ }
152
+ async fulfillResolved(value) {
153
+ this._timeOut = new Date().getTime();
154
+ this.protocol.events.raiseEvent(RpcProtocolEvent.BackendResponseCreated, this);
155
+ const result = await RpcMarshaling.serialize(this.protocol, value);
156
+ return this.fulfill(result, value);
157
+ }
158
+ async fulfillRejected(reason) {
159
+ this._timeOut = new Date().getTime();
160
+ if (!RpcConfiguration.developmentMode)
161
+ reason.stack = undefined;
162
+ const result = await RpcMarshaling.serialize(this.protocol, reason);
163
+ if (reason instanceof RpcPendingResponse) {
164
+ this._pending = true;
165
+ this._threw = false;
166
+ result.objects = reason.message;
167
+ this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedPending, this);
168
+ }
169
+ else if (this.supportsNoContent() && (reason === null || reason === void 0 ? void 0 : reason.errorNumber) === IModelStatus.NoContent) {
170
+ this._noContent = true;
171
+ this._threw = false;
172
+ this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNoContent, this);
173
+ }
174
+ else if (reason instanceof RpcNotFoundResponse) {
175
+ this._notFound = true;
176
+ this._threw = false;
177
+ this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNotFound, this);
178
+ }
179
+ else {
180
+ this._threw = true;
181
+ this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorOccurred, this);
182
+ }
183
+ return this.fulfill(result, reason);
184
+ }
185
+ supportsNoContent() {
186
+ if (!this.request.protocolVersion) {
187
+ return false;
188
+ }
189
+ return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedNoContent && this.request.protocolVersion >= RpcProtocolVersion.IntroducedNoContent;
190
+ }
191
+ supportsStatusCategory() {
192
+ if (!this.request.protocolVersion) {
193
+ return false;
194
+ }
195
+ if (!this.protocol.supportsStatusCategory) {
196
+ return false;
197
+ }
198
+ return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.request.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;
199
+ }
200
+ fulfill(result, rawResult) {
201
+ var _b;
202
+ const fulfillment = {
203
+ result,
204
+ rawResult,
205
+ status: this.protocol.getCode(this.status),
206
+ id: this.request.id,
207
+ interfaceName: (typeof (this.operation) === "undefined") ? "" : this.operation.interfaceDefinition.interfaceName,
208
+ allowCompression: ((_b = this.operation) === null || _b === void 0 ? void 0 : _b.policy.allowResponseCompression) || false,
209
+ };
210
+ this.transformResponseStatus(fulfillment, rawResult);
211
+ try {
212
+ const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);
213
+ if (impl[CURRENT_INVOCATION] === this) {
214
+ impl[CURRENT_INVOCATION] = undefined;
215
+ }
216
+ }
217
+ catch (_err) { }
218
+ return fulfillment;
219
+ }
220
+ lookupOperationFunction(implementation) {
221
+ const func = implementation[this.operation.operationName];
222
+ if (!func || typeof (func) !== "function")
223
+ throw new IModelError(BentleyStatus.ERROR, `RPC interface class "${implementation.constructor.name}" does not implement operation "${this.operation.operationName}".`);
224
+ return func;
225
+ }
226
+ transformResponseStatus(fulfillment, rawResult) {
227
+ if (!this.supportsStatusCategory()) {
228
+ return;
229
+ }
230
+ let managedStatus;
231
+ if (this._pending) {
232
+ managedStatus = "pending";
233
+ }
234
+ else if (this._notFound) {
235
+ managedStatus = "notFound";
236
+ }
237
+ else if (this._noContent) {
238
+ managedStatus = "noContent";
239
+ }
240
+ if (managedStatus) {
241
+ const responseValue = fulfillment.result.objects;
242
+ const status = { iTwinRpcCoreResponse: true, managedStatus, responseValue };
243
+ fulfillment.result.objects = JSON.stringify(status);
244
+ status.responseValue = rawResult; // for ipc case
245
+ fulfillment.rawResult = status;
246
+ }
247
+ if (rawResult instanceof BentleyError) {
248
+ fulfillment.status = StatusCategory.for(rawResult).code;
249
+ }
250
+ }
251
+ }
252
+ _a = RpcInvocation;
253
+ RpcInvocation.runActivity = async (_activity, fn) => fn();
254
254
  //# sourceMappingURL=RpcInvocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcInvocation.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcInvocation.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 { AccessToken, BentleyError, BentleyStatus, GuidString, IModelStatus, Logger, RpcInterfaceStatus, StatusCategory, Tracing } from \"@itwin/core-bentley\";\r\nimport { CommonLoggerCategory } from \"../../CommonLoggerCategory\";\r\nimport { IModelRpcProps } from \"../../IModel\";\r\nimport { IModelError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { SessionProps } from \"../../SessionProps\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcProtocolEvent, RpcRequestStatus } from \"./RpcConstants\";\r\nimport { RpcNotFoundResponse, RpcPendingResponse } from \"./RpcControl\";\r\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\r\nimport { RpcOperation } from \"./RpcOperation\";\r\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion, RpcRequestFulfillment, SerializedRpcRequest } from \"./RpcProtocol\";\r\nimport { CURRENT_INVOCATION, RpcRegistry } from \"./RpcRegistry\";\r\n\r\n/** The properties of an RpcActivity.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RpcActivity extends SessionProps {\r\n /** Used for logging to correlate an Rpc activity between frontend and backend */\r\n readonly activityId: GuidString;\r\n\r\n /** access token for authorization */\r\n readonly accessToken: AccessToken;\r\n\r\n /** the name of the current rpc method */\r\n readonly rpcMethod?: string;\r\n}\r\n\r\n/** Serialized format for sending the request across the RPC layer\r\n * @public\r\n */\r\nexport interface SerializedRpcActivity {\r\n id: string;\r\n applicationId: string;\r\n applicationVersion: string;\r\n sessionId: string;\r\n authorization: string;\r\n csrfToken?: { headerName: string, headerValue: string };\r\n}\r\n\r\n/** @internal */\r\nexport type RpcActivityRun = (activity: RpcActivity, fn: () => Promise<any>) => Promise<any>;\r\n\r\n/** An RPC operation invocation in response to a request.\r\n * @internal\r\n */\r\nexport class RpcInvocation {\r\n public static runActivity: RpcActivityRun = async (_activity, fn) => fn();\r\n private _threw: boolean = false;\r\n private _pending: boolean = false;\r\n private _notFound: boolean = false;\r\n private _noContent: boolean = false;\r\n private _timeIn: number = 0;\r\n private _timeOut: number = 0;\r\n\r\n /** The protocol for this invocation. */\r\n public readonly protocol: RpcProtocol;\r\n\r\n /** The received request. */\r\n public readonly request: SerializedRpcRequest;\r\n\r\n /** The operation of the request. */\r\n public readonly operation: RpcOperation = undefined as any;\r\n\r\n /** The implementation response. */\r\n public readonly result: Promise<any>;\r\n\r\n /** The fulfillment for this request. */\r\n public readonly fulfillment: Promise<RpcRequestFulfillment>;\r\n\r\n /** The status for this request. */\r\n public get status(): RpcRequestStatus {\r\n return this._threw ? RpcRequestStatus.Rejected :\r\n this._pending ? RpcRequestStatus.Pending :\r\n this._notFound ? RpcRequestStatus.NotFound :\r\n this._noContent ? RpcRequestStatus.NoContent :\r\n RpcRequestStatus.Resolved;\r\n }\r\n\r\n /** The elapsed time for this invocation. */\r\n public get elapsed(): number {\r\n return this._timeOut - this._timeIn;\r\n }\r\n\r\n /**\r\n * The invocation for the current RPC operation.\r\n * @note The return value of this function is only reliable in an RPC impl class member function where program control was received from the RpcInvocation constructor function.\r\n */\r\n public static current(rpcImpl: RpcInterface): RpcInvocation {\r\n return (rpcImpl as any)[CURRENT_INVOCATION];\r\n }\r\n\r\n /** Constructs an invocation. */\r\n public constructor(protocol: RpcProtocol, request: SerializedRpcRequest) {\r\n this._timeIn = new Date().getTime();\r\n this.protocol = protocol;\r\n this.request = request;\r\n\r\n try {\r\n try {\r\n this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);\r\n\r\n const backend = this.operation.interfaceVersion;\r\n const frontend = this.request.operation.interfaceVersion;\r\n if (!RpcInterface.isVersionCompatible(backend, frontend)) {\r\n throw new IModelError(RpcInterfaceStatus.IncompatibleVersion, `Backend version ${backend} does not match frontend version ${frontend} for RPC interface ${this.operation.operationName}.`);\r\n }\r\n } catch (error) {\r\n if (this.handleUnknownOperation(error)) {\r\n this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);\r\n } else {\r\n throw error;\r\n }\r\n }\r\n\r\n this.result = this.resolve();\r\n } catch (error) {\r\n this.result = this.reject(error);\r\n }\r\n\r\n this.fulfillment = this.result.then(async (value) => this._threw ? this.fulfillRejected(value) : this.fulfillResolved(value), async (reason) => this.fulfillRejected(reason));\r\n }\r\n\r\n private handleUnknownOperation(error: any): boolean {\r\n return this.protocol.configuration.controlChannel.handleUnknownOperation(this, error);\r\n }\r\n\r\n public static sanitizeForLog(activity?: RpcActivity) {\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n return activity ? {\r\n ActivityId: activity.activityId, SessionId: activity.sessionId, ApplicationId: activity.applicationId, ApplicationVersion: activity.applicationVersion, rpcMethod: activity.rpcMethod,\r\n } : undefined;\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n }\r\n\r\n private async resolve(): Promise<any> {\r\n const request = this.request;\r\n const activity: RpcActivity = {\r\n activityId: request.id,\r\n applicationId: request.applicationId,\r\n applicationVersion: request.applicationVersion,\r\n sessionId: request.sessionId,\r\n accessToken: request.authorization,\r\n rpcMethod: request.operation.operationName,\r\n };\r\n\r\n try {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestReceived, this);\r\n\r\n const parameters = request.parametersOverride || RpcMarshaling.deserialize(this.protocol, request.parameters);\r\n this.applyPolicies(parameters);\r\n const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);\r\n (impl as any)[CURRENT_INVOCATION] = this;\r\n const op = this.lookupOperationFunction(impl);\r\n\r\n return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters)\r\n .catch(async (error) => {\r\n // this catch block is intentionally placed inside `runActivity` to attach the right logging metadata and use the correct openTelemetry span.\r\n if (!(error instanceof RpcPendingResponse)) {\r\n Logger.logError(CommonLoggerCategory.RpcInterfaceBackend, \"Error in RPC operation\", { error: BentleyError.getErrorProps(error) });\r\n Tracing.setAttributes({ error: true });\r\n }\r\n throw error;\r\n }));\r\n } catch (error: unknown) {\r\n return this.reject(error);\r\n }\r\n }\r\n\r\n private applyPolicies(parameters: any) {\r\n if (!parameters || !Array.isArray(parameters))\r\n return;\r\n\r\n for (let i = 0; i !== parameters.length; ++i) {\r\n const parameter = parameters[i];\r\n const isToken = typeof (parameter) === \"object\" && parameter !== null && parameter.hasOwnProperty(\"iModelId\") && parameter.hasOwnProperty(\"iTwinId\");\r\n if (isToken && this.protocol.checkToken && !this.operation.policy.allowTokenMismatch) {\r\n const inflated = this.protocol.inflateToken(parameter, this.request);\r\n parameters[i] = inflated;\r\n\r\n if (!RpcInvocation.compareTokens(parameter, inflated)) {\r\n if (RpcConfiguration.throwOnTokenMismatch) {\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelRpcProps mismatch detected for this request.\");\r\n } else {\r\n Logger.logWarning(CommonLoggerCategory.RpcInterfaceBackend, \"IModelRpcProps mismatch detected for this request.\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private static compareTokens(a: IModelRpcProps, b: IModelRpcProps): boolean {\r\n return a.key === b.key &&\r\n a.iTwinId === b.iTwinId &&\r\n a.iModelId === b.iModelId &&\r\n (undefined === a.changeset || (a.changeset.id === b.changeset?.id));\r\n }\r\n\r\n private async reject(error: any): Promise<any> {\r\n this._threw = true;\r\n return error;\r\n }\r\n\r\n private async fulfillResolved(value: any): Promise<RpcRequestFulfillment> {\r\n this._timeOut = new Date().getTime();\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendResponseCreated, this);\r\n const result = await RpcMarshaling.serialize(this.protocol, value);\r\n return this.fulfill(result, value);\r\n }\r\n\r\n private async fulfillRejected(reason: any): Promise<RpcRequestFulfillment> {\r\n this._timeOut = new Date().getTime();\r\n if (!RpcConfiguration.developmentMode)\r\n reason.stack = undefined;\r\n\r\n const result = await RpcMarshaling.serialize(this.protocol, reason);\r\n\r\n if (reason instanceof RpcPendingResponse) {\r\n this._pending = true;\r\n this._threw = false;\r\n result.objects = reason.message;\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedPending, this);\r\n } else if (this.supportsNoContent() && reason?.errorNumber === IModelStatus.NoContent) {\r\n this._noContent = true;\r\n this._threw = false;\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNoContent, this);\r\n } else if (reason instanceof RpcNotFoundResponse) {\r\n this._notFound = true;\r\n this._threw = false;\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNotFound, this);\r\n } else {\r\n this._threw = true;\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorOccurred, this);\r\n }\r\n\r\n return this.fulfill(result, reason);\r\n }\r\n\r\n private supportsNoContent() {\r\n if (!this.request.protocolVersion) {\r\n return false;\r\n }\r\n\r\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedNoContent && this.request.protocolVersion >= RpcProtocolVersion.IntroducedNoContent;\r\n }\r\n\r\n private supportsStatusCategory() {\r\n if (!this.request.protocolVersion) {\r\n return false;\r\n }\r\n\r\n if (!this.protocol.supportsStatusCategory) {\r\n return false;\r\n }\r\n\r\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.request.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\r\n }\r\n\r\n private fulfill(result: RpcSerializedValue, rawResult: any): RpcRequestFulfillment {\r\n const fulfillment: RpcRequestFulfillment = {\r\n result,\r\n rawResult,\r\n status: this.protocol.getCode(this.status),\r\n id: this.request.id,\r\n interfaceName: (typeof (this.operation) === \"undefined\") ? \"\" : this.operation.interfaceDefinition.interfaceName,\r\n allowCompression: this.operation?.policy.allowResponseCompression || false,\r\n };\r\n\r\n this.transformResponseStatus(fulfillment, rawResult);\r\n\r\n try {\r\n const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition) as any;\r\n if (impl[CURRENT_INVOCATION] === this) {\r\n impl[CURRENT_INVOCATION] = undefined;\r\n }\r\n } catch (_err) { }\r\n\r\n return fulfillment;\r\n }\r\n\r\n private lookupOperationFunction(implementation: RpcInterface): (...args: any[]) => Promise<any> {\r\n const func = (implementation as any)[this.operation.operationName];\r\n if (!func || typeof (func) !== \"function\")\r\n throw new IModelError(BentleyStatus.ERROR, `RPC interface class \"${implementation.constructor.name}\" does not implement operation \"${this.operation.operationName}\".`);\r\n\r\n return func;\r\n }\r\n\r\n private transformResponseStatus(fulfillment: RpcRequestFulfillment, rawResult: any) {\r\n if (!this.supportsStatusCategory()) {\r\n return;\r\n }\r\n\r\n let managedStatus: \"notFound\" | \"pending\" | \"noContent\" | undefined;\r\n if (this._pending) {\r\n managedStatus = \"pending\";\r\n } else if (this._notFound) {\r\n managedStatus = \"notFound\";\r\n } else if (this._noContent) {\r\n managedStatus = \"noContent\";\r\n }\r\n\r\n if (managedStatus) {\r\n const responseValue = fulfillment.result.objects;\r\n const status: RpcManagedStatus = { iTwinRpcCoreResponse: true, managedStatus, responseValue };\r\n fulfillment.result.objects = JSON.stringify(status);\r\n status.responseValue = rawResult; // for ipc case\r\n fulfillment.rawResult = status;\r\n }\r\n\r\n if (rawResult instanceof BentleyError) {\r\n fulfillment.status = StatusCategory.for(rawResult).code;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RpcInvocation.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcInvocation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { AccessToken, BentleyError, BentleyStatus, GuidString, IModelStatus, Logger, RpcInterfaceStatus, StatusCategory, Tracing } from \"@itwin/core-bentley\";\nimport { CommonLoggerCategory } from \"../../CommonLoggerCategory\";\nimport { IModelRpcProps } from \"../../IModel\";\nimport { IModelError } from \"../../IModelError\";\nimport { RpcInterface } from \"../../RpcInterface\";\nimport { SessionProps } from \"../../SessionProps\";\nimport { RpcConfiguration } from \"./RpcConfiguration\";\nimport { RpcProtocolEvent, RpcRequestStatus } from \"./RpcConstants\";\nimport { RpcNotFoundResponse, RpcPendingResponse } from \"./RpcControl\";\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\nimport { RpcOperation } from \"./RpcOperation\";\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion, RpcRequestFulfillment, SerializedRpcRequest } from \"./RpcProtocol\";\nimport { CURRENT_INVOCATION, RpcRegistry } from \"./RpcRegistry\";\n\n/** The properties of an RpcActivity.\n * @public\n * @extensions\n */\nexport interface RpcActivity extends SessionProps {\n /** Used for logging to correlate an Rpc activity between frontend and backend */\n readonly activityId: GuidString;\n\n /** access token for authorization */\n readonly accessToken: AccessToken;\n\n /** the name of the current rpc method */\n readonly rpcMethod?: string;\n}\n\n/** Serialized format for sending the request across the RPC layer\n * @public\n */\nexport interface SerializedRpcActivity {\n id: string;\n applicationId: string;\n applicationVersion: string;\n sessionId: string;\n authorization: string;\n csrfToken?: { headerName: string, headerValue: string };\n}\n\n/** @internal */\nexport type RpcActivityRun = (activity: RpcActivity, fn: () => Promise<any>) => Promise<any>;\n\n/** An RPC operation invocation in response to a request.\n * @internal\n */\nexport class RpcInvocation {\n public static runActivity: RpcActivityRun = async (_activity, fn) => fn();\n private _threw: boolean = false;\n private _pending: boolean = false;\n private _notFound: boolean = false;\n private _noContent: boolean = false;\n private _timeIn: number = 0;\n private _timeOut: number = 0;\n\n /** The protocol for this invocation. */\n public readonly protocol: RpcProtocol;\n\n /** The received request. */\n public readonly request: SerializedRpcRequest;\n\n /** The operation of the request. */\n public readonly operation: RpcOperation = undefined as any;\n\n /** The implementation response. */\n public readonly result: Promise<any>;\n\n /** The fulfillment for this request. */\n public readonly fulfillment: Promise<RpcRequestFulfillment>;\n\n /** The status for this request. */\n public get status(): RpcRequestStatus {\n return this._threw ? RpcRequestStatus.Rejected :\n this._pending ? RpcRequestStatus.Pending :\n this._notFound ? RpcRequestStatus.NotFound :\n this._noContent ? RpcRequestStatus.NoContent :\n RpcRequestStatus.Resolved;\n }\n\n /** The elapsed time for this invocation. */\n public get elapsed(): number {\n return this._timeOut - this._timeIn;\n }\n\n /**\n * The invocation for the current RPC operation.\n * @note The return value of this function is only reliable in an RPC impl class member function where program control was received from the RpcInvocation constructor function.\n */\n public static current(rpcImpl: RpcInterface): RpcInvocation {\n return (rpcImpl as any)[CURRENT_INVOCATION];\n }\n\n /** Constructs an invocation. */\n public constructor(protocol: RpcProtocol, request: SerializedRpcRequest) {\n this._timeIn = new Date().getTime();\n this.protocol = protocol;\n this.request = request;\n\n try {\n try {\n this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);\n\n const backend = this.operation.interfaceVersion;\n const frontend = this.request.operation.interfaceVersion;\n if (!RpcInterface.isVersionCompatible(backend, frontend)) {\n throw new IModelError(RpcInterfaceStatus.IncompatibleVersion, `Backend version ${backend} does not match frontend version ${frontend} for RPC interface ${this.operation.operationName}.`);\n }\n } catch (error) {\n if (this.handleUnknownOperation(error)) {\n this.operation = RpcOperation.lookup(this.request.operation.interfaceDefinition, this.request.operation.operationName);\n } else {\n throw error;\n }\n }\n\n this.result = this.resolve();\n } catch (error) {\n this.result = this.reject(error);\n }\n\n this.fulfillment = this.result.then(async (value) => this._threw ? this.fulfillRejected(value) : this.fulfillResolved(value), async (reason) => this.fulfillRejected(reason));\n }\n\n private handleUnknownOperation(error: any): boolean {\n return this.protocol.configuration.controlChannel.handleUnknownOperation(this, error);\n }\n\n public static sanitizeForLog(activity?: RpcActivity) {\n /* eslint-disable @typescript-eslint/naming-convention */\n return activity ? {\n ActivityId: activity.activityId, SessionId: activity.sessionId, ApplicationId: activity.applicationId, ApplicationVersion: activity.applicationVersion, rpcMethod: activity.rpcMethod,\n } : undefined;\n /* eslint-enable @typescript-eslint/naming-convention */\n }\n\n private async resolve(): Promise<any> {\n const request = this.request;\n const activity: RpcActivity = {\n activityId: request.id,\n applicationId: request.applicationId,\n applicationVersion: request.applicationVersion,\n sessionId: request.sessionId,\n accessToken: request.authorization,\n rpcMethod: request.operation.operationName,\n };\n\n try {\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestReceived, this);\n\n const parameters = request.parametersOverride || RpcMarshaling.deserialize(this.protocol, request.parameters);\n this.applyPolicies(parameters);\n const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition);\n (impl as any)[CURRENT_INVOCATION] = this;\n const op = this.lookupOperationFunction(impl);\n\n return await RpcInvocation.runActivity(activity, async () => op.call(impl, ...parameters)\n .catch(async (error) => {\n // this catch block is intentionally placed inside `runActivity` to attach the right logging metadata and use the correct openTelemetry span.\n if (!(error instanceof RpcPendingResponse)) {\n Logger.logError(CommonLoggerCategory.RpcInterfaceBackend, \"Error in RPC operation\", { error: BentleyError.getErrorProps(error) });\n Tracing.setAttributes({ error: true });\n }\n throw error;\n }));\n } catch (error: unknown) {\n return this.reject(error);\n }\n }\n\n private applyPolicies(parameters: any) {\n if (!parameters || !Array.isArray(parameters))\n return;\n\n for (let i = 0; i !== parameters.length; ++i) {\n const parameter = parameters[i];\n const isToken = typeof (parameter) === \"object\" && parameter !== null && parameter.hasOwnProperty(\"iModelId\") && parameter.hasOwnProperty(\"iTwinId\");\n if (isToken && this.protocol.checkToken && !this.operation.policy.allowTokenMismatch) {\n const inflated = this.protocol.inflateToken(parameter, this.request);\n parameters[i] = inflated;\n\n if (!RpcInvocation.compareTokens(parameter, inflated)) {\n if (RpcConfiguration.throwOnTokenMismatch) {\n throw new IModelError(BentleyStatus.ERROR, \"IModelRpcProps mismatch detected for this request.\");\n } else {\n Logger.logWarning(CommonLoggerCategory.RpcInterfaceBackend, \"IModelRpcProps mismatch detected for this request.\");\n }\n }\n }\n }\n }\n\n private static compareTokens(a: IModelRpcProps, b: IModelRpcProps): boolean {\n return a.key === b.key &&\n a.iTwinId === b.iTwinId &&\n a.iModelId === b.iModelId &&\n (undefined === a.changeset || (a.changeset.id === b.changeset?.id));\n }\n\n private async reject(error: any): Promise<any> {\n this._threw = true;\n return error;\n }\n\n private async fulfillResolved(value: any): Promise<RpcRequestFulfillment> {\n this._timeOut = new Date().getTime();\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendResponseCreated, this);\n const result = await RpcMarshaling.serialize(this.protocol, value);\n return this.fulfill(result, value);\n }\n\n private async fulfillRejected(reason: any): Promise<RpcRequestFulfillment> {\n this._timeOut = new Date().getTime();\n if (!RpcConfiguration.developmentMode)\n reason.stack = undefined;\n\n const result = await RpcMarshaling.serialize(this.protocol, reason);\n\n if (reason instanceof RpcPendingResponse) {\n this._pending = true;\n this._threw = false;\n result.objects = reason.message;\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedPending, this);\n } else if (this.supportsNoContent() && reason?.errorNumber === IModelStatus.NoContent) {\n this._noContent = true;\n this._threw = false;\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNoContent, this);\n } else if (reason instanceof RpcNotFoundResponse) {\n this._notFound = true;\n this._threw = false;\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendReportedNotFound, this);\n } else {\n this._threw = true;\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorOccurred, this);\n }\n\n return this.fulfill(result, reason);\n }\n\n private supportsNoContent() {\n if (!this.request.protocolVersion) {\n return false;\n }\n\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedNoContent && this.request.protocolVersion >= RpcProtocolVersion.IntroducedNoContent;\n }\n\n private supportsStatusCategory() {\n if (!this.request.protocolVersion) {\n return false;\n }\n\n if (!this.protocol.supportsStatusCategory) {\n return false;\n }\n\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.request.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\n }\n\n private fulfill(result: RpcSerializedValue, rawResult: any): RpcRequestFulfillment {\n const fulfillment: RpcRequestFulfillment = {\n result,\n rawResult,\n status: this.protocol.getCode(this.status),\n id: this.request.id,\n interfaceName: (typeof (this.operation) === \"undefined\") ? \"\" : this.operation.interfaceDefinition.interfaceName,\n allowCompression: this.operation?.policy.allowResponseCompression || false,\n };\n\n this.transformResponseStatus(fulfillment, rawResult);\n\n try {\n const impl = RpcRegistry.instance.getImplForInterface(this.operation.interfaceDefinition) as any;\n if (impl[CURRENT_INVOCATION] === this) {\n impl[CURRENT_INVOCATION] = undefined;\n }\n } catch (_err) { }\n\n return fulfillment;\n }\n\n private lookupOperationFunction(implementation: RpcInterface): (...args: any[]) => Promise<any> {\n const func = (implementation as any)[this.operation.operationName];\n if (!func || typeof (func) !== \"function\")\n throw new IModelError(BentleyStatus.ERROR, `RPC interface class \"${implementation.constructor.name}\" does not implement operation \"${this.operation.operationName}\".`);\n\n return func;\n }\n\n private transformResponseStatus(fulfillment: RpcRequestFulfillment, rawResult: any) {\n if (!this.supportsStatusCategory()) {\n return;\n }\n\n let managedStatus: \"notFound\" | \"pending\" | \"noContent\" | undefined;\n if (this._pending) {\n managedStatus = \"pending\";\n } else if (this._notFound) {\n managedStatus = \"notFound\";\n } else if (this._noContent) {\n managedStatus = \"noContent\";\n }\n\n if (managedStatus) {\n const responseValue = fulfillment.result.objects;\n const status: RpcManagedStatus = { iTwinRpcCoreResponse: true, managedStatus, responseValue };\n fulfillment.result.objects = JSON.stringify(status);\n status.responseValue = rawResult; // for ipc case\n fulfillment.rawResult = status;\n }\n\n if (rawResult instanceof BentleyError) {\n fulfillment.status = StatusCategory.for(rawResult).code;\n }\n }\n}\n"]}