@datalayer/core
Version:
**Datalayer Core**
45 lines (44 loc) • 1.66 kB
JavaScript
/*
* Copyright (c) 2023-2025 Datalayer, Inc.
* Distributed under the terms of the Modified BSD License.
*/
import { createStore } from 'zustand/vanilla';
import { useStore } from 'zustand';
import { coreStore } from './substates/CoreState';
import { cellStore } from './substates/CellState';
import { documentStore } from './substates/DocumentState';
import { gradeStore } from './substates/GradeState';
import { iamStore } from './substates/IAMState';
import { runtimesStore } from './substates/RuntimesState';
import { layoutStore } from './substates/LayoutState';
import { nbformatStore } from './substates/NbformatState';
import { organizationStore } from './substates/OrganizationState';
import { spaceStore } from './substates/SpaceState';
import { surveysStore } from './substates/SurveysState';
import { teamStore } from './substates/TeamState';
import { isDevDeployment } from '../utils';
export const runStore = createStore((set, get) => ({
version: '',
setVersion: version => {
if (version && !get().version) {
set(state => ({ version }));
}
},
isDev: isDevDeployment(),
core: coreStore.getState,
cell: cellStore.getState,
document: documentStore.getState,
grade: gradeStore.getState,
iam: iamStore.getState,
kernels: runtimesStore.getState,
layout: layoutStore.getState,
nbformat: nbformatStore.getState,
organization: organizationStore.getState,
space: spaceStore.getState,
success: surveysStore.getState,
team: teamStore.getState,
}));
export function useRunStore(selector) {
return useStore(runStore, selector);
}
export default useRunStore;