26 lines
616 B
JavaScript

import { createContext } from 'react';
import { RootStore } from './root';
/** @type{RootStore} */
let store;
export const StoreContext = createContext(store);
export function initializeStore(initialData) {
const _store = store ?? new RootStore();
if (initialData) {
const {
user = null,
calculation: { values = {}, statuses = {} },
} = initialData;
_store.$user.hydrate(user);
_store.$calculation.$values.hydrate(values);
_store.$calculation.$status.hydrate(statuses);
}
if (typeof window === 'undefined') return _store;
if (!store) store = _store;
return _store;
}