diff --git a/eslint-suppressions.json b/eslint-suppressions.json index 91901fdad41..00a787b4cb6 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -3935,11 +3935,6 @@ "count": 4 } }, - "public/app/plugins/datasource/dashboard/datasource.ts": { - "@typescript-eslint/consistent-type-assertions": { - "count": 1 - } - }, "public/app/plugins/datasource/dashboard/runSharedRequest.ts": { "@typescript-eslint/consistent-type-assertions": { "count": 2 diff --git a/public/app/plugins/datasource/dashboard/datasource.ts b/public/app/plugins/datasource/dashboard/datasource.ts index 8f945bad984..9969c9afe7f 100644 --- a/public/app/plugins/datasource/dashboard/datasource.ts +++ b/public/app/plugins/datasource/dashboard/datasource.ts @@ -21,7 +21,7 @@ import { DrilldownsApplicability, } from '@grafana/data'; import { config } from '@grafana/runtime'; -import { SceneDataProvider, SceneDataTransformer, SceneObject } from '@grafana/scenes'; +import { isSceneObject, SceneDataProvider, SceneDataTransformer, SceneObject } from '@grafana/scenes'; import { activateSceneObjectAndParentTree, findVizPanelByKey, @@ -46,7 +46,9 @@ export class DashboardDatasource extends DataSourceApi { query(options: DataQueryRequest): Observable { const sceneScopedVar: ScopedVar | undefined = options.scopedVars?.__sceneObject; - let scene: SceneObject | undefined = sceneScopedVar ? (sceneScopedVar.value.valueOf() as SceneObject) : undefined; + const sceneScopedVarValue: unknown | undefined = sceneScopedVar?.value.valueOf(); + const scene: SceneObject | undefined = + sceneScopedVarValue && isSceneObject(sceneScopedVarValue) ? sceneScopedVarValue : undefined; if (!scene) { throw new Error('Can only be called from a scene');