@itwin/core-common 3.7.8 → 3.7.11

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 (948) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackendTypes.d.ts +12 -12
  12. package/lib/cjs/BackendTypes.js +9 -9
  13. package/lib/cjs/BackendTypes.js.map +1 -1
  14. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  15. package/lib/cjs/BackgroundMapProvider.js +68 -68
  16. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  17. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  18. package/lib/cjs/BackgroundMapSettings.js +156 -156
  19. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  20. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  21. package/lib/cjs/Base64EncodedString.js +66 -66
  22. package/lib/cjs/Base64EncodedString.js.map +1 -1
  23. package/lib/cjs/BlobReader.d.ts +31 -31
  24. package/lib/cjs/BlobReader.js +84 -84
  25. package/lib/cjs/BlobReader.js.map +1 -1
  26. package/lib/cjs/BriefcaseTypes.d.ts +191 -191
  27. package/lib/cjs/BriefcaseTypes.js +95 -95
  28. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  29. package/lib/cjs/Camera.d.ts +42 -42
  30. package/lib/cjs/Camera.js +62 -62
  31. package/lib/cjs/Camera.js.map +1 -1
  32. package/lib/cjs/ChangedElements.d.ts +85 -85
  33. package/lib/cjs/ChangedElements.js +23 -23
  34. package/lib/cjs/ChangedElements.js.map +1 -1
  35. package/lib/cjs/ChangedEntities.d.ts +45 -45
  36. package/lib/cjs/ChangedEntities.js +9 -9
  37. package/lib/cjs/ChangedEntities.js.map +1 -1
  38. package/lib/cjs/ChangesetProps.d.ts +98 -98
  39. package/lib/cjs/ChangesetProps.js +22 -22
  40. package/lib/cjs/ChangesetProps.js.map +1 -1
  41. package/lib/cjs/ClipStyle.d.ts +89 -89
  42. package/lib/cjs/ClipStyle.js +123 -123
  43. package/lib/cjs/ClipStyle.js.map +1 -1
  44. package/lib/cjs/CloudStorage.d.ts +62 -62
  45. package/lib/cjs/CloudStorage.js +113 -113
  46. package/lib/cjs/CloudStorage.js.map +1 -1
  47. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  48. package/lib/cjs/CloudStorageTileCache.js +66 -66
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +277 -277
  51. package/lib/cjs/Code.js +269 -269
  52. package/lib/cjs/Code.js.map +1 -1
  53. package/lib/cjs/ColorByName.d.ts +161 -161
  54. package/lib/cjs/ColorByName.js +169 -169
  55. package/lib/cjs/ColorByName.js.map +1 -1
  56. package/lib/cjs/ColorDef.d.ts +208 -208
  57. package/lib/cjs/ColorDef.js +571 -571
  58. package/lib/cjs/ColorDef.js.map +1 -1
  59. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  60. package/lib/cjs/CommonLoggerCategory.js +26 -26
  61. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.js +552 -552
  64. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  65. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  66. package/lib/cjs/ContextRealityModel.js +373 -373
  67. package/lib/cjs/ContextRealityModel.js.map +1 -1
  68. package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
  69. package/lib/cjs/DisplayStyleSettings.js +985 -985
  70. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  71. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  72. package/lib/cjs/ECSchemaProps.js +9 -9
  73. package/lib/cjs/ECSchemaProps.js.map +1 -1
  74. package/lib/cjs/ECSqlReader.d.ts +70 -70
  75. package/lib/cjs/ECSqlReader.js +280 -280
  76. package/lib/cjs/ECSqlReader.js.map +1 -1
  77. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  78. package/lib/cjs/ECSqlTypes.js +189 -189
  79. package/lib/cjs/ECSqlTypes.js.map +1 -1
  80. package/lib/cjs/ElementMesh.d.ts +39 -39
  81. package/lib/cjs/ElementMesh.js +56 -56
  82. package/lib/cjs/ElementMesh.js.map +1 -1
  83. package/lib/cjs/ElementProps.d.ts +483 -483
  84. package/lib/cjs/ElementProps.js +99 -99
  85. package/lib/cjs/ElementProps.js.map +1 -1
  86. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  87. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  88. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  89. package/lib/cjs/EntityProps.d.ts +177 -177
  90. package/lib/cjs/EntityProps.js +113 -113
  91. package/lib/cjs/EntityProps.js.map +1 -1
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.js +56 -56
  94. package/lib/cjs/EntityReference.js.map +1 -1
  95. package/lib/cjs/Environment.d.ts +61 -61
  96. package/lib/cjs/Environment.js +73 -73
  97. package/lib/cjs/Environment.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.js +63 -63
  100. package/lib/cjs/FeatureIndex.js.map +1 -1
  101. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  102. package/lib/cjs/FeatureSymbology.js +614 -614
  103. package/lib/cjs/FeatureSymbology.js.map +1 -1
  104. package/lib/cjs/FeatureTable.d.ts +248 -248
  105. package/lib/cjs/FeatureTable.js +470 -470
  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 +40 -40
  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 -245
  293. package/lib/cjs/core-common.js +261 -261
  294. package/lib/cjs/core-common.js.map +1 -1
  295. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  296. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  297. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  298. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  299. package/lib/cjs/domains/GenericElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  301. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  302. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  303. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +204 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  308. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  316. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  317. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  318. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  320. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  321. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  322. package/lib/cjs/geometry/FrustumPlanes.d.ts +83 -83
  323. package/lib/cjs/geometry/FrustumPlanes.js +231 -231
  324. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  325. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  326. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  327. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  329. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  330. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  331. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  332. package/lib/cjs/geometry/GeometryStream.js +469 -469
  333. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  334. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  335. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  336. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  337. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  338. package/lib/cjs/geometry/LineStyle.js +129 -129
  339. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  340. package/lib/cjs/geometry/Placement.d.ts +95 -95
  341. package/lib/cjs/geometry/Placement.js +131 -131
  342. package/lib/cjs/geometry/Placement.js.map +1 -1
  343. package/lib/cjs/geometry/Projection.d.ts +251 -251
  344. package/lib/cjs/geometry/Projection.js +198 -198
  345. package/lib/cjs/geometry/Projection.js.map +1 -1
  346. package/lib/cjs/geometry/TextString.d.ts +55 -55
  347. package/lib/cjs/geometry/TextString.js +65 -65
  348. package/lib/cjs/geometry/TextString.js.map +1 -1
  349. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  350. package/lib/cjs/ipc/IpcSession.js +27 -27
  351. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  352. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  353. package/lib/cjs/ipc/IpcSocket.js +16 -16
  354. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  355. package/lib/cjs/ipc/IpcWebSocket.d.ts +60 -60
  356. package/lib/cjs/ipc/IpcWebSocket.js +149 -149
  357. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  358. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  359. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  360. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  361. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  362. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  363. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  364. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  365. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  366. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  368. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  369. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  371. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  372. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  373. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  374. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  375. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  376. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  377. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  378. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  380. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  381. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  382. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  383. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  384. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  385. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  386. package/lib/cjs/rpc/core/RpcControl.js +145 -145
  387. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  389. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  390. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  391. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  392. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  393. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  394. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  395. package/lib/cjs/rpc/core/RpcOperation.js +134 -134
  396. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  397. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  398. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -95
  399. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  400. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  401. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  402. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  404. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  405. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  406. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  407. package/lib/cjs/rpc/core/RpcRegistry.js +199 -199
  408. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  410. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  411. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  413. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  414. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  416. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  417. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  418. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  419. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  420. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  421. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -48
  422. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -76
  423. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  424. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  425. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -143
  426. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  427. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  428. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  429. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  430. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  431. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  432. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  433. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  434. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  435. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  436. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  437. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  438. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  439. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  440. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  441. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  442. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  443. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  444. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  445. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  446. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  447. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  448. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  449. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  450. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  451. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  452. package/lib/cjs/tile/ElementGraphics.js +9 -9
  453. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  454. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  455. package/lib/cjs/tile/GltfTileIO.js +109 -109
  456. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  457. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  458. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  459. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  460. package/lib/cjs/tile/IModelTileIO.d.ts +77 -77
  461. package/lib/cjs/tile/IModelTileIO.js +97 -97
  462. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  463. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  464. package/lib/cjs/tile/PntsTileIO.js +26 -26
  465. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  466. package/lib/cjs/tile/TileIO.d.ts +66 -66
  467. package/lib/cjs/tile/TileIO.js +118 -118
  468. package/lib/cjs/tile/TileIO.js.map +1 -1
  469. package/lib/cjs/tile/TileMetadata.d.ts +240 -240
  470. package/lib/cjs/tile/TileMetadata.js +695 -695
  471. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  472. package/lib/cjs/tile/Tileset3dSchema.d.ts +96 -96
  473. package/lib/cjs/tile/Tileset3dSchema.js +9 -9
  474. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -1
  475. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  476. package/lib/esm/AmbientOcclusion.js +52 -52
  477. package/lib/esm/AmbientOcclusion.js.map +1 -1
  478. package/lib/esm/AnalysisStyle.d.ts +134 -134
  479. package/lib/esm/AnalysisStyle.js +159 -159
  480. package/lib/esm/AnalysisStyle.js.map +1 -1
  481. package/lib/esm/AuthorizationClient.d.ts +17 -17
  482. package/lib/esm/AuthorizationClient.js +8 -8
  483. package/lib/esm/AuthorizationClient.js.map +1 -1
  484. package/lib/esm/BackendTypes.d.ts +12 -12
  485. package/lib/esm/BackendTypes.js +8 -8
  486. package/lib/esm/BackendTypes.js.map +1 -1
  487. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  488. package/lib/esm/BackgroundMapProvider.js +64 -64
  489. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  490. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  491. package/lib/esm/BackgroundMapSettings.js +152 -152
  492. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  493. package/lib/esm/Base64EncodedString.d.ts +32 -32
  494. package/lib/esm/Base64EncodedString.js +63 -63
  495. package/lib/esm/Base64EncodedString.js.map +1 -1
  496. package/lib/esm/BlobReader.d.ts +31 -31
  497. package/lib/esm/BlobReader.js +79 -79
  498. package/lib/esm/BlobReader.js.map +1 -1
  499. package/lib/esm/BriefcaseTypes.d.ts +191 -191
  500. package/lib/esm/BriefcaseTypes.js +92 -92
  501. package/lib/esm/BriefcaseTypes.js.map +1 -1
  502. package/lib/esm/Camera.d.ts +42 -42
  503. package/lib/esm/Camera.js +58 -58
  504. package/lib/esm/Camera.js.map +1 -1
  505. package/lib/esm/ChangedElements.d.ts +85 -85
  506. package/lib/esm/ChangedElements.js +20 -20
  507. package/lib/esm/ChangedElements.js.map +1 -1
  508. package/lib/esm/ChangedEntities.d.ts +45 -45
  509. package/lib/esm/ChangedEntities.js +8 -8
  510. package/lib/esm/ChangedEntities.js.map +1 -1
  511. package/lib/esm/ChangesetProps.d.ts +98 -98
  512. package/lib/esm/ChangesetProps.js +19 -19
  513. package/lib/esm/ChangesetProps.js.map +1 -1
  514. package/lib/esm/ClipStyle.d.ts +89 -89
  515. package/lib/esm/ClipStyle.js +118 -118
  516. package/lib/esm/ClipStyle.js.map +1 -1
  517. package/lib/esm/CloudStorage.d.ts +62 -62
  518. package/lib/esm/CloudStorage.js +109 -109
  519. package/lib/esm/CloudStorage.js.map +1 -1
  520. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  521. package/lib/esm/CloudStorageTileCache.js +62 -62
  522. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  523. package/lib/esm/Code.d.ts +277 -277
  524. package/lib/esm/Code.js +264 -264
  525. package/lib/esm/Code.js.map +1 -1
  526. package/lib/esm/ColorByName.d.ts +161 -161
  527. package/lib/esm/ColorByName.js +166 -166
  528. package/lib/esm/ColorByName.js.map +1 -1
  529. package/lib/esm/ColorDef.d.ts +208 -208
  530. package/lib/esm/ColorDef.js +567 -567
  531. package/lib/esm/ColorDef.js.map +1 -1
  532. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  533. package/lib/esm/CommonLoggerCategory.js +23 -23
  534. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  535. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  536. package/lib/esm/ConcurrentQuery.js +545 -545
  537. package/lib/esm/ConcurrentQuery.js.map +1 -1
  538. package/lib/esm/ContextRealityModel.d.ts +303 -303
  539. package/lib/esm/ContextRealityModel.js +368 -368
  540. package/lib/esm/ContextRealityModel.js.map +1 -1
  541. package/lib/esm/DisplayStyleSettings.d.ts +588 -588
  542. package/lib/esm/DisplayStyleSettings.js +980 -980
  543. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  544. package/lib/esm/ECSchemaProps.d.ts +39 -39
  545. package/lib/esm/ECSchemaProps.js +8 -8
  546. package/lib/esm/ECSchemaProps.js.map +1 -1
  547. package/lib/esm/ECSqlReader.d.ts +70 -70
  548. package/lib/esm/ECSqlReader.js +275 -275
  549. package/lib/esm/ECSqlReader.js.map +1 -1
  550. package/lib/esm/ECSqlTypes.d.ts +128 -128
  551. package/lib/esm/ECSqlTypes.js +185 -185
  552. package/lib/esm/ECSqlTypes.js.map +1 -1
  553. package/lib/esm/ElementMesh.d.ts +39 -39
  554. package/lib/esm/ElementMesh.js +52 -52
  555. package/lib/esm/ElementMesh.js.map +1 -1
  556. package/lib/esm/ElementProps.d.ts +483 -483
  557. package/lib/esm/ElementProps.js +92 -92
  558. package/lib/esm/ElementProps.js.map +1 -1
  559. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  560. package/lib/esm/EmphasizeElementsProps.js +22 -22
  561. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  562. package/lib/esm/EntityProps.d.ts +177 -177
  563. package/lib/esm/EntityProps.js +108 -108
  564. package/lib/esm/EntityProps.js.map +1 -1
  565. package/lib/esm/EntityReference.d.ts +51 -51
  566. package/lib/esm/EntityReference.js +52 -52
  567. package/lib/esm/EntityReference.js.map +1 -1
  568. package/lib/esm/Environment.d.ts +61 -61
  569. package/lib/esm/Environment.js +69 -69
  570. package/lib/esm/Environment.js.map +1 -1
  571. package/lib/esm/FeatureIndex.d.ts +39 -39
  572. package/lib/esm/FeatureIndex.js +57 -57
  573. package/lib/esm/FeatureIndex.js.map +1 -1
  574. package/lib/esm/FeatureSymbology.d.ts +444 -444
  575. package/lib/esm/FeatureSymbology.js +609 -609
  576. package/lib/esm/FeatureSymbology.js.map +1 -1
  577. package/lib/esm/FeatureTable.d.ts +248 -248
  578. package/lib/esm/FeatureTable.js +462 -462
  579. package/lib/esm/FeatureTable.js.map +1 -1
  580. package/lib/esm/Fonts.d.ts +51 -51
  581. package/lib/esm/Fonts.js +49 -49
  582. package/lib/esm/Fonts.js.map +1 -1
  583. package/lib/esm/Frustum.d.ts +114 -114
  584. package/lib/esm/Frustum.js +288 -288
  585. package/lib/esm/Frustum.js.map +1 -1
  586. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  587. package/lib/esm/GeoCoordinateServices.js +76 -76
  588. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  589. package/lib/esm/GeometryContainment.d.ts +28 -28
  590. package/lib/esm/GeometryContainment.js +8 -8
  591. package/lib/esm/GeometryContainment.js.map +1 -1
  592. package/lib/esm/GeometryParams.d.ts +130 -130
  593. package/lib/esm/GeometryParams.js +170 -170
  594. package/lib/esm/GeometryParams.js.map +1 -1
  595. package/lib/esm/GeometrySummary.d.ts +45 -45
  596. package/lib/esm/GeometrySummary.js +20 -20
  597. package/lib/esm/GeometrySummary.js.map +1 -1
  598. package/lib/esm/Gradient.d.ts +139 -139
  599. package/lib/esm/Gradient.js +452 -452
  600. package/lib/esm/Gradient.js.map +1 -1
  601. package/lib/esm/GraphicParams.d.ts +58 -58
  602. package/lib/esm/GraphicParams.js +81 -81
  603. package/lib/esm/GraphicParams.js.map +1 -1
  604. package/lib/esm/GroundPlane.d.ts +52 -52
  605. package/lib/esm/GroundPlane.js +60 -60
  606. package/lib/esm/GroundPlane.js.map +1 -1
  607. package/lib/esm/HSLColor.d.ts +20 -20
  608. package/lib/esm/HSLColor.js +28 -28
  609. package/lib/esm/HSLColor.js.map +1 -1
  610. package/lib/esm/HSVColor.d.ts +30 -30
  611. package/lib/esm/HSVColor.js +55 -55
  612. package/lib/esm/HSVColor.js.map +1 -1
  613. package/lib/esm/HiddenLine.d.ts +97 -97
  614. package/lib/esm/HiddenLine.js +159 -159
  615. package/lib/esm/HiddenLine.js.map +1 -1
  616. package/lib/esm/Hilite.d.ts +50 -50
  617. package/lib/esm/Hilite.js +61 -61
  618. package/lib/esm/Hilite.js.map +1 -1
  619. package/lib/esm/IModel.d.ts +358 -358
  620. package/lib/esm/IModel.js +342 -342
  621. package/lib/esm/IModel.js.map +1 -1
  622. package/lib/esm/IModelError.d.ts +42 -42
  623. package/lib/esm/IModelError.js +56 -56
  624. package/lib/esm/IModelError.js.map +1 -1
  625. package/lib/esm/IModelVersion.d.ts +68 -68
  626. package/lib/esm/IModelVersion.js +75 -75
  627. package/lib/esm/IModelVersion.js.map +1 -1
  628. package/lib/esm/Image.d.ts +86 -86
  629. package/lib/esm/Image.js +120 -120
  630. package/lib/esm/Image.js.map +1 -1
  631. package/lib/esm/IpcAppProps.d.ts +141 -141
  632. package/lib/esm/IpcAppProps.js +19 -19
  633. package/lib/esm/IpcAppProps.js.map +1 -1
  634. package/lib/esm/LightSettings.d.ts +224 -224
  635. package/lib/esm/LightSettings.js +301 -301
  636. package/lib/esm/LightSettings.js.map +1 -1
  637. package/lib/esm/LinePixels.d.ts +34 -34
  638. package/lib/esm/LinePixels.js +39 -39
  639. package/lib/esm/LinePixels.js.map +1 -1
  640. package/lib/esm/Localization.d.ts +113 -113
  641. package/lib/esm/Localization.js +29 -29
  642. package/lib/esm/Localization.js.map +1 -1
  643. package/lib/esm/MapImagerySettings.d.ts +62 -62
  644. package/lib/esm/MapImagerySettings.js +76 -76
  645. package/lib/esm/MapImagerySettings.js.map +1 -1
  646. package/lib/esm/MapLayerSettings.d.ts +272 -272
  647. package/lib/esm/MapLayerSettings.js +403 -403
  648. package/lib/esm/MapLayerSettings.js.map +1 -1
  649. package/lib/esm/MassProperties.d.ts +64 -64
  650. package/lib/esm/MassProperties.js +20 -20
  651. package/lib/esm/MassProperties.js.map +1 -1
  652. package/lib/esm/MaterialProps.d.ts +153 -153
  653. package/lib/esm/MaterialProps.js +32 -32
  654. package/lib/esm/MaterialProps.js.map +1 -1
  655. package/lib/esm/ModelClipGroup.d.ts +67 -67
  656. package/lib/esm/ModelClipGroup.js +93 -93
  657. package/lib/esm/ModelClipGroup.js.map +1 -1
  658. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  659. package/lib/esm/ModelGeometryChanges.js +80 -80
  660. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  661. package/lib/esm/ModelProps.d.ts +67 -67
  662. package/lib/esm/ModelProps.js +8 -8
  663. package/lib/esm/ModelProps.js.map +1 -1
  664. package/lib/esm/NativeAppProps.d.ts +122 -122
  665. package/lib/esm/NativeAppProps.js +27 -27
  666. package/lib/esm/NativeAppProps.js.map +1 -1
  667. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  668. package/lib/esm/OctEncodedNormal.js +93 -93
  669. package/lib/esm/OctEncodedNormal.js.map +1 -1
  670. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  671. package/lib/esm/PlanProjectionSettings.js +59 -59
  672. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  673. package/lib/esm/PlanarClipMask.d.ts +177 -177
  674. package/lib/esm/PlanarClipMask.js +132 -132
  675. package/lib/esm/PlanarClipMask.js.map +1 -1
  676. package/lib/esm/QPoint.d.ts +479 -479
  677. package/lib/esm/QPoint.js +815 -815
  678. package/lib/esm/QPoint.js.map +1 -1
  679. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  680. package/lib/esm/RealityDataAccessProps.js +16 -16
  681. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  682. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  683. package/lib/esm/RealityModelDisplaySettings.js +137 -137
  684. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  685. package/lib/esm/Render.d.ts +89 -89
  686. package/lib/esm/Render.js +165 -165
  687. package/lib/esm/Render.js.map +1 -1
  688. package/lib/esm/RenderMaterial.d.ts +58 -58
  689. package/lib/esm/RenderMaterial.js +72 -72
  690. package/lib/esm/RenderMaterial.js.map +1 -1
  691. package/lib/esm/RenderSchedule.d.ts +543 -543
  692. package/lib/esm/RenderSchedule.js +999 -999
  693. package/lib/esm/RenderTexture.d.ts +70 -70
  694. package/lib/esm/RenderTexture.js +55 -55
  695. package/lib/esm/RenderTexture.js.map +1 -1
  696. package/lib/esm/RgbColor.d.ts +47 -47
  697. package/lib/esm/RgbColor.js +73 -73
  698. package/lib/esm/RgbColor.js.map +1 -1
  699. package/lib/esm/RpcInterface.d.ts +40 -40
  700. package/lib/esm/RpcInterface.js +133 -133
  701. package/lib/esm/RpcInterface.js.map +1 -1
  702. package/lib/esm/RpcManager.d.ts +40 -40
  703. package/lib/esm/RpcManager.js +51 -51
  704. package/lib/esm/RpcManager.js.map +1 -1
  705. package/lib/esm/SessionProps.d.ts +16 -16
  706. package/lib/esm/SessionProps.js +8 -8
  707. package/lib/esm/SessionProps.js.map +1 -1
  708. package/lib/esm/SkyBox.d.ts +215 -215
  709. package/lib/esm/SkyBox.js +203 -203
  710. package/lib/esm/SkyBox.js.map +1 -1
  711. package/lib/esm/Snapping.d.ts +49 -49
  712. package/lib/esm/Snapping.js +8 -8
  713. package/lib/esm/Snapping.js.map +1 -1
  714. package/lib/esm/SolarCalculate.d.ts +27 -27
  715. package/lib/esm/SolarCalculate.js +204 -204
  716. package/lib/esm/SolarCalculate.js.map +1 -1
  717. package/lib/esm/SolarShadows.d.ts +35 -35
  718. package/lib/esm/SolarShadows.js +58 -58
  719. package/lib/esm/SolarShadows.js.map +1 -1
  720. package/lib/esm/SpatialClassification.d.ts +208 -208
  721. package/lib/esm/SpatialClassification.js +334 -334
  722. package/lib/esm/SpatialClassification.js.map +1 -1
  723. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  724. package/lib/esm/SubCategoryAppearance.js +92 -92
  725. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  726. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  727. package/lib/esm/SubCategoryOverride.js +100 -100
  728. package/lib/esm/SubCategoryOverride.js.map +1 -1
  729. package/lib/esm/TerrainSettings.d.ts +82 -82
  730. package/lib/esm/TerrainSettings.js +98 -98
  731. package/lib/esm/TerrainSettings.js.map +1 -1
  732. package/lib/esm/TextureMapping.d.ts +118 -118
  733. package/lib/esm/TextureMapping.js +170 -170
  734. package/lib/esm/TextureMapping.js.map +1 -1
  735. package/lib/esm/TextureProps.d.ts +65 -65
  736. package/lib/esm/TextureProps.js +25 -25
  737. package/lib/esm/TextureProps.js.map +1 -1
  738. package/lib/esm/ThematicDisplay.d.ts +230 -230
  739. package/lib/esm/ThematicDisplay.js +337 -337
  740. package/lib/esm/ThematicDisplay.js.map +1 -1
  741. package/lib/esm/Thumbnail.d.ts +26 -26
  742. package/lib/esm/Thumbnail.js +8 -8
  743. package/lib/esm/Thumbnail.js.map +1 -1
  744. package/lib/esm/TileProps.d.ts +82 -82
  745. package/lib/esm/TileProps.js +25 -25
  746. package/lib/esm/TileProps.js.map +1 -1
  747. package/lib/esm/Tween.d.ts +191 -191
  748. package/lib/esm/Tween.js +565 -565
  749. package/lib/esm/Tween.js.map +1 -1
  750. package/lib/esm/TxnAction.d.ts +21 -21
  751. package/lib/esm/TxnAction.js +26 -26
  752. package/lib/esm/TxnAction.js.map +1 -1
  753. package/lib/esm/ViewDetails.d.ts +125 -125
  754. package/lib/esm/ViewDetails.js +161 -161
  755. package/lib/esm/ViewDetails.js.map +1 -1
  756. package/lib/esm/ViewFlags.d.ts +287 -287
  757. package/lib/esm/ViewFlags.js +364 -364
  758. package/lib/esm/ViewFlags.js.map +1 -1
  759. package/lib/esm/ViewProps.d.ts +205 -205
  760. package/lib/esm/ViewProps.js +8 -8
  761. package/lib/esm/ViewProps.js.map +1 -1
  762. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  763. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  764. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  765. package/lib/esm/core-common.d.ts +245 -245
  766. package/lib/esm/core-common.js +249 -249
  767. package/lib/esm/core-common.js.map +1 -1
  768. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  769. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  770. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  771. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  772. package/lib/esm/domains/GenericElementProps.js +8 -8
  773. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  774. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  775. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  776. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  777. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  778. package/lib/esm/geometry/AreaPattern.js +201 -201
  779. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  780. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  781. package/lib/esm/geometry/BoundingSphere.js +40 -40
  782. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  783. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  784. package/lib/esm/geometry/Cartographic.js +340 -340
  785. package/lib/esm/geometry/Cartographic.js.map +1 -1
  786. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  787. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  788. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  789. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  790. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  791. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  792. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  793. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  794. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  795. package/lib/esm/geometry/FrustumPlanes.d.ts +83 -83
  796. package/lib/esm/geometry/FrustumPlanes.js +227 -227
  797. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  798. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  799. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  800. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  801. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  802. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  803. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  804. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  805. package/lib/esm/geometry/GeometryStream.js +464 -464
  806. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  807. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  808. package/lib/esm/geometry/ImageGraphic.js +93 -93
  809. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  810. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  811. package/lib/esm/geometry/LineStyle.js +126 -126
  812. package/lib/esm/geometry/LineStyle.js.map +1 -1
  813. package/lib/esm/geometry/Placement.d.ts +95 -95
  814. package/lib/esm/geometry/Placement.js +126 -126
  815. package/lib/esm/geometry/Placement.js.map +1 -1
  816. package/lib/esm/geometry/Projection.d.ts +251 -251
  817. package/lib/esm/geometry/Projection.js +192 -192
  818. package/lib/esm/geometry/Projection.js.map +1 -1
  819. package/lib/esm/geometry/TextString.d.ts +55 -55
  820. package/lib/esm/geometry/TextString.js +61 -61
  821. package/lib/esm/geometry/TextString.js.map +1 -1
  822. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  823. package/lib/esm/ipc/IpcSession.js +23 -23
  824. package/lib/esm/ipc/IpcSession.js.map +1 -1
  825. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  826. package/lib/esm/ipc/IpcSocket.js +12 -12
  827. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  828. package/lib/esm/ipc/IpcWebSocket.d.ts +60 -60
  829. package/lib/esm/ipc/IpcWebSocket.js +143 -143
  830. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  831. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  832. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  833. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  834. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  835. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  836. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  837. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  838. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  839. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  840. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  841. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  842. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  843. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  844. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  845. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  846. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  847. package/lib/esm/rpc/TestRpcManager.js +36 -36
  848. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  849. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  850. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  851. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  852. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  853. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  854. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  855. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  856. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  857. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  858. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  859. package/lib/esm/rpc/core/RpcControl.js +138 -138
  860. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  861. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  862. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  863. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  864. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  865. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  866. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  867. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  868. package/lib/esm/rpc/core/RpcOperation.js +129 -129
  869. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  870. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  871. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -91
  872. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  874. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  875. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  876. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  877. package/lib/esm/rpc/core/RpcPush.js +119 -119
  878. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  879. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  880. package/lib/esm/rpc/core/RpcRegistry.js +195 -195
  881. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  882. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  883. package/lib/esm/rpc/core/RpcRequest.js +473 -473
  884. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  885. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  886. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  887. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  888. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  889. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -20
  890. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  891. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  892. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  893. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  894. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -48
  895. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +71 -71
  896. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  897. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  898. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -139
  899. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  900. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  901. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  902. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  903. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  904. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  905. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  906. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  907. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  908. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  909. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  910. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  911. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  912. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  913. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  914. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  915. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  916. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  917. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  918. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  919. package/lib/esm/tile/B3dmTileIO.js +62 -62
  920. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  921. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  922. package/lib/esm/tile/CompositeTileIO.js +22 -22
  923. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  924. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  925. package/lib/esm/tile/ElementGraphics.js +8 -8
  926. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  927. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  928. package/lib/esm/tile/GltfTileIO.js +105 -105
  929. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  930. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  931. package/lib/esm/tile/I3dmTileIO.js +36 -36
  932. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  933. package/lib/esm/tile/IModelTileIO.d.ts +77 -77
  934. package/lib/esm/tile/IModelTileIO.js +92 -92
  935. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  936. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  937. package/lib/esm/tile/PntsTileIO.js +22 -22
  938. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  939. package/lib/esm/tile/TileIO.d.ts +66 -66
  940. package/lib/esm/tile/TileIO.js +110 -110
  941. package/lib/esm/tile/TileIO.js.map +1 -1
  942. package/lib/esm/tile/TileMetadata.d.ts +240 -240
  943. package/lib/esm/tile/TileMetadata.js +679 -679
  944. package/lib/esm/tile/TileMetadata.js.map +1 -1
  945. package/lib/esm/tile/Tileset3dSchema.d.ts +96 -96
  946. package/lib/esm/tile/Tileset3dSchema.js +8 -8
  947. package/lib/esm/tile/Tileset3dSchema.js.map +1 -1
  948. package/package.json +8 -8
