@itwin/core-common 3.4.0-dev.9 → 3.5.0-dev.4
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 +33 -1
- 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 +11 -11
- package/lib/cjs/AuthorizationClient.js +9 -9
- package/lib/cjs/AuthorizationClient.js.map +1 -1
- package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
- package/lib/cjs/BackgroundMapProvider.js +68 -68
- package/lib/cjs/BackgroundMapProvider.js.map +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
- package/lib/cjs/BackgroundMapSettings.js +156 -156
- package/lib/cjs/BackgroundMapSettings.js.map +1 -1
- package/lib/cjs/Base64EncodedString.d.ts +30 -30
- package/lib/cjs/Base64EncodedString.js +56 -56
- 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 +189 -189
- 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.d.ts.map +1 -1
- package/lib/cjs/Camera.js +62 -58
- package/lib/cjs/Camera.js.map +1 -1
- package/lib/cjs/ChangedElements.d.ts +83 -83
- package/lib/cjs/ChangedElements.js +21 -21
- package/lib/cjs/ChangedElements.js.map +1 -1
- package/lib/cjs/ChangedEntities.d.ts +45 -45
- 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.js +22 -22
- package/lib/cjs/ChangesetProps.js.map +1 -1
- package/lib/cjs/ClipStyle.d.ts +89 -89
- package/lib/cjs/ClipStyle.js +123 -123
- package/lib/cjs/ClipStyle.js.map +1 -1
- package/lib/cjs/CloudStorage.d.ts +62 -47
- package/lib/cjs/CloudStorage.d.ts.map +1 -1
- package/lib/cjs/CloudStorage.js +113 -103
- package/lib/cjs/CloudStorage.js.map +1 -1
- package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
- package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/cjs/CloudStorageTileCache.js +66 -62
- package/lib/cjs/CloudStorageTileCache.js.map +1 -1
- package/lib/cjs/Code.d.ts +256 -250
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +281 -277
- 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 +208 -208
- package/lib/cjs/ColorDef.d.ts.map +1 -1
- package/lib/cjs/ColorDef.js +571 -569
- 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 +241 -241
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +380 -338
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +255 -255
- package/lib/cjs/ContextRealityModel.js +325 -325
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +552 -552
- package/lib/cjs/DisplayStyleSettings.js +951 -951
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ECSchemaProps.d.ts +40 -0
- package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
- package/lib/cjs/ECSchemaProps.js +10 -0
- package/lib/cjs/ECSchemaProps.js.map +1 -0
- package/lib/cjs/ECSqlReader.d.ts +70 -70
- 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/ElementProps.d.ts +476 -470
- 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 +176 -176
- package/lib/cjs/EntityProps.js +112 -112
- package/lib/cjs/EntityProps.js.map +1 -1
- package/lib/cjs/Environment.d.ts +61 -61
- package/lib/cjs/Environment.js +73 -73
- package/lib/cjs/Environment.js.map +1 -1
- package/lib/cjs/FeatureGates.d.ts +31 -31
- package/lib/cjs/FeatureGates.d.ts.map +1 -1
- package/lib/cjs/FeatureGates.js +55 -51
- package/lib/cjs/FeatureGates.js.map +1 -1
- package/lib/cjs/FeatureIndex.d.ts +39 -39
- package/lib/cjs/FeatureIndex.d.ts.map +1 -1
- package/lib/cjs/FeatureIndex.js +63 -59
- package/lib/cjs/FeatureIndex.js.map +1 -1
- package/lib/cjs/FeatureSymbology.d.ts +444 -444
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js +614 -614
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/FeatureTable.d.ts +141 -141
- package/lib/cjs/FeatureTable.js +278 -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.d.ts.map +1 -1
- package/lib/cjs/Frustum.js +292 -258
- package/lib/cjs/Frustum.js.map +1 -1
- package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
- package/lib/cjs/GeoCoordinateServices.js +80 -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 -123
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +455 -444
- 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.js +64 -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 +162 -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 +355 -355
- package/lib/cjs/IModel.js +340 -340
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/IModelError.d.ts +36 -36
- package/lib/cjs/IModelError.js +72 -72
- package/lib/cjs/IModelError.js.map +1 -1
- package/lib/cjs/IModelVersion.d.ts +68 -68
- 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.d.ts.map +1 -1
- package/lib/cjs/Image.js +128 -126
- package/lib/cjs/Image.js.map +1 -1
- package/lib/cjs/IpcAppProps.d.ts +124 -124
- package/lib/cjs/IpcAppProps.js +18 -18
- package/lib/cjs/IpcAppProps.js.map +1 -1
- package/lib/cjs/LightSettings.d.ts +224 -224
- package/lib/cjs/LightSettings.js +309 -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 +111 -112
- package/lib/cjs/Localization.d.ts.map +1 -1
- package/lib/cjs/Localization.js +26 -26
- package/lib/cjs/Localization.js.map +1 -1
- package/lib/cjs/MapImagerySettings.d.ts +62 -62
- 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.js +411 -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 +118 -118
- package/lib/cjs/MaterialProps.js +23 -23
- package/lib/cjs/MaterialProps.js.map +1 -1
- package/lib/cjs/ModelClipGroup.d.ts +67 -67
- package/lib/cjs/ModelClipGroup.js +98 -98
- package/lib/cjs/ModelClipGroup.js.map +1 -1
- package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
- package/lib/cjs/ModelGeometryChanges.js +83 -83
- package/lib/cjs/ModelGeometryChanges.js.map +1 -1
- package/lib/cjs/ModelProps.d.ts +66 -66
- 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.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 -299
- package/lib/cjs/QPoint.d.ts.map +1 -1
- package/lib/cjs/QPoint.js +826 -626
- 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/Render.d.ts +89 -89
- package/lib/cjs/Render.d.ts.map +1 -1
- package/lib/cjs/Render.js +177 -169
- package/lib/cjs/Render.js.map +1 -1
- package/lib/cjs/RenderMaterial.d.ts +58 -58
- package/lib/cjs/RenderMaterial.js +76 -76
- package/lib/cjs/RenderMaterial.js.map +1 -1
- package/lib/cjs/RenderSchedule.d.ts +540 -540
- package/lib/cjs/RenderSchedule.js +1000 -1000
- package/lib/cjs/RenderTexture.d.ts +70 -70
- package/lib/cjs/RenderTexture.js +59 -59
- package/lib/cjs/RenderTexture.js.map +1 -1
- package/lib/cjs/RgbColor.d.ts +39 -39
- package/lib/cjs/RgbColor.js +67 -67
- package/lib/cjs/RgbColor.js.map +1 -1
- package/lib/cjs/RpcInterface.d.ts +33 -33
- 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.js +210 -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 +62 -62
- package/lib/cjs/SolarShadows.js.map +1 -1
- package/lib/cjs/SpatialClassification.d.ts +208 -208
- package/lib/cjs/SpatialClassification.js +340 -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.d.ts.map +1 -1
- package/lib/cjs/SubCategoryOverride.js +104 -104
- package/lib/cjs/SubCategoryOverride.js.map +1 -1
- package/lib/cjs/TerrainSettings.d.ts +82 -77
- package/lib/cjs/TerrainSettings.d.ts.map +1 -1
- package/lib/cjs/TerrainSettings.js +102 -101
- package/lib/cjs/TerrainSettings.js.map +1 -1
- package/lib/cjs/TextureMapping.d.ts +101 -101
- package/lib/cjs/TextureMapping.js +174 -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 -234
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js +344 -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 +82 -77
- package/lib/cjs/TileProps.d.ts.map +1 -1
- package/lib/cjs/TileProps.js +29 -18
- package/lib/cjs/TileProps.js.map +1 -1
- package/lib/cjs/Tween.d.ts +191 -191
- 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 +158 -158
- package/lib/cjs/ViewDetails.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts +291 -291
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js +368 -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 +240 -239
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +256 -255
- 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 +204 -204
- package/lib/cjs/geometry/AreaPattern.js.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
- package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.js +30 -24
- 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.js +261 -261
- package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
- 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 +32 -32
- package/lib/cjs/geometry/FrustumPlanes.js +132 -132
- package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
- package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/cjs/geometry/GeodeticDatum.js +401 -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 +72 -72
- package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
- package/lib/cjs/geometry/GeometryStream.js +469 -469
- package/lib/cjs/geometry/GeometryStream.js.map +1 -1
- package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
- 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.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.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.d.ts.map +1 -1
- 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.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 +151 -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 +158 -151
- package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
- package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
- package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
- package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.js +95 -86
- 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 +39 -39
- 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.js +192 -192
- package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -83
- package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.js +103 -100
- package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
- package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
- package/lib/cjs/rpc/core/RpcControl.js +149 -149
- 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.js +257 -257
- package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
- package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
- 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.js +133 -133
- 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 -94
- 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.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.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 -198
- 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 +477 -471
- 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.js +23 -23
- 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 +59 -59
- package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -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.d.ts.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -139
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
- 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 +31 -31
- package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
- package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
- 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 +86 -86
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -100
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
- 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 +134 -134
- 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.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.d.ts.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.js +40 -40
- package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
- package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
- package/lib/cjs/tile/IModelTileIO.js +95 -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.js +676 -676
- package/lib/cjs/tile/TileMetadata.js.map +1 -1
- 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 +159 -159
- package/lib/esm/AnalysisStyle.js.map +1 -1
- package/lib/esm/AuthorizationClient.d.ts +11 -11
- package/lib/esm/AuthorizationClient.js +8 -8
- package/lib/esm/AuthorizationClient.js.map +1 -1
- package/lib/esm/BackgroundMapProvider.d.ts +51 -51
- package/lib/esm/BackgroundMapProvider.js +64 -64
- package/lib/esm/BackgroundMapProvider.js.map +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts +136 -136
- package/lib/esm/BackgroundMapSettings.js +152 -152
- package/lib/esm/BackgroundMapSettings.js.map +1 -1
- package/lib/esm/Base64EncodedString.d.ts +30 -30
- package/lib/esm/Base64EncodedString.js +53 -53
- 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 +189 -189
- 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.d.ts.map +1 -1
- package/lib/esm/Camera.js +58 -54
- package/lib/esm/Camera.js.map +1 -1
- package/lib/esm/ChangedElements.d.ts +83 -83
- package/lib/esm/ChangedElements.js +18 -18
- package/lib/esm/ChangedElements.js.map +1 -1
- package/lib/esm/ChangedEntities.d.ts +45 -45
- 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.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/CloudStorage.d.ts +62 -47
- package/lib/esm/CloudStorage.d.ts.map +1 -1
- package/lib/esm/CloudStorage.js +109 -99
- package/lib/esm/CloudStorage.js.map +1 -1
- package/lib/esm/CloudStorageTileCache.d.ts +27 -24
- package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/esm/CloudStorageTileCache.js +62 -58
- package/lib/esm/CloudStorageTileCache.js.map +1 -1
- package/lib/esm/Code.d.ts +256 -250
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +276 -272
- 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 +208 -208
- package/lib/esm/ColorDef.d.ts.map +1 -1
- package/lib/esm/ColorDef.js +567 -565
- 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 +241 -241
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +373 -331
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +255 -255
- package/lib/esm/ContextRealityModel.js +320 -320
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +552 -552
- package/lib/esm/DisplayStyleSettings.js +946 -946
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ECSchemaProps.d.ts +40 -0
- package/lib/esm/ECSchemaProps.d.ts.map +1 -0
- package/lib/esm/ECSchemaProps.js +9 -0
- package/lib/esm/ECSchemaProps.js.map +1 -0
- package/lib/esm/ECSqlReader.d.ts +70 -70
- package/lib/esm/ECSqlReader.js +275 -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/ElementProps.d.ts +476 -470
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js +92 -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 +176 -176
- package/lib/esm/EntityProps.js +107 -107
- package/lib/esm/EntityProps.js.map +1 -1
- package/lib/esm/Environment.d.ts +61 -61
- package/lib/esm/Environment.js +69 -69
- package/lib/esm/Environment.js.map +1 -1
- package/lib/esm/FeatureGates.d.ts +31 -31
- package/lib/esm/FeatureGates.d.ts.map +1 -1
- package/lib/esm/FeatureGates.js +51 -47
- package/lib/esm/FeatureGates.js.map +1 -1
- package/lib/esm/FeatureIndex.d.ts +39 -39
- package/lib/esm/FeatureIndex.d.ts.map +1 -1
- package/lib/esm/FeatureIndex.js +57 -53
- package/lib/esm/FeatureIndex.js.map +1 -1
- package/lib/esm/FeatureSymbology.d.ts +444 -444
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js +609 -609
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/FeatureTable.d.ts +141 -141
- package/lib/esm/FeatureTable.js +272 -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.d.ts.map +1 -1
- package/lib/esm/Frustum.js +288 -254
- package/lib/esm/Frustum.js.map +1 -1
- package/lib/esm/GeoCoordinateServices.d.ts +119 -119
- package/lib/esm/GeoCoordinateServices.js +76 -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 -123
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +452 -441
- 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.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 +159 -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 +355 -355
- package/lib/esm/IModel.js +335 -335
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/IModelError.d.ts +36 -36
- package/lib/esm/IModelError.js +55 -55
- package/lib/esm/IModelError.js.map +1 -1
- package/lib/esm/IModelVersion.d.ts +68 -68
- 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.d.ts.map +1 -1
- package/lib/esm/Image.js +120 -118
- package/lib/esm/Image.js.map +1 -1
- package/lib/esm/IpcAppProps.d.ts +124 -124
- package/lib/esm/IpcAppProps.js +15 -15
- package/lib/esm/IpcAppProps.js.map +1 -1
- package/lib/esm/LightSettings.d.ts +224 -224
- package/lib/esm/LightSettings.js +301 -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 +111 -112
- package/lib/esm/Localization.d.ts.map +1 -1
- package/lib/esm/Localization.js +22 -22
- package/lib/esm/Localization.js.map +1 -1
- package/lib/esm/MapImagerySettings.d.ts +62 -62
- 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.js +403 -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 +118 -118
- package/lib/esm/MaterialProps.js +20 -20
- package/lib/esm/MaterialProps.js.map +1 -1
- package/lib/esm/ModelClipGroup.d.ts +67 -67
- package/lib/esm/ModelClipGroup.js +93 -93
- package/lib/esm/ModelClipGroup.js.map +1 -1
- package/lib/esm/ModelGeometryChanges.d.ts +107 -107
- package/lib/esm/ModelGeometryChanges.js +80 -80
- package/lib/esm/ModelGeometryChanges.js.map +1 -1
- package/lib/esm/ModelProps.d.ts +66 -66
- 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.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 +132 -132
- package/lib/esm/PlanarClipMask.js.map +1 -1
- package/lib/esm/QPoint.d.ts +479 -299
- package/lib/esm/QPoint.d.ts.map +1 -1
- package/lib/esm/QPoint.js +815 -617
- 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/Render.d.ts +89 -89
- package/lib/esm/Render.d.ts.map +1 -1
- package/lib/esm/Render.js +165 -157
- package/lib/esm/Render.js.map +1 -1
- package/lib/esm/RenderMaterial.d.ts +58 -58
- package/lib/esm/RenderMaterial.js +72 -72
- package/lib/esm/RenderMaterial.js.map +1 -1
- package/lib/esm/RenderSchedule.d.ts +540 -540
- package/lib/esm/RenderSchedule.js +997 -997
- package/lib/esm/RenderTexture.d.ts +70 -70
- package/lib/esm/RenderTexture.js +55 -55
- package/lib/esm/RenderTexture.js.map +1 -1
- package/lib/esm/RgbColor.d.ts +39 -39
- package/lib/esm/RgbColor.js +63 -63
- package/lib/esm/RgbColor.js.map +1 -1
- package/lib/esm/RpcInterface.d.ts +33 -33
- 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.js +203 -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 +334 -334
- package/lib/esm/SpatialClassification.js.map +1 -1
- package/lib/esm/SubCategoryAppearance.d.ts +91 -91
- package/lib/esm/SubCategoryAppearance.js +92 -92
- package/lib/esm/SubCategoryAppearance.js.map +1 -1
- package/lib/esm/SubCategoryOverride.d.ts +46 -46
- package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
- package/lib/esm/SubCategoryOverride.js +100 -100
- package/lib/esm/SubCategoryOverride.js.map +1 -1
- package/lib/esm/TerrainSettings.d.ts +82 -77
- package/lib/esm/TerrainSettings.d.ts.map +1 -1
- package/lib/esm/TerrainSettings.js +98 -97
- package/lib/esm/TerrainSettings.js.map +1 -1
- package/lib/esm/TextureMapping.d.ts +101 -101
- package/lib/esm/TextureMapping.js +170 -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 -234
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- 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 +82 -77
- package/lib/esm/TileProps.d.ts.map +1 -1
- package/lib/esm/TileProps.js +25 -15
- package/lib/esm/TileProps.js.map +1 -1
- package/lib/esm/Tween.d.ts +191 -191
- 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 +153 -153
- package/lib/esm/ViewDetails.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts +291 -291
- 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 +33 -33
- package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
- package/lib/esm/core-common.d.ts +240 -239
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +244 -243
- 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 +201 -201
- package/lib/esm/geometry/AreaPattern.js.map +1 -1
- package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
- package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/esm/geometry/BoundingSphere.js +26 -20
- package/lib/esm/geometry/BoundingSphere.js.map +1 -1
- package/lib/esm/geometry/Cartographic.d.ts +137 -137
- package/lib/esm/geometry/Cartographic.js +340 -340
- package/lib/esm/geometry/Cartographic.js.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
- package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
- package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
- 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 +32 -32
- package/lib/esm/geometry/FrustumPlanes.js +128 -128
- package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
- package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/esm/geometry/GeodeticDatum.js +390 -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 +68 -68
- package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/esm/geometry/GeometryStream.d.ts +347 -347
- package/lib/esm/geometry/GeometryStream.js +464 -464
- package/lib/esm/geometry/GeometryStream.js.map +1 -1
- package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
- 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.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.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.d.ts.map +1 -1
- 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.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 +154 -147
- package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
- package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
- package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
- package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js +91 -82
- package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
- package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -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 +35 -35
- package/lib/esm/rpc/TestRpcManager.js.map +1 -1
- package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
- package/lib/esm/rpc/WipRpcInterface.js +36 -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.js +185 -185
- package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.d.ts +85 -83
- package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.js +100 -97
- package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
- package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
- package/lib/esm/rpc/core/RpcControl.js +142 -142
- 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.js +253 -253
- package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
- package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
- 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.js +128 -128
- 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 -90
- 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.js +123 -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.js +119 -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 -194
- 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 +472 -466
- 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.js +19 -19
- 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 +55 -55
- package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
- package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -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.d.ts.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -135
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
- 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 +31 -31
- package/lib/esm/rpc/web/RpcMultipart.js +41 -41
- package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
- 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 +86 -86
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -96
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
- package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
- 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 +134 -134
- 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.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.d.ts.map +1 -1
- package/lib/esm/tile/I3dmTileIO.js +36 -36
- package/lib/esm/tile/I3dmTileIO.js.map +1 -1
- package/lib/esm/tile/IModelTileIO.d.ts +75 -75
- package/lib/esm/tile/IModelTileIO.js +90 -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.js +661 -661
- package/lib/esm/tile/TileMetadata.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,375 +1,375 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module RpcInterface
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.WebAppRpcRequest = void 0;
|
|
11
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
-
const buffer_1 = require("buffer");
|
|
13
|
-
const IModelError_1 = require("../../IModelError");
|
|
14
|
-
const RpcConstants_1 = require("../core/RpcConstants");
|
|
15
|
-
const RpcMarshaling_1 = require("../core/RpcMarshaling");
|
|
16
|
-
const RpcProtocol_1 = require("../core/RpcProtocol");
|
|
17
|
-
const RpcRequest_1 = require("../core/RpcRequest");
|
|
18
|
-
const RpcMultipartParser_1 = require("./multipart/RpcMultipartParser");
|
|
19
|
-
const RpcMultipart_1 = require("./RpcMultipart");
|
|
20
|
-
const WebAppRpcProtocol_1 = require("./WebAppRpcProtocol");
|
|
21
|
-
/** A web application RPC request.
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
class WebAppRpcRequest extends RpcRequest_1.RpcRequest {
|
|
25
|
-
/** Constructs a web application request. */
|
|
26
|
-
constructor(client, operation, parameters) {
|
|
27
|
-
super(client, operation, parameters);
|
|
28
|
-
this._loading = false;
|
|
29
|
-
this._request = {};
|
|
30
|
-
this._pathSuffix = "";
|
|
31
|
-
/** Convenience access to the protocol of this request. */
|
|
32
|
-
this.protocol = this.client.configuration.protocol;
|
|
33
|
-
/** Standardized access to metadata about the request (useful for purposes such as logging). */
|
|
34
|
-
this.metadata = { status: 0, message: "" };
|
|
35
|
-
this.path = this.protocol.supplyPathForOperation(this.operation, this);
|
|
36
|
-
this.method = "head";
|
|
37
|
-
this._request.headers = {};
|
|
38
|
-
}
|
|
39
|
-
get _headers() { return this._request.headers; }
|
|
40
|
-
/** Parse headers */
|
|
41
|
-
static parseHeaders(protocol, req) {
|
|
42
|
-
var _a;
|
|
43
|
-
const headerNames = protocol.serializedClientRequestContextHeaderNames;
|
|
44
|
-
const parsedHeaders = {
|
|
45
|
-
id: req.header(headerNames.id) || "",
|
|
46
|
-
applicationId: req.header(headerNames.applicationId) || "",
|
|
47
|
-
applicationVersion: req.header(headerNames.applicationVersion) || "",
|
|
48
|
-
sessionId: req.header(headerNames.sessionId) || "",
|
|
49
|
-
authorization: (_a = (headerNames.authorization ? req.header(headerNames.authorization) : "")) !== null && _a !== void 0 ? _a : "",
|
|
50
|
-
};
|
|
51
|
-
return parsedHeaders;
|
|
52
|
-
}
|
|
53
|
-
/** Parses a request. */
|
|
54
|
-
static async parseRequest(protocol, req) {
|
|
55
|
-
const operation = protocol.getOperationFromPath(req.url);
|
|
56
|
-
const parsedHeaders = this.parseHeaders(protocol, req);
|
|
57
|
-
const request = {
|
|
58
|
-
...parsedHeaders,
|
|
59
|
-
operation: {
|
|
60
|
-
interfaceDefinition: operation.interfaceDefinition,
|
|
61
|
-
operationName: operation.operationName,
|
|
62
|
-
interfaceVersion: operation.interfaceVersion,
|
|
63
|
-
},
|
|
64
|
-
method: req.method,
|
|
65
|
-
path: req.url,
|
|
66
|
-
parameters: operation.encodedRequest ? WebAppRpcRequest.parseFromPath(operation) : await WebAppRpcRequest.parseFromBody(req),
|
|
67
|
-
caching: operation.encodedRequest ? RpcConstants_1.RpcResponseCacheControl.Immutable : RpcConstants_1.RpcResponseCacheControl.None,
|
|
68
|
-
};
|
|
69
|
-
request.ip = req.ip;
|
|
70
|
-
request.protocolVersion = 0;
|
|
71
|
-
if (protocol.protocolVersionHeaderName) {
|
|
72
|
-
const version = req.header(protocol.protocolVersionHeaderName);
|
|
73
|
-
if (version) {
|
|
74
|
-
request.protocolVersion = parseInt(version, 10);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (!request.id) {
|
|
78
|
-
throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `Invalid request.`);
|
|
79
|
-
}
|
|
80
|
-
return request;
|
|
81
|
-
}
|
|
82
|
-
/** Sends the response for a web request. */
|
|
83
|
-
static async sendResponse(protocol, request, fulfillment, req, res) {
|
|
84
|
-
var _a;
|
|
85
|
-
const versionHeader = protocol.protocolVersionHeaderName;
|
|
86
|
-
if (versionHeader && RpcProtocol_1.RpcProtocol.protocolVersion) {
|
|
87
|
-
res.set(versionHeader, RpcProtocol_1.RpcProtocol.protocolVersion.toString());
|
|
88
|
-
}
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
90
|
-
const { Readable, Stream } = await Promise.resolve().then(() => require(/* webpackIgnore: true */ "stream"));
|
|
91
|
-
const { createGzip } = await Promise.resolve().then(() => require(/* webpackIgnore: true */ "zlib"));
|
|
92
|
-
const transportType = WebAppRpcRequest.computeTransportType(fulfillment.result, fulfillment.rawResult);
|
|
93
|
-
let responseBody;
|
|
94
|
-
if (transportType === RpcConstants_1.RpcContentType.Binary) {
|
|
95
|
-
responseBody = WebAppRpcRequest.configureBinary(fulfillment, res);
|
|
96
|
-
}
|
|
97
|
-
else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
|
|
98
|
-
responseBody = WebAppRpcRequest.configureMultipart(fulfillment, res);
|
|
99
|
-
}
|
|
100
|
-
else if (transportType === RpcConstants_1.RpcContentType.Stream) {
|
|
101
|
-
responseBody = WebAppRpcRequest.configureStream(fulfillment);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
responseBody = WebAppRpcRequest.configureText(fulfillment, res);
|
|
105
|
-
}
|
|
106
|
-
WebAppRpcRequest.configureResponse(protocol, request, fulfillment, res);
|
|
107
|
-
res.status(fulfillment.status);
|
|
108
|
-
if (fulfillment.allowCompression && ((_a = req.header("Accept-Encoding")) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
|
|
109
|
-
res.set("Content-Encoding", "gzip");
|
|
110
|
-
const readableResponseBody = (responseBody instanceof Stream) ? responseBody : Readable.from(responseBody);
|
|
111
|
-
responseBody = readableResponseBody.pipe(createGzip());
|
|
112
|
-
}
|
|
113
|
-
// This check should in theory look for instances of Readable, but that would break backend implementation at
|
|
114
|
-
// core/backend/src/RpcBackend.ts
|
|
115
|
-
if (responseBody instanceof Stream) {
|
|
116
|
-
responseBody.pipe(res);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
res.send(responseBody);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/** Determines the most efficient transport type for an RPC value. */
|
|
123
|
-
static computeTransportType(value, source) {
|
|
124
|
-
if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
|
|
125
|
-
return RpcConstants_1.RpcContentType.Binary;
|
|
126
|
-
}
|
|
127
|
-
else if (value.data.length > 0) {
|
|
128
|
-
return RpcConstants_1.RpcContentType.Multipart;
|
|
129
|
-
}
|
|
130
|
-
else if (value.stream) {
|
|
131
|
-
return RpcConstants_1.RpcContentType.Stream;
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
return RpcConstants_1.RpcContentType.Text;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/** Sets request header values. */
|
|
138
|
-
setHeader(name, value) {
|
|
139
|
-
this._headers[name] = value;
|
|
140
|
-
}
|
|
141
|
-
/** Sends the request. */
|
|
142
|
-
async send() {
|
|
143
|
-
this._loading = true;
|
|
144
|
-
await this.setupTransport();
|
|
145
|
-
return new Promise(async (resolve, reject) => {
|
|
146
|
-
try {
|
|
147
|
-
resolve(await this.performFetch());
|
|
148
|
-
}
|
|
149
|
-
catch (reason) {
|
|
150
|
-
reject(new IModelError_1.ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
computeRetryAfter(attempts) {
|
|
155
|
-
const retryAfter = this._response && this._response.headers.get("Retry-After");
|
|
156
|
-
if (retryAfter) {
|
|
157
|
-
this.resetTransientFaultCount();
|
|
158
|
-
const r = Number(retryAfter);
|
|
159
|
-
if (Number.isFinite(r)) {
|
|
160
|
-
return r * 1000;
|
|
161
|
-
}
|
|
162
|
-
const d = Date.parse(retryAfter);
|
|
163
|
-
if (!Number.isNaN(d)) {
|
|
164
|
-
return d - Date.now();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
this.recordTransientFault();
|
|
169
|
-
}
|
|
170
|
-
return super.computeRetryAfter(attempts);
|
|
171
|
-
}
|
|
172
|
-
handleUnknownResponse(code) {
|
|
173
|
-
if (this.protocol.isTimeout(code)) {
|
|
174
|
-
this.reject(new IModelError_1.ServerTimeoutError("Request timeout."));
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
this.reject(new IModelError_1.ServerError(code, "Unknown server response code."));
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
async load() {
|
|
181
|
-
return new Promise(async (resolve, reject) => {
|
|
182
|
-
try {
|
|
183
|
-
if (!this._loading)
|
|
184
|
-
return;
|
|
185
|
-
const response = this._response;
|
|
186
|
-
if (!response) {
|
|
187
|
-
reject(new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Invalid state."));
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
if (this.protocol.protocolVersionHeaderName) {
|
|
191
|
-
const version = response.headers.get(this.protocol.protocolVersionHeaderName);
|
|
192
|
-
if (version) {
|
|
193
|
-
this.responseProtocolVersion = parseInt(version, 10);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
const contentType = response.headers.get(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT);
|
|
197
|
-
const responseType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(contentType);
|
|
198
|
-
if (responseType === RpcConstants_1.RpcContentType.Binary) {
|
|
199
|
-
resolve(await this.loadBinary(response));
|
|
200
|
-
}
|
|
201
|
-
else if (responseType === RpcConstants_1.RpcContentType.Multipart) {
|
|
202
|
-
resolve(await this.loadMultipart(response, contentType));
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
resolve(await this.loadText(response));
|
|
206
|
-
}
|
|
207
|
-
this._loading = false;
|
|
208
|
-
this.setLastUpdatedTime();
|
|
209
|
-
this.protocol.events.raiseEvent(RpcConstants_1.RpcProtocolEvent.ResponseLoaded, this);
|
|
210
|
-
}
|
|
211
|
-
catch (reason) {
|
|
212
|
-
if (!this._loading)
|
|
213
|
-
return;
|
|
214
|
-
this._loading = false;
|
|
215
|
-
reject(new IModelError_1.ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
/** Override to supply an alternate fetch function. */
|
|
220
|
-
supplyFetch() {
|
|
221
|
-
return fetch;
|
|
222
|
-
}
|
|
223
|
-
/** Override to supply an alternate Request function. */
|
|
224
|
-
supplyRequest() {
|
|
225
|
-
return Request;
|
|
226
|
-
}
|
|
227
|
-
static configureResponse(protocol, request, fulfillment, res) {
|
|
228
|
-
const success = protocol.getStatus(fulfillment.status) === RpcConstants_1.RpcRequestStatus.Resolved;
|
|
229
|
-
// TODO: Use stale-while-revalidate in cache headers. This needs to be tested, and does not currently have support in the router/caching-service.
|
|
230
|
-
// This will allow browsers to use stale cached responses while also revalidating with the router, allowing us to start up a backend if necessary.
|
|
231
|
-
// RPC Caching Service uses the s-maxage header to determine the TTL for the redis cache.
|
|
232
|
-
const oneHourInSeconds = 3600;
|
|
233
|
-
if (success && request.caching === RpcConstants_1.RpcResponseCacheControl.Immutable) {
|
|
234
|
-
// If response size is > 50 MB, do not cache it.
|
|
235
|
-
if (fulfillment.result.objects.length > (50 * 10 ** 7)) {
|
|
236
|
-
res.set("Cache-Control", "no-store");
|
|
237
|
-
}
|
|
238
|
-
else if (request.operation.operationName === "generateTileContent") {
|
|
239
|
-
res.set("Cache-Control", "no-store");
|
|
240
|
-
}
|
|
241
|
-
else if (request.operation.operationName === "getConnectionProps") {
|
|
242
|
-
// GetConnectionprops can't be cached on the browser longer than the lifespan of the backend. The lifespan of backend may shrink too. Keep it at 1 second to be safe.
|
|
243
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=1, immutable`);
|
|
244
|
-
}
|
|
245
|
-
else if (request.operation.operationName === "getTileCacheContainerUrl") {
|
|
246
|
-
// getTileCacheContainerUrl returns a SAS with an expiry of 23:59:59. We can't exceed that time when setting the max-age.
|
|
247
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 23}, max-age=${oneHourInSeconds * 23}, immutable`);
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=${oneHourInSeconds * 48}, immutable`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
if (fulfillment.retry) {
|
|
254
|
-
res.set("Retry-After", fulfillment.retry);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
static configureText(fulfillment, res) {
|
|
258
|
-
res.set(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT, RpcConstants_1.WEB_RPC_CONSTANTS.TEXT);
|
|
259
|
-
return (fulfillment.status === 204) ? "" : fulfillment.result.objects;
|
|
260
|
-
}
|
|
261
|
-
static configureBinary(fulfillment, res) {
|
|
262
|
-
res.set(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT, RpcConstants_1.WEB_RPC_CONSTANTS.BINARY);
|
|
263
|
-
const data = fulfillment.result.data[0];
|
|
264
|
-
return buffer_1.Buffer.isBuffer(data) ? data : buffer_1.Buffer.from(data);
|
|
265
|
-
}
|
|
266
|
-
static configureMultipart(fulfillment, res) {
|
|
267
|
-
const response = RpcMultipart_1.RpcMultipart.createStream(fulfillment.result);
|
|
268
|
-
const headers = response.getHeaders();
|
|
269
|
-
for (const header in headers) {
|
|
270
|
-
if (headers.hasOwnProperty(header)) {
|
|
271
|
-
res.set(header, headers[header]);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
return response;
|
|
275
|
-
}
|
|
276
|
-
static configureStream(fulfillment) {
|
|
277
|
-
return fulfillment.result.stream;
|
|
278
|
-
}
|
|
279
|
-
static parseFromPath(operation) {
|
|
280
|
-
const decoded = operation.encodedRequest ? buffer_1.Buffer.from(operation.encodedRequest, "base64").toString("binary") : "";
|
|
281
|
-
return RpcMarshaling_1.RpcSerializedValue.create(decoded);
|
|
282
|
-
}
|
|
283
|
-
static async parseFromBody(req) {
|
|
284
|
-
const contentType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(req.header(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT));
|
|
285
|
-
if (contentType === RpcConstants_1.RpcContentType.Binary) {
|
|
286
|
-
const objects = JSON.stringify([RpcMarshaling_1.MarshalingBinaryMarker.createDefault()]);
|
|
287
|
-
const data = [req.body];
|
|
288
|
-
return RpcMarshaling_1.RpcSerializedValue.create(objects, data);
|
|
289
|
-
}
|
|
290
|
-
else if (contentType === RpcConstants_1.RpcContentType.Multipart) {
|
|
291
|
-
return RpcMultipart_1.RpcMultipart.parseRequest(req);
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
return RpcMarshaling_1.RpcSerializedValue.create(req.body);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
async performFetch() {
|
|
298
|
-
const requestClass = this.supplyRequest();
|
|
299
|
-
const fetchFunction = this.supplyFetch();
|
|
300
|
-
const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
|
|
301
|
-
if (this._pathSuffix) {
|
|
302
|
-
const params = new URLSearchParams();
|
|
303
|
-
params.set("parameters", this._pathSuffix);
|
|
304
|
-
path.search = `?${params.toString()}`;
|
|
305
|
-
}
|
|
306
|
-
const request = new requestClass(path.toString(), this._request);
|
|
307
|
-
const response = await fetchFunction(request);
|
|
308
|
-
this._response = response;
|
|
309
|
-
this.metadata.status = response.status;
|
|
310
|
-
return response.status;
|
|
311
|
-
}
|
|
312
|
-
async loadText(response) {
|
|
313
|
-
const value = await response.text();
|
|
314
|
-
this.metadata.message = value;
|
|
315
|
-
return RpcMarshaling_1.RpcSerializedValue.create(value);
|
|
316
|
-
}
|
|
317
|
-
async loadBinary(response) {
|
|
318
|
-
const value = new Uint8Array(await response.arrayBuffer());
|
|
319
|
-
const objects = JSON.stringify(RpcMarshaling_1.MarshalingBinaryMarker.createDefault());
|
|
320
|
-
return RpcMarshaling_1.RpcSerializedValue.create(objects, [value]);
|
|
321
|
-
}
|
|
322
|
-
async loadMultipart(response, contentType) {
|
|
323
|
-
const data = await response.arrayBuffer();
|
|
324
|
-
const value = new RpcMultipartParser_1.RpcMultipartParser(contentType, buffer_1.Buffer.from(data)).parse();
|
|
325
|
-
return value;
|
|
326
|
-
}
|
|
327
|
-
async setupTransport() {
|
|
328
|
-
const parameters = (await this.protocol.serialize(this)).parameters;
|
|
329
|
-
const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
|
|
330
|
-
if (transportType === RpcConstants_1.RpcContentType.Binary) {
|
|
331
|
-
this.setupBinaryTransport(parameters);
|
|
332
|
-
}
|
|
333
|
-
else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
|
|
334
|
-
this.setupMultipartTransport(parameters);
|
|
335
|
-
}
|
|
336
|
-
else {
|
|
337
|
-
this.setupTextTransport(parameters);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
setupBinaryTransport(parameters) {
|
|
341
|
-
this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.BINARY;
|
|
342
|
-
this._request.method = "post";
|
|
343
|
-
this._request.body = parameters.data[0];
|
|
344
|
-
}
|
|
345
|
-
setupMultipartTransport(parameters) {
|
|
346
|
-
// IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
|
|
347
|
-
delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
|
|
348
|
-
this._request.method = "post";
|
|
349
|
-
this._request.body = RpcMultipart_1.RpcMultipart.createForm(parameters);
|
|
350
|
-
}
|
|
351
|
-
setupTextTransport(parameters) {
|
|
352
|
-
if (this.operation.policy.allowResponseCaching(this)) {
|
|
353
|
-
const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
|
|
354
|
-
if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
|
|
355
|
-
this._request.method = "get";
|
|
356
|
-
this._request.body = undefined;
|
|
357
|
-
delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
|
|
358
|
-
this._pathSuffix = encodedBody;
|
|
359
|
-
return;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
this._pathSuffix = "";
|
|
363
|
-
this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.TEXT;
|
|
364
|
-
this._request.method = "post";
|
|
365
|
-
this._request.body = parameters.objects;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
exports.WebAppRpcRequest = WebAppRpcRequest;
|
|
369
|
-
/** The maximum size permitted for an encoded component in a URL.
|
|
370
|
-
* Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
|
|
371
|
-
* In addition to the url size, an authorization header may also add considerably to the request size.
|
|
372
|
-
* @note This is used for features like encoding the payload of a cacheable request in the URL.
|
|
373
|
-
*/
|
|
374
|
-
WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module RpcInterface
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.WebAppRpcRequest = void 0;
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const buffer_1 = require("buffer");
|
|
13
|
+
const IModelError_1 = require("../../IModelError");
|
|
14
|
+
const RpcConstants_1 = require("../core/RpcConstants");
|
|
15
|
+
const RpcMarshaling_1 = require("../core/RpcMarshaling");
|
|
16
|
+
const RpcProtocol_1 = require("../core/RpcProtocol");
|
|
17
|
+
const RpcRequest_1 = require("../core/RpcRequest");
|
|
18
|
+
const RpcMultipartParser_1 = require("./multipart/RpcMultipartParser");
|
|
19
|
+
const RpcMultipart_1 = require("./RpcMultipart");
|
|
20
|
+
const WebAppRpcProtocol_1 = require("./WebAppRpcProtocol");
|
|
21
|
+
/** A web application RPC request.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
class WebAppRpcRequest extends RpcRequest_1.RpcRequest {
|
|
25
|
+
/** Constructs a web application request. */
|
|
26
|
+
constructor(client, operation, parameters) {
|
|
27
|
+
super(client, operation, parameters);
|
|
28
|
+
this._loading = false;
|
|
29
|
+
this._request = {};
|
|
30
|
+
this._pathSuffix = "";
|
|
31
|
+
/** Convenience access to the protocol of this request. */
|
|
32
|
+
this.protocol = this.client.configuration.protocol;
|
|
33
|
+
/** Standardized access to metadata about the request (useful for purposes such as logging). */
|
|
34
|
+
this.metadata = { status: 0, message: "" };
|
|
35
|
+
this.path = this.protocol.supplyPathForOperation(this.operation, this);
|
|
36
|
+
this.method = "head";
|
|
37
|
+
this._request.headers = {};
|
|
38
|
+
}
|
|
39
|
+
get _headers() { return this._request.headers; }
|
|
40
|
+
/** Parse headers */
|
|
41
|
+
static parseHeaders(protocol, req) {
|
|
42
|
+
var _a;
|
|
43
|
+
const headerNames = protocol.serializedClientRequestContextHeaderNames;
|
|
44
|
+
const parsedHeaders = {
|
|
45
|
+
id: req.header(headerNames.id) || "",
|
|
46
|
+
applicationId: req.header(headerNames.applicationId) || "",
|
|
47
|
+
applicationVersion: req.header(headerNames.applicationVersion) || "",
|
|
48
|
+
sessionId: req.header(headerNames.sessionId) || "",
|
|
49
|
+
authorization: (_a = (headerNames.authorization ? req.header(headerNames.authorization) : "")) !== null && _a !== void 0 ? _a : "",
|
|
50
|
+
};
|
|
51
|
+
return parsedHeaders;
|
|
52
|
+
}
|
|
53
|
+
/** Parses a request. */
|
|
54
|
+
static async parseRequest(protocol, req) {
|
|
55
|
+
const operation = protocol.getOperationFromPath(req.url);
|
|
56
|
+
const parsedHeaders = this.parseHeaders(protocol, req);
|
|
57
|
+
const request = {
|
|
58
|
+
...parsedHeaders,
|
|
59
|
+
operation: {
|
|
60
|
+
interfaceDefinition: operation.interfaceDefinition,
|
|
61
|
+
operationName: operation.operationName,
|
|
62
|
+
interfaceVersion: operation.interfaceVersion,
|
|
63
|
+
},
|
|
64
|
+
method: req.method,
|
|
65
|
+
path: req.url,
|
|
66
|
+
parameters: operation.encodedRequest ? WebAppRpcRequest.parseFromPath(operation) : await WebAppRpcRequest.parseFromBody(req),
|
|
67
|
+
caching: operation.encodedRequest ? RpcConstants_1.RpcResponseCacheControl.Immutable : RpcConstants_1.RpcResponseCacheControl.None,
|
|
68
|
+
};
|
|
69
|
+
request.ip = req.ip;
|
|
70
|
+
request.protocolVersion = 0;
|
|
71
|
+
if (protocol.protocolVersionHeaderName) {
|
|
72
|
+
const version = req.header(protocol.protocolVersionHeaderName);
|
|
73
|
+
if (version) {
|
|
74
|
+
request.protocolVersion = parseInt(version, 10);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!request.id) {
|
|
78
|
+
throw new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, `Invalid request: Missing required activity ID.`);
|
|
79
|
+
}
|
|
80
|
+
return request;
|
|
81
|
+
}
|
|
82
|
+
/** Sends the response for a web request. */
|
|
83
|
+
static async sendResponse(protocol, request, fulfillment, req, res) {
|
|
84
|
+
var _a;
|
|
85
|
+
const versionHeader = protocol.protocolVersionHeaderName;
|
|
86
|
+
if (versionHeader && RpcProtocol_1.RpcProtocol.protocolVersion) {
|
|
87
|
+
res.set(versionHeader, RpcProtocol_1.RpcProtocol.protocolVersion.toString());
|
|
88
|
+
}
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
90
|
+
const { Readable, Stream } = await Promise.resolve().then(() => require(/* webpackIgnore: true */ "stream"));
|
|
91
|
+
const { createGzip } = await Promise.resolve().then(() => require(/* webpackIgnore: true */ "zlib"));
|
|
92
|
+
const transportType = WebAppRpcRequest.computeTransportType(fulfillment.result, fulfillment.rawResult);
|
|
93
|
+
let responseBody;
|
|
94
|
+
if (transportType === RpcConstants_1.RpcContentType.Binary) {
|
|
95
|
+
responseBody = WebAppRpcRequest.configureBinary(fulfillment, res);
|
|
96
|
+
}
|
|
97
|
+
else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
|
|
98
|
+
responseBody = WebAppRpcRequest.configureMultipart(fulfillment, res);
|
|
99
|
+
}
|
|
100
|
+
else if (transportType === RpcConstants_1.RpcContentType.Stream) {
|
|
101
|
+
responseBody = WebAppRpcRequest.configureStream(fulfillment);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
responseBody = WebAppRpcRequest.configureText(fulfillment, res);
|
|
105
|
+
}
|
|
106
|
+
WebAppRpcRequest.configureResponse(protocol, request, fulfillment, res);
|
|
107
|
+
res.status(fulfillment.status);
|
|
108
|
+
if (fulfillment.allowCompression && ((_a = req.header("Accept-Encoding")) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
|
|
109
|
+
res.set("Content-Encoding", "gzip");
|
|
110
|
+
const readableResponseBody = (responseBody instanceof Stream) ? responseBody : Readable.from(responseBody);
|
|
111
|
+
responseBody = readableResponseBody.pipe(createGzip());
|
|
112
|
+
}
|
|
113
|
+
// This check should in theory look for instances of Readable, but that would break backend implementation at
|
|
114
|
+
// core/backend/src/RpcBackend.ts
|
|
115
|
+
if (responseBody instanceof Stream) {
|
|
116
|
+
responseBody.pipe(res);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
res.send(responseBody);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/** Determines the most efficient transport type for an RPC value. */
|
|
123
|
+
static computeTransportType(value, source) {
|
|
124
|
+
if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
|
|
125
|
+
return RpcConstants_1.RpcContentType.Binary;
|
|
126
|
+
}
|
|
127
|
+
else if (value.data.length > 0) {
|
|
128
|
+
return RpcConstants_1.RpcContentType.Multipart;
|
|
129
|
+
}
|
|
130
|
+
else if (value.stream) {
|
|
131
|
+
return RpcConstants_1.RpcContentType.Stream;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
return RpcConstants_1.RpcContentType.Text;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/** Sets request header values. */
|
|
138
|
+
setHeader(name, value) {
|
|
139
|
+
this._headers[name] = value;
|
|
140
|
+
}
|
|
141
|
+
/** Sends the request. */
|
|
142
|
+
async send() {
|
|
143
|
+
this._loading = true;
|
|
144
|
+
await this.setupTransport();
|
|
145
|
+
return new Promise(async (resolve, reject) => {
|
|
146
|
+
try {
|
|
147
|
+
resolve(await this.performFetch());
|
|
148
|
+
}
|
|
149
|
+
catch (reason) {
|
|
150
|
+
reject(new IModelError_1.ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
computeRetryAfter(attempts) {
|
|
155
|
+
const retryAfter = this._response && this._response.headers.get("Retry-After");
|
|
156
|
+
if (retryAfter) {
|
|
157
|
+
this.resetTransientFaultCount();
|
|
158
|
+
const r = Number(retryAfter);
|
|
159
|
+
if (Number.isFinite(r)) {
|
|
160
|
+
return r * 1000;
|
|
161
|
+
}
|
|
162
|
+
const d = Date.parse(retryAfter);
|
|
163
|
+
if (!Number.isNaN(d)) {
|
|
164
|
+
return d - Date.now();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.recordTransientFault();
|
|
169
|
+
}
|
|
170
|
+
return super.computeRetryAfter(attempts);
|
|
171
|
+
}
|
|
172
|
+
handleUnknownResponse(code) {
|
|
173
|
+
if (this.protocol.isTimeout(code)) {
|
|
174
|
+
this.reject(new IModelError_1.ServerTimeoutError("Request timeout."));
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
this.reject(new IModelError_1.ServerError(code, "Unknown server response code."));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
async load() {
|
|
181
|
+
return new Promise(async (resolve, reject) => {
|
|
182
|
+
try {
|
|
183
|
+
if (!this._loading)
|
|
184
|
+
return;
|
|
185
|
+
const response = this._response;
|
|
186
|
+
if (!response) {
|
|
187
|
+
reject(new IModelError_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Invalid state."));
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
if (this.protocol.protocolVersionHeaderName) {
|
|
191
|
+
const version = response.headers.get(this.protocol.protocolVersionHeaderName);
|
|
192
|
+
if (version) {
|
|
193
|
+
this.responseProtocolVersion = parseInt(version, 10);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const contentType = response.headers.get(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT);
|
|
197
|
+
const responseType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(contentType);
|
|
198
|
+
if (responseType === RpcConstants_1.RpcContentType.Binary) {
|
|
199
|
+
resolve(await this.loadBinary(response));
|
|
200
|
+
}
|
|
201
|
+
else if (responseType === RpcConstants_1.RpcContentType.Multipart) {
|
|
202
|
+
resolve(await this.loadMultipart(response, contentType));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
resolve(await this.loadText(response));
|
|
206
|
+
}
|
|
207
|
+
this._loading = false;
|
|
208
|
+
this.setLastUpdatedTime();
|
|
209
|
+
this.protocol.events.raiseEvent(RpcConstants_1.RpcProtocolEvent.ResponseLoaded, this);
|
|
210
|
+
}
|
|
211
|
+
catch (reason) {
|
|
212
|
+
if (!this._loading)
|
|
213
|
+
return;
|
|
214
|
+
this._loading = false;
|
|
215
|
+
reject(new IModelError_1.ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/** Override to supply an alternate fetch function. */
|
|
220
|
+
supplyFetch() {
|
|
221
|
+
return fetch;
|
|
222
|
+
}
|
|
223
|
+
/** Override to supply an alternate Request function. */
|
|
224
|
+
supplyRequest() {
|
|
225
|
+
return Request;
|
|
226
|
+
}
|
|
227
|
+
static configureResponse(protocol, request, fulfillment, res) {
|
|
228
|
+
const success = protocol.getStatus(fulfillment.status) === RpcConstants_1.RpcRequestStatus.Resolved;
|
|
229
|
+
// TODO: Use stale-while-revalidate in cache headers. This needs to be tested, and does not currently have support in the router/caching-service.
|
|
230
|
+
// This will allow browsers to use stale cached responses while also revalidating with the router, allowing us to start up a backend if necessary.
|
|
231
|
+
// RPC Caching Service uses the s-maxage header to determine the TTL for the redis cache.
|
|
232
|
+
const oneHourInSeconds = 3600;
|
|
233
|
+
if (success && request.caching === RpcConstants_1.RpcResponseCacheControl.Immutable) {
|
|
234
|
+
// If response size is > 50 MB, do not cache it.
|
|
235
|
+
if (fulfillment.result.objects.length > (50 * 10 ** 7)) {
|
|
236
|
+
res.set("Cache-Control", "no-store");
|
|
237
|
+
}
|
|
238
|
+
else if (request.operation.operationName === "generateTileContent") {
|
|
239
|
+
res.set("Cache-Control", "no-store");
|
|
240
|
+
}
|
|
241
|
+
else if (request.operation.operationName === "getConnectionProps") {
|
|
242
|
+
// GetConnectionprops can't be cached on the browser longer than the lifespan of the backend. The lifespan of backend may shrink too. Keep it at 1 second to be safe.
|
|
243
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=1, immutable`);
|
|
244
|
+
}
|
|
245
|
+
else if (request.operation.operationName === "getTileCacheContainerUrl") {
|
|
246
|
+
// getTileCacheContainerUrl returns a SAS with an expiry of 23:59:59. We can't exceed that time when setting the max-age.
|
|
247
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 23}, max-age=${oneHourInSeconds * 23}, immutable`);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=${oneHourInSeconds * 48}, immutable`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (fulfillment.retry) {
|
|
254
|
+
res.set("Retry-After", fulfillment.retry);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
static configureText(fulfillment, res) {
|
|
258
|
+
res.set(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT, RpcConstants_1.WEB_RPC_CONSTANTS.TEXT);
|
|
259
|
+
return (fulfillment.status === 204) ? "" : fulfillment.result.objects;
|
|
260
|
+
}
|
|
261
|
+
static configureBinary(fulfillment, res) {
|
|
262
|
+
res.set(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT, RpcConstants_1.WEB_RPC_CONSTANTS.BINARY);
|
|
263
|
+
const data = fulfillment.result.data[0];
|
|
264
|
+
return buffer_1.Buffer.isBuffer(data) ? data : buffer_1.Buffer.from(data);
|
|
265
|
+
}
|
|
266
|
+
static configureMultipart(fulfillment, res) {
|
|
267
|
+
const response = RpcMultipart_1.RpcMultipart.createStream(fulfillment.result);
|
|
268
|
+
const headers = response.getHeaders();
|
|
269
|
+
for (const header in headers) {
|
|
270
|
+
if (headers.hasOwnProperty(header)) {
|
|
271
|
+
res.set(header, headers[header]);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return response;
|
|
275
|
+
}
|
|
276
|
+
static configureStream(fulfillment) {
|
|
277
|
+
return fulfillment.result.stream;
|
|
278
|
+
}
|
|
279
|
+
static parseFromPath(operation) {
|
|
280
|
+
const decoded = operation.encodedRequest ? buffer_1.Buffer.from(operation.encodedRequest, "base64").toString("binary") : "";
|
|
281
|
+
return RpcMarshaling_1.RpcSerializedValue.create(decoded);
|
|
282
|
+
}
|
|
283
|
+
static async parseFromBody(req) {
|
|
284
|
+
const contentType = WebAppRpcProtocol_1.WebAppRpcProtocol.computeContentType(req.header(RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT));
|
|
285
|
+
if (contentType === RpcConstants_1.RpcContentType.Binary) {
|
|
286
|
+
const objects = JSON.stringify([RpcMarshaling_1.MarshalingBinaryMarker.createDefault()]);
|
|
287
|
+
const data = [req.body];
|
|
288
|
+
return RpcMarshaling_1.RpcSerializedValue.create(objects, data);
|
|
289
|
+
}
|
|
290
|
+
else if (contentType === RpcConstants_1.RpcContentType.Multipart) {
|
|
291
|
+
return RpcMultipart_1.RpcMultipart.parseRequest(req);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
return RpcMarshaling_1.RpcSerializedValue.create(req.body);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
async performFetch() {
|
|
298
|
+
const requestClass = this.supplyRequest();
|
|
299
|
+
const fetchFunction = this.supplyFetch();
|
|
300
|
+
const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
|
|
301
|
+
if (this._pathSuffix) {
|
|
302
|
+
const params = new URLSearchParams();
|
|
303
|
+
params.set("parameters", this._pathSuffix);
|
|
304
|
+
path.search = `?${params.toString()}`;
|
|
305
|
+
}
|
|
306
|
+
const request = new requestClass(path.toString(), this._request);
|
|
307
|
+
const response = await fetchFunction(request);
|
|
308
|
+
this._response = response;
|
|
309
|
+
this.metadata.status = response.status;
|
|
310
|
+
return response.status;
|
|
311
|
+
}
|
|
312
|
+
async loadText(response) {
|
|
313
|
+
const value = await response.text();
|
|
314
|
+
this.metadata.message = value;
|
|
315
|
+
return RpcMarshaling_1.RpcSerializedValue.create(value);
|
|
316
|
+
}
|
|
317
|
+
async loadBinary(response) {
|
|
318
|
+
const value = new Uint8Array(await response.arrayBuffer());
|
|
319
|
+
const objects = JSON.stringify(RpcMarshaling_1.MarshalingBinaryMarker.createDefault());
|
|
320
|
+
return RpcMarshaling_1.RpcSerializedValue.create(objects, [value]);
|
|
321
|
+
}
|
|
322
|
+
async loadMultipart(response, contentType) {
|
|
323
|
+
const data = await response.arrayBuffer();
|
|
324
|
+
const value = new RpcMultipartParser_1.RpcMultipartParser(contentType, buffer_1.Buffer.from(data)).parse();
|
|
325
|
+
return value;
|
|
326
|
+
}
|
|
327
|
+
async setupTransport() {
|
|
328
|
+
const parameters = (await this.protocol.serialize(this)).parameters;
|
|
329
|
+
const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
|
|
330
|
+
if (transportType === RpcConstants_1.RpcContentType.Binary) {
|
|
331
|
+
this.setupBinaryTransport(parameters);
|
|
332
|
+
}
|
|
333
|
+
else if (transportType === RpcConstants_1.RpcContentType.Multipart) {
|
|
334
|
+
this.setupMultipartTransport(parameters);
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
this.setupTextTransport(parameters);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
setupBinaryTransport(parameters) {
|
|
341
|
+
this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.BINARY;
|
|
342
|
+
this._request.method = "post";
|
|
343
|
+
this._request.body = parameters.data[0];
|
|
344
|
+
}
|
|
345
|
+
setupMultipartTransport(parameters) {
|
|
346
|
+
// IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
|
|
347
|
+
delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
|
|
348
|
+
this._request.method = "post";
|
|
349
|
+
this._request.body = RpcMultipart_1.RpcMultipart.createForm(parameters);
|
|
350
|
+
}
|
|
351
|
+
setupTextTransport(parameters) {
|
|
352
|
+
if (this.operation.policy.allowResponseCaching(this)) {
|
|
353
|
+
const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
|
|
354
|
+
if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
|
|
355
|
+
this._request.method = "get";
|
|
356
|
+
this._request.body = undefined;
|
|
357
|
+
delete this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT];
|
|
358
|
+
this._pathSuffix = encodedBody;
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
this._pathSuffix = "";
|
|
363
|
+
this._headers[RpcConstants_1.WEB_RPC_CONSTANTS.CONTENT] = RpcConstants_1.WEB_RPC_CONSTANTS.TEXT;
|
|
364
|
+
this._request.method = "post";
|
|
365
|
+
this._request.body = parameters.objects;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
exports.WebAppRpcRequest = WebAppRpcRequest;
|
|
369
|
+
/** The maximum size permitted for an encoded component in a URL.
|
|
370
|
+
* Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
|
|
371
|
+
* In addition to the url size, an authorization header may also add considerably to the request size.
|
|
372
|
+
* @note This is used for features like encoding the payload of a cacheable request in the URL.
|
|
373
|
+
*/
|
|
374
|
+
WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
|
|
375
375
|
//# sourceMappingURL=WebAppRpcRequest.js.map
|