UNPKG

@matthewgapp/solidjs-flow

Version:

React Flow - A highly customizable React library for building node-based editors and interactive flow charts.

34 lines (27 loc) 1.27 kB
import { isNodeBase, isEdgeBase } from '@xyflow/system'; import type { Edge, Node } from '../types'; /** * Test whether an object is useable as a Node * @public * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Node if it returns true * @param element - The element to test * @returns A boolean indicating whether the element is an Node */ export const isNode = <NodeType extends Node = Node>(element: unknown): element is NodeType => isNodeBase<NodeType>(element); /** * Test whether an object is useable as an Edge * @public * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Edge if it returns true * @param element - The element to test * @returns A boolean indicating whether the element is an Edge */ export const isEdge = <EdgeType extends Edge = Edge>(element: unknown): element is EdgeType => isEdgeBase<EdgeType>(element); // // eslint-disable-next-line @typescript-eslint/ban-types // export function fixedForwardRef<T, P = {}>( // render: (props: P, ref: Ref<T>) => ReactNode // ): (props: P & RefAttributes<T>) => ReactNode { // // eslint-disable-next-line @typescript-eslint/no-explicit-any // return forwardRef(render) as any; // }