UNPKG

react-codemirror-merge

Version:
39 lines 969 B
import _extends from "@babel/runtime/helpers/extends"; import React, { createContext, useContext, useEffect, useReducer } from 'react'; import { jsx as _jsx } from "react/jsx-runtime"; export var initialState = { modified: { doc: '' }, original: { doc: '' } }; export var Context = /*#__PURE__*/createContext(initialState); export function reducer(state, action) { return _extends({}, state, action, { modified: _extends({}, state.modified, action.modified), original: _extends({}, state.original, action.original) }); } export var useStore = () => { return useContext(Context); }; export var Provider = _ref => { var { children, theme } = _ref; var [state, dispatch] = useReducer(reducer, _extends({}, initialState, { theme })); useEffect(() => dispatch({ theme }), [theme]); return /*#__PURE__*/_jsx(Context.Provider, { value: _extends({}, state, { dispatch }), children: children }); };