UNPKG

@d3vtool/hooks

Version:

Collection of custom React hooks to simplify tasks in your React projects.

2 lines (1 loc) 1.06 kB
"use strict";var f=function(){return f=Object.assign||function(i){for(var r,a=1,t=arguments.length;a<t;a++){r=arguments[a];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(i[e]=r[e])}return i},f.apply(this,arguments)},s=function(i,r){var a=typeof Symbol=="function"&&i[Symbol.iterator];if(!a)return i;var t=a.call(i),e,n=[],u;try{for(;(r===void 0||r-- >0)&&!(e=t.next()).done;)n.push(e.value)}catch(l){u={error:l}}finally{try{e&&!e.done&&(a=t.return)&&a.call(t)}finally{if(u)throw u.error}}return n},y=function(i,r,a){if(a||arguments.length===2)for(var t=0,e=r.length,n;t<e;t++)(n||!(t in r))&&(n||(n=Array.prototype.slice.call(r,0,t)),n[t]=r[t]);return i.concat(n||Array.prototype.slice.call(r))};import{useCallback as o,useState as v}from"react";export function useMState(i){var r=s(v(i),2),a=r[0],t=r[1],e=o(function(n,u){u===void 0&&(u=!1),t(function(l){var c=u&&l instanceof Object?structuredClone?structuredClone(l):JSON.parse(JSON.stringify(l)):Array.isArray(l)?y([],s(l),!1):l instanceof Object?f({},l):l;return n(c),c})},[]);return[a,e]}