@itwin/core-common 3.7.0-dev.3 → 3.7.0-dev.6

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