UNPKG

reactflow-canvas-store

Version:

Global and multi-canvas state store for React Flow projects.

26 lines (25 loc) 798 B
const canvasStores = {}; //non-reactive store export const getCanvasStore = (canvasId, key) => { return canvasStores[canvasId]?.[key]; }; export const setCanvasStore = (canvasId, key, value) => { if (!canvasStores[canvasId]) { canvasStores[canvasId] = {}; } canvasStores[canvasId][key] = value; }; export const updateCanvasStore = (canvasId, key, value) => { if (!canvasStores[canvasId]) { throw new Error(`No store found for canvasId "${canvasId}"`); } if (!(key in canvasStores[canvasId])) { throw new Error(`Key "${key}" does not exist in canvasId "${canvasId}"`); } canvasStores[canvasId][key] = value; }; export const resetCanvasStore = (canvasId) => { if (canvasStores[canvasId]) { canvasStores[canvasId] = {}; } };