@itwin/core-common 3.6.0-dev.65 → 3.6.0-dev.66

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 (945) hide show
  1. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  2. package/lib/cjs/AmbientOcclusion.js +55 -55
  3. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  8. package/lib/cjs/AuthorizationClient.js +9 -9
  9. package/lib/cjs/AuthorizationClient.js.map +1 -1
  10. package/lib/cjs/BackendTypes.d.ts +12 -12
  11. package/lib/cjs/BackendTypes.js +9 -9
  12. package/lib/cjs/BackendTypes.js.map +1 -1
  13. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  14. package/lib/cjs/BackgroundMapProvider.js +68 -68
  15. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  16. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  17. package/lib/cjs/BackgroundMapSettings.js +156 -156
  18. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  19. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  20. package/lib/cjs/Base64EncodedString.js +66 -66
  21. package/lib/cjs/Base64EncodedString.js.map +1 -1
  22. package/lib/cjs/BlobReader.d.ts +31 -31
  23. package/lib/cjs/BlobReader.js +84 -84
  24. package/lib/cjs/BlobReader.js.map +1 -1
  25. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  26. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  27. package/lib/cjs/BriefcaseTypes.js +95 -95
  28. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  29. package/lib/cjs/Camera.d.ts +42 -42
  30. package/lib/cjs/Camera.js +62 -62
  31. package/lib/cjs/Camera.js.map +1 -1
  32. package/lib/cjs/ChangedElements.d.ts +85 -85
  33. package/lib/cjs/ChangedElements.js +23 -23
  34. package/lib/cjs/ChangedElements.js.map +1 -1
  35. package/lib/cjs/ChangedEntities.d.ts +45 -45
  36. package/lib/cjs/ChangedEntities.js +9 -9
  37. package/lib/cjs/ChangedEntities.js.map +1 -1
  38. package/lib/cjs/ChangesetProps.d.ts +98 -98
  39. package/lib/cjs/ChangesetProps.js +22 -22
  40. package/lib/cjs/ChangesetProps.js.map +1 -1
  41. package/lib/cjs/ClipStyle.d.ts +89 -89
  42. package/lib/cjs/ClipStyle.js +123 -123
  43. package/lib/cjs/ClipStyle.js.map +1 -1
  44. package/lib/cjs/CloudStorage.d.ts +62 -62
  45. package/lib/cjs/CloudStorage.js +113 -113
  46. package/lib/cjs/CloudStorage.js.map +1 -1
  47. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  48. package/lib/cjs/CloudStorageTileCache.js +66 -66
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +277 -277
  51. package/lib/cjs/Code.js +269 -269
  52. package/lib/cjs/Code.js.map +1 -1
  53. package/lib/cjs/ColorByName.d.ts +161 -161
  54. package/lib/cjs/ColorByName.js +169 -169
  55. package/lib/cjs/ColorByName.js.map +1 -1
  56. package/lib/cjs/ColorDef.d.ts +208 -208
  57. package/lib/cjs/ColorDef.js +571 -571
  58. package/lib/cjs/ColorDef.js.map +1 -1
  59. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  60. package/lib/cjs/CommonLoggerCategory.js +26 -26
  61. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.js +552 -552
  64. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  65. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  66. package/lib/cjs/ContextRealityModel.js +373 -373
  67. package/lib/cjs/ContextRealityModel.js.map +1 -1
  68. package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
  69. package/lib/cjs/DisplayStyleSettings.js +985 -985
  70. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  71. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  72. package/lib/cjs/ECSchemaProps.js +9 -9
  73. package/lib/cjs/ECSchemaProps.js.map +1 -1
  74. package/lib/cjs/ECSqlReader.d.ts +70 -70
  75. package/lib/cjs/ECSqlReader.js +280 -280
  76. package/lib/cjs/ECSqlReader.js.map +1 -1
  77. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  78. package/lib/cjs/ECSqlTypes.js +189 -189
  79. package/lib/cjs/ECSqlTypes.js.map +1 -1
  80. package/lib/cjs/ElementMesh.d.ts +39 -39
  81. package/lib/cjs/ElementMesh.js +56 -56
  82. package/lib/cjs/ElementMesh.js.map +1 -1
  83. package/lib/cjs/ElementProps.d.ts +483 -483
  84. package/lib/cjs/ElementProps.js +99 -99
  85. package/lib/cjs/ElementProps.js.map +1 -1
  86. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  87. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  88. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  89. package/lib/cjs/EntityProps.d.ts +177 -177
  90. package/lib/cjs/EntityProps.js +113 -113
  91. package/lib/cjs/EntityProps.js.map +1 -1
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.js +56 -56
  94. package/lib/cjs/EntityReference.js.map +1 -1
  95. package/lib/cjs/Environment.d.ts +61 -61
  96. package/lib/cjs/Environment.js +73 -73
  97. package/lib/cjs/Environment.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.js +63 -63
  100. package/lib/cjs/FeatureIndex.js.map +1 -1
  101. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  102. package/lib/cjs/FeatureSymbology.js +614 -614
  103. package/lib/cjs/FeatureSymbology.js.map +1 -1
  104. package/lib/cjs/FeatureTable.d.ts +141 -141
  105. package/lib/cjs/FeatureTable.js +278 -278
  106. package/lib/cjs/FeatureTable.js.map +1 -1
  107. package/lib/cjs/Fonts.d.ts +51 -51
  108. package/lib/cjs/Fonts.js +53 -53
  109. package/lib/cjs/Fonts.js.map +1 -1
  110. package/lib/cjs/Frustum.d.ts +114 -114
  111. package/lib/cjs/Frustum.js +292 -292
  112. package/lib/cjs/Frustum.js.map +1 -1
  113. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  114. package/lib/cjs/GeoCoordinateServices.js +80 -80
  115. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  116. package/lib/cjs/GeometryContainment.d.ts +28 -28
  117. package/lib/cjs/GeometryContainment.js +9 -9
  118. package/lib/cjs/GeometryContainment.js.map +1 -1
  119. package/lib/cjs/GeometryParams.d.ts +130 -130
  120. package/lib/cjs/GeometryParams.js +174 -174
  121. package/lib/cjs/GeometryParams.js.map +1 -1
  122. package/lib/cjs/GeometrySummary.d.ts +45 -45
  123. package/lib/cjs/GeometrySummary.js +23 -23
  124. package/lib/cjs/GeometrySummary.js.map +1 -1
  125. package/lib/cjs/Gradient.d.ts +139 -139
  126. package/lib/cjs/Gradient.js +455 -455
  127. package/lib/cjs/Gradient.js.map +1 -1
  128. package/lib/cjs/GraphicParams.d.ts +58 -58
  129. package/lib/cjs/GraphicParams.js +85 -85
  130. package/lib/cjs/GraphicParams.js.map +1 -1
  131. package/lib/cjs/GroundPlane.d.ts +52 -52
  132. package/lib/cjs/GroundPlane.js +64 -64
  133. package/lib/cjs/GroundPlane.js.map +1 -1
  134. package/lib/cjs/HSLColor.d.ts +20 -20
  135. package/lib/cjs/HSLColor.js +32 -32
  136. package/lib/cjs/HSLColor.js.map +1 -1
  137. package/lib/cjs/HSVColor.d.ts +30 -30
  138. package/lib/cjs/HSVColor.js +59 -59
  139. package/lib/cjs/HSVColor.js.map +1 -1
  140. package/lib/cjs/HiddenLine.d.ts +97 -97
  141. package/lib/cjs/HiddenLine.js +162 -162
  142. package/lib/cjs/HiddenLine.js.map +1 -1
  143. package/lib/cjs/Hilite.d.ts +50 -50
  144. package/lib/cjs/Hilite.js +64 -64
  145. package/lib/cjs/Hilite.js.map +1 -1
  146. package/lib/cjs/IModel.d.ts +359 -359
  147. package/lib/cjs/IModel.js +347 -347
  148. package/lib/cjs/IModel.js.map +1 -1
  149. package/lib/cjs/IModelError.d.ts +42 -42
  150. package/lib/cjs/IModelError.js +71 -71
  151. package/lib/cjs/IModelError.js.map +1 -1
  152. package/lib/cjs/IModelVersion.d.ts +68 -68
  153. package/lib/cjs/IModelVersion.js +79 -79
  154. package/lib/cjs/IModelVersion.js.map +1 -1
  155. package/lib/cjs/Image.d.ts +86 -86
  156. package/lib/cjs/Image.js +128 -128
  157. package/lib/cjs/Image.js.map +1 -1
  158. package/lib/cjs/IpcAppProps.d.ts +141 -141
  159. package/lib/cjs/IpcAppProps.js +23 -23
  160. package/lib/cjs/IpcAppProps.js.map +1 -1
  161. package/lib/cjs/LightSettings.d.ts +224 -224
  162. package/lib/cjs/LightSettings.js +309 -309
  163. package/lib/cjs/LightSettings.js.map +1 -1
  164. package/lib/cjs/LinePixels.d.ts +34 -34
  165. package/lib/cjs/LinePixels.js +42 -42
  166. package/lib/cjs/LinePixels.js.map +1 -1
  167. package/lib/cjs/Localization.d.ts +113 -113
  168. package/lib/cjs/Localization.js +33 -33
  169. package/lib/cjs/Localization.js.map +1 -1
  170. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  171. package/lib/cjs/MapImagerySettings.js +80 -80
  172. package/lib/cjs/MapImagerySettings.js.map +1 -1
  173. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  174. package/lib/cjs/MapLayerSettings.js +411 -411
  175. package/lib/cjs/MapLayerSettings.js.map +1 -1
  176. package/lib/cjs/MassProperties.d.ts +64 -64
  177. package/lib/cjs/MassProperties.js +23 -23
  178. package/lib/cjs/MassProperties.js.map +1 -1
  179. package/lib/cjs/MaterialProps.d.ts +153 -153
  180. package/lib/cjs/MaterialProps.js +35 -35
  181. package/lib/cjs/MaterialProps.js.map +1 -1
  182. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  183. package/lib/cjs/ModelClipGroup.js +98 -98
  184. package/lib/cjs/ModelClipGroup.js.map +1 -1
  185. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  186. package/lib/cjs/ModelGeometryChanges.js +83 -83
  187. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  188. package/lib/cjs/ModelProps.d.ts +67 -67
  189. package/lib/cjs/ModelProps.js +9 -9
  190. package/lib/cjs/ModelProps.js.map +1 -1
  191. package/lib/cjs/NativeAppProps.d.ts +122 -122
  192. package/lib/cjs/NativeAppProps.js +30 -30
  193. package/lib/cjs/NativeAppProps.js.map +1 -1
  194. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  195. package/lib/cjs/OctEncodedNormal.js +98 -98
  196. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  197. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  198. package/lib/cjs/PlanProjectionSettings.js +63 -63
  199. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  200. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  201. package/lib/cjs/PlanarClipMask.js +136 -136
  202. package/lib/cjs/PlanarClipMask.js.map +1 -1
  203. package/lib/cjs/QPoint.d.ts +479 -479
  204. package/lib/cjs/QPoint.js +826 -826
  205. package/lib/cjs/QPoint.js.map +1 -1
  206. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  207. package/lib/cjs/RealityDataAccessProps.js +19 -19
  208. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  209. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  210. package/lib/cjs/RealityModelDisplaySettings.js +142 -142
  211. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  212. package/lib/cjs/Render.d.ts +89 -89
  213. package/lib/cjs/Render.js +177 -177
  214. package/lib/cjs/Render.js.map +1 -1
  215. package/lib/cjs/RenderMaterial.d.ts +58 -58
  216. package/lib/cjs/RenderMaterial.js +76 -76
  217. package/lib/cjs/RenderMaterial.js.map +1 -1
  218. package/lib/cjs/RenderSchedule.d.ts +543 -543
  219. package/lib/cjs/RenderSchedule.js +1002 -1002
  220. package/lib/cjs/RenderTexture.d.ts +70 -70
  221. package/lib/cjs/RenderTexture.js +59 -59
  222. package/lib/cjs/RenderTexture.js.map +1 -1
  223. package/lib/cjs/RgbColor.d.ts +47 -47
  224. package/lib/cjs/RgbColor.js +77 -77
  225. package/lib/cjs/RgbColor.js.map +1 -1
  226. package/lib/cjs/RpcInterface.d.ts +33 -33
  227. package/lib/cjs/RpcInterface.js +137 -137
  228. package/lib/cjs/RpcInterface.js.map +1 -1
  229. package/lib/cjs/RpcManager.d.ts +40 -40
  230. package/lib/cjs/RpcManager.js +55 -55
  231. package/lib/cjs/RpcManager.js.map +1 -1
  232. package/lib/cjs/SessionProps.d.ts +16 -16
  233. package/lib/cjs/SessionProps.js +9 -9
  234. package/lib/cjs/SessionProps.js.map +1 -1
  235. package/lib/cjs/SkyBox.d.ts +215 -215
  236. package/lib/cjs/SkyBox.js +210 -210
  237. package/lib/cjs/SkyBox.js.map +1 -1
  238. package/lib/cjs/Snapping.d.ts +49 -49
  239. package/lib/cjs/Snapping.js +9 -9
  240. package/lib/cjs/Snapping.js.map +1 -1
  241. package/lib/cjs/SolarCalculate.d.ts +27 -27
  242. package/lib/cjs/SolarCalculate.js +211 -211
  243. package/lib/cjs/SolarCalculate.js.map +1 -1
  244. package/lib/cjs/SolarShadows.d.ts +35 -35
  245. package/lib/cjs/SolarShadows.js +62 -62
  246. package/lib/cjs/SolarShadows.js.map +1 -1
  247. package/lib/cjs/SpatialClassification.d.ts +208 -208
  248. package/lib/cjs/SpatialClassification.js +340 -340
  249. package/lib/cjs/SpatialClassification.js.map +1 -1
  250. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  251. package/lib/cjs/SubCategoryAppearance.js +96 -96
  252. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  253. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  254. package/lib/cjs/SubCategoryOverride.js +104 -104
  255. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  256. package/lib/cjs/TerrainSettings.d.ts +82 -82
  257. package/lib/cjs/TerrainSettings.js +102 -102
  258. package/lib/cjs/TerrainSettings.js.map +1 -1
  259. package/lib/cjs/TextureMapping.d.ts +118 -118
  260. package/lib/cjs/TextureMapping.js +174 -174
  261. package/lib/cjs/TextureMapping.js.map +1 -1
  262. package/lib/cjs/TextureProps.d.ts +65 -65
  263. package/lib/cjs/TextureProps.js +28 -28
  264. package/lib/cjs/TextureProps.js.map +1 -1
  265. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  266. package/lib/cjs/ThematicDisplay.js +344 -344
  267. package/lib/cjs/ThematicDisplay.js.map +1 -1
  268. package/lib/cjs/Thumbnail.d.ts +26 -26
  269. package/lib/cjs/Thumbnail.js +9 -9
  270. package/lib/cjs/Thumbnail.js.map +1 -1
  271. package/lib/cjs/TileProps.d.ts +82 -82
  272. package/lib/cjs/TileProps.js +29 -29
  273. package/lib/cjs/TileProps.js.map +1 -1
  274. package/lib/cjs/Tween.d.ts +191 -191
  275. package/lib/cjs/Tween.js +570 -570
  276. package/lib/cjs/Tween.js.map +1 -1
  277. package/lib/cjs/TxnAction.d.ts +21 -21
  278. package/lib/cjs/TxnAction.js +29 -29
  279. package/lib/cjs/TxnAction.js.map +1 -1
  280. package/lib/cjs/ViewDetails.d.ts +125 -125
  281. package/lib/cjs/ViewDetails.js +166 -166
  282. package/lib/cjs/ViewDetails.js.map +1 -1
  283. package/lib/cjs/ViewFlags.d.ts +287 -287
  284. package/lib/cjs/ViewFlags.js +368 -368
  285. package/lib/cjs/ViewFlags.js.map +1 -1
  286. package/lib/cjs/ViewProps.d.ts +205 -205
  287. package/lib/cjs/ViewProps.js +9 -9
  288. package/lib/cjs/ViewProps.js.map +1 -1
  289. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  290. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  291. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  292. package/lib/cjs/core-common.d.ts +244 -244
  293. package/lib/cjs/core-common.js +260 -260
  294. package/lib/cjs/core-common.js.map +1 -1
  295. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  296. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  297. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  298. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  299. package/lib/cjs/domains/GenericElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  301. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  302. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  303. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +204 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  308. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  316. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  317. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  318. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  320. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  321. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  322. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
  323. package/lib/cjs/geometry/FrustumPlanes.js +193 -193
  324. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  325. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  326. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  327. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  329. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  330. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  331. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  332. package/lib/cjs/geometry/GeometryStream.js +469 -469
  333. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  334. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  335. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  336. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  337. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  338. package/lib/cjs/geometry/LineStyle.js +129 -129
  339. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  340. package/lib/cjs/geometry/Placement.d.ts +95 -95
  341. package/lib/cjs/geometry/Placement.js +131 -131
  342. package/lib/cjs/geometry/Placement.js.map +1 -1
  343. package/lib/cjs/geometry/Projection.d.ts +251 -251
  344. package/lib/cjs/geometry/Projection.js +198 -198
  345. package/lib/cjs/geometry/Projection.js.map +1 -1
  346. package/lib/cjs/geometry/TextString.d.ts +55 -55
  347. package/lib/cjs/geometry/TextString.js +65 -65
  348. package/lib/cjs/geometry/TextString.js.map +1 -1
  349. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  350. package/lib/cjs/ipc/IpcSession.js +27 -27
  351. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  352. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  353. package/lib/cjs/ipc/IpcSocket.js +16 -16
  354. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  355. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  356. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  357. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  358. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  359. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  360. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  361. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  362. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  363. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  364. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  365. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  366. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  368. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  369. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  371. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  372. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  373. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  374. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  375. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  376. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  377. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  378. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  380. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  381. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  382. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  383. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  384. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  385. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -57
  386. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  387. package/lib/cjs/rpc/core/RpcControl.js +145 -148
  388. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  389. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  390. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  391. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  392. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  393. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  394. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  395. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  396. package/lib/cjs/rpc/core/RpcOperation.js +134 -134
  397. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  398. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  399. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -95
  400. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  401. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  402. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  403. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  404. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  405. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  406. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  407. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  408. package/lib/cjs/rpc/core/RpcRegistry.js +199 -199
  409. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  410. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  411. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  412. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  413. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  414. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  415. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  416. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  417. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  418. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  419. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  420. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  421. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  422. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  423. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  424. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  425. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  426. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -143
  427. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  428. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  429. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  430. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  431. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  432. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  433. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  434. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  435. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  436. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  437. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  438. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  439. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  440. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  441. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  442. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  443. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  444. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  445. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  446. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  447. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  448. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  449. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  450. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  451. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  452. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  453. package/lib/cjs/tile/ElementGraphics.js +9 -9
  454. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  455. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  456. package/lib/cjs/tile/GltfTileIO.js +109 -109
  457. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  458. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  459. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  460. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  461. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  462. package/lib/cjs/tile/IModelTileIO.js +95 -95
  463. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  464. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  465. package/lib/cjs/tile/PntsTileIO.js +26 -26
  466. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  467. package/lib/cjs/tile/TileIO.d.ts +66 -66
  468. package/lib/cjs/tile/TileIO.js +118 -118
  469. package/lib/cjs/tile/TileIO.js.map +1 -1
  470. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  471. package/lib/cjs/tile/TileMetadata.js +676 -676
  472. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  473. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  474. package/lib/esm/AmbientOcclusion.js +52 -52
  475. package/lib/esm/AmbientOcclusion.js.map +1 -1
  476. package/lib/esm/AnalysisStyle.d.ts +134 -134
  477. package/lib/esm/AnalysisStyle.js +159 -159
  478. package/lib/esm/AnalysisStyle.js.map +1 -1
  479. package/lib/esm/AuthorizationClient.d.ts +17 -17
  480. package/lib/esm/AuthorizationClient.js +8 -8
  481. package/lib/esm/AuthorizationClient.js.map +1 -1
  482. package/lib/esm/BackendTypes.d.ts +12 -12
  483. package/lib/esm/BackendTypes.js +8 -8
  484. package/lib/esm/BackendTypes.js.map +1 -1
  485. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  486. package/lib/esm/BackgroundMapProvider.js +64 -64
  487. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  488. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  489. package/lib/esm/BackgroundMapSettings.js +152 -152
  490. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  491. package/lib/esm/Base64EncodedString.d.ts +32 -32
  492. package/lib/esm/Base64EncodedString.js +63 -63
  493. package/lib/esm/Base64EncodedString.js.map +1 -1
  494. package/lib/esm/BlobReader.d.ts +31 -31
  495. package/lib/esm/BlobReader.js +79 -79
  496. package/lib/esm/BlobReader.js.map +1 -1
  497. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  498. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  499. package/lib/esm/BriefcaseTypes.js +92 -92
  500. package/lib/esm/BriefcaseTypes.js.map +1 -1
  501. package/lib/esm/Camera.d.ts +42 -42
  502. package/lib/esm/Camera.js +58 -58
  503. package/lib/esm/Camera.js.map +1 -1
  504. package/lib/esm/ChangedElements.d.ts +85 -85
  505. package/lib/esm/ChangedElements.js +20 -20
  506. package/lib/esm/ChangedElements.js.map +1 -1
  507. package/lib/esm/ChangedEntities.d.ts +45 -45
  508. package/lib/esm/ChangedEntities.js +8 -8
  509. package/lib/esm/ChangedEntities.js.map +1 -1
  510. package/lib/esm/ChangesetProps.d.ts +98 -98
  511. package/lib/esm/ChangesetProps.js +19 -19
  512. package/lib/esm/ChangesetProps.js.map +1 -1
  513. package/lib/esm/ClipStyle.d.ts +89 -89
  514. package/lib/esm/ClipStyle.js +118 -118
  515. package/lib/esm/ClipStyle.js.map +1 -1
  516. package/lib/esm/CloudStorage.d.ts +62 -62
  517. package/lib/esm/CloudStorage.js +109 -109
  518. package/lib/esm/CloudStorage.js.map +1 -1
  519. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  520. package/lib/esm/CloudStorageTileCache.js +62 -62
  521. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  522. package/lib/esm/Code.d.ts +277 -277
  523. package/lib/esm/Code.js +264 -264
  524. package/lib/esm/Code.js.map +1 -1
  525. package/lib/esm/ColorByName.d.ts +161 -161
  526. package/lib/esm/ColorByName.js +166 -166
  527. package/lib/esm/ColorByName.js.map +1 -1
  528. package/lib/esm/ColorDef.d.ts +208 -208
  529. package/lib/esm/ColorDef.js +567 -567
  530. package/lib/esm/ColorDef.js.map +1 -1
  531. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  532. package/lib/esm/CommonLoggerCategory.js +23 -23
  533. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  534. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  535. package/lib/esm/ConcurrentQuery.js +545 -545
  536. package/lib/esm/ConcurrentQuery.js.map +1 -1
  537. package/lib/esm/ContextRealityModel.d.ts +303 -303
  538. package/lib/esm/ContextRealityModel.js +368 -368
  539. package/lib/esm/ContextRealityModel.js.map +1 -1
  540. package/lib/esm/DisplayStyleSettings.d.ts +588 -588
  541. package/lib/esm/DisplayStyleSettings.js +980 -980
  542. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  543. package/lib/esm/ECSchemaProps.d.ts +39 -39
  544. package/lib/esm/ECSchemaProps.js +8 -8
  545. package/lib/esm/ECSchemaProps.js.map +1 -1
  546. package/lib/esm/ECSqlReader.d.ts +70 -70
  547. package/lib/esm/ECSqlReader.js +275 -275
  548. package/lib/esm/ECSqlReader.js.map +1 -1
  549. package/lib/esm/ECSqlTypes.d.ts +128 -128
  550. package/lib/esm/ECSqlTypes.js +185 -185
  551. package/lib/esm/ECSqlTypes.js.map +1 -1
  552. package/lib/esm/ElementMesh.d.ts +39 -39
  553. package/lib/esm/ElementMesh.js +52 -52
  554. package/lib/esm/ElementMesh.js.map +1 -1
  555. package/lib/esm/ElementProps.d.ts +483 -483
  556. package/lib/esm/ElementProps.js +92 -92
  557. package/lib/esm/ElementProps.js.map +1 -1
  558. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  559. package/lib/esm/EmphasizeElementsProps.js +22 -22
  560. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  561. package/lib/esm/EntityProps.d.ts +177 -177
  562. package/lib/esm/EntityProps.js +108 -108
  563. package/lib/esm/EntityProps.js.map +1 -1
  564. package/lib/esm/EntityReference.d.ts +51 -51
  565. package/lib/esm/EntityReference.js +52 -52
  566. package/lib/esm/EntityReference.js.map +1 -1
  567. package/lib/esm/Environment.d.ts +61 -61
  568. package/lib/esm/Environment.js +69 -69
  569. package/lib/esm/Environment.js.map +1 -1
  570. package/lib/esm/FeatureIndex.d.ts +39 -39
  571. package/lib/esm/FeatureIndex.js +57 -57
  572. package/lib/esm/FeatureIndex.js.map +1 -1
  573. package/lib/esm/FeatureSymbology.d.ts +444 -444
  574. package/lib/esm/FeatureSymbology.js +609 -609
  575. package/lib/esm/FeatureSymbology.js.map +1 -1
  576. package/lib/esm/FeatureTable.d.ts +141 -141
  577. package/lib/esm/FeatureTable.js +272 -272
  578. package/lib/esm/FeatureTable.js.map +1 -1
  579. package/lib/esm/Fonts.d.ts +51 -51
  580. package/lib/esm/Fonts.js +49 -49
  581. package/lib/esm/Fonts.js.map +1 -1
  582. package/lib/esm/Frustum.d.ts +114 -114
  583. package/lib/esm/Frustum.js +288 -288
  584. package/lib/esm/Frustum.js.map +1 -1
  585. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  586. package/lib/esm/GeoCoordinateServices.js +76 -76
  587. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  588. package/lib/esm/GeometryContainment.d.ts +28 -28
  589. package/lib/esm/GeometryContainment.js +8 -8
  590. package/lib/esm/GeometryContainment.js.map +1 -1
  591. package/lib/esm/GeometryParams.d.ts +130 -130
  592. package/lib/esm/GeometryParams.js +170 -170
  593. package/lib/esm/GeometryParams.js.map +1 -1
  594. package/lib/esm/GeometrySummary.d.ts +45 -45
  595. package/lib/esm/GeometrySummary.js +20 -20
  596. package/lib/esm/GeometrySummary.js.map +1 -1
  597. package/lib/esm/Gradient.d.ts +139 -139
  598. package/lib/esm/Gradient.js +452 -452
  599. package/lib/esm/Gradient.js.map +1 -1
  600. package/lib/esm/GraphicParams.d.ts +58 -58
  601. package/lib/esm/GraphicParams.js +81 -81
  602. package/lib/esm/GraphicParams.js.map +1 -1
  603. package/lib/esm/GroundPlane.d.ts +52 -52
  604. package/lib/esm/GroundPlane.js +60 -60
  605. package/lib/esm/GroundPlane.js.map +1 -1
  606. package/lib/esm/HSLColor.d.ts +20 -20
  607. package/lib/esm/HSLColor.js +28 -28
  608. package/lib/esm/HSLColor.js.map +1 -1
  609. package/lib/esm/HSVColor.d.ts +30 -30
  610. package/lib/esm/HSVColor.js +55 -55
  611. package/lib/esm/HSVColor.js.map +1 -1
  612. package/lib/esm/HiddenLine.d.ts +97 -97
  613. package/lib/esm/HiddenLine.js +159 -159
  614. package/lib/esm/HiddenLine.js.map +1 -1
  615. package/lib/esm/Hilite.d.ts +50 -50
  616. package/lib/esm/Hilite.js +61 -61
  617. package/lib/esm/Hilite.js.map +1 -1
  618. package/lib/esm/IModel.d.ts +359 -359
  619. package/lib/esm/IModel.js +342 -342
  620. package/lib/esm/IModel.js.map +1 -1
  621. package/lib/esm/IModelError.d.ts +42 -42
  622. package/lib/esm/IModelError.js +56 -56
  623. package/lib/esm/IModelError.js.map +1 -1
  624. package/lib/esm/IModelVersion.d.ts +68 -68
  625. package/lib/esm/IModelVersion.js +75 -75
  626. package/lib/esm/IModelVersion.js.map +1 -1
  627. package/lib/esm/Image.d.ts +86 -86
  628. package/lib/esm/Image.js +120 -120
  629. package/lib/esm/Image.js.map +1 -1
  630. package/lib/esm/IpcAppProps.d.ts +141 -141
  631. package/lib/esm/IpcAppProps.js +19 -19
  632. package/lib/esm/IpcAppProps.js.map +1 -1
  633. package/lib/esm/LightSettings.d.ts +224 -224
  634. package/lib/esm/LightSettings.js +301 -301
  635. package/lib/esm/LightSettings.js.map +1 -1
  636. package/lib/esm/LinePixels.d.ts +34 -34
  637. package/lib/esm/LinePixels.js +39 -39
  638. package/lib/esm/LinePixels.js.map +1 -1
  639. package/lib/esm/Localization.d.ts +113 -113
  640. package/lib/esm/Localization.js +29 -29
  641. package/lib/esm/Localization.js.map +1 -1
  642. package/lib/esm/MapImagerySettings.d.ts +62 -62
  643. package/lib/esm/MapImagerySettings.js +76 -76
  644. package/lib/esm/MapImagerySettings.js.map +1 -1
  645. package/lib/esm/MapLayerSettings.d.ts +272 -272
  646. package/lib/esm/MapLayerSettings.js +403 -403
  647. package/lib/esm/MapLayerSettings.js.map +1 -1
  648. package/lib/esm/MassProperties.d.ts +64 -64
  649. package/lib/esm/MassProperties.js +20 -20
  650. package/lib/esm/MassProperties.js.map +1 -1
  651. package/lib/esm/MaterialProps.d.ts +153 -153
  652. package/lib/esm/MaterialProps.js +32 -32
  653. package/lib/esm/MaterialProps.js.map +1 -1
  654. package/lib/esm/ModelClipGroup.d.ts +67 -67
  655. package/lib/esm/ModelClipGroup.js +93 -93
  656. package/lib/esm/ModelClipGroup.js.map +1 -1
  657. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  658. package/lib/esm/ModelGeometryChanges.js +80 -80
  659. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  660. package/lib/esm/ModelProps.d.ts +67 -67
  661. package/lib/esm/ModelProps.js +8 -8
  662. package/lib/esm/ModelProps.js.map +1 -1
  663. package/lib/esm/NativeAppProps.d.ts +122 -122
  664. package/lib/esm/NativeAppProps.js +27 -27
  665. package/lib/esm/NativeAppProps.js.map +1 -1
  666. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  667. package/lib/esm/OctEncodedNormal.js +93 -93
  668. package/lib/esm/OctEncodedNormal.js.map +1 -1
  669. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  670. package/lib/esm/PlanProjectionSettings.js +59 -59
  671. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  672. package/lib/esm/PlanarClipMask.d.ts +177 -177
  673. package/lib/esm/PlanarClipMask.js +132 -132
  674. package/lib/esm/PlanarClipMask.js.map +1 -1
  675. package/lib/esm/QPoint.d.ts +479 -479
  676. package/lib/esm/QPoint.js +815 -815
  677. package/lib/esm/QPoint.js.map +1 -1
  678. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  679. package/lib/esm/RealityDataAccessProps.js +16 -16
  680. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  681. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  682. package/lib/esm/RealityModelDisplaySettings.js +137 -137
  683. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  684. package/lib/esm/Render.d.ts +89 -89
  685. package/lib/esm/Render.js +165 -165
  686. package/lib/esm/Render.js.map +1 -1
  687. package/lib/esm/RenderMaterial.d.ts +58 -58
  688. package/lib/esm/RenderMaterial.js +72 -72
  689. package/lib/esm/RenderMaterial.js.map +1 -1
  690. package/lib/esm/RenderSchedule.d.ts +543 -543
  691. package/lib/esm/RenderSchedule.js +999 -999
  692. package/lib/esm/RenderTexture.d.ts +70 -70
  693. package/lib/esm/RenderTexture.js +55 -55
  694. package/lib/esm/RenderTexture.js.map +1 -1
  695. package/lib/esm/RgbColor.d.ts +47 -47
  696. package/lib/esm/RgbColor.js +73 -73
  697. package/lib/esm/RgbColor.js.map +1 -1
  698. package/lib/esm/RpcInterface.d.ts +33 -33
  699. package/lib/esm/RpcInterface.js +133 -133
  700. package/lib/esm/RpcInterface.js.map +1 -1
  701. package/lib/esm/RpcManager.d.ts +40 -40
  702. package/lib/esm/RpcManager.js +51 -51
  703. package/lib/esm/RpcManager.js.map +1 -1
  704. package/lib/esm/SessionProps.d.ts +16 -16
  705. package/lib/esm/SessionProps.js +8 -8
  706. package/lib/esm/SessionProps.js.map +1 -1
  707. package/lib/esm/SkyBox.d.ts +215 -215
  708. package/lib/esm/SkyBox.js +203 -203
  709. package/lib/esm/SkyBox.js.map +1 -1
  710. package/lib/esm/Snapping.d.ts +49 -49
  711. package/lib/esm/Snapping.js +8 -8
  712. package/lib/esm/Snapping.js.map +1 -1
  713. package/lib/esm/SolarCalculate.d.ts +27 -27
  714. package/lib/esm/SolarCalculate.js +204 -204
  715. package/lib/esm/SolarCalculate.js.map +1 -1
  716. package/lib/esm/SolarShadows.d.ts +35 -35
  717. package/lib/esm/SolarShadows.js +58 -58
  718. package/lib/esm/SolarShadows.js.map +1 -1
  719. package/lib/esm/SpatialClassification.d.ts +208 -208
  720. package/lib/esm/SpatialClassification.js +334 -334
  721. package/lib/esm/SpatialClassification.js.map +1 -1
  722. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  723. package/lib/esm/SubCategoryAppearance.js +92 -92
  724. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  725. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  726. package/lib/esm/SubCategoryOverride.js +100 -100
  727. package/lib/esm/SubCategoryOverride.js.map +1 -1
  728. package/lib/esm/TerrainSettings.d.ts +82 -82
  729. package/lib/esm/TerrainSettings.js +98 -98
  730. package/lib/esm/TerrainSettings.js.map +1 -1
  731. package/lib/esm/TextureMapping.d.ts +118 -118
  732. package/lib/esm/TextureMapping.js +170 -170
  733. package/lib/esm/TextureMapping.js.map +1 -1
  734. package/lib/esm/TextureProps.d.ts +65 -65
  735. package/lib/esm/TextureProps.js +25 -25
  736. package/lib/esm/TextureProps.js.map +1 -1
  737. package/lib/esm/ThematicDisplay.d.ts +230 -230
  738. package/lib/esm/ThematicDisplay.js +337 -337
  739. package/lib/esm/ThematicDisplay.js.map +1 -1
  740. package/lib/esm/Thumbnail.d.ts +26 -26
  741. package/lib/esm/Thumbnail.js +8 -8
  742. package/lib/esm/Thumbnail.js.map +1 -1
  743. package/lib/esm/TileProps.d.ts +82 -82
  744. package/lib/esm/TileProps.js +25 -25
  745. package/lib/esm/TileProps.js.map +1 -1
  746. package/lib/esm/Tween.d.ts +191 -191
  747. package/lib/esm/Tween.js +565 -565
  748. package/lib/esm/Tween.js.map +1 -1
  749. package/lib/esm/TxnAction.d.ts +21 -21
  750. package/lib/esm/TxnAction.js +26 -26
  751. package/lib/esm/TxnAction.js.map +1 -1
  752. package/lib/esm/ViewDetails.d.ts +125 -125
  753. package/lib/esm/ViewDetails.js +161 -161
  754. package/lib/esm/ViewDetails.js.map +1 -1
  755. package/lib/esm/ViewFlags.d.ts +287 -287
  756. package/lib/esm/ViewFlags.js +364 -364
  757. package/lib/esm/ViewFlags.js.map +1 -1
  758. package/lib/esm/ViewProps.d.ts +205 -205
  759. package/lib/esm/ViewProps.js +8 -8
  760. package/lib/esm/ViewProps.js.map +1 -1
  761. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  762. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  763. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  764. package/lib/esm/core-common.d.ts +244 -244
  765. package/lib/esm/core-common.js +248 -248
  766. package/lib/esm/core-common.js.map +1 -1
  767. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  768. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  769. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  770. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  771. package/lib/esm/domains/GenericElementProps.js +8 -8
  772. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  773. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  774. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  775. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  776. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  777. package/lib/esm/geometry/AreaPattern.js +201 -201
  778. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  779. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  780. package/lib/esm/geometry/BoundingSphere.js +40 -40
  781. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  782. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  783. package/lib/esm/geometry/Cartographic.js +340 -340
  784. package/lib/esm/geometry/Cartographic.js.map +1 -1
  785. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  786. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  787. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  788. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  789. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  790. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  791. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  792. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  793. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  794. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
  795. package/lib/esm/geometry/FrustumPlanes.js +189 -189
  796. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  797. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  798. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  799. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  800. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  801. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  802. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  803. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  804. package/lib/esm/geometry/GeometryStream.js +464 -464
  805. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  806. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  807. package/lib/esm/geometry/ImageGraphic.js +93 -93
  808. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  809. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  810. package/lib/esm/geometry/LineStyle.js +126 -126
  811. package/lib/esm/geometry/LineStyle.js.map +1 -1
  812. package/lib/esm/geometry/Placement.d.ts +95 -95
  813. package/lib/esm/geometry/Placement.js +126 -126
  814. package/lib/esm/geometry/Placement.js.map +1 -1
  815. package/lib/esm/geometry/Projection.d.ts +251 -251
  816. package/lib/esm/geometry/Projection.js +192 -192
  817. package/lib/esm/geometry/Projection.js.map +1 -1
  818. package/lib/esm/geometry/TextString.d.ts +55 -55
  819. package/lib/esm/geometry/TextString.js +61 -61
  820. package/lib/esm/geometry/TextString.js.map +1 -1
  821. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  822. package/lib/esm/ipc/IpcSession.js +23 -23
  823. package/lib/esm/ipc/IpcSession.js.map +1 -1
  824. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  825. package/lib/esm/ipc/IpcSocket.js +12 -12
  826. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  827. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  828. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  829. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  830. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  831. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  832. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  833. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  834. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  835. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  836. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  837. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  838. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  839. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  840. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  841. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  842. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  843. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  844. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  845. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  846. package/lib/esm/rpc/TestRpcManager.js +36 -36
  847. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  848. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  849. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  850. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  851. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  852. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  853. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  854. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  855. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  856. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  857. package/lib/esm/rpc/core/RpcControl.d.ts +54 -57
  858. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  859. package/lib/esm/rpc/core/RpcControl.js +138 -141
  860. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  861. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  862. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  863. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  864. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  865. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  866. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  867. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  868. package/lib/esm/rpc/core/RpcOperation.js +129 -129
  869. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  870. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  871. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -91
  872. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  874. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  875. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  876. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  877. package/lib/esm/rpc/core/RpcPush.js +119 -119
  878. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  879. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  880. package/lib/esm/rpc/core/RpcRegistry.js +195 -195
  881. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  882. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  883. package/lib/esm/rpc/core/RpcRequest.js +473 -473
  884. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  885. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  886. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  887. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  888. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  889. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -20
  890. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  891. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  892. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  893. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  894. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  895. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  896. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  897. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  898. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -139
  899. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  900. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  901. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  902. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  903. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  904. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  905. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  906. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  907. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  908. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  909. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  910. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  911. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  912. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  913. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  914. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  915. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  916. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  917. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  918. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  919. package/lib/esm/tile/B3dmTileIO.js +62 -62
  920. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  921. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  922. package/lib/esm/tile/CompositeTileIO.js +22 -22
  923. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  924. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  925. package/lib/esm/tile/ElementGraphics.js +8 -8
  926. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  927. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  928. package/lib/esm/tile/GltfTileIO.js +105 -105
  929. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  930. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  931. package/lib/esm/tile/I3dmTileIO.js +36 -36
  932. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  933. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  934. package/lib/esm/tile/IModelTileIO.js +90 -90
  935. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  936. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  937. package/lib/esm/tile/PntsTileIO.js +22 -22
  938. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  939. package/lib/esm/tile/TileIO.d.ts +66 -66
  940. package/lib/esm/tile/TileIO.js +110 -110
  941. package/lib/esm/tile/TileIO.js.map +1 -1
  942. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  943. package/lib/esm/tile/TileMetadata.js +661 -661
  944. package/lib/esm/tile/TileMetadata.js.map +1 -1
  945. package/package.json +7 -7
