@itwin/core-common 4.0.0-dev.10 → 4.0.0-dev.100

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 (992) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/Atmosphere.d.ts +99 -0
  8. package/lib/cjs/Atmosphere.d.ts.map +1 -0
  9. package/lib/cjs/Atmosphere.js +134 -0
  10. package/lib/cjs/Atmosphere.js.map +1 -0
  11. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  12. package/lib/cjs/AuthorizationClient.js +9 -9
  13. package/lib/cjs/BackendTypes.d.ts +13 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  19. package/lib/cjs/BackgroundMapProvider.js +67 -68
  20. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  21. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  22. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  23. package/lib/cjs/BackgroundMapSettings.js +154 -156
  24. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  25. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  26. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  27. package/lib/cjs/Base64EncodedString.js +66 -66
  28. package/lib/cjs/Base64EncodedString.js.map +1 -1
  29. package/lib/cjs/BlobReader.d.ts +31 -31
  30. package/lib/cjs/BlobReader.js +84 -84
  31. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  32. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  33. package/lib/cjs/BriefcaseTypes.js +95 -95
  34. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  35. package/lib/cjs/Camera.d.ts +42 -42
  36. package/lib/cjs/Camera.js +62 -62
  37. package/lib/cjs/Camera.js.map +1 -1
  38. package/lib/cjs/ChangedElements.d.ts +85 -85
  39. package/lib/cjs/ChangedElements.js +23 -23
  40. package/lib/cjs/ChangedEntities.d.ts +45 -45
  41. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  42. package/lib/cjs/ChangedEntities.js +9 -9
  43. package/lib/cjs/ChangesetProps.d.ts +98 -98
  44. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  45. package/lib/cjs/ChangesetProps.js +22 -22
  46. package/lib/cjs/ChangesetProps.js.map +1 -1
  47. package/lib/cjs/ClipStyle.d.ts +89 -89
  48. package/lib/cjs/ClipStyle.js +121 -123
  49. package/lib/cjs/ClipStyle.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +278 -277
  51. package/lib/cjs/Code.d.ts.map +1 -1
  52. package/lib/cjs/Code.js +271 -269
  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/ColorDef.d.ts +210 -208
  57. package/lib/cjs/ColorDef.d.ts.map +1 -1
  58. package/lib/cjs/ColorDef.js +572 -571
  59. package/lib/cjs/ColorDef.js.map +1 -1
  60. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  61. package/lib/cjs/CommonLoggerCategory.js +26 -26
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  64. package/lib/cjs/ConcurrentQuery.js +552 -552
  65. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  66. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  67. package/lib/cjs/ContextRealityModel.js +371 -373
  68. package/lib/cjs/ContextRealityModel.js.map +1 -1
  69. package/lib/cjs/DisplayStyleSettings.d.ts +593 -588
  70. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  71. package/lib/cjs/DisplayStyleSettings.js +990 -985
  72. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  73. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  74. package/lib/cjs/ECSchemaProps.js +9 -9
  75. package/lib/cjs/ECSqlReader.d.ts +72 -70
  76. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  77. package/lib/cjs/ECSqlReader.js +297 -280
  78. package/lib/cjs/ECSqlReader.js.map +1 -1
  79. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  80. package/lib/cjs/ECSqlTypes.js +189 -189
  81. package/lib/cjs/ElementMesh.d.ts +39 -39
  82. package/lib/cjs/ElementMesh.js +56 -56
  83. package/lib/cjs/ElementProps.d.ts +483 -483
  84. package/lib/cjs/ElementProps.d.ts.map +1 -1
  85. package/lib/cjs/ElementProps.js +99 -99
  86. package/lib/cjs/ElementProps.js.map +1 -1
  87. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  88. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  89. package/lib/cjs/EntityProps.d.ts +177 -177
  90. package/lib/cjs/EntityProps.d.ts.map +1 -1
  91. package/lib/cjs/EntityProps.js +113 -113
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.d.ts.map +1 -1
  94. package/lib/cjs/EntityReference.js +56 -56
  95. package/lib/cjs/Environment.d.ts +74 -61
  96. package/lib/cjs/Environment.d.ts.map +1 -1
  97. package/lib/cjs/Environment.js +78 -73
  98. package/lib/cjs/Environment.js.map +1 -1
  99. package/lib/cjs/FeatureIndex.d.ts +39 -39
  100. package/lib/cjs/FeatureIndex.js +63 -63
  101. package/lib/cjs/FeatureIndex.js.map +1 -1
  102. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  103. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  104. package/lib/cjs/FeatureSymbology.js +618 -614
  105. package/lib/cjs/FeatureSymbology.js.map +1 -1
  106. package/lib/cjs/FeatureTable.d.ts +255 -141
  107. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  108. package/lib/cjs/FeatureTable.js +484 -278
  109. package/lib/cjs/FeatureTable.js.map +1 -1
  110. package/lib/cjs/Fonts.d.ts +51 -51
  111. package/lib/cjs/Fonts.d.ts.map +1 -1
  112. package/lib/cjs/Fonts.js +53 -53
  113. package/lib/cjs/Frustum.d.ts +114 -114
  114. package/lib/cjs/Frustum.js +292 -292
  115. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  116. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  117. package/lib/cjs/GeoCoordinateServices.js +81 -80
  118. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  119. package/lib/cjs/GeometryContainment.d.ts +28 -28
  120. package/lib/cjs/GeometryContainment.js +9 -9
  121. package/lib/cjs/GeometryParams.d.ts +130 -130
  122. package/lib/cjs/GeometryParams.js +174 -174
  123. package/lib/cjs/GeometrySummary.d.ts +45 -45
  124. package/lib/cjs/GeometrySummary.js +23 -23
  125. package/lib/cjs/Gradient.d.ts +139 -139
  126. package/lib/cjs/Gradient.js +453 -455
  127. package/lib/cjs/Gradient.js.map +1 -1
  128. package/lib/cjs/GraphicParams.d.ts +58 -58
  129. package/lib/cjs/GraphicParams.js +85 -85
  130. package/lib/cjs/GraphicParams.js.map +1 -1
  131. package/lib/cjs/GroundPlane.d.ts +52 -52
  132. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  133. package/lib/cjs/GroundPlane.js +63 -64
  134. package/lib/cjs/GroundPlane.js.map +1 -1
  135. package/lib/cjs/HSLColor.d.ts +20 -20
  136. package/lib/cjs/HSLColor.js +32 -32
  137. package/lib/cjs/HSLColor.js.map +1 -1
  138. package/lib/cjs/HSVColor.d.ts +30 -30
  139. package/lib/cjs/HSVColor.js +59 -59
  140. package/lib/cjs/HSVColor.js.map +1 -1
  141. package/lib/cjs/HiddenLine.d.ts +97 -97
  142. package/lib/cjs/HiddenLine.js +160 -162
  143. package/lib/cjs/HiddenLine.js.map +1 -1
  144. package/lib/cjs/Hilite.d.ts +50 -50
  145. package/lib/cjs/Hilite.js +64 -64
  146. package/lib/cjs/Hilite.js.map +1 -1
  147. package/lib/cjs/IModel.d.ts +358 -359
  148. package/lib/cjs/IModel.d.ts.map +1 -1
  149. package/lib/cjs/IModel.js +347 -347
  150. package/lib/cjs/IModel.js.map +1 -1
  151. package/lib/cjs/IModelError.d.ts +42 -42
  152. package/lib/cjs/IModelError.d.ts.map +1 -1
  153. package/lib/cjs/IModelError.js +71 -71
  154. package/lib/cjs/IModelError.js.map +1 -1
  155. package/lib/cjs/IModelVersion.d.ts +68 -68
  156. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  157. package/lib/cjs/IModelVersion.js +79 -79
  158. package/lib/cjs/Image.d.ts +86 -86
  159. package/lib/cjs/Image.js +128 -128
  160. package/lib/cjs/Image.js.map +1 -1
  161. package/lib/cjs/IpcAppProps.d.ts +141 -141
  162. package/lib/cjs/IpcAppProps.js +23 -23
  163. package/lib/cjs/LightSettings.d.ts +224 -224
  164. package/lib/cjs/LightSettings.js +304 -309
  165. package/lib/cjs/LightSettings.js.map +1 -1
  166. package/lib/cjs/LinePixels.d.ts +34 -34
  167. package/lib/cjs/LinePixels.js +42 -42
  168. package/lib/cjs/Localization.d.ts +117 -113
  169. package/lib/cjs/Localization.d.ts.map +1 -1
  170. package/lib/cjs/Localization.js +33 -33
  171. package/lib/cjs/Localization.js.map +1 -1
  172. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  173. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  174. package/lib/cjs/MapImagerySettings.js +80 -80
  175. package/lib/cjs/MapImagerySettings.js.map +1 -1
  176. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  177. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  178. package/lib/cjs/MapLayerSettings.js +407 -411
  179. package/lib/cjs/MapLayerSettings.js.map +1 -1
  180. package/lib/cjs/MassProperties.d.ts +64 -64
  181. package/lib/cjs/MassProperties.js +23 -23
  182. package/lib/cjs/MaterialProps.d.ts +165 -153
  183. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  184. package/lib/cjs/MaterialProps.js +37 -35
  185. package/lib/cjs/MaterialProps.js.map +1 -1
  186. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  187. package/lib/cjs/ModelClipGroup.js +96 -98
  188. package/lib/cjs/ModelClipGroup.js.map +1 -1
  189. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  190. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  191. package/lib/cjs/ModelGeometryChanges.js +83 -83
  192. package/lib/cjs/ModelProps.d.ts +67 -67
  193. package/lib/cjs/ModelProps.js +9 -9
  194. package/lib/cjs/NativeAppProps.d.ts +122 -122
  195. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  196. package/lib/cjs/NativeAppProps.js +30 -30
  197. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  198. package/lib/cjs/OctEncodedNormal.js +98 -98
  199. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  200. package/lib/cjs/PlanProjectionSettings.js +63 -63
  201. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  202. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  203. package/lib/cjs/PlanarClipMask.js +136 -136
  204. package/lib/cjs/PlanarClipMask.js.map +1 -1
  205. package/lib/cjs/QPoint.d.ts +479 -479
  206. package/lib/cjs/QPoint.js +824 -826
  207. package/lib/cjs/QPoint.js.map +1 -1
  208. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  209. package/lib/cjs/RealityDataAccessProps.js +19 -19
  210. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  211. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  212. package/lib/cjs/RealityModelDisplaySettings.js +141 -142
  213. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  214. package/lib/cjs/Render.d.ts +89 -89
  215. package/lib/cjs/Render.js +177 -177
  216. package/lib/cjs/RenderMaterial.d.ts +58 -58
  217. package/lib/cjs/RenderMaterial.js +75 -76
  218. package/lib/cjs/RenderMaterial.js.map +1 -1
  219. package/lib/cjs/RenderSchedule.d.ts +557 -543
  220. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  221. package/lib/cjs/RenderSchedule.js +1028 -1002
  222. package/lib/cjs/RenderSchedule.js.map +1 -1
  223. package/lib/cjs/RenderTexture.d.ts +70 -70
  224. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  225. package/lib/cjs/RenderTexture.js +59 -59
  226. package/lib/cjs/RenderTexture.js.map +1 -1
  227. package/lib/cjs/RgbColor.d.ts +47 -47
  228. package/lib/cjs/RgbColor.js +77 -77
  229. package/lib/cjs/RpcInterface.d.ts +42 -33
  230. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  231. package/lib/cjs/RpcInterface.js +158 -137
  232. package/lib/cjs/RpcInterface.js.map +1 -1
  233. package/lib/cjs/RpcManager.d.ts +40 -40
  234. package/lib/cjs/RpcManager.js +55 -55
  235. package/lib/cjs/RpcManager.js.map +1 -1
  236. package/lib/cjs/SessionProps.d.ts +16 -16
  237. package/lib/cjs/SessionProps.js +9 -9
  238. package/lib/cjs/SkyBox.d.ts +217 -215
  239. package/lib/cjs/SkyBox.d.ts.map +1 -1
  240. package/lib/cjs/SkyBox.js +209 -210
  241. package/lib/cjs/SkyBox.js.map +1 -1
  242. package/lib/cjs/Snapping.d.ts +49 -49
  243. package/lib/cjs/Snapping.js +9 -9
  244. package/lib/cjs/SolarCalculate.d.ts +27 -27
  245. package/lib/cjs/SolarCalculate.js +211 -211
  246. package/lib/cjs/SolarShadows.d.ts +35 -35
  247. package/lib/cjs/SolarShadows.js +61 -62
  248. package/lib/cjs/SolarShadows.js.map +1 -1
  249. package/lib/cjs/SpatialClassification.d.ts +208 -208
  250. package/lib/cjs/SpatialClassification.js +339 -340
  251. package/lib/cjs/SpatialClassification.js.map +1 -1
  252. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  253. package/lib/cjs/SubCategoryAppearance.js +96 -96
  254. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  255. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  256. package/lib/cjs/SubCategoryOverride.js +104 -104
  257. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  258. package/lib/cjs/TerrainSettings.d.ts +82 -82
  259. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  260. package/lib/cjs/TerrainSettings.js +100 -102
  261. package/lib/cjs/TerrainSettings.js.map +1 -1
  262. package/lib/cjs/TextureMapping.d.ts +151 -118
  263. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  264. package/lib/cjs/TextureMapping.js +180 -174
  265. package/lib/cjs/TextureMapping.js.map +1 -1
  266. package/lib/cjs/TextureProps.d.ts +65 -65
  267. package/lib/cjs/TextureProps.js +28 -28
  268. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  269. package/lib/cjs/ThematicDisplay.js +343 -344
  270. package/lib/cjs/ThematicDisplay.js.map +1 -1
  271. package/lib/cjs/Thumbnail.d.ts +26 -26
  272. package/lib/cjs/Thumbnail.js +9 -9
  273. package/lib/cjs/TileProps.d.ts +88 -82
  274. package/lib/cjs/TileProps.d.ts.map +1 -1
  275. package/lib/cjs/TileProps.js +29 -29
  276. package/lib/cjs/TileProps.js.map +1 -1
  277. package/lib/cjs/Tween.d.ts +191 -191
  278. package/lib/cjs/Tween.d.ts.map +1 -1
  279. package/lib/cjs/Tween.js +570 -570
  280. package/lib/cjs/TxnAction.d.ts +21 -21
  281. package/lib/cjs/TxnAction.js +29 -29
  282. package/lib/cjs/ViewDetails.d.ts +125 -125
  283. package/lib/cjs/ViewDetails.js +166 -166
  284. package/lib/cjs/ViewDetails.js.map +1 -1
  285. package/lib/cjs/ViewFlags.d.ts +287 -287
  286. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  287. package/lib/cjs/ViewFlags.js +367 -368
  288. package/lib/cjs/ViewFlags.js.map +1 -1
  289. package/lib/cjs/ViewProps.d.ts +205 -205
  290. package/lib/cjs/ViewProps.js +9 -9
  291. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  292. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  293. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  294. package/lib/cjs/core-common.d.ts +244 -244
  295. package/lib/cjs/core-common.d.ts.map +1 -1
  296. package/lib/cjs/core-common.js +264 -260
  297. package/lib/cjs/core-common.js.map +1 -1
  298. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  299. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  301. package/lib/cjs/domains/GenericElementProps.js +9 -9
  302. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  303. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +203 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  308. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
  316. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  317. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  318. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  320. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  321. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  322. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  323. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  324. package/lib/cjs/geometry/FrustumPlanes.d.ts +83 -81
  325. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  326. package/lib/cjs/geometry/FrustumPlanes.js +227 -193
  327. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  329. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  330. package/lib/cjs/geometry/GeodeticDatum.js +400 -401
  331. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  332. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  333. package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -72
  334. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  335. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  336. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  337. package/lib/cjs/geometry/GeometryStream.js +468 -469
  338. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  339. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  340. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  341. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  342. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  343. package/lib/cjs/geometry/LineStyle.js +129 -129
  344. package/lib/cjs/geometry/Placement.d.ts +95 -95
  345. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  346. package/lib/cjs/geometry/Placement.js +131 -131
  347. package/lib/cjs/geometry/Projection.d.ts +251 -251
  348. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  349. package/lib/cjs/geometry/Projection.js +198 -198
  350. package/lib/cjs/geometry/Projection.js.map +1 -1
  351. package/lib/cjs/geometry/TextString.d.ts +55 -55
  352. package/lib/cjs/geometry/TextString.js +65 -65
  353. package/lib/cjs/geometry/TextString.js.map +1 -1
  354. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  355. package/lib/cjs/ipc/IpcSession.js +27 -27
  356. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  357. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  358. package/lib/cjs/ipc/IpcSocket.js +16 -16
  359. package/lib/cjs/ipc/IpcWebSocket.d.ts +60 -61
  360. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  361. package/lib/cjs/ipc/IpcWebSocket.js +148 -151
  362. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  363. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  364. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  365. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  366. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  367. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  368. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
  369. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  371. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  372. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  373. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  374. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
  375. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  376. package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
  377. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  378. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  379. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  380. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  381. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  382. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  383. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  384. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  385. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  386. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  387. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  388. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  389. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  390. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  391. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  392. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  393. package/lib/cjs/rpc/core/RpcControl.js +150 -145
  394. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  395. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  396. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  397. package/lib/cjs/rpc/core/RpcInvocation.js +256 -258
  398. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  399. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  400. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  401. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  402. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  403. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  404. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  406. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
  407. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  409. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  411. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  413. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  414. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  415. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  416. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  417. package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
  418. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  419. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  420. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  421. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  422. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  424. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  425. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  426. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  427. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  428. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  429. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  430. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  431. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  432. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  433. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  434. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
  435. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  436. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  437. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
  438. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  439. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  440. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  441. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  442. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  443. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  444. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  445. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  446. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  447. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  448. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  449. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  450. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  451. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  452. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  453. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  454. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  455. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  456. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  457. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  458. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  459. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  460. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  461. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  462. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  463. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  464. package/lib/cjs/tile/ElementGraphics.js +9 -9
  465. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  466. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  467. package/lib/cjs/tile/GltfTileIO.js +109 -109
  468. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  469. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  470. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  471. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  472. package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
  473. package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
  474. package/lib/cjs/tile/IModelTileIO.js +97 -95
  475. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  476. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  477. package/lib/cjs/tile/PntsTileIO.js +26 -26
  478. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  479. package/lib/cjs/tile/TileIO.d.ts +66 -66
  480. package/lib/cjs/tile/TileIO.js +118 -118
  481. package/lib/cjs/tile/TileMetadata.d.ts +240 -228
  482. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  483. package/lib/cjs/tile/TileMetadata.js +693 -676
  484. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  485. package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
  486. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
  487. package/lib/cjs/tile/Tileset3dSchema.js +10 -0
  488. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
  489. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  490. package/lib/esm/AmbientOcclusion.js +52 -52
  491. package/lib/esm/AnalysisStyle.d.ts +134 -134
  492. package/lib/esm/AnalysisStyle.js +160 -159
  493. package/lib/esm/AnalysisStyle.js.map +1 -1
  494. package/lib/esm/Atmosphere.d.ts +99 -0
  495. package/lib/esm/Atmosphere.d.ts.map +1 -0
  496. package/lib/esm/Atmosphere.js +131 -0
  497. package/lib/esm/Atmosphere.js.map +1 -0
  498. package/lib/esm/AuthorizationClient.d.ts +17 -17
  499. package/lib/esm/AuthorizationClient.js +8 -8
  500. package/lib/esm/BackendTypes.d.ts +13 -12
  501. package/lib/esm/BackendTypes.d.ts.map +1 -1
  502. package/lib/esm/BackendTypes.js +8 -8
  503. package/lib/esm/BackendTypes.js.map +1 -1
  504. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  505. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  506. package/lib/esm/BackgroundMapProvider.js +63 -64
  507. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  508. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  509. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  510. package/lib/esm/BackgroundMapSettings.js +150 -152
  511. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  512. package/lib/esm/Base64EncodedString.d.ts +32 -32
  513. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  514. package/lib/esm/Base64EncodedString.js +63 -63
  515. package/lib/esm/Base64EncodedString.js.map +1 -1
  516. package/lib/esm/BlobReader.d.ts +31 -31
  517. package/lib/esm/BlobReader.js +79 -79
  518. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  519. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  520. package/lib/esm/BriefcaseTypes.js +92 -92
  521. package/lib/esm/BriefcaseTypes.js.map +1 -1
  522. package/lib/esm/Camera.d.ts +42 -42
  523. package/lib/esm/Camera.js +58 -58
  524. package/lib/esm/Camera.js.map +1 -1
  525. package/lib/esm/ChangedElements.d.ts +85 -85
  526. package/lib/esm/ChangedElements.js +20 -20
  527. package/lib/esm/ChangedEntities.d.ts +45 -45
  528. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  529. package/lib/esm/ChangedEntities.js +8 -8
  530. package/lib/esm/ChangesetProps.d.ts +98 -98
  531. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  532. package/lib/esm/ChangesetProps.js +19 -19
  533. package/lib/esm/ChangesetProps.js.map +1 -1
  534. package/lib/esm/ClipStyle.d.ts +89 -89
  535. package/lib/esm/ClipStyle.js +118 -118
  536. package/lib/esm/ClipStyle.js.map +1 -1
  537. package/lib/esm/Code.d.ts +278 -277
  538. package/lib/esm/Code.d.ts.map +1 -1
  539. package/lib/esm/Code.js +266 -264
  540. package/lib/esm/Code.js.map +1 -1
  541. package/lib/esm/ColorByName.d.ts +161 -161
  542. package/lib/esm/ColorByName.js +166 -166
  543. package/lib/esm/ColorDef.d.ts +210 -208
  544. package/lib/esm/ColorDef.d.ts.map +1 -1
  545. package/lib/esm/ColorDef.js +569 -567
  546. package/lib/esm/ColorDef.js.map +1 -1
  547. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  548. package/lib/esm/CommonLoggerCategory.js +23 -23
  549. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  550. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  551. package/lib/esm/ConcurrentQuery.js +545 -545
  552. package/lib/esm/ConcurrentQuery.js.map +1 -1
  553. package/lib/esm/ContextRealityModel.d.ts +303 -303
  554. package/lib/esm/ContextRealityModel.js +366 -368
  555. package/lib/esm/ContextRealityModel.js.map +1 -1
  556. package/lib/esm/DisplayStyleSettings.d.ts +593 -588
  557. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  558. package/lib/esm/DisplayStyleSettings.js +985 -980
  559. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  560. package/lib/esm/ECSchemaProps.d.ts +39 -39
  561. package/lib/esm/ECSchemaProps.js +8 -8
  562. package/lib/esm/ECSqlReader.d.ts +72 -70
  563. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  564. package/lib/esm/ECSqlReader.js +293 -275
  565. package/lib/esm/ECSqlReader.js.map +1 -1
  566. package/lib/esm/ECSqlTypes.d.ts +128 -128
  567. package/lib/esm/ECSqlTypes.js +185 -185
  568. package/lib/esm/ElementMesh.d.ts +39 -39
  569. package/lib/esm/ElementMesh.js +52 -52
  570. package/lib/esm/ElementProps.d.ts +483 -483
  571. package/lib/esm/ElementProps.d.ts.map +1 -1
  572. package/lib/esm/ElementProps.js +93 -92
  573. package/lib/esm/ElementProps.js.map +1 -1
  574. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  575. package/lib/esm/EmphasizeElementsProps.js +22 -22
  576. package/lib/esm/EntityProps.d.ts +177 -177
  577. package/lib/esm/EntityProps.d.ts.map +1 -1
  578. package/lib/esm/EntityProps.js +108 -108
  579. package/lib/esm/EntityReference.d.ts +51 -51
  580. package/lib/esm/EntityReference.d.ts.map +1 -1
  581. package/lib/esm/EntityReference.js +52 -52
  582. package/lib/esm/Environment.d.ts +74 -61
  583. package/lib/esm/Environment.d.ts.map +1 -1
  584. package/lib/esm/Environment.js +75 -69
  585. package/lib/esm/Environment.js.map +1 -1
  586. package/lib/esm/FeatureIndex.d.ts +39 -39
  587. package/lib/esm/FeatureIndex.js +57 -57
  588. package/lib/esm/FeatureIndex.js.map +1 -1
  589. package/lib/esm/FeatureSymbology.d.ts +449 -444
  590. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  591. package/lib/esm/FeatureSymbology.js +615 -609
  592. package/lib/esm/FeatureSymbology.js.map +1 -1
  593. package/lib/esm/FeatureTable.d.ts +255 -141
  594. package/lib/esm/FeatureTable.d.ts.map +1 -1
  595. package/lib/esm/FeatureTable.js +476 -272
  596. package/lib/esm/FeatureTable.js.map +1 -1
  597. package/lib/esm/Fonts.d.ts +51 -51
  598. package/lib/esm/Fonts.d.ts.map +1 -1
  599. package/lib/esm/Fonts.js +49 -49
  600. package/lib/esm/Frustum.d.ts +114 -114
  601. package/lib/esm/Frustum.js +288 -288
  602. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  603. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  604. package/lib/esm/GeoCoordinateServices.js +77 -76
  605. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  606. package/lib/esm/GeometryContainment.d.ts +28 -28
  607. package/lib/esm/GeometryContainment.js +8 -8
  608. package/lib/esm/GeometryParams.d.ts +130 -130
  609. package/lib/esm/GeometryParams.js +170 -170
  610. package/lib/esm/GeometrySummary.d.ts +45 -45
  611. package/lib/esm/GeometrySummary.js +20 -20
  612. package/lib/esm/Gradient.d.ts +139 -139
  613. package/lib/esm/Gradient.js +450 -452
  614. package/lib/esm/Gradient.js.map +1 -1
  615. package/lib/esm/GraphicParams.d.ts +58 -58
  616. package/lib/esm/GraphicParams.js +81 -81
  617. package/lib/esm/GraphicParams.js.map +1 -1
  618. package/lib/esm/GroundPlane.d.ts +52 -52
  619. package/lib/esm/GroundPlane.d.ts.map +1 -1
  620. package/lib/esm/GroundPlane.js +60 -60
  621. package/lib/esm/GroundPlane.js.map +1 -1
  622. package/lib/esm/HSLColor.d.ts +20 -20
  623. package/lib/esm/HSLColor.js +28 -28
  624. package/lib/esm/HSLColor.js.map +1 -1
  625. package/lib/esm/HSVColor.d.ts +30 -30
  626. package/lib/esm/HSVColor.js +55 -55
  627. package/lib/esm/HSVColor.js.map +1 -1
  628. package/lib/esm/HiddenLine.d.ts +97 -97
  629. package/lib/esm/HiddenLine.js +157 -159
  630. package/lib/esm/HiddenLine.js.map +1 -1
  631. package/lib/esm/Hilite.d.ts +50 -50
  632. package/lib/esm/Hilite.js +61 -61
  633. package/lib/esm/Hilite.js.map +1 -1
  634. package/lib/esm/IModel.d.ts +358 -359
  635. package/lib/esm/IModel.d.ts.map +1 -1
  636. package/lib/esm/IModel.js +343 -342
  637. package/lib/esm/IModel.js.map +1 -1
  638. package/lib/esm/IModelError.d.ts +42 -42
  639. package/lib/esm/IModelError.d.ts.map +1 -1
  640. package/lib/esm/IModelError.js +56 -56
  641. package/lib/esm/IModelError.js.map +1 -1
  642. package/lib/esm/IModelVersion.d.ts +68 -68
  643. package/lib/esm/IModelVersion.d.ts.map +1 -1
  644. package/lib/esm/IModelVersion.js +75 -75
  645. package/lib/esm/Image.d.ts +86 -86
  646. package/lib/esm/Image.js +120 -120
  647. package/lib/esm/Image.js.map +1 -1
  648. package/lib/esm/IpcAppProps.d.ts +141 -141
  649. package/lib/esm/IpcAppProps.js +19 -19
  650. package/lib/esm/LightSettings.d.ts +224 -224
  651. package/lib/esm/LightSettings.js +297 -301
  652. package/lib/esm/LightSettings.js.map +1 -1
  653. package/lib/esm/LinePixels.d.ts +34 -34
  654. package/lib/esm/LinePixels.js +39 -39
  655. package/lib/esm/Localization.d.ts +117 -113
  656. package/lib/esm/Localization.d.ts.map +1 -1
  657. package/lib/esm/Localization.js +29 -29
  658. package/lib/esm/Localization.js.map +1 -1
  659. package/lib/esm/MapImagerySettings.d.ts +62 -62
  660. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  661. package/lib/esm/MapImagerySettings.js +76 -76
  662. package/lib/esm/MapImagerySettings.js.map +1 -1
  663. package/lib/esm/MapLayerSettings.d.ts +272 -272
  664. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  665. package/lib/esm/MapLayerSettings.js +399 -403
  666. package/lib/esm/MapLayerSettings.js.map +1 -1
  667. package/lib/esm/MassProperties.d.ts +64 -64
  668. package/lib/esm/MassProperties.js +20 -20
  669. package/lib/esm/MaterialProps.d.ts +165 -153
  670. package/lib/esm/MaterialProps.d.ts.map +1 -1
  671. package/lib/esm/MaterialProps.js +34 -32
  672. package/lib/esm/MaterialProps.js.map +1 -1
  673. package/lib/esm/ModelClipGroup.d.ts +67 -67
  674. package/lib/esm/ModelClipGroup.js +91 -93
  675. package/lib/esm/ModelClipGroup.js.map +1 -1
  676. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  677. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  678. package/lib/esm/ModelGeometryChanges.js +80 -80
  679. package/lib/esm/ModelProps.d.ts +67 -67
  680. package/lib/esm/ModelProps.js +8 -8
  681. package/lib/esm/NativeAppProps.d.ts +122 -122
  682. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  683. package/lib/esm/NativeAppProps.js +27 -27
  684. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  685. package/lib/esm/OctEncodedNormal.js +93 -93
  686. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  687. package/lib/esm/PlanProjectionSettings.js +59 -59
  688. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  689. package/lib/esm/PlanarClipMask.d.ts +177 -177
  690. package/lib/esm/PlanarClipMask.js +133 -132
  691. package/lib/esm/PlanarClipMask.js.map +1 -1
  692. package/lib/esm/QPoint.d.ts +479 -479
  693. package/lib/esm/QPoint.js +813 -815
  694. package/lib/esm/QPoint.js.map +1 -1
  695. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  696. package/lib/esm/RealityDataAccessProps.js +16 -16
  697. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  698. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  699. package/lib/esm/RealityModelDisplaySettings.js +138 -137
  700. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  701. package/lib/esm/Render.d.ts +89 -89
  702. package/lib/esm/Render.js +165 -165
  703. package/lib/esm/RenderMaterial.d.ts +58 -58
  704. package/lib/esm/RenderMaterial.js +71 -72
  705. package/lib/esm/RenderMaterial.js.map +1 -1
  706. package/lib/esm/RenderSchedule.d.ts +557 -543
  707. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  708. package/lib/esm/RenderSchedule.js +1025 -999
  709. package/lib/esm/RenderSchedule.js.map +1 -1
  710. package/lib/esm/RenderTexture.d.ts +70 -70
  711. package/lib/esm/RenderTexture.d.ts.map +1 -1
  712. package/lib/esm/RenderTexture.js +55 -55
  713. package/lib/esm/RenderTexture.js.map +1 -1
  714. package/lib/esm/RgbColor.d.ts +47 -47
  715. package/lib/esm/RgbColor.js +73 -73
  716. package/lib/esm/RpcInterface.d.ts +42 -33
  717. package/lib/esm/RpcInterface.d.ts.map +1 -1
  718. package/lib/esm/RpcInterface.js +154 -133
  719. package/lib/esm/RpcInterface.js.map +1 -1
  720. package/lib/esm/RpcManager.d.ts +40 -40
  721. package/lib/esm/RpcManager.js +51 -51
  722. package/lib/esm/RpcManager.js.map +1 -1
  723. package/lib/esm/SessionProps.d.ts +16 -16
  724. package/lib/esm/SessionProps.js +8 -8
  725. package/lib/esm/SkyBox.d.ts +217 -215
  726. package/lib/esm/SkyBox.d.ts.map +1 -1
  727. package/lib/esm/SkyBox.js +204 -203
  728. package/lib/esm/SkyBox.js.map +1 -1
  729. package/lib/esm/Snapping.d.ts +49 -49
  730. package/lib/esm/Snapping.js +8 -8
  731. package/lib/esm/SolarCalculate.d.ts +27 -27
  732. package/lib/esm/SolarCalculate.js +204 -204
  733. package/lib/esm/SolarShadows.d.ts +35 -35
  734. package/lib/esm/SolarShadows.js +58 -58
  735. package/lib/esm/SolarShadows.js.map +1 -1
  736. package/lib/esm/SpatialClassification.d.ts +208 -208
  737. package/lib/esm/SpatialClassification.js +333 -334
  738. package/lib/esm/SpatialClassification.js.map +1 -1
  739. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  740. package/lib/esm/SubCategoryAppearance.js +93 -92
  741. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  742. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  743. package/lib/esm/SubCategoryOverride.js +101 -100
  744. package/lib/esm/SubCategoryOverride.js.map +1 -1
  745. package/lib/esm/TerrainSettings.d.ts +82 -82
  746. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  747. package/lib/esm/TerrainSettings.js +96 -98
  748. package/lib/esm/TerrainSettings.js.map +1 -1
  749. package/lib/esm/TextureMapping.d.ts +151 -118
  750. package/lib/esm/TextureMapping.d.ts.map +1 -1
  751. package/lib/esm/TextureMapping.js +176 -170
  752. package/lib/esm/TextureMapping.js.map +1 -1
  753. package/lib/esm/TextureProps.d.ts +65 -65
  754. package/lib/esm/TextureProps.js +25 -25
  755. package/lib/esm/ThematicDisplay.d.ts +230 -230
  756. package/lib/esm/ThematicDisplay.js +337 -337
  757. package/lib/esm/ThematicDisplay.js.map +1 -1
  758. package/lib/esm/Thumbnail.d.ts +26 -26
  759. package/lib/esm/Thumbnail.js +8 -8
  760. package/lib/esm/TileProps.d.ts +88 -82
  761. package/lib/esm/TileProps.d.ts.map +1 -1
  762. package/lib/esm/TileProps.js +25 -25
  763. package/lib/esm/TileProps.js.map +1 -1
  764. package/lib/esm/Tween.d.ts +191 -191
  765. package/lib/esm/Tween.d.ts.map +1 -1
  766. package/lib/esm/Tween.js +565 -565
  767. package/lib/esm/TxnAction.d.ts +21 -21
  768. package/lib/esm/TxnAction.js +26 -26
  769. package/lib/esm/ViewDetails.d.ts +125 -125
  770. package/lib/esm/ViewDetails.js +162 -161
  771. package/lib/esm/ViewDetails.js.map +1 -1
  772. package/lib/esm/ViewFlags.d.ts +287 -287
  773. package/lib/esm/ViewFlags.d.ts.map +1 -1
  774. package/lib/esm/ViewFlags.js +364 -364
  775. package/lib/esm/ViewFlags.js.map +1 -1
  776. package/lib/esm/ViewProps.d.ts +205 -205
  777. package/lib/esm/ViewProps.js +8 -8
  778. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  779. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  780. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  781. package/lib/esm/core-common.d.ts +244 -244
  782. package/lib/esm/core-common.d.ts.map +1 -1
  783. package/lib/esm/core-common.js +248 -248
  784. package/lib/esm/core-common.js.map +1 -1
  785. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  786. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  787. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  788. package/lib/esm/domains/GenericElementProps.js +8 -8
  789. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  790. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  791. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  792. package/lib/esm/geometry/AreaPattern.js +200 -201
  793. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  794. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  795. package/lib/esm/geometry/BoundingSphere.js +40 -40
  796. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  797. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  798. package/lib/esm/geometry/Cartographic.js +341 -340
  799. package/lib/esm/geometry/Cartographic.js.map +1 -1
  800. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  801. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  802. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
  803. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  804. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  805. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  806. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  807. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  808. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  809. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  810. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  811. package/lib/esm/geometry/FrustumPlanes.d.ts +83 -81
  812. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  813. package/lib/esm/geometry/FrustumPlanes.js +223 -189
  814. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  815. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  816. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  817. package/lib/esm/geometry/GeodeticDatum.js +389 -390
  818. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  819. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  820. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
  821. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  822. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  823. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  824. package/lib/esm/geometry/GeometryStream.js +463 -464
  825. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  826. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  827. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  828. package/lib/esm/geometry/ImageGraphic.js +93 -93
  829. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  830. package/lib/esm/geometry/LineStyle.js +126 -126
  831. package/lib/esm/geometry/Placement.d.ts +95 -95
  832. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  833. package/lib/esm/geometry/Placement.js +126 -126
  834. package/lib/esm/geometry/Projection.d.ts +251 -251
  835. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  836. package/lib/esm/geometry/Projection.js +192 -192
  837. package/lib/esm/geometry/Projection.js.map +1 -1
  838. package/lib/esm/geometry/TextString.d.ts +55 -55
  839. package/lib/esm/geometry/TextString.js +61 -61
  840. package/lib/esm/geometry/TextString.js.map +1 -1
  841. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  842. package/lib/esm/ipc/IpcSession.js +23 -23
  843. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  844. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  845. package/lib/esm/ipc/IpcSocket.js +12 -12
  846. package/lib/esm/ipc/IpcWebSocket.d.ts +60 -61
  847. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  848. package/lib/esm/ipc/IpcWebSocket.js +143 -145
  849. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  850. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  851. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  852. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  853. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  854. package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  855. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -44
  856. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  857. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  858. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  859. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  860. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  861. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
  862. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  863. package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
  864. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  865. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  866. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  867. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  868. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  869. package/lib/esm/rpc/TestRpcManager.js +36 -36
  870. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  871. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  872. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  874. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  875. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  876. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  877. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  878. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  879. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  880. package/lib/esm/rpc/core/RpcControl.js +144 -138
  881. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  882. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  883. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  884. package/lib/esm/rpc/core/RpcInvocation.js +253 -254
  885. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  886. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  887. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  888. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  889. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  890. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  891. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  892. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  893. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
  894. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  895. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  896. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  897. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  898. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  899. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  900. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  901. package/lib/esm/rpc/core/RpcPush.js +121 -119
  902. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  903. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  904. package/lib/esm/rpc/core/RpcRegistry.js +194 -195
  905. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  906. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  907. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  908. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  909. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  910. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  911. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  912. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  913. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  914. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  915. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  916. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  917. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  918. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  919. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  920. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  921. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
  922. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  923. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  924. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
  925. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  926. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  927. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  928. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  929. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  930. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  931. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  932. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  933. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  934. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  935. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  936. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  937. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  938. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  939. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  940. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  941. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  942. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  943. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  944. package/lib/esm/tile/B3dmTileIO.js +62 -62
  945. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  946. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  947. package/lib/esm/tile/CompositeTileIO.js +22 -22
  948. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  949. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  950. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  951. package/lib/esm/tile/ElementGraphics.js +8 -8
  952. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  953. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  954. package/lib/esm/tile/GltfTileIO.js +105 -105
  955. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  956. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  957. package/lib/esm/tile/I3dmTileIO.js +36 -36
  958. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  959. package/lib/esm/tile/IModelTileIO.d.ts +77 -75
  960. package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
  961. package/lib/esm/tile/IModelTileIO.js +93 -90
  962. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  963. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  964. package/lib/esm/tile/PntsTileIO.js +22 -22
  965. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  966. package/lib/esm/tile/TileIO.d.ts +66 -66
  967. package/lib/esm/tile/TileIO.js +110 -110
  968. package/lib/esm/tile/TileMetadata.d.ts +240 -228
  969. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  970. package/lib/esm/tile/TileMetadata.js +677 -661
  971. package/lib/esm/tile/TileMetadata.js.map +1 -1
  972. package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
  973. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
  974. package/lib/esm/tile/Tileset3dSchema.js +9 -0
  975. package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
  976. package/package.json +15 -18
  977. package/lib/cjs/CloudStorage.d.ts +0 -63
  978. package/lib/cjs/CloudStorage.d.ts.map +0 -1
  979. package/lib/cjs/CloudStorage.js +0 -114
  980. package/lib/cjs/CloudStorage.js.map +0 -1
  981. package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
  982. package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
  983. package/lib/cjs/CloudStorageTileCache.js +0 -67
  984. package/lib/cjs/CloudStorageTileCache.js.map +0 -1
  985. package/lib/esm/CloudStorage.d.ts +0 -63
  986. package/lib/esm/CloudStorage.d.ts.map +0 -1
  987. package/lib/esm/CloudStorage.js +0 -110
  988. package/lib/esm/CloudStorage.js.map +0 -1
  989. package/lib/esm/CloudStorageTileCache.d.ts +0 -28
  990. package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
  991. package/lib/esm/CloudStorageTileCache.js +0 -63
  992. package/lib/esm/CloudStorageTileCache.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRequest.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 { BeEvent, BentleyStatus, Guid } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps } from \"../../IModel\";\r\nimport { BackendError, IModelError, NoContentError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcProtocolEvent, RpcRequestEvent, RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\r\nimport { RpcNotFoundResponse } from \"./RpcControl\";\r\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\r\nimport { RpcOperation } from \"./RpcOperation\";\r\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion } from \"./RpcProtocol\";\r\nimport { CURRENT_REQUEST } from \"./RpcRegistry\";\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n// cspell:ignore csrf\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport const aggregateLoad = { lastRequest: 0, lastResponse: 0 };\r\n\r\n/** @internal */\r\nexport class ResponseLike implements Response {\r\n private _data: Promise<any>;\r\n public get body() { return null; }\r\n public async arrayBuffer(): Promise<ArrayBuffer> { return this._data; }\r\n public async blob(): Promise<Blob> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public async formData(): Promise<FormData> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public async json(): Promise<any> { return this._data; }\r\n public async text(): Promise<string> { return this._data; }\r\n public get bodyUsed() { return false; }\r\n public get headers(): Headers { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public get ok(): boolean { return this.status >= 200 && this.status <= 299; }\r\n public get redirected() { return false; }\r\n public get status() { return 200; }\r\n public get statusText() { return \"\"; }\r\n public get trailer(): Promise<Headers> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public get type(): ResponseType { return \"basic\"; }\r\n public get url() { return \"\"; }\r\n public clone() { return { ...this }; }\r\n\r\n public constructor(data: any) {\r\n this._data = Promise.resolve(data);\r\n }\r\n}\r\n\r\n/** Supplies an IModelRpcProps for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestTokenSupplier_T = (request: RpcRequest) => IModelRpcProps | undefined;\r\n\r\n/** Supplies the initial retry interval for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestInitialRetryIntervalSupplier_T = (configuration: RpcConfiguration) => number;\r\n\r\n/** Notification callback for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestCallback_T = (request: RpcRequest) => void;\r\n\r\n/** Determines if caching is permitted for a RPC response.\r\n * @internal\r\n */\r\nexport type RpcResponseCachingCallback_T = (request: RpcRequest) => RpcResponseCacheControl;\r\n\r\n/** Runtime information related to the operation load of one or more RPC interfaces.\r\n * @internal\r\n */\r\nexport interface RpcOperationsProfile {\r\n readonly lastRequest: number;\r\n readonly lastResponse: number;\r\n}\r\n\r\n/** Handles RPC request events.\r\n * @internal\r\n */\r\nexport type RpcRequestEventHandler = (type: RpcRequestEvent, request: RpcRequest) => void;\r\n\r\n/** Resolves \"not found\" responses for RPC requests.\r\n * @internal\r\n */\r\nexport type RpcRequestNotFoundHandler = (request: RpcRequest, response: RpcNotFoundResponse, resubmit: () => void, reject: (reason: any) => void) => void;\r\n\r\nclass Cancellable<T> {\r\n public promise: Promise<T | undefined>;\r\n public cancel() { }\r\n\r\n public constructor(task: Promise<T>) {\r\n this.promise = new Promise((resolve, reject) => {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n this.cancel = () => resolve(undefined);\r\n task.then(resolve, reject);\r\n });\r\n }\r\n}\r\n\r\n/** A RPC operation request.\r\n * @internal\r\n */\r\nexport abstract class RpcRequest<TResponse = any> {\r\n private static _activeRequests: Map<string, RpcRequest> = new Map();\r\n private _resolve: (value?: TResponse | PromiseLike<TResponse> | undefined) => void = () => undefined;\r\n protected _resolveRaw: (value?: Response | PromiseLike<Response> | undefined) => void = () => undefined;\r\n private _reject: (reason?: any) => void = () => undefined;\r\n private _rejectRaw: (reason?: any) => void = () => undefined;\r\n private _created: number = 0;\r\n private _lastSubmitted: number = 0;\r\n private _lastUpdated: number = 0;\r\n\r\n /** @internal */\r\n public _status: RpcRequestStatus = RpcRequestStatus.Unknown;\r\n\r\n /** @internal */\r\n public _extendedStatus: string = \"\";\r\n\r\n private _connecting: boolean = false;\r\n private _active: boolean = true;\r\n private _hasRawListener = false;\r\n private _raw: ArrayBuffer | string | undefined = undefined;\r\n private _sending?: Cancellable<number>;\r\n private _attempts = 0;\r\n private _retryAfter: number | null = null;\r\n private _transientFaults = 0;\r\n protected _response: Response | undefined = undefined;\r\n protected _rawPromise: Promise<Response | undefined>;\r\n public responseProtocolVersion = RpcProtocolVersion.None;\r\n\r\n /** All RPC requests that are currently in flight. */\r\n public static get activeRequests(): ReadonlyMap<string, RpcRequest> { return this._activeRequests; }\r\n\r\n /** Events raised by RpcRequest. See [[RpcRequestEvent]] */\r\n public static readonly events: BeEvent<RpcRequestEventHandler> = new BeEvent();\r\n\r\n /** Resolvers for \"not found\" requests. See [[RpcRequestNotFoundHandler]] */\r\n public static readonly notFoundHandlers: BeEvent<RpcRequestNotFoundHandler> = new BeEvent();\r\n\r\n /** The aggregate operations profile of all active RPC interfaces. */\r\n public static get aggregateLoad(): RpcOperationsProfile { return aggregateLoad; }\r\n\r\n /**\r\n * The request for the current RPC operation.\r\n * @note The return value of this function is only reliable if program control was received from a RPC interface class member function that directly returns the result of calling RpcInterface.forward.\r\n */\r\n public static current(context: RpcInterface): RpcRequest {\r\n return (context as any)[CURRENT_REQUEST];\r\n }\r\n\r\n /** The unique identifier of this request. */\r\n public readonly id: string;\r\n\r\n /** The operation for this request. */\r\n public readonly operation: RpcOperation;\r\n\r\n /** The parameters for this request. */\r\n public parameters: any[];\r\n\r\n /** The RPC client instance for this request. */\r\n public readonly client: RpcInterface;\r\n\r\n /** Convenience access to the protocol of this request. */\r\n public readonly protocol: RpcProtocol;\r\n\r\n /** The implementation response for this request. */\r\n public readonly response: Promise<TResponse | undefined>;\r\n\r\n /** The status of this request. */\r\n public get status() { return this._status; }\r\n\r\n /** Extended status information for this request (if available). */\r\n public get extendedStatus() { return this._extendedStatus; }\r\n\r\n /** The last submission for this request. */\r\n public get lastSubmitted() { return this._lastSubmitted; }\r\n\r\n /** The last status update received for this request. */\r\n public get lastUpdated() { return this._lastUpdated; }\r\n\r\n /** The target interval (in milliseconds) between submission attempts for this request. */\r\n public retryInterval: number;\r\n\r\n /** Whether a connection is active for this request. */\r\n public get connecting() { return this._connecting; }\r\n\r\n /** Whether this request is pending. */\r\n public get pending(): boolean {\r\n switch (this.status) {\r\n case RpcRequestStatus.Submitted:\r\n case RpcRequestStatus.Pending: {\r\n return true;\r\n }\r\n\r\n default: {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n /** The elapsed time for this request. */\r\n public get elapsed(): number {\r\n return this._lastUpdated - this._created;\r\n }\r\n\r\n /** A protocol-specific path identifier for this request. */\r\n public path: string;\r\n\r\n /** A protocol-specific method identifier for this request. */\r\n public method: string;\r\n\r\n /** An attempt-specific value for when to next retry this request. */\r\n public get retryAfter() { return this._retryAfter; }\r\n\r\n /** Finds the first parameter of a given structural type if present. */\r\n public findParameterOfType<T>(requiredProperties: { [index: string]: string }): T | undefined {\r\n for (const param of this.parameters) {\r\n if (typeof (param) === \"object\" && param !== null) {\r\n for (const prop of Object.getOwnPropertyNames(requiredProperties)) {\r\n if (param.hasOwnProperty(prop) && typeof (param[prop]) === requiredProperties[prop]) {\r\n return param;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Finds the first IModelRpcProps parameter if present. */\r\n public findTokenPropsParameter(): IModelRpcProps | undefined {\r\n return this.findParameterOfType({ iModelId: \"string\" });\r\n\r\n }\r\n\r\n /** The raw implementation response for this request. */\r\n public get rawResponse(): Promise<Response | undefined> {\r\n this._hasRawListener = true;\r\n return this._rawPromise;\r\n }\r\n\r\n /** Constructs an RPC request. */\r\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\r\n this._created = new Date().getTime();\r\n this.path = \"\";\r\n this.method = \"\";\r\n this.client = client;\r\n this.protocol = client.configuration.protocol;\r\n this.operation = RpcOperation.lookup(client.constructor as any, operation);\r\n this.parameters = parameters;\r\n this.retryInterval = this.operation.policy.retryInterval(client.configuration);\r\n this.response = new Promise((resolve, reject) => {\r\n this._resolve = resolve;\r\n this._reject = reject;\r\n });\r\n\r\n this._rawPromise = new Promise((resolve, reject) => {\r\n this._resolveRaw = resolve;\r\n this._rejectRaw = reject;\r\n });\r\n\r\n this.id = RpcConfiguration.requestContext.getId(this) || Guid.createValue();\r\n this.setStatus(RpcRequestStatus.Created);\r\n this.operation.policy.requestCallback(this);\r\n }\r\n\r\n /** Override to send the request. */\r\n protected abstract send(): Promise<number>;\r\n\r\n /** Override to load response value. */\r\n protected abstract load(): Promise<RpcSerializedValue>;\r\n\r\n /** Override to set request header values. */\r\n protected abstract setHeader(name: string, value: string): void;\r\n\r\n /** Sets the last updated time for the request. */\r\n protected setLastUpdatedTime() {\r\n this._lastUpdated = new Date().getTime();\r\n }\r\n\r\n protected computeRetryAfter(attempts: number) {\r\n return (((Math.pow(2, attempts) - 1) / 2) * 500) + 500;\r\n }\r\n\r\n protected recordTransientFault() {\r\n ++this._transientFaults;\r\n }\r\n\r\n protected resetTransientFaultCount() {\r\n this._transientFaults = 0;\r\n }\r\n\r\n protected supportsStatusCategory() {\r\n if (!this.protocol.supportsStatusCategory) {\r\n return false;\r\n }\r\n\r\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.responseProtocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\r\n }\r\n\r\n /* @internal */\r\n public cancel() {\r\n if (typeof (this._sending) === \"undefined\") {\r\n return;\r\n }\r\n\r\n this._sending.cancel();\r\n this._sending = undefined;\r\n\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.setStatus(RpcRequestStatus.Cancelled);\r\n }\r\n\r\n /* @internal */\r\n public async submit(): Promise<void> {\r\n if (!this._active)\r\n return;\r\n\r\n this._lastSubmitted = new Date().getTime();\r\n this._retryAfter = null;\r\n ++this._attempts;\r\n\r\n if (this.status === RpcRequestStatus.Created || this.status === RpcRequestStatus.NotFound || this.status === RpcRequestStatus.Cancelled) {\r\n this.setStatus(RpcRequestStatus.Submitted);\r\n }\r\n\r\n try {\r\n this._connecting = true;\r\n RpcRequest._activeRequests.set(this.id, this);\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestCreated, this);\r\n this._sending = new Cancellable(this.setHeaders().then(async () => this.send()));\r\n this.operation.policy.sentCallback(this);\r\n\r\n const response = await this._sending.promise;\r\n if (typeof (response) === \"undefined\") {\r\n return;\r\n }\r\n\r\n this._sending = undefined;\r\n\r\n const status = this.protocol.getStatus(response);\r\n\r\n if (this._hasRawListener && status === RpcRequestStatus.Resolved && typeof (this._response) !== \"undefined\") {\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.resolveRaw();\r\n } else {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoading, this);\r\n\r\n if (status === RpcRequestStatus.Unknown) {\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.handleUnknownResponse(response);\r\n return;\r\n }\r\n\r\n const value = await this.load();\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\r\n RpcRequest._activeRequests.delete(this.id);\r\n this._connecting = false;\r\n this.handleResponse(response, value);\r\n }\r\n } catch (err) {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ConnectionErrorReceived, this, err);\r\n RpcRequest._activeRequests.delete(this.id);\r\n this._connecting = false;\r\n this.reject(err);\r\n }\r\n }\r\n\r\n protected handleUnknownResponse(code: number) {\r\n this.reject(new IModelError(BentleyStatus.ERROR, `Unknown response ${code}.`));\r\n }\r\n\r\n private handleResponse(code: number, value: RpcSerializedValue) {\r\n const protocolStatus = this.protocol.getStatus(code);\r\n const status = this.transformResponseStatus(protocolStatus, value);\r\n\r\n if (RpcRequestStatus.isTransientError(status)) {\r\n return this.handleTransientError(status);\r\n }\r\n\r\n switch (status) {\r\n case RpcRequestStatus.Resolved: {\r\n return this.handleResolved(value);\r\n }\r\n\r\n case RpcRequestStatus.Rejected: {\r\n return this.handleRejected(value);\r\n }\r\n\r\n case RpcRequestStatus.Pending: {\r\n return this.setPending(status, value.objects);\r\n }\r\n\r\n case RpcRequestStatus.NotFound: {\r\n return this.handleNotFound(status, value);\r\n }\r\n\r\n case RpcRequestStatus.NoContent: {\r\n return this.handleNoContent();\r\n }\r\n }\r\n }\r\n\r\n private transformResponseStatus(protocolStatus: RpcRequestStatus, value: RpcSerializedValue): RpcRequestStatus {\r\n if (!this.supportsStatusCategory()) {\r\n return protocolStatus;\r\n }\r\n\r\n let status = protocolStatus;\r\n\r\n if (protocolStatus === RpcRequestStatus.Pending) {\r\n status = RpcRequestStatus.Rejected;\r\n } else if (protocolStatus === RpcRequestStatus.NotFound) {\r\n status = RpcRequestStatus.Rejected;\r\n } else if (protocolStatus === RpcRequestStatus.Unknown) {\r\n status = RpcRequestStatus.Rejected;\r\n }\r\n\r\n if (value.objects.indexOf(\"iTwinRpcCoreResponse\") !== -1 && value.objects.indexOf(\"managedStatus\") !== -1) {\r\n const managedStatus: RpcManagedStatus = JSON.parse(value.objects);\r\n value.objects = managedStatus.responseValue as string;\r\n\r\n if (managedStatus.managedStatus === \"pending\") {\r\n status = RpcRequestStatus.Pending;\r\n } else if (managedStatus.managedStatus === \"notFound\") {\r\n status = RpcRequestStatus.NotFound;\r\n }\r\n }\r\n\r\n return status;\r\n }\r\n\r\n private handleResolved(value: RpcSerializedValue) {\r\n try {\r\n this._raw = value.objects;\r\n const result: TResponse = RpcMarshaling.deserialize(this.protocol, value);\r\n\r\n if (ArrayBuffer.isView(result)) {\r\n this._raw = result.buffer;\r\n }\r\n\r\n return this.resolve(result);\r\n } catch (err) {\r\n return this.reject(err);\r\n }\r\n }\r\n\r\n private handleRejected(value: RpcSerializedValue) {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorReceived, this);\r\n\r\n try {\r\n const error = RpcMarshaling.deserialize(this.protocol, value);\r\n const hasInfo = error && typeof (error) === \"object\" && error.hasOwnProperty(\"name\") && error.hasOwnProperty(\"message\");\r\n const name = hasInfo ? error.name : \"\";\r\n const message = hasInfo ? error.message : \"\";\r\n const errorNumber = (hasInfo && error.hasOwnProperty(\"errorNumber\")) ? error.errorNumber : BentleyStatus.ERROR;\r\n return this.reject(new BackendError(errorNumber, name, message, () => error));\r\n } catch (err) {\r\n return this.reject(err);\r\n }\r\n }\r\n\r\n private handleNoContent() {\r\n return this.reject(new NoContentError());\r\n }\r\n\r\n private handleNotFound(status: RpcRequestStatus, value: RpcSerializedValue) {\r\n const response = RpcMarshaling.deserialize(this.protocol, value);\r\n this.setStatus(status);\r\n\r\n let resubmitted = false;\r\n RpcRequest.notFoundHandlers.raiseEvent(this, response, () => {\r\n if (resubmitted)\r\n throw new IModelError(BentleyStatus.ERROR, `Already resubmitted using this handler.`);\r\n\r\n resubmitted = true;\r\n this.submit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, (reason: any) => this.reject(reason));\r\n return;\r\n }\r\n\r\n private resolve(result: TResponse): void {\r\n if (!this._active)\r\n return;\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._resolve(result);\r\n\r\n if (this._hasRawListener) {\r\n if (typeof (this._raw) === \"undefined\") {\r\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\r\n }\r\n\r\n this._resolveRaw(new ResponseLike(this._raw));\r\n }\r\n\r\n this.setStatus(RpcRequestStatus.Resolved);\r\n this.dispose();\r\n }\r\n\r\n private resolveRaw() {\r\n if (typeof (this._response) === \"undefined\") {\r\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\r\n }\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._resolveRaw(this._response);\r\n this.setStatus(RpcRequestStatus.Resolved);\r\n this.dispose();\r\n }\r\n\r\n protected reject(reason: any): void {\r\n if (!this._active)\r\n return;\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._reject(reason);\r\n\r\n if (this._hasRawListener) {\r\n this._rejectRaw(reason);\r\n }\r\n\r\n this.setStatus(RpcRequestStatus.Rejected);\r\n this.dispose();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n this.setStatus(RpcRequestStatus.Disposed);\r\n this._raw = undefined;\r\n this._response = undefined;\r\n\r\n const client = this.client as any;\r\n if (client[CURRENT_REQUEST] === this) {\r\n client[CURRENT_REQUEST] = undefined;\r\n }\r\n }\r\n\r\n private setPending(status: RpcRequestStatus.Pending, extendedStatus: string): void {\r\n if (!this._active)\r\n return;\r\n\r\n this.setLastUpdatedTime();\r\n this._extendedStatus = extendedStatus;\r\n this.setStatus(status);\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.PendingUpdateReceived, this);\r\n }\r\n\r\n private handleTransientError(status: RpcRequestStatus) {\r\n if (!this._active)\r\n return;\r\n\r\n this.setLastUpdatedTime();\r\n this._retryAfter = this.computeRetryAfter(this._attempts - 1);\r\n\r\n if (this._transientFaults > this.protocol.configuration.transientFaultLimit) {\r\n this.reject(new IModelError(BentleyStatus.ERROR, `Exceeded transient fault limit.`));\r\n } else {\r\n this.setStatus(status);\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.TransientErrorReceived, this);\r\n }\r\n }\r\n\r\n protected async setHeaders(): Promise<void> {\r\n const versionHeader = this.protocol.protocolVersionHeaderName;\r\n if (versionHeader && RpcProtocol.protocolVersion)\r\n this.setHeader(versionHeader, RpcProtocol.protocolVersion.toString());\r\n\r\n const headerNames = this.protocol.serializedClientRequestContextHeaderNames;\r\n const headerValues = await RpcConfiguration.requestContext.serialize(this);\r\n\r\n if (headerNames.id)\r\n this.setHeader(headerNames.id, headerValues.id || this.id); // Cannot be empty\r\n\r\n if (headerNames.applicationVersion)\r\n this.setHeader(headerNames.applicationVersion, headerValues.applicationVersion);\r\n\r\n if (headerNames.applicationId)\r\n this.setHeader(headerNames.applicationId, headerValues.applicationId);\r\n\r\n if (headerNames.sessionId)\r\n this.setHeader(headerNames.sessionId, headerValues.sessionId);\r\n\r\n if (headerNames.authorization && headerValues.authorization)\r\n this.setHeader(headerNames.authorization, headerValues.authorization);\r\n\r\n if (headerValues.csrfToken)\r\n this.setHeader(headerValues.csrfToken.headerName, headerValues.csrfToken.headerValue);\r\n }\r\n\r\n private setStatus(status: RpcRequestStatus): void {\r\n if (this._status === status)\r\n return;\r\n\r\n this._status = status;\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.StatusChanged, this);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const initializeRpcRequest = (() => {\r\n let initialized = false;\r\n\r\n return () => {\r\n if (initialized) {\r\n return;\r\n }\r\n\r\n initialized = true;\r\n\r\n RpcRequest.events.addListener((type, request) => {\r\n if (type !== RpcRequestEvent.StatusChanged)\r\n return;\r\n\r\n switch (request.status) {\r\n case RpcRequestStatus.Submitted: {\r\n aggregateLoad.lastRequest = request.lastSubmitted;\r\n break;\r\n }\r\n\r\n case RpcRequestStatus.Pending:\r\n case RpcRequestStatus.Resolved:\r\n case RpcRequestStatus.Rejected: {\r\n aggregateLoad.lastResponse = request.lastUpdated;\r\n break;\r\n }\r\n }\r\n });\r\n\r\n RpcProtocol.events.addListener((type) => {\r\n const now = new Date().getTime();\r\n\r\n switch (type) {\r\n case RpcProtocolEvent.RequestReceived: {\r\n aggregateLoad.lastRequest = now;\r\n break;\r\n }\r\n\r\n case RpcProtocolEvent.BackendReportedPending:\r\n case RpcProtocolEvent.BackendErrorOccurred:\r\n case RpcProtocolEvent.BackendResponseCreated: {\r\n aggregateLoad.lastResponse = now;\r\n break;\r\n }\r\n }\r\n });\r\n };\r\n})();\r\n"]}
