UNPKG

@moxy/next-layout

Version:

Add persistent and nested layouts to your Next.js projects in a declarative way

30 lines (23 loc) 809 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); const createSetObjectState = setState => newState => { const updater = typeof newState === 'function' ? newState : () => newState; return setState(state => ({ ...state, ...updater(state) })); }; const useObjectState = initialState => { const [state, setState] = (0, _react.useState)(() => initialState !== null && initialState !== void 0 ? initialState : {}); const setObjectStateRef = (0, _react.useRef)(); if (!setObjectStateRef.current) { setObjectStateRef.current = createSetObjectState(setState); } return [state, setObjectStateRef.current]; }; var _default = useObjectState; exports.default = _default; module.exports = exports.default;