@eventcatalogtest/studio
Version:
A drag and drop UI for distributed systems that keeps your diagrams where they belong – in your repo
25 lines (23 loc) • 1.16 kB
text/typescript
import { create } from 'zustand';
interface EventCatalogResourcesStore {
resources: any[]
setResources: (resources: any[]) => void;
studioFilesFromEventCatalogDirectory: { id: string, creationDate: string }[]
setStudioFilesFromEventCatalogDirectory: (studioFilesFromEventCatalogDirectory: { id: string, creationDate: string }[]) => void;
templates: any[]
setTemplates: (templates: any[]) => void;
}
/**
* This store is used for EventCatalog Resources on the file system.
*/
export const useEventCatalogResourcesStore = create<EventCatalogResourcesStore>((set, get) => ({
resources: [],
setResources: (resources: any[]) => set({ resources }),
getResources: () => get().resources,
studioFilesFromEventCatalogDirectory: [],
setStudioFilesFromEventCatalogDirectory: (studioFilesFromEventCatalogDirectory: { id: string, creationDate: string }[]) => set({ studioFilesFromEventCatalogDirectory }),
getStudioFilesFromEventCatalogDirectory: () => get().studioFilesFromEventCatalogDirectory,
templates: [],
setTemplates: (templates: any[]) => set({ templates }),
getTemplates: () => get().templates,
}));