1
+ {"version":3,"file":"RpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRequest.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 { BeEvent, BentleyStatus, Guid } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps } from \"../../IModel\";\r\nimport { BackendError, IModelError, NoContentError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcProtocolEvent, RpcRequestEvent, RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\r\nimport { RpcNotFoundResponse } from \"./RpcControl\";\r\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\r\nimport { RpcOperation } from \"./RpcOperation\";\r\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion } from \"./RpcProtocol\";\r\nimport { CURRENT_REQUEST } from \"./RpcRegistry\";\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n// cspell:ignore csrf\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport const aggregateLoad = { lastRequest: 0, lastResponse: 0 };\r\n\r\n/** @internal */\r\nexport class ResponseLike implements Response {\r\n private _data: Promise<any>;\r\n public get body() { return null; }\r\n public async arrayBuffer(): Promise<ArrayBuffer> { return this._data; }\r\n public async blob(): Promise<Blob> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public async formData(): Promise<FormData> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public async json(): Promise<any> { return this._data; }\r\n public async text(): Promise<string> { return this._data; }\r\n public get bodyUsed() { return false; }\r\n public get headers(): Headers { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public get ok(): boolean { return this.status >= 200 && this.status <= 299; }\r\n public get redirected() { return false; }\r\n public get status() { return 200; }\r\n public get statusText() { return \"\"; }\r\n public get trailer(): Promise<Headers> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\r\n public get type(): ResponseType { return \"basic\"; }\r\n public get url() { return \"\"; }\r\n public clone() { return { ...this }; }\r\n\r\n public constructor(data: any) {\r\n this._data = Promise.resolve(data);\r\n }\r\n}\r\n\r\n/** Supplies an IModelRpcProps for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestTokenSupplier_T = (request: RpcRequest) => IModelRpcProps | undefined;\r\n\r\n/** Supplies the initial retry interval for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestInitialRetryIntervalSupplier_T = (configuration: RpcConfiguration) => number;\r\n\r\n/** Notification callback for an RPC request.\r\n * @internal\r\n */\r\nexport type RpcRequestCallback_T = (request: RpcRequest) => void;\r\n\r\n/** Determines if caching is permitted for a RPC response.\r\n * @internal\r\n */\r\nexport type RpcResponseCachingCallback_T = (request: RpcRequest) => RpcResponseCacheControl;\r\n\r\n/** Runtime information related to the operation load of one or more RPC interfaces.\r\n * @internal\r\n */\r\nexport interface RpcOperationsProfile {\r\n readonly lastRequest: number;\r\n readonly lastResponse: number;\r\n}\r\n\r\n/** Handles RPC request events.\r\n * @internal\r\n */\r\nexport type RpcRequestEventHandler = (type: RpcRequestEvent, request: RpcRequest) => void;\r\n\r\n/** Resolves \"not found\" responses for RPC requests.\r\n * @internal\r\n */\r\nexport type RpcRequestNotFoundHandler = (request: RpcRequest, response: RpcNotFoundResponse, resubmit: () => void, reject: (reason: any) => void) => void;\r\n\r\nclass Cancellable<T> {\r\n public promise: Promise<T | undefined>;\r\n public cancel() { }\r\n\r\n public constructor(task: Promise<T>) {\r\n this.promise = new Promise((resolve, reject) => {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n this.cancel = () => resolve(undefined);\r\n task.then(resolve, reject);\r\n });\r\n }\r\n}\r\n\r\n/** A RPC operation request.\r\n * @internal\r\n */\r\nexport abstract class RpcRequest<TResponse = any> {\r\n private static _activeRequests: Map<string, RpcRequest> = new Map();\r\n private _resolve: (value?: TResponse | PromiseLike<TResponse> | undefined) => void = () => undefined;\r\n protected _resolveRaw: (value?: Response | PromiseLike<Response> | undefined) => void = () => undefined;\r\n private _reject: (reason?: any) => void = () => undefined;\r\n private _rejectRaw: (reason?: any) => void = () => undefined;\r\n private _created: number = 0;\r\n private _lastSubmitted: number = 0;\r\n private _lastUpdated: number = 0;\r\n\r\n /** @internal */\r\n public _status: RpcRequestStatus = RpcRequestStatus.Unknown;\r\n\r\n /** @internal */\r\n public _extendedStatus: string = \"\";\r\n\r\n private _connecting: boolean = false;\r\n private _active: boolean = true;\r\n private _hasRawListener = false;\r\n private _raw: ArrayBuffer | string | undefined = undefined;\r\n private _sending?: Cancellable<number>;\r\n private _attempts = 0;\r\n private _retryAfter: number | null = null;\r\n private _transientFaults = 0;\r\n protected _response: Response | undefined = undefined;\r\n protected _rawPromise: Promise<Response | undefined>;\r\n public responseProtocolVersion = RpcProtocolVersion.None;\r\n\r\n /** All RPC requests that are currently in flight. */\r\n public static get activeRequests(): ReadonlyMap<string, RpcRequest> { return this._activeRequests; }\r\n\r\n /** Events raised by RpcRequest. See [[RpcRequestEvent]] */\r\n public static readonly events: BeEvent<RpcRequestEventHandler> = new BeEvent();\r\n\r\n /** Resolvers for \"not found\" requests. See [[RpcRequestNotFoundHandler]] */\r\n public static readonly notFoundHandlers: BeEvent<RpcRequestNotFoundHandler> = new BeEvent();\r\n\r\n /** The aggregate operations profile of all active RPC interfaces. */\r\n public static get aggregateLoad(): RpcOperationsProfile { return aggregateLoad; }\r\n\r\n /**\r\n * The request for the current RPC operation.\r\n * @note The return value of this function is only reliable if program control was received from a RPC interface class member function that directly returns the result of calling RpcInterface.forward.\r\n */\r\n public static current(context: RpcInterface): RpcRequest {\r\n return (context as any)[CURRENT_REQUEST];\r\n }\r\n\r\n /** The unique identifier of this request. */\r\n public readonly id: string;\r\n\r\n /** The operation for this request. */\r\n public readonly operation: RpcOperation;\r\n\r\n /** The parameters for this request. */\r\n public parameters: any[];\r\n\r\n /** The RPC client instance for this request. */\r\n public readonly client: RpcInterface;\r\n\r\n /** Convenience access to the protocol of this request. */\r\n public readonly protocol: RpcProtocol;\r\n\r\n /** The implementation response for this request. */\r\n public readonly response: Promise<TResponse | undefined>;\r\n\r\n /** The status of this request. */\r\n public get status() { return this._status; }\r\n\r\n /** Extended status information for this request (if available). */\r\n public get extendedStatus() { return this._extendedStatus; }\r\n\r\n /** The last submission for this request. */\r\n public get lastSubmitted() { return this._lastSubmitted; }\r\n\r\n /** The last status update received for this request. */\r\n public get lastUpdated() { return this._lastUpdated; }\r\n\r\n /** The target interval (in milliseconds) between submission attempts for this request. */\r\n public retryInterval: number;\r\n\r\n /** Whether a connection is active for this request. */\r\n public get connecting() { return this._connecting; }\r\n\r\n /** Whether this request is pending. */\r\n public get pending(): boolean {\r\n switch (this.status) {\r\n case RpcRequestStatus.Submitted:\r\n case RpcRequestStatus.Pending: {\r\n return true;\r\n }\r\n\r\n default: {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n /** The elapsed time for this request. */\r\n public get elapsed(): number {\r\n return this._lastUpdated - this._created;\r\n }\r\n\r\n /** A protocol-specific path identifier for this request. */\r\n public path: string;\r\n\r\n /** A protocol-specific method identifier for this request. */\r\n public method: string;\r\n\r\n /** An attempt-specific value for when to next retry this request. */\r\n public get retryAfter() { return this._retryAfter; }\r\n\r\n /** Finds the first parameter of a given structural type if present. */\r\n public findParameterOfType<T>(requiredProperties: { [index: string]: string }): T | undefined {\r\n for (const param of this.parameters) {\r\n if (typeof (param) === \"object\" && param !== null) {\r\n for (const prop of Object.getOwnPropertyNames(requiredProperties)) {\r\n if (param.hasOwnProperty(prop) && typeof (param[prop]) === requiredProperties[prop]) {\r\n return param;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Finds the first IModelRpcProps parameter if present. */\r\n public findTokenPropsParameter(): IModelRpcProps | undefined {\r\n return this.findParameterOfType({ iModelId: \"string\" });\r\n\r\n }\r\n\r\n /** The raw implementation response for this request. */\r\n public get rawResponse(): Promise<Response | undefined> {\r\n this._hasRawListener = true;\r\n return this._rawPromise;\r\n }\r\n\r\n /** Constructs an RPC request. */\r\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\r\n this._created = new Date().getTime();\r\n this.path = \"\";\r\n this.method = \"\";\r\n this.client = client;\r\n this.protocol = client.configuration.protocol;\r\n this.operation = RpcOperation.lookup(client.constructor as any, operation);\r\n this.parameters = parameters;\r\n this.retryInterval = this.operation.policy.retryInterval(client.configuration);\r\n this.response = new Promise((resolve, reject) => {\r\n this._resolve = resolve;\r\n this._reject = reject;\r\n });\r\n\r\n this._rawPromise = new Promise((resolve, reject) => {\r\n this._resolveRaw = resolve;\r\n this._rejectRaw = reject;\r\n });\r\n\r\n this.id = RpcConfiguration.requestContext.getId(this) || Guid.createValue();\r\n this.setStatus(RpcRequestStatus.Created);\r\n this.operation.policy.requestCallback(this);\r\n }\r\n\r\n /** Override to send the request. */\r\n protected abstract send(): Promise<number>;\r\n\r\n /** Override to load response value. */\r\n protected abstract load(): Promise<RpcSerializedValue>;\r\n\r\n /** Override to set request header values. */\r\n protected abstract setHeader(name: string, value: string): void;\r\n\r\n /** Sets the last updated time for the request. */\r\n protected setLastUpdatedTime() {\r\n this._lastUpdated = new Date().getTime();\r\n }\r\n\r\n protected computeRetryAfter(attempts: number) {\r\n return (((Math.pow(2, attempts) - 1) / 2) * 500) + 500;\r\n }\r\n\r\n protected recordTransientFault() {\r\n ++this._transientFaults;\r\n }\r\n\r\n protected resetTransientFaultCount() {\r\n this._transientFaults = 0;\r\n }\r\n\r\n protected supportsStatusCategory() {\r\n if (!this.protocol.supportsStatusCategory) {\r\n return false;\r\n }\r\n\r\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.responseProtocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\r\n }\r\n\r\n /* @internal */\r\n public cancel() {\r\n if (typeof (this._sending) === \"undefined\") {\r\n return;\r\n }\r\n\r\n this._sending.cancel();\r\n this._sending = undefined;\r\n\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.setStatus(RpcRequestStatus.Cancelled);\r\n }\r\n\r\n /* @internal */\r\n public async submit(): Promise<void> {\r\n if (!this._active)\r\n return;\r\n\r\n this._lastSubmitted = new Date().getTime();\r\n this._retryAfter = null;\r\n ++this._attempts;\r\n\r\n if (this.status === RpcRequestStatus.Created || this.status === RpcRequestStatus.NotFound || this.status === RpcRequestStatus.Cancelled) {\r\n this.setStatus(RpcRequestStatus.Submitted);\r\n }\r\n\r\n try {\r\n this._connecting = true;\r\n RpcRequest._activeRequests.set(this.id, this);\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestCreated, this);\r\n this._sending = new Cancellable(this.setHeaders().then(async () => this.send()));\r\n this.operation.policy.sentCallback(this);\r\n\r\n const response = await this._sending.promise;\r\n if (typeof (response) === \"undefined\") {\r\n return;\r\n }\r\n\r\n this._sending = undefined;\r\n\r\n const status = this.protocol.getStatus(response);\r\n\r\n if (this._hasRawListener && status === RpcRequestStatus.Resolved && typeof (this._response) !== \"undefined\") {\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.resolveRaw();\r\n } else {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoading, this);\r\n\r\n if (status === RpcRequestStatus.Unknown) {\r\n this._connecting = false;\r\n RpcRequest._activeRequests.delete(this.id);\r\n this.handleUnknownResponse(response);\r\n return;\r\n }\r\n\r\n const value = await this.load();\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\r\n RpcRequest._activeRequests.delete(this.id);\r\n this._connecting = false;\r\n this.handleResponse(response, value);\r\n }\r\n } catch (err) {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ConnectionErrorReceived, this, err);\r\n RpcRequest._activeRequests.delete(this.id);\r\n this._connecting = false;\r\n this.reject(err);\r\n }\r\n }\r\n\r\n protected handleUnknownResponse(code: number) {\r\n this.reject(new IModelError(BentleyStatus.ERROR, `Unknown response ${code}.`));\r\n }\r\n\r\n private handleResponse(code: number, value: RpcSerializedValue) {\r\n const protocolStatus = this.protocol.getStatus(code);\r\n const status = this.transformResponseStatus(protocolStatus, value);\r\n\r\n if (RpcRequestStatus.isTransientError(status)) {\r\n return this.handleTransientError(status);\r\n }\r\n\r\n switch (status) {\r\n case RpcRequestStatus.Resolved: {\r\n return this.handleResolved(value);\r\n }\r\n\r\n case RpcRequestStatus.Rejected: {\r\n return this.handleRejected(value);\r\n }\r\n\r\n case RpcRequestStatus.Pending: {\r\n return this.setPending(status, value.objects);\r\n }\r\n\r\n case RpcRequestStatus.NotFound: {\r\n return this.handleNotFound(status, value);\r\n }\r\n\r\n case RpcRequestStatus.NoContent: {\r\n return this.handleNoContent();\r\n }\r\n }\r\n }\r\n\r\n private transformResponseStatus(protocolStatus: RpcRequestStatus, value: RpcSerializedValue): RpcRequestStatus {\r\n if (!this.supportsStatusCategory()) {\r\n return protocolStatus;\r\n }\r\n\r\n let status = protocolStatus;\r\n\r\n if (protocolStatus === RpcRequestStatus.Pending) {\r\n status = RpcRequestStatus.Rejected;\r\n } else if (protocolStatus === RpcRequestStatus.NotFound) {\r\n status = RpcRequestStatus.Rejected;\r\n } else if (protocolStatus === RpcRequestStatus.Unknown) {\r\n status = RpcRequestStatus.Rejected;\r\n }\r\n\r\n if (value.objects.indexOf(\"iTwinRpcCoreResponse\") !== -1 && value.objects.indexOf(\"managedStatus\") !== -1) {\r\n const managedStatus: RpcManagedStatus = JSON.parse(value.objects);\r\n value.objects = managedStatus.responseValue as string;\r\n\r\n if (managedStatus.managedStatus === \"pending\") {\r\n status = RpcRequestStatus.Pending;\r\n } else if (managedStatus.managedStatus === \"notFound\") {\r\n status = RpcRequestStatus.NotFound;\r\n }\r\n }\r\n\r\n return status;\r\n }\r\n\r\n private handleResolved(value: RpcSerializedValue) {\r\n try {\r\n this._raw = value.objects;\r\n const result: TResponse = RpcMarshaling.deserialize(this.protocol, value);\r\n\r\n if (ArrayBuffer.isView(result)) {\r\n this._raw = result.buffer;\r\n }\r\n\r\n return this.resolve(result);\r\n } catch (err) {\r\n return this.reject(err);\r\n }\r\n }\r\n\r\n private handleRejected(value: RpcSerializedValue) {\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorReceived, this);\r\n\r\n try {\r\n const error = RpcMarshaling.deserialize(this.protocol, value);\r\n const hasInfo = error && typeof (error) === \"object\" && error.hasOwnProperty(\"name\") && error.hasOwnProperty(\"message\");\r\n const name = hasInfo ? error.name : \"\";\r\n const message = hasInfo ? error.message : \"\";\r\n const errorNumber = (hasInfo && error.hasOwnProperty(\"errorNumber\")) ? error.errorNumber : BentleyStatus.ERROR;\r\n return this.reject(new BackendError(errorNumber, name, message, () => error));\r\n } catch (err) {\r\n return this.reject(err);\r\n }\r\n }\r\n\r\n private handleNoContent() {\r\n return this.reject(new NoContentError());\r\n }\r\n\r\n private handleNotFound(status: RpcRequestStatus, value: RpcSerializedValue) {\r\n const response = RpcMarshaling.deserialize(this.protocol, value);\r\n this.setStatus(status);\r\n\r\n let resubmitted = false;\r\n RpcRequest.notFoundHandlers.raiseEvent(this, response, () => {\r\n if (resubmitted)\r\n throw new IModelError(BentleyStatus.ERROR, `Already resubmitted using this handler.`);\r\n\r\n resubmitted = true;\r\n this.submit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, (reason: any) => this.reject(reason));\r\n return;\r\n }\r\n\r\n private resolve(result: TResponse): void {\r\n if (!this._active)\r\n return;\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._resolve(result);\r\n\r\n if (this._hasRawListener) {\r\n if (typeof (this._raw) === \"undefined\") {\r\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\r\n }\r\n\r\n this._resolveRaw(new ResponseLike(this._raw));\r\n }\r\n\r\n this.setStatus(RpcRequestStatus.Resolved);\r\n this.dispose();\r\n }\r\n\r\n private resolveRaw() {\r\n if (typeof (this._response) === \"undefined\") {\r\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\r\n }\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._resolveRaw(this._response);\r\n this.setStatus(RpcRequestStatus.Resolved);\r\n this.dispose();\r\n }\r\n\r\n protected reject(reason: any): void {\r\n if (!this._active)\r\n return;\r\n\r\n this._active = false;\r\n this.setLastUpdatedTime();\r\n this._reject(reason);\r\n\r\n if (this._hasRawListener) {\r\n this._rejectRaw(reason);\r\n }\r\n\r\n this.setStatus(RpcRequestStatus.Rejected);\r\n this.dispose();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n this.setStatus(RpcRequestStatus.Disposed);\r\n this._raw = undefined;\r\n this._response = undefined;\r\n\r\n const client = this.client as any;\r\n if (client[CURRENT_REQUEST] === this) {\r\n client[CURRENT_REQUEST] = undefined;\r\n }\r\n }\r\n\r\n private setPending(status: RpcRequestStatus.Pending, extendedStatus: string): void {\r\n if (!this._active)\r\n return;\r\n\r\n this.setLastUpdatedTime();\r\n this._extendedStatus = extendedStatus;\r\n this.setStatus(status);\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.PendingUpdateReceived, this);\r\n }\r\n\r\n private handleTransientError(status: RpcRequestStatus) {\r\n if (!this._active)\r\n return;\r\n\r\n this.setLastUpdatedTime();\r\n this._retryAfter = this.computeRetryAfter(this._attempts - 1);\r\n\r\n if (this._transientFaults > this.protocol.configuration.transientFaultLimit) {\r\n this.reject(new IModelError(BentleyStatus.ERROR, `Exceeded transient fault limit.`));\r\n } else {\r\n this.setStatus(status);\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.TransientErrorReceived, this);\r\n }\r\n }\r\n\r\n protected async setHeaders(): Promise<void> {\r\n const versionHeader = this.protocol.protocolVersionHeaderName;\r\n if (versionHeader && RpcProtocol.protocolVersion)\r\n this.setHeader(versionHeader, RpcProtocol.protocolVersion.toString());\r\n\r\n const headerNames = this.protocol.serializedClientRequestContextHeaderNames;\r\n const headerValues = await RpcConfiguration.requestContext.serialize(this);\r\n\r\n if (headerNames.id)\r\n this.setHeader(headerNames.id, headerValues.id || this.id); // Cannot be empty\r\n\r\n if (headerNames.applicationVersion)\r\n this.setHeader(headerNames.applicationVersion, headerValues.applicationVersion);\r\n\r\n if (headerNames.applicationId)\r\n this.setHeader(headerNames.applicationId, headerValues.applicationId);\r\n\r\n if (headerNames.sessionId)\r\n this.setHeader(headerNames.sessionId, headerValues.sessionId);\r\n\r\n if (headerNames.authorization && headerValues.authorization)\r\n this.setHeader(headerNames.authorization, headerValues.authorization);\r\n\r\n if (headerValues.csrfToken)\r\n this.setHeader(headerValues.csrfToken.headerName, headerValues.csrfToken.headerValue);\r\n }\r\n\r\n private setStatus(status: RpcRequestStatus): void {\r\n if (this._status === status)\r\n return;\r\n\r\n this._status = status;\r\n RpcRequest.events.raiseEvent(RpcRequestEvent.StatusChanged, this);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const initializeRpcRequest = (() => {\r\n let initialized = false;\r\n\r\n return () => {\r\n if (initialized) {\r\n return;\r\n }\r\n\r\n initialized = true;\r\n\r\n RpcRequest.events.addListener((type, request) => {\r\n if (type !== RpcRequestEvent.StatusChanged)\r\n return;\r\n\r\n switch (request.status) {\r\n case RpcRequestStatus.Submitted: {\r\n aggregateLoad.lastRequest = request.lastSubmitted;\r\n break;\r\n }\r\n\r\n case RpcRequestStatus.Pending:\r\n case RpcRequestStatus.Resolved:\r\n case RpcRequestStatus.Rejected: {\r\n aggregateLoad.lastResponse = request.lastUpdated;\r\n break;\r\n }\r\n }\r\n });\r\n\r\n RpcProtocol.events.addListener((type) => {\r\n const now = new Date().getTime();\r\n\r\n switch (type) {\r\n case RpcProtocolEvent.RequestReceived: {\r\n aggregateLoad.lastRequest = now;\r\n break;\r\n }\r\n\r\n case RpcProtocolEvent.BackendReportedPending:\r\n case RpcProtocolEvent.BackendErrorOccurred:\r\n case RpcProtocolEvent.BackendResponseCreated: {\r\n aggregateLoad.lastResponse = now;\r\n break;\r\n }\r\n }\r\n });\r\n };\r\n})();\r\n"]}
@@ -1,15 +1,15 @@
1
- /** @packageDocumentation
2
- * @module RpcInterface
3
- */
4
- import { SerializedRpcActivity } from "./RpcInvocation";
5
- import { RpcRequest } from "./RpcRequest";
6
- /** Interface to enable passing application-specific context with each RPC request.
7
- * @internal
8
- */
9
- export interface RpcRequestContext {
10
- /** Used to get the id of the request at the frontend */
11
- getId: (request: RpcRequest) => string;
12
- /** Used at frontend to serialize client specified context */
13
- serialize: (request: RpcRequest) => Promise<SerializedRpcActivity>;
14
- }
1
+ /** @packageDocumentation
2
+ * @module RpcInterface
3
+ */
4
+ import { SerializedRpcActivity } from "./RpcInvocation";
5
+ import { RpcRequest } from "./RpcRequest";
6
+ /** Interface to enable passing application-specific context with each RPC request.
7
+ * @internal
8
+ */
9
+ export interface RpcRequestContext {
10
+ /** Used to get the id of the request at the frontend */
11
+ getId: (request: RpcRequest) => string;
12
+ /** Used at frontend to serialize client specified context */
13
+ serialize: (request: RpcRequest) => Promise<SerializedRpcActivity>;
14
+ }
15
15
  //# sourceMappingURL=RpcRequestContext.d.ts.map
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=RpcRequestContext.js.map
@@ -1,13 +1,13 @@
1
- /** @packageDocumentation
2
- * @module RpcInterface
3
- */
4
- /** @internal */
5
- export declare class RpcRoutingToken {
6
- private static _next;
7
- static generate(debugLabel?: string): RpcRoutingToken;
8
- static readonly default: RpcRoutingToken;
9
- readonly id: number;
10
- readonly debugLabel: string;
11
- private constructor();
12
- }
1
+ /** @packageDocumentation
2
+ * @module RpcInterface
3
+ */
4
+ /** @beta */
5
+ export declare class RpcRoutingToken {
6
+ private static _next;
7
+ static generate(debugLabel?: string): RpcRoutingToken;
8
+ static readonly default: RpcRoutingToken;
9
+ readonly id: number;
10
+ readonly debugLabel: string;
11
+ private constructor();
12
+ }
13
13
  //# sourceMappingURL=RpcRoutingToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRoutingToken.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRoutingToken.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,gBAAgB;AAChB,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAM;WAEZ,QAAQ,CAAC,UAAU,SAAK,GAAG,eAAe;IAIxD,gBAAuB,OAAO,kBAAuC;IAErE,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO;CAIR"}
