From 8d9b5602874ba06afc4adbf75fd9cbd83e224bcf Mon Sep 17 00:00:00 2001 From: Eugen Neufeld Date: Thu, 2 Mar 2023 13:13:02 +0100 Subject: [PATCH] Add `isObject` check to ProblemMarker The `in` operator does not work on undefined objects. So in order to check the node kind we need to make sure, that the node is an object. Contributed on behalf of STMicroelectronics Fixes #12250 --- packages/markers/src/common/problem-marker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/markers/src/common/problem-marker.ts b/packages/markers/src/common/problem-marker.ts index 1c0493dbffb61..219e64db8469d 100644 --- a/packages/markers/src/common/problem-marker.ts +++ b/packages/markers/src/common/problem-marker.ts @@ -16,6 +16,7 @@ import { Marker } from './marker'; import { Diagnostic } from '@theia/core/shared/vscode-languageserver-protocol'; +import { isObject } from '@theia/core/lib/common'; export const PROBLEM_KIND = 'problem'; @@ -24,7 +25,7 @@ export interface ProblemMarker extends Marker { } export namespace ProblemMarker { - export function is(node: Marker): node is ProblemMarker { - return 'kind' in node && node.kind === PROBLEM_KIND; + export function is(node: unknown): node is ProblemMarker { + return isObject>(node) && node.kind === PROBLEM_KIND; } }