@itwin/core-common 3.4.0-dev.50 → 3.4.0-dev.56

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 (971) 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.d.ts.map +1 -1
  27. package/lib/cjs/Camera.js +62 -58
  28. package/lib/cjs/Camera.js.map +1 -1
  29. package/lib/cjs/ChangedElements.d.ts +83 -83
  30. package/lib/cjs/ChangedElements.js +21 -21
  31. package/lib/cjs/ChangedElements.js.map +1 -1
  32. package/lib/cjs/ChangedEntities.d.ts +45 -45
  33. package/lib/cjs/ChangedEntities.js +9 -9
  34. package/lib/cjs/ChangedEntities.js.map +1 -1
  35. package/lib/cjs/ChangesetProps.d.ts +98 -98
  36. package/lib/cjs/ChangesetProps.js +22 -22
  37. package/lib/cjs/ChangesetProps.js.map +1 -1
  38. package/lib/cjs/ClipStyle.d.ts +89 -89
  39. package/lib/cjs/ClipStyle.js +123 -123
  40. package/lib/cjs/ClipStyle.js.map +1 -1
  41. package/lib/cjs/CloudStorage.d.ts +62 -47
  42. package/lib/cjs/CloudStorage.d.ts.map +1 -1
  43. package/lib/cjs/CloudStorage.js +113 -103
  44. package/lib/cjs/CloudStorage.js.map +1 -1
  45. package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
  46. package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
  47. package/lib/cjs/CloudStorageTileCache.js +66 -62
  48. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  49. package/lib/cjs/Code.d.ts +256 -256
  50. package/lib/cjs/Code.d.ts.map +1 -1
  51. package/lib/cjs/Code.js +281 -278
  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.d.ts.map +1 -1
  58. package/lib/cjs/ColorDef.js +571 -569
  59. package/lib/cjs/ColorDef.js.map +1 -1
  60. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  61. package/lib/cjs/CommonLoggerCategory.js +26 -26
  62. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  63. package/lib/cjs/ConcurrentQuery.d.ts +241 -241
  64. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  65. package/lib/cjs/ConcurrentQuery.js +380 -338
  66. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  67. package/lib/cjs/ContextRealityModel.d.ts +255 -255
  68. package/lib/cjs/ContextRealityModel.js +325 -325
  69. package/lib/cjs/ContextRealityModel.js.map +1 -1
  70. package/lib/cjs/DisplayStyleSettings.d.ts +552 -552
  71. package/lib/cjs/DisplayStyleSettings.js +951 -951
  72. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  73. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  74. package/lib/cjs/ECSchemaProps.js +9 -9
  75. package/lib/cjs/ECSchemaProps.js.map +1 -1
  76. package/lib/cjs/ECSqlReader.d.ts +70 -70
  77. package/lib/cjs/ECSqlReader.js +280 -280
  78. package/lib/cjs/ECSqlReader.js.map +1 -1
  79. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  80. package/lib/cjs/ECSqlTypes.js +189 -189
  81. package/lib/cjs/ECSqlTypes.js.map +1 -1
  82. package/lib/cjs/ElementProps.d.ts +476 -476
  83. package/lib/cjs/ElementProps.js +99 -99
  84. package/lib/cjs/ElementProps.js.map +1 -1
  85. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  86. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  87. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  88. package/lib/cjs/EntityProps.d.ts +176 -176
  89. package/lib/cjs/EntityProps.js +112 -112
  90. package/lib/cjs/EntityProps.js.map +1 -1
  91. package/lib/cjs/Environment.d.ts +61 -61
  92. package/lib/cjs/Environment.js +73 -73
  93. package/lib/cjs/Environment.js.map +1 -1
  94. package/lib/cjs/FeatureGates.d.ts +31 -31
  95. package/lib/cjs/FeatureGates.d.ts.map +1 -1
  96. package/lib/cjs/FeatureGates.js +55 -51
  97. package/lib/cjs/FeatureGates.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  100. package/lib/cjs/FeatureIndex.js +63 -59
  101. package/lib/cjs/FeatureIndex.js.map +1 -1
  102. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  103. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  104. package/lib/cjs/FeatureSymbology.js +614 -614
  105. package/lib/cjs/FeatureSymbology.js.map +1 -1
  106. package/lib/cjs/FeatureTable.d.ts +141 -141
  107. package/lib/cjs/FeatureTable.js +278 -278
  108. package/lib/cjs/FeatureTable.js.map +1 -1
  109. package/lib/cjs/Fonts.d.ts +51 -51
  110. package/lib/cjs/Fonts.d.ts.map +1 -1
  111. package/lib/cjs/Fonts.js +53 -53
  112. package/lib/cjs/Fonts.js.map +1 -1
  113. package/lib/cjs/Frustum.d.ts +114 -114
  114. package/lib/cjs/Frustum.d.ts.map +1 -1
  115. package/lib/cjs/Frustum.js +292 -258
  116. package/lib/cjs/Frustum.js.map +1 -1
  117. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  118. package/lib/cjs/GeoCoordinateServices.js +80 -80
  119. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  120. package/lib/cjs/GeometryContainment.d.ts +28 -28
  121. package/lib/cjs/GeometryContainment.js +9 -9
  122. package/lib/cjs/GeometryContainment.js.map +1 -1
  123. package/lib/cjs/GeometryParams.d.ts +130 -130
  124. package/lib/cjs/GeometryParams.js +174 -174
  125. package/lib/cjs/GeometryParams.js.map +1 -1
  126. package/lib/cjs/GeometrySummary.d.ts +45 -45
  127. package/lib/cjs/GeometrySummary.js +23 -23
  128. package/lib/cjs/GeometrySummary.js.map +1 -1
  129. package/lib/cjs/Gradient.d.ts +139 -139
  130. package/lib/cjs/Gradient.js +455 -455
  131. package/lib/cjs/Gradient.js.map +1 -1
  132. package/lib/cjs/GraphicParams.d.ts +58 -58
  133. package/lib/cjs/GraphicParams.js +85 -85
  134. package/lib/cjs/GraphicParams.js.map +1 -1
  135. package/lib/cjs/GroundPlane.d.ts +52 -52
  136. package/lib/cjs/GroundPlane.js +64 -64
  137. package/lib/cjs/GroundPlane.js.map +1 -1
  138. package/lib/cjs/HSLColor.d.ts +20 -20
  139. package/lib/cjs/HSLColor.js +32 -32
  140. package/lib/cjs/HSLColor.js.map +1 -1
  141. package/lib/cjs/HSVColor.d.ts +30 -30
  142. package/lib/cjs/HSVColor.js +59 -59
  143. package/lib/cjs/HSVColor.js.map +1 -1
  144. package/lib/cjs/HiddenLine.d.ts +97 -97
  145. package/lib/cjs/HiddenLine.js +162 -162
  146. package/lib/cjs/HiddenLine.js.map +1 -1
  147. package/lib/cjs/Hilite.d.ts +50 -50
  148. package/lib/cjs/Hilite.js +64 -64
  149. package/lib/cjs/Hilite.js.map +1 -1
  150. package/lib/cjs/IModel.d.ts +355 -355
  151. package/lib/cjs/IModel.js +340 -340
  152. package/lib/cjs/IModel.js.map +1 -1
  153. package/lib/cjs/IModelError.d.ts +36 -36
  154. package/lib/cjs/IModelError.js +72 -72
  155. package/lib/cjs/IModelError.js.map +1 -1
  156. package/lib/cjs/IModelVersion.d.ts +68 -68
  157. package/lib/cjs/IModelVersion.js +79 -79
  158. package/lib/cjs/IModelVersion.js.map +1 -1
  159. package/lib/cjs/Image.d.ts +86 -86
  160. package/lib/cjs/Image.d.ts.map +1 -1
  161. package/lib/cjs/Image.js +128 -126
  162. package/lib/cjs/Image.js.map +1 -1
  163. package/lib/cjs/IpcAppProps.d.ts +124 -124
  164. package/lib/cjs/IpcAppProps.js +18 -18
  165. package/lib/cjs/IpcAppProps.js.map +1 -1
  166. package/lib/cjs/LightSettings.d.ts +224 -224
  167. package/lib/cjs/LightSettings.js +309 -309
  168. package/lib/cjs/LightSettings.js.map +1 -1
  169. package/lib/cjs/LinePixels.d.ts +34 -34
  170. package/lib/cjs/LinePixels.js +42 -42
  171. package/lib/cjs/LinePixels.js.map +1 -1
  172. package/lib/cjs/Localization.d.ts +111 -111
  173. package/lib/cjs/Localization.js +26 -26
  174. package/lib/cjs/Localization.js.map +1 -1
  175. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  176. package/lib/cjs/MapImagerySettings.js +80 -80
  177. package/lib/cjs/MapImagerySettings.js.map +1 -1
  178. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  179. package/lib/cjs/MapLayerSettings.js +411 -411
  180. package/lib/cjs/MapLayerSettings.js.map +1 -1
  181. package/lib/cjs/MassProperties.d.ts +64 -64
  182. package/lib/cjs/MassProperties.js +23 -23
  183. package/lib/cjs/MassProperties.js.map +1 -1
  184. package/lib/cjs/MaterialProps.d.ts +118 -118
  185. package/lib/cjs/MaterialProps.js +23 -23
  186. package/lib/cjs/MaterialProps.js.map +1 -1
  187. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  188. package/lib/cjs/ModelClipGroup.js +98 -98
  189. package/lib/cjs/ModelClipGroup.js.map +1 -1
  190. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  191. package/lib/cjs/ModelGeometryChanges.js +83 -83
  192. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  193. package/lib/cjs/ModelProps.d.ts +66 -66
  194. package/lib/cjs/ModelProps.js +9 -9
  195. package/lib/cjs/ModelProps.js.map +1 -1
  196. package/lib/cjs/NativeAppProps.d.ts +122 -122
  197. package/lib/cjs/NativeAppProps.js +30 -30
  198. package/lib/cjs/NativeAppProps.js.map +1 -1
  199. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  200. package/lib/cjs/OctEncodedNormal.js +98 -98
  201. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  202. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  203. package/lib/cjs/PlanProjectionSettings.js +63 -63
  204. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  205. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  206. package/lib/cjs/PlanarClipMask.js +136 -136
  207. package/lib/cjs/PlanarClipMask.js.map +1 -1
  208. package/lib/cjs/QPoint.d.ts +479 -299
  209. package/lib/cjs/QPoint.d.ts.map +1 -1
  210. package/lib/cjs/QPoint.js +826 -626
  211. package/lib/cjs/QPoint.js.map +1 -1
  212. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  213. package/lib/cjs/RealityDataAccessProps.js +19 -19
  214. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  215. package/lib/cjs/Render.d.ts +89 -89
  216. package/lib/cjs/Render.d.ts.map +1 -1
  217. package/lib/cjs/Render.js +177 -169
  218. package/lib/cjs/Render.js.map +1 -1
  219. package/lib/cjs/RenderMaterial.d.ts +58 -58
  220. package/lib/cjs/RenderMaterial.js +76 -76
  221. package/lib/cjs/RenderMaterial.js.map +1 -1
  222. package/lib/cjs/RenderSchedule.d.ts +540 -540
  223. package/lib/cjs/RenderSchedule.js +1000 -1000
  224. package/lib/cjs/RenderTexture.d.ts +70 -70
  225. package/lib/cjs/RenderTexture.js +59 -59
  226. package/lib/cjs/RenderTexture.js.map +1 -1
  227. package/lib/cjs/RgbColor.d.ts +39 -39
  228. package/lib/cjs/RgbColor.js +67 -67
  229. package/lib/cjs/RgbColor.js.map +1 -1
  230. package/lib/cjs/RpcInterface.d.ts +33 -33
  231. package/lib/cjs/RpcInterface.js +137 -137
  232. package/lib/cjs/RpcInterface.js.map +1 -1
  233. package/lib/cjs/RpcManager.d.ts +40 -40
  234. package/lib/cjs/RpcManager.js +55 -55
  235. package/lib/cjs/RpcManager.js.map +1 -1
  236. package/lib/cjs/SessionProps.d.ts +16 -16
  237. package/lib/cjs/SessionProps.js +9 -9
  238. package/lib/cjs/SessionProps.js.map +1 -1
  239. package/lib/cjs/SkyBox.d.ts +215 -215
  240. package/lib/cjs/SkyBox.js +210 -210
  241. package/lib/cjs/SkyBox.js.map +1 -1
  242. package/lib/cjs/Snapping.d.ts +49 -49
  243. package/lib/cjs/Snapping.js +9 -9
  244. package/lib/cjs/Snapping.js.map +1 -1
  245. package/lib/cjs/SolarCalculate.d.ts +27 -27
  246. package/lib/cjs/SolarCalculate.js +211 -211
  247. package/lib/cjs/SolarCalculate.js.map +1 -1
  248. package/lib/cjs/SolarShadows.d.ts +35 -35
  249. package/lib/cjs/SolarShadows.js +62 -62
  250. package/lib/cjs/SolarShadows.js.map +1 -1
  251. package/lib/cjs/SpatialClassification.d.ts +208 -208
  252. package/lib/cjs/SpatialClassification.js +340 -340
  253. package/lib/cjs/SpatialClassification.js.map +1 -1
  254. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  255. package/lib/cjs/SubCategoryAppearance.js +96 -96
  256. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  257. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  258. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  259. package/lib/cjs/SubCategoryOverride.js +104 -104
  260. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  261. package/lib/cjs/TerrainSettings.d.ts +82 -77
  262. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  263. package/lib/cjs/TerrainSettings.js +102 -101
  264. package/lib/cjs/TerrainSettings.js.map +1 -1
  265. package/lib/cjs/TextureMapping.d.ts +101 -101
  266. package/lib/cjs/TextureMapping.js +174 -174
  267. package/lib/cjs/TextureMapping.js.map +1 -1
  268. package/lib/cjs/TextureProps.d.ts +65 -65
  269. package/lib/cjs/TextureProps.js +28 -28
  270. package/lib/cjs/TextureProps.js.map +1 -1
  271. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  272. package/lib/cjs/ThematicDisplay.js +344 -344
  273. package/lib/cjs/ThematicDisplay.js.map +1 -1
  274. package/lib/cjs/Thumbnail.d.ts +26 -26
  275. package/lib/cjs/Thumbnail.js +9 -9
  276. package/lib/cjs/Thumbnail.js.map +1 -1
  277. package/lib/cjs/TileProps.d.ts +82 -77
  278. package/lib/cjs/TileProps.d.ts.map +1 -1
  279. package/lib/cjs/TileProps.js +29 -18
  280. package/lib/cjs/TileProps.js.map +1 -1
  281. package/lib/cjs/Tween.d.ts +191 -191
  282. package/lib/cjs/Tween.js +570 -570
  283. package/lib/cjs/Tween.js.map +1 -1
  284. package/lib/cjs/TxnAction.d.ts +21 -21
  285. package/lib/cjs/TxnAction.js +29 -29
  286. package/lib/cjs/TxnAction.js.map +1 -1
  287. package/lib/cjs/ViewDetails.d.ts +125 -125
  288. package/lib/cjs/ViewDetails.js +158 -158
  289. package/lib/cjs/ViewDetails.js.map +1 -1
  290. package/lib/cjs/ViewFlags.d.ts +291 -291
  291. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  292. package/lib/cjs/ViewFlags.js +368 -368
  293. package/lib/cjs/ViewFlags.js.map +1 -1
  294. package/lib/cjs/ViewProps.d.ts +205 -205
  295. package/lib/cjs/ViewProps.js +9 -9
  296. package/lib/cjs/ViewProps.js.map +1 -1
  297. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  298. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  299. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  300. package/lib/cjs/core-common.d.ts +240 -240
  301. package/lib/cjs/core-common.js +256 -256
  302. package/lib/cjs/core-common.js.map +1 -1
  303. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  304. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  305. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  306. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  307. package/lib/cjs/domains/GenericElementProps.js +9 -9
  308. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  309. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  310. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  311. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  312. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  313. package/lib/cjs/geometry/AreaPattern.js +204 -204
  314. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  315. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  316. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  317. package/lib/cjs/geometry/BoundingSphere.js +30 -24
  318. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  319. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  320. package/lib/cjs/geometry/Cartographic.js +345 -345
  321. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  322. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  323. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  324. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  325. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  326. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  327. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  328. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  329. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  330. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  331. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  332. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  333. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  334. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  335. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  336. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  337. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  338. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  339. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  340. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  341. package/lib/cjs/geometry/GeometryStream.js +469 -469
  342. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  343. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  344. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  345. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  346. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  347. package/lib/cjs/geometry/LineStyle.js +129 -129
  348. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  349. package/lib/cjs/geometry/Placement.d.ts +95 -95
  350. package/lib/cjs/geometry/Placement.js +131 -131
  351. package/lib/cjs/geometry/Placement.js.map +1 -1
  352. package/lib/cjs/geometry/Projection.d.ts +251 -251
  353. package/lib/cjs/geometry/Projection.js +198 -198
  354. package/lib/cjs/geometry/Projection.js.map +1 -1
  355. package/lib/cjs/geometry/TextString.d.ts +55 -55
  356. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  357. package/lib/cjs/geometry/TextString.js +65 -65
  358. package/lib/cjs/geometry/TextString.js.map +1 -1
  359. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  360. package/lib/cjs/ipc/IpcSession.js +27 -27
  361. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  362. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  363. package/lib/cjs/ipc/IpcSocket.js +16 -16
  364. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  365. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  366. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  367. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  368. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  369. package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -151
  370. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  371. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  372. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  373. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  374. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
  375. package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
  376. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  377. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
  378. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  379. package/lib/cjs/rpc/IModelTileRpcInterface.js +95 -86
  380. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  381. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  382. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  383. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  384. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  385. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  386. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  387. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  388. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  389. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  390. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  391. package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
  392. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  393. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -85
  394. package/lib/cjs/rpc/core/RpcConstants.js +103 -103
  395. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  396. package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
  397. package/lib/cjs/rpc/core/RpcControl.js +149 -149
  398. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  399. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  400. package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
  401. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  402. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
  403. package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
  404. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  406. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  407. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  409. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  410. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  411. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  412. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  413. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  414. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  415. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  416. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  417. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  418. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  419. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  421. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  422. package/lib/cjs/rpc/core/RpcRequest.js +477 -471
  423. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  424. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  425. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  426. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  428. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  429. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  431. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  432. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  433. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  434. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  435. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  436. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  437. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -142
  438. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  439. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  440. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  441. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  442. package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
  443. package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
  444. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  445. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
  446. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  447. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  448. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  449. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  450. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  451. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
  452. package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
  453. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  454. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  455. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  456. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
  457. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  458. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  459. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  460. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  461. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  462. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  463. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  464. package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
  465. package/lib/cjs/tile/ElementGraphics.js +9 -9
  466. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  467. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  468. package/lib/cjs/tile/GltfTileIO.js +109 -109
  469. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  470. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  471. package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
  472. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  473. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  474. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  475. package/lib/cjs/tile/IModelTileIO.js +95 -95
  476. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  477. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  478. package/lib/cjs/tile/PntsTileIO.js +26 -26
  479. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  480. package/lib/cjs/tile/TileIO.d.ts +66 -66
  481. package/lib/cjs/tile/TileIO.js +118 -118
  482. package/lib/cjs/tile/TileIO.js.map +1 -1
  483. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  484. package/lib/cjs/tile/TileMetadata.js +676 -676
  485. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  486. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  487. package/lib/esm/AmbientOcclusion.js +52 -52
  488. package/lib/esm/AmbientOcclusion.js.map +1 -1
  489. package/lib/esm/AnalysisStyle.d.ts +134 -134
  490. package/lib/esm/AnalysisStyle.js +159 -159
  491. package/lib/esm/AnalysisStyle.js.map +1 -1
  492. package/lib/esm/AuthorizationClient.d.ts +11 -11
  493. package/lib/esm/AuthorizationClient.js +8 -8
  494. package/lib/esm/AuthorizationClient.js.map +1 -1
  495. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  496. package/lib/esm/BackgroundMapProvider.js +64 -64
  497. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  498. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  499. package/lib/esm/BackgroundMapSettings.js +152 -152
  500. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  501. package/lib/esm/Base64EncodedString.d.ts +30 -30
  502. package/lib/esm/Base64EncodedString.js +53 -53
  503. package/lib/esm/Base64EncodedString.js.map +1 -1
  504. package/lib/esm/BlobReader.d.ts +31 -31
  505. package/lib/esm/BlobReader.js +79 -79
  506. package/lib/esm/BlobReader.js.map +1 -1
  507. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  508. package/lib/esm/BriefcaseTypes.js +92 -92
  509. package/lib/esm/BriefcaseTypes.js.map +1 -1
  510. package/lib/esm/Camera.d.ts +42 -42
  511. package/lib/esm/Camera.d.ts.map +1 -1
  512. package/lib/esm/Camera.js +58 -54
  513. package/lib/esm/Camera.js.map +1 -1
  514. package/lib/esm/ChangedElements.d.ts +83 -83
  515. package/lib/esm/ChangedElements.js +18 -18
  516. package/lib/esm/ChangedElements.js.map +1 -1
  517. package/lib/esm/ChangedEntities.d.ts +45 -45
  518. package/lib/esm/ChangedEntities.js +8 -8
  519. package/lib/esm/ChangedEntities.js.map +1 -1
  520. package/lib/esm/ChangesetProps.d.ts +98 -98
  521. package/lib/esm/ChangesetProps.js +19 -19
  522. package/lib/esm/ChangesetProps.js.map +1 -1
  523. package/lib/esm/ClipStyle.d.ts +89 -89
  524. package/lib/esm/ClipStyle.js +118 -118
  525. package/lib/esm/ClipStyle.js.map +1 -1
  526. package/lib/esm/CloudStorage.d.ts +62 -47
  527. package/lib/esm/CloudStorage.d.ts.map +1 -1
  528. package/lib/esm/CloudStorage.js +109 -99
  529. package/lib/esm/CloudStorage.js.map +1 -1
  530. package/lib/esm/CloudStorageTileCache.d.ts +27 -24
  531. package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
  532. package/lib/esm/CloudStorageTileCache.js +62 -58
  533. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  534. package/lib/esm/Code.d.ts +256 -256
  535. package/lib/esm/Code.d.ts.map +1 -1
  536. package/lib/esm/Code.js +276 -273
  537. package/lib/esm/Code.js.map +1 -1
  538. package/lib/esm/ColorByName.d.ts +161 -161
  539. package/lib/esm/ColorByName.js +166 -166
  540. package/lib/esm/ColorByName.js.map +1 -1
  541. package/lib/esm/ColorDef.d.ts +208 -208
  542. package/lib/esm/ColorDef.d.ts.map +1 -1
  543. package/lib/esm/ColorDef.js +567 -565
  544. package/lib/esm/ColorDef.js.map +1 -1
  545. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  546. package/lib/esm/CommonLoggerCategory.js +23 -23
  547. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  548. package/lib/esm/ConcurrentQuery.d.ts +241 -241
  549. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  550. package/lib/esm/ConcurrentQuery.js +373 -331
  551. package/lib/esm/ConcurrentQuery.js.map +1 -1
  552. package/lib/esm/ContextRealityModel.d.ts +255 -255
  553. package/lib/esm/ContextRealityModel.js +320 -320
  554. package/lib/esm/ContextRealityModel.js.map +1 -1
  555. package/lib/esm/DisplayStyleSettings.d.ts +552 -552
  556. package/lib/esm/DisplayStyleSettings.js +946 -946
  557. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  558. package/lib/esm/ECSchemaProps.d.ts +39 -39
  559. package/lib/esm/ECSchemaProps.js +8 -8
  560. package/lib/esm/ECSchemaProps.js.map +1 -1
  561. package/lib/esm/ECSqlReader.d.ts +70 -70
  562. package/lib/esm/ECSqlReader.js +275 -275
  563. package/lib/esm/ECSqlReader.js.map +1 -1
  564. package/lib/esm/ECSqlTypes.d.ts +128 -128
  565. package/lib/esm/ECSqlTypes.js +185 -185
  566. package/lib/esm/ECSqlTypes.js.map +1 -1
  567. package/lib/esm/ElementProps.d.ts +476 -476
  568. package/lib/esm/ElementProps.js +92 -92
  569. package/lib/esm/ElementProps.js.map +1 -1
  570. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  571. package/lib/esm/EmphasizeElementsProps.js +22 -22
  572. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  573. package/lib/esm/EntityProps.d.ts +176 -176
  574. package/lib/esm/EntityProps.js +107 -107
  575. package/lib/esm/EntityProps.js.map +1 -1
  576. package/lib/esm/Environment.d.ts +61 -61
  577. package/lib/esm/Environment.js +69 -69
  578. package/lib/esm/Environment.js.map +1 -1
  579. package/lib/esm/FeatureGates.d.ts +31 -31
  580. package/lib/esm/FeatureGates.d.ts.map +1 -1
  581. package/lib/esm/FeatureGates.js +51 -47
  582. package/lib/esm/FeatureGates.js.map +1 -1
  583. package/lib/esm/FeatureIndex.d.ts +39 -39
  584. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  585. package/lib/esm/FeatureIndex.js +57 -53
  586. package/lib/esm/FeatureIndex.js.map +1 -1
  587. package/lib/esm/FeatureSymbology.d.ts +444 -444
  588. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  589. package/lib/esm/FeatureSymbology.js +609 -609
  590. package/lib/esm/FeatureSymbology.js.map +1 -1
  591. package/lib/esm/FeatureTable.d.ts +141 -141
  592. package/lib/esm/FeatureTable.js +272 -272
  593. package/lib/esm/FeatureTable.js.map +1 -1
  594. package/lib/esm/Fonts.d.ts +51 -51
  595. package/lib/esm/Fonts.d.ts.map +1 -1
  596. package/lib/esm/Fonts.js +49 -49
  597. package/lib/esm/Fonts.js.map +1 -1
  598. package/lib/esm/Frustum.d.ts +114 -114
  599. package/lib/esm/Frustum.d.ts.map +1 -1
  600. package/lib/esm/Frustum.js +288 -254
  601. package/lib/esm/Frustum.js.map +1 -1
  602. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  603. package/lib/esm/GeoCoordinateServices.js +76 -76
  604. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  605. package/lib/esm/GeometryContainment.d.ts +28 -28
  606. package/lib/esm/GeometryContainment.js +8 -8
  607. package/lib/esm/GeometryContainment.js.map +1 -1
  608. package/lib/esm/GeometryParams.d.ts +130 -130
  609. package/lib/esm/GeometryParams.js +170 -170
  610. package/lib/esm/GeometryParams.js.map +1 -1
  611. package/lib/esm/GeometrySummary.d.ts +45 -45
  612. package/lib/esm/GeometrySummary.js +20 -20
  613. package/lib/esm/GeometrySummary.js.map +1 -1
  614. package/lib/esm/Gradient.d.ts +139 -139
  615. package/lib/esm/Gradient.js +452 -452
  616. package/lib/esm/Gradient.js.map +1 -1
  617. package/lib/esm/GraphicParams.d.ts +58 -58
  618. package/lib/esm/GraphicParams.js +81 -81
  619. package/lib/esm/GraphicParams.js.map +1 -1
  620. package/lib/esm/GroundPlane.d.ts +52 -52
  621. package/lib/esm/GroundPlane.js +60 -60
  622. package/lib/esm/GroundPlane.js.map +1 -1
  623. package/lib/esm/HSLColor.d.ts +20 -20
  624. package/lib/esm/HSLColor.js +28 -28
  625. package/lib/esm/HSLColor.js.map +1 -1
  626. package/lib/esm/HSVColor.d.ts +30 -30
  627. package/lib/esm/HSVColor.js +55 -55
  628. package/lib/esm/HSVColor.js.map +1 -1
  629. package/lib/esm/HiddenLine.d.ts +97 -97
  630. package/lib/esm/HiddenLine.js +159 -159
  631. package/lib/esm/HiddenLine.js.map +1 -1
  632. package/lib/esm/Hilite.d.ts +50 -50
  633. package/lib/esm/Hilite.js +61 -61
  634. package/lib/esm/Hilite.js.map +1 -1
  635. package/lib/esm/IModel.d.ts +355 -355
  636. package/lib/esm/IModel.js +335 -335
  637. package/lib/esm/IModel.js.map +1 -1
  638. package/lib/esm/IModelError.d.ts +36 -36
  639. package/lib/esm/IModelError.js +55 -55
  640. package/lib/esm/IModelError.js.map +1 -1
  641. package/lib/esm/IModelVersion.d.ts +68 -68
  642. package/lib/esm/IModelVersion.js +75 -75
  643. package/lib/esm/IModelVersion.js.map +1 -1
  644. package/lib/esm/Image.d.ts +86 -86
  645. package/lib/esm/Image.d.ts.map +1 -1
  646. package/lib/esm/Image.js +120 -118
  647. package/lib/esm/Image.js.map +1 -1
  648. package/lib/esm/IpcAppProps.d.ts +124 -124
  649. package/lib/esm/IpcAppProps.js +15 -15
  650. package/lib/esm/IpcAppProps.js.map +1 -1
  651. package/lib/esm/LightSettings.d.ts +224 -224
  652. package/lib/esm/LightSettings.js +301 -301
  653. package/lib/esm/LightSettings.js.map +1 -1
  654. package/lib/esm/LinePixels.d.ts +34 -34
  655. package/lib/esm/LinePixels.js +39 -39
  656. package/lib/esm/LinePixels.js.map +1 -1
  657. package/lib/esm/Localization.d.ts +111 -111
  658. package/lib/esm/Localization.js +22 -22
  659. package/lib/esm/Localization.js.map +1 -1
  660. package/lib/esm/MapImagerySettings.d.ts +62 -62
  661. package/lib/esm/MapImagerySettings.js +76 -76
  662. package/lib/esm/MapImagerySettings.js.map +1 -1
  663. package/lib/esm/MapLayerSettings.d.ts +272 -272
  664. package/lib/esm/MapLayerSettings.js +403 -403
  665. package/lib/esm/MapLayerSettings.js.map +1 -1
  666. package/lib/esm/MassProperties.d.ts +64 -64
  667. package/lib/esm/MassProperties.js +20 -20
  668. package/lib/esm/MassProperties.js.map +1 -1
  669. package/lib/esm/MaterialProps.d.ts +118 -118
  670. package/lib/esm/MaterialProps.js +20 -20
  671. package/lib/esm/MaterialProps.js.map +1 -1
  672. package/lib/esm/ModelClipGroup.d.ts +67 -67
  673. package/lib/esm/ModelClipGroup.js +93 -93
  674. package/lib/esm/ModelClipGroup.js.map +1 -1
  675. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  676. package/lib/esm/ModelGeometryChanges.js +80 -80
  677. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  678. package/lib/esm/ModelProps.d.ts +66 -66
  679. package/lib/esm/ModelProps.js +8 -8
  680. package/lib/esm/ModelProps.js.map +1 -1
  681. package/lib/esm/NativeAppProps.d.ts +122 -122
  682. package/lib/esm/NativeAppProps.js +27 -27
  683. package/lib/esm/NativeAppProps.js.map +1 -1
  684. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  685. package/lib/esm/OctEncodedNormal.js +93 -93
  686. package/lib/esm/OctEncodedNormal.js.map +1 -1
  687. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  688. package/lib/esm/PlanProjectionSettings.js +59 -59
  689. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  690. package/lib/esm/PlanarClipMask.d.ts +177 -177
  691. package/lib/esm/PlanarClipMask.js +132 -132
  692. package/lib/esm/PlanarClipMask.js.map +1 -1
  693. package/lib/esm/QPoint.d.ts +479 -299
  694. package/lib/esm/QPoint.d.ts.map +1 -1
  695. package/lib/esm/QPoint.js +815 -617
  696. package/lib/esm/QPoint.js.map +1 -1
  697. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  698. package/lib/esm/RealityDataAccessProps.js +16 -16
  699. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  700. package/lib/esm/Render.d.ts +89 -89
  701. package/lib/esm/Render.d.ts.map +1 -1
  702. package/lib/esm/Render.js +165 -157
  703. package/lib/esm/Render.js.map +1 -1
  704. package/lib/esm/RenderMaterial.d.ts +58 -58
  705. package/lib/esm/RenderMaterial.js +72 -72
  706. package/lib/esm/RenderMaterial.js.map +1 -1
  707. package/lib/esm/RenderSchedule.d.ts +540 -540
  708. package/lib/esm/RenderSchedule.js +997 -997
  709. package/lib/esm/RenderTexture.d.ts +70 -70
  710. package/lib/esm/RenderTexture.js +55 -55
  711. package/lib/esm/RenderTexture.js.map +1 -1
  712. package/lib/esm/RgbColor.d.ts +39 -39
  713. package/lib/esm/RgbColor.js +63 -63
  714. package/lib/esm/RgbColor.js.map +1 -1
  715. package/lib/esm/RpcInterface.d.ts +33 -33
  716. package/lib/esm/RpcInterface.js +133 -133
  717. package/lib/esm/RpcInterface.js.map +1 -1
  718. package/lib/esm/RpcManager.d.ts +40 -40
  719. package/lib/esm/RpcManager.js +51 -51
  720. package/lib/esm/RpcManager.js.map +1 -1
  721. package/lib/esm/SessionProps.d.ts +16 -16
  722. package/lib/esm/SessionProps.js +8 -8
  723. package/lib/esm/SessionProps.js.map +1 -1
  724. package/lib/esm/SkyBox.d.ts +215 -215
  725. package/lib/esm/SkyBox.js +203 -203
  726. package/lib/esm/SkyBox.js.map +1 -1
  727. package/lib/esm/Snapping.d.ts +49 -49
  728. package/lib/esm/Snapping.js +8 -8
  729. package/lib/esm/Snapping.js.map +1 -1
  730. package/lib/esm/SolarCalculate.d.ts +27 -27
  731. package/lib/esm/SolarCalculate.js +204 -204
  732. package/lib/esm/SolarCalculate.js.map +1 -1
  733. package/lib/esm/SolarShadows.d.ts +35 -35
  734. package/lib/esm/SolarShadows.js +58 -58
  735. package/lib/esm/SolarShadows.js.map +1 -1
  736. package/lib/esm/SpatialClassification.d.ts +208 -208
  737. package/lib/esm/SpatialClassification.js +334 -334
  738. package/lib/esm/SpatialClassification.js.map +1 -1
  739. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  740. package/lib/esm/SubCategoryAppearance.js +92 -92
  741. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  742. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  743. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  744. package/lib/esm/SubCategoryOverride.js +100 -100
  745. package/lib/esm/SubCategoryOverride.js.map +1 -1
  746. package/lib/esm/TerrainSettings.d.ts +82 -77
  747. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  748. package/lib/esm/TerrainSettings.js +98 -97
  749. package/lib/esm/TerrainSettings.js.map +1 -1
  750. package/lib/esm/TextureMapping.d.ts +101 -101
  751. package/lib/esm/TextureMapping.js +170 -170
  752. package/lib/esm/TextureMapping.js.map +1 -1
  753. package/lib/esm/TextureProps.d.ts +65 -65
  754. package/lib/esm/TextureProps.js +25 -25
  755. package/lib/esm/TextureProps.js.map +1 -1
  756. package/lib/esm/ThematicDisplay.d.ts +230 -230
  757. package/lib/esm/ThematicDisplay.js +337 -337
  758. package/lib/esm/ThematicDisplay.js.map +1 -1
  759. package/lib/esm/Thumbnail.d.ts +26 -26
  760. package/lib/esm/Thumbnail.js +8 -8
  761. package/lib/esm/Thumbnail.js.map +1 -1
  762. package/lib/esm/TileProps.d.ts +82 -77
  763. package/lib/esm/TileProps.d.ts.map +1 -1
  764. package/lib/esm/TileProps.js +25 -15
  765. package/lib/esm/TileProps.js.map +1 -1
  766. package/lib/esm/Tween.d.ts +191 -191
  767. package/lib/esm/Tween.js +565 -565
  768. package/lib/esm/Tween.js.map +1 -1
  769. package/lib/esm/TxnAction.d.ts +21 -21
  770. package/lib/esm/TxnAction.js +26 -26
  771. package/lib/esm/TxnAction.js.map +1 -1
  772. package/lib/esm/ViewDetails.d.ts +125 -125
  773. package/lib/esm/ViewDetails.js +153 -153
  774. package/lib/esm/ViewDetails.js.map +1 -1
  775. package/lib/esm/ViewFlags.d.ts +291 -291
  776. package/lib/esm/ViewFlags.d.ts.map +1 -1
  777. package/lib/esm/ViewFlags.js +364 -364
  778. package/lib/esm/ViewFlags.js.map +1 -1
  779. package/lib/esm/ViewProps.d.ts +205 -205
  780. package/lib/esm/ViewProps.js +8 -8
  781. package/lib/esm/ViewProps.js.map +1 -1
  782. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  783. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  784. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  785. package/lib/esm/core-common.d.ts +240 -240
  786. package/lib/esm/core-common.js +244 -244
  787. package/lib/esm/core-common.js.map +1 -1
  788. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  789. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  790. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  791. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  792. package/lib/esm/domains/GenericElementProps.js +8 -8
  793. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  794. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  795. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  796. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  797. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  798. package/lib/esm/geometry/AreaPattern.js +201 -201
  799. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  800. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  801. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  802. package/lib/esm/geometry/BoundingSphere.js +26 -20
  803. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  804. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  805. package/lib/esm/geometry/Cartographic.js +340 -340
  806. package/lib/esm/geometry/Cartographic.js.map +1 -1
  807. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  808. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  809. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  810. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  811. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  812. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  813. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  814. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  815. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  816. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  817. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  818. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  819. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  820. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  821. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  822. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  823. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  824. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  825. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  826. package/lib/esm/geometry/GeometryStream.js +464 -464
  827. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  828. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  829. package/lib/esm/geometry/ImageGraphic.js +93 -93
  830. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  831. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  832. package/lib/esm/geometry/LineStyle.js +126 -126
  833. package/lib/esm/geometry/LineStyle.js.map +1 -1
  834. package/lib/esm/geometry/Placement.d.ts +95 -95
  835. package/lib/esm/geometry/Placement.js +126 -126
  836. package/lib/esm/geometry/Placement.js.map +1 -1
  837. package/lib/esm/geometry/Projection.d.ts +251 -251
  838. package/lib/esm/geometry/Projection.js +192 -192
  839. package/lib/esm/geometry/Projection.js.map +1 -1
  840. package/lib/esm/geometry/TextString.d.ts +55 -55
  841. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  842. package/lib/esm/geometry/TextString.js +61 -61
  843. package/lib/esm/geometry/TextString.js.map +1 -1
  844. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  845. package/lib/esm/ipc/IpcSession.js +23 -23
  846. package/lib/esm/ipc/IpcSession.js.map +1 -1
  847. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  848. package/lib/esm/ipc/IpcSocket.js +12 -12
  849. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  850. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  851. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  852. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  853. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  854. package/lib/esm/ipc/IpcWebSocketTransport.js +154 -147
  855. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  856. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  857. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  858. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  859. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
  860. package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
  861. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  862. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
  863. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  864. package/lib/esm/rpc/IModelTileRpcInterface.js +91 -82
  865. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  866. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  867. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  868. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  869. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  870. package/lib/esm/rpc/TestRpcManager.js +35 -35
  871. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  872. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  873. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  874. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  875. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  876. package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
  877. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  878. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -85
  879. package/lib/esm/rpc/core/RpcConstants.js +100 -100
  880. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  881. package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
  882. package/lib/esm/rpc/core/RpcControl.js +142 -142
  883. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  884. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  885. package/lib/esm/rpc/core/RpcInvocation.js +253 -253
  886. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  887. package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
  888. package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
  889. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  890. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  891. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  892. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  893. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  894. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  895. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  896. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  897. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  898. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  899. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  900. package/lib/esm/rpc/core/RpcPush.js +119 -119
  901. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  902. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  903. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  904. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  905. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  906. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  907. package/lib/esm/rpc/core/RpcRequest.js +472 -466
  908. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  909. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  910. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  911. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  912. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  913. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  914. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  915. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  916. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  917. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  918. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  919. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  920. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  921. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  922. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -138
  923. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  924. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  925. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  926. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  927. package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
  928. package/lib/esm/rpc/web/RpcMultipart.js +41 -41
  929. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  930. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
  931. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  932. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  933. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  934. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  935. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  936. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
  937. package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
  938. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  939. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  940. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  941. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
  942. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  943. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  944. package/lib/esm/tile/B3dmTileIO.js +62 -62
  945. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  946. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  947. package/lib/esm/tile/CompositeTileIO.js +22 -22
  948. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  949. package/lib/esm/tile/ElementGraphics.d.ts +134 -134
  950. package/lib/esm/tile/ElementGraphics.js +8 -8
  951. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  952. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  953. package/lib/esm/tile/GltfTileIO.js +105 -105
  954. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  955. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  956. package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
  957. package/lib/esm/tile/I3dmTileIO.js +36 -36
  958. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  959. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  960. package/lib/esm/tile/IModelTileIO.js +90 -90
  961. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  962. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  963. package/lib/esm/tile/PntsTileIO.js +22 -22
  964. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  965. package/lib/esm/tile/TileIO.d.ts +66 -66
  966. package/lib/esm/tile/TileIO.js +110 -110
  967. package/lib/esm/tile/TileIO.js.map +1 -1
  968. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  969. package/lib/esm/tile/TileMetadata.js +661 -661
  970. package/lib/esm/tile/TileMetadata.js.map +1 -1
  971. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"IpcSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;KAGK;AACE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC;AAAvD,QAAA,YAAY,gBAA2C","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 IpcSocket\r\n */\r\n\r\n/**\r\n * The prefix for all IpcSocket channels to disambiguate from system channels.\r\n * @internal\r\n * */\r\nexport const iTwinChannel = (channel: string) => `itwin.${channel}`;\r\n\r\n/**\r\n * A function to handle an Ipc message.\r\n * @public\r\n */\r\nexport type IpcListener = (evt: Event, ...args: any[]) => void;\r\n\r\n/**\r\n * Function returned when establishing an Ipc `receive` listener or `invoke` handler. Call this method to remove the listener/handler.\r\n * @public\r\n * @extensions\r\n */\r\nexport type RemoveFunction = () => void;\r\n\r\n/**\r\n * Payload of an IpcInvoke response. The presence of `error` indicates that the backend threw an exception and the\r\n * frontend will re-throw a [BackendError]$(frontend) with the `errorNumber` and `message` values. Otherwise the `result`\r\n * member holds the response.\r\n * @internal */\r\nexport type IpcInvokeReturn = { result: any, error?: never } | { result?: never, error: { name: string, message: string, errorNumber: number, stack?: string } };\r\n\r\n/**\r\n * An inter-process socket connection between a single [IModelHost]($backend) on the backend (the node process), and an [IModelApp]($frontend) on\r\n * the frontend (the browser process.) Each side will implement this interface to form a two way connection. The frontend and backend\r\n * processes connected through an IpcSocket don't necessarily have to be on the same computer, but often are.\r\n * @public\r\n*/\r\nexport interface IpcSocket {\r\n /**\r\n * Send a message over the socket.\r\n * @param channel The name of the channel for the message. Must begin with the [[iTwinChannel]] prefix.\r\n * @param data The optional data of the message.\r\n * @note `data` is serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n send: (channel: string, ...data: any[]) => void;\r\n /**\r\n * Establish a handler to receive messages for a channel through a socket.\r\n * @param channel The name of the channel for the messages. Must begin with the [[iTwinChannel]] prefix.\r\n * @param listener A function called when messages are sent over `channel`\r\n * @note returns A function to call to remove the listener.\r\n */\r\n addListener: (channel: string, listener: IpcListener) => RemoveFunction;\r\n /**\r\n * Remove a previously registered listener\r\n * @param channel The name of the channel for the listener previously registered with [[addListener]]\r\n * @param listener The function passed to [[addListener]]\r\n */\r\n removeListener: (channel: string, listener: IpcListener) => void;\r\n}\r\n\r\n/**\r\n * Interface for the frontend (browser) side of a socket connection. Frontends may invoke methods implemented on the backend.\r\n * @public\r\n */\r\nexport interface IpcSocketFrontend extends IpcSocket {\r\n /**\r\n * Send a message to the backend via `channel` and expect a result asynchronously.\r\n * @param channel The name of the channel for the method. Must begin with the [[iTwinChannel]] prefix.\r\n * @see Electron [ipcRenderer.invoke](https://www.electronjs.org/docs/api/ipc-renderer) documentation for details.\r\n * Note that this interface *may* be implemented via Electron for desktop apps, or via\r\n * [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for mobile or web-based\r\n * Ipc connections. In either case, the Electron documentation provides the specifications for how it works.\r\n * @note `args` are serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n invoke: (channel: string, ...args: any[]) => Promise<any>;\r\n}\r\n\r\n/**\r\n * Interface for the backend (Node.js) side of a socket connection. Backends provide the implementation\r\n * of methods that are invoked from the frontend.\r\n * @public\r\n */\r\nexport interface IpcSocketBackend extends IpcSocket {\r\n /**\r\n * Establish a backend implementation of an Ipc interface for a channel.\r\n * @param channel The name of the channel for this handler. Must begin with the [[iTwinChannel]] prefix.\r\n * @param handler A function that supplies the implementation for methods invoked over `channel` via [[IpcSocketFrontend.invoke]]\r\n * @note returns A function to call to remove the handler.\r\n */\r\n handle: (channel: string, handler: (...args: any[]) => Promise<any>) => RemoveFunction;\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"IpcSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;KAGK;AACE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC;AAAvD,QAAA,YAAY,gBAA2C","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 IpcSocket\n */\n\n/**\n * The prefix for all IpcSocket channels to disambiguate from system channels.\n * @internal\n * */\nexport const iTwinChannel = (channel: string) => `itwin.${channel}`;\n\n/**\n * A function to handle an Ipc message.\n * @public\n */\nexport type IpcListener = (evt: Event, ...args: any[]) => void;\n\n/**\n * Function returned when establishing an Ipc `receive` listener or `invoke` handler. Call this method to remove the listener/handler.\n * @public\n * @extensions\n */\nexport type RemoveFunction = () => void;\n\n/**\n * Payload of an IpcInvoke response. The presence of `error` indicates that the backend threw an exception and the\n * frontend will re-throw a [BackendError]$(frontend) with the `errorNumber` and `message` values. Otherwise the `result`\n * member holds the response.\n * @internal */\nexport type IpcInvokeReturn = { result: any, error?: never } | { result?: never, error: { name: string, message: string, errorNumber: number, stack?: string } };\n\n/**\n * An inter-process socket connection between a single [IModelHost]($backend) on the backend (the node process), and an [IModelApp]($frontend) on\n * the frontend (the browser process.) Each side will implement this interface to form a two way connection. The frontend and backend\n * processes connected through an IpcSocket don't necessarily have to be on the same computer, but often are.\n * @public\n*/\nexport interface IpcSocket {\n /**\n * Send a message over the socket.\n * @param channel The name of the channel for the message. Must begin with the [[iTwinChannel]] prefix.\n * @param data The optional data of the message.\n * @note `data` is serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\n * primitive types and `ArrayBuffers` are allowed.\n */\n send: (channel: string, ...data: any[]) => void;\n /**\n * Establish a handler to receive messages for a channel through a socket.\n * @param channel The name of the channel for the messages. Must begin with the [[iTwinChannel]] prefix.\n * @param listener A function called when messages are sent over `channel`\n * @note returns A function to call to remove the listener.\n */\n addListener: (channel: string, listener: IpcListener) => RemoveFunction;\n /**\n * Remove a previously registered listener\n * @param channel The name of the channel for the listener previously registered with [[addListener]]\n * @param listener The function passed to [[addListener]]\n */\n removeListener: (channel: string, listener: IpcListener) => void;\n}\n\n/**\n * Interface for the frontend (browser) side of a socket connection. Frontends may invoke methods implemented on the backend.\n * @public\n */\nexport interface IpcSocketFrontend extends IpcSocket {\n /**\n * Send a message to the backend via `channel` and expect a result asynchronously.\n * @param channel The name of the channel for the method. Must begin with the [[iTwinChannel]] prefix.\n * @see Electron [ipcRenderer.invoke](https://www.electronjs.org/docs/api/ipc-renderer) documentation for details.\n * Note that this interface *may* be implemented via Electron for desktop apps, or via\n * [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for mobile or web-based\n * Ipc connections. In either case, the Electron documentation provides the specifications for how it works.\n * @note `args` are serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\n * primitive types and `ArrayBuffers` are allowed.\n */\n invoke: (channel: string, ...args: any[]) => Promise<any>;\n}\n\n/**\n * Interface for the backend (Node.js) side of a socket connection. Backends provide the implementation\n * of methods that are invoked from the frontend.\n * @public\n */\nexport interface IpcSocketBackend extends IpcSocket {\n /**\n * Establish a backend implementation of an Ipc interface for a channel.\n * @param channel The name of the channel for this handler. Must begin with the [[iTwinChannel]] prefix.\n * @param handler A function that supplies the implementation for methods invoked over `channel` via [[IpcSocketFrontend.invoke]]\n * @note returns A function to call to remove the handler.\n */\n handle: (channel: string, handler: (...args: any[]) => Promise<any>) => RemoveFunction;\n}\n\n"]}