1
+ {"version":3,"file":"RpcRoutingToken.d.ts","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRoutingToken.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,YAAY;AACZ,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAM;WAEZ,QAAQ,CAAC,UAAU,SAAK,GAAG,eAAe;IAIxD,gBAAuB,OAAO,kBAAuC;IAErE,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO;CAIR"}
@@ -1,25 +1,25 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module RpcInterface
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.RpcRoutingToken = void 0;
11
- /* eslint-disable deprecation/deprecation */
12
- /** @internal */
13
- class RpcRoutingToken {
14
- constructor(id, debugLabel) {
15
- this.id = id;
16
- this.debugLabel = debugLabel;
17
- }
18
- static generate(debugLabel = "") {
19
- return new RpcRoutingToken(++this._next, debugLabel);
20
- }
21
- }
22
- exports.RpcRoutingToken = RpcRoutingToken;
23
- RpcRoutingToken._next = -1;
24
- RpcRoutingToken.default = RpcRoutingToken.generate("default");
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module RpcInterface
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.RpcRoutingToken = void 0;
11
+ /* eslint-disable deprecation/deprecation */
12
+ /** @beta */
13
+ class RpcRoutingToken {
14
+ static generate(debugLabel = "") {
15
+ return new RpcRoutingToken(++this._next, debugLabel);
16
+ }
17
+ constructor(id, debugLabel) {
18
+ this.id = id;
19
+ this.debugLabel = debugLabel;
20
+ }
21
+ }
22
+ RpcRoutingToken._next = -1;
23
+ RpcRoutingToken.default = RpcRoutingToken.generate("default");
24
+ exports.RpcRoutingToken = RpcRoutingToken;
25
25
  //# sourceMappingURL=RpcRoutingToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRoutingToken.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRoutingToken.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAA4C;AAE5C,gBAAgB;AAChB,MAAa,eAAe;IAY1B,YAAoB,EAAU,EAAE,UAAkB;QAChD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAZM,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE;QACpC,OAAO,IAAI,eAAe,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;;AALH,0CAgBC;AAfgB,qBAAK,GAAG,CAAC,CAAC,CAAC;AAMH,uBAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport class RpcRoutingToken {\r\n private static _next = -1;\r\n\r\n public static generate(debugLabel = \"\"): RpcRoutingToken {\r\n return new RpcRoutingToken(++this._next, debugLabel);\r\n }\r\n\r\n public static readonly default = RpcRoutingToken.generate(\"default\");\r\n\r\n public readonly id: number;\r\n public readonly debugLabel: string;\r\n\r\n private constructor(id: number, debugLabel: string) {\r\n this.id = id;\r\n this.debugLabel = debugLabel;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RpcRoutingToken.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRoutingToken.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAA4C;AAE5C,YAAY;AACZ,MAAa,eAAe;IAGnB,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE;QACpC,OAAO,IAAI,eAAe,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAOD,YAAoB,EAAU,EAAE,UAAkB;QAChD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;;AAdc,qBAAK,GAAG,CAAC,CAAC,CAAC;AAMH,uBAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAP1D,0CAAe","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\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @beta */\r\nexport class RpcRoutingToken {\r\n private static _next = -1;\r\n\r\n public static generate(debugLabel = \"\"): RpcRoutingToken {\r\n return new RpcRoutingToken(++this._next, debugLabel);\r\n }\r\n\r\n public static readonly default = RpcRoutingToken.generate(\"default\");\r\n\r\n public readonly id: number;\r\n public readonly debugLabel: string;\r\n\r\n private constructor(id: number, debugLabel: string) {\r\n this.id = id;\r\n this.debugLabel = debugLabel;\r\n }\r\n}\r\n"]}
