From aaab9ceeafa6cb9e7d95fef94d26869444548460 Mon Sep 17 00:00:00 2001 From: Paul Marechal Date: Wed, 8 Mar 2023 11:02:37 -0500 Subject: [PATCH] Marker.isMarkerObject --- packages/markers/src/common/marker.ts | 10 ++++++---- packages/markers/src/common/problem-marker.ts | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/markers/src/common/marker.ts b/packages/markers/src/common/marker.ts index 4a5bf25f717bc..54b532450a4e4 100644 --- a/packages/markers/src/common/marker.ts +++ b/packages/markers/src/common/marker.ts @@ -40,14 +40,16 @@ export interface Marker { data: T; } export namespace Marker { - export function is(value: unknown): value is Marker; - export function is(value: unknown, subTypeCheck: (value: unknown) => value is T): value is Marker; - export function is(value: unknown, subTypeCheck?: (value: unknown) => boolean): boolean { - subTypeCheck ??= isObject; + + export function is(value: unknown, subTypeCheck: (value: unknown) => value is T): value is Marker { return isObject>(value) && !Array.isArray(value) && subTypeCheck(value.data) && isString(value.uri) && isString(value.owner); } + + export function isMarkerObject(value: unknown): value is Marker { + return is(value, isObject); + } } diff --git a/packages/markers/src/common/problem-marker.ts b/packages/markers/src/common/problem-marker.ts index a9e56a4efbecb..76fec1a8875c1 100644 --- a/packages/markers/src/common/problem-marker.ts +++ b/packages/markers/src/common/problem-marker.ts @@ -25,6 +25,6 @@ export interface ProblemMarker extends Marker { export namespace ProblemMarker { export function is(node: unknown): node is ProblemMarker { - return Marker.is(node) && node.kind === PROBLEM_KIND; + return Marker.isMarkerObject(node) && node.kind === PROBLEM_KIND; } }