@@ -1,276 +1,276 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module iModels
7
- */
8
- import { Base64EncodedString } from "./Base64EncodedString";
9
- import { DbQueryError, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptionsBuilder, QueryRowFormat, } from "./ConcurrentQuery";
10
- /** @beta */
11
- export class PropertyMetaDataMap {
12
- constructor(properties) {
13
- this.properties = properties;
14
- this._byPropName = new Map();
15
- this._byJsonName = new Map();
16
- this._byNoCase = new Map();
17
- for (const property of this.properties) {
18
- this._byPropName.set(property.name, property.index);
19
- this._byJsonName.set(property.jsonName, property.index);
20
- this._byNoCase.set(property.name.toLowerCase(), property.index);
21
- this._byNoCase.set(property.jsonName.toLowerCase(), property.index);
22
- }
23
- }
24
- get length() { return this.properties.length; }
25
- [Symbol.iterator]() {
26
- return this.properties[Symbol.iterator]();
27
- }
28
- findByName(name) {
29
- const index = this._byPropName.get(name);
30
- if (typeof index === "number") {
31
- return this.properties[index];
32
- }
33
- return undefined;
34
- }
35
- findByJsonName(name) {
36
- const index = this._byJsonName.get(name);
37
- if (typeof index === "number") {
38
- return this.properties[index];
39
- }
40
- return undefined;
41
- }
42
- findByNoCase(name) {
43
- const index = this._byNoCase.get(name.toLowerCase());
44
- if (typeof index === "number") {
45
- return this.properties[index];
46
- }
47
- return undefined;
48
- }
49
- }
50
- /** @beta */
51
- export class ECSqlReader {
52
- /** @internal */
53
- constructor(_executor, query, param, options) {
54
- this._executor = _executor;
55
- this.query = query;
56
- this._localRows = [];
57
- this._localOffset = 0;
58
- this._globalOffset = -1;
59
- this._globalCount = -1;
60
- this._done = false;
61
- this._globalDone = false;
62
- this._props = new PropertyMetaDataMap([]);
63
- this._param = new QueryBinder().serialize();
64
- this._lockArgs = false;
65
- this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };
66
- this._rowProxy = new Proxy(this, {
67
- get: (target, key) => {
68
- if (typeof key === "string") {
69
- const idx = Number.parseInt(key, 10);
70
- if (!Number.isNaN(idx)) {
71
- return target.getRowInternal()[idx];
72
- }
73
- const prop = target._props.findByNoCase(key);
74
- if (prop) {
75
- return target.getRowInternal()[prop.index];
76
- }
77
- if (key === "getMetaData") {
78
- return () => target._props.properties;
79
- }
80
- if (key === "toRow") {
81
- return () => target.formatCurrentRow(true);
82
- }
83
- if (key === "getArray" || key === "toJSON") {
84
- return () => this.getRowInternal();
85
- }
86
- }
87
- return undefined;
88
- },
89
- has: (target, p) => {
90
- return !target._props.findByNoCase(p);
91
- },
92
- ownKeys: (target) => {
93
- const keys = [];
94
- for (const prop of target._props) {
95
- keys.push(prop.name);
96
- }
97
- return keys;
98
- },
99
- });
100
- this._options = new QueryOptionsBuilder().getOptions();
101
- if (query.trim().length === 0) {
102
- throw new Error("expecting non-empty ecsql statement");
103
- }
104
- if (param) {
105
- this._param = param.serialize();
106
- }
107
- this.reset(options);
108
- }
109
- static replaceBase64WithUint8Array(row) {
110
- for (const key of Object.keys(row)) {
111
- const val = row[key];
112
- if (typeof val === "string") {
113
- if (Base64EncodedString.hasPrefix(val)) {
114
- row[key] = Base64EncodedString.toUint8Array(val);
115
- }
116
- }
117
- else if (typeof val === "object" && val !== null) {
118
- this.replaceBase64WithUint8Array(val);
119
- }
120
- }
121
- }
122
- setParams(param) {
123
- if (this._lockArgs) {
124
- throw new Error("call resetBindings() before setting or changing parameters");
125
- }
126
- this._param = param.serialize();
127
- }
128
- reset(options) {
129
- if (options) {
130
- this._options = options;
131
- }
132
- this._props = new PropertyMetaDataMap([]);
133
- this._localRows = [];
134
- this._globalDone = false;
135
- this._globalOffset = 0;
136
- this._globalCount = -1;
137
- if (typeof this._options.rowFormat === "undefined")
138
- this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;
139
- if (this._options.limit) {
140
- if (typeof this._options.limit.offset === "number" && this._options.limit.offset > 0)
141
- this._globalOffset = this._options.limit.offset;
142
- if (typeof this._options.limit.count === "number" && this._options.limit.count > 0)
143
- this._globalCount = this._options.limit.count;
144
- }
145
- this._done = false;
146
- }
147
- get current() { return this._rowProxy; }
148
- // clear all bindings
149
- resetBindings() {
150
- this._param = new QueryBinder().serialize();
151
- this._lockArgs = false;
152
- }
153
- // return if there is any more rows available
154
- get done() { return this._done; }
155
- getRowInternal() {
156
- if (this._localRows.length <= this._localOffset)
157
- throw new Error("no current row");
158
- return this._localRows[this._localOffset];
159
- }
160
- // return performance related statistics for current query.
161
- get stats() { return this._stats; }
162
- async readRows() {
163
- if (this._globalDone) {
164
- return [];
165
- }
166
- this._lockArgs = true;
167
- this._globalOffset += this._localRows.length;
168
- this._globalCount -= this._localRows.length;
169
- if (this._globalCount === 0) {
170
- return [];
171
- }
172
- const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;
173
- const request = {
174
- ...this._options,
175
- kind: DbRequestKind.ECSql,
176
- valueFormat,
177
- query: this.query,
178
- args: this._param,
179
- };
180
- request.includeMetaData = this._props.length > 0 ? false : true;
181
- request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };
182
- const resp = await this.runWithRetry(request);
183
- this._globalDone = resp.status === DbResponseStatus.Done;
184
- if (this._props.length === 0 && resp.meta.length > 0) {
185
- this._props = new PropertyMetaDataMap(resp.meta);
186
- }
187
- for (const row of resp.data) {
188
- ECSqlReader.replaceBase64WithUint8Array(row);
189
- }
190
- return resp.data;
191
- }
192
- async runWithRetry(request) {
193
- const needRetry = (rs) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout) && (rs.data.length === 0);
194
- const updateStats = (rs) => {
195
- this._stats.backendCpuTime += rs.stats.cpuTime;
196
- this._stats.backendTotalTime += rs.stats.totalTime;
197
- this._stats.backendMemUsed += rs.stats.memUsed;
198
- this._stats.backendRowsReturned += rs.data.length;
199
- };
200
- const execQuery = async (req) => {
201
- const startTime = Date.now();
202
- const rs = await this._executor.execute(req);
203
- this.stats.totalTime += (Date.now() - startTime);
204
- return rs;
205
- };
206
- let retry = ECSqlReader._maxRetryCount;
207
- let resp = await execQuery(request);
208
- DbQueryError.throwIfError(resp, request);
209
- while (--retry > 0 && needRetry(resp)) {
210
- resp = await execQuery(request);
211
- this._stats.retryCount += 1;
212
- if (needRetry(resp)) {
213
- updateStats(resp);
214
- }
215
- }
216
- if (retry === 0 && needRetry(resp)) {
217
- throw new Error("query too long to execute or server is too busy");
218
- }
219
- updateStats(resp);
220
- return resp;
221
- }
222
- formatCurrentRow(onlyReturnObject = false) {
223
- if (!onlyReturnObject && this._options.rowFormat === QueryRowFormat.UseECSqlPropertyIndexes) {
224
- return this.getRowInternal();
225
- }
226
- const formattedRow = {};
227
- for (const prop of this._props) {
228
- const propName = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? prop.jsonName : prop.name;
229
- const val = this.getRowInternal()[prop.index];
230
- if (typeof val !== "undefined" && val !== null) {
231
- Object.defineProperty(formattedRow, propName, {
232
- value: val,
233
- enumerable: true,
234
- });
235
- }
236
- }
237
- return formattedRow;
238
- }
239
- async getMetaData() {
240
- if (this._props.length === 0) {
241
- await this.fetchRows();
242
- }
243
- return this._props.properties;
244
- }
245
- async fetchRows() {
246
- this._localOffset = -1;
247
- this._localRows = await this.readRows();
248
- if (this._localRows.length === 0) {
249
- this._done = true;
250
- }
251
- }
252
- async step() {
253
- if (this._done) {
254
- return false;
255
- }
256
- const cachedRows = this._localRows.length;
257
- if (this._localOffset < cachedRows - 1) {
258
- ++this._localOffset;
259
- }
260
- else {
261
- await this.fetchRows();
262
- this._localOffset = 0;
263
- return !this._done;
264
- }
265
- return true;
266
- }
267
- async toArray() {
268
- const rows = [];
269
- while (await this.step()) {
270
- rows.push(this.formatCurrentRow());
271
- }
272
- return rows;
273
- }
274
- }
275
- ECSqlReader._maxRetryCount = 10;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module iModels
7
+ */
8
+ import { Base64EncodedString } from "./Base64EncodedString";
9
+ import { DbQueryError, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptionsBuilder, QueryRowFormat, } from "./ConcurrentQuery";
10
+ /** @beta */
11
+ export class PropertyMetaDataMap {
12
+ constructor(properties) {
13
+ this.properties = properties;
14
+ this._byPropName = new Map();
15
+ this._byJsonName = new Map();
16
+ this._byNoCase = new Map();
17
+ for (const property of this.properties) {
18
+ this._byPropName.set(property.name, property.index);
19
+ this._byJsonName.set(property.jsonName, property.index);
20
+ this._byNoCase.set(property.name.toLowerCase(), property.index);
21
+ this._byNoCase.set(property.jsonName.toLowerCase(), property.index);
22
+ }
23
+ }
24
+ get length() { return this.properties.length; }
25
+ [Symbol.iterator]() {
26
+ return this.properties[Symbol.iterator]();
27
+ }
28
+ findByName(name) {
29
+ const index = this._byPropName.get(name);
30
+ if (typeof index === "number") {
31
+ return this.properties[index];
32
+ }
33
+ return undefined;
34
+ }
35
+ findByJsonName(name) {
36
+ const index = this._byJsonName.get(name);
37
+ if (typeof index === "number") {
38
+ return this.properties[index];
39
+ }
40
+ return undefined;
41
+ }
42
+ findByNoCase(name) {
43
+ const index = this._byNoCase.get(name.toLowerCase());
44
+ if (typeof index === "number") {
45
+ return this.properties[index];
46
+ }
47
+ return undefined;
48
+ }
49
+ }
50
+ /** @beta */
51
+ export class ECSqlReader {
52
+ /** @internal */
53
+ constructor(_executor, query, param, options) {
54
+ this._executor = _executor;
55
+ this.query = query;
56
+ this._localRows = [];
57
+ this._localOffset = 0;
58
+ this._globalOffset = -1;
59
+ this._globalCount = -1;
60
+ this._done = false;
61
+ this._globalDone = false;
62
+ this._props = new PropertyMetaDataMap([]);
63
+ this._param = new QueryBinder().serialize();
64
+ this._lockArgs = false;
65
+ this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };
66
+ this._rowProxy = new Proxy(this, {
67
+ get: (target, key) => {
68
+ if (typeof key === "string") {
69
+ const idx = Number.parseInt(key, 10);
70
+ if (!Number.isNaN(idx)) {
71
+ return target.getRowInternal()[idx];
72
+ }
73
+ const prop = target._props.findByNoCase(key);
74
+ if (prop) {
75
+ return target.getRowInternal()[prop.index];
76
+ }
77
+ if (key === "getMetaData") {
78
+ return () => target._props.properties;
79
+ }
80
+ if (key === "toRow") {
81
+ return () => target.formatCurrentRow(true);
82
+ }
83
+ if (key === "getArray" || key === "toJSON") {
84
+ return () => this.getRowInternal();
85
+ }
86
+ }
87
+ return undefined;
88
+ },
89
+ has: (target, p) => {
90
+ return !target._props.findByNoCase(p);
91
+ },
92
+ ownKeys: (target) => {
93
+ const keys = [];
94
+ for (const prop of target._props) {
95
+ keys.push(prop.name);
96
+ }
97
+ return keys;
98
+ },
99
+ });
100
+ this._options = new QueryOptionsBuilder().getOptions();
101
+ if (query.trim().length === 0) {
102
+ throw new Error("expecting non-empty ecsql statement");
103
+ }
104
+ if (param) {
105
+ this._param = param.serialize();
106
+ }
107
+ this.reset(options);
108
+ }
109
+ static replaceBase64WithUint8Array(row) {
110
+ for (const key of Object.keys(row)) {
111
+ const val = row[key];
112
+ if (typeof val === "string") {
113
+ if (Base64EncodedString.hasPrefix(val)) {
114
+ row[key] = Base64EncodedString.toUint8Array(val);
115
+ }
116
+ }
117
+ else if (typeof val === "object" && val !== null) {
118
+ this.replaceBase64WithUint8Array(val);
119
+ }
120
+ }
121
+ }
122
+ setParams(param) {
123
+ if (this._lockArgs) {
124
+ throw new Error("call resetBindings() before setting or changing parameters");
125
+ }
126
+ this._param = param.serialize();
127
+ }
128
+ reset(options) {
129
+ if (options) {
130
+ this._options = options;
131
+ }
132
+ this._props = new PropertyMetaDataMap([]);
133
+ this._localRows = [];
134
+ this._globalDone = false;
135
+ this._globalOffset = 0;
136
+ this._globalCount = -1;
137
+ if (typeof this._options.rowFormat === "undefined")
138
+ this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;
139
+ if (this._options.limit) {
140
+ if (typeof this._options.limit.offset === "number" && this._options.limit.offset > 0)
141
+ this._globalOffset = this._options.limit.offset;
142
+ if (typeof this._options.limit.count === "number" && this._options.limit.count > 0)
143
+ this._globalCount = this._options.limit.count;
144
+ }
145
+ this._done = false;
146
+ }
147
+ get current() { return this._rowProxy; }
148
+ // clear all bindings
149
+ resetBindings() {
150
+ this._param = new QueryBinder().serialize();
151
+ this._lockArgs = false;
152
+ }
153
+ // return if there is any more rows available
154
+ get done() { return this._done; }
155
+ getRowInternal() {
156
+ if (this._localRows.length <= this._localOffset)
157
+ throw new Error("no current row");
158
+ return this._localRows[this._localOffset];
159
+ }
160
+ // return performance related statistics for current query.
161
+ get stats() { return this._stats; }
162
+ async readRows() {
163
+ if (this._globalDone) {
164
+ return [];
165
+ }
166
+ this._lockArgs = true;
167
+ this._globalOffset += this._localRows.length;
168
+ this._globalCount -= this._localRows.length;
169
+ if (this._globalCount === 0) {
170
+ return [];
171
+ }
172
+ const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;
173
+ const request = {
174
+ ...this._options,
175
+ kind: DbRequestKind.ECSql,
176
+ valueFormat,
177
+ query: this.query,
178
+ args: this._param,
179
+ };
180
+ request.includeMetaData = this._props.length > 0 ? false : true;
181
+ request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };
182
+ const resp = await this.runWithRetry(request);
183
+ this._globalDone = resp.status === DbResponseStatus.Done;
184
+ if (this._props.length === 0 && resp.meta.length > 0) {
185
+ this._props = new PropertyMetaDataMap(resp.meta);
186
+ }
187
+ for (const row of resp.data) {
188
+ ECSqlReader.replaceBase64WithUint8Array(row);
189
+ }
190
+ return resp.data;
191
+ }
192
+ async runWithRetry(request) {
193
+ const needRetry = (rs) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout) && (rs.data.length === 0);
194
+ const updateStats = (rs) => {
195
+ this._stats.backendCpuTime += rs.stats.cpuTime;
196
+ this._stats.backendTotalTime += rs.stats.totalTime;
197
+ this._stats.backendMemUsed += rs.stats.memUsed;
198
+ this._stats.backendRowsReturned += rs.data.length;
199
+ };
200
+ const execQuery = async (req) => {
201
+ const startTime = Date.now();
202
+ const rs = await this._executor.execute(req);
203
+ this.stats.totalTime += (Date.now() - startTime);
204
+ return rs;
205
+ };
206
+ let retry = ECSqlReader._maxRetryCount;
207
+ let resp = await execQuery(request);
208
+ DbQueryError.throwIfError(resp, request);
209
+ while (--retry > 0 && needRetry(resp)) {
210
+ resp = await execQuery(request);
211
+ this._stats.retryCount += 1;
212
+ if (needRetry(resp)) {
213
+ updateStats(resp);
214
+ }
215
+ }
216
+ if (retry === 0 && needRetry(resp)) {
217
+ throw new Error("query too long to execute or server is too busy");
218
+ }
219
+ updateStats(resp);
220
+ return resp;
221
+ }
222
+ formatCurrentRow(onlyReturnObject = false) {
223
+ if (!onlyReturnObject && this._options.rowFormat === QueryRowFormat.UseECSqlPropertyIndexes) {
224
+ return this.getRowInternal();
225
+ }
226
+ const formattedRow = {};
227
+ for (const prop of this._props) {
228
+ const propName = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? prop.jsonName : prop.name;
229
+ const val = this.getRowInternal()[prop.index];
230
+ if (typeof val !== "undefined" && val !== null) {
231
+ Object.defineProperty(formattedRow, propName, {
232
+ value: val,
233
+ enumerable: true,
234
+ });
235
+ }
236
+ }
237
+ return formattedRow;
238
+ }
239
+ async getMetaData() {
240
+ if (this._props.length === 0) {
241
+ await this.fetchRows();
242
+ }
243
+ return this._props.properties;
244
+ }
245
+ async fetchRows() {
246
+ this._localOffset = -1;
247
+ this._localRows = await this.readRows();
248
+ if (this._localRows.length === 0) {
249
+ this._done = true;
250
+ }
251
+ }
252
+ async step() {
253
+ if (this._done) {
254
+ return false;
255
+ }
256
+ const cachedRows = this._localRows.length;
257
+ if (this._localOffset < cachedRows - 1) {
258
+ ++this._localOffset;
259
+ }
260
+ else {
261
+ await this.fetchRows();
262
+ this._localOffset = 0;
263
+ return !this._done;
264
+ }
265
+ return true;
266
+ }
267
+ async toArray() {
268
+ const rows = [];
269
+ while (await this.step()) {
270
+ rows.push(this.formatCurrentRow());
271
+ }
272
+ return rows;
273
+ }
274
+ }
275
+ ECSqlReader._maxRetryCount = 10;
276
276
  //# sourceMappingURL=ECSqlReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.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 iModels\r\n */\r\nimport { Base64EncodedString } from \"./Base64EncodedString\";\r\nimport {\r\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\r\n QueryPropertyMetaData, QueryRowFormat,\r\n} from \"./ConcurrentQuery\";\r\n\r\n/** @beta */\r\nexport class PropertyMetaDataMap implements Iterable<QueryPropertyMetaData> {\r\n private _byPropName = new Map<string, number>();\r\n private _byJsonName = new Map<string, number>();\r\n private _byNoCase = new Map<string, number>();\r\n public constructor(public readonly properties: QueryPropertyMetaData[]) {\r\n for (const property of this.properties) {\r\n this._byPropName.set(property.name, property.index);\r\n this._byJsonName.set(property.jsonName, property.index);\r\n this._byNoCase.set(property.name.toLowerCase(), property.index);\r\n this._byNoCase.set(property.jsonName.toLowerCase(), property.index);\r\n }\r\n }\r\n public get length(): number { return this.properties.length; }\r\n\r\n public [Symbol.iterator](): Iterator<QueryPropertyMetaData, any, undefined> {\r\n return this.properties[Symbol.iterator]();\r\n }\r\n public findByName(name: string): QueryPropertyMetaData | undefined {\r\n const index = this._byPropName.get(name);\r\n if (typeof index === \"number\") {\r\n return this.properties[index];\r\n }\r\n return undefined;\r\n }\r\n public findByJsonName(name: string): QueryPropertyMetaData | undefined {\r\n const index = this._byJsonName.get(name);\r\n if (typeof index === \"number\") {\r\n return this.properties[index];\r\n }\r\n return undefined;\r\n }\r\n public findByNoCase(name: string): QueryPropertyMetaData | undefined {\r\n const index = this._byNoCase.get(name.toLowerCase());\r\n if (typeof index === \"number\") {\r\n return this.properties[index];\r\n }\r\n return undefined;\r\n }\r\n}\r\n/**\r\n * @beta\r\n*/\r\nexport type QueryValueType = any;\r\n\r\n/** @beta */\r\nexport interface QueryRowProxy {\r\n toRow(): any;\r\n toArray(): QueryValueType[];\r\n getMetaData(): QueryPropertyMetaData[];\r\n [propertyName: string]: QueryValueType;\r\n [propertyIndex: number]: QueryValueType;\r\n}\r\n\r\n/** @beta */\r\nexport interface QueryStats {\r\n backendCpuTime: number; // Time spent running the query. It exclude query time in queue. Time is in microseconds.\r\n backendTotalTime: number; // backend total time spent running the query. Time is in milliseconds.\r\n backendMemUsed: number; // Estimated m emory used for query. Time is in milliseconds.\r\n backendRowsReturned: number; // Total rows returned by backend.\r\n totalTime: number; // Round trip time from client perspective.Time is in milliseconds.\r\n retryCount: number;\r\n}\r\n\r\n/** @beta */\r\nexport class ECSqlReader {\r\n private static readonly _maxRetryCount = 10;\r\n private _localRows: any[] = [];\r\n private _localOffset: number = 0;\r\n private _globalOffset: number = -1;\r\n private _globalCount: number = -1;\r\n private _done: boolean = false;\r\n private _globalDone: boolean = false;\r\n private _props = new PropertyMetaDataMap([]);\r\n private _param = new QueryBinder().serialize();\r\n private _lockArgs: boolean = false;\r\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };\r\n private _rowProxy = new Proxy<ECSqlReader>(this, {\r\n get: (target: ECSqlReader, key: string | Symbol) => {\r\n if (typeof key === \"string\") {\r\n const idx = Number.parseInt(key, 10);\r\n if (!Number.isNaN(idx)) {\r\n return target.getRowInternal()[idx];\r\n }\r\n const prop = target._props.findByNoCase(key);\r\n if (prop) {\r\n return target.getRowInternal()[prop.index];\r\n }\r\n if (key === \"getMetaData\") {\r\n return () => target._props.properties;\r\n }\r\n if (key === \"toRow\") {\r\n return () => target.formatCurrentRow(true);\r\n }\r\n if (key === \"getArray\" || key === \"toJSON\") {\r\n return () => this.getRowInternal();\r\n }\r\n }\r\n return undefined;\r\n },\r\n has: (target: ECSqlReader, p: string | symbol) => {\r\n return !target._props.findByNoCase(p as string);\r\n },\r\n ownKeys: (target: ECSqlReader) => {\r\n const keys = [];\r\n for (const prop of target._props) {\r\n keys.push(prop.name);\r\n }\r\n return keys;\r\n },\r\n });\r\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\r\n /** @internal */\r\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\r\n if (query.trim().length === 0) {\r\n throw new Error(\"expecting non-empty ecsql statement\");\r\n }\r\n if (param) {\r\n this._param = param.serialize();\r\n }\r\n this.reset(options);\r\n }\r\n private static replaceBase64WithUint8Array(row: any) {\r\n for (const key of Object.keys(row)) {\r\n const val = row[key];\r\n if (typeof val === \"string\") {\r\n if (Base64EncodedString.hasPrefix(val)) {\r\n row[key] = Base64EncodedString.toUint8Array(val);\r\n }\r\n } else if (typeof val === \"object\" && val !== null) {\r\n this.replaceBase64WithUint8Array(val);\r\n }\r\n }\r\n }\r\n public setParams(param: QueryBinder) {\r\n if (this._lockArgs) {\r\n throw new Error(\"call resetBindings() before setting or changing parameters\");\r\n }\r\n this._param = param.serialize();\r\n }\r\n public reset(options?: QueryOptions) {\r\n if (options) {\r\n this._options = options;\r\n }\r\n this._props = new PropertyMetaDataMap([]);\r\n this._localRows = [];\r\n this._globalDone = false;\r\n this._globalOffset = 0;\r\n this._globalCount = -1;\r\n if (typeof this._options.rowFormat === \"undefined\")\r\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\r\n if (this._options.limit) {\r\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\r\n this._globalOffset = this._options.limit.offset;\r\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\r\n this._globalCount = this._options.limit.count;\r\n }\r\n this._done = false;\r\n }\r\n public get current(): QueryRowProxy { return (this._rowProxy as any); }\r\n // clear all bindings\r\n public resetBindings() {\r\n this._param = new QueryBinder().serialize();\r\n this._lockArgs = false;\r\n }\r\n // return if there is any more rows available\r\n public get done(): boolean { return this._done; }\r\n public getRowInternal(): any[] {\r\n if (this._localRows.length <= this._localOffset)\r\n throw new Error(\"no current row\");\r\n return this._localRows[this._localOffset] as any[];\r\n }\r\n // return performance related statistics for current query.\r\n public get stats(): QueryStats { return this._stats; }\r\n private async readRows(): Promise<any[]> {\r\n if (this._globalDone) {\r\n return [];\r\n }\r\n this._lockArgs = true;\r\n this._globalOffset += this._localRows.length;\r\n this._globalCount -= this._localRows.length;\r\n if (this._globalCount === 0) {\r\n return [];\r\n }\r\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames? DbValueFormat.JsNames :DbValueFormat.ECSqlNames;\r\n const request: DbQueryRequest = {\r\n ... this._options,\r\n kind: DbRequestKind.ECSql,\r\n valueFormat,\r\n query: this.query,\r\n args: this._param,\r\n };\r\n request.includeMetaData = this._props.length > 0 ? false : true;\r\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\r\n const resp = await this.runWithRetry(request);\r\n this._globalDone = resp.status === DbResponseStatus.Done;\r\n if (this._props.length === 0 && resp.meta.length > 0) {\r\n this._props = new PropertyMetaDataMap(resp.meta);\r\n }\r\n for (const row of resp.data) {\r\n ECSqlReader.replaceBase64WithUint8Array(row);\r\n }\r\n return resp.data;\r\n }\r\n private async runWithRetry(request: DbQueryRequest) {\r\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout) && (rs.data.length === 0);\r\n const updateStats = (rs: DbQueryResponse) => {\r\n this._stats.backendCpuTime += rs.stats.cpuTime;\r\n this._stats.backendTotalTime += rs.stats.totalTime;\r\n this._stats.backendMemUsed += rs.stats.memUsed;\r\n this._stats.backendRowsReturned += rs.data.length;\r\n };\r\n const execQuery = async (req: DbQueryRequest) => {\r\n const startTime = Date.now();\r\n const rs = await this._executor.execute(req);\r\n this.stats.totalTime += (Date.now() - startTime);\r\n return rs;\r\n };\r\n let retry = ECSqlReader._maxRetryCount;\r\n let resp = await execQuery(request);\r\n DbQueryError.throwIfError(resp, request);\r\n while (--retry > 0 && needRetry(resp)) {\r\n resp = await execQuery(request);\r\n this._stats.retryCount += 1;\r\n if (needRetry(resp)) {\r\n updateStats(resp);\r\n }\r\n }\r\n if (retry === 0 && needRetry(resp)) {\r\n throw new Error(\"query too long to execute or server is too busy\");\r\n }\r\n updateStats(resp);\r\n return resp;\r\n }\r\n public formatCurrentRow(onlyReturnObject: boolean = false): any[] | object {\r\n if (!onlyReturnObject && this._options.rowFormat === QueryRowFormat.UseECSqlPropertyIndexes) {\r\n return this.getRowInternal();\r\n }\r\n const formattedRow = {};\r\n for (const prop of this._props) {\r\n const propName = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? prop.jsonName : prop.name;\r\n const val = this.getRowInternal()[prop.index];\r\n if (typeof val !== \"undefined\" && val !== null) {\r\n Object.defineProperty(formattedRow, propName, {\r\n value: val,\r\n enumerable: true,\r\n });\r\n }\r\n }\r\n return formattedRow;\r\n }\r\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\r\n if (this._props.length === 0) {\r\n await this.fetchRows();\r\n }\r\n return this._props.properties;\r\n }\r\n private async fetchRows() {\r\n this._localOffset = -1;\r\n this._localRows = await this.readRows();\r\n if (this._localRows.length === 0) {\r\n this._done = true;\r\n }\r\n }\r\n public async step(): Promise<boolean> {\r\n if (this._done) {\r\n return false;\r\n }\r\n const cachedRows = this._localRows.length;\r\n if (this._localOffset < cachedRows - 1) {\r\n ++this._localOffset;\r\n } else {\r\n await this.fetchRows();\r\n this._localOffset = 0;\r\n return !this._done;\r\n }\r\n return true;\r\n }\r\n public async toArray(): Promise<any[]> {\r\n const rows = [];\r\n while (await this.step()) {\r\n rows.push(this.formatCurrentRow());\r\n }\r\n return rows;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"ECSqlReader.js","sourceRoot":"","sources":["../../src/ECSqlReader.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 iModels\n */\nimport { Base64EncodedString } from \"./Base64EncodedString\";\nimport {\n DbQueryError, DbQueryRequest, DbQueryResponse, DbRequestExecutor, DbRequestKind, DbResponseStatus, DbValueFormat, QueryBinder, QueryOptions, QueryOptionsBuilder,\n QueryPropertyMetaData, QueryRowFormat,\n} from \"./ConcurrentQuery\";\n\n/** @beta */\nexport class PropertyMetaDataMap implements Iterable<QueryPropertyMetaData> {\n private _byPropName = new Map<string, number>();\n private _byJsonName = new Map<string, number>();\n private _byNoCase = new Map<string, number>();\n public constructor(public readonly properties: QueryPropertyMetaData[]) {\n for (const property of this.properties) {\n this._byPropName.set(property.name, property.index);\n this._byJsonName.set(property.jsonName, property.index);\n this._byNoCase.set(property.name.toLowerCase(), property.index);\n this._byNoCase.set(property.jsonName.toLowerCase(), property.index);\n }\n }\n public get length(): number { return this.properties.length; }\n\n public [Symbol.iterator](): Iterator<QueryPropertyMetaData, any, undefined> {\n return this.properties[Symbol.iterator]();\n }\n public findByName(name: string): QueryPropertyMetaData | undefined {\n const index = this._byPropName.get(name);\n if (typeof index === \"number\") {\n return this.properties[index];\n }\n return undefined;\n }\n public findByJsonName(name: string): QueryPropertyMetaData | undefined {\n const index = this._byJsonName.get(name);\n if (typeof index === \"number\") {\n return this.properties[index];\n }\n return undefined;\n }\n public findByNoCase(name: string): QueryPropertyMetaData | undefined {\n const index = this._byNoCase.get(name.toLowerCase());\n if (typeof index === \"number\") {\n return this.properties[index];\n }\n return undefined;\n }\n}\n/**\n * @beta\n*/\nexport type QueryValueType = any;\n\n/** @beta */\nexport interface QueryRowProxy {\n toRow(): any;\n toArray(): QueryValueType[];\n getMetaData(): QueryPropertyMetaData[];\n [propertyName: string]: QueryValueType;\n [propertyIndex: number]: QueryValueType;\n}\n\n/** @beta */\nexport interface QueryStats {\n backendCpuTime: number; // Time spent running the query. It exclude query time in queue. Time is in microseconds.\n backendTotalTime: number; // backend total time spent running the query. Time is in milliseconds.\n backendMemUsed: number; // Estimated m emory used for query. Time is in milliseconds.\n backendRowsReturned: number; // Total rows returned by backend.\n totalTime: number; // Round trip time from client perspective.Time is in milliseconds.\n retryCount: number;\n}\n\n/** @beta */\nexport class ECSqlReader {\n private static readonly _maxRetryCount = 10;\n private _localRows: any[] = [];\n private _localOffset: number = 0;\n private _globalOffset: number = -1;\n private _globalCount: number = -1;\n private _done: boolean = false;\n private _globalDone: boolean = false;\n private _props = new PropertyMetaDataMap([]);\n private _param = new QueryBinder().serialize();\n private _lockArgs: boolean = false;\n private _stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };\n private _rowProxy = new Proxy<ECSqlReader>(this, {\n get: (target: ECSqlReader, key: string | Symbol) => {\n if (typeof key === \"string\") {\n const idx = Number.parseInt(key, 10);\n if (!Number.isNaN(idx)) {\n return target.getRowInternal()[idx];\n }\n const prop = target._props.findByNoCase(key);\n if (prop) {\n return target.getRowInternal()[prop.index];\n }\n if (key === \"getMetaData\") {\n return () => target._props.properties;\n }\n if (key === \"toRow\") {\n return () => target.formatCurrentRow(true);\n }\n if (key === \"getArray\" || key === \"toJSON\") {\n return () => this.getRowInternal();\n }\n }\n return undefined;\n },\n has: (target: ECSqlReader, p: string | symbol) => {\n return !target._props.findByNoCase(p as string);\n },\n ownKeys: (target: ECSqlReader) => {\n const keys = [];\n for (const prop of target._props) {\n keys.push(prop.name);\n }\n return keys;\n },\n });\n private _options: QueryOptions = new QueryOptionsBuilder().getOptions();\n /** @internal */\n public constructor(private _executor: DbRequestExecutor<DbQueryRequest, DbQueryResponse>, public readonly query: string, param?: QueryBinder, options?: QueryOptions) {\n if (query.trim().length === 0) {\n throw new Error(\"expecting non-empty ecsql statement\");\n }\n if (param) {\n this._param = param.serialize();\n }\n this.reset(options);\n }\n private static replaceBase64WithUint8Array(row: any) {\n for (const key of Object.keys(row)) {\n const val = row[key];\n if (typeof val === \"string\") {\n if (Base64EncodedString.hasPrefix(val)) {\n row[key] = Base64EncodedString.toUint8Array(val);\n }\n } else if (typeof val === \"object\" && val !== null) {\n this.replaceBase64WithUint8Array(val);\n }\n }\n }\n public setParams(param: QueryBinder) {\n if (this._lockArgs) {\n throw new Error(\"call resetBindings() before setting or changing parameters\");\n }\n this._param = param.serialize();\n }\n public reset(options?: QueryOptions) {\n if (options) {\n this._options = options;\n }\n this._props = new PropertyMetaDataMap([]);\n this._localRows = [];\n this._globalDone = false;\n this._globalOffset = 0;\n this._globalCount = -1;\n if (typeof this._options.rowFormat === \"undefined\")\n this._options.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\n if (this._options.limit) {\n if (typeof this._options.limit.offset === \"number\" && this._options.limit.offset > 0)\n this._globalOffset = this._options.limit.offset;\n if (typeof this._options.limit.count === \"number\" && this._options.limit.count > 0)\n this._globalCount = this._options.limit.count;\n }\n this._done = false;\n }\n public get current(): QueryRowProxy { return (this._rowProxy as any); }\n // clear all bindings\n public resetBindings() {\n this._param = new QueryBinder().serialize();\n this._lockArgs = false;\n }\n // return if there is any more rows available\n public get done(): boolean { return this._done; }\n public getRowInternal(): any[] {\n if (this._localRows.length <= this._localOffset)\n throw new Error(\"no current row\");\n return this._localRows[this._localOffset] as any[];\n }\n // return performance related statistics for current query.\n public get stats(): QueryStats { return this._stats; }\n private async readRows(): Promise<any[]> {\n if (this._globalDone) {\n return [];\n }\n this._lockArgs = true;\n this._globalOffset += this._localRows.length;\n this._globalCount -= this._localRows.length;\n if (this._globalCount === 0) {\n return [];\n }\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames? DbValueFormat.JsNames :DbValueFormat.ECSqlNames;\n const request: DbQueryRequest = {\n ... this._options,\n kind: DbRequestKind.ECSql,\n valueFormat,\n query: this.query,\n args: this._param,\n };\n request.includeMetaData = this._props.length > 0 ? false : true;\n request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };\n const resp = await this.runWithRetry(request);\n this._globalDone = resp.status === DbResponseStatus.Done;\n if (this._props.length === 0 && resp.meta.length > 0) {\n this._props = new PropertyMetaDataMap(resp.meta);\n }\n for (const row of resp.data) {\n ECSqlReader.replaceBase64WithUint8Array(row);\n }\n return resp.data;\n }\n private async runWithRetry(request: DbQueryRequest) {\n const needRetry = (rs: DbQueryResponse) => (rs.status === DbResponseStatus.Partial || rs.status === DbResponseStatus.QueueFull || rs.status === DbResponseStatus.Timeout) && (rs.data.length === 0);\n const updateStats = (rs: DbQueryResponse) => {\n this._stats.backendCpuTime += rs.stats.cpuTime;\n this._stats.backendTotalTime += rs.stats.totalTime;\n this._stats.backendMemUsed += rs.stats.memUsed;\n this._stats.backendRowsReturned += rs.data.length;\n };\n const execQuery = async (req: DbQueryRequest) => {\n const startTime = Date.now();\n const rs = await this._executor.execute(req);\n this.stats.totalTime += (Date.now() - startTime);\n return rs;\n };\n let retry = ECSqlReader._maxRetryCount;\n let resp = await execQuery(request);\n DbQueryError.throwIfError(resp, request);\n while (--retry > 0 && needRetry(resp)) {\n resp = await execQuery(request);\n this._stats.retryCount += 1;\n if (needRetry(resp)) {\n updateStats(resp);\n }\n }\n if (retry === 0 && needRetry(resp)) {\n throw new Error(\"query too long to execute or server is too busy\");\n }\n updateStats(resp);\n return resp;\n }\n public formatCurrentRow(onlyReturnObject: boolean = false): any[] | object {\n if (!onlyReturnObject && this._options.rowFormat === QueryRowFormat.UseECSqlPropertyIndexes) {\n return this.getRowInternal();\n }\n const formattedRow = {};\n for (const prop of this._props) {\n const propName = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? prop.jsonName : prop.name;\n const val = this.getRowInternal()[prop.index];\n if (typeof val !== \"undefined\" && val !== null) {\n Object.defineProperty(formattedRow, propName, {\n value: val,\n enumerable: true,\n });\n }\n }\n return formattedRow;\n }\n public async getMetaData(): Promise<QueryPropertyMetaData[]> {\n if (this._props.length === 0) {\n await this.fetchRows();\n }\n return this._props.properties;\n }\n private async fetchRows() {\n this._localOffset = -1;\n this._localRows = await this.readRows();\n if (this._localRows.length === 0) {\n this._done = true;\n }\n }\n public async step(): Promise<boolean> {\n if (this._done) {\n return false;\n }\n const cachedRows = this._localRows.length;\n if (this._localOffset < cachedRows - 1) {\n ++this._localOffset;\n } else {\n await this.fetchRows();\n this._localOffset = 0;\n return !this._done;\n }\n return true;\n }\n public async toArray(): Promise<any[]> {\n const rows = [];\n while (await this.step()) {\n rows.push(this.formatCurrentRow());\n }\n return rows;\n }\n}\n\n"]}