UNPKG

@ichooss/xflow

Version:

[English (US)](README.md) | 简体中文

34 lines 1.48 kB
import type { UseBoundStore, StoreApi } from 'zustand'; import type { NodeOptions, EdgeOptions } from '../types'; export type Command = 'init' | 'addNodes' | 'removeNodes' | 'updateNode' | 'addEdges' | 'removeEdges' | 'updateEdge'; export type ChangeItem = { command: Command; data: any; }; export type State = { changeList: ChangeItem[]; nodes: NodeOptions[]; edges: EdgeOptions[]; }; type ActionOptions = { silent?: boolean; }; type UpdateNodeDataOrFn = Partial<NodeOptions> | ((node: NodeOptions) => Partial<NodeOptions>); type UpdateEdgeDataOrFn = Partial<EdgeOptions> | ((edge: EdgeOptions) => Partial<NodeOptions>); export type Actions = { initData: (data: { nodes: NodeOptions[]; edges: EdgeOptions[]; }, options?: ActionOptions) => void; addNodes: (ns: NodeOptions[], options?: ActionOptions) => void; removeNodes: (ids: string[], options?: ActionOptions) => void; updateNode: (id: string, data: UpdateNodeDataOrFn, options?: ActionOptions) => void; addEdges: (es: EdgeOptions[], options?: ActionOptions) => void; removeEdges: (ids: string[], options?: ActionOptions) => void; updateEdge: (id: string, data: UpdateEdgeDataOrFn, options?: ActionOptions) => void; clearChangeList: () => void; }; export type GraphStore = UseBoundStore<StoreApi<State & Actions>>; export declare const createGraphStore: () => UseBoundStore<StoreApi<State & Actions>>; export {}; //# sourceMappingURL=index.d.ts.map