@@ -1,200 +1,200 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module RpcInterface
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.RpcRegistry = exports.CURRENT_INVOCATION = exports.CURRENT_REQUEST = exports.INSTANCE = exports.POLICY = exports.OPERATION = exports.REGISTRY = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const IModelError_1 = require("../../IModelError");
13
- const RpcConfiguration_1 = require("./RpcConfiguration");
14
- const RpcPendingQueue_1 = require("./RpcPendingQueue");
15
- const RpcRequest_1 = require("./RpcRequest");
16
- const RpcRoutingToken_1 = require("./RpcRoutingToken");
17
- const RpcInterface_1 = require("../../RpcInterface");
18
- const RpcControl_1 = require("./RpcControl");
19
- const RpcOperation_1 = require("./RpcOperation");
20
- /* eslint-disable deprecation/deprecation */
21
- /** @internal */
22
- exports.REGISTRY = Symbol.for("@itwin/core-common/RpcRegistry");
23
- /** @internal */
24
- exports.OPERATION = Symbol.for("@itwin/core-common/RpcOperation");
25
- /** @internal */
26
- exports.POLICY = Symbol.for("@itwin/core-common/RpcOperationPolicy");
27
- /** @internal */
28
- exports.INSTANCE = Symbol.for("@itwin/core-common/RpcInterface/__instance__");
29
- /** @internal */
30
- exports.CURRENT_REQUEST = Symbol.for("@itwin/core-common/RpcRequest/__current__");
31
- /** @internal */
32
- exports.CURRENT_INVOCATION = Symbol.for("@itwin/core-common/RpcInvocation/__current__");
33
- /** @internal */
34
- class RpcRegistry {
35
- constructor() {
36
- this.definitionClasses = new Map();
37
- this.proxies = new Map();
38
- this.implementations = new Map();
39
- this.suppliedImplementations = new Map();
40
- this.implementationClasses = new Map();
41
- this.id = (() => {
42
- let i = 0;
43
- return () => ++i;
44
- })();
45
- }
46
- static get instance() {
47
- if (!RpcRegistry._instance) {
48
- const globalObj = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {};
49
- if (!globalObj[exports.REGISTRY])
50
- globalObj[exports.REGISTRY] = new RpcRegistry();
51
- RpcRegistry._instance = globalObj[exports.REGISTRY];
52
- }
53
- return RpcRegistry._instance;
54
- }
55
- lookupInterfaceDefinition(name) {
56
- if (!this.definitionClasses.has(name))
57
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `RPC interface "${name}" is not initialized.`);
58
- return this.definitionClasses.get(name);
59
- }
60
- async describeAvailableEndpoints() {
61
- const requests = [];
62
- for (const channel of RpcControl_1.RpcControlChannel.channels) {
63
- requests.push(channel.describeEndpoints());
64
- }
65
- const responses = await Promise.all(requests);
66
- const endpoints = responses.reduce((a, b) => a.concat(b), []);
67
- for (const endpoint of endpoints) {
68
- const definition = this.definitionClasses.get(endpoint.interfaceName);
69
- endpoint.compatible = (definition && RpcInterface_1.RpcInterface.isVersionCompatible(endpoint.interfaceVersion, definition.interfaceVersion)) ? true : false;
70
- }
71
- return endpoints;
72
- }
73
- getClientForInterface(definition, routing = RpcRoutingToken_1.RpcRoutingToken.default) {
74
- let instance;
75
- const proxies = this.proxies.get(definition.interfaceName);
76
- if (proxies) {
77
- instance = proxies.get(routing.id);
78
- }
79
- if (!instance)
80
- instance = this.instantiateClient(definition, routing);
81
- return instance;
82
- }
83
- getImplForInterface(definition) {
84
- let instance = this.implementations.get(definition.interfaceName);
85
- if (!instance)
86
- instance = this.instantiateImpl(definition);
87
- return instance;
88
- }
89
- lookupImpl(interfaceName) {
90
- const definition = this.lookupInterfaceDefinition(interfaceName);
91
- return this.getImplForInterface(definition);
92
- }
93
- registerImpl(definition, implementation) {
94
- this.unregisterImpl(definition);
95
- this.implementationClasses.set(definition.interfaceName, implementation);
96
- }
97
- unregisterImpl(definition) {
98
- this.implementationClasses.delete(definition.interfaceName);
99
- const impl = this.implementations.get(definition.interfaceName);
100
- if (impl) {
101
- impl.configuration.onRpcImplTerminated(definition, impl);
102
- this.implementations.delete(definition.interfaceName);
103
- }
104
- }
105
- supplyImplInstance(definition, instance) {
106
- this.suppliedImplementations.set(definition.interfaceName, instance);
107
- }
108
- isRpcInterfaceInitialized(definition) {
109
- return this.definitionClasses.has(definition.interfaceName);
110
- }
111
- initializeRpcInterface(definition) {
112
- if (this.definitionClasses.has(definition.interfaceName)) {
113
- const existing = this.definitionClasses.get(definition.interfaceName);
114
- if (existing && definition.interfaceVersion === "CONTROL" && existing !== definition) {
115
- this.configureOperations(definition); // configs that differ only by routing still need the control ops initialized
116
- }
117
- return;
118
- }
119
- this.notifyInitialize();
120
- this.definitionClasses.set(definition.interfaceName, definition);
121
- this.configureOperations(definition);
122
- }
123
- terminateRpcInterface(definition) {
124
- this.unregisterImpl(definition);
125
- this.purgeClient(definition);
126
- this.definitionClasses.delete(definition.interfaceName);
127
- }
128
- instantiateImpl(definition) {
129
- this.checkInitialized(definition);
130
- const registeredImplementation = this.implementationClasses.get(definition.interfaceName);
131
- if (!registeredImplementation)
132
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `An RPC interface implementation class for "${definition.interfaceName}" is not registered.`);
133
- if (definition.prototype.configurationSupplier)
134
- registeredImplementation.prototype.configurationSupplier = definition.prototype.configurationSupplier;
135
- const supplied = this.suppliedImplementations.get(definition.interfaceName);
136
- const implementation = supplied || new registeredImplementation();
137
- if (!(implementation instanceof registeredImplementation))
138
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `Invalid RPC interface implementation.`);
139
- if (supplied) {
140
- supplied.configuration = RpcConfiguration_1.RpcConfiguration.supply(supplied);
141
- }
142
- this.implementations.set(definition.interfaceName, implementation);
143
- implementation.configuration.onRpcImplInitialized(definition, implementation);
144
- return implementation;
145
- }
146
- instantiateClient(definition, routing = RpcRoutingToken_1.RpcRoutingToken.default) {
147
- var _a;
148
- this.checkInitialized(definition);
149
- const proxy = new definition(routing);
150
- if (!this.proxies.has(definition.interfaceName)) {
151
- this.proxies.set(definition.interfaceName, new Map());
152
- }
153
- (_a = this.proxies.get(definition.interfaceName)) === null || _a === void 0 ? void 0 : _a.set(routing.id, proxy);
154
- Object.getOwnPropertyNames(definition.prototype).forEach((operationName) => {
155
- if (operationName === "constructor" || operationName === "configurationSupplier")
156
- return;
157
- this.interceptOperation(proxy, operationName);
158
- });
159
- proxy.configuration.onRpcClientInitialized(definition, proxy);
160
- return proxy;
161
- }
162
- interceptOperation(proxy, operation) {
163
- const clientFunction = proxy[operation];
164
- // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
165
- proxy[operation] = function () {
166
- const args = Array.from(arguments);
167
- args.push(operation);
168
- return clientFunction.apply(proxy, args);
169
- };
170
- }
171
- checkInitialized(definition) {
172
- if (!this.definitionClasses.has(definition.interfaceName))
173
- throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `RPC interface "${definition.interfaceName}" is not initialized.`);
174
- }
175
- configureOperations(definition) {
176
- const proto = definition.prototype;
177
- Object.getOwnPropertyNames(proto).forEach((operationName) => {
178
- if (operationName === "constructor" || operationName === "configurationSupplier")
179
- return;
180
- const propertyName = RpcOperation_1.RpcOperation.computeOperationName(operationName);
181
- if (!proto[propertyName][exports.OPERATION]) {
182
- const policy = definition[exports.POLICY] || new RpcOperation_1.RpcOperationPolicy();
183
- proto[propertyName][exports.OPERATION] = new RpcOperation_1.RpcOperation(definition, propertyName, policy);
184
- }
185
- });
186
- }
187
- purgeClient(definition) {
188
- const proxies = this.proxies.get(definition.interfaceName);
189
- if (proxies) {
190
- proxies.forEach((proxy) => proxy.configuration.onRpcClientTerminated(definition, proxy));
191
- this.proxies.delete(definition.interfaceName);
192
- }
193
- }
194
- notifyInitialize() {
195
- (0, RpcRequest_1.initializeRpcRequest)();
196
- RpcPendingQueue_1.RpcPendingQueue.initialize();
197
- }
198
- }
199
- exports.RpcRegistry = RpcRegistry;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module RpcInterface
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.RpcRegistry = exports.CURRENT_INVOCATION = exports.CURRENT_REQUEST = exports.INSTANCE = exports.POLICY = exports.OPERATION = exports.REGISTRY = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const IModelError_1 = require("../../IModelError");
13
+ const RpcConfiguration_1 = require("./RpcConfiguration");
14
+ const RpcPendingQueue_1 = require("./RpcPendingQueue");
15
+ const RpcRequest_1 = require("./RpcRequest");
16
+ const RpcRoutingToken_1 = require("./RpcRoutingToken");
17
+ const RpcInterface_1 = require("../../RpcInterface");
18
+ const RpcControl_1 = require("./RpcControl");
19
+ const RpcOperation_1 = require("./RpcOperation");
20
+ /* eslint-disable deprecation/deprecation */
21
+ /** @internal */
22
+ exports.REGISTRY = Symbol.for("@itwin/core-common/RpcRegistry");
23
+ /** @internal */
24
+ exports.OPERATION = Symbol.for("@itwin/core-common/RpcOperation");
25
+ /** @internal */
26
+ exports.POLICY = Symbol.for("@itwin/core-common/RpcOperationPolicy");
27
+ /** @internal */
28
+ exports.INSTANCE = Symbol.for("@itwin/core-common/RpcInterface/__instance__");
29
+ /** @internal */
30
+ exports.CURRENT_REQUEST = Symbol.for("@itwin/core-common/RpcRequest/__current__");
31
+ /** @internal */
32
+ exports.CURRENT_INVOCATION = Symbol.for("@itwin/core-common/RpcInvocation/__current__");
33
+ /** @internal */
34
+ class RpcRegistry {
35
+ constructor() {
36
+ this.definitionClasses = new Map();
37
+ this.proxies = new Map();
38
+ this.implementations = new Map();
39
+ this.suppliedImplementations = new Map();
40
+ this.implementationClasses = new Map();
41
+ this.id = (() => {
42
+ let i = 0;
43
+ return () => ++i;
44
+ })();
45
+ }
46
+ static get instance() {
47
+ if (!RpcRegistry._instance) {
48
+ const globalObj = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {};
49
+ if (!globalObj[exports.REGISTRY])
50
+ globalObj[exports.REGISTRY] = new RpcRegistry();
51
+ RpcRegistry._instance = globalObj[exports.REGISTRY];
52
+ }
53
+ return RpcRegistry._instance;
54
+ }
55
+ lookupInterfaceDefinition(name) {
56
+ if (!this.definitionClasses.has(name))
57
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `RPC interface "${name}" is not initialized.`);
58
+ return this.definitionClasses.get(name);
59
+ }
60
+ async describeAvailableEndpoints() {
61
+ const requests = [];
62
+ for (const channel of RpcControl_1.RpcControlChannel.channels) {
63
+ requests.push(channel.describeEndpoints());
64
+ }
65
+ const responses = await Promise.all(requests);
66
+ const endpoints = responses.reduce((a, b) => a.concat(b), []);
67
+ for (const endpoint of endpoints) {
68
+ const definition = this.definitionClasses.get(endpoint.interfaceName);
69
+ endpoint.compatible = (definition && RpcInterface_1.RpcInterface.isVersionCompatible(endpoint.interfaceVersion, definition.interfaceVersion)) ? true : false;
70
+ }
71
+ return endpoints;
72
+ }
73
+ getClientForInterface(definition, routing = RpcRoutingToken_1.RpcRoutingToken.default) {
74
+ let instance;
75
+ const proxies = this.proxies.get(definition.interfaceName);
76
+ if (proxies) {
77
+ instance = proxies.get(routing.id);
78
+ }
79
+ if (!instance)
80
+ instance = this.instantiateClient(definition, routing);
81
+ return instance;
82
+ }
83
+ getImplForInterface(definition) {
84
+ let instance = this.implementations.get(definition.interfaceName);
85
+ if (!instance)
86
+ instance = this.instantiateImpl(definition);
87
+ return instance;
88
+ }
89
+ lookupImpl(interfaceName) {
90
+ const definition = this.lookupInterfaceDefinition(interfaceName);
91
+ return this.getImplForInterface(definition);
92
+ }
93
+ registerImpl(definition, implementation) {
94
+ this.unregisterImpl(definition);
95
+ this.implementationClasses.set(definition.interfaceName, implementation);
96
+ }
97
+ unregisterImpl(definition) {
98
+ this.implementationClasses.delete(definition.interfaceName);
99
+ const impl = this.implementations.get(definition.interfaceName);
100
+ if (impl) {
101
+ impl.configuration.onRpcImplTerminated(definition, impl);
102
+ this.implementations.delete(definition.interfaceName);
103
+ }
104
+ }
105
+ supplyImplInstance(definition, instance) {
106
+ this.suppliedImplementations.set(definition.interfaceName, instance);
107
+ }
108
+ isRpcInterfaceInitialized(definition) {
109
+ return this.definitionClasses.has(definition.interfaceName);
110
+ }
111
+ initializeRpcInterface(definition) {
112
+ if (this.definitionClasses.has(definition.interfaceName)) {
113
+ const existing = this.definitionClasses.get(definition.interfaceName);
114
+ if (existing && definition.interfaceVersion === "CONTROL" && existing !== definition) {
115
+ this.configureOperations(definition); // configs that differ only by routing still need the control ops initialized
116
+ }
117
+ return;
118
+ }
119
+ this.notifyInitialize();
120
+ this.definitionClasses.set(definition.interfaceName, definition);
121
+ this.configureOperations(definition);
122
+ }
123
+ terminateRpcInterface(definition) {
124
+ this.unregisterImpl(definition);
125
+ this.purgeClient(definition);
126
+ this.definitionClasses.delete(definition.interfaceName);
127
+ }
128
+ instantiateImpl(definition) {
129
+ this.checkInitialized(definition);
130
+ const registeredImplementation = this.implementationClasses.get(definition.interfaceName);
131
+ if (!registeredImplementation)
132
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `An RPC interface implementation class for "${definition.interfaceName}" is not registered.`);
133
+ if (definition.prototype.configurationSupplier)
134
+ registeredImplementation.prototype.configurationSupplier = definition.prototype.configurationSupplier;
135
+ const supplied = this.suppliedImplementations.get(definition.interfaceName);
136
+ const implementation = supplied || new registeredImplementation();
137
+ if (!(implementation instanceof registeredImplementation))
138
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `Invalid RPC interface implementation.`);
139
+ if (supplied) {
140
+ supplied.configuration = RpcConfiguration_1.RpcConfiguration.supply(supplied);
141
+ }
142
+ this.implementations.set(definition.interfaceName, implementation);
143
+ implementation.configuration.onRpcImplInitialized(definition, implementation);
144
+ return implementation;
145
+ }
146
+ instantiateClient(definition, routing = RpcRoutingToken_1.RpcRoutingToken.default) {
147
+ var _a;
148
+ this.checkInitialized(definition);
149
+ const proxy = new definition(routing);
150
+ if (!this.proxies.has(definition.interfaceName)) {
151
+ this.proxies.set(definition.interfaceName, new Map());
152
+ }
153
+ (_a = this.proxies.get(definition.interfaceName)) === null || _a === void 0 ? void 0 : _a.set(routing.id, proxy);
154
+ Object.getOwnPropertyNames(definition.prototype).forEach((operationName) => {
155
+ if (operationName === "constructor" || operationName === "configurationSupplier")
156
+ return;
157
+ this.interceptOperation(proxy, operationName);
158
+ });
159
+ proxy.configuration.onRpcClientInitialized(definition, proxy);
160
+ return proxy;
161
+ }
162
+ interceptOperation(proxy, operation) {
163
+ const clientFunction = proxy[operation];
164
+ // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
165
+ proxy[operation] = function () {
166
+ const args = Array.from(arguments);
167
+ args.push(operation);
168
+ return clientFunction.apply(proxy, args);
169
+ };
170
+ }
171
+ checkInitialized(definition) {
172
+ if (!this.definitionClasses.has(definition.interfaceName))
173
+ throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `RPC interface "${definition.interfaceName}" is not initialized.`);
174
+ }
175
+ configureOperations(definition) {
176
+ const proto = definition.prototype;
177
+ Object.getOwnPropertyNames(proto).forEach((operationName) => {
178
+ if (operationName === "constructor" || operationName === "configurationSupplier")
179
+ return;
180
+ const propertyName = RpcOperation_1.RpcOperation.computeOperationName(operationName);
181
+ if (!proto[propertyName][exports.OPERATION]) {
182
+ const policy = definition[exports.POLICY] || new RpcOperation_1.RpcOperationPolicy();
183
+ proto[propertyName][exports.OPERATION] = new RpcOperation_1.RpcOperation(definition, propertyName, policy);
184
+ }
185
+ });
186
+ }
187
+ purgeClient(definition) {
188
+ const proxies = this.proxies.get(definition.interfaceName);
189
+ if (proxies) {
190
+ proxies.forEach((proxy) => proxy.configuration.onRpcClientTerminated(definition, proxy));
191
+ this.proxies.delete(definition.interfaceName);
192
+ }
193
+ }
194
+ notifyInitialize() {
195
+ (0, RpcRequest_1.initializeRpcRequest)();
196
+ RpcPendingQueue_1.RpcPendingQueue.initialize();
197
+ }
198
+ }
199
+ exports.RpcRegistry = RpcRegistry;
200
200
  //# sourceMappingURL=RpcRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRegistry.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRegistry.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 { IModelError } from \"../../IModelError\";\nimport { RpcConfiguration } from \"./RpcConfiguration\";\nimport { RpcPendingQueue } from \"./RpcPendingQueue\";\nimport { initializeRpcRequest } from \"./RpcRequest\";\nimport { RpcRoutingToken } from \"./RpcRoutingToken\";\nimport { RpcInterface, RpcInterfaceDefinition, RpcInterfaceImplementation } from \"../../RpcInterface\";\nimport { RpcInterfaceEndpoints } from \"../../RpcManager\";\nimport { RpcControlChannel } from \"./RpcControl\";\nimport { RpcOperation, RpcOperationPolicy } from \"./RpcOperation\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** @internal */\nexport const REGISTRY = Symbol.for(\"@itwin/core-common/RpcRegistry\");\n\n/** @internal */\nexport const OPERATION = Symbol.for(\"@itwin/core-common/RpcOperation\");\n\n/** @internal */\nexport const POLICY = Symbol.for(\"@itwin/core-common/RpcOperationPolicy\");\n\n/** @internal */\nexport const INSTANCE = Symbol.for(\"@itwin/core-common/RpcInterface/__instance__\");\n\n/** @internal */\nexport const CURRENT_REQUEST = Symbol.for(\"@itwin/core-common/RpcRequest/__current__\");\n\n/** @internal */\nexport const CURRENT_INVOCATION = Symbol.for(\"@itwin/core-common/RpcInvocation/__current__\");\n\n/** @internal */\nexport class RpcRegistry {\n private static _instance: RpcRegistry;\n\n private constructor() {\n }\n\n public static get instance() {\n if (!RpcRegistry._instance) {\n const globalObj: any = typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {};\n if (!globalObj[REGISTRY])\n globalObj[REGISTRY] = new RpcRegistry();\n\n RpcRegistry._instance = globalObj[REGISTRY];\n }\n\n return RpcRegistry._instance;\n }\n\n public lookupInterfaceDefinition(name: string): RpcInterfaceDefinition {\n if (!this.definitionClasses.has(name))\n throw new IModelError(BentleyStatus.ERROR, `RPC interface \"${name}\" is not initialized.`);\n\n return this.definitionClasses.get(name) as RpcInterfaceDefinition;\n }\n\n public async describeAvailableEndpoints(): Promise<RpcInterfaceEndpoints[]> {\n const requests: Array<Promise<RpcInterfaceEndpoints[]>> = [];\n for (const channel of RpcControlChannel.channels) {\n requests.push(channel.describeEndpoints());\n }\n\n const responses = await Promise.all(requests);\n const endpoints = responses.reduce((a, b) => a.concat(b), []);\n for (const endpoint of endpoints) {\n const definition = this.definitionClasses.get(endpoint.interfaceName);\n endpoint.compatible = (definition && RpcInterface.isVersionCompatible(endpoint.interfaceVersion, definition.interfaceVersion)) ? true : false;\n }\n\n return endpoints;\n }\n\n public getClientForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>, routing: RpcRoutingToken = RpcRoutingToken.default): T {\n let instance: T | undefined;\n\n const proxies = this.proxies.get(definition.interfaceName);\n if (proxies) {\n instance = proxies.get(routing.id) as (T | undefined);\n }\n\n if (!instance)\n instance = this.instantiateClient(definition, routing);\n\n return instance;\n }\n\n public getImplForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): T {\n let instance = this.implementations.get(definition.interfaceName) as (T | undefined);\n if (!instance)\n instance = this.instantiateImpl(definition);\n\n return instance;\n }\n\n public lookupImpl<T extends RpcInterface>(interfaceName: string): T {\n const definition = this.lookupInterfaceDefinition(interfaceName);\n return this.getImplForInterface(definition) as T;\n }\n\n public registerImpl<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, implementation: RpcInterfaceImplementation<TImplementation>) {\n this.unregisterImpl(definition);\n this.implementationClasses.set(definition.interfaceName, implementation);\n }\n\n public unregisterImpl<TDefinition extends RpcInterface>(definition: RpcInterfaceDefinition<TDefinition>) {\n this.implementationClasses.delete(definition.interfaceName);\n\n const impl = this.implementations.get(definition.interfaceName);\n if (impl) {\n impl.configuration.onRpcImplTerminated(definition, impl);\n this.implementations.delete(definition.interfaceName);\n }\n }\n\n public supplyImplInstance<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, instance: TImplementation): void {\n this.suppliedImplementations.set(definition.interfaceName, instance);\n }\n\n public isRpcInterfaceInitialized<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): boolean {\n return this.definitionClasses.has(definition.interfaceName);\n }\n\n public initializeRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): void {\n if (this.definitionClasses.has(definition.interfaceName)) {\n const existing = this.definitionClasses.get(definition.interfaceName);\n if (existing && definition.interfaceVersion === \"CONTROL\" && existing !== definition) {\n this.configureOperations(definition); // configs that differ only by routing still need the control ops initialized\n }\n\n return;\n }\n\n this.notifyInitialize();\n this.definitionClasses.set(definition.interfaceName, definition);\n this.configureOperations(definition);\n }\n\n public terminateRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\n this.unregisterImpl(definition);\n this.purgeClient(definition);\n this.definitionClasses.delete(definition.interfaceName);\n }\n\n public definitionClasses: Map<string, RpcInterfaceDefinition> = new Map();\n public proxies: Map<string, Map<number, RpcInterface>> = new Map();\n public implementations: Map<string, RpcInterface> = new Map();\n public suppliedImplementations: Map<string, RpcInterface> = new Map();\n public implementationClasses: Map<string, RpcInterfaceImplementation> = new Map();\n\n public id = (() => {\n let i = 0;\n return () => ++i;\n })();\n\n private instantiateImpl<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>): TImplementation {\n this.checkInitialized(definition);\n\n const registeredImplementation = this.implementationClasses.get(definition.interfaceName) as RpcInterfaceImplementation<TImplementation>;\n if (!registeredImplementation)\n throw new IModelError(BentleyStatus.ERROR, `An RPC interface implementation class for \"${definition.interfaceName}\" is not registered.`);\n\n if (definition.prototype.configurationSupplier)\n registeredImplementation.prototype.configurationSupplier = definition.prototype.configurationSupplier;\n\n const supplied = this.suppliedImplementations.get(definition.interfaceName);\n const implementation = supplied || new registeredImplementation();\n if (!(implementation instanceof registeredImplementation))\n throw new IModelError(BentleyStatus.ERROR, `Invalid RPC interface implementation.`);\n\n if (supplied) {\n (supplied.configuration as any) = RpcConfiguration.supply(supplied);\n }\n\n this.implementations.set(definition.interfaceName, implementation);\n implementation.configuration.onRpcImplInitialized(definition, implementation);\n return implementation;\n }\n\n private instantiateClient<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>, routing: RpcRoutingToken = RpcRoutingToken.default): T {\n this.checkInitialized(definition);\n\n const proxy = new (definition as any)(routing) as T;\n\n if (!this.proxies.has(definition.interfaceName)) {\n this.proxies.set(definition.interfaceName, new Map());\n }\n\n this.proxies.get(definition.interfaceName)?.set(routing.id, proxy);\n\n Object.getOwnPropertyNames(definition.prototype).forEach((operationName) => {\n if (operationName === \"constructor\" || operationName === \"configurationSupplier\")\n return;\n\n this.interceptOperation(proxy, operationName);\n });\n\n proxy.configuration.onRpcClientInitialized(definition, proxy);\n return proxy;\n }\n\n private interceptOperation(proxy: RpcInterface, operation: string) {\n const clientFunction = (proxy as any)[operation];\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n (proxy as any)[operation] = function () {\n const args = Array.from(arguments);\n args.push(operation);\n return clientFunction.apply(proxy, args);\n };\n }\n\n private checkInitialized<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\n if (!this.definitionClasses.has(definition.interfaceName))\n throw new IModelError(BentleyStatus.ERROR, `RPC interface \"${definition.interfaceName}\" is not initialized.`);\n }\n\n private configureOperations<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\n const proto = (definition.prototype as any);\n\n Object.getOwnPropertyNames(proto).forEach((operationName) => {\n if (operationName === \"constructor\" || operationName === \"configurationSupplier\")\n return;\n\n const propertyName = RpcOperation.computeOperationName(operationName);\n\n if (!proto[propertyName][OPERATION]) {\n const policy = (definition as any)[POLICY] || new RpcOperationPolicy();\n proto[propertyName][OPERATION] = new RpcOperation(definition, propertyName, policy);\n }\n });\n }\n\n private purgeClient<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\n const proxies = this.proxies.get(definition.interfaceName);\n if (proxies) {\n proxies.forEach((proxy) => proxy.configuration.onRpcClientTerminated(definition, proxy));\n this.proxies.delete(definition.interfaceName);\n }\n }\n\n private notifyInitialize() {\n initializeRpcRequest();\n RpcPendingQueue.initialize();\n }\n}\n"]}
