@itwin/core-common 4.0.0-dev.8 → 4.0.0-dev.81

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 (986) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/Atmosphere.d.ts +99 -0
  8. package/lib/cjs/Atmosphere.d.ts.map +1 -0
  9. package/lib/cjs/Atmosphere.js +134 -0
  10. package/lib/cjs/Atmosphere.js.map +1 -0
  11. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  12. package/lib/cjs/AuthorizationClient.js +9 -9
  13. package/lib/cjs/BackendTypes.d.ts +13 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  19. package/lib/cjs/BackgroundMapProvider.js +67 -68
  20. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  21. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  22. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  23. package/lib/cjs/BackgroundMapSettings.js +154 -156
  24. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  25. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  26. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  27. package/lib/cjs/Base64EncodedString.js +66 -66
  28. package/lib/cjs/Base64EncodedString.js.map +1 -1
  29. package/lib/cjs/BlobReader.d.ts +31 -31
  30. package/lib/cjs/BlobReader.js +84 -84
  31. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  32. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  33. package/lib/cjs/BriefcaseTypes.js +95 -95
  34. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  35. package/lib/cjs/Camera.d.ts +42 -42
  36. package/lib/cjs/Camera.js +62 -62
  37. package/lib/cjs/Camera.js.map +1 -1
  38. package/lib/cjs/ChangedElements.d.ts +85 -85
  39. package/lib/cjs/ChangedElements.js +23 -23
  40. package/lib/cjs/ChangedEntities.d.ts +45 -45
  41. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  42. package/lib/cjs/ChangedEntities.js +9 -9
  43. package/lib/cjs/ChangesetProps.d.ts +98 -98
  44. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  45. package/lib/cjs/ChangesetProps.js +22 -22
  46. package/lib/cjs/ClipStyle.d.ts +89 -89
  47. package/lib/cjs/ClipStyle.js +121 -123
  48. package/lib/cjs/ClipStyle.js.map +1 -1
  49. package/lib/cjs/Code.d.ts +278 -277
  50. package/lib/cjs/Code.d.ts.map +1 -1
  51. package/lib/cjs/Code.js +271 -269
  52. package/lib/cjs/Code.js.map +1 -1
  53. package/lib/cjs/ColorByName.d.ts +161 -161
  54. package/lib/cjs/ColorByName.js +169 -169
  55. package/lib/cjs/ColorDef.d.ts +210 -208
  56. package/lib/cjs/ColorDef.d.ts.map +1 -1
  57. package/lib/cjs/ColorDef.js +572 -571
  58. package/lib/cjs/ColorDef.js.map +1 -1
  59. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  60. package/lib/cjs/CommonLoggerCategory.js +26 -26
  61. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  62. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  63. package/lib/cjs/ConcurrentQuery.js +552 -552
  64. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  65. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  66. package/lib/cjs/ContextRealityModel.js +371 -373
  67. package/lib/cjs/ContextRealityModel.js.map +1 -1
  68. package/lib/cjs/DisplayStyleSettings.d.ts +593 -588
  69. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  70. package/lib/cjs/DisplayStyleSettings.js +990 -985
  71. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  72. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  73. package/lib/cjs/ECSchemaProps.js +9 -9
  74. package/lib/cjs/ECSqlReader.d.ts +72 -70
  75. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  76. package/lib/cjs/ECSqlReader.js +297 -280
  77. package/lib/cjs/ECSqlReader.js.map +1 -1
  78. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  79. package/lib/cjs/ECSqlTypes.js +189 -189
  80. package/lib/cjs/ElementMesh.d.ts +39 -39
  81. package/lib/cjs/ElementMesh.js +56 -56
  82. package/lib/cjs/ElementProps.d.ts +483 -483
  83. package/lib/cjs/ElementProps.d.ts.map +1 -1
  84. package/lib/cjs/ElementProps.js +99 -99
  85. package/lib/cjs/ElementProps.js.map +1 -1
  86. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  87. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  88. package/lib/cjs/EntityProps.d.ts +177 -177
  89. package/lib/cjs/EntityProps.d.ts.map +1 -1
  90. package/lib/cjs/EntityProps.js +113 -113
  91. package/lib/cjs/EntityReference.d.ts +51 -51
  92. package/lib/cjs/EntityReference.d.ts.map +1 -1
  93. package/lib/cjs/EntityReference.js +56 -56
  94. package/lib/cjs/Environment.d.ts +74 -61
  95. package/lib/cjs/Environment.d.ts.map +1 -1
  96. package/lib/cjs/Environment.js +78 -73
  97. package/lib/cjs/Environment.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.js +63 -63
  100. package/lib/cjs/FeatureIndex.js.map +1 -1
  101. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  102. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  103. package/lib/cjs/FeatureSymbology.js +618 -614
  104. package/lib/cjs/FeatureSymbology.js.map +1 -1
  105. package/lib/cjs/FeatureTable.d.ts +248 -141
  106. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  107. package/lib/cjs/FeatureTable.js +470 -278
  108. package/lib/cjs/FeatureTable.js.map +1 -1
  109. package/lib/cjs/Fonts.d.ts +51 -51
  110. package/lib/cjs/Fonts.d.ts.map +1 -1
  111. package/lib/cjs/Fonts.js +53 -53
  112. package/lib/cjs/Frustum.d.ts +114 -114
  113. package/lib/cjs/Frustum.js +292 -292
  114. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  115. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  116. package/lib/cjs/GeoCoordinateServices.js +81 -80
  117. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  118. package/lib/cjs/GeometryContainment.d.ts +28 -28
  119. package/lib/cjs/GeometryContainment.js +9 -9
  120. package/lib/cjs/GeometryParams.d.ts +130 -130
  121. package/lib/cjs/GeometryParams.js +174 -174
  122. package/lib/cjs/GeometrySummary.d.ts +45 -45
  123. package/lib/cjs/GeometrySummary.js +23 -23
  124. package/lib/cjs/Gradient.d.ts +139 -139
  125. package/lib/cjs/Gradient.js +453 -455
  126. package/lib/cjs/Gradient.js.map +1 -1
  127. package/lib/cjs/GraphicParams.d.ts +58 -58
  128. package/lib/cjs/GraphicParams.js +85 -85
  129. package/lib/cjs/GraphicParams.js.map +1 -1
  130. package/lib/cjs/GroundPlane.d.ts +52 -52
  131. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  132. package/lib/cjs/GroundPlane.js +63 -64
  133. package/lib/cjs/GroundPlane.js.map +1 -1
  134. package/lib/cjs/HSLColor.d.ts +20 -20
  135. package/lib/cjs/HSLColor.js +32 -32
  136. package/lib/cjs/HSLColor.js.map +1 -1
  137. package/lib/cjs/HSVColor.d.ts +30 -30
  138. package/lib/cjs/HSVColor.js +59 -59
  139. package/lib/cjs/HSVColor.js.map +1 -1
  140. package/lib/cjs/HiddenLine.d.ts +97 -97
  141. package/lib/cjs/HiddenLine.js +160 -162
  142. package/lib/cjs/HiddenLine.js.map +1 -1
  143. package/lib/cjs/Hilite.d.ts +50 -50
  144. package/lib/cjs/Hilite.js +64 -64
  145. package/lib/cjs/Hilite.js.map +1 -1
  146. package/lib/cjs/IModel.d.ts +358 -359
  147. package/lib/cjs/IModel.d.ts.map +1 -1
  148. package/lib/cjs/IModel.js +347 -347
  149. package/lib/cjs/IModel.js.map +1 -1
  150. package/lib/cjs/IModelError.d.ts +42 -42
  151. package/lib/cjs/IModelError.d.ts.map +1 -1
  152. package/lib/cjs/IModelError.js +71 -71
  153. package/lib/cjs/IModelError.js.map +1 -1
  154. package/lib/cjs/IModelVersion.d.ts +68 -68
  155. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  156. package/lib/cjs/IModelVersion.js +79 -79
  157. package/lib/cjs/Image.d.ts +86 -86
  158. package/lib/cjs/Image.js +128 -128
  159. package/lib/cjs/Image.js.map +1 -1
  160. package/lib/cjs/IpcAppProps.d.ts +141 -141
  161. package/lib/cjs/IpcAppProps.js +23 -23
  162. package/lib/cjs/LightSettings.d.ts +224 -224
  163. package/lib/cjs/LightSettings.js +304 -309
  164. package/lib/cjs/LightSettings.js.map +1 -1
  165. package/lib/cjs/LinePixels.d.ts +34 -34
  166. package/lib/cjs/LinePixels.js +42 -42
  167. package/lib/cjs/Localization.d.ts +117 -113
  168. package/lib/cjs/Localization.d.ts.map +1 -1
  169. package/lib/cjs/Localization.js +33 -33
  170. package/lib/cjs/Localization.js.map +1 -1
  171. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  172. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  173. package/lib/cjs/MapImagerySettings.js +80 -80
  174. package/lib/cjs/MapImagerySettings.js.map +1 -1
  175. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  176. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  177. package/lib/cjs/MapLayerSettings.js +407 -411
  178. package/lib/cjs/MapLayerSettings.js.map +1 -1
  179. package/lib/cjs/MassProperties.d.ts +64 -64
  180. package/lib/cjs/MassProperties.js +23 -23
  181. package/lib/cjs/MaterialProps.d.ts +153 -153
  182. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  183. package/lib/cjs/MaterialProps.js +35 -35
  184. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  185. package/lib/cjs/ModelClipGroup.js +96 -98
  186. package/lib/cjs/ModelClipGroup.js.map +1 -1
  187. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  188. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  189. package/lib/cjs/ModelGeometryChanges.js +83 -83
  190. package/lib/cjs/ModelProps.d.ts +67 -67
  191. package/lib/cjs/ModelProps.js +9 -9
  192. package/lib/cjs/NativeAppProps.d.ts +122 -122
  193. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  194. package/lib/cjs/NativeAppProps.js +30 -30
  195. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  196. package/lib/cjs/OctEncodedNormal.js +98 -98
  197. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  198. package/lib/cjs/PlanProjectionSettings.js +63 -63
  199. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  200. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  201. package/lib/cjs/PlanarClipMask.js +136 -136
  202. package/lib/cjs/PlanarClipMask.js.map +1 -1
  203. package/lib/cjs/QPoint.d.ts +479 -479
  204. package/lib/cjs/QPoint.js +824 -826
  205. package/lib/cjs/QPoint.js.map +1 -1
  206. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  207. package/lib/cjs/RealityDataAccessProps.js +19 -19
  208. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  209. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  210. package/lib/cjs/RealityModelDisplaySettings.js +141 -142
  211. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  212. package/lib/cjs/Render.d.ts +89 -89
  213. package/lib/cjs/Render.js +177 -177
  214. package/lib/cjs/RenderMaterial.d.ts +58 -58
  215. package/lib/cjs/RenderMaterial.js +75 -76
  216. package/lib/cjs/RenderMaterial.js.map +1 -1
  217. package/lib/cjs/RenderSchedule.d.ts +543 -543
  218. package/lib/cjs/RenderSchedule.js +992 -1002
  219. package/lib/cjs/RenderSchedule.js.map +1 -1
  220. package/lib/cjs/RenderTexture.d.ts +70 -70
  221. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  222. package/lib/cjs/RenderTexture.js +59 -59
  223. package/lib/cjs/RenderTexture.js.map +1 -1
  224. package/lib/cjs/RgbColor.d.ts +47 -47
  225. package/lib/cjs/RgbColor.js +77 -77
  226. package/lib/cjs/RpcInterface.d.ts +40 -33
  227. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  228. package/lib/cjs/RpcInterface.js +137 -137
  229. package/lib/cjs/RpcInterface.js.map +1 -1
  230. package/lib/cjs/RpcManager.d.ts +40 -40
  231. package/lib/cjs/RpcManager.js +55 -55
  232. package/lib/cjs/RpcManager.js.map +1 -1
  233. package/lib/cjs/SessionProps.d.ts +16 -16
  234. package/lib/cjs/SessionProps.js +9 -9
  235. package/lib/cjs/SkyBox.d.ts +217 -215
  236. package/lib/cjs/SkyBox.d.ts.map +1 -1
  237. package/lib/cjs/SkyBox.js +209 -210
  238. package/lib/cjs/SkyBox.js.map +1 -1
  239. package/lib/cjs/Snapping.d.ts +49 -49
  240. package/lib/cjs/Snapping.js +9 -9
  241. package/lib/cjs/SolarCalculate.d.ts +27 -27
  242. package/lib/cjs/SolarCalculate.js +211 -211
  243. package/lib/cjs/SolarShadows.d.ts +35 -35
  244. package/lib/cjs/SolarShadows.js +61 -62
  245. package/lib/cjs/SolarShadows.js.map +1 -1
  246. package/lib/cjs/SpatialClassification.d.ts +208 -208
  247. package/lib/cjs/SpatialClassification.js +339 -340
  248. package/lib/cjs/SpatialClassification.js.map +1 -1
  249. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  250. package/lib/cjs/SubCategoryAppearance.js +96 -96
  251. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  252. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  253. package/lib/cjs/SubCategoryOverride.js +104 -104
  254. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  255. package/lib/cjs/TerrainSettings.d.ts +82 -82
  256. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  257. package/lib/cjs/TerrainSettings.js +100 -102
  258. package/lib/cjs/TerrainSettings.js.map +1 -1
  259. package/lib/cjs/TextureMapping.d.ts +151 -118
  260. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  261. package/lib/cjs/TextureMapping.js +180 -174
  262. package/lib/cjs/TextureMapping.js.map +1 -1
  263. package/lib/cjs/TextureProps.d.ts +65 -65
  264. package/lib/cjs/TextureProps.js +28 -28
  265. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  266. package/lib/cjs/ThematicDisplay.js +343 -344
  267. package/lib/cjs/ThematicDisplay.js.map +1 -1
  268. package/lib/cjs/Thumbnail.d.ts +26 -26
  269. package/lib/cjs/Thumbnail.js +9 -9
  270. package/lib/cjs/TileProps.d.ts +88 -82
  271. package/lib/cjs/TileProps.d.ts.map +1 -1
  272. package/lib/cjs/TileProps.js +29 -29
  273. package/lib/cjs/TileProps.js.map +1 -1
  274. package/lib/cjs/Tween.d.ts +191 -191
  275. package/lib/cjs/Tween.d.ts.map +1 -1
  276. package/lib/cjs/Tween.js +570 -570
  277. package/lib/cjs/TxnAction.d.ts +21 -21
  278. package/lib/cjs/TxnAction.js +29 -29
  279. package/lib/cjs/ViewDetails.d.ts +125 -125
  280. package/lib/cjs/ViewDetails.js +166 -166
  281. package/lib/cjs/ViewDetails.js.map +1 -1
  282. package/lib/cjs/ViewFlags.d.ts +287 -287
  283. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  284. package/lib/cjs/ViewFlags.js +367 -368
  285. package/lib/cjs/ViewFlags.js.map +1 -1
  286. package/lib/cjs/ViewProps.d.ts +205 -205
  287. package/lib/cjs/ViewProps.js +9 -9
  288. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  289. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  290. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  291. package/lib/cjs/core-common.d.ts +244 -244
  292. package/lib/cjs/core-common.d.ts.map +1 -1
  293. package/lib/cjs/core-common.js +264 -260
  294. package/lib/cjs/core-common.js.map +1 -1
  295. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  296. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  297. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  298. package/lib/cjs/domains/GenericElementProps.js +9 -9
  299. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  300. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  301. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  302. package/lib/cjs/geometry/AreaPattern.js +203 -204
  303. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  304. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  305. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  306. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  307. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  308. package/lib/cjs/geometry/Cartographic.js +345 -345
  309. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  310. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  311. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  312. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  314. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  315. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  316. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  317. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  318. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  319. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  320. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  321. package/lib/cjs/geometry/FrustumPlanes.d.ts +83 -81
  322. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  323. package/lib/cjs/geometry/FrustumPlanes.js +227 -193
  324. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  325. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  326. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  327. package/lib/cjs/geometry/GeodeticDatum.js +400 -401
  328. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  329. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  330. package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -72
  331. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  332. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  333. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  334. package/lib/cjs/geometry/GeometryStream.js +468 -469
  335. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  336. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  337. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  338. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  339. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  340. package/lib/cjs/geometry/LineStyle.js +129 -129
  341. package/lib/cjs/geometry/Placement.d.ts +95 -95
  342. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  343. package/lib/cjs/geometry/Placement.js +131 -131
  344. package/lib/cjs/geometry/Projection.d.ts +251 -251
  345. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  346. package/lib/cjs/geometry/Projection.js +198 -198
  347. package/lib/cjs/geometry/Projection.js.map +1 -1
  348. package/lib/cjs/geometry/TextString.d.ts +55 -55
  349. package/lib/cjs/geometry/TextString.js +65 -65
  350. package/lib/cjs/geometry/TextString.js.map +1 -1
  351. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  352. package/lib/cjs/ipc/IpcSession.js +27 -27
  353. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  354. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  355. package/lib/cjs/ipc/IpcSocket.js +16 -16
  356. package/lib/cjs/ipc/IpcWebSocket.d.ts +60 -61
  357. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  358. package/lib/cjs/ipc/IpcWebSocket.js +148 -151
  359. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  360. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  361. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  362. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  363. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  364. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  365. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
  366. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  368. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  369. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  370. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  371. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
  372. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  373. package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
  374. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  375. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  376. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  377. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  378. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  379. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  380. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  381. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  382. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  383. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  384. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  385. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  386. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  387. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  388. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  389. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  390. package/lib/cjs/rpc/core/RpcControl.js +150 -145
  391. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  392. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  393. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  394. package/lib/cjs/rpc/core/RpcInvocation.js +256 -258
  395. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  396. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  397. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  398. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  399. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  400. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  401. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  402. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  403. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
  404. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  406. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  407. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  408. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  410. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  411. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  412. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  413. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  414. package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
  415. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  416. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  417. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  418. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  419. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  421. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  422. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  423. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  424. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  425. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  426. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  427. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  428. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  429. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  430. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  431. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
  432. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  433. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  434. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
  435. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  436. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  437. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  438. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  439. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  440. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  441. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  442. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  443. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  444. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  445. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  446. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  447. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  448. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  449. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  450. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  451. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  452. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  453. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  454. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  455. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  456. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  457. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  458. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  459. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  460. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  461. package/lib/cjs/tile/ElementGraphics.js +9 -9
  462. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  463. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  464. package/lib/cjs/tile/GltfTileIO.js +109 -109
  465. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  466. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  467. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  468. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  469. package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
  470. package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
  471. package/lib/cjs/tile/IModelTileIO.js +97 -95
  472. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  473. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  474. package/lib/cjs/tile/PntsTileIO.js +26 -26
  475. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  476. package/lib/cjs/tile/TileIO.d.ts +66 -66
  477. package/lib/cjs/tile/TileIO.js +118 -118
  478. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  479. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  480. package/lib/cjs/tile/TileMetadata.js +675 -676
  481. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  482. package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
  483. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
  484. package/lib/cjs/tile/Tileset3dSchema.js +10 -0
  485. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
  486. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  487. package/lib/esm/AmbientOcclusion.js +52 -52
  488. package/lib/esm/AnalysisStyle.d.ts +134 -134
  489. package/lib/esm/AnalysisStyle.js +160 -159
  490. package/lib/esm/AnalysisStyle.js.map +1 -1
  491. package/lib/esm/Atmosphere.d.ts +99 -0
  492. package/lib/esm/Atmosphere.d.ts.map +1 -0
  493. package/lib/esm/Atmosphere.js +131 -0
  494. package/lib/esm/Atmosphere.js.map +1 -0
  495. package/lib/esm/AuthorizationClient.d.ts +17 -17
  496. package/lib/esm/AuthorizationClient.js +8 -8
  497. package/lib/esm/BackendTypes.d.ts +13 -12
  498. package/lib/esm/BackendTypes.d.ts.map +1 -1
  499. package/lib/esm/BackendTypes.js +8 -8
  500. package/lib/esm/BackendTypes.js.map +1 -1
  501. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  502. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  503. package/lib/esm/BackgroundMapProvider.js +63 -64
  504. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  505. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  506. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  507. package/lib/esm/BackgroundMapSettings.js +150 -152
  508. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  509. package/lib/esm/Base64EncodedString.d.ts +32 -32
  510. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  511. package/lib/esm/Base64EncodedString.js +63 -63
  512. package/lib/esm/Base64EncodedString.js.map +1 -1
  513. package/lib/esm/BlobReader.d.ts +31 -31
  514. package/lib/esm/BlobReader.js +79 -79
  515. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  516. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  517. package/lib/esm/BriefcaseTypes.js +92 -92
  518. package/lib/esm/BriefcaseTypes.js.map +1 -1
  519. package/lib/esm/Camera.d.ts +42 -42
  520. package/lib/esm/Camera.js +58 -58
  521. package/lib/esm/Camera.js.map +1 -1
  522. package/lib/esm/ChangedElements.d.ts +85 -85
  523. package/lib/esm/ChangedElements.js +20 -20
  524. package/lib/esm/ChangedEntities.d.ts +45 -45
  525. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  526. package/lib/esm/ChangedEntities.js +8 -8
  527. package/lib/esm/ChangesetProps.d.ts +98 -98
  528. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  529. package/lib/esm/ChangesetProps.js +19 -19
  530. package/lib/esm/ClipStyle.d.ts +89 -89
  531. package/lib/esm/ClipStyle.js +118 -118
  532. package/lib/esm/ClipStyle.js.map +1 -1
  533. package/lib/esm/Code.d.ts +278 -277
  534. package/lib/esm/Code.d.ts.map +1 -1
  535. package/lib/esm/Code.js +266 -264
  536. package/lib/esm/Code.js.map +1 -1
  537. package/lib/esm/ColorByName.d.ts +161 -161
  538. package/lib/esm/ColorByName.js +166 -166
  539. package/lib/esm/ColorDef.d.ts +210 -208
  540. package/lib/esm/ColorDef.d.ts.map +1 -1
  541. package/lib/esm/ColorDef.js +569 -567
  542. package/lib/esm/ColorDef.js.map +1 -1
  543. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  544. package/lib/esm/CommonLoggerCategory.js +23 -23
  545. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  546. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  547. package/lib/esm/ConcurrentQuery.js +545 -545
  548. package/lib/esm/ConcurrentQuery.js.map +1 -1
  549. package/lib/esm/ContextRealityModel.d.ts +303 -303
  550. package/lib/esm/ContextRealityModel.js +366 -368
  551. package/lib/esm/ContextRealityModel.js.map +1 -1
  552. package/lib/esm/DisplayStyleSettings.d.ts +593 -588
  553. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  554. package/lib/esm/DisplayStyleSettings.js +985 -980
  555. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  556. package/lib/esm/ECSchemaProps.d.ts +39 -39
  557. package/lib/esm/ECSchemaProps.js +8 -8
  558. package/lib/esm/ECSqlReader.d.ts +72 -70
  559. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  560. package/lib/esm/ECSqlReader.js +293 -275
  561. package/lib/esm/ECSqlReader.js.map +1 -1
  562. package/lib/esm/ECSqlTypes.d.ts +128 -128
  563. package/lib/esm/ECSqlTypes.js +185 -185
  564. package/lib/esm/ElementMesh.d.ts +39 -39
  565. package/lib/esm/ElementMesh.js +52 -52
  566. package/lib/esm/ElementProps.d.ts +483 -483
  567. package/lib/esm/ElementProps.d.ts.map +1 -1
  568. package/lib/esm/ElementProps.js +93 -92
  569. package/lib/esm/ElementProps.js.map +1 -1
  570. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  571. package/lib/esm/EmphasizeElementsProps.js +22 -22
  572. package/lib/esm/EntityProps.d.ts +177 -177
  573. package/lib/esm/EntityProps.d.ts.map +1 -1
  574. package/lib/esm/EntityProps.js +108 -108
  575. package/lib/esm/EntityReference.d.ts +51 -51
  576. package/lib/esm/EntityReference.d.ts.map +1 -1
  577. package/lib/esm/EntityReference.js +52 -52
  578. package/lib/esm/Environment.d.ts +74 -61
  579. package/lib/esm/Environment.d.ts.map +1 -1
  580. package/lib/esm/Environment.js +75 -69
  581. package/lib/esm/Environment.js.map +1 -1
  582. package/lib/esm/FeatureIndex.d.ts +39 -39
  583. package/lib/esm/FeatureIndex.js +57 -57
  584. package/lib/esm/FeatureIndex.js.map +1 -1
  585. package/lib/esm/FeatureSymbology.d.ts +449 -444
  586. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  587. package/lib/esm/FeatureSymbology.js +615 -609
  588. package/lib/esm/FeatureSymbology.js.map +1 -1
  589. package/lib/esm/FeatureTable.d.ts +248 -141
  590. package/lib/esm/FeatureTable.d.ts.map +1 -1
  591. package/lib/esm/FeatureTable.js +462 -272
  592. package/lib/esm/FeatureTable.js.map +1 -1
  593. package/lib/esm/Fonts.d.ts +51 -51
  594. package/lib/esm/Fonts.d.ts.map +1 -1
  595. package/lib/esm/Fonts.js +49 -49
  596. package/lib/esm/Frustum.d.ts +114 -114
  597. package/lib/esm/Frustum.js +288 -288
  598. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  599. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  600. package/lib/esm/GeoCoordinateServices.js +77 -76
  601. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  602. package/lib/esm/GeometryContainment.d.ts +28 -28
  603. package/lib/esm/GeometryContainment.js +8 -8
  604. package/lib/esm/GeometryParams.d.ts +130 -130
  605. package/lib/esm/GeometryParams.js +170 -170
  606. package/lib/esm/GeometrySummary.d.ts +45 -45
  607. package/lib/esm/GeometrySummary.js +20 -20
  608. package/lib/esm/Gradient.d.ts +139 -139
  609. package/lib/esm/Gradient.js +450 -452
  610. package/lib/esm/Gradient.js.map +1 -1
  611. package/lib/esm/GraphicParams.d.ts +58 -58
  612. package/lib/esm/GraphicParams.js +81 -81
  613. package/lib/esm/GraphicParams.js.map +1 -1
  614. package/lib/esm/GroundPlane.d.ts +52 -52
  615. package/lib/esm/GroundPlane.d.ts.map +1 -1
  616. package/lib/esm/GroundPlane.js +60 -60
  617. package/lib/esm/GroundPlane.js.map +1 -1
  618. package/lib/esm/HSLColor.d.ts +20 -20
  619. package/lib/esm/HSLColor.js +28 -28
  620. package/lib/esm/HSLColor.js.map +1 -1
  621. package/lib/esm/HSVColor.d.ts +30 -30
  622. package/lib/esm/HSVColor.js +55 -55
  623. package/lib/esm/HSVColor.js.map +1 -1
  624. package/lib/esm/HiddenLine.d.ts +97 -97
  625. package/lib/esm/HiddenLine.js +157 -159
  626. package/lib/esm/HiddenLine.js.map +1 -1
  627. package/lib/esm/Hilite.d.ts +50 -50
  628. package/lib/esm/Hilite.js +61 -61
  629. package/lib/esm/Hilite.js.map +1 -1
  630. package/lib/esm/IModel.d.ts +358 -359
  631. package/lib/esm/IModel.d.ts.map +1 -1
  632. package/lib/esm/IModel.js +343 -342
  633. package/lib/esm/IModel.js.map +1 -1
  634. package/lib/esm/IModelError.d.ts +42 -42
  635. package/lib/esm/IModelError.d.ts.map +1 -1
  636. package/lib/esm/IModelError.js +56 -56
  637. package/lib/esm/IModelError.js.map +1 -1
  638. package/lib/esm/IModelVersion.d.ts +68 -68
  639. package/lib/esm/IModelVersion.d.ts.map +1 -1
  640. package/lib/esm/IModelVersion.js +75 -75
  641. package/lib/esm/Image.d.ts +86 -86
  642. package/lib/esm/Image.js +120 -120
  643. package/lib/esm/Image.js.map +1 -1
  644. package/lib/esm/IpcAppProps.d.ts +141 -141
  645. package/lib/esm/IpcAppProps.js +19 -19
  646. package/lib/esm/LightSettings.d.ts +224 -224
  647. package/lib/esm/LightSettings.js +297 -301
  648. package/lib/esm/LightSettings.js.map +1 -1
  649. package/lib/esm/LinePixels.d.ts +34 -34
  650. package/lib/esm/LinePixels.js +39 -39
  651. package/lib/esm/Localization.d.ts +117 -113
  652. package/lib/esm/Localization.d.ts.map +1 -1
  653. package/lib/esm/Localization.js +29 -29
  654. package/lib/esm/Localization.js.map +1 -1
  655. package/lib/esm/MapImagerySettings.d.ts +62 -62
  656. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  657. package/lib/esm/MapImagerySettings.js +76 -76
  658. package/lib/esm/MapImagerySettings.js.map +1 -1
  659. package/lib/esm/MapLayerSettings.d.ts +272 -272
  660. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  661. package/lib/esm/MapLayerSettings.js +399 -403
  662. package/lib/esm/MapLayerSettings.js.map +1 -1
  663. package/lib/esm/MassProperties.d.ts +64 -64
  664. package/lib/esm/MassProperties.js +20 -20
  665. package/lib/esm/MaterialProps.d.ts +153 -153
  666. package/lib/esm/MaterialProps.d.ts.map +1 -1
  667. package/lib/esm/MaterialProps.js +32 -32
  668. package/lib/esm/ModelClipGroup.d.ts +67 -67
  669. package/lib/esm/ModelClipGroup.js +91 -93
  670. package/lib/esm/ModelClipGroup.js.map +1 -1
  671. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  672. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  673. package/lib/esm/ModelGeometryChanges.js +80 -80
  674. package/lib/esm/ModelProps.d.ts +67 -67
  675. package/lib/esm/ModelProps.js +8 -8
  676. package/lib/esm/NativeAppProps.d.ts +122 -122
  677. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  678. package/lib/esm/NativeAppProps.js +27 -27
  679. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  680. package/lib/esm/OctEncodedNormal.js +93 -93
  681. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  682. package/lib/esm/PlanProjectionSettings.js +59 -59
  683. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  684. package/lib/esm/PlanarClipMask.d.ts +177 -177
  685. package/lib/esm/PlanarClipMask.js +133 -132
  686. package/lib/esm/PlanarClipMask.js.map +1 -1
  687. package/lib/esm/QPoint.d.ts +479 -479
  688. package/lib/esm/QPoint.js +813 -815
  689. package/lib/esm/QPoint.js.map +1 -1
  690. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  691. package/lib/esm/RealityDataAccessProps.js +16 -16
  692. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  693. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  694. package/lib/esm/RealityModelDisplaySettings.js +138 -137
  695. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  696. package/lib/esm/Render.d.ts +89 -89
  697. package/lib/esm/Render.js +165 -165
  698. package/lib/esm/RenderMaterial.d.ts +58 -58
  699. package/lib/esm/RenderMaterial.js +71 -72
  700. package/lib/esm/RenderMaterial.js.map +1 -1
  701. package/lib/esm/RenderSchedule.d.ts +543 -543
  702. package/lib/esm/RenderSchedule.js +989 -999
  703. package/lib/esm/RenderSchedule.js.map +1 -1
  704. package/lib/esm/RenderTexture.d.ts +70 -70
  705. package/lib/esm/RenderTexture.d.ts.map +1 -1
  706. package/lib/esm/RenderTexture.js +55 -55
  707. package/lib/esm/RenderTexture.js.map +1 -1
  708. package/lib/esm/RgbColor.d.ts +47 -47
  709. package/lib/esm/RgbColor.js +73 -73
  710. package/lib/esm/RpcInterface.d.ts +40 -33
  711. package/lib/esm/RpcInterface.d.ts.map +1 -1
  712. package/lib/esm/RpcInterface.js +133 -133
  713. package/lib/esm/RpcInterface.js.map +1 -1
  714. package/lib/esm/RpcManager.d.ts +40 -40
  715. package/lib/esm/RpcManager.js +51 -51
  716. package/lib/esm/RpcManager.js.map +1 -1
  717. package/lib/esm/SessionProps.d.ts +16 -16
  718. package/lib/esm/SessionProps.js +8 -8
  719. package/lib/esm/SkyBox.d.ts +217 -215
  720. package/lib/esm/SkyBox.d.ts.map +1 -1
  721. package/lib/esm/SkyBox.js +204 -203
  722. package/lib/esm/SkyBox.js.map +1 -1
  723. package/lib/esm/Snapping.d.ts +49 -49
  724. package/lib/esm/Snapping.js +8 -8
  725. package/lib/esm/SolarCalculate.d.ts +27 -27
  726. package/lib/esm/SolarCalculate.js +204 -204
  727. package/lib/esm/SolarShadows.d.ts +35 -35
  728. package/lib/esm/SolarShadows.js +58 -58
  729. package/lib/esm/SolarShadows.js.map +1 -1
  730. package/lib/esm/SpatialClassification.d.ts +208 -208
  731. package/lib/esm/SpatialClassification.js +333 -334
  732. package/lib/esm/SpatialClassification.js.map +1 -1
  733. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  734. package/lib/esm/SubCategoryAppearance.js +93 -92
  735. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  736. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  737. package/lib/esm/SubCategoryOverride.js +101 -100
  738. package/lib/esm/SubCategoryOverride.js.map +1 -1
  739. package/lib/esm/TerrainSettings.d.ts +82 -82
  740. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  741. package/lib/esm/TerrainSettings.js +96 -98
  742. package/lib/esm/TerrainSettings.js.map +1 -1
  743. package/lib/esm/TextureMapping.d.ts +151 -118
  744. package/lib/esm/TextureMapping.d.ts.map +1 -1
  745. package/lib/esm/TextureMapping.js +176 -170
  746. package/lib/esm/TextureMapping.js.map +1 -1
  747. package/lib/esm/TextureProps.d.ts +65 -65
  748. package/lib/esm/TextureProps.js +25 -25
  749. package/lib/esm/ThematicDisplay.d.ts +230 -230
  750. package/lib/esm/ThematicDisplay.js +337 -337
  751. package/lib/esm/ThematicDisplay.js.map +1 -1
  752. package/lib/esm/Thumbnail.d.ts +26 -26
  753. package/lib/esm/Thumbnail.js +8 -8
  754. package/lib/esm/TileProps.d.ts +88 -82
  755. package/lib/esm/TileProps.d.ts.map +1 -1
  756. package/lib/esm/TileProps.js +25 -25
  757. package/lib/esm/TileProps.js.map +1 -1
  758. package/lib/esm/Tween.d.ts +191 -191
  759. package/lib/esm/Tween.d.ts.map +1 -1
  760. package/lib/esm/Tween.js +565 -565
  761. package/lib/esm/TxnAction.d.ts +21 -21
  762. package/lib/esm/TxnAction.js +26 -26
  763. package/lib/esm/ViewDetails.d.ts +125 -125
  764. package/lib/esm/ViewDetails.js +162 -161
  765. package/lib/esm/ViewDetails.js.map +1 -1
  766. package/lib/esm/ViewFlags.d.ts +287 -287
  767. package/lib/esm/ViewFlags.d.ts.map +1 -1
  768. package/lib/esm/ViewFlags.js +364 -364
  769. package/lib/esm/ViewFlags.js.map +1 -1
  770. package/lib/esm/ViewProps.d.ts +205 -205
  771. package/lib/esm/ViewProps.js +8 -8
  772. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  773. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  774. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  775. package/lib/esm/core-common.d.ts +244 -244
  776. package/lib/esm/core-common.d.ts.map +1 -1
  777. package/lib/esm/core-common.js +248 -248
  778. package/lib/esm/core-common.js.map +1 -1
  779. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  780. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  781. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  782. package/lib/esm/domains/GenericElementProps.js +8 -8
  783. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  784. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  785. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  786. package/lib/esm/geometry/AreaPattern.js +200 -201
  787. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  788. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  789. package/lib/esm/geometry/BoundingSphere.js +40 -40
  790. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  791. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  792. package/lib/esm/geometry/Cartographic.js +341 -340
  793. package/lib/esm/geometry/Cartographic.js.map +1 -1
  794. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  795. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  796. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
  797. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  798. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  799. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  800. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  801. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  802. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  803. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  804. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  805. package/lib/esm/geometry/FrustumPlanes.d.ts +83 -81
  806. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  807. package/lib/esm/geometry/FrustumPlanes.js +223 -189
  808. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  809. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  810. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  811. package/lib/esm/geometry/GeodeticDatum.js +389 -390
  812. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  813. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  814. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
  815. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  816. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  817. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  818. package/lib/esm/geometry/GeometryStream.js +463 -464
  819. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  820. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  821. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  822. package/lib/esm/geometry/ImageGraphic.js +93 -93
  823. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  824. package/lib/esm/geometry/LineStyle.js +126 -126
  825. package/lib/esm/geometry/Placement.d.ts +95 -95
  826. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  827. package/lib/esm/geometry/Placement.js +126 -126
  828. package/lib/esm/geometry/Projection.d.ts +251 -251
  829. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  830. package/lib/esm/geometry/Projection.js +192 -192
  831. package/lib/esm/geometry/Projection.js.map +1 -1
  832. package/lib/esm/geometry/TextString.d.ts +55 -55
  833. package/lib/esm/geometry/TextString.js +61 -61
  834. package/lib/esm/geometry/TextString.js.map +1 -1
  835. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  836. package/lib/esm/ipc/IpcSession.js +23 -23
  837. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  838. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  839. package/lib/esm/ipc/IpcSocket.js +12 -12
  840. package/lib/esm/ipc/IpcWebSocket.d.ts +60 -61
  841. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  842. package/lib/esm/ipc/IpcWebSocket.js +143 -145
  843. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  844. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  845. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  846. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  847. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  848. package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  849. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -44
  850. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  851. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  852. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  853. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  854. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  855. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
  856. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  857. package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
  858. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  859. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  860. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  861. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  862. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  863. package/lib/esm/rpc/TestRpcManager.js +36 -36
  864. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  865. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  866. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  867. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  868. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  869. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  870. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  871. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  872. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  873. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  874. package/lib/esm/rpc/core/RpcControl.js +144 -138
  875. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  876. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  877. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  878. package/lib/esm/rpc/core/RpcInvocation.js +253 -254
  879. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  880. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  881. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  882. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  883. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  884. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  885. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  886. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  887. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
  888. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  889. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  890. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  891. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  892. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  893. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  894. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  895. package/lib/esm/rpc/core/RpcPush.js +121 -119
  896. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  897. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  898. package/lib/esm/rpc/core/RpcRegistry.js +194 -195
  899. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  900. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  901. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  902. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  903. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  904. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  905. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  906. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  907. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  908. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  909. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  910. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  911. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  912. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  913. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  914. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  915. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
  916. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  917. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  918. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
  919. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  920. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  921. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  922. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  923. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  924. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  925. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  926. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  927. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  928. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  929. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  930. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  931. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  932. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  933. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  934. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  935. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  936. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  937. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  938. package/lib/esm/tile/B3dmTileIO.js +62 -62
  939. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  940. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  941. package/lib/esm/tile/CompositeTileIO.js +22 -22
  942. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  943. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  944. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  945. package/lib/esm/tile/ElementGraphics.js +8 -8
  946. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  947. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  948. package/lib/esm/tile/GltfTileIO.js +105 -105
  949. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  950. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  951. package/lib/esm/tile/I3dmTileIO.js +36 -36
  952. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  953. package/lib/esm/tile/IModelTileIO.d.ts +77 -75
  954. package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
  955. package/lib/esm/tile/IModelTileIO.js +93 -90
  956. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  957. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  958. package/lib/esm/tile/PntsTileIO.js +22 -22
  959. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  960. package/lib/esm/tile/TileIO.d.ts +66 -66
  961. package/lib/esm/tile/TileIO.js +110 -110
  962. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  963. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  964. package/lib/esm/tile/TileMetadata.js +660 -661
  965. package/lib/esm/tile/TileMetadata.js.map +1 -1
  966. package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
  967. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
  968. package/lib/esm/tile/Tileset3dSchema.js +9 -0
  969. package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
  970. package/package.json +14 -14
  971. package/lib/cjs/CloudStorage.d.ts +0 -63
  972. package/lib/cjs/CloudStorage.d.ts.map +0 -1
  973. package/lib/cjs/CloudStorage.js +0 -114
  974. package/lib/cjs/CloudStorage.js.map +0 -1
  975. package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
  976. package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
  977. package/lib/cjs/CloudStorageTileCache.js +0 -67
  978. package/lib/cjs/CloudStorageTileCache.js.map +0 -1
  979. package/lib/esm/CloudStorage.d.ts +0 -63
  980. package/lib/esm/CloudStorage.d.ts.map +0 -1
  981. package/lib/esm/CloudStorage.js +0 -110
  982. package/lib/esm/CloudStorage.js.map +0 -1
  983. package/lib/esm/CloudStorageTileCache.d.ts +0 -28
  984. package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
  985. package/lib/esm/CloudStorageTileCache.js +0 -63
  986. package/lib/esm/CloudStorageTileCache.js.map +0 -1
