From 6ed505f70d829251fb1c9335afe5e3308ceca8a7 Mon Sep 17 00:00:00 2001 From: ShaMan123 <34343793+ShaMan123@users.noreply.github.com> Date: Fri, 1 Jan 2021 11:21:55 +0200 Subject: [PATCH] add type inference for data property --- src/types/index.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/types/index.ts b/src/types/index.ts index 5866b050..16a2f16b 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -34,12 +34,12 @@ export interface Box extends XYPosition { export type SnapGrid = [number, number]; -export interface Node { +export interface Node { id: ElementId; position: XYPosition; type?: string; __rf?: any; - data?: any; + data?: T; style?: CSSProperties; className?: string; targetPosition?: Position; @@ -55,7 +55,7 @@ export enum ArrowHeadType { ArrowClosed = 'arrowclosed', } -export interface Edge { +export interface Edge { id: ElementId; type?: string; source: ElementId; @@ -72,7 +72,7 @@ export interface Edge { animated?: boolean; arrowHeadType?: ArrowHeadType; isHidden?: boolean; - data?: any; + data?: T; className?: string; } @@ -93,11 +93,11 @@ export interface SelectionRect extends Rect { draw: boolean; } -export interface WrapEdgeProps { +export interface WrapEdgeProps { id: ElementId; className?: string; type: string; - data?: any; + data?: T; onClick?: (event: React.MouseEvent, edge: Edge) => void; selected: boolean; animated?: boolean; @@ -126,7 +126,7 @@ export interface WrapEdgeProps { onConnectEdge: OnConnectFunc; } -export interface EdgeProps { +export interface EdgeProps { id: ElementId; source: ElementId; target: ElementId; @@ -147,7 +147,7 @@ export interface EdgeProps { style?: CSSProperties; arrowHeadType?: ArrowHeadType; markerEndId?: string; - data?: any; + data?: T; } export interface EdgeSmoothStepProps extends EdgeProps { borderRadius?: number; @@ -164,10 +164,10 @@ export interface EdgeTextProps { labelBgBorderRadius?: number; } -export interface NodeProps { +export interface NodeProps { id: ElementId; type: string; - data: any; + data: T; selected: boolean; isConnectable: boolean; xPos?: number; @@ -177,10 +177,10 @@ export interface NodeProps { isDragging?: boolean; } -export interface NodeComponentProps { +export interface NodeComponentProps { id: ElementId; type: string; - data: any; + data: T; selected?: boolean; isConnectable: boolean; transform?: Transform; @@ -199,10 +199,10 @@ export interface NodeComponentProps { isDragging?: boolean; } -export interface WrapNodeProps { +export interface WrapNodeProps { id: ElementId; type: string; - data: any; + data: T; selected: boolean; scale: number; xPos: number;