@itwin/core-common 4.0.0-dev.6 → 4.0.0-dev.60
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.
- package/CHANGELOG.md +35 -17
- package/lib/cjs/AmbientOcclusion.d.ts +49 -49
- package/lib/cjs/AmbientOcclusion.js +55 -55
- package/lib/cjs/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/AnalysisStyle.d.ts +134 -134
- package/lib/cjs/AnalysisStyle.js +165 -165
- package/lib/cjs/AnalysisStyle.js.map +1 -1
- package/lib/cjs/AuthorizationClient.d.ts +17 -17
- package/lib/cjs/AuthorizationClient.js +9 -9
- package/lib/cjs/AuthorizationClient.js.map +1 -1
- package/lib/cjs/BackendTypes.d.ts +13 -12
- package/lib/cjs/BackendTypes.d.ts.map +1 -1
- package/lib/cjs/BackendTypes.js +9 -9
- package/lib/cjs/BackendTypes.js.map +1 -1
- package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
- package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
- package/lib/cjs/BackgroundMapProvider.js +67 -68
- package/lib/cjs/BackgroundMapProvider.js.map +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
- package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/cjs/BackgroundMapSettings.js +154 -156
- package/lib/cjs/BackgroundMapSettings.js.map +1 -1
- package/lib/cjs/Base64EncodedString.d.ts +32 -32
- package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
- package/lib/cjs/Base64EncodedString.js +66 -66
- package/lib/cjs/Base64EncodedString.js.map +1 -1
- package/lib/cjs/BlobReader.d.ts +31 -31
- package/lib/cjs/BlobReader.js +84 -84
- package/lib/cjs/BlobReader.js.map +1 -1
- package/lib/cjs/BriefcaseTypes.d.ts +191 -189
- package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
- package/lib/cjs/BriefcaseTypes.js +95 -95
- package/lib/cjs/BriefcaseTypes.js.map +1 -1
- package/lib/cjs/Camera.d.ts +42 -42
- package/lib/cjs/Camera.js +62 -62
- package/lib/cjs/Camera.js.map +1 -1
- package/lib/cjs/ChangedElements.d.ts +85 -85
- package/lib/cjs/ChangedElements.js +23 -23
- package/lib/cjs/ChangedElements.js.map +1 -1
- package/lib/cjs/ChangedEntities.d.ts +45 -45
- package/lib/cjs/ChangedEntities.d.ts.map +1 -1
- package/lib/cjs/ChangedEntities.js +9 -9
- package/lib/cjs/ChangedEntities.js.map +1 -1
- package/lib/cjs/ChangesetProps.d.ts +98 -98
- package/lib/cjs/ChangesetProps.d.ts.map +1 -1
- package/lib/cjs/ChangesetProps.js +22 -22
- package/lib/cjs/ChangesetProps.js.map +1 -1
- package/lib/cjs/ClipStyle.d.ts +89 -89
- package/lib/cjs/ClipStyle.js +121 -123
- package/lib/cjs/ClipStyle.js.map +1 -1
- package/lib/cjs/Code.d.ts +277 -277
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +268 -269
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ColorByName.d.ts +161 -161
- package/lib/cjs/ColorByName.js +169 -169
- package/lib/cjs/ColorByName.js.map +1 -1
- package/lib/cjs/ColorDef.d.ts +210 -208
- package/lib/cjs/ColorDef.d.ts.map +1 -1
- package/lib/cjs/ColorDef.js +572 -571
- package/lib/cjs/ColorDef.js.map +1 -1
- package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
- package/lib/cjs/CommonLoggerCategory.js +26 -26
- package/lib/cjs/CommonLoggerCategory.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.d.ts +421 -421
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +552 -552
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +303 -303
- package/lib/cjs/ContextRealityModel.js +371 -373
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
- package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleSettings.js +981 -985
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ECSchemaProps.d.ts +39 -39
- package/lib/cjs/ECSchemaProps.js +9 -9
- package/lib/cjs/ECSchemaProps.js.map +1 -1
- package/lib/cjs/ECSqlReader.d.ts +70 -70
- package/lib/cjs/ECSqlReader.d.ts.map +1 -1
- package/lib/cjs/ECSqlReader.js +280 -280
- package/lib/cjs/ECSqlReader.js.map +1 -1
- package/lib/cjs/ECSqlTypes.d.ts +128 -128
- package/lib/cjs/ECSqlTypes.js +189 -189
- package/lib/cjs/ECSqlTypes.js.map +1 -1
- package/lib/cjs/ElementMesh.d.ts +39 -39
- package/lib/cjs/ElementMesh.js +56 -56
- package/lib/cjs/ElementMesh.js.map +1 -1
- package/lib/cjs/ElementProps.d.ts +483 -483
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js +99 -99
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
- package/lib/cjs/EmphasizeElementsProps.js +25 -25
- package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
- package/lib/cjs/EntityProps.d.ts +177 -177
- package/lib/cjs/EntityProps.d.ts.map +1 -1
- package/lib/cjs/EntityProps.js +113 -113
- package/lib/cjs/EntityProps.js.map +1 -1
- package/lib/cjs/EntityReference.d.ts +51 -51
- package/lib/cjs/EntityReference.d.ts.map +1 -1
- package/lib/cjs/EntityReference.js +56 -56
- package/lib/cjs/EntityReference.js.map +1 -1
- package/lib/cjs/Environment.d.ts +61 -61
- package/lib/cjs/Environment.d.ts.map +1 -1
- package/lib/cjs/Environment.js +70 -73
- package/lib/cjs/Environment.js.map +1 -1
- package/lib/cjs/FeatureIndex.d.ts +39 -39
- package/lib/cjs/FeatureIndex.js +63 -63
- package/lib/cjs/FeatureIndex.js.map +1 -1
- package/lib/cjs/FeatureSymbology.d.ts +449 -444
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js +618 -614
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/FeatureTable.d.ts +248 -141
- package/lib/cjs/FeatureTable.d.ts.map +1 -1
- package/lib/cjs/FeatureTable.js +470 -278
- package/lib/cjs/FeatureTable.js.map +1 -1
- package/lib/cjs/Fonts.d.ts +51 -51
- package/lib/cjs/Fonts.d.ts.map +1 -1
- package/lib/cjs/Fonts.js +53 -53
- package/lib/cjs/Fonts.js.map +1 -1
- package/lib/cjs/Frustum.d.ts +114 -114
- package/lib/cjs/Frustum.js +292 -292
- package/lib/cjs/Frustum.js.map +1 -1
- package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
- package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
- package/lib/cjs/GeoCoordinateServices.js +81 -80
- package/lib/cjs/GeoCoordinateServices.js.map +1 -1
- package/lib/cjs/GeometryContainment.d.ts +28 -28
- package/lib/cjs/GeometryContainment.js +9 -9
- package/lib/cjs/GeometryContainment.js.map +1 -1
- package/lib/cjs/GeometryParams.d.ts +130 -130
- package/lib/cjs/GeometryParams.js +174 -174
- package/lib/cjs/GeometryParams.js.map +1 -1
- package/lib/cjs/GeometrySummary.d.ts +45 -45
- package/lib/cjs/GeometrySummary.js +23 -23
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/Gradient.d.ts +139 -139
- package/lib/cjs/Gradient.js +453 -455
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/GraphicParams.d.ts +58 -58
- package/lib/cjs/GraphicParams.js +85 -85
- package/lib/cjs/GraphicParams.js.map +1 -1
- package/lib/cjs/GroundPlane.d.ts +52 -52
- package/lib/cjs/GroundPlane.d.ts.map +1 -1
- package/lib/cjs/GroundPlane.js +63 -64
- package/lib/cjs/GroundPlane.js.map +1 -1
- package/lib/cjs/HSLColor.d.ts +20 -20
- package/lib/cjs/HSLColor.js +32 -32
- package/lib/cjs/HSLColor.js.map +1 -1
- package/lib/cjs/HSVColor.d.ts +30 -30
- package/lib/cjs/HSVColor.js +59 -59
- package/lib/cjs/HSVColor.js.map +1 -1
- package/lib/cjs/HiddenLine.d.ts +97 -97
- package/lib/cjs/HiddenLine.js +160 -162
- package/lib/cjs/HiddenLine.js.map +1 -1
- package/lib/cjs/Hilite.d.ts +50 -50
- package/lib/cjs/Hilite.js +64 -64
- package/lib/cjs/Hilite.js.map +1 -1
- package/lib/cjs/IModel.d.ts +358 -359
- package/lib/cjs/IModel.d.ts.map +1 -1
- package/lib/cjs/IModel.js +347 -347
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/IModelError.d.ts +42 -42
- package/lib/cjs/IModelError.d.ts.map +1 -1
- package/lib/cjs/IModelError.js +71 -71
- package/lib/cjs/IModelError.js.map +1 -1
- package/lib/cjs/IModelVersion.d.ts +68 -68
- package/lib/cjs/IModelVersion.d.ts.map +1 -1
- package/lib/cjs/IModelVersion.js +79 -79
- package/lib/cjs/IModelVersion.js.map +1 -1
- package/lib/cjs/Image.d.ts +86 -86
- package/lib/cjs/Image.js +128 -128
- package/lib/cjs/Image.js.map +1 -1
- package/lib/cjs/IpcAppProps.d.ts +141 -141
- package/lib/cjs/IpcAppProps.js +23 -23
- package/lib/cjs/IpcAppProps.js.map +1 -1
- package/lib/cjs/LightSettings.d.ts +224 -224
- package/lib/cjs/LightSettings.js +304 -309
- package/lib/cjs/LightSettings.js.map +1 -1
- package/lib/cjs/LinePixels.d.ts +34 -34
- package/lib/cjs/LinePixels.js +42 -42
- package/lib/cjs/LinePixels.js.map +1 -1
- package/lib/cjs/Localization.d.ts +113 -113
- package/lib/cjs/Localization.js +33 -33
- package/lib/cjs/Localization.js.map +1 -1
- package/lib/cjs/MapImagerySettings.d.ts +62 -62
- package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
- package/lib/cjs/MapImagerySettings.js +80 -80
- package/lib/cjs/MapImagerySettings.js.map +1 -1
- package/lib/cjs/MapLayerSettings.d.ts +272 -272
- package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
- package/lib/cjs/MapLayerSettings.js +407 -411
- package/lib/cjs/MapLayerSettings.js.map +1 -1
- package/lib/cjs/MassProperties.d.ts +64 -64
- package/lib/cjs/MassProperties.js +23 -23
- package/lib/cjs/MassProperties.js.map +1 -1
- package/lib/cjs/MaterialProps.d.ts +153 -153
- package/lib/cjs/MaterialProps.d.ts.map +1 -1
- package/lib/cjs/MaterialProps.js +35 -35
- package/lib/cjs/MaterialProps.js.map +1 -1
- package/lib/cjs/ModelClipGroup.d.ts +67 -67
- package/lib/cjs/ModelClipGroup.js +96 -98
- package/lib/cjs/ModelClipGroup.js.map +1 -1
- package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
- package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
- package/lib/cjs/ModelGeometryChanges.js +83 -83
- package/lib/cjs/ModelGeometryChanges.js.map +1 -1
- package/lib/cjs/ModelProps.d.ts +67 -67
- package/lib/cjs/ModelProps.js +9 -9
- package/lib/cjs/ModelProps.js.map +1 -1
- package/lib/cjs/NativeAppProps.d.ts +122 -122
- package/lib/cjs/NativeAppProps.d.ts.map +1 -1
- package/lib/cjs/NativeAppProps.js +30 -30
- package/lib/cjs/NativeAppProps.js.map +1 -1
- package/lib/cjs/OctEncodedNormal.d.ts +33 -33
- package/lib/cjs/OctEncodedNormal.js +98 -98
- package/lib/cjs/OctEncodedNormal.js.map +1 -1
- package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
- package/lib/cjs/PlanProjectionSettings.js +63 -63
- package/lib/cjs/PlanProjectionSettings.js.map +1 -1
- package/lib/cjs/PlanarClipMask.d.ts +177 -177
- package/lib/cjs/PlanarClipMask.js +136 -136
- package/lib/cjs/PlanarClipMask.js.map +1 -1
- package/lib/cjs/QPoint.d.ts +479 -479
- package/lib/cjs/QPoint.js +824 -826
- package/lib/cjs/QPoint.js.map +1 -1
- package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
- package/lib/cjs/RealityDataAccessProps.js +19 -19
- package/lib/cjs/RealityDataAccessProps.js.map +1 -1
- package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
- package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
- package/lib/cjs/RealityModelDisplaySettings.js +141 -142
- package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
- package/lib/cjs/Render.d.ts +89 -89
- package/lib/cjs/Render.js +177 -177
- package/lib/cjs/Render.js.map +1 -1
- package/lib/cjs/RenderMaterial.d.ts +58 -58
- package/lib/cjs/RenderMaterial.js +75 -76
- package/lib/cjs/RenderMaterial.js.map +1 -1
- package/lib/cjs/RenderSchedule.d.ts +543 -543
- package/lib/cjs/RenderSchedule.js +992 -1002
- package/lib/cjs/RenderSchedule.js.map +1 -1
- package/lib/cjs/RenderTexture.d.ts +70 -70
- package/lib/cjs/RenderTexture.d.ts.map +1 -1
- package/lib/cjs/RenderTexture.js +59 -59
- package/lib/cjs/RenderTexture.js.map +1 -1
- package/lib/cjs/RgbColor.d.ts +47 -47
- package/lib/cjs/RgbColor.js +77 -77
- package/lib/cjs/RgbColor.js.map +1 -1
- package/lib/cjs/RpcInterface.d.ts +40 -33
- package/lib/cjs/RpcInterface.d.ts.map +1 -1
- package/lib/cjs/RpcInterface.js +137 -137
- package/lib/cjs/RpcInterface.js.map +1 -1
- package/lib/cjs/RpcManager.d.ts +40 -40
- package/lib/cjs/RpcManager.js +55 -55
- package/lib/cjs/RpcManager.js.map +1 -1
- package/lib/cjs/SessionProps.d.ts +16 -16
- package/lib/cjs/SessionProps.js +9 -9
- package/lib/cjs/SessionProps.js.map +1 -1
- package/lib/cjs/SkyBox.d.ts +215 -215
- package/lib/cjs/SkyBox.d.ts.map +1 -1
- package/lib/cjs/SkyBox.js +209 -210
- package/lib/cjs/SkyBox.js.map +1 -1
- package/lib/cjs/Snapping.d.ts +49 -49
- package/lib/cjs/Snapping.js +9 -9
- package/lib/cjs/Snapping.js.map +1 -1
- package/lib/cjs/SolarCalculate.d.ts +27 -27
- package/lib/cjs/SolarCalculate.js +211 -211
- package/lib/cjs/SolarCalculate.js.map +1 -1
- package/lib/cjs/SolarShadows.d.ts +35 -35
- package/lib/cjs/SolarShadows.js +61 -62
- package/lib/cjs/SolarShadows.js.map +1 -1
- package/lib/cjs/SpatialClassification.d.ts +208 -208
- package/lib/cjs/SpatialClassification.js +339 -340
- package/lib/cjs/SpatialClassification.js.map +1 -1
- package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
- package/lib/cjs/SubCategoryAppearance.js +96 -96
- package/lib/cjs/SubCategoryAppearance.js.map +1 -1
- package/lib/cjs/SubCategoryOverride.d.ts +46 -46
- package/lib/cjs/SubCategoryOverride.js +104 -104
- package/lib/cjs/SubCategoryOverride.js.map +1 -1
- package/lib/cjs/TerrainSettings.d.ts +82 -82
- package/lib/cjs/TerrainSettings.d.ts.map +1 -1
- package/lib/cjs/TerrainSettings.js +100 -102
- package/lib/cjs/TerrainSettings.js.map +1 -1
- package/lib/cjs/TextureMapping.d.ts +151 -118
- package/lib/cjs/TextureMapping.d.ts.map +1 -1
- package/lib/cjs/TextureMapping.js +180 -174
- package/lib/cjs/TextureMapping.js.map +1 -1
- package/lib/cjs/TextureProps.d.ts +65 -65
- package/lib/cjs/TextureProps.js +28 -28
- package/lib/cjs/TextureProps.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +230 -230
- package/lib/cjs/ThematicDisplay.js +343 -344
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/Thumbnail.d.ts +26 -26
- package/lib/cjs/Thumbnail.js +9 -9
- package/lib/cjs/Thumbnail.js.map +1 -1
- package/lib/cjs/TileProps.d.ts +88 -82
- package/lib/cjs/TileProps.d.ts.map +1 -1
- package/lib/cjs/TileProps.js +29 -29
- package/lib/cjs/TileProps.js.map +1 -1
- package/lib/cjs/Tween.d.ts +191 -191
- package/lib/cjs/Tween.d.ts.map +1 -1
- package/lib/cjs/Tween.js +570 -570
- package/lib/cjs/Tween.js.map +1 -1
- package/lib/cjs/TxnAction.d.ts +21 -21
- package/lib/cjs/TxnAction.js +29 -29
- package/lib/cjs/TxnAction.js.map +1 -1
- package/lib/cjs/ViewDetails.d.ts +125 -125
- package/lib/cjs/ViewDetails.js +166 -166
- package/lib/cjs/ViewDetails.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts +287 -287
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js +367 -368
- package/lib/cjs/ViewFlags.js.map +1 -1
- package/lib/cjs/ViewProps.d.ts +205 -205
- package/lib/cjs/ViewProps.js +9 -9
- package/lib/cjs/ViewProps.js.map +1 -1
- package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
- package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
- package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
- package/lib/cjs/core-common.d.ts +243 -244
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +263 -260
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
- package/lib/cjs/domains/FunctionalElementProps.js +9 -9
- package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
- package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
- package/lib/cjs/domains/GenericElementProps.js +9 -9
- package/lib/cjs/domains/GenericElementProps.js.map +1 -1
- package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
- package/lib/cjs/geometry/AdditionalTransform.js +85 -85
- package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
- package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
- package/lib/cjs/geometry/AreaPattern.js +203 -204
- package/lib/cjs/geometry/AreaPattern.js.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
- package/lib/cjs/geometry/BoundingSphere.js +44 -44
- package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
- package/lib/cjs/geometry/Cartographic.d.ts +137 -137
- package/lib/cjs/geometry/Cartographic.js +345 -345
- package/lib/cjs/geometry/Cartographic.js.map +1 -1
- package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
- package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
- package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
- package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
- package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
- package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
- package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
- package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
- package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
- package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
- package/lib/cjs/geometry/FrustumPlanes.js +189 -193
- package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
- package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
- package/lib/cjs/geometry/GeodeticDatum.js +400 -401
- package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
- package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
- package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -72
- package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
- package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
- package/lib/cjs/geometry/GeometryStream.js +468 -469
- package/lib/cjs/geometry/GeometryStream.js.map +1 -1
- package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
- package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
- package/lib/cjs/geometry/ImageGraphic.js +98 -98
- package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
- package/lib/cjs/geometry/LineStyle.d.ts +71 -71
- package/lib/cjs/geometry/LineStyle.js +129 -129
- package/lib/cjs/geometry/LineStyle.js.map +1 -1
- package/lib/cjs/geometry/Placement.d.ts +95 -95
- package/lib/cjs/geometry/Placement.d.ts.map +1 -1
- package/lib/cjs/geometry/Placement.js +131 -131
- package/lib/cjs/geometry/Placement.js.map +1 -1
- package/lib/cjs/geometry/Projection.d.ts +251 -251
- package/lib/cjs/geometry/Projection.d.ts.map +1 -1
- package/lib/cjs/geometry/Projection.js +198 -198
- package/lib/cjs/geometry/Projection.js.map +1 -1
- package/lib/cjs/geometry/TextString.d.ts +55 -55
- package/lib/cjs/geometry/TextString.js +65 -65
- package/lib/cjs/geometry/TextString.js.map +1 -1
- package/lib/cjs/ipc/IpcSession.d.ts +23 -23
- package/lib/cjs/ipc/IpcSession.js +27 -27
- package/lib/cjs/ipc/IpcSession.js.map +1 -1
- package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
- package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcSocket.js +16 -16
- package/lib/cjs/ipc/IpcSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
- package/lib/cjs/ipc/IpcWebSocket.js +150 -151
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
- package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
- package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
- package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
- package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
- package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
- package/lib/cjs/rpc/TestRpcManager.js +40 -40
- package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
- package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
- package/lib/cjs/rpc/WipRpcInterface.js +40 -40
- package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
- package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
- package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
- package/lib/cjs/rpc/core/RpcConstants.js +109 -109
- package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
- package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
- package/lib/cjs/rpc/core/RpcControl.js +150 -145
- package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
- package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.js +256 -258
- package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
- package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
- package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
- package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
- package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcOperation.js +135 -134
- package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
- package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
- package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
- package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
- package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
- package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
- package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcPush.js +127 -127
- package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
- package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
- package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
- package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.js +478 -478
- package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
- package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
- package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
- package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
- package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
- package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
- package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
- package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
- package/lib/cjs/rpc/web/OpenAPI.js +60 -60
- package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
- package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
- package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
- package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
- package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
- package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
- package/lib/cjs/tile/B3dmTileIO.js +66 -66
- package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
- package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
- package/lib/cjs/tile/CompositeTileIO.js +26 -26
- package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
- package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
- package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/cjs/tile/ElementGraphics.js +9 -9
- package/lib/cjs/tile/ElementGraphics.js.map +1 -1
- package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
- package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
- package/lib/cjs/tile/GltfTileIO.js +109 -109
- package/lib/cjs/tile/GltfTileIO.js.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
- package/lib/cjs/tile/I3dmTileIO.js +40 -40
- package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
- package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
- package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTileIO.js +97 -95
- package/lib/cjs/tile/IModelTileIO.js.map +1 -1
- package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
- package/lib/cjs/tile/PntsTileIO.js +26 -26
- package/lib/cjs/tile/PntsTileIO.js.map +1 -1
- package/lib/cjs/tile/TileIO.d.ts +66 -66
- package/lib/cjs/tile/TileIO.js +118 -118
- package/lib/cjs/tile/TileIO.js.map +1 -1
- package/lib/cjs/tile/TileMetadata.d.ts +228 -228
- package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
- package/lib/cjs/tile/TileMetadata.js +675 -676
- package/lib/cjs/tile/TileMetadata.js.map +1 -1
- package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
- package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
- package/lib/cjs/tile/Tileset3dSchema.js +10 -0
- package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
- package/lib/esm/AmbientOcclusion.d.ts +49 -49
- package/lib/esm/AmbientOcclusion.js +52 -52
- package/lib/esm/AmbientOcclusion.js.map +1 -1
- package/lib/esm/AnalysisStyle.d.ts +134 -134
- package/lib/esm/AnalysisStyle.js +160 -159
- package/lib/esm/AnalysisStyle.js.map +1 -1
- package/lib/esm/AuthorizationClient.d.ts +17 -17
- package/lib/esm/AuthorizationClient.js +8 -8
- package/lib/esm/AuthorizationClient.js.map +1 -1
- package/lib/esm/BackendTypes.d.ts +13 -12
- package/lib/esm/BackendTypes.d.ts.map +1 -1
- package/lib/esm/BackendTypes.js +8 -8
- package/lib/esm/BackendTypes.js.map +1 -1
- package/lib/esm/BackgroundMapProvider.d.ts +51 -51
- package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
- package/lib/esm/BackgroundMapProvider.js +63 -64
- package/lib/esm/BackgroundMapProvider.js.map +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts +136 -136
- package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/esm/BackgroundMapSettings.js +150 -152
- package/lib/esm/BackgroundMapSettings.js.map +1 -1
- package/lib/esm/Base64EncodedString.d.ts +32 -32
- package/lib/esm/Base64EncodedString.d.ts.map +1 -1
- package/lib/esm/Base64EncodedString.js +63 -63
- package/lib/esm/Base64EncodedString.js.map +1 -1
- package/lib/esm/BlobReader.d.ts +31 -31
- package/lib/esm/BlobReader.js +79 -79
- package/lib/esm/BlobReader.js.map +1 -1
- package/lib/esm/BriefcaseTypes.d.ts +191 -189
- package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
- package/lib/esm/BriefcaseTypes.js +92 -92
- package/lib/esm/BriefcaseTypes.js.map +1 -1
- package/lib/esm/Camera.d.ts +42 -42
- package/lib/esm/Camera.js +58 -58
- package/lib/esm/Camera.js.map +1 -1
- package/lib/esm/ChangedElements.d.ts +85 -85
- package/lib/esm/ChangedElements.js +20 -20
- package/lib/esm/ChangedElements.js.map +1 -1
- package/lib/esm/ChangedEntities.d.ts +45 -45
- package/lib/esm/ChangedEntities.d.ts.map +1 -1
- package/lib/esm/ChangedEntities.js +8 -8
- package/lib/esm/ChangedEntities.js.map +1 -1
- package/lib/esm/ChangesetProps.d.ts +98 -98
- package/lib/esm/ChangesetProps.d.ts.map +1 -1
- package/lib/esm/ChangesetProps.js +19 -19
- package/lib/esm/ChangesetProps.js.map +1 -1
- package/lib/esm/ClipStyle.d.ts +89 -89
- package/lib/esm/ClipStyle.js +118 -118
- package/lib/esm/ClipStyle.js.map +1 -1
- package/lib/esm/Code.d.ts +277 -277
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +263 -264
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ColorByName.d.ts +161 -161
- package/lib/esm/ColorByName.js +166 -166
- package/lib/esm/ColorByName.js.map +1 -1
- package/lib/esm/ColorDef.d.ts +210 -208
- package/lib/esm/ColorDef.d.ts.map +1 -1
- package/lib/esm/ColorDef.js +569 -567
- package/lib/esm/ColorDef.js.map +1 -1
- package/lib/esm/CommonLoggerCategory.d.ts +18 -18
- package/lib/esm/CommonLoggerCategory.js +23 -23
- package/lib/esm/CommonLoggerCategory.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts +421 -421
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +545 -545
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +303 -303
- package/lib/esm/ContextRealityModel.js +366 -368
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +588 -588
- package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/esm/DisplayStyleSettings.js +976 -980
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ECSchemaProps.d.ts +39 -39
- package/lib/esm/ECSchemaProps.js +8 -8
- package/lib/esm/ECSchemaProps.js.map +1 -1
- package/lib/esm/ECSqlReader.d.ts +70 -70
- package/lib/esm/ECSqlReader.d.ts.map +1 -1
- package/lib/esm/ECSqlReader.js +276 -275
- package/lib/esm/ECSqlReader.js.map +1 -1
- package/lib/esm/ECSqlTypes.d.ts +128 -128
- package/lib/esm/ECSqlTypes.js +185 -185
- package/lib/esm/ECSqlTypes.js.map +1 -1
- package/lib/esm/ElementMesh.d.ts +39 -39
- package/lib/esm/ElementMesh.js +52 -52
- package/lib/esm/ElementMesh.js.map +1 -1
- package/lib/esm/ElementProps.d.ts +483 -483
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js +93 -92
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
- package/lib/esm/EmphasizeElementsProps.js +22 -22
- package/lib/esm/EmphasizeElementsProps.js.map +1 -1
- package/lib/esm/EntityProps.d.ts +177 -177
- package/lib/esm/EntityProps.d.ts.map +1 -1
- package/lib/esm/EntityProps.js +108 -108
- package/lib/esm/EntityProps.js.map +1 -1
- package/lib/esm/EntityReference.d.ts +51 -51
- package/lib/esm/EntityReference.d.ts.map +1 -1
- package/lib/esm/EntityReference.js +52 -52
- package/lib/esm/EntityReference.js.map +1 -1
- package/lib/esm/Environment.d.ts +61 -61
- package/lib/esm/Environment.d.ts.map +1 -1
- package/lib/esm/Environment.js +67 -69
- package/lib/esm/Environment.js.map +1 -1
- package/lib/esm/FeatureIndex.d.ts +39 -39
- package/lib/esm/FeatureIndex.js +57 -57
- package/lib/esm/FeatureIndex.js.map +1 -1
- package/lib/esm/FeatureSymbology.d.ts +449 -444
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js +615 -609
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/FeatureTable.d.ts +248 -141
- package/lib/esm/FeatureTable.d.ts.map +1 -1
- package/lib/esm/FeatureTable.js +462 -272
- package/lib/esm/FeatureTable.js.map +1 -1
- package/lib/esm/Fonts.d.ts +51 -51
- package/lib/esm/Fonts.d.ts.map +1 -1
- package/lib/esm/Fonts.js +49 -49
- package/lib/esm/Fonts.js.map +1 -1
- package/lib/esm/Frustum.d.ts +114 -114
- package/lib/esm/Frustum.js +288 -288
- package/lib/esm/Frustum.js.map +1 -1
- package/lib/esm/GeoCoordinateServices.d.ts +123 -119
- package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
- package/lib/esm/GeoCoordinateServices.js +77 -76
- package/lib/esm/GeoCoordinateServices.js.map +1 -1
- package/lib/esm/GeometryContainment.d.ts +28 -28
- package/lib/esm/GeometryContainment.js +8 -8
- package/lib/esm/GeometryContainment.js.map +1 -1
- package/lib/esm/GeometryParams.d.ts +130 -130
- package/lib/esm/GeometryParams.js +170 -170
- package/lib/esm/GeometryParams.js.map +1 -1
- package/lib/esm/GeometrySummary.d.ts +45 -45
- package/lib/esm/GeometrySummary.js +20 -20
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/Gradient.d.ts +139 -139
- package/lib/esm/Gradient.js +450 -452
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/GraphicParams.d.ts +58 -58
- package/lib/esm/GraphicParams.js +81 -81
- package/lib/esm/GraphicParams.js.map +1 -1
- package/lib/esm/GroundPlane.d.ts +52 -52
- package/lib/esm/GroundPlane.d.ts.map +1 -1
- package/lib/esm/GroundPlane.js +60 -60
- package/lib/esm/GroundPlane.js.map +1 -1
- package/lib/esm/HSLColor.d.ts +20 -20
- package/lib/esm/HSLColor.js +28 -28
- package/lib/esm/HSLColor.js.map +1 -1
- package/lib/esm/HSVColor.d.ts +30 -30
- package/lib/esm/HSVColor.js +55 -55
- package/lib/esm/HSVColor.js.map +1 -1
- package/lib/esm/HiddenLine.d.ts +97 -97
- package/lib/esm/HiddenLine.js +157 -159
- package/lib/esm/HiddenLine.js.map +1 -1
- package/lib/esm/Hilite.d.ts +50 -50
- package/lib/esm/Hilite.js +61 -61
- package/lib/esm/Hilite.js.map +1 -1
- package/lib/esm/IModel.d.ts +358 -359
- package/lib/esm/IModel.d.ts.map +1 -1
- package/lib/esm/IModel.js +343 -342
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/IModelError.d.ts +42 -42
- package/lib/esm/IModelError.d.ts.map +1 -1
- package/lib/esm/IModelError.js +56 -56
- package/lib/esm/IModelError.js.map +1 -1
- package/lib/esm/IModelVersion.d.ts +68 -68
- package/lib/esm/IModelVersion.d.ts.map +1 -1
- package/lib/esm/IModelVersion.js +75 -75
- package/lib/esm/IModelVersion.js.map +1 -1
- package/lib/esm/Image.d.ts +86 -86
- package/lib/esm/Image.js +120 -120
- package/lib/esm/Image.js.map +1 -1
- package/lib/esm/IpcAppProps.d.ts +141 -141
- package/lib/esm/IpcAppProps.js +19 -19
- package/lib/esm/IpcAppProps.js.map +1 -1
- package/lib/esm/LightSettings.d.ts +224 -224
- package/lib/esm/LightSettings.js +297 -301
- package/lib/esm/LightSettings.js.map +1 -1
- package/lib/esm/LinePixels.d.ts +34 -34
- package/lib/esm/LinePixels.js +39 -39
- package/lib/esm/LinePixels.js.map +1 -1
- package/lib/esm/Localization.d.ts +113 -113
- package/lib/esm/Localization.js +29 -29
- package/lib/esm/Localization.js.map +1 -1
- package/lib/esm/MapImagerySettings.d.ts +62 -62
- package/lib/esm/MapImagerySettings.d.ts.map +1 -1
- package/lib/esm/MapImagerySettings.js +76 -76
- package/lib/esm/MapImagerySettings.js.map +1 -1
- package/lib/esm/MapLayerSettings.d.ts +272 -272
- package/lib/esm/MapLayerSettings.d.ts.map +1 -1
- package/lib/esm/MapLayerSettings.js +399 -403
- package/lib/esm/MapLayerSettings.js.map +1 -1
- package/lib/esm/MassProperties.d.ts +64 -64
- package/lib/esm/MassProperties.js +20 -20
- package/lib/esm/MassProperties.js.map +1 -1
- package/lib/esm/MaterialProps.d.ts +153 -153
- package/lib/esm/MaterialProps.d.ts.map +1 -1
- package/lib/esm/MaterialProps.js +32 -32
- package/lib/esm/MaterialProps.js.map +1 -1
- package/lib/esm/ModelClipGroup.d.ts +67 -67
- package/lib/esm/ModelClipGroup.js +91 -93
- package/lib/esm/ModelClipGroup.js.map +1 -1
- package/lib/esm/ModelGeometryChanges.d.ts +107 -107
- package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
- package/lib/esm/ModelGeometryChanges.js +80 -80
- package/lib/esm/ModelGeometryChanges.js.map +1 -1
- package/lib/esm/ModelProps.d.ts +67 -67
- package/lib/esm/ModelProps.js +8 -8
- package/lib/esm/ModelProps.js.map +1 -1
- package/lib/esm/NativeAppProps.d.ts +122 -122
- package/lib/esm/NativeAppProps.d.ts.map +1 -1
- package/lib/esm/NativeAppProps.js +27 -27
- package/lib/esm/NativeAppProps.js.map +1 -1
- package/lib/esm/OctEncodedNormal.d.ts +33 -33
- package/lib/esm/OctEncodedNormal.js +93 -93
- package/lib/esm/OctEncodedNormal.js.map +1 -1
- package/lib/esm/PlanProjectionSettings.d.ts +47 -47
- package/lib/esm/PlanProjectionSettings.js +59 -59
- package/lib/esm/PlanProjectionSettings.js.map +1 -1
- package/lib/esm/PlanarClipMask.d.ts +177 -177
- package/lib/esm/PlanarClipMask.js +133 -132
- package/lib/esm/PlanarClipMask.js.map +1 -1
- package/lib/esm/QPoint.d.ts +479 -479
- package/lib/esm/QPoint.js +813 -815
- package/lib/esm/QPoint.js.map +1 -1
- package/lib/esm/RealityDataAccessProps.d.ts +41 -41
- package/lib/esm/RealityDataAccessProps.js +16 -16
- package/lib/esm/RealityDataAccessProps.js.map +1 -1
- package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
- package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
- package/lib/esm/RealityModelDisplaySettings.js +138 -137
- package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
- package/lib/esm/Render.d.ts +89 -89
- package/lib/esm/Render.js +165 -165
- package/lib/esm/Render.js.map +1 -1
- package/lib/esm/RenderMaterial.d.ts +58 -58
- package/lib/esm/RenderMaterial.js +71 -72
- package/lib/esm/RenderMaterial.js.map +1 -1
- package/lib/esm/RenderSchedule.d.ts +543 -543
- package/lib/esm/RenderSchedule.js +989 -999
- package/lib/esm/RenderSchedule.js.map +1 -1
- package/lib/esm/RenderTexture.d.ts +70 -70
- package/lib/esm/RenderTexture.d.ts.map +1 -1
- package/lib/esm/RenderTexture.js +55 -55
- package/lib/esm/RenderTexture.js.map +1 -1
- package/lib/esm/RgbColor.d.ts +47 -47
- package/lib/esm/RgbColor.js +73 -73
- package/lib/esm/RgbColor.js.map +1 -1
- package/lib/esm/RpcInterface.d.ts +40 -33
- package/lib/esm/RpcInterface.d.ts.map +1 -1
- package/lib/esm/RpcInterface.js +133 -133
- package/lib/esm/RpcInterface.js.map +1 -1
- package/lib/esm/RpcManager.d.ts +40 -40
- package/lib/esm/RpcManager.js +51 -51
- package/lib/esm/RpcManager.js.map +1 -1
- package/lib/esm/SessionProps.d.ts +16 -16
- package/lib/esm/SessionProps.js +8 -8
- package/lib/esm/SessionProps.js.map +1 -1
- package/lib/esm/SkyBox.d.ts +215 -215
- package/lib/esm/SkyBox.d.ts.map +1 -1
- package/lib/esm/SkyBox.js +204 -203
- package/lib/esm/SkyBox.js.map +1 -1
- package/lib/esm/Snapping.d.ts +49 -49
- package/lib/esm/Snapping.js +8 -8
- package/lib/esm/Snapping.js.map +1 -1
- package/lib/esm/SolarCalculate.d.ts +27 -27
- package/lib/esm/SolarCalculate.js +204 -204
- package/lib/esm/SolarCalculate.js.map +1 -1
- package/lib/esm/SolarShadows.d.ts +35 -35
- package/lib/esm/SolarShadows.js +58 -58
- package/lib/esm/SolarShadows.js.map +1 -1
- package/lib/esm/SpatialClassification.d.ts +208 -208
- package/lib/esm/SpatialClassification.js +333 -334
- package/lib/esm/SpatialClassification.js.map +1 -1
- package/lib/esm/SubCategoryAppearance.d.ts +91 -91
- package/lib/esm/SubCategoryAppearance.js +93 -92
- package/lib/esm/SubCategoryAppearance.js.map +1 -1
- package/lib/esm/SubCategoryOverride.d.ts +46 -46
- package/lib/esm/SubCategoryOverride.js +101 -100
- package/lib/esm/SubCategoryOverride.js.map +1 -1
- package/lib/esm/TerrainSettings.d.ts +82 -82
- package/lib/esm/TerrainSettings.d.ts.map +1 -1
- package/lib/esm/TerrainSettings.js +96 -98
- package/lib/esm/TerrainSettings.js.map +1 -1
- package/lib/esm/TextureMapping.d.ts +151 -118
- package/lib/esm/TextureMapping.d.ts.map +1 -1
- package/lib/esm/TextureMapping.js +176 -170
- package/lib/esm/TextureMapping.js.map +1 -1
- package/lib/esm/TextureProps.d.ts +65 -65
- package/lib/esm/TextureProps.js +25 -25
- package/lib/esm/TextureProps.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +230 -230
- package/lib/esm/ThematicDisplay.js +337 -337
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/Thumbnail.d.ts +26 -26
- package/lib/esm/Thumbnail.js +8 -8
- package/lib/esm/Thumbnail.js.map +1 -1
- package/lib/esm/TileProps.d.ts +88 -82
- package/lib/esm/TileProps.d.ts.map +1 -1
- package/lib/esm/TileProps.js +25 -25
- package/lib/esm/TileProps.js.map +1 -1
- package/lib/esm/Tween.d.ts +191 -191
- package/lib/esm/Tween.d.ts.map +1 -1
- package/lib/esm/Tween.js +565 -565
- package/lib/esm/Tween.js.map +1 -1
- package/lib/esm/TxnAction.d.ts +21 -21
- package/lib/esm/TxnAction.js +26 -26
- package/lib/esm/TxnAction.js.map +1 -1
- package/lib/esm/ViewDetails.d.ts +125 -125
- package/lib/esm/ViewDetails.js +162 -161
- package/lib/esm/ViewDetails.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts +287 -287
- package/lib/esm/ViewFlags.d.ts.map +1 -1
- package/lib/esm/ViewFlags.js +364 -364
- package/lib/esm/ViewFlags.js.map +1 -1
- package/lib/esm/ViewProps.d.ts +205 -205
- package/lib/esm/ViewProps.js +8 -8
- package/lib/esm/ViewProps.js.map +1 -1
- package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
- package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
- package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
- package/lib/esm/core-common.d.ts +243 -244
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +247 -248
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
- package/lib/esm/domains/FunctionalElementProps.js +8 -8
- package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
- package/lib/esm/domains/GenericElementProps.d.ts +18 -18
- package/lib/esm/domains/GenericElementProps.js +8 -8
- package/lib/esm/domains/GenericElementProps.js.map +1 -1
- package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
- package/lib/esm/geometry/AdditionalTransform.js +80 -80
- package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
- package/lib/esm/geometry/AreaPattern.d.ts +82 -82
- package/lib/esm/geometry/AreaPattern.js +200 -201
- package/lib/esm/geometry/AreaPattern.js.map +1 -1
- package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
- package/lib/esm/geometry/BoundingSphere.js +40 -40
- package/lib/esm/geometry/BoundingSphere.js.map +1 -1
- package/lib/esm/geometry/Cartographic.d.ts +137 -137
- package/lib/esm/geometry/Cartographic.js +341 -340
- package/lib/esm/geometry/Cartographic.js.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
- package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
- package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
- package/lib/esm/geometry/ElementGeometry.js +1716 -1716
- package/lib/esm/geometry/ElementGeometry.js.map +1 -1
- package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
- package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
- package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
- package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
- package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
- package/lib/esm/geometry/FrustumPlanes.js +185 -189
- package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
- package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
- package/lib/esm/geometry/GeodeticDatum.js +389 -390
- package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
- package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
- package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
- package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/esm/geometry/GeometryStream.d.ts +347 -347
- package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
- package/lib/esm/geometry/GeometryStream.js +463 -464
- package/lib/esm/geometry/GeometryStream.js.map +1 -1
- package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
- package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
- package/lib/esm/geometry/ImageGraphic.js +93 -93
- package/lib/esm/geometry/ImageGraphic.js.map +1 -1
- package/lib/esm/geometry/LineStyle.d.ts +71 -71
- package/lib/esm/geometry/LineStyle.js +126 -126
- package/lib/esm/geometry/LineStyle.js.map +1 -1
- package/lib/esm/geometry/Placement.d.ts +95 -95
- package/lib/esm/geometry/Placement.d.ts.map +1 -1
- package/lib/esm/geometry/Placement.js +126 -126
- package/lib/esm/geometry/Placement.js.map +1 -1
- package/lib/esm/geometry/Projection.d.ts +251 -251
- package/lib/esm/geometry/Projection.d.ts.map +1 -1
- package/lib/esm/geometry/Projection.js +192 -192
- package/lib/esm/geometry/Projection.js.map +1 -1
- package/lib/esm/geometry/TextString.d.ts +55 -55
- package/lib/esm/geometry/TextString.js +61 -61
- package/lib/esm/geometry/TextString.js.map +1 -1
- package/lib/esm/ipc/IpcSession.d.ts +23 -23
- package/lib/esm/ipc/IpcSession.js +23 -23
- package/lib/esm/ipc/IpcSession.js.map +1 -1
- package/lib/esm/ipc/IpcSocket.d.ts +96 -96
- package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcSocket.js +12 -12
- package/lib/esm/ipc/IpcSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
- package/lib/esm/ipc/IpcWebSocket.js +145 -145
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
- package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
- package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/DevToolsRpcInterface.js +49 -44
- package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
- package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
- package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
- package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
- package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
- package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
- package/lib/esm/rpc/TestRpcManager.js +36 -36
- package/lib/esm/rpc/TestRpcManager.js.map +1 -1
- package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
- package/lib/esm/rpc/WipRpcInterface.js +37 -36
- package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
- package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
- package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
- package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
- package/lib/esm/rpc/core/RpcConstants.js +106 -106
- package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
- package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
- package/lib/esm/rpc/core/RpcControl.js +144 -138
- package/lib/esm/rpc/core/RpcControl.js.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
- package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.js +253 -254
- package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
- package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
- package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
- package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
- package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcOperation.js +130 -129
- package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
- package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
- package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
- package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
- package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
- package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcProtocol.js +124 -123
- package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
- package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcPush.js +121 -119
- package/lib/esm/rpc/core/RpcPush.js.map +1 -1
- package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
- package/lib/esm/rpc/core/RpcRegistry.js +194 -195
- package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
- package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.js +474 -473
- package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
- package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
- package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
- package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
- package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
- package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
- package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
- package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
- package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
- package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
- package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
- package/lib/esm/rpc/web/OpenAPI.js +56 -56
- package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
- package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
- package/lib/esm/rpc/web/RpcMultipart.js +47 -46
- package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
- package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
- package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
- package/lib/esm/tile/B3dmTileIO.js +62 -62
- package/lib/esm/tile/B3dmTileIO.js.map +1 -1
- package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
- package/lib/esm/tile/CompositeTileIO.js +22 -22
- package/lib/esm/tile/CompositeTileIO.js.map +1 -1
- package/lib/esm/tile/ElementGraphics.d.ts +145 -145
- package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/esm/tile/ElementGraphics.js +8 -8
- package/lib/esm/tile/ElementGraphics.js.map +1 -1
- package/lib/esm/tile/GltfTileIO.d.ts +45 -45
- package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
- package/lib/esm/tile/GltfTileIO.js +105 -105
- package/lib/esm/tile/GltfTileIO.js.map +1 -1
- package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
- package/lib/esm/tile/I3dmTileIO.js +36 -36
- package/lib/esm/tile/I3dmTileIO.js.map +1 -1
- package/lib/esm/tile/IModelTileIO.d.ts +77 -75
- package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
- package/lib/esm/tile/IModelTileIO.js +93 -90
- package/lib/esm/tile/IModelTileIO.js.map +1 -1
- package/lib/esm/tile/PntsTileIO.d.ts +17 -17
- package/lib/esm/tile/PntsTileIO.js +22 -22
- package/lib/esm/tile/PntsTileIO.js.map +1 -1
- package/lib/esm/tile/TileIO.d.ts +66 -66
- package/lib/esm/tile/TileIO.js +110 -110
- package/lib/esm/tile/TileIO.js.map +1 -1
- package/lib/esm/tile/TileMetadata.d.ts +228 -228
- package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
- package/lib/esm/tile/TileMetadata.js +660 -661
- package/lib/esm/tile/TileMetadata.js.map +1 -1
- package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
- package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
- package/lib/esm/tile/Tileset3dSchema.js +9 -0
- package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
- package/package.json +11 -11
- package/lib/cjs/CloudStorage.d.ts +0 -63
- package/lib/cjs/CloudStorage.d.ts.map +0 -1
- package/lib/cjs/CloudStorage.js +0 -114
- package/lib/cjs/CloudStorage.js.map +0 -1
- package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
- package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
- package/lib/cjs/CloudStorageTileCache.js +0 -67
- package/lib/cjs/CloudStorageTileCache.js.map +0 -1
- package/lib/esm/CloudStorage.d.ts +0 -63
- package/lib/esm/CloudStorage.d.ts.map +0 -1
- package/lib/esm/CloudStorage.js +0 -110
- package/lib/esm/CloudStorage.js.map +0 -1
- package/lib/esm/CloudStorageTileCache.d.ts +0 -28
- package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
- package/lib/esm/CloudStorageTileCache.js +0 -63
- package/lib/esm/CloudStorageTileCache.js.map +0 -1
package/lib/esm/ECSqlReader.js
CHANGED
|
@@ -1,276 +1,277 @@
|
|
|
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
|
-
|
|
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
|
+
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
|
+
export { ECSqlReader };
|
|
276
277
|
//# 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"]}
|