@itwin/core-common 3.4.0-dev.9 → 3.5.0-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1006) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.d.ts +11 -11
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  12. package/lib/cjs/BackgroundMapProvider.js +68 -68
  13. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  14. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  15. package/lib/cjs/BackgroundMapSettings.js +156 -156
  16. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  17. package/lib/cjs/Base64EncodedString.d.ts +30 -30
  18. package/lib/cjs/Base64EncodedString.js +56 -56
  19. package/lib/cjs/Base64EncodedString.js.map +1 -1
  20. package/lib/cjs/BlobReader.d.ts +31 -31
  21. package/lib/cjs/BlobReader.js +84 -84
  22. package/lib/cjs/BlobReader.js.map +1 -1
  23. package/lib/cjs/BriefcaseTypes.d.ts +189 -189
  24. package/lib/cjs/BriefcaseTypes.js +95 -95
  25. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  26. package/lib/cjs/Camera.d.ts +42 -42
  27. package/lib/cjs/Camera.d.ts.map +1 -1
  28. package/lib/cjs/Camera.js +62 -58
  29. package/lib/cjs/Camera.js.map +1 -1
  30. package/lib/cjs/ChangedElements.d.ts +83 -83
  31. package/lib/cjs/ChangedElements.js +21 -21
  32. package/lib/cjs/ChangedElements.js.map +1 -1
  33. package/lib/cjs/ChangedEntities.d.ts +45 -45
  34. package/lib/cjs/ChangedEntities.js +9 -9
  35. package/lib/cjs/ChangedEntities.js.map +1 -1
  36. package/lib/cjs/ChangesetProps.d.ts +98 -98
  37. package/lib/cjs/ChangesetProps.js +22 -22
  38. package/lib/cjs/ChangesetProps.js.map +1 -1
  39. package/lib/cjs/ClipStyle.d.ts +89 -89
  40. package/lib/cjs/ClipStyle.js +123 -123
  41. package/lib/cjs/ClipStyle.js.map +1 -1
  42. package/lib/cjs/CloudStorage.d.ts +62 -47
  43. package/lib/cjs/CloudStorage.d.ts.map +1 -1
  44. package/lib/cjs/CloudStorage.js +113 -103
  45. package/lib/cjs/CloudStorage.js.map +1 -1
  46. package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
  47. package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
  48. package/lib/cjs/CloudStorageTileCache.js +66 -62
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +256 -250
  51. package/lib/cjs/Code.d.ts.map +1 -1
  52. package/lib/cjs/Code.js +281 -277
  53. package/lib/cjs/Code.js.map +1 -1
  54. package/lib/cjs/ColorByName.d.ts +161 -161
  55. package/lib/cjs/ColorByName.js +169 -169
  56. package/lib/cjs/ColorByName.js.map +1 -1
  57. package/lib/cjs/ColorDef.d.ts +208 -208
  58. package/lib/cjs/ColorDef.d.ts.map +1 -1
  59. package/lib/cjs/ColorDef.js +571 -569
  60. package/lib/cjs/ColorDef.js.map +1 -1
  61. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  62. package/lib/cjs/CommonLoggerCategory.js +26 -26
  63. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  64. package/lib/cjs/ConcurrentQuery.d.ts +241 -241
  65. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  66. package/lib/cjs/ConcurrentQuery.js +380 -338
  67. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  68. package/lib/cjs/ContextRealityModel.d.ts +276 -255
  69. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  70. package/lib/cjs/ContextRealityModel.js +358 -325
  71. package/lib/cjs/ContextRealityModel.js.map +1 -1
  72. package/lib/cjs/DisplayStyleSettings.d.ts +584 -552
  73. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  74. package/lib/cjs/DisplayStyleSettings.js +981 -951
  75. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  76. package/lib/cjs/ECSchemaProps.d.ts +40 -0
  77. package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
  78. package/lib/cjs/ECSchemaProps.js +10 -0
  79. package/lib/cjs/ECSchemaProps.js.map +1 -0
  80. package/lib/cjs/ECSqlReader.d.ts +70 -70
  81. package/lib/cjs/ECSqlReader.js +280 -280
  82. package/lib/cjs/ECSqlReader.js.map +1 -1
  83. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  84. package/lib/cjs/ECSqlTypes.js +189 -189
  85. package/lib/cjs/ECSqlTypes.js.map +1 -1
  86. package/lib/cjs/ElementProps.d.ts +476 -470
  87. package/lib/cjs/ElementProps.d.ts.map +1 -1
  88. package/lib/cjs/ElementProps.js +99 -99
  89. package/lib/cjs/ElementProps.js.map +1 -1
  90. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  91. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  92. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  93. package/lib/cjs/EntityProps.d.ts +176 -176
  94. package/lib/cjs/EntityProps.js +112 -112
  95. package/lib/cjs/EntityProps.js.map +1 -1
  96. package/lib/cjs/Environment.d.ts +61 -61
  97. package/lib/cjs/Environment.js +73 -73
  98. package/lib/cjs/Environment.js.map +1 -1
  99. package/lib/cjs/FeatureGates.d.ts +31 -31
  100. package/lib/cjs/FeatureGates.d.ts.map +1 -1
  101. package/lib/cjs/FeatureGates.js +55 -51
  102. package/lib/cjs/FeatureGates.js.map +1 -1
  103. package/lib/cjs/FeatureIndex.d.ts +39 -39
  104. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  105. package/lib/cjs/FeatureIndex.js +63 -59
  106. package/lib/cjs/FeatureIndex.js.map +1 -1
  107. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  108. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  109. package/lib/cjs/FeatureSymbology.js +614 -614
  110. package/lib/cjs/FeatureSymbology.js.map +1 -1
  111. package/lib/cjs/FeatureTable.d.ts +141 -141
  112. package/lib/cjs/FeatureTable.js +278 -278
  113. package/lib/cjs/FeatureTable.js.map +1 -1
  114. package/lib/cjs/Fonts.d.ts +51 -51
  115. package/lib/cjs/Fonts.d.ts.map +1 -1
  116. package/lib/cjs/Fonts.js +53 -53
  117. package/lib/cjs/Fonts.js.map +1 -1
  118. package/lib/cjs/Frustum.d.ts +114 -114
  119. package/lib/cjs/Frustum.d.ts.map +1 -1
  120. package/lib/cjs/Frustum.js +292 -258
  121. package/lib/cjs/Frustum.js.map +1 -1
  122. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  123. package/lib/cjs/GeoCoordinateServices.js +80 -80
  124. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  125. package/lib/cjs/GeometryContainment.d.ts +28 -28
  126. package/lib/cjs/GeometryContainment.js +9 -9
  127. package/lib/cjs/GeometryContainment.js.map +1 -1
  128. package/lib/cjs/GeometryParams.d.ts +130 -130
  129. package/lib/cjs/GeometryParams.js +174 -174
  130. package/lib/cjs/GeometryParams.js.map +1 -1
  131. package/lib/cjs/GeometrySummary.d.ts +45 -45
  132. package/lib/cjs/GeometrySummary.js +23 -23
  133. package/lib/cjs/GeometrySummary.js.map +1 -1
  134. package/lib/cjs/Gradient.d.ts +139 -123
  135. package/lib/cjs/Gradient.d.ts.map +1 -1
  136. package/lib/cjs/Gradient.js +455 -444
  137. package/lib/cjs/Gradient.js.map +1 -1
  138. package/lib/cjs/GraphicParams.d.ts +58 -58
  139. package/lib/cjs/GraphicParams.js +85 -85
  140. package/lib/cjs/GraphicParams.js.map +1 -1
  141. package/lib/cjs/GroundPlane.d.ts +52 -52
  142. package/lib/cjs/GroundPlane.js +64 -64
  143. package/lib/cjs/GroundPlane.js.map +1 -1
  144. package/lib/cjs/HSLColor.d.ts +20 -20
  145. package/lib/cjs/HSLColor.js +32 -32
  146. package/lib/cjs/HSLColor.js.map +1 -1
  147. package/lib/cjs/HSVColor.d.ts +30 -30
  148. package/lib/cjs/HSVColor.js +59 -59
  149. package/lib/cjs/HSVColor.js.map +1 -1
  150. package/lib/cjs/HiddenLine.d.ts +97 -97
  151. package/lib/cjs/HiddenLine.js +162 -162
  152. package/lib/cjs/HiddenLine.js.map +1 -1
  153. package/lib/cjs/Hilite.d.ts +50 -50
  154. package/lib/cjs/Hilite.js +64 -64
  155. package/lib/cjs/Hilite.js.map +1 -1
  156. package/lib/cjs/IModel.d.ts +359 -355
  157. package/lib/cjs/IModel.d.ts.map +1 -1
  158. package/lib/cjs/IModel.js +347 -340
  159. package/lib/cjs/IModel.js.map +1 -1
  160. package/lib/cjs/IModelError.d.ts +36 -36
  161. package/lib/cjs/IModelError.js +72 -72
  162. package/lib/cjs/IModelError.js.map +1 -1
  163. package/lib/cjs/IModelVersion.d.ts +68 -68
  164. package/lib/cjs/IModelVersion.js +79 -79
  165. package/lib/cjs/IModelVersion.js.map +1 -1
  166. package/lib/cjs/Image.d.ts +86 -86
  167. package/lib/cjs/Image.d.ts.map +1 -1
  168. package/lib/cjs/Image.js +128 -126
  169. package/lib/cjs/Image.js.map +1 -1
  170. package/lib/cjs/IpcAppProps.d.ts +124 -124
  171. package/lib/cjs/IpcAppProps.js +18 -18
  172. package/lib/cjs/IpcAppProps.js.map +1 -1
  173. package/lib/cjs/LightSettings.d.ts +224 -224
  174. package/lib/cjs/LightSettings.js +309 -309
  175. package/lib/cjs/LightSettings.js.map +1 -1
  176. package/lib/cjs/LinePixels.d.ts +34 -34
  177. package/lib/cjs/LinePixels.js +42 -42
  178. package/lib/cjs/LinePixels.js.map +1 -1
  179. package/lib/cjs/Localization.d.ts +111 -112
  180. package/lib/cjs/Localization.d.ts.map +1 -1
  181. package/lib/cjs/Localization.js +26 -26
  182. package/lib/cjs/Localization.js.map +1 -1
  183. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  184. package/lib/cjs/MapImagerySettings.js +80 -80
  185. package/lib/cjs/MapImagerySettings.js.map +1 -1
  186. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  187. package/lib/cjs/MapLayerSettings.js +411 -411
  188. package/lib/cjs/MapLayerSettings.js.map +1 -1
  189. package/lib/cjs/MassProperties.d.ts +64 -64
  190. package/lib/cjs/MassProperties.js +23 -23
  191. package/lib/cjs/MassProperties.js.map +1 -1
  192. package/lib/cjs/MaterialProps.d.ts +118 -118
  193. package/lib/cjs/MaterialProps.js +23 -23
  194. package/lib/cjs/MaterialProps.js.map +1 -1
  195. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  196. package/lib/cjs/ModelClipGroup.js +98 -98
  197. package/lib/cjs/ModelClipGroup.js.map +1 -1
  198. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  199. package/lib/cjs/ModelGeometryChanges.js +83 -83
  200. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  201. package/lib/cjs/ModelProps.d.ts +66 -66
  202. package/lib/cjs/ModelProps.js +9 -9
  203. package/lib/cjs/ModelProps.js.map +1 -1
  204. package/lib/cjs/NativeAppProps.d.ts +122 -122
  205. package/lib/cjs/NativeAppProps.js +30 -30
  206. package/lib/cjs/NativeAppProps.js.map +1 -1
  207. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  208. package/lib/cjs/OctEncodedNormal.js +98 -98
  209. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  210. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  211. package/lib/cjs/PlanProjectionSettings.js +63 -63
  212. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  213. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  214. package/lib/cjs/PlanarClipMask.js +136 -136
  215. package/lib/cjs/PlanarClipMask.js.map +1 -1
  216. package/lib/cjs/QPoint.d.ts +479 -299
  217. package/lib/cjs/QPoint.d.ts.map +1 -1
  218. package/lib/cjs/QPoint.js +826 -626
  219. package/lib/cjs/QPoint.js.map +1 -1
  220. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  221. package/lib/cjs/RealityDataAccessProps.js +19 -19
  222. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  223. package/lib/cjs/RealityModelDisplaySettings.d.ts +119 -0
  224. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -0
  225. package/lib/cjs/RealityModelDisplaySettings.js +115 -0
  226. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -0
  227. package/lib/cjs/Render.d.ts +89 -89
  228. package/lib/cjs/Render.d.ts.map +1 -1
  229. package/lib/cjs/Render.js +177 -169
  230. package/lib/cjs/Render.js.map +1 -1
  231. package/lib/cjs/RenderMaterial.d.ts +58 -58
  232. package/lib/cjs/RenderMaterial.js +76 -76
  233. package/lib/cjs/RenderMaterial.js.map +1 -1
  234. package/lib/cjs/RenderSchedule.d.ts +540 -540
  235. package/lib/cjs/RenderSchedule.js +1000 -1000
  236. package/lib/cjs/RenderTexture.d.ts +70 -70
  237. package/lib/cjs/RenderTexture.js +59 -59
  238. package/lib/cjs/RenderTexture.js.map +1 -1
  239. package/lib/cjs/RgbColor.d.ts +47 -39
  240. package/lib/cjs/RgbColor.d.ts.map +1 -1
  241. package/lib/cjs/RgbColor.js +77 -67
  242. package/lib/cjs/RgbColor.js.map +1 -1
  243. package/lib/cjs/RpcInterface.d.ts +33 -33
  244. package/lib/cjs/RpcInterface.js +137 -137
  245. package/lib/cjs/RpcInterface.js.map +1 -1
  246. package/lib/cjs/RpcManager.d.ts +40 -40
  247. package/lib/cjs/RpcManager.js +55 -55
  248. package/lib/cjs/RpcManager.js.map +1 -1
  249. package/lib/cjs/SessionProps.d.ts +16 -16
  250. package/lib/cjs/SessionProps.js +9 -9
  251. package/lib/cjs/SessionProps.js.map +1 -1
  252. package/lib/cjs/SkyBox.d.ts +215 -215
  253. package/lib/cjs/SkyBox.js +210 -210
  254. package/lib/cjs/SkyBox.js.map +1 -1
  255. package/lib/cjs/Snapping.d.ts +49 -49
  256. package/lib/cjs/Snapping.js +9 -9
  257. package/lib/cjs/Snapping.js.map +1 -1
  258. package/lib/cjs/SolarCalculate.d.ts +27 -27
  259. package/lib/cjs/SolarCalculate.js +211 -211
  260. package/lib/cjs/SolarCalculate.js.map +1 -1
  261. package/lib/cjs/SolarShadows.d.ts +35 -35
  262. package/lib/cjs/SolarShadows.js +62 -62
  263. package/lib/cjs/SolarShadows.js.map +1 -1
  264. package/lib/cjs/SpatialClassification.d.ts +208 -208
  265. package/lib/cjs/SpatialClassification.js +340 -340
  266. package/lib/cjs/SpatialClassification.js.map +1 -1
  267. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  268. package/lib/cjs/SubCategoryAppearance.js +96 -96
  269. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  270. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  271. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  272. package/lib/cjs/SubCategoryOverride.js +104 -104
  273. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  274. package/lib/cjs/TerrainSettings.d.ts +82 -77
  275. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  276. package/lib/cjs/TerrainSettings.js +102 -101
  277. package/lib/cjs/TerrainSettings.js.map +1 -1
  278. package/lib/cjs/TextureMapping.d.ts +101 -101
  279. package/lib/cjs/TextureMapping.js +174 -174
  280. package/lib/cjs/TextureMapping.js.map +1 -1
  281. package/lib/cjs/TextureProps.d.ts +65 -65
  282. package/lib/cjs/TextureProps.js +28 -28
  283. package/lib/cjs/TextureProps.js.map +1 -1
  284. package/lib/cjs/ThematicDisplay.d.ts +230 -234
  285. package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
  286. package/lib/cjs/ThematicDisplay.js +344 -344
  287. package/lib/cjs/ThematicDisplay.js.map +1 -1
  288. package/lib/cjs/Thumbnail.d.ts +26 -26
  289. package/lib/cjs/Thumbnail.js +9 -9
  290. package/lib/cjs/Thumbnail.js.map +1 -1
  291. package/lib/cjs/TileProps.d.ts +82 -77
  292. package/lib/cjs/TileProps.d.ts.map +1 -1
  293. package/lib/cjs/TileProps.js +29 -18
  294. package/lib/cjs/TileProps.js.map +1 -1
  295. package/lib/cjs/Tween.d.ts +191 -191
  296. package/lib/cjs/Tween.js +570 -570
  297. package/lib/cjs/Tween.js.map +1 -1
  298. package/lib/cjs/TxnAction.d.ts +21 -21
  299. package/lib/cjs/TxnAction.js +29 -29
  300. package/lib/cjs/TxnAction.js.map +1 -1
  301. package/lib/cjs/ViewDetails.d.ts +125 -125
  302. package/lib/cjs/ViewDetails.js +158 -158
  303. package/lib/cjs/ViewDetails.js.map +1 -1
  304. package/lib/cjs/ViewFlags.d.ts +291 -291
  305. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  306. package/lib/cjs/ViewFlags.js +368 -368
  307. package/lib/cjs/ViewFlags.js.map +1 -1
  308. package/lib/cjs/ViewProps.d.ts +205 -205
  309. package/lib/cjs/ViewProps.js +9 -9
  310. package/lib/cjs/ViewProps.js.map +1 -1
  311. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  312. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  313. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  314. package/lib/cjs/core-common.d.ts +241 -239
  315. package/lib/cjs/core-common.d.ts.map +1 -1
  316. package/lib/cjs/core-common.js +257 -255
  317. package/lib/cjs/core-common.js.map +1 -1
  318. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  319. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  320. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  321. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  322. package/lib/cjs/domains/GenericElementProps.js +9 -9
  323. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  324. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  325. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  326. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  327. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  328. package/lib/cjs/geometry/AreaPattern.js +204 -204
  329. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  330. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  331. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  332. package/lib/cjs/geometry/BoundingSphere.js +30 -24
  333. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  334. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  335. package/lib/cjs/geometry/Cartographic.js +345 -345
  336. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  337. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  338. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  339. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  340. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  341. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  342. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  343. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  344. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  345. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  346. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  347. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  348. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  349. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  350. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  351. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  352. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  353. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  354. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  355. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  356. package/lib/cjs/geometry/GeometryStream.js +469 -469
  357. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  358. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  359. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  360. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  361. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  362. package/lib/cjs/geometry/LineStyle.js +129 -129
  363. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  364. package/lib/cjs/geometry/Placement.d.ts +95 -95
  365. package/lib/cjs/geometry/Placement.js +131 -131
  366. package/lib/cjs/geometry/Placement.js.map +1 -1
  367. package/lib/cjs/geometry/Projection.d.ts +251 -251
  368. package/lib/cjs/geometry/Projection.js +198 -198
  369. package/lib/cjs/geometry/Projection.js.map +1 -1
  370. package/lib/cjs/geometry/TextString.d.ts +55 -55
  371. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  372. package/lib/cjs/geometry/TextString.js +65 -65
  373. package/lib/cjs/geometry/TextString.js.map +1 -1
  374. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  375. package/lib/cjs/ipc/IpcSession.js +27 -27
  376. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  377. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  378. package/lib/cjs/ipc/IpcSocket.js +16 -16
  379. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  380. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  381. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  382. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  383. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  384. package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -151
  385. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  386. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  387. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  388. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  389. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
  390. package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
  391. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  392. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
  393. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  394. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -86
  395. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  396. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  397. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  398. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  399. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  400. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  401. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  402. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  403. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  404. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  406. package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
  407. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -83
  409. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcConstants.js +103 -100
  411. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
  413. package/lib/cjs/rpc/core/RpcControl.js +149 -149
  414. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  416. package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
  417. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  418. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
  419. package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
  420. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  421. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  422. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  423. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  424. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  425. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  426. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  428. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  429. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  431. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  432. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  433. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  434. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  435. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  436. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  437. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  438. package/lib/cjs/rpc/core/RpcRequest.js +477 -471
  439. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  440. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  441. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  442. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  443. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  444. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  445. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  446. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  447. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  448. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  449. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  450. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  451. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  452. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  453. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  454. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -139
  455. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  456. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  457. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  458. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  459. package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
  460. package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
  461. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  462. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
  463. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  464. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  465. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  466. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  467. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -100
  468. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  469. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
  470. package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
  471. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  472. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  473. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  474. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
  475. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  476. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  477. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  478. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  479. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  480. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  481. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  482. package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
  483. package/lib/cjs/tile/ElementGraphics.js +9 -9
  484. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  485. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  486. package/lib/cjs/tile/GltfTileIO.js +109 -109
  487. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  488. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  489. package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
  490. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  491. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  492. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  493. package/lib/cjs/tile/IModelTileIO.js +95 -95
  494. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  495. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  496. package/lib/cjs/tile/PntsTileIO.js +26 -26
  497. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  498. package/lib/cjs/tile/TileIO.d.ts +66 -66
  499. package/lib/cjs/tile/TileIO.js +118 -118
  500. package/lib/cjs/tile/TileIO.js.map +1 -1
  501. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  502. package/lib/cjs/tile/TileMetadata.js +676 -676
  503. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  504. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  505. package/lib/esm/AmbientOcclusion.js +52 -52
  506. package/lib/esm/AmbientOcclusion.js.map +1 -1
  507. package/lib/esm/AnalysisStyle.d.ts +134 -134
  508. package/lib/esm/AnalysisStyle.js +159 -159
  509. package/lib/esm/AnalysisStyle.js.map +1 -1
  510. package/lib/esm/AuthorizationClient.d.ts +11 -11
  511. package/lib/esm/AuthorizationClient.js +8 -8
  512. package/lib/esm/AuthorizationClient.js.map +1 -1
  513. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  514. package/lib/esm/BackgroundMapProvider.js +64 -64
  515. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  516. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  517. package/lib/esm/BackgroundMapSettings.js +152 -152
  518. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  519. package/lib/esm/Base64EncodedString.d.ts +30 -30
  520. package/lib/esm/Base64EncodedString.js +53 -53
  521. package/lib/esm/Base64EncodedString.js.map +1 -1
  522. package/lib/esm/BlobReader.d.ts +31 -31
  523. package/lib/esm/BlobReader.js +79 -79
  524. package/lib/esm/BlobReader.js.map +1 -1
  525. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  526. package/lib/esm/BriefcaseTypes.js +92 -92
  527. package/lib/esm/BriefcaseTypes.js.map +1 -1
  528. package/lib/esm/Camera.d.ts +42 -42
  529. package/lib/esm/Camera.d.ts.map +1 -1
  530. package/lib/esm/Camera.js +58 -54
  531. package/lib/esm/Camera.js.map +1 -1
  532. package/lib/esm/ChangedElements.d.ts +83 -83
  533. package/lib/esm/ChangedElements.js +18 -18
  534. package/lib/esm/ChangedElements.js.map +1 -1
  535. package/lib/esm/ChangedEntities.d.ts +45 -45
  536. package/lib/esm/ChangedEntities.js +8 -8
  537. package/lib/esm/ChangedEntities.js.map +1 -1
  538. package/lib/esm/ChangesetProps.d.ts +98 -98
  539. package/lib/esm/ChangesetProps.js +19 -19
  540. package/lib/esm/ChangesetProps.js.map +1 -1
  541. package/lib/esm/ClipStyle.d.ts +89 -89
  542. package/lib/esm/ClipStyle.js +118 -118
  543. package/lib/esm/ClipStyle.js.map +1 -1
  544. package/lib/esm/CloudStorage.d.ts +62 -47
  545. package/lib/esm/CloudStorage.d.ts.map +1 -1
  546. package/lib/esm/CloudStorage.js +109 -99
  547. package/lib/esm/CloudStorage.js.map +1 -1
  548. package/lib/esm/CloudStorageTileCache.d.ts +27 -24
  549. package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
  550. package/lib/esm/CloudStorageTileCache.js +62 -58
  551. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  552. package/lib/esm/Code.d.ts +256 -250
  553. package/lib/esm/Code.d.ts.map +1 -1
  554. package/lib/esm/Code.js +276 -272
  555. package/lib/esm/Code.js.map +1 -1
  556. package/lib/esm/ColorByName.d.ts +161 -161
  557. package/lib/esm/ColorByName.js +166 -166
  558. package/lib/esm/ColorByName.js.map +1 -1
  559. package/lib/esm/ColorDef.d.ts +208 -208
  560. package/lib/esm/ColorDef.d.ts.map +1 -1
  561. package/lib/esm/ColorDef.js +567 -565
  562. package/lib/esm/ColorDef.js.map +1 -1
  563. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  564. package/lib/esm/CommonLoggerCategory.js +23 -23
  565. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  566. package/lib/esm/ConcurrentQuery.d.ts +241 -241
  567. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  568. package/lib/esm/ConcurrentQuery.js +373 -331
  569. package/lib/esm/ConcurrentQuery.js.map +1 -1
  570. package/lib/esm/ContextRealityModel.d.ts +276 -255
  571. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  572. package/lib/esm/ContextRealityModel.js +353 -320
  573. package/lib/esm/ContextRealityModel.js.map +1 -1
  574. package/lib/esm/DisplayStyleSettings.d.ts +584 -552
  575. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  576. package/lib/esm/DisplayStyleSettings.js +976 -946
  577. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  578. package/lib/esm/ECSchemaProps.d.ts +40 -0
  579. package/lib/esm/ECSchemaProps.d.ts.map +1 -0
  580. package/lib/esm/ECSchemaProps.js +9 -0
  581. package/lib/esm/ECSchemaProps.js.map +1 -0
  582. package/lib/esm/ECSqlReader.d.ts +70 -70
  583. package/lib/esm/ECSqlReader.js +275 -275
  584. package/lib/esm/ECSqlReader.js.map +1 -1
  585. package/lib/esm/ECSqlTypes.d.ts +128 -128
  586. package/lib/esm/ECSqlTypes.js +185 -185
  587. package/lib/esm/ECSqlTypes.js.map +1 -1
  588. package/lib/esm/ElementProps.d.ts +476 -470
  589. package/lib/esm/ElementProps.d.ts.map +1 -1
  590. package/lib/esm/ElementProps.js +92 -92
  591. package/lib/esm/ElementProps.js.map +1 -1
  592. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  593. package/lib/esm/EmphasizeElementsProps.js +22 -22
  594. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  595. package/lib/esm/EntityProps.d.ts +176 -176
  596. package/lib/esm/EntityProps.js +107 -107
  597. package/lib/esm/EntityProps.js.map +1 -1
  598. package/lib/esm/Environment.d.ts +61 -61
  599. package/lib/esm/Environment.js +69 -69
  600. package/lib/esm/Environment.js.map +1 -1
  601. package/lib/esm/FeatureGates.d.ts +31 -31
  602. package/lib/esm/FeatureGates.d.ts.map +1 -1
  603. package/lib/esm/FeatureGates.js +51 -47
  604. package/lib/esm/FeatureGates.js.map +1 -1
  605. package/lib/esm/FeatureIndex.d.ts +39 -39
  606. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  607. package/lib/esm/FeatureIndex.js +57 -53
  608. package/lib/esm/FeatureIndex.js.map +1 -1
  609. package/lib/esm/FeatureSymbology.d.ts +444 -444
  610. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  611. package/lib/esm/FeatureSymbology.js +609 -609
  612. package/lib/esm/FeatureSymbology.js.map +1 -1
  613. package/lib/esm/FeatureTable.d.ts +141 -141
  614. package/lib/esm/FeatureTable.js +272 -272
  615. package/lib/esm/FeatureTable.js.map +1 -1
  616. package/lib/esm/Fonts.d.ts +51 -51
  617. package/lib/esm/Fonts.d.ts.map +1 -1
  618. package/lib/esm/Fonts.js +49 -49
  619. package/lib/esm/Fonts.js.map +1 -1
  620. package/lib/esm/Frustum.d.ts +114 -114
  621. package/lib/esm/Frustum.d.ts.map +1 -1
  622. package/lib/esm/Frustum.js +288 -254
  623. package/lib/esm/Frustum.js.map +1 -1
  624. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  625. package/lib/esm/GeoCoordinateServices.js +76 -76
  626. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  627. package/lib/esm/GeometryContainment.d.ts +28 -28
  628. package/lib/esm/GeometryContainment.js +8 -8
  629. package/lib/esm/GeometryContainment.js.map +1 -1
  630. package/lib/esm/GeometryParams.d.ts +130 -130
  631. package/lib/esm/GeometryParams.js +170 -170
  632. package/lib/esm/GeometryParams.js.map +1 -1
  633. package/lib/esm/GeometrySummary.d.ts +45 -45
  634. package/lib/esm/GeometrySummary.js +20 -20
  635. package/lib/esm/GeometrySummary.js.map +1 -1
  636. package/lib/esm/Gradient.d.ts +139 -123
  637. package/lib/esm/Gradient.d.ts.map +1 -1
  638. package/lib/esm/Gradient.js +452 -441
  639. package/lib/esm/Gradient.js.map +1 -1
  640. package/lib/esm/GraphicParams.d.ts +58 -58
  641. package/lib/esm/GraphicParams.js +81 -81
  642. package/lib/esm/GraphicParams.js.map +1 -1
  643. package/lib/esm/GroundPlane.d.ts +52 -52
  644. package/lib/esm/GroundPlane.js +60 -60
  645. package/lib/esm/GroundPlane.js.map +1 -1
  646. package/lib/esm/HSLColor.d.ts +20 -20
  647. package/lib/esm/HSLColor.js +28 -28
  648. package/lib/esm/HSLColor.js.map +1 -1
  649. package/lib/esm/HSVColor.d.ts +30 -30
  650. package/lib/esm/HSVColor.js +55 -55
  651. package/lib/esm/HSVColor.js.map +1 -1
  652. package/lib/esm/HiddenLine.d.ts +97 -97
  653. package/lib/esm/HiddenLine.js +159 -159
  654. package/lib/esm/HiddenLine.js.map +1 -1
  655. package/lib/esm/Hilite.d.ts +50 -50
  656. package/lib/esm/Hilite.js +61 -61
  657. package/lib/esm/Hilite.js.map +1 -1
  658. package/lib/esm/IModel.d.ts +359 -355
  659. package/lib/esm/IModel.d.ts.map +1 -1
  660. package/lib/esm/IModel.js +342 -335
  661. package/lib/esm/IModel.js.map +1 -1
  662. package/lib/esm/IModelError.d.ts +36 -36
  663. package/lib/esm/IModelError.js +55 -55
  664. package/lib/esm/IModelError.js.map +1 -1
  665. package/lib/esm/IModelVersion.d.ts +68 -68
  666. package/lib/esm/IModelVersion.js +75 -75
  667. package/lib/esm/IModelVersion.js.map +1 -1
  668. package/lib/esm/Image.d.ts +86 -86
  669. package/lib/esm/Image.d.ts.map +1 -1
  670. package/lib/esm/Image.js +120 -118
  671. package/lib/esm/Image.js.map +1 -1
  672. package/lib/esm/IpcAppProps.d.ts +124 -124
  673. package/lib/esm/IpcAppProps.js +15 -15
  674. package/lib/esm/IpcAppProps.js.map +1 -1
  675. package/lib/esm/LightSettings.d.ts +224 -224
  676. package/lib/esm/LightSettings.js +301 -301
  677. package/lib/esm/LightSettings.js.map +1 -1
  678. package/lib/esm/LinePixels.d.ts +34 -34
  679. package/lib/esm/LinePixels.js +39 -39
  680. package/lib/esm/LinePixels.js.map +1 -1
  681. package/lib/esm/Localization.d.ts +111 -112
  682. package/lib/esm/Localization.d.ts.map +1 -1
  683. package/lib/esm/Localization.js +22 -22
  684. package/lib/esm/Localization.js.map +1 -1
  685. package/lib/esm/MapImagerySettings.d.ts +62 -62
  686. package/lib/esm/MapImagerySettings.js +76 -76
  687. package/lib/esm/MapImagerySettings.js.map +1 -1
  688. package/lib/esm/MapLayerSettings.d.ts +272 -272
  689. package/lib/esm/MapLayerSettings.js +403 -403
  690. package/lib/esm/MapLayerSettings.js.map +1 -1
  691. package/lib/esm/MassProperties.d.ts +64 -64
  692. package/lib/esm/MassProperties.js +20 -20
  693. package/lib/esm/MassProperties.js.map +1 -1
  694. package/lib/esm/MaterialProps.d.ts +118 -118
  695. package/lib/esm/MaterialProps.js +20 -20
  696. package/lib/esm/MaterialProps.js.map +1 -1
  697. package/lib/esm/ModelClipGroup.d.ts +67 -67
  698. package/lib/esm/ModelClipGroup.js +93 -93
  699. package/lib/esm/ModelClipGroup.js.map +1 -1
  700. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  701. package/lib/esm/ModelGeometryChanges.js +80 -80
  702. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  703. package/lib/esm/ModelProps.d.ts +66 -66
  704. package/lib/esm/ModelProps.js +8 -8
  705. package/lib/esm/ModelProps.js.map +1 -1
  706. package/lib/esm/NativeAppProps.d.ts +122 -122
  707. package/lib/esm/NativeAppProps.js +27 -27
  708. package/lib/esm/NativeAppProps.js.map +1 -1
  709. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  710. package/lib/esm/OctEncodedNormal.js +93 -93
  711. package/lib/esm/OctEncodedNormal.js.map +1 -1
  712. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  713. package/lib/esm/PlanProjectionSettings.js +59 -59
  714. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  715. package/lib/esm/PlanarClipMask.d.ts +177 -177
  716. package/lib/esm/PlanarClipMask.js +132 -132
  717. package/lib/esm/PlanarClipMask.js.map +1 -1
  718. package/lib/esm/QPoint.d.ts +479 -299
  719. package/lib/esm/QPoint.d.ts.map +1 -1
  720. package/lib/esm/QPoint.js +815 -617
  721. package/lib/esm/QPoint.js.map +1 -1
  722. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  723. package/lib/esm/RealityDataAccessProps.js +16 -16
  724. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  725. package/lib/esm/RealityModelDisplaySettings.d.ts +119 -0
  726. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -0
  727. package/lib/esm/RealityModelDisplaySettings.js +110 -0
  728. package/lib/esm/RealityModelDisplaySettings.js.map +1 -0
  729. package/lib/esm/Render.d.ts +89 -89
  730. package/lib/esm/Render.d.ts.map +1 -1
  731. package/lib/esm/Render.js +165 -157
  732. package/lib/esm/Render.js.map +1 -1
  733. package/lib/esm/RenderMaterial.d.ts +58 -58
  734. package/lib/esm/RenderMaterial.js +72 -72
  735. package/lib/esm/RenderMaterial.js.map +1 -1
  736. package/lib/esm/RenderSchedule.d.ts +540 -540
  737. package/lib/esm/RenderSchedule.js +997 -997
  738. package/lib/esm/RenderTexture.d.ts +70 -70
  739. package/lib/esm/RenderTexture.js +55 -55
  740. package/lib/esm/RenderTexture.js.map +1 -1
  741. package/lib/esm/RgbColor.d.ts +47 -39
  742. package/lib/esm/RgbColor.d.ts.map +1 -1
  743. package/lib/esm/RgbColor.js +73 -63
  744. package/lib/esm/RgbColor.js.map +1 -1
  745. package/lib/esm/RpcInterface.d.ts +33 -33
  746. package/lib/esm/RpcInterface.js +133 -133
  747. package/lib/esm/RpcInterface.js.map +1 -1
  748. package/lib/esm/RpcManager.d.ts +40 -40
  749. package/lib/esm/RpcManager.js +51 -51
  750. package/lib/esm/RpcManager.js.map +1 -1
  751. package/lib/esm/SessionProps.d.ts +16 -16
  752. package/lib/esm/SessionProps.js +8 -8
  753. package/lib/esm/SessionProps.js.map +1 -1
  754. package/lib/esm/SkyBox.d.ts +215 -215
  755. package/lib/esm/SkyBox.js +203 -203
  756. package/lib/esm/SkyBox.js.map +1 -1
  757. package/lib/esm/Snapping.d.ts +49 -49
  758. package/lib/esm/Snapping.js +8 -8
  759. package/lib/esm/Snapping.js.map +1 -1
  760. package/lib/esm/SolarCalculate.d.ts +27 -27
  761. package/lib/esm/SolarCalculate.js +204 -204
  762. package/lib/esm/SolarCalculate.js.map +1 -1
  763. package/lib/esm/SolarShadows.d.ts +35 -35
  764. package/lib/esm/SolarShadows.js +58 -58
  765. package/lib/esm/SolarShadows.js.map +1 -1
  766. package/lib/esm/SpatialClassification.d.ts +208 -208
  767. package/lib/esm/SpatialClassification.js +334 -334
  768. package/lib/esm/SpatialClassification.js.map +1 -1
  769. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  770. package/lib/esm/SubCategoryAppearance.js +92 -92
  771. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  772. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  773. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  774. package/lib/esm/SubCategoryOverride.js +100 -100
  775. package/lib/esm/SubCategoryOverride.js.map +1 -1
  776. package/lib/esm/TerrainSettings.d.ts +82 -77
  777. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  778. package/lib/esm/TerrainSettings.js +98 -97
  779. package/lib/esm/TerrainSettings.js.map +1 -1
  780. package/lib/esm/TextureMapping.d.ts +101 -101
  781. package/lib/esm/TextureMapping.js +170 -170
  782. package/lib/esm/TextureMapping.js.map +1 -1
  783. package/lib/esm/TextureProps.d.ts +65 -65
  784. package/lib/esm/TextureProps.js +25 -25
  785. package/lib/esm/TextureProps.js.map +1 -1
  786. package/lib/esm/ThematicDisplay.d.ts +230 -234
  787. package/lib/esm/ThematicDisplay.d.ts.map +1 -1
  788. package/lib/esm/ThematicDisplay.js +337 -337
  789. package/lib/esm/ThematicDisplay.js.map +1 -1
  790. package/lib/esm/Thumbnail.d.ts +26 -26
  791. package/lib/esm/Thumbnail.js +8 -8
  792. package/lib/esm/Thumbnail.js.map +1 -1
  793. package/lib/esm/TileProps.d.ts +82 -77
  794. package/lib/esm/TileProps.d.ts.map +1 -1
  795. package/lib/esm/TileProps.js +25 -15
  796. package/lib/esm/TileProps.js.map +1 -1
  797. package/lib/esm/Tween.d.ts +191 -191
  798. package/lib/esm/Tween.js +565 -565
  799. package/lib/esm/Tween.js.map +1 -1
  800. package/lib/esm/TxnAction.d.ts +21 -21
  801. package/lib/esm/TxnAction.js +26 -26
  802. package/lib/esm/TxnAction.js.map +1 -1
  803. package/lib/esm/ViewDetails.d.ts +125 -125
  804. package/lib/esm/ViewDetails.js +153 -153
  805. package/lib/esm/ViewDetails.js.map +1 -1
  806. package/lib/esm/ViewFlags.d.ts +291 -291
  807. package/lib/esm/ViewFlags.d.ts.map +1 -1
  808. package/lib/esm/ViewFlags.js +364 -364
  809. package/lib/esm/ViewFlags.js.map +1 -1
  810. package/lib/esm/ViewProps.d.ts +205 -205
  811. package/lib/esm/ViewProps.js +8 -8
  812. package/lib/esm/ViewProps.js.map +1 -1
  813. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  814. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  815. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  816. package/lib/esm/core-common.d.ts +241 -239
  817. package/lib/esm/core-common.d.ts.map +1 -1
  818. package/lib/esm/core-common.js +245 -243
  819. package/lib/esm/core-common.js.map +1 -1
  820. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  821. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  822. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  823. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  824. package/lib/esm/domains/GenericElementProps.js +8 -8
  825. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  826. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  827. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  828. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  829. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  830. package/lib/esm/geometry/AreaPattern.js +201 -201
  831. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  832. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  833. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  834. package/lib/esm/geometry/BoundingSphere.js +26 -20
  835. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  836. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  837. package/lib/esm/geometry/Cartographic.js +340 -340
  838. package/lib/esm/geometry/Cartographic.js.map +1 -1
  839. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  840. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  841. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  842. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  843. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  844. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  845. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  846. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  847. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  848. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  849. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  850. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  851. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  852. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  853. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  854. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  855. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  856. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  857. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  858. package/lib/esm/geometry/GeometryStream.js +464 -464
  859. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  860. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  861. package/lib/esm/geometry/ImageGraphic.js +93 -93
  862. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  863. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  864. package/lib/esm/geometry/LineStyle.js +126 -126
  865. package/lib/esm/geometry/LineStyle.js.map +1 -1
  866. package/lib/esm/geometry/Placement.d.ts +95 -95
  867. package/lib/esm/geometry/Placement.js +126 -126
  868. package/lib/esm/geometry/Placement.js.map +1 -1
  869. package/lib/esm/geometry/Projection.d.ts +251 -251
  870. package/lib/esm/geometry/Projection.js +192 -192
  871. package/lib/esm/geometry/Projection.js.map +1 -1
  872. package/lib/esm/geometry/TextString.d.ts +55 -55
  873. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  874. package/lib/esm/geometry/TextString.js +61 -61
  875. package/lib/esm/geometry/TextString.js.map +1 -1
  876. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  877. package/lib/esm/ipc/IpcSession.js +23 -23
  878. package/lib/esm/ipc/IpcSession.js.map +1 -1
  879. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  880. package/lib/esm/ipc/IpcSocket.js +12 -12
  881. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  882. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  883. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  884. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  885. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  886. package/lib/esm/ipc/IpcWebSocketTransport.js +154 -147
  887. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  888. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  889. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  890. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  891. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
  892. package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
  893. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  894. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
  895. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  896. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -82
  897. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  898. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  899. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  900. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  901. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  902. package/lib/esm/rpc/TestRpcManager.js +35 -35
  903. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  904. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  905. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  906. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  907. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  908. package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
  909. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  910. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -83
  911. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  912. package/lib/esm/rpc/core/RpcConstants.js +100 -97
  913. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  914. package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
  915. package/lib/esm/rpc/core/RpcControl.js +142 -142
  916. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  917. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  918. package/lib/esm/rpc/core/RpcInvocation.js +253 -253
  919. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  920. package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
  921. package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
  922. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  923. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  924. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  925. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  926. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  927. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  928. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  929. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  930. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  931. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  932. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  933. package/lib/esm/rpc/core/RpcPush.js +119 -119
  934. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  935. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  936. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  937. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  938. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  939. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  940. package/lib/esm/rpc/core/RpcRequest.js +472 -466
  941. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  942. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  943. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  944. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  945. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  946. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  947. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  948. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  949. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  950. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  951. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  952. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  953. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  954. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  955. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  956. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -135
  957. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  958. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  959. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  960. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  961. package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
  962. package/lib/esm/rpc/web/RpcMultipart.js +41 -41
  963. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  964. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
  965. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  966. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  967. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  968. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  969. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -96
  970. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  971. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
  972. package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
  973. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  974. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  975. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  976. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
  977. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  978. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  979. package/lib/esm/tile/B3dmTileIO.js +62 -62
  980. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  981. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  982. package/lib/esm/tile/CompositeTileIO.js +22 -22
  983. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  984. package/lib/esm/tile/ElementGraphics.d.ts +134 -134
  985. package/lib/esm/tile/ElementGraphics.js +8 -8
  986. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  987. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  988. package/lib/esm/tile/GltfTileIO.js +105 -105
  989. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  990. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  991. package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
  992. package/lib/esm/tile/I3dmTileIO.js +36 -36
  993. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  994. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  995. package/lib/esm/tile/IModelTileIO.js +90 -90
  996. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  997. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  998. package/lib/esm/tile/PntsTileIO.js +22 -22
  999. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1000. package/lib/esm/tile/TileIO.d.ts +66 -66
  1001. package/lib/esm/tile/TileIO.js +110 -110
  1002. package/lib/esm/tile/TileIO.js.map +1 -1
  1003. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1004. package/lib/esm/tile/TileMetadata.js +661 -661
  1005. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1006. package/package.json +9 -8