@@ -1,11 +1,11 @@
1
- /** @packageDocumentation
2
- * @module RpcInterface
3
- */
4
- import { InterceptedRpcRequest } from "../../ipc/IpcSession";
5
- import { RpcInvocation } from "./RpcInvocation";
6
- /** @internal */
7
- export declare class RpcSessionInvocation extends RpcInvocation {
8
- static create(request: InterceptedRpcRequest): RpcSessionInvocation;
9
- get rejected(): boolean;
10
- }
1
+ /** @packageDocumentation
2
+ * @module RpcInterface
3
+ */
4
+ import { InterceptedRpcRequest } from "../../ipc/IpcSession";
5
+ import { RpcInvocation } from "./RpcInvocation";
6
+ /** @internal */
7
+ export declare class RpcSessionInvocation extends RpcInvocation {
8
+ static create(request: InterceptedRpcRequest): RpcSessionInvocation;
9
+ get rejected(): boolean;
10
+ }
11
11
  //# sourceMappingURL=RpcSessionInvocation.d.ts.map
@@ -1,61 +1,61 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module RpcInterface
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.RpcSessionInvocation = void 0;
11
- const RpcConfiguration_1 = require("./RpcConfiguration");
12
- const RpcConstants_1 = require("./RpcConstants");
13
- const RpcInvocation_1 = require("./RpcInvocation");
14
- const RpcMarshaling_1 = require("./RpcMarshaling");
15
- const RpcProtocol_1 = require("./RpcProtocol");
16
- const RpcRequest_1 = require("./RpcRequest");
17
- /* eslint-disable deprecation/deprecation */
18
- class SessionConfiguration extends RpcConfiguration_1.RpcConfiguration {
19
- constructor() {
20
- super(...arguments);
21
- this.interfaces = () => [];
22
- }
23
- get protocol() { return SessionProtocol.instance; }
24
- }
25
- class SessionProtocol extends RpcProtocol_1.RpcProtocol {
26
- constructor() {
27
- super(new SessionConfiguration());
28
- this.requestType = RpcRequest_1.RpcRequest;
29
- this.supportsStatusCategory = true;
30
- }
31
- }
32
- SessionProtocol.instance = new SessionProtocol();
33
- /** @internal */
34
- class RpcSessionInvocation extends RpcInvocation_1.RpcInvocation {
35
- static create(request) {
36
- const serializedRequest = {
37
- id: request.context.id,
38
- applicationId: request.context.applicationId,
39
- applicationVersion: request.context.applicationVersion,
40
- sessionId: request.context.sessionId,
41
- authorization: "",
42
- operation: {
43
- interfaceDefinition: request.definition.interfaceName,
44
- interfaceVersion: request.definition.interfaceVersion,
45
- operationName: request.operation,
46
- },
47
- method: request.operation,
48
- path: "",
49
- parameters: RpcMarshaling_1.RpcSerializedValue.create(),
50
- parametersOverride: request.parameters,
51
- caching: RpcConstants_1.RpcResponseCacheControl.None,
52
- protocolVersion: parseInt(request.context.protocolVersion, 10),
53
- };
54
- return new RpcSessionInvocation(SessionProtocol.instance, serializedRequest);
55
- }
56
- get rejected() {
57
- return this.status === RpcConstants_1.RpcRequestStatus.Rejected;
58
- }
59
- }
60
- exports.RpcSessionInvocation = RpcSessionInvocation;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module RpcInterface
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.RpcSessionInvocation = void 0;
11
+ const RpcConfiguration_1 = require("./RpcConfiguration");
12
+ const RpcConstants_1 = require("./RpcConstants");
13
+ const RpcInvocation_1 = require("./RpcInvocation");
14
+ const RpcMarshaling_1 = require("./RpcMarshaling");
15
+ const RpcProtocol_1 = require("./RpcProtocol");
16
+ const RpcRequest_1 = require("./RpcRequest");
17
+ /* eslint-disable deprecation/deprecation */
18
+ class SessionConfiguration extends RpcConfiguration_1.RpcConfiguration {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.interfaces = () => [];
22
+ }
23
+ get protocol() { return SessionProtocol.instance; }
24
+ }
25
+ class SessionProtocol extends RpcProtocol_1.RpcProtocol {
26
+ constructor() {
27
+ super(new SessionConfiguration());
28
+ this.requestType = RpcRequest_1.RpcRequest;
29
+ this.supportsStatusCategory = true;
30
+ }
31
+ }
32
+ SessionProtocol.instance = new SessionProtocol();
33
+ /** @internal */
34
+ class RpcSessionInvocation extends RpcInvocation_1.RpcInvocation {
35
+ static create(request) {
36
+ const serializedRequest = {
37
+ id: request.context.id,
38
+ applicationId: request.context.applicationId,
39
+ applicationVersion: request.context.applicationVersion,
40
+ sessionId: request.context.sessionId,
41
+ authorization: "",
42
+ operation: {
43
+ interfaceDefinition: request.definition.interfaceName,
44
+ interfaceVersion: request.definition.interfaceVersion,
45
+ operationName: request.operation,
46
+ },
47
+ method: request.operation,
48
+ path: "",
49
+ parameters: RpcMarshaling_1.RpcSerializedValue.create(),
50
+ parametersOverride: request.parameters,
51
+ caching: RpcConstants_1.RpcResponseCacheControl.None,
52
+ protocolVersion: parseInt(request.context.protocolVersion, 10),
53
+ };
54
+ return new RpcSessionInvocation(SessionProtocol.instance, serializedRequest);
55
+ }
56
+ get rejected() {
57
+ return this.status === RpcConstants_1.RpcRequestStatus.Rejected;
58
+ }
59
+ }
60
+ exports.RpcSessionInvocation = RpcSessionInvocation;
61
61
  //# sourceMappingURL=RpcSessionInvocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcSessionInvocation.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcSessionInvocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,yDAAsD;AACtD,iDAA2E;AAC3E,mDAAgD;AAChD,mDAAqD;AACrD,+CAAkE;AAClE,6CAA0C;AAE1C,4CAA4C;AAE5C,MAAM,oBAAqB,SAAQ,mCAAgB;IAAnD;;QACS,eAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;IAE/B,CAAC;IADC,IAAW,QAAQ,KAAK,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,eAAgB,SAAQ,yBAAW;IAIvC;QAAgB,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAF3C,gBAAW,GAAG,uBAAU,CAAC;QAChB,2BAAsB,GAAG,IAAI,CAAC;IACK,CAAC;;AAHtC,wBAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;AAMjD,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,6BAAa;IAC9C,MAAM,CAAC,MAAM,CAAC,OAA8B;QACjD,MAAM,iBAAiB,GAAyB;YAC9C,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACtB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;YAC5C,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB;YACtD,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE;gBACT,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;gBACrD,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB;gBACrD,aAAa,EAAE,OAAO,CAAC,SAAS;aACjC;YACD,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,kCAAkB,CAAC,MAAM,EAAE;YACvC,kBAAkB,EAAE,OAAO,CAAC,UAAU;YACtC,OAAO,EAAE,sCAAuB,CAAC,IAAI;YACrC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC/D,CAAC;QAEF,OAAO,IAAI,oBAAoB,CAAC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC/E,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF;AA3BD,oDA2BC","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 { InterceptedRpcRequest } from \"../../ipc/IpcSession\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\r\nimport { RpcInvocation } from \"./RpcInvocation\";\r\nimport { RpcSerializedValue } from \"./RpcMarshaling\";\r\nimport { RpcProtocol, SerializedRpcRequest } from \"./RpcProtocol\";\r\nimport { RpcRequest } from \"./RpcRequest\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nclass SessionConfiguration extends RpcConfiguration {\r\n public interfaces = () => [];\r\n public get protocol() { return SessionProtocol.instance; }\r\n}\r\n\r\nclass SessionProtocol extends RpcProtocol {\r\n public static instance = new SessionProtocol();\r\n public requestType = RpcRequest;\r\n public override supportsStatusCategory = true;\r\n constructor() { super(new SessionConfiguration()); }\r\n}\r\n\r\n/** @internal */\r\nexport class RpcSessionInvocation extends RpcInvocation {\r\n public static create(request: InterceptedRpcRequest): RpcSessionInvocation {\r\n const serializedRequest: SerializedRpcRequest = {\r\n id: request.context.id,\r\n applicationId: request.context.applicationId,\r\n applicationVersion: request.context.applicationVersion,\r\n sessionId: request.context.sessionId,\r\n authorization: \"\",\r\n operation: {\r\n interfaceDefinition: request.definition.interfaceName,\r\n interfaceVersion: request.definition.interfaceVersion,\r\n operationName: request.operation,\r\n },\r\n method: request.operation,\r\n path: \"\",\r\n parameters: RpcSerializedValue.create(),\r\n parametersOverride: request.parameters,\r\n caching: RpcResponseCacheControl.None,\r\n protocolVersion: parseInt(request.context.protocolVersion, 10),\r\n };\r\n\r\n return new RpcSessionInvocation(SessionProtocol.instance, serializedRequest);\r\n }\r\n\r\n public get rejected() {\r\n return this.status === RpcRequestStatus.Rejected;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RpcSessionInvocation.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcSessionInvocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,yDAAsD;AACtD,iDAA2E;AAC3E,mDAAgD;AAChD,mDAAqD;AACrD,+CAAkE;AAClE,6CAA0C;AAE1C,4CAA4C;AAE5C,MAAM,oBAAqB,SAAQ,mCAAgB;IAAnD;;QACS,eAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;IAE/B,CAAC;IADC,IAAW,QAAQ,KAAK,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,eAAgB,SAAQ,yBAAW;IAIvC;QAAgB,KAAK,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAF3C,gBAAW,GAAG,uBAAU,CAAC;QAChB,2BAAsB,GAAG,IAAI,CAAC;IACK,CAAC;;AAHtC,wBAAQ,GAAG,IAAI,eAAe,EAAE,AAAxB,CAAyB;AAMjD,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,6BAAa;IAC9C,MAAM,CAAC,MAAM,CAAC,OAA8B;QACjD,MAAM,iBAAiB,GAAyB;YAC9C,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACtB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;YAC5C,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB;YACtD,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE;gBACT,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;gBACrD,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB;gBACrD,aAAa,EAAE,OAAO,CAAC,SAAS;aACjC;YACD,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,kCAAkB,CAAC,MAAM,EAAE;YACvC,kBAAkB,EAAE,OAAO,CAAC,UAAU;YACtC,OAAO,EAAE,sCAAuB,CAAC,IAAI;YACrC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC/D,CAAC;QAEF,OAAO,IAAI,oBAAoB,CAAC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC/E,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF;AA3BD,oDA2BC","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 { InterceptedRpcRequest } from \"../../ipc/IpcSession\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\r\nimport { RpcInvocation } from \"./RpcInvocation\";\r\nimport { RpcSerializedValue } from \"./RpcMarshaling\";\r\nimport { RpcProtocol, SerializedRpcRequest } from \"./RpcProtocol\";\r\nimport { RpcRequest } from \"./RpcRequest\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nclass SessionConfiguration extends RpcConfiguration {\r\n public interfaces = () => [];\r\n public get protocol() { return SessionProtocol.instance; }\r\n}\r\n\r\nclass SessionProtocol extends RpcProtocol {\r\n public static instance = new SessionProtocol();\r\n public requestType = RpcRequest;\r\n public override supportsStatusCategory = true;\r\n constructor() { super(new SessionConfiguration()); }\r\n}\r\n\r\n/** @internal */\r\nexport class RpcSessionInvocation extends RpcInvocation {\r\n public static create(request: InterceptedRpcRequest): RpcSessionInvocation {\r\n const serializedRequest: SerializedRpcRequest = {\r\n id: request.context.id,\r\n applicationId: request.context.applicationId,\r\n applicationVersion: request.context.applicationVersion,\r\n sessionId: request.context.sessionId,\r\n authorization: \"\",\r\n operation: {\r\n interfaceDefinition: request.definition.interfaceName,\r\n interfaceVersion: request.definition.interfaceVersion,\r\n operationName: request.operation,\r\n },\r\n method: request.operation,\r\n path: \"\",\r\n parameters: RpcSerializedValue.create(),\r\n parametersOverride: request.parameters,\r\n caching: RpcResponseCacheControl.None,\r\n protocolVersion: parseInt(request.context.protocolVersion, 10),\r\n };\r\n\r\n return new RpcSessionInvocation(SessionProtocol.instance, serializedRequest);\r\n }\r\n\r\n public get rejected() {\r\n return this.status === RpcRequestStatus.Rejected;\r\n }\r\n}\r\n"]}