@@ -1,62 +1,62 @@
1
- /** @packageDocumentation
2
- * @module IpcSocket
3
- */
4
- import { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from "./IpcSocket";
5
- import { IpcWebSocketTransport } from "./IpcWebSocketTransport";
6
- /** @internal */
7
- export declare enum IpcWebSocketMessageType {
8
- Send = 0,
9
- Push = 1,
10
- Invoke = 2,
11
- Response = 3,
12
- Internal = 4,
13
- Duplicate = 5
14
- }
15
- /** @internal */
16
- export interface IpcWebSocketMessage {
17
- type: IpcWebSocketMessageType;
18
- request?: number;
19
- response?: number;
20
- channel: string;
21
- method?: string;
22
- data?: any[];
23
- sequence: number;
24
- }
25
- /** @internal */
26
- export declare namespace IpcWebSocketMessage {
27
- function internal(): IpcWebSocketMessage;
28
- function duplicate(): IpcWebSocketMessage;
29
- function skip(message: IpcWebSocketMessage): boolean;
30
- }
31
- /** @internal */
32
- export declare abstract class IpcWebSocket implements IpcSocket {
33
- static transport: IpcWebSocketTransport;
34
- static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void>;
35
- protected _channels: Map<string, Set<IpcListener>>;
36
- constructor();
37
- abstract send(channel: string, ...data: any[]): void;
38
- addListener(channel: string, listener: IpcListener): RemoveFunction;
39
- removeListener(channel: string, listener: IpcListener): void;
40
- private broadcast;
41
- }
42
- /** @internal */
43
- export declare class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {
44
- private _nextRequest;
45
- private _pendingRequests;
46
- constructor();
47
- send(channel: string, ...data: any[]): void;
48
- invoke(channel: string, methodName: string, ...args: any[]): Promise<any>;
49
- private dispatch;
50
- }
51
- /** @internal */
52
- export declare class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {
53
- private _handlers;
54
- private _processingQueue;
55
- private _processing;
56
- constructor();
57
- send(channel: string, ...data: any[]): void;
58
- handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction;
59
- private dispatch;
60
- private processMessages;
61
- }
1
+ /** @packageDocumentation
2
+ * @module IpcSocket
3
+ */
4
+ import { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from "./IpcSocket";
5
+ import { IpcWebSocketTransport } from "./IpcWebSocketTransport";
6
+ /** @internal */
7
+ export declare enum IpcWebSocketMessageType {
8
+ Send = 0,
9
+ Push = 1,
10
+ Invoke = 2,
11
+ Response = 3,
12
+ Internal = 4,
13
+ Duplicate = 5
14
+ }
15
+ /** @internal */
16
+ export interface IpcWebSocketMessage {
17
+ type: IpcWebSocketMessageType;
18
+ request?: number;
19
+ response?: number;
20
+ channel: string;
21
+ method?: string;
22
+ data?: any[];
23
+ sequence: number;
24
+ }
25
+ /** @internal */
26
+ export declare namespace IpcWebSocketMessage {
27
+ function internal(): IpcWebSocketMessage;
28
+ function duplicate(): IpcWebSocketMessage;
29
+ function skip(message: IpcWebSocketMessage): boolean;
30
+ }
31
+ /** @internal */
32
+ export declare abstract class IpcWebSocket implements IpcSocket {
33
+ static transport: IpcWebSocketTransport;
34
+ static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void>;
35
+ protected _channels: Map<string, Set<IpcListener>>;
36
+ constructor();
37
+ abstract send(channel: string, ...data: any[]): void;
38
+ addListener(channel: string, listener: IpcListener): RemoveFunction;
39
+ removeListener(channel: string, listener: IpcListener): void;
40
+ private broadcast;
41
+ }
42
+ /** @internal */
43
+ export declare class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {
44
+ private _nextRequest;
45
+ private _pendingRequests;
46
+ constructor();
47
+ send(channel: string, ...data: any[]): void;
48
+ invoke(channel: string, methodName: string, ...args: any[]): Promise<any>;
49
+ private dispatch;
50
+ }
51
+ /** @internal */
52
+ export declare class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {
53
+ private _handlers;
54
+ private _processingQueue;
55
+ private _processing;
56
+ constructor();
57
+ send(channel: string, ...data: any[]): void;
58
+ handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction;
59
+ private dispatch;
60
+ private processMessages;
61
+ }
62
62
  //# sourceMappingURL=IpcWebSocket.d.ts.map
@@ -1,152 +1,152 @@
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 IpcSocket
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.IpcWebSocketBackend = exports.IpcWebSocketFrontend = exports.IpcWebSocket = exports.IpcWebSocketMessage = exports.IpcWebSocketMessageType = void 0;
11
- /** @internal */
12
- var IpcWebSocketMessageType;
13
- (function (IpcWebSocketMessageType) {
14
- IpcWebSocketMessageType[IpcWebSocketMessageType["Send"] = 0] = "Send";
15
- IpcWebSocketMessageType[IpcWebSocketMessageType["Push"] = 1] = "Push";
16
- IpcWebSocketMessageType[IpcWebSocketMessageType["Invoke"] = 2] = "Invoke";
17
- IpcWebSocketMessageType[IpcWebSocketMessageType["Response"] = 3] = "Response";
18
- IpcWebSocketMessageType[IpcWebSocketMessageType["Internal"] = 4] = "Internal";
19
- IpcWebSocketMessageType[IpcWebSocketMessageType["Duplicate"] = 5] = "Duplicate";
20
- })(IpcWebSocketMessageType = exports.IpcWebSocketMessageType || (exports.IpcWebSocketMessageType = {}));
21
- /** @internal */
22
- var IpcWebSocketMessage;
23
- (function (IpcWebSocketMessage) {
24
- function internal() {
25
- return { type: IpcWebSocketMessageType.Internal, channel: "", sequence: Number.MIN_SAFE_INTEGER };
26
- }
27
- IpcWebSocketMessage.internal = internal;
28
- function duplicate() {
29
- return { type: IpcWebSocketMessageType.Duplicate, channel: "", sequence: Number.MIN_SAFE_INTEGER };
30
- }
31
- IpcWebSocketMessage.duplicate = duplicate;
32
- function skip(message) {
33
- return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;
34
- }
35
- IpcWebSocketMessage.skip = skip;
36
- })(IpcWebSocketMessage = exports.IpcWebSocketMessage || (exports.IpcWebSocketMessage = {}));
37
- /** @internal */
38
- class IpcWebSocket {
39
- constructor() {
40
- this._channels = new Map();
41
- IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));
42
- }
43
- addListener(channel, listener) {
44
- let listeners = this._channels.get(channel);
45
- if (!listeners) {
46
- listeners = new Set();
47
- this._channels.set(channel, listeners);
48
- }
49
- if (!listeners.has(listener))
50
- listeners.add(listener);
51
- return () => listeners.delete(listener);
52
- }
53
- removeListener(channel, listener) {
54
- var _a;
55
- (_a = this._channels.get(channel)) === null || _a === void 0 ? void 0 : _a.delete(listener);
56
- }
57
- async broadcast(evt, message) {
58
- if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)
59
- return;
60
- const handlers = this._channels.get(message.channel);
61
- if (!handlers)
62
- return;
63
- let arg = message.data;
64
- if (typeof (arg) === "undefined")
65
- arg = [];
66
- for (const handler of handlers)
67
- handler(evt, ...arg);
68
- }
69
- }
70
- exports.IpcWebSocket = IpcWebSocket;
71
- IpcWebSocket.receivers = new Set();
72
- /** @internal */
73
- class IpcWebSocketFrontend extends IpcWebSocket {
74
- constructor() {
75
- super();
76
- this._nextRequest = 0;
77
- this._pendingRequests = new Map();
78
- IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
79
- }
80
- send(channel, ...data) {
81
- IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });
82
- }
83
- async invoke(channel, methodName, ...args) {
84
- const requestId = ++this._nextRequest;
85
- IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });
86
- return new Promise((resolve) => {
87
- this._pendingRequests.set(requestId, resolve);
88
- });
89
- }
90
- async dispatch(_evt, message) {
91
- if (message.type !== IpcWebSocketMessageType.Response || !message.response)
92
- return;
93
- const pendingHandler = this._pendingRequests.get(message.response);
94
- if (!pendingHandler)
95
- return;
96
- this._pendingRequests.delete(message.response);
97
- pendingHandler(message.data);
98
- }
99
- }
100
- exports.IpcWebSocketFrontend = IpcWebSocketFrontend;
101
- /** @internal */
102
- class IpcWebSocketBackend extends IpcWebSocket {
103
- constructor() {
104
- super();
105
- this._handlers = new Map();
106
- this._processingQueue = [];
107
- IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
108
- }
109
- send(channel, ...data) {
110
- IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });
111
- }
112
- handle(channel, handler) {
113
- this._handlers.set(channel, handler);
114
- return () => {
115
- if (this._handlers.get(channel) === handler)
116
- this._handlers.delete(channel);
117
- };
118
- }
119
- async dispatch(_evt, message) {
120
- if (message.type !== IpcWebSocketMessageType.Invoke)
121
- return;
122
- this._processingQueue.push(message);
123
- await this.processMessages();
124
- }
125
- async processMessages() {
126
- if (this._processing || !this._processingQueue.length) {
127
- return;
128
- }
129
- const message = this._processingQueue.shift();
130
- if (message && message.method) {
131
- const handler = this._handlers.get(message.channel);
132
- if (handler) {
133
- this._processing = message;
134
- let args = message.data;
135
- if (typeof (args) === "undefined")
136
- args = [];
137
- const response = await handler({}, message.method, ...args);
138
- IpcWebSocket.transport.send({
139
- type: IpcWebSocketMessageType.Response,
140
- channel: message.channel,
141
- response: message.request,
142
- data: response,
143
- sequence: -1,
144
- });
145
- this._processing = undefined;
146
- }
147
- }
148
- await this.processMessages();
149
- }
150
- }
151
- exports.IpcWebSocketBackend = IpcWebSocketBackend;
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 IpcSocket
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.IpcWebSocketBackend = exports.IpcWebSocketFrontend = exports.IpcWebSocket = exports.IpcWebSocketMessage = exports.IpcWebSocketMessageType = void 0;
11
+ /** @internal */
12
+ var IpcWebSocketMessageType;
13
+ (function (IpcWebSocketMessageType) {
14
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Send"] = 0] = "Send";
15
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Push"] = 1] = "Push";
16
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Invoke"] = 2] = "Invoke";
17
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Response"] = 3] = "Response";
18
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Internal"] = 4] = "Internal";
19
+ IpcWebSocketMessageType[IpcWebSocketMessageType["Duplicate"] = 5] = "Duplicate";
20
+ })(IpcWebSocketMessageType = exports.IpcWebSocketMessageType || (exports.IpcWebSocketMessageType = {}));
21
+ /** @internal */
22
+ var IpcWebSocketMessage;
23
+ (function (IpcWebSocketMessage) {
24
+ function internal() {
25
+ return { type: IpcWebSocketMessageType.Internal, channel: "", sequence: Number.MIN_SAFE_INTEGER };
26
+ }
27
+ IpcWebSocketMessage.internal = internal;
28
+ function duplicate() {
29
+ return { type: IpcWebSocketMessageType.Duplicate, channel: "", sequence: Number.MIN_SAFE_INTEGER };
30
+ }
31
+ IpcWebSocketMessage.duplicate = duplicate;
32
+ function skip(message) {
33
+ return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;
34
+ }
35
+ IpcWebSocketMessage.skip = skip;
36
+ })(IpcWebSocketMessage = exports.IpcWebSocketMessage || (exports.IpcWebSocketMessage = {}));
37
+ /** @internal */
38
+ class IpcWebSocket {
39
+ constructor() {
40
+ this._channels = new Map();
41
+ IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));
42
+ }
43
+ addListener(channel, listener) {
44
+ let listeners = this._channels.get(channel);
45
+ if (!listeners) {
46
+ listeners = new Set();
47
+ this._channels.set(channel, listeners);
48
+ }
49
+ if (!listeners.has(listener))
50
+ listeners.add(listener);
51
+ return () => listeners.delete(listener);
52
+ }
53
+ removeListener(channel, listener) {
54
+ var _a;
55
+ (_a = this._channels.get(channel)) === null || _a === void 0 ? void 0 : _a.delete(listener);
56
+ }
57
+ async broadcast(evt, message) {
58
+ if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)
59
+ return;
60
+ const handlers = this._channels.get(message.channel);
61
+ if (!handlers)
62
+ return;
63
+ let arg = message.data;
64
+ if (typeof (arg) === "undefined")
65
+ arg = [];
66
+ for (const handler of handlers)
67
+ handler(evt, ...arg);
68
+ }
69
+ }
70
+ exports.IpcWebSocket = IpcWebSocket;
71
+ IpcWebSocket.receivers = new Set();
72
+ /** @internal */
73
+ class IpcWebSocketFrontend extends IpcWebSocket {
74
+ constructor() {
75
+ super();
76
+ this._nextRequest = 0;
77
+ this._pendingRequests = new Map();
78
+ IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
79
+ }
80
+ send(channel, ...data) {
81
+ IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });
82
+ }
83
+ async invoke(channel, methodName, ...args) {
84
+ const requestId = ++this._nextRequest;
85
+ IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });
86
+ return new Promise((resolve) => {
87
+ this._pendingRequests.set(requestId, resolve);
88
+ });
89
+ }
90
+ async dispatch(_evt, message) {
91
+ if (message.type !== IpcWebSocketMessageType.Response || !message.response)
92
+ return;
93
+ const pendingHandler = this._pendingRequests.get(message.response);
94
+ if (!pendingHandler)
95
+ return;
96
+ this._pendingRequests.delete(message.response);
97
+ pendingHandler(message.data);
98
+ }
99
+ }
100
+ exports.IpcWebSocketFrontend = IpcWebSocketFrontend;
101
+ /** @internal */
102
+ class IpcWebSocketBackend extends IpcWebSocket {
103
+ constructor() {
104
+ super();
105
+ this._handlers = new Map();
106
+ this._processingQueue = [];
107
+ IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));
108
+ }
109
+ send(channel, ...data) {
110
+ IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });
111
+ }
112
+ handle(channel, handler) {
113
+ this._handlers.set(channel, handler);
114
+ return () => {
115
+ if (this._handlers.get(channel) === handler)
116
+ this._handlers.delete(channel);
117
+ };
118
+ }
119
+ async dispatch(_evt, message) {
120
+ if (message.type !== IpcWebSocketMessageType.Invoke)
121
+ return;
122
+ this._processingQueue.push(message);
123
+ await this.processMessages();
124
+ }
125
+ async processMessages() {
126
+ if (this._processing || !this._processingQueue.length) {
127
+ return;
128
+ }
129
+ const message = this._processingQueue.shift();
130
+ if (message && message.method) {
131
+ const handler = this._handlers.get(message.channel);
132
+ if (handler) {
133
+ this._processing = message;
134
+ let args = message.data;
135
+ if (typeof (args) === "undefined")
136
+ args = [];
137
+ const response = await handler({}, message.method, ...args);
138
+ IpcWebSocket.transport.send({
139
+ type: IpcWebSocketMessageType.Response,
140
+ channel: message.channel,
141
+ response: message.request,
142
+ data: response,
143
+ sequence: -1,
144
+ });
145
+ this._processing = undefined;
146
+ }
147
+ }
148
+ await this.processMessages();
149
+ }
150
+ }
151
+ exports.IpcWebSocketBackend = IpcWebSocketBackend;
152
152
  //# sourceMappingURL=IpcWebSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.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 IpcSocket\r\n */\r\n\r\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\r\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\r\n\r\n/** @internal */\r\nexport enum IpcWebSocketMessageType {\r\n Send,\r\n Push,\r\n Invoke,\r\n Response,\r\n Internal,\r\n Duplicate\r\n}\r\n\r\n/** @internal */\r\nexport interface IpcWebSocketMessage {\r\n type: IpcWebSocketMessageType;\r\n request?: number;\r\n response?: number;\r\n channel: string;\r\n method?: string;\r\n data?: any[];\r\n sequence: number;\r\n}\r\n\r\n/** @internal */\r\nexport namespace IpcWebSocketMessage {\r\n export function internal(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function duplicate(): IpcWebSocketMessage {\r\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\r\n }\r\n\r\n export function skip(message: IpcWebSocketMessage): boolean {\r\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport abstract class IpcWebSocket implements IpcSocket {\r\n public static transport: IpcWebSocketTransport;\r\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\r\n\r\n protected _channels = new Map<string, Set<IpcListener>>();\r\n\r\n public constructor() {\r\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\r\n }\r\n\r\n public abstract send(channel: string, ...data: any[]): void;\r\n\r\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\r\n let listeners = this._channels.get(channel);\r\n if (!listeners) {\r\n listeners = new Set();\r\n this._channels.set(channel, listeners);\r\n }\r\n\r\n if (!listeners.has(listener))\r\n listeners.add(listener);\r\n\r\n return () => listeners!.delete(listener);\r\n }\r\n\r\n public removeListener(channel: string, listener: IpcListener) {\r\n this._channels.get(channel)?.delete(listener);\r\n }\r\n\r\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\r\n return;\r\n\r\n const handlers = this._channels.get(message.channel);\r\n if (!handlers)\r\n return;\r\n\r\n let arg = message.data;\r\n if (typeof (arg) === \"undefined\")\r\n arg = [];\r\n\r\n for (const handler of handlers)\r\n handler(evt, ...arg);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\r\n private _nextRequest = 0;\r\n private _pendingRequests = new Map<number, (response: any) => void>();\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\r\n }\r\n\r\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\r\n const requestId = ++this._nextRequest;\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\r\n\r\n return new Promise((resolve) => {\r\n this._pendingRequests.set(requestId, resolve);\r\n });\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\r\n return;\r\n\r\n const pendingHandler = this._pendingRequests.get(message.response);\r\n if (!pendingHandler)\r\n return;\r\n\r\n this._pendingRequests.delete(message.response);\r\n pendingHandler(message.data);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\r\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\r\n private _processingQueue: IpcWebSocketMessage[] = [];\r\n private _processing: IpcWebSocketMessage | undefined;\r\n\r\n public constructor() {\r\n super();\r\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\r\n }\r\n\r\n public send(channel: string, ...data: any[]): void {\r\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\r\n }\r\n\r\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\r\n this._handlers.set(channel, handler);\r\n\r\n return () => {\r\n if (this._handlers.get(channel) === handler)\r\n this._handlers.delete(channel);\r\n };\r\n }\r\n\r\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\r\n if (message.type !== IpcWebSocketMessageType.Invoke)\r\n return;\r\n\r\n this._processingQueue.push(message);\r\n await this.processMessages();\r\n }\r\n\r\n private async processMessages() {\r\n if (this._processing || !this._processingQueue.length) {\r\n return;\r\n }\r\n\r\n const message = this._processingQueue.shift();\r\n if (message && message.method) {\r\n const handler = this._handlers.get(message.channel);\r\n if (handler) {\r\n this._processing = message;\r\n\r\n let args = message.data;\r\n if (typeof (args) === \"undefined\")\r\n args = [];\r\n\r\n const response = await handler({} as any, message.method, ...args);\r\n\r\n IpcWebSocket.transport.send({\r\n type: IpcWebSocketMessageType.Response,\r\n channel: message.channel,\r\n response: message.request,\r\n data: response,\r\n sequence: -1,\r\n });\r\n\r\n this._processing = undefined;\r\n }\r\n }\r\n\r\n await this.processMessages();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IpcWebSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocket.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 IpcSocket\n */\n\nimport { IpcListener, IpcSocket, IpcSocketBackend, IpcSocketFrontend, RemoveFunction } from \"./IpcSocket\";\nimport { IpcWebSocketTransport } from \"./IpcWebSocketTransport\";\n\n/** @internal */\nexport enum IpcWebSocketMessageType {\n Send,\n Push,\n Invoke,\n Response,\n Internal,\n Duplicate\n}\n\n/** @internal */\nexport interface IpcWebSocketMessage {\n type: IpcWebSocketMessageType;\n request?: number;\n response?: number;\n channel: string;\n method?: string;\n data?: any[];\n sequence: number;\n}\n\n/** @internal */\nexport namespace IpcWebSocketMessage {\n export function internal(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Internal, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function duplicate(): IpcWebSocketMessage {\n return { type: IpcWebSocketMessageType.Duplicate, channel: \"\", sequence: Number.MIN_SAFE_INTEGER };\n }\n\n export function skip(message: IpcWebSocketMessage): boolean {\n return message.type === IpcWebSocketMessageType.Internal || message.type === IpcWebSocketMessageType.Duplicate;\n }\n}\n\n/** @internal */\nexport abstract class IpcWebSocket implements IpcSocket {\n public static transport: IpcWebSocketTransport;\n public static receivers: Set<(evt: Event, message: IpcWebSocketMessage) => void> = new Set();\n\n protected _channels = new Map<string, Set<IpcListener>>();\n\n public constructor() {\n IpcWebSocket.receivers.add(async (e, m) => this.broadcast(e, m));\n }\n\n public abstract send(channel: string, ...data: any[]): void;\n\n public addListener(channel: string, listener: IpcListener): RemoveFunction {\n let listeners = this._channels.get(channel);\n if (!listeners) {\n listeners = new Set();\n this._channels.set(channel, listeners);\n }\n\n if (!listeners.has(listener))\n listeners.add(listener);\n\n return () => listeners!.delete(listener);\n }\n\n public removeListener(channel: string, listener: IpcListener) {\n this._channels.get(channel)?.delete(listener);\n }\n\n private async broadcast(evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Send && message.type !== IpcWebSocketMessageType.Push)\n return;\n\n const handlers = this._channels.get(message.channel);\n if (!handlers)\n return;\n\n let arg = message.data;\n if (typeof (arg) === \"undefined\")\n arg = [];\n\n for (const handler of handlers)\n handler(evt, ...arg);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketFrontend extends IpcWebSocket implements IpcSocketFrontend {\n private _nextRequest = 0;\n private _pendingRequests = new Map<number, (response: any) => void>();\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Send, channel, data, sequence: -1 });\n }\n\n public async invoke(channel: string, methodName: string, ...args: any[]): Promise<any> {\n const requestId = ++this._nextRequest;\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Invoke, channel, method: methodName, data: args, request: requestId, sequence: -1 });\n\n return new Promise((resolve) => {\n this._pendingRequests.set(requestId, resolve);\n });\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Response || !message.response)\n return;\n\n const pendingHandler = this._pendingRequests.get(message.response);\n if (!pendingHandler)\n return;\n\n this._pendingRequests.delete(message.response);\n pendingHandler(message.data);\n }\n}\n\n/** @internal */\nexport class IpcWebSocketBackend extends IpcWebSocket implements IpcSocketBackend {\n private _handlers = new Map<string, (event: Event, methodName: string, ...args: any[]) => Promise<any>>();\n private _processingQueue: IpcWebSocketMessage[] = [];\n private _processing: IpcWebSocketMessage | undefined;\n\n public constructor() {\n super();\n IpcWebSocket.receivers.add(async (e, m) => this.dispatch(e, m));\n }\n\n public send(channel: string, ...data: any[]): void {\n IpcWebSocket.transport.send({ type: IpcWebSocketMessageType.Push, channel, data, sequence: -1 });\n }\n\n public handle(channel: string, handler: (event: Event, methodName: string, ...args: any[]) => Promise<any>): RemoveFunction {\n this._handlers.set(channel, handler);\n\n return () => {\n if (this._handlers.get(channel) === handler)\n this._handlers.delete(channel);\n };\n }\n\n private async dispatch(_evt: Event, message: IpcWebSocketMessage) {\n if (message.type !== IpcWebSocketMessageType.Invoke)\n return;\n\n this._processingQueue.push(message);\n await this.processMessages();\n }\n\n private async processMessages() {\n if (this._processing || !this._processingQueue.length) {\n return;\n }\n\n const message = this._processingQueue.shift();\n if (message && message.method) {\n const handler = this._handlers.get(message.channel);\n if (handler) {\n this._processing = message;\n\n let args = message.data;\n if (typeof (args) === \"undefined\")\n args = [];\n\n const response = await handler({} as any, message.method, ...args);\n\n IpcWebSocket.transport.send({\n type: IpcWebSocketMessageType.Response,\n channel: message.channel,\n response: message.request,\n data: response,\n sequence: -1,\n });\n\n this._processing = undefined;\n }\n }\n\n await this.processMessages();\n }\n}\n"]}
