2022-05-06 19:37:42 +03:00

28 lines
682 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 = {}, options = {} },
} = initialData;
_store.$user.hydrate(user);
_store.$calculation.$values.hydrate(values);
_store.$calculation.$status.hydrate(statuses);
_store.$calculation.$options.hydrate(options);
}
if (typeof window === 'undefined') return _store;
if (!store) store = _store;
return _store;
}