From eab999176245d6fead4ce7621de0e5a596f2fdb1 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:23:39 +0200 Subject: [PATCH] fix(core): correct `isDef` typeguard Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/core/src/utils/store.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/core/src/utils/store.ts b/packages/core/src/utils/store.ts index 88c639f0..08e310b1 100644 --- a/packages/core/src/utils/store.ts +++ b/packages/core/src/utils/store.ts @@ -1,7 +1,11 @@ import type { Actions, Connection, Edge, GraphEdge, GraphNode, Node, State } from '~/types' -export function isDef(val: T): val is NonNullable { - return typeof unref(val) !== 'undefined' +type NonUndefined = T extends undefined ? never : T + +export function isDef(val: T): val is NonUndefined { + const unrefVal = unref(val) + + return typeof unrefVal !== 'undefined' && unrefVal !== null } export function addEdgeToStore(edgeParams: Edge | Connection, edges: Edge[], onError: State['hooks']['error']['trigger']) {