UNPKG

@eventcatalogtest/studio

Version:

A drag and drop UI for distributed systems that keeps your diagrams where they belong – in your repo

28 lines (23 loc) 853 B
// Create a zustand store to manage notifications import { registeredNodeTypes, nodeCategories } from '@/components/core/designer/nodes/index'; import { create } from 'zustand'; interface Node { type: string; configuration: any; category: string; rules: any; } interface NodesStore { nodes: any nodeCategories: any registerNode: (node: Node) => void; getNodeConfiguration: (type: string) => any; } export const useNodesStore = create<NodesStore>((set) => ({ nodes: registeredNodeTypes ? [...registeredNodeTypes] : [], nodeCategories: nodeCategories ? [...nodeCategories] : [], registerNode: (node: Node) => set((state) => ({ nodes: [...state.nodes, node] })), getNodeConfiguration: (type: string) => { return registeredNodeTypes?.find((node) => node.type === type)?.configuration; }, }));