@@ -1,69 +1,69 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RpcInterface
7
- */
8
- import { RpcManager } from "../../RpcManager";
9
- import { RpcConfiguration } from "../core/RpcConfiguration";
10
- import { RpcRequestEvent } from "../core/RpcConstants";
11
- import { RpcRequest } from "../core/RpcRequest";
12
- import { BentleyCloudRpcProtocol } from "./BentleyCloudRpcProtocol";
13
- import { RpcRoutingToken } from "../core/RpcRoutingToken";
14
- /** Operating parameters for Bentley cloud RPC interface deployments.
15
- * @internal
16
- */
17
- export class BentleyCloudRpcConfiguration extends RpcConfiguration {
18
- }
19
- /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */
20
- BentleyCloudRpcConfiguration.accessControl = {
21
- allowOrigin: "*",
22
- allowMethods: "POST, GET, OPTIONS",
23
- allowHeaders: "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, X-Correlation-Id, X-Session-Id, X-Application-Id, X-Application-Version, X-User-Id, X-Protocol-Version",
24
- };
25
- /** Coordinates usage of RPC interfaces for Bentley cloud deployments.
26
- * @internal
27
- */
28
- export class BentleyCloudRpcManager extends RpcManager {
29
- /** Initializes BentleyCloudRpcManager for the frontend of an application. */
30
- static initializeClient(params, interfaces, routing = RpcRoutingToken.default) {
31
- return BentleyCloudRpcManager.performInitialization(params, interfaces, routing);
32
- }
33
- /** Initializes BentleyCloudRpcManager for the backend of an application. */
34
- static initializeImpl(params, interfaces) {
35
- return BentleyCloudRpcManager.performInitialization(params, interfaces);
36
- }
37
- static performInitialization(params, interfaces, routing = RpcRoutingToken.default) {
38
- const protocol = class extends (params.protocol || BentleyCloudRpcProtocol) {
39
- constructor() {
40
- super(...arguments);
41
- this.pathPrefix = params.uriPrefix || "";
42
- this.info = params.info;
43
- }
44
- };
45
- const config = class extends BentleyCloudRpcConfiguration {
46
- constructor() {
47
- super(...arguments);
48
- this.interfaces = () => interfaces;
49
- this.protocol = new protocol(this);
50
- this.routing = routing;
51
- }
52
- };
53
- for (const def of interfaces) {
54
- RpcConfiguration.assignWithRouting(def, routing, config);
55
- }
56
- const instance = RpcConfiguration.obtain(config);
57
- RpcConfiguration.initializeInterfaces(instance);
58
- if (params.pendingRequestListener) {
59
- const listener = params.pendingRequestListener;
60
- RpcRequest.events.addListener((type, request) => {
61
- if (type === RpcRequestEvent.PendingUpdateReceived && request.protocol === instance.protocol) {
62
- listener(type, request);
63
- }
64
- });
65
- }
66
- return instance;
67
- }
68
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module RpcInterface
7
+ */
8
+ import { RpcManager } from "../../RpcManager";
9
+ import { RpcConfiguration } from "../core/RpcConfiguration";
10
+ import { RpcRequestEvent } from "../core/RpcConstants";
11
+ import { RpcRequest } from "../core/RpcRequest";
12
+ import { BentleyCloudRpcProtocol } from "./BentleyCloudRpcProtocol";
13
+ import { RpcRoutingToken } from "../core/RpcRoutingToken";
14
+ /** Operating parameters for Bentley cloud RPC interface deployments.
15
+ * @internal
16
+ */
17
+ export class BentleyCloudRpcConfiguration extends RpcConfiguration {
18
+ }
19
+ /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */
20
+ BentleyCloudRpcConfiguration.accessControl = {
21
+ allowOrigin: "*",
22
+ allowMethods: "POST, GET, OPTIONS",
23
+ allowHeaders: "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, X-Correlation-Id, X-Session-Id, X-Application-Id, X-Application-Version, X-User-Id, X-Protocol-Version",
24
+ };
25
+ /** Coordinates usage of RPC interfaces for Bentley cloud deployments.
26
+ * @internal
27
+ */
28
+ export class BentleyCloudRpcManager extends RpcManager {
29
+ /** Initializes BentleyCloudRpcManager for the frontend of an application. */
30
+ static initializeClient(params, interfaces, routing = RpcRoutingToken.default) {
31
+ return BentleyCloudRpcManager.performInitialization(params, interfaces, routing);
32
+ }
33
+ /** Initializes BentleyCloudRpcManager for the backend of an application. */
34
+ static initializeImpl(params, interfaces) {
35
+ return BentleyCloudRpcManager.performInitialization(params, interfaces);
36
+ }
37
+ static performInitialization(params, interfaces, routing = RpcRoutingToken.default) {
38
+ const protocol = class extends (params.protocol || BentleyCloudRpcProtocol) {
39
+ constructor() {
40
+ super(...arguments);
41
+ this.pathPrefix = params.uriPrefix || "";
42
+ this.info = params.info;
43
+ }
44
+ };
45
+ const config = class extends BentleyCloudRpcConfiguration {
46
+ constructor() {
47
+ super(...arguments);
48
+ this.interfaces = () => interfaces;
49
+ this.protocol = new protocol(this);
50
+ this.routing = routing;
51
+ }
52
+ };
53
+ for (const def of interfaces) {
54
+ RpcConfiguration.assignWithRouting(def, routing, config);
55
+ }
56
+ const instance = RpcConfiguration.obtain(config);
57
+ RpcConfiguration.initializeInterfaces(instance);
58
+ if (params.pendingRequestListener) {
59
+ const listener = params.pendingRequestListener;
60
+ RpcRequest.events.addListener((type, request) => {
61
+ if (type === RpcRequestEvent.PendingUpdateReceived && request.protocol === instance.protocol) {
62
+ listener(type, request);
63
+ }
64
+ });
65
+ }
66
+ return instance;
67
+ }
68
+ }
69
69
  //# sourceMappingURL=BentleyCloudRpcManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyCloudRpcManager.js","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB1D;;GAEG;AACH,MAAM,OAAgB,4BAA6B,SAAQ,gBAAgB;;AACzE,2GAA2G;AACpF,0CAAa,GAAG;IACrC,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,qLAAqL;CACpM,CAAC;AAMJ;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAU;IACpD,6EAA6E;IACtE,MAAM,CAAC,gBAAgB,CAAC,MAA6B,EAAE,UAAoC,EAAE,UAA2B,eAAe,CAAC,OAAO;QACpJ,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,cAAc,CAAC,MAA6B,EAAE,UAAoC;QAC9F,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,MAA6B,EAAE,UAAoC,EAAE,UAA2B,eAAe,CAAC,OAAO;QAC1J,MAAM,QAAQ,GAAG,KAAM,SAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,uBAAuB,CAAC;YAA1D;;gBACC,eAAU,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC7C,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,CAAC;SAAA,CAAC;QAEF,MAAM,MAAM,GAAG,KAAM,SAAQ,4BAA4B;YAA1C;;gBACN,eAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC9B,aAAQ,GAA4B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9C,YAAO,GAAG,OAAO,CAAC;YACpC,CAAC;SAAA,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC5B,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SAC1D;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,sBAAsB,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC;YAE/C,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAC9C,IAAI,IAAI,KAAK,eAAe,CAAC,qBAAqB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;oBAC5F,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { RpcInterfaceDefinition } from \"../../RpcInterface\";\r\nimport { RpcManager } from \"../../RpcManager\";\r\nimport { RpcConfiguration } from \"../core/RpcConfiguration\";\r\nimport { RpcRequestEvent } from \"../core/RpcConstants\";\r\nimport { RpcRequest, RpcRequestEventHandler } from \"../core/RpcRequest\";\r\nimport { BentleyCloudRpcProtocol } from \"./BentleyCloudRpcProtocol\";\r\nimport { OpenAPIInfo } from \"./OpenAPI\";\r\nimport { RpcRoutingToken } from \"../core/RpcRoutingToken\";\r\n\r\n/** Initialization parameters for BentleyCloudRpcConfiguration.\r\n * @internal\r\n */\r\nexport interface BentleyCloudRpcParams {\r\n /** Identifies the remote server that implements a set of RpcInterfaces. Note that the ID of the remote server is not a URI or hostname. It is a string that matches a key in the orchestrator's app registry. */\r\n info: OpenAPIInfo;\r\n /** The protocol for Bentley cloud RPC interface deployments */\r\n protocol?: typeof BentleyCloudRpcProtocol;\r\n /** The URI of the orchestrator that will route requests to the remote RpcInterface server. If not supplied, this default to the origin of the Web page. This is required only when calling initializeClient and only if the server is not the origin of the Web page. */\r\n uriPrefix?: string;\r\n /** Handler for RPC request events. */\r\n pendingRequestListener?: RpcRequestEventHandler;\r\n}\r\n\r\n/** Operating parameters for Bentley cloud RPC interface deployments.\r\n * @internal\r\n */\r\nexport abstract class BentleyCloudRpcConfiguration extends RpcConfiguration {\r\n /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */\r\n public static readonly accessControl = {\r\n allowOrigin: \"*\",\r\n allowMethods: \"POST, GET, OPTIONS\",\r\n allowHeaders: \"Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, X-Correlation-Id, X-Session-Id, X-Application-Id, X-Application-Version, X-User-Id, X-Protocol-Version\",\r\n };\r\n\r\n /** The protocol of the configuration. */\r\n public abstract override readonly protocol: BentleyCloudRpcProtocol;\r\n}\r\n\r\n/** Coordinates usage of RPC interfaces for Bentley cloud deployments.\r\n * @internal\r\n */\r\nexport class BentleyCloudRpcManager extends RpcManager {\r\n /** Initializes BentleyCloudRpcManager for the frontend of an application. */\r\n public static initializeClient(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing: RpcRoutingToken = RpcRoutingToken.default): BentleyCloudRpcConfiguration {\r\n return BentleyCloudRpcManager.performInitialization(params, interfaces, routing);\r\n }\r\n\r\n /** Initializes BentleyCloudRpcManager for the backend of an application. */\r\n public static initializeImpl(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[]): BentleyCloudRpcConfiguration {\r\n return BentleyCloudRpcManager.performInitialization(params, interfaces);\r\n }\r\n\r\n private static performInitialization(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing: RpcRoutingToken = RpcRoutingToken.default): BentleyCloudRpcConfiguration {\r\n const protocol = class extends (params.protocol || BentleyCloudRpcProtocol) {\r\n public override pathPrefix = params.uriPrefix || \"\";\r\n public info = params.info;\r\n };\r\n\r\n const config = class extends BentleyCloudRpcConfiguration {\r\n public interfaces = () => interfaces;\r\n public protocol: BentleyCloudRpcProtocol = new protocol(this);\r\n public override routing = routing;\r\n };\r\n\r\n for (const def of interfaces) {\r\n RpcConfiguration.assignWithRouting(def, routing, config);\r\n }\r\n\r\n const instance = RpcConfiguration.obtain(config);\r\n RpcConfiguration.initializeInterfaces(instance);\r\n\r\n if (params.pendingRequestListener) {\r\n const listener = params.pendingRequestListener;\r\n\r\n RpcRequest.events.addListener((type, request) => {\r\n if (type === RpcRequestEvent.PendingUpdateReceived && request.protocol === instance.protocol) {\r\n listener(type, request);\r\n }\r\n });\r\n }\r\n\r\n return instance;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BentleyCloudRpcManager.js","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgB1D;;GAEG;AACH,MAAM,OAAgB,4BAA6B,SAAQ,gBAAgB;;AACzE,2GAA2G;AACpF,0CAAa,GAAG;IACrC,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,qLAAqL;CACpM,CAAC;AAMJ;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAU;IACpD,6EAA6E;IACtE,MAAM,CAAC,gBAAgB,CAAC,MAA6B,EAAE,UAAoC,EAAE,UAA2B,eAAe,CAAC,OAAO;QACpJ,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,4EAA4E;IACrE,MAAM,CAAC,cAAc,CAAC,MAA6B,EAAE,UAAoC;QAC9F,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,MAA6B,EAAE,UAAoC,EAAE,UAA2B,eAAe,CAAC,OAAO;QAC1J,MAAM,QAAQ,GAAG,KAAM,SAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,uBAAuB,CAAC;YAA1D;;gBACC,eAAU,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC7C,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,CAAC;SAAA,CAAC;QAEF,MAAM,MAAM,GAAG,KAAM,SAAQ,4BAA4B;YAA1C;;gBACN,eAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC9B,aAAQ,GAA4B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9C,YAAO,GAAG,OAAO,CAAC;YACpC,CAAC;SAAA,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC5B,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SAC1D;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,sBAAsB,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC;YAE/C,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAC9C,IAAI,IAAI,KAAK,eAAe,CAAC,qBAAqB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;oBAC5F,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { RpcInterfaceDefinition } from \"../../RpcInterface\";\nimport { RpcManager } from \"../../RpcManager\";\nimport { RpcConfiguration } from \"../core/RpcConfiguration\";\nimport { RpcRequestEvent } from \"../core/RpcConstants\";\nimport { RpcRequest, RpcRequestEventHandler } from \"../core/RpcRequest\";\nimport { BentleyCloudRpcProtocol } from \"./BentleyCloudRpcProtocol\";\nimport { OpenAPIInfo } from \"./OpenAPI\";\nimport { RpcRoutingToken } from \"../core/RpcRoutingToken\";\n\n/** Initialization parameters for BentleyCloudRpcConfiguration.\n * @internal\n */\nexport interface BentleyCloudRpcParams {\n /** Identifies the remote server that implements a set of RpcInterfaces. Note that the ID of the remote server is not a URI or hostname. It is a string that matches a key in the orchestrator's app registry. */\n info: OpenAPIInfo;\n /** The protocol for Bentley cloud RPC interface deployments */\n protocol?: typeof BentleyCloudRpcProtocol;\n /** The URI of the orchestrator that will route requests to the remote RpcInterface server. If not supplied, this default to the origin of the Web page. This is required only when calling initializeClient and only if the server is not the origin of the Web page. */\n uriPrefix?: string;\n /** Handler for RPC request events. */\n pendingRequestListener?: RpcRequestEventHandler;\n}\n\n/** Operating parameters for Bentley cloud RPC interface deployments.\n * @internal\n */\nexport abstract class BentleyCloudRpcConfiguration extends RpcConfiguration {\n /** Access-Control header values for backend servers that serve frontends using BentleyCloudRpcProtocol. */\n public static readonly accessControl = {\n allowOrigin: \"*\",\n allowMethods: \"POST, GET, OPTIONS\",\n allowHeaders: \"Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, X-Correlation-Id, X-Session-Id, X-Application-Id, X-Application-Version, X-User-Id, X-Protocol-Version\",\n };\n\n /** The protocol of the configuration. */\n public abstract override readonly protocol: BentleyCloudRpcProtocol;\n}\n\n/** Coordinates usage of RPC interfaces for Bentley cloud deployments.\n * @internal\n */\nexport class BentleyCloudRpcManager extends RpcManager {\n /** Initializes BentleyCloudRpcManager for the frontend of an application. */\n public static initializeClient(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing: RpcRoutingToken = RpcRoutingToken.default): BentleyCloudRpcConfiguration {\n return BentleyCloudRpcManager.performInitialization(params, interfaces, routing);\n }\n\n /** Initializes BentleyCloudRpcManager for the backend of an application. */\n public static initializeImpl(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[]): BentleyCloudRpcConfiguration {\n return BentleyCloudRpcManager.performInitialization(params, interfaces);\n }\n\n private static performInitialization(params: BentleyCloudRpcParams, interfaces: RpcInterfaceDefinition[], routing: RpcRoutingToken = RpcRoutingToken.default): BentleyCloudRpcConfiguration {\n const protocol = class extends (params.protocol || BentleyCloudRpcProtocol) {\n public override pathPrefix = params.uriPrefix || \"\";\n public info = params.info;\n };\n\n const config = class extends BentleyCloudRpcConfiguration {\n public interfaces = () => interfaces;\n public protocol: BentleyCloudRpcProtocol = new protocol(this);\n public override routing = routing;\n };\n\n for (const def of interfaces) {\n RpcConfiguration.assignWithRouting(def, routing, config);\n }\n\n const instance = RpcConfiguration.obtain(config);\n RpcConfiguration.initializeInterfaces(instance);\n\n if (params.pendingRequestListener) {\n const listener = params.pendingRequestListener;\n\n RpcRequest.events.addListener((type, request) => {\n if (type === RpcRequestEvent.PendingUpdateReceived && request.protocol === instance.protocol) {\n listener(type, request);\n }\n });\n }\n\n return instance;\n }\n}\n"]}
@@ -1,34 +1,34 @@
1
- /** @packageDocumentation
2
- * @module RpcInterface
3
- */
4
- import { IModelRpcProps } from "../../IModel";
5
- import { RpcOperation } from "../core/RpcOperation";
6
- import { SerializedRpcOperation, SerializedRpcRequest } from "../core/RpcProtocol";
7
- import { RpcRequest } from "../core/RpcRequest";
8
- import { OpenAPIParameter } from "./OpenAPI";
9
- import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
10
- import { SerializedRpcActivity } from "../core/RpcInvocation";
11
- /** An http protocol for Bentley cloud RPC interface deployments.
12
- * @internal
13
- */
14
- export declare abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
15
- checkToken: boolean;
16
- /** The name of various HTTP request headers based on client's request context */
17
- serializedClientRequestContextHeaderNames: SerializedRpcActivity;
18
- /** The name of the RPC protocol version header. */
19
- protocolVersionHeaderName: string;
20
- /** Returns the operation specified by an OpenAPI-compatible URI path. */
21
- getOperationFromPath(path: string): SerializedRpcOperation;
22
- /** Supplies the OpenAPI-compatible URI path for an RPC operation. */
23
- supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined): string;
24
- /**
25
- * Inflates the IModelRpcProps from the URL path for each request on the backend.
26
- * @note This function updates the IModelRpcProps value supplied in the request body.
27
- */
28
- inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps;
29
- /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
30
- * @internal
31
- */
32
- supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[];
33
- }
1
+ /** @packageDocumentation
2
+ * @module RpcInterface
3
+ */
4
+ import { IModelRpcProps } from "../../IModel";
5
+ import { RpcOperation } from "../core/RpcOperation";
6
+ import { SerializedRpcOperation, SerializedRpcRequest } from "../core/RpcProtocol";
7
+ import { RpcRequest } from "../core/RpcRequest";
8
+ import { OpenAPIParameter } from "./OpenAPI";
9
+ import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
10
+ import { SerializedRpcActivity } from "../core/RpcInvocation";
11
+ /** An http protocol for Bentley cloud RPC interface deployments.
12
+ * @internal
13
+ */
14
+ export declare abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
15
+ checkToken: boolean;
16
+ /** The name of various HTTP request headers based on client's request context */
17
+ serializedClientRequestContextHeaderNames: SerializedRpcActivity;
18
+ /** The name of the RPC protocol version header. */
19
+ protocolVersionHeaderName: string;
20
+ /** Returns the operation specified by an OpenAPI-compatible URI path. */
21
+ getOperationFromPath(path: string): SerializedRpcOperation;
22
+ /** Supplies the OpenAPI-compatible URI path for an RPC operation. */
23
+ supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined): string;
24
+ /**
25
+ * Inflates the IModelRpcProps from the URL path for each request on the backend.
26
+ * @note This function updates the IModelRpcProps value supplied in the request body.
27
+ */
28
+ inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps;
29
+ /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
30
+ * @internal
31
+ */
32
+ supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[];
33
+ }
34
34
  //# sourceMappingURL=BentleyCloudRpcProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyCloudRpcProtocol.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcProtocol.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAM9D;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,iBAAiB;IACrD,UAAU,UAAQ;IAElC,iFAAiF;IACjE,yCAAyC,EAAE,qBAAqB,CAe9E;IAEF,mDAAmD;IACnC,yBAAyB,SAAwB;IAEjE,yEAAyE;IACzD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;IAgB1E,qEAAqE;IACrD,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS;IA0C/F;;;OAGG;IACa,YAAY,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,GAAG,cAAc;IA4B1G;;OAEG;IACI,gCAAgC,CAAC,UAAU,EAAE,YAAY,GAAG,gBAAgB,EAAE;CAQtF"}
