refactor(useConnection): return internal node, add node generic

This commit is contained in:
moklick
2024-07-10 11:58:49 +02:00
parent 1e429da911
commit 6904b5bd49
8 changed files with 50 additions and 36 deletions
+6 -6
View File
@@ -1,10 +1,10 @@
import { shallow } from 'zustand/shallow';
import { useStore } from './useStore';
import type { ReactFlowStore } from '../types/store';
import { ConnectionState, pointToRendererPoint } from '@xyflow/system';
const selector = (s: ReactFlowStore): ConnectionState => {
import { useStore } from './useStore';
import type { InternalNode, Node, ReactFlowStore } from '../types';
const selector = (s: ReactFlowStore) => {
return s.connection.inProgress
? { ...s.connection, to: pointToRendererPoint(s.connection.to, s.transform) }
: { ...s.connection };
@@ -15,6 +15,6 @@ const selector = (s: ReactFlowStore): ConnectionState => {
* @public
* @returns ConnectionState
*/
export function useConnection(): ConnectionState {
return useStore(selector, shallow);
export function useConnection<NodeType extends Node = Node>(): ConnectionState<InternalNode<NodeType>> {
return useStore(selector, shallow) as ConnectionState<InternalNode<NodeType>>;
}