@@ -1,47 +1,49 @@
1
- /** @packageDocumentation
2
- * @module RpcInterface
3
- */
4
- import { RpcInterfaceDefinition } from "../../RpcInterface";
5
- import { RpcManager } from "../../RpcManager";
6
- import { RpcConfiguration } from "../core/RpcConfiguration";
7
- import { RpcRequestEventHandler } from "../core/RpcRequest";
8
- import { BentleyCloudRpcProtocol } from "./BentleyCloudRpcProtocol";
9
- import { OpenAPIInfo } from "./OpenAPI";
10
- import { RpcRoutingToken } from "../core/RpcRoutingToken";
11
- /** Initialization parameters for BentleyCloudRpcConfiguration.
12
- * @internal
13
- */
14
- export interface BentleyCloudRpcParams {
15
- /** Identifies the remote server that implements a set of RpcInterfaces. Note that the ID of the remote server is not a URI or hostname. It is a string that matches a key in the orchestrator's app registry. */
16
- info: OpenAPIInfo;
17
- /** The protocol for Bentley cloud RPC interface deployments */
18
- protocol?: typeof BentleyCloudRpcProtocol;
19
- /** The URI of the orchestrator that will route requests to the remote RpcInterface server. If not supplied, this default to the origin of the Web page. This is required only when calling initializeClient and only if the server is not the origin of the Web page. */
20
- uriPrefix?: string;
21
- /** Handler for RPC request events. */
22
- pendingRequestListener?: RpcRequestEventHandler;
23
- }
24
- /** Operating parameters for Bentley cloud RPC interface deployments.
25
- * @internal
26
- */
27
- export declare abstract class BentleyCloudRpcConfiguration extends RpcConfiguration {
28
- /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */
29
- static readonly accessControl: {
30
- allowOrigin: string;
31
- allowMethods: string;
32
- allowHeaders: string;
33
- };
34
- /** The protocol of the configuration. */
35
- abstract readonly protocol: BentleyCloudRpcProtocol;
36
- }
37
- /** Coordinates usage of RPC interfaces for Bentley cloud deployments.
38
- * @internal
39
- */
40
- export declare class BentleyCloudRpcManager extends RpcManager {
41
- /** Initializes BentleyCloudRpcManager for the frontend of an application. */
42
- static initializeClient(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing?: RpcRoutingToken): BentleyCloudRpcConfiguration;
43
- /** Initializes BentleyCloudRpcManager for the backend of an application. */
44
- static initializeImpl(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[]): BentleyCloudRpcConfiguration;
45
- private static performInitialization;
46
- }
1
+ /** @packageDocumentation
2
+ * @module RpcInterface
3
+ */
4
+ import { RpcInterfaceDefinition } from "../../RpcInterface";
5
+ import { RpcManager } from "../../RpcManager";
6
+ import { RpcConfiguration } from "../core/RpcConfiguration";
7
+ import { RpcRequestEventHandler } from "../core/RpcRequest";
8
+ import { BentleyCloudRpcProtocol } from "./BentleyCloudRpcProtocol";
9
+ import { OpenAPIInfo } from "./OpenAPI";
10
+ import { RpcRoutingToken } from "../core/RpcRoutingToken";
11
+ /** Initialization parameters for BentleyCloudRpcConfiguration.
12
+ * @beta
13
+ */
14
+ export interface BentleyCloudRpcParams {
15
+ /** Identifies the remote server that implements a set of RpcInterfaces. Note that the ID of the remote server is not a URI or hostname. It is a string that matches a key in the orchestrator's app registry. */
16
+ info: OpenAPIInfo;
17
+ /** @internal The protocol for Bentley cloud RPC interface deployments */
18
+ protocol?: typeof BentleyCloudRpcProtocol;
19
+ /** The URI of the orchestrator that will route requests to the remote RpcInterface server. If not supplied, this default to the origin of the Web page. This is required only when calling initializeClient and only if the server is not the origin of the Web page. */
20
+ uriPrefix?: string;
21
+ /** @internal Handler for RPC request events. */
22
+ pendingRequestListener?: RpcRequestEventHandler;
23
+ /** An optional prefix for RPC operation URI paths. */
24
+ pathPrefix?: string;
25
+ }
26
+ /** Operating parameters for Bentley cloud RPC interface deployments.
27
+ * @beta
28
+ */
29
+ export declare abstract class BentleyCloudRpcConfiguration extends RpcConfiguration {
30
+ /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */
31
+ static readonly accessControl: {
32
+ allowOrigin: string;
33
+ allowMethods: string;
34
+ allowHeaders: string;
35
+ };
36
+ /** @internal The protocol of the configuration. */
37
+ abstract readonly protocol: BentleyCloudRpcProtocol;
38
+ }
39
+ /** Coordinates usage of RPC interfaces for Bentley cloud deployments.
40
+ * @beta
41
+ */
42
+ export declare class BentleyCloudRpcManager extends RpcManager {
43
+ /** @beta Initializes BentleyCloudRpcManager for the frontend of an application. */
44
+ static initializeClient(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing?: RpcRoutingToken): BentleyCloudRpcConfiguration;
45
+ /** @beta Initializes BentleyCloudRpcManager for the backend of an application. */
46
+ static initializeImpl(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[]): BentleyCloudRpcConfiguration;
47
+ private static performInitialization;
48
+ }
47
49
  //# sourceMappingURL=BentleyCloudRpcManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyCloudRpcManager.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAc,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iNAAiN;IACjN,IAAI,EAAE,WAAW,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1C,yQAAyQ;IACzQ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED;;GAEG;AACH,8BAAsB,4BAA6B,SAAQ,gBAAgB;IACzE,2GAA2G;IAC3G,gBAAuB,aAAa;;;;MAIlC;IAEF,yCAAyC;IACzC,kBAAkC,QAAQ,EAAE,uBAAuB,CAAC;CACrE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,6EAA6E;WAC/D,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,EAAE,OAAO,GAAE,eAAyC,GAAG,4BAA4B;IAIrL,4EAA4E;WAC9D,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,GAAG,4BAA4B;IAI/H,OAAO,CAAC,MAAM,CAAC,qBAAqB;CA+BrC"}
1
+ {"version":3,"file":"BentleyCloudRpcManager.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAc,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iNAAiN;IACjN,IAAI,EAAE,WAAW,CAAC;IAClB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1C,yQAAyQ;IACzQ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,8BAAsB,4BAA6B,SAAQ,gBAAgB;IACzE,2GAA2G;IAC3G,gBAAuB,aAAa;;;;MAIlC;IAEF,mDAAmD;IACnD,kBAAkC,QAAQ,EAAE,uBAAuB,CAAC;CACrE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,mFAAmF;WACrE,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,EAAE,OAAO,GAAE,eAAyC,GAAG,4BAA4B;IAIrL,kFAAkF;WACpE,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,GAAG,4BAA4B;IAI/H,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAoCrC"}