From f4fb4d8036049a35be77fee7e8156eb46dccf5e9 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 3 Feb 2024 18:16:05 +0100 Subject: [PATCH] refactor(core,composables): allow passing `MaybeRefOrGetter` to `useNodesData` --- packages/core/src/composables/useNodesData.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/src/composables/useNodesData.ts b/packages/core/src/composables/useNodesData.ts index c9eeadac..affade0f 100644 --- a/packages/core/src/composables/useNodesData.ts +++ b/packages/core/src/composables/useNodesData.ts @@ -1,5 +1,7 @@ import type { ComputedRef } from 'vue' import { computed } from 'vue' +import type { MaybeRefOrGetter } from '@vueuse/core' +import { toValue } from '@vueuse/core' import type { GraphNode, Node } from '../types' import { useVueFlow } from './useVueFlow' @@ -13,17 +15,23 @@ type NodeData = NonNullable * @param guard - Optional guard function to narrow down the node type * @returns An array of data objects */ -export function useNodesData(nodeId: string): ComputedRef | null> -export function useNodesData(nodeIds: string[]): ComputedRef[]> export function useNodesData( - nodeIds: string[], + nodeId: MaybeRefOrGetter, +): ComputedRef | null> +export function useNodesData( + nodeIds: MaybeRefOrGetter, +): ComputedRef[]> +export function useNodesData( + nodeIds: MaybeRefOrGetter, guard: (node: Node) => node is NodeType, ): ComputedRef[]> -export function useNodesData(nodeIds: any): any { +export function useNodesData(_nodeIds: any): any { const { findNode } = useVueFlow() return computed({ get() { + const nodeIds = toValue(_nodeIds) + if (!Array.isArray(nodeIds)) { return findNode(nodeIds)?.data || null }