UNPKG

use-merge-state

Version:

A useState variant hook that merges updates.

3 lines (2 loc) 1.14 kB
import{useState as n,useMemo as t,useCallback as r}from"react";function e(){return e=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n},e.apply(this,arguments)}var o=Array.isArray;function c(n){return n instanceof Function}function u(n){return n instanceof Map}function i(n){return"object"==typeof n&&null!==n&&n.constructor===Object&&Object.getPrototypeOf(n)===Object.prototype}function a(n){return n instanceof Set}var f=function(n,t){return o(n)&&o(t)?function(n,t){return[].concat(n,t)}(n,t):i(n)&&i(t)?function(n,t){return e({},n,t)}(n,t):u(n)&&u(t)?function(n,t){return new Map([].concat(n,t))}(n,t):a(n)&&a(t)?function(n,t){return new Set([].concat(n,t))}(n,t):t},p={merge:!0};function l(o,u){void 0===u&&(u=p);var i=n(o),a=i[0],l=i[1],s=t(function(){return e({},p,u)},[u]),v=r(function(n,t){var r=e({},s,t);l(r.merge?function(t){return f(t,function(n){return c(n)?n.apply(void 0,[].slice.call(arguments,1)):n}(n,t))}:n)},[s]);return[a,v]}export{f as merge,l as useMergeState}; //# sourceMappingURL=index.module.js.map