@@ -1,240 +1,240 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module RpcInterface
8
- */
9
- var _a;
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.WebAppRpcRequest = void 0;
12
- const core_bentley_1 = require("@itwin/core-bentley");
13
- const IModelError_1 = require("../../IModelError");
14
- const RpcConstants_1 = require("../core/RpcConstants");
15
- const RpcMarshaling_1 = require("../core/RpcMarshaling");
16
- const RpcRequest_1 = require("../core/RpcRequest");
17
- const RpcMultipartParser_1 = require("./multipart/RpcMultipartParser");
18
- const RpcMultipart_1 = require("./RpcMultipart");
19
- const WebAppRpcProtocol_1 = require("./WebAppRpcProtocol");
20
- /** A web application RPC request.
21
- * @internal
22
- */
23
- class WebAppRpcRequest extends RpcRequest_1.RpcRequest {
24
- /** Constructs a web application request. */
25
- constructor(client, operation, parameters) {
26
- super(client, operation, parameters);
27
- this._loading = false;
28
- this._request = {};
29
- this._pathSuffix = "";
30
- /** Convenience access to the protocol of this request. */
31
- this.protocol = this.client.configuration.protocol;
32
- /** Standardized access to metadata about the request (useful for purposes such as logging). */
33
- this.metadata = { status: 0, message: "" };
34
- this.path = this.protocol.supplyPathForOperation(this.operation, this);
35
- this.method = "head";
36
- this._request.headers = {};
37
- }
38
- get _headers() { return this._request.headers; }
39
- /** Parses a request. */
40
- static async parseRequest(protocol, req) {
41
- return this.backend.parseRequest(protocol, req);
42
- }
43
- /** Sends the response for a web request. */
44
- static async sendResponse(protocol, request, fulfillment, req, res) {
45
- return this.backend.sendResponse(protocol, request, fulfillment, req, res);
46
- }
47
- /** Determines the most efficient transport type for an RPC value. */
48
- static computeTransportType(value, source) {
49
- if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
50
- return RpcConstants_1.RpcContentType.Binary;
51
- }
52
- else if (value.data.length > 0) {
53
- return RpcConstants_1.RpcContentType.Multipart;
54
- }
55
- else if (value.stream) {
56
- return RpcConstants_1.RpcContentType.Stream;
57
- }
58
- else {
59
- return RpcConstants_1.RpcContentType.Text;
60
- }
61
- }
62
- /** Sets request header values. */
63
- setHeader(name, value) {
64
- this._headers[name] = value;
65
- }
66
- /** Sends the request. */
67
- async send() {
68
- this._loading = true;
69
- await this.setupTransport();
70
- return new Promise(async (resolve, reject) => {
71
- try {
72
- resolve(await this.performFetch());
73
- }
74
- catch (reason) {
75
- reject(new IModelError_1.ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
76
- }
77
- });
78
- }
79
- computeRetryAfter(attempts) {
80
- const retryAfter = this._response && this._response.headers.get("Retry-After");
81
- if (retryAfter) {
82
- this.resetTransientFaultCount();
83
- const r = Number(retryAfter);
84
- if (Number.isFinite(r)) {
85
- return r * 1000;
86
- }
87
- const d = Date.parse(retryAfter);
88
- if (!Number.isNaN(d)) {
89
- return d - Date.now();
90
- }
91
- }
92
- else {
93
- this.recordTransientFault();
94
- }
95
- return super.computeRetryAfter(attempts);
96
- }
97
- handleUnknownResponse(code) {
98
- if (this.protocol.isTimeout(code)) {
99
- this.reject(new IModelError_1.ServerTimeoutError("Request timeout."));
100
- }
101
- else {
102
- this.reject(new IModelError_1.ServerError(code, "Unknown server response code."));
103
- }
104
- }
105
- async load() {
106
- return new Promise(async (resolve, reject) => {
107
- try {
108
- if (!this._loading)
109
- return;
110
- const response = this._response;
111
- if (!response) {
112
- reject(new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Invalid state."));
113
- return;
114
- }
115
- if (this.protocol.protocolVersionHeaderName) {
116
- const version = response.headers.get(this.protocol.protocolVersionHeaderName);
117
- if (version) {
118
- this.responseProtocolVersion = parseInt(version, 10);
119
- }
120
- }
121
- const contentType = response.headers.get(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT);
122
- const responseType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(contentType);
123
- if (responseType === RpcConstants_1.RpcContentType.Binary) {
124
- resolve(await this.loadBinary(response));
125
- }
126
- else if (responseType === RpcConstants_1.RpcContentType.Multipart) {
127
- resolve(await this.loadMultipart(response, contentType));
128
- }
129
- else {
130
- resolve(await this.loadText(response));
131
- }
132
- this._loading = false;
133
- this.setLastUpdatedTime();
134
- this.protocol.events.raiseEvent(RpcConstants_1.RpcProtocolEvent.ResponseLoaded, this);
135
- }
136
- catch (reason) {
137
- if (!this._loading)
138
- return;
139
- this._loading = false;
140
- reject(new IModelError_1.ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
141
- }
142
- });
143
- }
144
- /** Override to supply an alternate fetch function. */
145
- supplyFetch() {
146
- return fetch;
147
- }
148
- /** Override to supply an alternate Request function. */
149
- supplyRequest() {
150
- return Request;
151
- }
152
- async performFetch() {
153
- const requestClass = this.supplyRequest();
154
- const fetchFunction = this.supplyFetch();
155
- const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
156
- if (this._pathSuffix) {
157
- const params = new URLSearchParams();
158
- params.set("parameters", this._pathSuffix);
159
- path.search = `?${params.toString()}`;
160
- }
161
- const request = new requestClass(path.toString(), this._request);
162
- const response = await fetchFunction(request);
163
- this._response = response;
164
- this.metadata.status = response.status;
165
- return response.status;
166
- }
167
- async loadText(response) {
168
- const value = await response.text();
169
- this.metadata.message = value;
170
- return RpcMarshaling_1.RpcSerializedValue.create(value);
171
- }
172
- async loadBinary(response) {
173
- const value = new Uint8Array(await response.arrayBuffer());
174
- const objects = JSON.stringify(RpcMarshaling_1.MarshalingBinaryMarker.createDefault());
175
- return RpcMarshaling_1.RpcSerializedValue.create(objects, [value]);
176
- }
177
- async loadMultipart(response, contentType) {
178
- const data = await response.arrayBuffer();
179
- const value = new RpcMultipartParser_1.RpcMultipartParser(contentType, new Uint8Array(data)).parse();
180
- return value;
181
- }
182
- async setupTransport() {
183
- const parameters = (await this.protocol.serialize(this)).parameters;
184
- const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
185
- if (transportType === RpcConstants_1.RpcContentType.Binary) {
186
- this.setupBinaryTransport(parameters);
187
- }
188
- else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
189
- this.setupMultipartTransport(parameters);
190
- }
191
- else {
192
- this.setupTextTransport(parameters);
193
- }
194
- }
195
- setupBinaryTransport(parameters) {
196
- this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.BINARY;
197
- this._request.method = "post";
198
- this._request.body = parameters.data[0];
199
- }
200
- setupMultipartTransport(parameters) {
201
- // IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
202
- delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
203
- this._request.method = "post";
204
- this._request.body = RpcMultipart_1.RpcMultipart.createForm(parameters);
205
- }
206
- setupTextTransport(parameters) {
207
- if (this.operation.policy.allowResponseCaching(this)) {
208
- const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
209
- if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
210
- this._request.method = "get";
211
- this._request.body = undefined;
212
- delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
213
- this._pathSuffix = encodedBody;
214
- return;
215
- }
216
- }
217
- this._pathSuffix = "";
218
- this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.TEXT;
219
- this._request.method = "post";
220
- this._request.body = parameters.objects;
221
- }
222
- }
223
- exports.WebAppRpcRequest = WebAppRpcRequest;
224
- _a = WebAppRpcRequest;
225
- /** The maximum size permitted for an encoded component in a URL.
226
- * Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
227
- * In addition to the url size, an authorization header may also add considerably to the request size.
228
- * @note This is used for features like encoding the payload of a cacheable request in the URL.
229
- */
230
- WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
231
- /** @internal */
232
- WebAppRpcRequest.backend = {
233
- sendResponse: async (_protocol, _request, _fulfillment, _req, _res) => {
234
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Not bound.");
235
- },
236
- parseRequest: async (_protocol, _req) => {
237
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Not bound.");
238
- },
239
- };
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module RpcInterface
8
+ */
9
+ var _a;
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.WebAppRpcRequest = void 0;
12
+ const core_bentley_1 = require("@itwin/core-bentley");
13
+ const IModelError_1 = require("../../IModelError");
14
+ const RpcConstants_1 = require("../core/RpcConstants");
15
+ const RpcMarshaling_1 = require("../core/RpcMarshaling");
16
+ const RpcRequest_1 = require("../core/RpcRequest");
17
+ const RpcMultipartParser_1 = require("./multipart/RpcMultipartParser");
18
+ const RpcMultipart_1 = require("./RpcMultipart");
19
+ const WebAppRpcProtocol_1 = require("./WebAppRpcProtocol");
20
+ /** A web application RPC request.
21
+ * @internal
22
+ */
23
+ class WebAppRpcRequest extends RpcRequest_1.RpcRequest {
24
+ get _headers() { return this._request.headers; }
25
+ /** Parses a request. */
26
+ static async parseRequest(protocol, req) {
27
+ return this.backend.parseRequest(protocol, req);
28
+ }
29
+ /** Sends the response for a web request. */
30
+ static async sendResponse(protocol, request, fulfillment, req, res) {
31
+ return this.backend.sendResponse(protocol, request, fulfillment, req, res);
32
+ }
33
+ /** Determines the most efficient transport type for an RPC value. */
34
+ static computeTransportType(value, source) {
35
+ if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
36
+ return RpcConstants_1.RpcContentType.Binary;
37
+ }
38
+ else if (value.data.length > 0) {
39
+ return RpcConstants_1.RpcContentType.Multipart;
40
+ }
41
+ else if (value.stream) {
42
+ return RpcConstants_1.RpcContentType.Stream;
43
+ }
44
+ else {
45
+ return RpcConstants_1.RpcContentType.Text;
46
+ }
47
+ }
48
+ /** Constructs a web application request. */
49
+ constructor(client, operation, parameters) {
50
+ super(client, operation, parameters);
51
+ this._loading = false;
52
+ this._request = {};
53
+ this._pathSuffix = "";
54
+ /** Convenience access to the protocol of this request. */
55
+ this.protocol = this.client.configuration.protocol;
56
+ /** Standardized access to metadata about the request (useful for purposes such as logging). */
57
+ this.metadata = { status: 0, message: "" };
58
+ this.path = this.protocol.supplyPathForOperation(this.operation, this);
59
+ this.method = "head";
60
+ this._request.headers = {};
61
+ }
62
+ /** Sets request header values. */
63
+ setHeader(name, value) {
64
+ this._headers[name] = value;
65
+ }
66
+ /** Sends the request. */
67
+ async send() {
68
+ this._loading = true;
69
+ await this.setupTransport();
70
+ return new Promise(async (resolve, reject) => {
71
+ try {
72
+ resolve(await this.performFetch());
73
+ }
74
+ catch (reason) {
75
+ reject(new IModelError_1.ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
76
+ }
77
+ });
78
+ }
79
+ computeRetryAfter(attempts) {
80
+ const retryAfter = this._response && this._response.headers.get("Retry-After");
81
+ if (retryAfter) {
82
+ this.resetTransientFaultCount();
83
+ const r = Number(retryAfter);
84
+ if (Number.isFinite(r)) {
85
+ return r * 1000;
86
+ }
87
+ const d = Date.parse(retryAfter);
88
+ if (!Number.isNaN(d)) {
89
+ return d - Date.now();
90
+ }
91
+ }
92
+ else {
93
+ this.recordTransientFault();
94
+ }
95
+ return super.computeRetryAfter(attempts);
96
+ }
97
+ handleUnknownResponse(code) {
98
+ if (this.protocol.isTimeout(code)) {
99
+ this.reject(new IModelError_1.ServerTimeoutError("Request timeout."));
100
+ }
101
+ else {
102
+ this.reject(new IModelError_1.ServerError(code, "Unknown server response code."));
103
+ }
104
+ }
105
+ async load() {
106
+ return new Promise(async (resolve, reject) => {
107
+ try {
108
+ if (!this._loading)
109
+ return;
110
+ const response = this._response;
111
+ if (!response) {
112
+ reject(new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Invalid state."));
113
+ return;
114
+ }
115
+ if (this.protocol.protocolVersionHeaderName) {
116
+ const version = response.headers.get(this.protocol.protocolVersionHeaderName);
117
+ if (version) {
118
+ this.responseProtocolVersion = parseInt(version, 10);
119
+ }
120
+ }
121
+ const contentType = response.headers.get(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT);
122
+ const responseType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(contentType);
123
+ if (responseType === RpcConstants_1.RpcContentType.Binary) {
124
+ resolve(await this.loadBinary(response));
125
+ }
126
+ else if (responseType === RpcConstants_1.RpcContentType.Multipart) {
127
+ resolve(await this.loadMultipart(response, contentType));
128
+ }
129
+ else {
130
+ resolve(await this.loadText(response));
131
+ }
132
+ this._loading = false;
133
+ this.setLastUpdatedTime();
134
+ this.protocol.events.raiseEvent(RpcConstants_1.RpcProtocolEvent.ResponseLoaded, this);
135
+ }
136
+ catch (reason) {
137
+ if (!this._loading)
138
+ return;
139
+ this._loading = false;
140
+ reject(new IModelError_1.ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
141
+ }
142
+ });
143
+ }
144
+ /** Override to supply an alternate fetch function. */
145
+ supplyFetch() {
146
+ return fetch;
147
+ }
148
+ /** Override to supply an alternate Request function. */
149
+ supplyRequest() {
150
+ return Request;
151
+ }
152
+ async performFetch() {
153
+ const requestClass = this.supplyRequest();
154
+ const fetchFunction = this.supplyFetch();
155
+ const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
156
+ if (this._pathSuffix) {
157
+ const params = new URLSearchParams();
158
+ params.set("parameters", this._pathSuffix);
159
+ path.search = `?${params.toString()}`;
160
+ }
161
+ const request = new requestClass(path.toString(), this._request);
162
+ const response = await fetchFunction(request);
163
+ this._response = response;
164
+ this.metadata.status = response.status;
165
+ return response.status;
166
+ }
167
+ async loadText(response) {
168
+ const value = await response.text();
169
+ this.metadata.message = value;
170
+ return RpcMarshaling_1.RpcSerializedValue.create(value);
171
+ }
172
+ async loadBinary(response) {
173
+ const value = new Uint8Array(await response.arrayBuffer());
174
+ const objects = JSON.stringify(RpcMarshaling_1.MarshalingBinaryMarker.createDefault());
175
+ return RpcMarshaling_1.RpcSerializedValue.create(objects, [value]);
176
+ }
177
+ async loadMultipart(response, contentType) {
178
+ const data = await response.arrayBuffer();
179
+ const value = new RpcMultipartParser_1.RpcMultipartParser(contentType, new Uint8Array(data)).parse();
180
+ return value;
181
+ }
182
+ async setupTransport() {
183
+ const parameters = (await this.protocol.serialize(this)).parameters;
184
+ const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
185
+ if (transportType === RpcConstants_1.RpcContentType.Binary) {
186
+ this.setupBinaryTransport(parameters);
187
+ }
188
+ else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
189
+ this.setupMultipartTransport(parameters);
190
+ }
191
+ else {
192
+ this.setupTextTransport(parameters);
193
+ }
194
+ }
195
+ setupBinaryTransport(parameters) {
196
+ this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.BINARY;
197
+ this._request.method = "post";
198
+ this._request.body = parameters.data[0];
199
+ }
200
+ setupMultipartTransport(parameters) {
201
+ // IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
202
+ delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
203
+ this._request.method = "post";
204
+ this._request.body = RpcMultipart_1.RpcMultipart.createForm(parameters);
205
+ }
206
+ setupTextTransport(parameters) {
207
+ if (this.operation.policy.allowResponseCaching(this)) {
208
+ const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
209
+ if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
210
+ this._request.method = "get";
211
+ this._request.body = undefined;
212
+ delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
213
+ this._pathSuffix = encodedBody;
214
+ return;
215
+ }
216
+ }
217
+ this._pathSuffix = "";
218
+ this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.TEXT;
219
+ this._request.method = "post";
220
+ this._request.body = parameters.objects;
221
+ }
222
+ }
223
+ _a = WebAppRpcRequest;
224
+ /** The maximum size permitted for an encoded component in a URL.
225
+ * Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
226
+ * In addition to the url size, an authorization header may also add considerably to the request size.
227
+ * @note This is used for features like encoding the payload of a cacheable request in the URL.
228
+ */
229
+ WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
230
+ /** @internal */
231
+ WebAppRpcRequest.backend = {
232
+ sendResponse: async (_protocol, _request, _fulfillment, _req, _res) => {
233
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Not bound.");
234
+ },
235
+ parseRequest: async (_protocol, _req) => {
236
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Not bound.");
237
+ },
238
+ };
239
+ exports.WebAppRpcRequest = WebAppRpcRequest;
240
240
  //# sourceMappingURL=WebAppRpcRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebAppRpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/web/WebAppRpcRequest.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { IModelError, ServerError, ServerTimeoutError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcContentType, RpcProtocolEvent, WEB_RPC_CONSTANTS } from \"../core/RpcConstants\";\r\nimport { MarshalingBinaryMarker, RpcSerializedValue } from \"../core/RpcMarshaling\";\r\nimport { RpcRequestFulfillment, SerializedRpcRequest } from \"../core/RpcProtocol\";\r\nimport { RpcRequest } from \"../core/RpcRequest\";\r\nimport { RpcMultipartParser } from \"./multipart/RpcMultipartParser\";\r\nimport { RpcMultipart } from \"./RpcMultipart\";\r\nimport { HttpServerRequest, HttpServerResponse, WebAppRpcProtocol } from \"./WebAppRpcProtocol\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport type HttpMethod_T = \"get\" | \"put\" | \"post\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\"; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** A web application RPC request.\r\n * @internal\r\n */\r\nexport class WebAppRpcRequest extends RpcRequest {\r\n private _loading: boolean = false;\r\n private _request: RequestInit = {};\r\n private _pathSuffix: string = \"\";\r\n private get _headers() { return this._request.headers as { [key: string]: string }; }\r\n\r\n /** The maximum size permitted for an encoded component in a URL.\r\n * Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.\r\n * In addition to the url size, an authorization header may also add considerably to the request size.\r\n * @note This is used for features like encoding the payload of a cacheable request in the URL.\r\n */\r\n public static maxUrlComponentSize = 1024 * 8;\r\n\r\n /** The HTTP method for this request. */\r\n public override method: HttpMethod_T;\r\n\r\n /** Convenience access to the protocol of this request. */\r\n public override readonly protocol: WebAppRpcProtocol = this.client.configuration.protocol as any;\r\n\r\n /** Standardized access to metadata about the request (useful for purposes such as logging). */\r\n public metadata = { status: 0, message: \"\" };\r\n\r\n /** Parses a request. */\r\n public static async parseRequest(protocol: WebAppRpcProtocol, req: HttpServerRequest): Promise<SerializedRpcRequest> {\r\n return this.backend.parseRequest(protocol, req);\r\n }\r\n\r\n /** Sends the response for a web request. */\r\n public static async sendResponse(\r\n protocol: WebAppRpcProtocol,\r\n request: SerializedRpcRequest,\r\n fulfillment: RpcRequestFulfillment,\r\n req: HttpServerRequest,\r\n res: HttpServerResponse,\r\n ): Promise<void> {\r\n return this.backend.sendResponse(protocol, request, fulfillment, req, res);\r\n }\r\n\r\n /** Determines the most efficient transport type for an RPC value. */\r\n public static computeTransportType(value: RpcSerializedValue, source: any): RpcContentType {\r\n if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {\r\n return RpcContentType.Binary;\r\n } else if (value.data.length > 0) {\r\n return RpcContentType.Multipart;\r\n } else if (value.stream) {\r\n return RpcContentType.Stream;\r\n } else {\r\n return RpcContentType.Text;\r\n }\r\n }\r\n\r\n /** Constructs a web application request. */\r\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\r\n super(client, operation, parameters);\r\n this.path = this.protocol.supplyPathForOperation(this.operation, this);\r\n this.method = \"head\";\r\n this._request.headers = {};\r\n }\r\n\r\n /** Sets request header values. */\r\n protected setHeader(name: string, value: string): void {\r\n this._headers[name] = value;\r\n }\r\n\r\n /** Sends the request. */\r\n protected async send(): Promise<number> {\r\n this._loading = true;\r\n await this.setupTransport();\r\n\r\n return new Promise<number>(async (resolve, reject) => {\r\n try {\r\n resolve(await this.performFetch());\r\n } catch (reason) {\r\n reject(new ServerError(-1, typeof (reason) === \"string\" ? reason : \"Server connection error.\"));\r\n }\r\n });\r\n }\r\n\r\n protected override computeRetryAfter(attempts: number): number {\r\n const retryAfter = this._response && this._response.headers.get(\"Retry-After\");\r\n if (retryAfter) {\r\n this.resetTransientFaultCount();\r\n\r\n const r = Number(retryAfter);\r\n if (Number.isFinite(r)) {\r\n return r * 1000;\r\n }\r\n\r\n const d = Date.parse(retryAfter);\r\n if (!Number.isNaN(d)) {\r\n return d - Date.now();\r\n }\r\n } else {\r\n this.recordTransientFault();\r\n }\r\n\r\n return super.computeRetryAfter(attempts);\r\n }\r\n\r\n protected override handleUnknownResponse(code: number) {\r\n if (this.protocol.isTimeout(code)) {\r\n this.reject(new ServerTimeoutError(\"Request timeout.\"));\r\n } else {\r\n this.reject(new ServerError(code, \"Unknown server response code.\"));\r\n }\r\n }\r\n\r\n protected async load(): Promise<RpcSerializedValue> {\r\n return new Promise<RpcSerializedValue>(async (resolve, reject) => {\r\n try {\r\n if (!this._loading)\r\n return;\r\n\r\n const response = this._response;\r\n if (!response) {\r\n reject(new IModelError(BentleyStatus.ERROR, \"Invalid state.\"));\r\n return;\r\n }\r\n\r\n if (this.protocol.protocolVersionHeaderName) {\r\n const version = response.headers.get(this.protocol.protocolVersionHeaderName);\r\n if (version) {\r\n this.responseProtocolVersion = parseInt(version, 10);\r\n }\r\n }\r\n\r\n const contentType = response.headers.get(WEB_RPC_CONSTANTS.CONTENT);\r\n const responseType = WebAppRpcProtocol.computeContentType(contentType);\r\n\r\n if (responseType === RpcContentType.Binary) {\r\n resolve(await this.loadBinary(response));\r\n } else if (responseType === RpcContentType.Multipart) {\r\n resolve(await this.loadMultipart(response, contentType!));\r\n } else {\r\n resolve(await this.loadText(response));\r\n }\r\n\r\n this._loading = false;\r\n this.setLastUpdatedTime();\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\r\n } catch (reason) {\r\n if (!this._loading)\r\n return;\r\n\r\n this._loading = false;\r\n reject(new ServerError(this.metadata.status, typeof (reason) === \"string\" ? reason : \"Unknown server response error.\"));\r\n }\r\n });\r\n }\r\n\r\n /** Override to supply an alternate fetch function. */\r\n protected supplyFetch(): typeof fetch {\r\n return fetch;\r\n }\r\n\r\n /** Override to supply an alternate Request function. */\r\n protected supplyRequest(): typeof Request {\r\n return Request;\r\n }\r\n\r\n private async performFetch(): Promise<number> {\r\n const requestClass = this.supplyRequest();\r\n const fetchFunction = this.supplyFetch();\r\n\r\n const path = new URL(this.path, typeof (location) !== \"undefined\" ? location.origin : undefined);\r\n if (this._pathSuffix) {\r\n const params = new URLSearchParams();\r\n params.set(\"parameters\", this._pathSuffix);\r\n path.search = `?${params.toString()}`;\r\n }\r\n\r\n const request = new requestClass(path.toString(), this._request);\r\n const response = await fetchFunction(request);\r\n this._response = response;\r\n this.metadata.status = response.status;\r\n return response.status;\r\n }\r\n\r\n private async loadText(response: Response) {\r\n const value = await response.text();\r\n this.metadata.message = value;\r\n return RpcSerializedValue.create(value);\r\n }\r\n\r\n private async loadBinary(response: Response) {\r\n const value = new Uint8Array(await response.arrayBuffer());\r\n const objects = JSON.stringify(MarshalingBinaryMarker.createDefault());\r\n return RpcSerializedValue.create(objects, [value]);\r\n }\r\n\r\n private async loadMultipart(response: Response, contentType: string) {\r\n const data = await response.arrayBuffer();\r\n const value = new RpcMultipartParser(contentType, new Uint8Array(data)).parse();\r\n return value;\r\n }\r\n\r\n private async setupTransport(): Promise<void> {\r\n const parameters = (await this.protocol.serialize(this)).parameters;\r\n const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);\r\n\r\n if (transportType === RpcContentType.Binary) {\r\n this.setupBinaryTransport(parameters);\r\n } else if (transportType === RpcContentType.Multipart) {\r\n this.setupMultipartTransport(parameters);\r\n } else {\r\n this.setupTextTransport(parameters);\r\n }\r\n }\r\n\r\n private setupBinaryTransport(parameters: RpcSerializedValue) {\r\n this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.BINARY;\r\n this._request.method = \"post\";\r\n this._request.body = parameters.data[0];\r\n }\r\n\r\n private setupMultipartTransport(parameters: RpcSerializedValue) {\r\n // IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!\r\n delete this._headers[WEB_RPC_CONSTANTS.CONTENT];\r\n this._request.method = \"post\";\r\n this._request.body = RpcMultipart.createForm(parameters);\r\n }\r\n\r\n private setupTextTransport(parameters: RpcSerializedValue) {\r\n if (this.operation.policy.allowResponseCaching(this)) {\r\n const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation\r\n if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {\r\n this._request.method = \"get\";\r\n this._request.body = undefined;\r\n delete this._headers[WEB_RPC_CONSTANTS.CONTENT];\r\n this._pathSuffix = encodedBody;\r\n return;\r\n }\r\n }\r\n\r\n this._pathSuffix = \"\";\r\n this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.TEXT;\r\n this._request.method = \"post\";\r\n this._request.body = parameters.objects;\r\n }\r\n\r\n /** @internal */\r\n public static backend = {\r\n sendResponse: async (_protocol: WebAppRpcProtocol, _request: SerializedRpcRequest, _fulfillment: RpcRequestFulfillment, _req: HttpServerRequest, _res: HttpServerResponse): Promise<void> => {\r\n throw new IModelError(BentleyStatus.ERROR, \"Not bound.\");\r\n },\r\n parseRequest: async (_protocol: WebAppRpcProtocol, _req: HttpServerRequest): Promise<SerializedRpcRequest> => {\r\n throw new IModelError(BentleyStatus.ERROR, \"Not bound.\");\r\n },\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"WebAppRpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/web/WebAppRpcRequest.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { IModelError, ServerError, ServerTimeoutError } from \"../../IModelError\";\r\nimport { RpcInterface } from \"../../RpcInterface\";\r\nimport { RpcContentType, RpcProtocolEvent, WEB_RPC_CONSTANTS } from \"../core/RpcConstants\";\r\nimport { MarshalingBinaryMarker, RpcSerializedValue } from \"../core/RpcMarshaling\";\r\nimport { RpcRequestFulfillment, SerializedRpcRequest } from \"../core/RpcProtocol\";\r\nimport { RpcRequest } from \"../core/RpcRequest\";\r\nimport { RpcMultipartParser } from \"./multipart/RpcMultipartParser\";\r\nimport { RpcMultipart } from \"./RpcMultipart\";\r\nimport { HttpServerRequest, HttpServerResponse, WebAppRpcProtocol } from \"./WebAppRpcProtocol\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport type HttpMethod_T = \"get\" | \"put\" | \"post\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\"; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** A web application RPC request.\r\n * @internal\r\n */\r\nexport class WebAppRpcRequest extends RpcRequest {\r\n private _loading: boolean = false;\r\n private _request: RequestInit = {};\r\n private _pathSuffix: string = \"\";\r\n private get _headers() { return this._request.headers as { [key: string]: string }; }\r\n\r\n /** The maximum size permitted for an encoded component in a URL.\r\n * Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.\r\n * In addition to the url size, an authorization header may also add considerably to the request size.\r\n * @note This is used for features like encoding the payload of a cacheable request in the URL.\r\n */\r\n public static maxUrlComponentSize = 1024 * 8;\r\n\r\n /** The HTTP method for this request. */\r\n public override method: HttpMethod_T;\r\n\r\n /** Convenience access to the protocol of this request. */\r\n public override readonly protocol: WebAppRpcProtocol = this.client.configuration.protocol as any;\r\n\r\n /** Standardized access to metadata about the request (useful for purposes such as logging). */\r\n public metadata = { status: 0, message: \"\" };\r\n\r\n /** Parses a request. */\r\n public static async parseRequest(protocol: WebAppRpcProtocol, req: HttpServerRequest): Promise<SerializedRpcRequest> {\r\n return this.backend.parseRequest(protocol, req);\r\n }\r\n\r\n /** Sends the response for a web request. */\r\n public static async sendResponse(\r\n protocol: WebAppRpcProtocol,\r\n request: SerializedRpcRequest,\r\n fulfillment: RpcRequestFulfillment,\r\n req: HttpServerRequest,\r\n res: HttpServerResponse,\r\n ): Promise<void> {\r\n return this.backend.sendResponse(protocol, request, fulfillment, req, res);\r\n }\r\n\r\n /** Determines the most efficient transport type for an RPC value. */\r\n public static computeTransportType(value: RpcSerializedValue, source: any): RpcContentType {\r\n if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {\r\n return RpcContentType.Binary;\r\n } else if (value.data.length > 0) {\r\n return RpcContentType.Multipart;\r\n } else if (value.stream) {\r\n return RpcContentType.Stream;\r\n } else {\r\n return RpcContentType.Text;\r\n }\r\n }\r\n\r\n /** Constructs a web application request. */\r\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\r\n super(client, operation, parameters);\r\n this.path = this.protocol.supplyPathForOperation(this.operation, this);\r\n this.method = \"head\";\r\n this._request.headers = {};\r\n }\r\n\r\n /** Sets request header values. */\r\n protected setHeader(name: string, value: string): void {\r\n this._headers[name] = value;\r\n }\r\n\r\n /** Sends the request. */\r\n protected async send(): Promise<number> {\r\n this._loading = true;\r\n await this.setupTransport();\r\n\r\n return new Promise<number>(async (resolve, reject) => {\r\n try {\r\n resolve(await this.performFetch());\r\n } catch (reason) {\r\n reject(new ServerError(-1, typeof (reason) === \"string\" ? reason : \"Server connection error.\"));\r\n }\r\n });\r\n }\r\n\r\n protected override computeRetryAfter(attempts: number): number {\r\n const retryAfter = this._response && this._response.headers.get(\"Retry-After\");\r\n if (retryAfter) {\r\n this.resetTransientFaultCount();\r\n\r\n const r = Number(retryAfter);\r\n if (Number.isFinite(r)) {\r\n return r * 1000;\r\n }\r\n\r\n const d = Date.parse(retryAfter);\r\n if (!Number.isNaN(d)) {\r\n return d - Date.now();\r\n }\r\n } else {\r\n this.recordTransientFault();\r\n }\r\n\r\n return super.computeRetryAfter(attempts);\r\n }\r\n\r\n protected override handleUnknownResponse(code: number) {\r\n if (this.protocol.isTimeout(code)) {\r\n this.reject(new ServerTimeoutError(\"Request timeout.\"));\r\n } else {\r\n this.reject(new ServerError(code, \"Unknown server response code.\"));\r\n }\r\n }\r\n\r\n protected async load(): Promise<RpcSerializedValue> {\r\n return new Promise<RpcSerializedValue>(async (resolve, reject) => {\r\n try {\r\n if (!this._loading)\r\n return;\r\n\r\n const response = this._response;\r\n if (!response) {\r\n reject(new IModelError(BentleyStatus.ERROR, \"Invalid state.\"));\r\n return;\r\n }\r\n\r\n if (this.protocol.protocolVersionHeaderName) {\r\n const version = response.headers.get(this.protocol.protocolVersionHeaderName);\r\n if (version) {\r\n this.responseProtocolVersion = parseInt(version, 10);\r\n }\r\n }\r\n\r\n const contentType = response.headers.get(WEB_RPC_CONSTANTS.CONTENT);\r\n const responseType = WebAppRpcProtocol.computeContentType(contentType);\r\n\r\n if (responseType === RpcContentType.Binary) {\r\n resolve(await this.loadBinary(response));\r\n } else if (responseType === RpcContentType.Multipart) {\r\n resolve(await this.loadMultipart(response, contentType!));\r\n } else {\r\n resolve(await this.loadText(response));\r\n }\r\n\r\n this._loading = false;\r\n this.setLastUpdatedTime();\r\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\r\n } catch (reason) {\r\n if (!this._loading)\r\n return;\r\n\r\n this._loading = false;\r\n reject(new ServerError(this.metadata.status, typeof (reason) === \"string\" ? reason : \"Unknown server response error.\"));\r\n }\r\n });\r\n }\r\n\r\n /** Override to supply an alternate fetch function. */\r\n protected supplyFetch(): typeof fetch {\r\n return fetch;\r\n }\r\n\r\n /** Override to supply an alternate Request function. */\r\n protected supplyRequest(): typeof Request {\r\n return Request;\r\n }\r\n\r\n private async performFetch(): Promise<number> {\r\n const requestClass = this.supplyRequest();\r\n const fetchFunction = this.supplyFetch();\r\n\r\n const path = new URL(this.path, typeof (location) !== \"undefined\" ? location.origin : undefined);\r\n if (this._pathSuffix) {\r\n const params = new URLSearchParams();\r\n params.set(\"parameters\", this._pathSuffix);\r\n path.search = `?${params.toString()}`;\r\n }\r\n\r\n const request = new requestClass(path.toString(), this._request);\r\n const response = await fetchFunction(request);\r\n this._response = response;\r\n this.metadata.status = response.status;\r\n return response.status;\r\n }\r\n\r\n private async loadText(response: Response) {\r\n const value = await response.text();\r\n this.metadata.message = value;\r\n return RpcSerializedValue.create(value);\r\n }\r\n\r\n private async loadBinary(response: Response) {\r\n const value = new Uint8Array(await response.arrayBuffer());\r\n const objects = JSON.stringify(MarshalingBinaryMarker.createDefault());\r\n return RpcSerializedValue.create(objects, [value]);\r\n }\r\n\r\n private async loadMultipart(response: Response, contentType: string) {\r\n const data = await response.arrayBuffer();\r\n const value = new RpcMultipartParser(contentType, new Uint8Array(data)).parse();\r\n return value;\r\n }\r\n\r\n private async setupTransport(): Promise<void> {\r\n const parameters = (await this.protocol.serialize(this)).parameters;\r\n const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);\r\n\r\n if (transportType === RpcContentType.Binary) {\r\n this.setupBinaryTransport(parameters);\r\n } else if (transportType === RpcContentType.Multipart) {\r\n this.setupMultipartTransport(parameters);\r\n } else {\r\n this.setupTextTransport(parameters);\r\n }\r\n }\r\n\r\n private setupBinaryTransport(parameters: RpcSerializedValue) {\r\n this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.BINARY;\r\n this._request.method = \"post\";\r\n this._request.body = parameters.data[0];\r\n }\r\n\r\n private setupMultipartTransport(parameters: RpcSerializedValue) {\r\n // IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!\r\n delete this._headers[WEB_RPC_CONSTANTS.CONTENT];\r\n this._request.method = \"post\";\r\n this._request.body = RpcMultipart.createForm(parameters);\r\n }\r\n\r\n private setupTextTransport(parameters: RpcSerializedValue) {\r\n if (this.operation.policy.allowResponseCaching(this)) {\r\n const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation\r\n if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {\r\n this._request.method = \"get\";\r\n this._request.body = undefined;\r\n delete this._headers[WEB_RPC_CONSTANTS.CONTENT];\r\n this._pathSuffix = encodedBody;\r\n return;\r\n }\r\n }\r\n\r\n this._pathSuffix = \"\";\r\n this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.TEXT;\r\n this._request.method = \"post\";\r\n this._request.body = parameters.objects;\r\n }\r\n\r\n /** @internal */\r\n public static backend = {\r\n sendResponse: async (_protocol: WebAppRpcProtocol, _request: SerializedRpcRequest, _fulfillment: RpcRequestFulfillment, _req: HttpServerRequest, _res: HttpServerResponse): Promise<void> => {\r\n throw new IModelError(BentleyStatus.ERROR, \"Not bound.\");\r\n },\r\n parseRequest: async (_protocol: WebAppRpcProtocol, _req: HttpServerRequest): Promise<SerializedRpcRequest> => {\r\n throw new IModelError(BentleyStatus.ERROR, \"Not bound.\");\r\n },\r\n };\r\n}\r\n"]}