@itwin/core-common 3.4.0-dev.58 → 3.4.0-dev.59

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