1
+ {"version":3,"file":"RpcRegistry.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRegistry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\nimport { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { IModelError } from \"../../IModelError\";\r\nimport { RpcConfiguration } from \"./RpcConfiguration\";\r\nimport { RpcPendingQueue } from \"./RpcPendingQueue\";\r\nimport { initializeRpcRequest } from \"./RpcRequest\";\r\nimport { RpcRoutingToken } from \"./RpcRoutingToken\";\r\nimport { RpcInterface, RpcInterfaceDefinition, RpcInterfaceImplementation } from \"../../RpcInterface\";\r\nimport { RpcInterfaceEndpoints } from \"../../RpcManager\";\r\nimport { RpcControlChannel } from \"./RpcControl\";\r\nimport { RpcOperation, RpcOperationPolicy } from \"./RpcOperation\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** @internal */\r\nexport const REGISTRY = Symbol.for(\"@itwin/core-common/RpcRegistry\");\r\n\r\n/** @internal */\r\nexport const OPERATION = Symbol.for(\"@itwin/core-common/RpcOperation\");\r\n\r\n/** @internal */\r\nexport const POLICY = Symbol.for(\"@itwin/core-common/RpcOperationPolicy\");\r\n\r\n/** @internal */\r\nexport const INSTANCE = Symbol.for(\"@itwin/core-common/RpcInterface/__instance__\");\r\n\r\n/** @internal */\r\nexport const CURRENT_REQUEST = Symbol.for(\"@itwin/core-common/RpcRequest/__current__\");\r\n\r\n/** @internal */\r\nexport const CURRENT_INVOCATION = Symbol.for(\"@itwin/core-common/RpcInvocation/__current__\");\r\n\r\n/** @internal */\r\nexport class RpcRegistry {\r\n private static _instance: RpcRegistry;\r\n\r\n private constructor() {\r\n }\r\n\r\n public static get instance() {\r\n if (!RpcRegistry._instance) {\r\n const globalObj: any = typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {};\r\n if (!globalObj[REGISTRY])\r\n globalObj[REGISTRY] = new RpcRegistry();\r\n\r\n RpcRegistry._instance = globalObj[REGISTRY];\r\n }\r\n\r\n return RpcRegistry._instance;\r\n }\r\n\r\n public lookupInterfaceDefinition(name: string): RpcInterfaceDefinition {\r\n if (!this.definitionClasses.has(name))\r\n throw new IModelError(BentleyStatus.ERROR, `RPC interface \"${name}\" is not initialized.`);\r\n\r\n return this.definitionClasses.get(name) as RpcInterfaceDefinition;\r\n }\r\n\r\n public async describeAvailableEndpoints(): Promise<RpcInterfaceEndpoints[]> {\r\n const requests: Array<Promise<RpcInterfaceEndpoints[]>> = [];\r\n for (const channel of RpcControlChannel.channels) {\r\n requests.push(channel.describeEndpoints());\r\n }\r\n\r\n const responses = await Promise.all(requests);\r\n const endpoints = responses.reduce((a, b) => a.concat(b), []);\r\n for (const endpoint of endpoints) {\r\n const definition = this.definitionClasses.get(endpoint.interfaceName);\r\n endpoint.compatible = (definition && RpcInterface.isVersionCompatible(endpoint.interfaceVersion, definition.interfaceVersion)) ? true : false;\r\n }\r\n\r\n return endpoints;\r\n }\r\n\r\n public getClientForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>, routing: RpcRoutingToken = RpcRoutingToken.default): T {\r\n let instance: T | undefined;\r\n\r\n const proxies = this.proxies.get(definition.interfaceName);\r\n if (proxies) {\r\n instance = proxies.get(routing.id) as (T | undefined);\r\n }\r\n\r\n if (!instance)\r\n instance = this.instantiateClient(definition, routing);\r\n\r\n return instance;\r\n }\r\n\r\n public getImplForInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): T {\r\n let instance = this.implementations.get(definition.interfaceName) as (T | undefined);\r\n if (!instance)\r\n instance = this.instantiateImpl(definition);\r\n\r\n return instance;\r\n }\r\n\r\n public lookupImpl<T extends RpcInterface>(interfaceName: string): T {\r\n const definition = this.lookupInterfaceDefinition(interfaceName);\r\n return this.getImplForInterface(definition) as T;\r\n }\r\n\r\n public registerImpl<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, implementation: RpcInterfaceImplementation<TImplementation>) {\r\n this.unregisterImpl(definition);\r\n this.implementationClasses.set(definition.interfaceName, implementation);\r\n }\r\n\r\n public unregisterImpl<TDefinition extends RpcInterface>(definition: RpcInterfaceDefinition<TDefinition>) {\r\n this.implementationClasses.delete(definition.interfaceName);\r\n\r\n const impl = this.implementations.get(definition.interfaceName);\r\n if (impl) {\r\n impl.configuration.onRpcImplTerminated(definition, impl);\r\n this.implementations.delete(definition.interfaceName);\r\n }\r\n }\r\n\r\n public supplyImplInstance<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>, instance: TImplementation): void {\r\n this.suppliedImplementations.set(definition.interfaceName, instance);\r\n }\r\n\r\n public isRpcInterfaceInitialized<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): boolean {\r\n return this.definitionClasses.has(definition.interfaceName);\r\n }\r\n\r\n public initializeRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>): void {\r\n if (this.definitionClasses.has(definition.interfaceName)) {\r\n const existing = this.definitionClasses.get(definition.interfaceName);\r\n if (existing && definition.interfaceVersion === \"CONTROL\" && existing !== definition) {\r\n this.configureOperations(definition); // configs that differ only by routing still need the control ops initialized\r\n }\r\n\r\n return;\r\n }\r\n\r\n this.notifyInitialize();\r\n this.definitionClasses.set(definition.interfaceName, definition);\r\n this.configureOperations(definition);\r\n }\r\n\r\n public terminateRpcInterface<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\r\n this.unregisterImpl(definition);\r\n this.purgeClient(definition);\r\n this.definitionClasses.delete(definition.interfaceName);\r\n }\r\n\r\n public definitionClasses: Map<string, RpcInterfaceDefinition> = new Map();\r\n public proxies: Map<string, Map<number, RpcInterface>> = new Map();\r\n public implementations: Map<string, RpcInterface> = new Map();\r\n public suppliedImplementations: Map<string, RpcInterface> = new Map();\r\n public implementationClasses: Map<string, RpcInterfaceImplementation> = new Map();\r\n\r\n public id = (() => {\r\n let i = 0;\r\n return () => ++i;\r\n })();\r\n\r\n private instantiateImpl<TDefinition extends RpcInterface, TImplementation extends TDefinition>(definition: RpcInterfaceDefinition<TDefinition>): TImplementation {\r\n this.checkInitialized(definition);\r\n\r\n const registeredImplementation = this.implementationClasses.get(definition.interfaceName) as RpcInterfaceImplementation<TImplementation>;\r\n if (!registeredImplementation)\r\n throw new IModelError(BentleyStatus.ERROR, `An RPC interface implementation class for \"${definition.interfaceName}\" is not registered.`);\r\n\r\n if (definition.prototype.configurationSupplier)\r\n registeredImplementation.prototype.configurationSupplier = definition.prototype.configurationSupplier;\r\n\r\n const supplied = this.suppliedImplementations.get(definition.interfaceName);\r\n const implementation = supplied || new registeredImplementation();\r\n if (!(implementation instanceof registeredImplementation))\r\n throw new IModelError(BentleyStatus.ERROR, `Invalid RPC interface implementation.`);\r\n\r\n if (supplied) {\r\n (supplied.configuration as any) = RpcConfiguration.supply(supplied);\r\n }\r\n\r\n this.implementations.set(definition.interfaceName, implementation);\r\n implementation.configuration.onRpcImplInitialized(definition, implementation);\r\n return implementation;\r\n }\r\n\r\n private instantiateClient<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>, routing: RpcRoutingToken = RpcRoutingToken.default): T {\r\n this.checkInitialized(definition);\r\n\r\n const proxy = new (definition as any)(routing) as T;\r\n\r\n if (!this.proxies.has(definition.interfaceName)) {\r\n this.proxies.set(definition.interfaceName, new Map());\r\n }\r\n\r\n this.proxies.get(definition.interfaceName)?.set(routing.id, proxy);\r\n\r\n Object.getOwnPropertyNames(definition.prototype).forEach((operationName) => {\r\n if (operationName === \"constructor\" || operationName === \"configurationSupplier\")\r\n return;\r\n\r\n this.interceptOperation(proxy, operationName);\r\n });\r\n\r\n proxy.configuration.onRpcClientInitialized(definition, proxy);\r\n return proxy;\r\n }\r\n\r\n private interceptOperation(proxy: RpcInterface, operation: string) {\r\n const clientFunction = (proxy as any)[operation];\r\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\r\n (proxy as any)[operation] = function () {\r\n const args = Array.from(arguments);\r\n args.push(operation);\r\n return clientFunction.apply(proxy, args);\r\n };\r\n }\r\n\r\n private checkInitialized<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\r\n if (!this.definitionClasses.has(definition.interfaceName))\r\n throw new IModelError(BentleyStatus.ERROR, `RPC interface \"${definition.interfaceName}\" is not initialized.`);\r\n }\r\n\r\n private configureOperations<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\r\n const proto = (definition.prototype as any);\r\n\r\n Object.getOwnPropertyNames(proto).forEach((operationName) => {\r\n if (operationName === \"constructor\" || operationName === \"configurationSupplier\")\r\n return;\r\n\r\n const propertyName = RpcOperation.computeOperationName(operationName);\r\n\r\n if (!proto[propertyName][OPERATION]) {\r\n const policy = (definition as any)[POLICY] || new RpcOperationPolicy();\r\n proto[propertyName][OPERATION] = new RpcOperation(definition, propertyName, policy);\r\n }\r\n });\r\n }\r\n\r\n private purgeClient<T extends RpcInterface>(definition: RpcInterfaceDefinition<T>) {\r\n const proxies = this.proxies.get(definition.interfaceName);\r\n if (proxies) {\r\n proxies.forEach((proxy) => proxy.configuration.onRpcClientTerminated(definition, proxy));\r\n this.proxies.delete(definition.interfaceName);\r\n }\r\n }\r\n\r\n private notifyInitialize() {\r\n initializeRpcRequest();\r\n RpcPendingQueue.initialize();\r\n }\r\n}\r\n"]}