UNPKG

@mrii/react-table-builder

Version:
33 lines (29 loc) 1.09 kB
'use strict'; var jsxRuntime = require('react/jsx-runtime'); var react = require('react'); var zustand = require('zustand'); var middleware = require('zustand/middleware'); var immer = require('zustand/middleware/immer'); const createZustandContext = ()=>{ const Context = /*#__PURE__*/ react.createContext(null); const useStore = (selector, equals)=>{ const store = react.useContext(Context); if (!store) throw new Error('using columns outside a provider'); return zustand.useStore(store, selector, equals); }; const Provider = ({ initialState , name , actions , children })=>{ const [store] = react.useState(()=>zustand.createStore(middleware.devtools(middleware.combine(initialState, immer.immer(actions)), { name }))); return /*#__PURE__*/ jsxRuntime.jsx(Context.Provider, { value: store, children: children }); }; return [ Provider, useStore ]; }; exports.createZustandContext = createZustandContext; //# sourceMappingURL=index.js.map