@@ -1,16 +1,16 @@
1
- /** @packageDocumentation
2
- * @module IpcSocket
3
- */
4
- import { IpcWebSocketMessage } from "./IpcWebSocket";
5
- /** @internal */
6
- export declare abstract class IpcWebSocketTransport {
7
- private _partial?;
8
- private _received;
9
- private _outstanding;
10
- abstract send(message: IpcWebSocketMessage): void;
11
- protected unwrap(data: any): any;
12
- protected notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage>;
13
- protected serialize(data: IpcWebSocketMessage): any[];
14
- protected notifyClose(connection: any): void;
15
- }
1
+ /** @packageDocumentation
2
+ * @module IpcSocket
3
+ */
4
+ import { IpcWebSocketMessage } from "./IpcWebSocket";
5
+ /** @internal */
6
+ export declare abstract class IpcWebSocketTransport {
7
+ private _partial?;
8
+ private _received;
9
+ private _outstanding;
10
+ abstract send(message: IpcWebSocketMessage): void;
11
+ protected unwrap(data: any): any;
12
+ protected notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage>;
13
+ protected serialize(data: IpcWebSocketMessage): any[];
14
+ protected notifyClose(connection: any): void;
15
+ }
16
16
  //# sourceMappingURL=IpcWebSocketTransport.d.ts.map