UNPKG

zustand-middleware-computed-state

Version:
28 lines (20 loc) 969 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _extends = require('@babel/runtime/helpers/extends'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends); var computed = function computed(create, compute) { return function (set, get, api) { var setWithComputed = function setWithComputed(update, replace) { set(function (state) { var updated = typeof update === 'function' ? update(state) : update; var computedState = compute(_extends__default['default']({}, state, updated)); return _extends__default['default']({}, updated, computedState); }, replace); }; api.setState = setWithComputed; var state = create(setWithComputed, get, api); return _extends__default['default']({}, state, compute(state)); }; }; exports.computed = computed;