1
+ {"version":3,"file":"BentleyCloudRpcProtocol.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcProtocol.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAM9D;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,iBAAiB;IACrD,UAAU,UAAQ;IAElC,iFAAiF;IACjE,yCAAyC,EAAE,qBAAqB,CAe9E;IAEF,mDAAmD;IACnC,yBAAyB,SAAwB;IAEjE,yEAAyE;IACzD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;IAoB1E,qEAAqE;IACrD,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS;IA0C/F;;;OAGG;IACa,YAAY,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,GAAG,cAAc;IA4B1G;;OAEG;IACI,gCAAgC,CAAC,UAAU,EAAE,YAAY,GAAG,gBAAgB,EAAE;CAQtF"}
@@ -1,136 +1,139 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RpcInterface
7
- */
8
- import { BentleyStatus } from "@itwin/core-bentley";
9
- import { IModelError } from "../../IModelError";
10
- import { RpcConfiguration } from "../core/RpcConfiguration";
11
- import { RpcOperation } from "../core/RpcOperation";
12
- import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
13
- var AppMode;
14
- (function (AppMode) {
15
- AppMode["MilestoneReview"] = "1";
16
- })(AppMode || (AppMode = {}));
17
- /** An http protocol for Bentley cloud RPC interface deployments.
18
- * @internal
19
- */
20
- export class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
21
- constructor() {
22
- super(...arguments);
23
- this.checkToken = true;
24
- /** The name of various HTTP request headers based on client's request context */
25
- this.serializedClientRequestContextHeaderNames = {
26
- /** The name of the HTTP request id header. */
27
- id: "X-Correlation-Id",
28
- /** The name of the HTTP application id header. */
29
- applicationId: "X-Application-Id",
30
- /** The name of the HTTP application version header. */
31
- applicationVersion: "X-Application-Version",
32
- /** The name of the HTTP session id header. */
33
- sessionId: "X-Session-Id",
34
- /** The name of the HTTP authorization header. */
35
- authorization: "Authorization",
36
- };
37
- /** The name of the RPC protocol version header. */
38
- this.protocolVersionHeaderName = "X-Protocol-Version";
39
- }
40
- /** Returns the operation specified by an OpenAPI-compatible URI path. */
41
- getOperationFromPath(path) {
42
- const url = new URL(path, "https://localhost/");
43
- const components = url.pathname.split("/").filter((x) => x); // filter out empty segments
44
- const operationComponent = components.slice(-1)[0];
45
- const encodedRequest = url.searchParams.get("parameters") || "";
46
- const firstHyphen = operationComponent.indexOf("-");
47
- const lastHyphen = operationComponent.lastIndexOf("-");
48
- const interfaceDefinition = operationComponent.slice(0, firstHyphen);
49
- const interfaceVersion = operationComponent.slice(firstHyphen + 1, lastHyphen);
50
- const operationName = operationComponent.slice(lastHyphen + 1);
51
- return { interfaceDefinition, operationName, interfaceVersion, encodedRequest };
52
- }
53
- /** Supplies the OpenAPI-compatible URI path for an RPC operation. */
54
- supplyPathForOperation(operation, request) {
55
- var _a;
56
- const prefix = this.pathPrefix;
57
- const appTitle = this.info.title;
58
- const appVersion = this.info.version;
59
- const operationId = `${operation.interfaceDefinition.interfaceName}-${operation.interfaceVersion}-${operation.operationName}`;
60
- let appMode = "";
61
- let iTwinId = "";
62
- let iModelId = "";
63
- let routeChangesetId;
64
- /* Note: The changesetId field is omitted in the route in the case of ReadWrite connections since the connection is generally expected to be at the
65
- * latest version and not some specific changeset. Also, for the first version (before any changesets), the changesetId in the route is arbitrarily
66
- * set to "0" instead of an empty string, since the latter is more un-intuitive for a route. However, in all other use cases, including the changesetId
67
- * held by the IModelRpcProps itself, the changesetId of "" (i.e., empty string) signifies the first version - this is more intuitive and retains
68
- * compatibility with the majority of use cases. */
69
- if (request === undefined) {
70
- appMode = "{modeId}";
71
- iTwinId = "{iTwinId}";
72
- iModelId = "{iModelId}";
73
- routeChangesetId = "{changeSetId}";
74
- }
75
- else {
76
- let token = operation.policy.token(request) || RpcOperation.fallbackToken;
77
- if (!token || !token.iModelId) {
78
- if (RpcConfiguration.disableRoutingValidation) {
79
- token = { key: "" };
80
- }
81
- else {
82
- throw new IModelError(BentleyStatus.ERROR, "Invalid iModelToken for RPC operation request");
83
- }
84
- }
85
- iTwinId = encodeURIComponent(token.iTwinId || "");
86
- iModelId = encodeURIComponent(token.iModelId);
87
- routeChangesetId = ((_a = token.changeset) === null || _a === void 0 ? void 0 : _a.id) || "0";
88
- appMode = AppMode.MilestoneReview;
89
- }
90
- return `${prefix}/${appTitle}/${appVersion}/mode/${appMode}/context/${iTwinId}/imodel/${iModelId}${!!routeChangesetId ? `/changeset/${routeChangesetId}` : ""}/${operationId}`;
91
- }
92
- /**
93
- * Inflates the IModelRpcProps from the URL path for each request on the backend.
94
- * @note This function updates the IModelRpcProps value supplied in the request body.
95
- */
96
- inflateToken(tokenFromBody, request) {
97
- var _a, _b, _c;
98
- const urlPathComponents = request.path.split("/");
99
- const iModelKey = tokenFromBody.key;
100
- let iModelId = tokenFromBody.iModelId;
101
- let iTwinId = tokenFromBody.iTwinId;
102
- const changeset = { id: (_b = (_a = tokenFromBody.changeset) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "0", index: (_c = tokenFromBody.changeset) === null || _c === void 0 ? void 0 : _c.index };
103
- for (let i = 0; i <= urlPathComponents.length; ++i) {
104
- const key = urlPathComponents[i];
105
- const value = urlPathComponents[i + 1];
106
- if (key === "mode") {
107
- ++i;
108
- }
109
- else if (key === "context") {
110
- iTwinId = value;
111
- ++i;
112
- }
113
- else if (key === "imodel") {
114
- iModelId = value;
115
- ++i;
116
- }
117
- else if (key === "changeset") {
118
- changeset.id = (value === "0") ? "" : value;
119
- ++i;
120
- }
121
- }
122
- return { key: iModelKey, iTwinId, iModelId, changeset };
123
- }
124
- /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
125
- * @internal
126
- */
127
- supplyPathParametersForOperation(_operation) {
128
- return [
129
- { name: "modeId", in: "path", required: true, schema: { type: "string" } },
130
- { name: "iTwinId", in: "path", required: true, schema: { type: "string" } },
131
- { name: "iModelId", in: "path", required: true, schema: { type: "string" } },
132
- { name: "changeSetId", in: "path", required: false, schema: { type: "string" } },
133
- ];
134
- }
135
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module RpcInterface
7
+ */
8
+ import { BentleyStatus } from "@itwin/core-bentley";
9
+ import { IModelError } from "../../IModelError";
10
+ import { RpcConfiguration } from "../core/RpcConfiguration";
11
+ import { RpcOperation } from "../core/RpcOperation";
12
+ import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
13
+ var AppMode;
14
+ (function (AppMode) {
15
+ AppMode["MilestoneReview"] = "1";
16
+ })(AppMode || (AppMode = {}));
17
+ /** An http protocol for Bentley cloud RPC interface deployments.
18
+ * @internal
19
+ */
20
+ export class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.checkToken = true;
24
+ /** The name of various HTTP request headers based on client's request context */
25
+ this.serializedClientRequestContextHeaderNames = {
26
+ /** The name of the HTTP request id header. */
27
+ id: "X-Correlation-Id",
28
+ /** The name of the HTTP application id header. */
29
+ applicationId: "X-Application-Id",
30
+ /** The name of the HTTP application version header. */
31
+ applicationVersion: "X-Application-Version",
32
+ /** The name of the HTTP session id header. */
33
+ sessionId: "X-Session-Id",
34
+ /** The name of the HTTP authorization header. */
35
+ authorization: "Authorization",
36
+ };
37
+ /** The name of the RPC protocol version header. */
38
+ this.protocolVersionHeaderName = "X-Protocol-Version";
39
+ }
40
+ /** Returns the operation specified by an OpenAPI-compatible URI path. */
41
+ getOperationFromPath(path) {
42
+ const url = new URL(path, "https://localhost/");
43
+ const components = url.pathname.split("/").filter((x) => x); // filter out empty segments
44
+ const operationComponent = components.slice(-1)[0];
45
+ const encodedRequest = url.searchParams.get("parameters") || "";
46
+ // The encodedRequest should be base64 - fail now if any other characters detected.
47
+ if (/[^A-z0-9=+\/]/.test(encodedRequest))
48
+ throw new IModelError(BentleyStatus.ERROR, `Invalid request: Malformed URL parameters detected.`);
49
+ const firstHyphen = operationComponent.indexOf("-");
50
+ const lastHyphen = operationComponent.lastIndexOf("-");
51
+ const interfaceDefinition = operationComponent.slice(0, firstHyphen);
52
+ const interfaceVersion = operationComponent.slice(firstHyphen + 1, lastHyphen);
53
+ const operationName = operationComponent.slice(lastHyphen + 1);
54
+ return { interfaceDefinition, operationName, interfaceVersion, encodedRequest };
55
+ }
56
+ /** Supplies the OpenAPI-compatible URI path for an RPC operation. */
57
+ supplyPathForOperation(operation, request) {
58
+ var _a;
59
+ const prefix = this.pathPrefix;
60
+ const appTitle = this.info.title;
61
+ const appVersion = this.info.version;
62
+ const operationId = `${operation.interfaceDefinition.interfaceName}-${operation.interfaceVersion}-${operation.operationName}`;
63
+ let appMode = "";
64
+ let iTwinId = "";
65
+ let iModelId = "";
66
+ let routeChangesetId;
67
+ /* Note: The changesetId field is omitted in the route in the case of ReadWrite connections since the connection is generally expected to be at the
68
+ * latest version and not some specific changeset. Also, for the first version (before any changesets), the changesetId in the route is arbitrarily
69
+ * set to "0" instead of an empty string, since the latter is more un-intuitive for a route. However, in all other use cases, including the changesetId
70
+ * held by the IModelRpcProps itself, the changesetId of "" (i.e., empty string) signifies the first version - this is more intuitive and retains
71
+ * compatibility with the majority of use cases. */
72
+ if (request === undefined) {
73
+ appMode = "{modeId}";
74
+ iTwinId = "{iTwinId}";
75
+ iModelId = "{iModelId}";
76
+ routeChangesetId = "{changeSetId}";
77
+ }
78
+ else {
79
+ let token = operation.policy.token(request) || RpcOperation.fallbackToken;
80
+ if (!token || !token.iModelId) {
81
+ if (RpcConfiguration.disableRoutingValidation) {
82
+ token = { key: "" };
83
+ }
84
+ else {
85
+ throw new IModelError(BentleyStatus.ERROR, "Invalid iModelToken for RPC operation request");
86
+ }
87
+ }
88
+ iTwinId = encodeURIComponent(token.iTwinId || "");
89
+ iModelId = encodeURIComponent(token.iModelId);
90
+ routeChangesetId = ((_a = token.changeset) === null || _a === void 0 ? void 0 : _a.id) || "0";
91
+ appMode = AppMode.MilestoneReview;
92
+ }
93
+ return `${prefix}/${appTitle}/${appVersion}/mode/${appMode}/context/${iTwinId}/imodel/${iModelId}${!!routeChangesetId ? `/changeset/${routeChangesetId}` : ""}/${operationId}`;
94
+ }
95
+ /**
96
+ * Inflates the IModelRpcProps from the URL path for each request on the backend.
97
+ * @note This function updates the IModelRpcProps value supplied in the request body.
98
+ */
99
+ inflateToken(tokenFromBody, request) {
100
+ var _a, _b, _c;
101
+ const urlPathComponents = request.path.split("/");
102
+ const iModelKey = tokenFromBody.key;
103
+ let iModelId = tokenFromBody.iModelId;
104
+ let iTwinId = tokenFromBody.iTwinId;
105
+ const changeset = { id: (_b = (_a = tokenFromBody.changeset) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "0", index: (_c = tokenFromBody.changeset) === null || _c === void 0 ? void 0 : _c.index };
106
+ for (let i = 0; i <= urlPathComponents.length; ++i) {
107
+ const key = urlPathComponents[i];
108
+ const value = urlPathComponents[i + 1];
109
+ if (key === "mode") {
110
+ ++i;
111
+ }
112
+ else if (key === "context") {
113
+ iTwinId = value;
114
+ ++i;
115
+ }
116
+ else if (key === "imodel") {
117
+ iModelId = value;
118
+ ++i;
119
+ }
120
+ else if (key === "changeset") {
121
+ changeset.id = (value === "0") ? "" : value;
122
+ ++i;
123
+ }
124
+ }
125
+ return { key: iModelKey, iTwinId, iModelId, changeset };
126
+ }
127
+ /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
128
+ * @internal
129
+ */
130
+ supplyPathParametersForOperation(_operation) {
131
+ return [
132
+ { name: "modeId", in: "path", required: true, schema: { type: "string" } },
133
+ { name: "iTwinId", in: "path", required: true, schema: { type: "string" } },
134
+ { name: "iModelId", in: "path", required: true, schema: { type: "string" } },
135
+ { name: "changeSetId", in: "path", required: false, schema: { type: "string" } },
136
+ ];
137
+ }
138
+ }
136
139
  //# sourceMappingURL=BentleyCloudRpcProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BentleyCloudRpcProtocol.js","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcProtocol.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 { IModelRpcProps } from \"../../IModel\";\r\nimport { IModelError } from \"../../IModelError\";\r\nimport { RpcConfiguration } from \"../core/RpcConfiguration\";\r\nimport { RpcOperation } from \"../core/RpcOperation\";\r\nimport { SerializedRpcOperation, SerializedRpcRequest } from \"../core/RpcProtocol\";\r\nimport { RpcRequest } from \"../core/RpcRequest\";\r\nimport { OpenAPIParameter } from \"./OpenAPI\";\r\nimport { WebAppRpcProtocol } from \"./WebAppRpcProtocol\";\r\nimport { SerializedRpcActivity } from \"../core/RpcInvocation\";\r\n\r\nenum AppMode {\r\n MilestoneReview = \"1\",\r\n}\r\n\r\n/** An http protocol for Bentley cloud RPC interface deployments.\r\n * @internal\r\n */\r\nexport abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {\r\n public override checkToken = true;\r\n\r\n /** The name of various HTTP request headers based on client's request context */\r\n public override serializedClientRequestContextHeaderNames: SerializedRpcActivity = {\r\n /** The name of the HTTP request id header. */\r\n id: \"X-Correlation-Id\",\r\n\r\n /** The name of the HTTP application id header. */\r\n applicationId: \"X-Application-Id\",\r\n\r\n /** The name of the HTTP application version header. */\r\n applicationVersion: \"X-Application-Version\",\r\n\r\n /** The name of the HTTP session id header. */\r\n sessionId: \"X-Session-Id\",\r\n\r\n /** The name of the HTTP authorization header. */\r\n authorization: \"Authorization\",\r\n };\r\n\r\n /** The name of the RPC protocol version header. */\r\n public override protocolVersionHeaderName = \"X-Protocol-Version\";\r\n\r\n /** Returns the operation specified by an OpenAPI-compatible URI path. */\r\n public override getOperationFromPath(path: string): SerializedRpcOperation {\r\n const url = new URL(path, \"https://localhost/\");\r\n const components = url.pathname.split(\"/\").filter((x) => x); // filter out empty segments\r\n\r\n const operationComponent = components.slice(-1)[0];\r\n const encodedRequest = url.searchParams.get(\"parameters\") || \"\";\r\n\r\n const firstHyphen = operationComponent.indexOf(\"-\");\r\n const lastHyphen = operationComponent.lastIndexOf(\"-\");\r\n const interfaceDefinition = operationComponent.slice(0, firstHyphen);\r\n const interfaceVersion = operationComponent.slice(firstHyphen + 1, lastHyphen);\r\n const operationName = operationComponent.slice(lastHyphen + 1);\r\n\r\n return { interfaceDefinition, operationName, interfaceVersion, encodedRequest };\r\n }\r\n\r\n /** Supplies the OpenAPI-compatible URI path for an RPC operation. */\r\n public override supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined) {\r\n const prefix = this.pathPrefix;\r\n const appTitle = this.info.title;\r\n const appVersion = this.info.version;\r\n const operationId = `${operation.interfaceDefinition.interfaceName}-${operation.interfaceVersion}-${operation.operationName}`;\r\n\r\n let appMode: string = \"\";\r\n let iTwinId: string = \"\";\r\n let iModelId: string = \"\";\r\n let routeChangesetId: string | undefined;\r\n /* Note: The changesetId field is omitted in the route in the case of ReadWrite connections since the connection is generally expected to be at the\r\n * latest version and not some specific changeset. Also, for the first version (before any changesets), the changesetId in the route is arbitrarily\r\n * set to \"0\" instead of an empty string, since the latter is more un-intuitive for a route. However, in all other use cases, including the changesetId\r\n * held by the IModelRpcProps itself, the changesetId of \"\" (i.e., empty string) signifies the first version - this is more intuitive and retains\r\n * compatibility with the majority of use cases. */\r\n\r\n if (request === undefined) {\r\n appMode = \"{modeId}\";\r\n iTwinId = \"{iTwinId}\";\r\n iModelId = \"{iModelId}\";\r\n routeChangesetId = \"{changeSetId}\";\r\n } else {\r\n let token = operation.policy.token(request) || RpcOperation.fallbackToken;\r\n\r\n if (!token || !token.iModelId) {\r\n if (RpcConfiguration.disableRoutingValidation) {\r\n token = { key: \"\" };\r\n } else {\r\n throw new IModelError(BentleyStatus.ERROR, \"Invalid iModelToken for RPC operation request\");\r\n }\r\n }\r\n\r\n iTwinId = encodeURIComponent(token.iTwinId || \"\");\r\n iModelId = encodeURIComponent(token.iModelId!);\r\n\r\n routeChangesetId = token.changeset?.id || \"0\";\r\n appMode = AppMode.MilestoneReview;\r\n }\r\n\r\n return `${prefix}/${appTitle}/${appVersion}/mode/${appMode}/context/${iTwinId}/imodel/${iModelId}${!!routeChangesetId ? `/changeset/${routeChangesetId}` : \"\"}/${operationId}`;\r\n }\r\n\r\n /**\r\n * Inflates the IModelRpcProps from the URL path for each request on the backend.\r\n * @note This function updates the IModelRpcProps value supplied in the request body.\r\n */\r\n public override inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps {\r\n const urlPathComponents = request.path.split(\"/\");\r\n\r\n const iModelKey = tokenFromBody.key;\r\n let iModelId = tokenFromBody.iModelId;\r\n let iTwinId = tokenFromBody.iTwinId;\r\n const changeset = { id: tokenFromBody.changeset?.id ?? \"0\", index: tokenFromBody.changeset?.index };\r\n\r\n for (let i = 0; i <= urlPathComponents.length; ++i) {\r\n const key = urlPathComponents[i];\r\n const value = urlPathComponents[i + 1];\r\n if (key === \"mode\") {\r\n ++i;\r\n } else if (key === \"context\") {\r\n iTwinId = value;\r\n ++i;\r\n } else if (key === \"imodel\") {\r\n iModelId = value;\r\n ++i;\r\n } else if (key === \"changeset\") {\r\n changeset.id = (value === \"0\") ? \"\" : value;\r\n ++i;\r\n }\r\n }\r\n\r\n return { key: iModelKey, iTwinId, iModelId, changeset };\r\n }\r\n\r\n /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.\r\n * @internal\r\n */\r\n public supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[] {\r\n return [\r\n { name: \"modeId\", in: \"path\", required: true, schema: { type: \"string\" } },\r\n { name: \"iTwinId\", in: \"path\", required: true, schema: { type: \"string\" } },\r\n { name: \"iModelId\", in: \"path\", required: true, schema: { type: \"string\" } },\r\n { name: \"changeSetId\", in: \"path\", required: false, schema: { type: \"string\" } },\r\n ];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BentleyCloudRpcProtocol.js","sourceRoot":"","sources":["../../../../src/rpc/web/BentleyCloudRpcProtocol.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { BentleyStatus } from \"@itwin/core-bentley\";\nimport { IModelRpcProps } from \"../../IModel\";\nimport { IModelError } from \"../../IModelError\";\nimport { RpcConfiguration } from \"../core/RpcConfiguration\";\nimport { RpcOperation } from \"../core/RpcOperation\";\nimport { SerializedRpcOperation, SerializedRpcRequest } from \"../core/RpcProtocol\";\nimport { RpcRequest } from \"../core/RpcRequest\";\nimport { OpenAPIParameter } from \"./OpenAPI\";\nimport { WebAppRpcProtocol } from \"./WebAppRpcProtocol\";\nimport { SerializedRpcActivity } from \"../core/RpcInvocation\";\n\nenum AppMode {\n MilestoneReview = \"1\",\n}\n\n/** An http protocol for Bentley cloud RPC interface deployments.\n * @internal\n */\nexport abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {\n public override checkToken = true;\n\n /** The name of various HTTP request headers based on client's request context */\n public override serializedClientRequestContextHeaderNames: SerializedRpcActivity = {\n /** The name of the HTTP request id header. */\n id: \"X-Correlation-Id\",\n\n /** The name of the HTTP application id header. */\n applicationId: \"X-Application-Id\",\n\n /** The name of the HTTP application version header. */\n applicationVersion: \"X-Application-Version\",\n\n /** The name of the HTTP session id header. */\n sessionId: \"X-Session-Id\",\n\n /** The name of the HTTP authorization header. */\n authorization: \"Authorization\",\n };\n\n /** The name of the RPC protocol version header. */\n public override protocolVersionHeaderName = \"X-Protocol-Version\";\n\n /** Returns the operation specified by an OpenAPI-compatible URI path. */\n public override getOperationFromPath(path: string): SerializedRpcOperation {\n const url = new URL(path, \"https://localhost/\");\n const components = url.pathname.split(\"/\").filter((x) => x); // filter out empty segments\n\n const operationComponent = components.slice(-1)[0];\n const encodedRequest = url.searchParams.get(\"parameters\") || \"\";\n\n // The encodedRequest should be base64 - fail now if any other characters detected.\n if (/[^A-z0-9=+\\/]/.test(encodedRequest))\n throw new IModelError(BentleyStatus.ERROR, `Invalid request: Malformed URL parameters detected.`);\n\n const firstHyphen = operationComponent.indexOf(\"-\");\n const lastHyphen = operationComponent.lastIndexOf(\"-\");\n const interfaceDefinition = operationComponent.slice(0, firstHyphen);\n const interfaceVersion = operationComponent.slice(firstHyphen + 1, lastHyphen);\n const operationName = operationComponent.slice(lastHyphen + 1);\n\n return { interfaceDefinition, operationName, interfaceVersion, encodedRequest };\n }\n\n /** Supplies the OpenAPI-compatible URI path for an RPC operation. */\n public override supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined) {\n const prefix = this.pathPrefix;\n const appTitle = this.info.title;\n const appVersion = this.info.version;\n const operationId = `${operation.interfaceDefinition.interfaceName}-${operation.interfaceVersion}-${operation.operationName}`;\n\n let appMode: string = \"\";\n let iTwinId: string = \"\";\n let iModelId: string = \"\";\n let routeChangesetId: string | undefined;\n /* Note: The changesetId field is omitted in the route in the case of ReadWrite connections since the connection is generally expected to be at the\n * latest version and not some specific changeset. Also, for the first version (before any changesets), the changesetId in the route is arbitrarily\n * set to \"0\" instead of an empty string, since the latter is more un-intuitive for a route. However, in all other use cases, including the changesetId\n * held by the IModelRpcProps itself, the changesetId of \"\" (i.e., empty string) signifies the first version - this is more intuitive and retains\n * compatibility with the majority of use cases. */\n\n if (request === undefined) {\n appMode = \"{modeId}\";\n iTwinId = \"{iTwinId}\";\n iModelId = \"{iModelId}\";\n routeChangesetId = \"{changeSetId}\";\n } else {\n let token = operation.policy.token(request) || RpcOperation.fallbackToken;\n\n if (!token || !token.iModelId) {\n if (RpcConfiguration.disableRoutingValidation) {\n token = { key: \"\" };\n } else {\n throw new IModelError(BentleyStatus.ERROR, \"Invalid iModelToken for RPC operation request\");\n }\n }\n\n iTwinId = encodeURIComponent(token.iTwinId || \"\");\n iModelId = encodeURIComponent(token.iModelId!);\n\n routeChangesetId = token.changeset?.id || \"0\";\n appMode = AppMode.MilestoneReview;\n }\n\n return `${prefix}/${appTitle}/${appVersion}/mode/${appMode}/context/${iTwinId}/imodel/${iModelId}${!!routeChangesetId ? `/changeset/${routeChangesetId}` : \"\"}/${operationId}`;\n }\n\n /**\n * Inflates the IModelRpcProps from the URL path for each request on the backend.\n * @note This function updates the IModelRpcProps value supplied in the request body.\n */\n public override inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps {\n const urlPathComponents = request.path.split(\"/\");\n\n const iModelKey = tokenFromBody.key;\n let iModelId = tokenFromBody.iModelId;\n let iTwinId = tokenFromBody.iTwinId;\n const changeset = { id: tokenFromBody.changeset?.id ?? \"0\", index: tokenFromBody.changeset?.index };\n\n for (let i = 0; i <= urlPathComponents.length; ++i) {\n const key = urlPathComponents[i];\n const value = urlPathComponents[i + 1];\n if (key === \"mode\") {\n ++i;\n } else if (key === \"context\") {\n iTwinId = value;\n ++i;\n } else if (key === \"imodel\") {\n iModelId = value;\n ++i;\n } else if (key === \"changeset\") {\n changeset.id = (value === \"0\") ? \"\" : value;\n ++i;\n }\n }\n\n return { key: iModelKey, iTwinId, iModelId, changeset };\n }\n\n /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.\n * @internal\n */\n public supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[] {\n return [\n { name: \"modeId\", in: \"path\", required: true, schema: { type: \"string\" } },\n { name: \"iTwinId\", in: \"path\", required: true, schema: { type: \"string\" } },\n { name: \"iModelId\", in: \"path\", required: true, schema: { type: \"string\" } },\n { name: \"changeSetId\", in: \"path\", required: false, schema: { type: \"string\" } },\n ];\n }\n}\n"]}