@itwin/core-common 3.4.0-dev.8 → 3.5.0-dev.4

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