@tamagui/is-equal-shallow 1.129.12 → 1.129.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,18 +26,18 @@ __export(index_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(index_exports);
28
28
  var import_react = require("react");
29
- function useCreateShallowSetState(setter, debugIn) {
30
- return (0, import_react.useCallback)(next => {
31
- setter(prev => mergeIfNotShallowEqual(prev, next, debugIn));
32
- }, [setter, debugIn]);
29
+ function useCreateShallowSetState(setter, debug) {
30
+ return (0, import_react.useCallback)(stateOrGetState => {
31
+ setter(prev => {
32
+ const next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState,
33
+ update = mergeIfNotShallowEqual(prev, next);
34
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break")) debugger;
35
+ return update;
36
+ });
37
+ }, [setter, debug]);
33
38
  }
34
- function mergeIfNotShallowEqual(prev, next, debug) {
35
- if (!prev || !next || isEqualShallow(prev, next)) return prev || next;
36
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", {
37
- prev,
38
- next
39
- }), debug === "break")) debugger;
40
- return {
39
+ function mergeIfNotShallowEqual(prev, next) {
40
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
41
41
  ...prev,
42
42
  ...next
43
43
  };
package/dist/cjs/index.js CHANGED
@@ -20,20 +20,21 @@ __export(index_exports, {
20
20
  });
21
21
  module.exports = __toCommonJS(index_exports);
22
22
  var import_react = require("react");
23
- function useCreateShallowSetState(setter, debugIn) {
23
+ function useCreateShallowSetState(setter, debug) {
24
24
  return (0, import_react.useCallback)(
25
- (next) => {
26
- setter((prev) => mergeIfNotShallowEqual(prev, next, debugIn));
25
+ (stateOrGetState) => {
26
+ setter((prev) => {
27
+ const next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState, update = mergeIfNotShallowEqual(prev, next);
28
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break"))
29
+ debugger;
30
+ return update;
31
+ });
27
32
  },
28
- [setter, debugIn]
33
+ [setter, debug]
29
34
  );
30
35
  }
31
- function mergeIfNotShallowEqual(prev, next, debug) {
32
- if (!prev || !next || isEqualShallow(prev, next))
33
- return prev || next;
34
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", { prev, next }), debug === "break"))
35
- debugger;
36
- return { ...prev, ...next };
36
+ function mergeIfNotShallowEqual(prev, next) {
37
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : { ...prev, ...next };
37
38
  }
38
39
  function isEqualShallow(prev, next) {
39
40
  for (const key in next)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4B;AAMrB,SAAS,yBACd,QACA,SACgC;AAEhC,aAAO;AAAA,IACL,CAAC,SAAyB;AACxB,aAAO,CAAC,SACC,uBAAuB,MAAM,MAAM,OAAO,CAClD;AAAA,IACH;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,EAClB;AACF;AAEO,SAAS,uBACd,MACA,MACA,OACO;AACP,MAAI,CAAC,QAAQ,CAAC,QAAQ,eAAe,MAAM,IAAI;AAC7C,WAAK,QAAa;AAGpB,MAAI,QAAQ,IAAI,aAAa,iBACvB,UACF,QAAQ,KAAK,0BAA0B,EAAE,MAAM,KAAK,CAAC,GACjD,UAAU;AAEZ;AAIN,SAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAC5B;AAEO,SAAS,eAAe,MAAc,MAAuB;AAClE,aAAW,OAAO;AAChB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG;AACxB,aAAO;AAGX,SAAO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4B;AAMrB,SAAS,yBACd,QACA,OACsD;AAEtD,aAAO;AAAA,IACL,CAAC,oBAAoB;AACnB,aAAO,CAAC,SAAS;AACf,cAAM,OACJ,OAAO,mBAAoB,aAAa,gBAAgB,IAAI,IAAI,iBAC5D,SAAS,uBAAuB,MAAM,IAAI;AAEhD,YAAI,QAAQ,IAAI,aAAa,iBACvB,SAAS,WAAW,SACtB,QAAQ,eAAe,0BAA0B,MAAM,MAAM,GAC7D,QAAQ,KAAK,cAAc,IAAI,GAC/B,QAAQ,MAAM,GACd,QAAQ,SAAS,GACb,UAAU;AAEZ;AAIN,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,QAAQ,KAAK;AAAA,EAChB;AACF;AAEO,SAAS,uBACd,MACA,MACO;AACP,SAAI,CAAC,QAAQ,CAAC,QAAQ,eAAe,MAAM,IAAI,IACxC,QAAa,OAGb,EAAE,GAAG,MAAM,GAAG,KAAK;AAC5B;AAEO,SAAS,eACd,MACA,MACS;AACT,aAAW,OAAO;AAChB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG;AACxB,aAAO;AAGX,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -21,25 +21,21 @@ __export(index_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(index_exports);
23
23
  var import_react = require("react");
24
- function useCreateShallowSetState(setter, debugIn) {
25
- return (0, import_react.useCallback)(function(next) {
24
+ function useCreateShallowSetState(setter, debug) {
25
+ return (0, import_react.useCallback)(function(stateOrGetState) {
26
26
  setter(function(prev) {
27
- return mergeIfNotShallowEqual(prev, next, debugIn);
27
+ var next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState, update = mergeIfNotShallowEqual(prev, next);
28
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break"))
29
+ debugger;
30
+ return update;
28
31
  });
29
32
  }, [
30
33
  setter,
31
- debugIn
34
+ debug
32
35
  ]);
33
36
  }
34
- function mergeIfNotShallowEqual(prev, next, debug) {
35
- if (!prev || !next || isEqualShallow(prev, next))
36
- return prev || next;
37
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", {
38
- prev,
39
- next
40
- }), debug === "break"))
41
- debugger;
42
- return {
37
+ function mergeIfNotShallowEqual(prev, next) {
38
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
43
39
  ...prev,
44
40
  ...next
45
41
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;mBAA4B;AAMrB,SAASA,yBACdC,QACAC,SAAmB;AAGnB,aAAOC,0BACL,SAACC,MAAAA;AACCH,WAAO,SAACI,MAAAA;AACN,aAAOC,uBAAuBD,MAAMD,MAAMF,OAAAA;IAC5C,CAAA;EACF,GACA;IAACD;IAAQC;GAAQ;AAErB;AAEO,SAASI,uBACdD,MACAD,MACAG,OAAiB;AAEjB,MAAI,CAACF,QAAQ,CAACD,QAAQI,eAAeH,MAAMD,IAAAA;AACzC,WAAKC,QAAaD;AAGpB,MAAIK,QAAQC,IAAIC,aAAa,iBACvBJ,UACFK,QAAQC,KAAK,0BAA0B;IAAER;IAAMD;EAAK,CAAA,GAChDG,UAAU;AAEZ;AAIN,SAAO;IAAE,GAAGF;IAAM,GAAGD;EAAK;AAC5B;AAEO,SAASI,eAAeH,MAAcD,MAAY;AACvD,WAAWU,OAAOV;AAChB,QAAIC,KAAKS,GAAAA,MAASV,KAAKU,GAAAA;AACrB,aAAO;AAGX,SAAO;AACT;",
5
- "names": ["useCreateShallowSetState", "setter", "debugIn", "useCallback", "next", "prev", "mergeIfNotShallowEqual", "debug", "isEqualShallow", "process", "env", "NODE_ENV", "console", "info", "key"]
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;mBAA4B;AAMrB,SAASA,yBACdC,QACAC,OAAiB;AAGjB,aAAOC,0BACL,SAACC,iBAAAA;AACCH,WAAO,SAACI,MAAAA;AACN,UAAMC,OACJ,OAAOF,mBAAoB,aAAaA,gBAAgBC,IAAAA,IAAQD,iBAC5DG,SAASC,uBAAuBH,MAAMC,IAAAA;AAE5C,UAAIG,QAAQC,IAAIC,aAAa,iBACvBT,SAASK,WAAWF,SACtBO,QAAQC,eAAe,0BAA0B,MAAMN,MAAAA,GACvDK,QAAQE,KAAK,cAAcT,IAAAA,GAC3BO,QAAQG,MAAK,GACbH,QAAQI,SAAQ,GACZd,UAAU;AAEZ;AAIN,aAAOK;IACT,CAAA;EACF,GACA;IAACN;IAAQC;GAAM;AAEnB;AAEO,SAASM,uBACdH,MACAC,MAAoB;AAEpB,SAAI,CAACD,QAAQ,CAACC,QAAQW,eAAeZ,MAAMC,IAAAA,IACpCD,QAAaC,OAGb;IAAE,GAAGD;IAAM,GAAGC;EAAK;AAC5B;AAEO,SAASW,eACdZ,MACAC,MAA6B;AAE7B,WAAWY,OAAOZ;AAChB,QAAID,KAAKa,GAAAA,MAASZ,KAAKY,GAAAA;AACrB,aAAO;AAGX,SAAO;AACT;",
5
+ "names": ["useCreateShallowSetState", "setter", "debug", "useCallback", "stateOrGetState", "prev", "next", "update", "mergeIfNotShallowEqual", "process", "env", "NODE_ENV", "console", "groupCollapsed", "info", "trace", "groupEnd", "isEqualShallow", "key"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -1,18 +1,19 @@
1
1
  import { useCallback } from "react";
2
- function useCreateShallowSetState(setter, debugIn) {
2
+ function useCreateShallowSetState(setter, debug) {
3
3
  return useCallback(
4
- (next) => {
5
- setter((prev) => mergeIfNotShallowEqual(prev, next, debugIn));
4
+ (stateOrGetState) => {
5
+ setter((prev) => {
6
+ const next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState, update = mergeIfNotShallowEqual(prev, next);
7
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break"))
8
+ debugger;
9
+ return update;
10
+ });
6
11
  },
7
- [setter, debugIn]
12
+ [setter, debug]
8
13
  );
9
14
  }
10
- function mergeIfNotShallowEqual(prev, next, debug) {
11
- if (!prev || !next || isEqualShallow(prev, next))
12
- return prev || next;
13
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", { prev, next }), debug === "break"))
14
- debugger;
15
- return { ...prev, ...next };
15
+ function mergeIfNotShallowEqual(prev, next) {
16
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : { ...prev, ...next };
16
17
  }
17
18
  function isEqualShallow(prev, next) {
18
19
  for (const key in next)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,SAAS,mBAAmB;AAMrB,SAAS,yBACd,QACA,SACgC;AAEhC,SAAO;AAAA,IACL,CAAC,SAAyB;AACxB,aAAO,CAAC,SACC,uBAAuB,MAAM,MAAM,OAAO,CAClD;AAAA,IACH;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,EAClB;AACF;AAEO,SAAS,uBACd,MACA,MACA,OACO;AACP,MAAI,CAAC,QAAQ,CAAC,QAAQ,eAAe,MAAM,IAAI;AAC7C,WAAK,QAAa;AAGpB,MAAI,QAAQ,IAAI,aAAa,iBACvB,UACF,QAAQ,KAAK,0BAA0B,EAAE,MAAM,KAAK,CAAC,GACjD,UAAU;AAEZ;AAIN,SAAO,EAAE,GAAG,MAAM,GAAG,KAAK;AAC5B;AAEO,SAAS,eAAe,MAAc,MAAuB;AAClE,aAAW,OAAO;AAChB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG;AACxB,aAAO;AAGX,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAS,mBAAmB;AAMrB,SAAS,yBACd,QACA,OACsD;AAEtD,SAAO;AAAA,IACL,CAAC,oBAAoB;AACnB,aAAO,CAAC,SAAS;AACf,cAAM,OACJ,OAAO,mBAAoB,aAAa,gBAAgB,IAAI,IAAI,iBAC5D,SAAS,uBAAuB,MAAM,IAAI;AAEhD,YAAI,QAAQ,IAAI,aAAa,iBACvB,SAAS,WAAW,SACtB,QAAQ,eAAe,0BAA0B,MAAM,MAAM,GAC7D,QAAQ,KAAK,cAAc,IAAI,GAC/B,QAAQ,MAAM,GACd,QAAQ,SAAS,GACb,UAAU;AAEZ;AAIN,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,QAAQ,KAAK;AAAA,EAChB;AACF;AAEO,SAAS,uBACd,MACA,MACO;AACP,SAAI,CAAC,QAAQ,CAAC,QAAQ,eAAe,MAAM,IAAI,IACxC,QAAa,OAGb,EAAE,GAAG,MAAM,GAAG,KAAK;AAC5B;AAEO,SAAS,eACd,MACA,MACS;AACT,aAAW,OAAO;AAChB,QAAI,KAAK,GAAG,MAAM,KAAK,GAAG;AACxB,aAAO;AAGX,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,16 +1,16 @@
1
1
  import { useCallback } from "react";
2
- function useCreateShallowSetState(setter, debugIn) {
3
- return useCallback(next => {
4
- setter(prev => mergeIfNotShallowEqual(prev, next, debugIn));
5
- }, [setter, debugIn]);
2
+ function useCreateShallowSetState(setter, debug) {
3
+ return useCallback(stateOrGetState => {
4
+ setter(prev => {
5
+ const next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState,
6
+ update = mergeIfNotShallowEqual(prev, next);
7
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break")) debugger;
8
+ return update;
9
+ });
10
+ }, [setter, debug]);
6
11
  }
7
- function mergeIfNotShallowEqual(prev, next, debug) {
8
- if (!prev || !next || isEqualShallow(prev, next)) return prev || next;
9
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", {
10
- prev,
11
- next
12
- }), debug === "break")) debugger;
13
- return {
12
+ function mergeIfNotShallowEqual(prev, next) {
13
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
14
14
  ...prev,
15
15
  ...next
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useCreateShallowSetState","setter","debugIn","next","prev","mergeIfNotShallowEqual","debug","isEqualShallow","process","env","NODE_ENV","console","info","key"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAMrB,SAASC,yBACdC,MAAA,EACAC,OAAA,EACgC;EAEhC,OAAOH,WAAA,CACJI,IAAA,IAAyB;IACxBF,MAAA,CAAQG,IAAA,IACCC,sBAAA,CAAuBD,IAAA,EAAMD,IAAA,EAAMD,OAAO,CAClD;EACH,GACA,CAACD,MAAA,EAAQC,OAAO,CAClB;AACF;AAEO,SAASG,uBACdD,IAAA,EACAD,IAAA,EACAG,KAAA,EACO;EACP,IAAI,CAACF,IAAA,IAAQ,CAACD,IAAA,IAAQI,cAAA,CAAeH,IAAA,EAAMD,IAAI,GAC7C,OAAKC,IAAA,IAAaD,IAAA;EAGpB,IAAIK,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBJ,KAAA,KACFK,OAAA,CAAQC,IAAA,CAAK,0BAA0B;IAAER,IAAA;IAAMD;EAAK,CAAC,GACjDG,KAAA,KAAU,UAEZ;EAIN,OAAO;IAAE,GAAGF,IAAA;IAAM,GAAGD;EAAK;AAC5B;AAEO,SAASI,eAAeH,IAAA,EAAcD,IAAA,EAAuB;EAClE,WAAWU,GAAA,IAAOV,IAAA,EAChB,IAAIC,IAAA,CAAKS,GAAG,MAAMV,IAAA,CAAKU,GAAG,GACxB,OAAO;EAGX,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useCreateShallowSetState","setter","debug","stateOrGetState","prev","next","update","mergeIfNotShallowEqual","process","env","NODE_ENV","console","groupCollapsed","info","trace","groupEnd","isEqualShallow","key"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAMrB,SAASC,yBACdC,MAAA,EACAC,KAAA,EACsD;EAEtD,OAAOH,WAAA,CACJI,eAAA,IAAoB;IACnBF,MAAA,CAAQG,IAAA,IAAS;MACf,MAAMC,IAAA,GACJ,OAAOF,eAAA,IAAoB,aAAaA,eAAA,CAAgBC,IAAI,IAAID,eAAA;QAC5DG,MAAA,GAASC,sBAAA,CAAuBH,IAAA,EAAMC,IAAI;MAEhD,IAAIG,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBACvBR,KAAA,IAASI,MAAA,KAAWF,IAAA,KACtBO,OAAA,CAAQC,cAAA,CAAe,0BAA0B,MAAMN,MAAM,GAC7DK,OAAA,CAAQE,IAAA,CAAK,cAAcT,IAAI,GAC/BO,OAAA,CAAQG,KAAA,CAAM,GACdH,OAAA,CAAQI,QAAA,CAAS,GACbb,KAAA,KAAU,UAEZ;MAIN,OAAOI,MAAA;IACT,CAAC;EACH,GACA,CAACL,MAAA,EAAQC,KAAK,CAChB;AACF;AAEO,SAASK,uBACdH,IAAA,EACAC,IAAA,EACO;EACP,OAAI,CAACD,IAAA,IAAQ,CAACC,IAAA,IAAQW,cAAA,CAAeZ,IAAA,EAAMC,IAAI,IACxCD,IAAA,IAAaC,IAAA,GAGb;IAAE,GAAGD,IAAA;IAAM,GAAGC;EAAK;AAC5B;AAEO,SAASW,eACdZ,IAAA,EACAC,IAAA,EACS;EACT,WAAWY,GAAA,IAAOZ,IAAA,EAChB,IAAID,IAAA,CAAKa,GAAG,MAAMZ,IAAA,CAAKY,GAAG,GACxB,OAAO;EAGX,OAAO;AACT","ignoreList":[]}
@@ -1,18 +1,16 @@
1
1
  import { useCallback } from "react";
2
- function useCreateShallowSetState(setter, debugIn) {
3
- return useCallback(function (next) {
2
+ function useCreateShallowSetState(setter, debug) {
3
+ return useCallback(function (stateOrGetState) {
4
4
  setter(function (prev) {
5
- return mergeIfNotShallowEqual(prev, next, debugIn);
5
+ var next = typeof stateOrGetState == "function" ? stateOrGetState(prev) : stateOrGetState,
6
+ update = mergeIfNotShallowEqual(prev, next);
7
+ if (process.env.NODE_ENV === "development" && debug && update !== prev && (console.groupCollapsed("setStateShallow CHANGE", "=>", update), console.info("previously", prev), console.trace(), console.groupEnd(), debug === "break")) debugger;
8
+ return update;
6
9
  });
7
- }, [setter, debugIn]);
10
+ }, [setter, debug]);
8
11
  }
9
- function mergeIfNotShallowEqual(prev, next, debug) {
10
- if (!prev || !next || isEqualShallow(prev, next)) return prev || next;
11
- if (process.env.NODE_ENV === "development" && debug && (console.info("setStateShallow CHANGE", {
12
- prev,
13
- next
14
- }), debug === "break")) debugger;
15
- return {
12
+ function mergeIfNotShallowEqual(prev, next) {
13
+ return !prev || !next || isEqualShallow(prev, next) ? prev || next : {
16
14
  ...prev,
17
15
  ...next
18
16
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useCreateShallowSetState","setter","debugIn","next","prev","mergeIfNotShallowEqual","debug","isEqualShallow","process","env","NODE_ENV","console","info"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAMrB,SAASC,yBACdC,MAAA,EACAC,OAAA,EACgC;EAEhC,OAAOH,WAAA,WAAAI,IAAA;IACLF,MAAC,WAAyBG,IAAA;MACxB,OAAOC,sBACE,CAAAD,IAAA,EAAAD,IAAuB,EAAAD,OAAM;IAExC;EAAA,GACC,CACHD,MAAA,EACFC,OAAA,CAEO;AAKL;AACE,SAAAG,sBAAkBA,CAAAD,IAAA,EAAAD,IAAA,EAAAG,KAAA;EAGpB,IAAI,CAAAF,IAAA,IAAQ,CAAAD,IAAI,IAAAI,cAAa,CAAAH,IAAA,EAAAD,IACvB,GAIA,OAAAC,IAAA,IAAAD,IAAA;EAIN,IAAAK,OAAS,CAAGC,GAAA,CAAAC,QAAS,KAAK,iBAAAJ,KAAA,KAAAK,OAAA,CAAAC,IAAA;IAC5BR,IAAA;IAEOD;EACL,IAAAG,KAAA,KAAW,OAAO,GAChB;EACE;IAGJ,GAAAF,IAAO;IACT,GAAAD","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useCreateShallowSetState","setter","debug","stateOrGetState","prev","next","update","mergeIfNotShallowEqual","process","env","NODE_ENV","console","groupCollapsed","info","trace","groupEnd","isEqualShallow","key"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAMrB,SAASC,yBACdC,MAAA,EACAC,KAAA,EACsD;EAEtD,OAAOH,WAAA,WAAAI,eAAA;IACLF,MAAC,WAAAG,IAAA,EAAoB;MACnB,IAAAC,IAAQ,UAASF,eAAA,iBAAAA,eAAA,CAAAC,IAAA,IAAAD,eAAA;QAAAG,MAAA,GAAAC,sBAAA,CAAAH,IAAA,EAAAC,IAAA;MACf,IAAAG,OAAM,CAAAC,GACJ,CAAAC,QAAO,kBAAoB,IAAAR,KAAA,IAAaI,MAAA,KAAAF,IAAgB,KAAIO,OAAI,CAAAC,cAC5D,yBAAS,MAAuB,EAAAN,MAAM,CAAI,EAAAK,OAAA,CAAAE,IAAA,eAAAT,IAAA,GAAAO,OAAA,CAAAG,KAAA,IAAAH,OAAA,CAAAI,QAAA,IAAAb,KAAA,eAEhD;MAQM,OAAAI,MAAA;IAIN;EAAO,IAEXL,MAAA,EACAC,KAAC,CACH;AACF;AAEO,SAASK,uBACdH,IAAA,EACAC,IAAA,EACO;EACP,OAAI,CAACD,IAAA,IAAQ,CAACC,IAAA,IAAQW,cAAA,CAAeZ,IAAA,EAAMC,IAAI,IACxCD,IAAA,IAAaC,IAAA,GAGb;IACT,GAAAD,IAAA;IAEO,GAAAC;EAIL;AACE;AACE,SAAAW,cAAOA,CAAAZ,IAAA,EAAAC,IAAA;EAGX,SAAOY,GAAA,IAAAZ,IAAA,EACT,IAAAD,IAAA,CAAAa,GAAA,MAAAZ,IAAA,CAAAY,GAAA,G","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/is-equal-shallow",
3
- "version": "1.129.12",
3
+ "version": "1.129.13",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -18,7 +18,7 @@
18
18
  "clean:build": "tamagui-build clean:build"
19
19
  },
20
20
  "devDependencies": {
21
- "@tamagui/build": "1.129.12"
21
+ "@tamagui/build": "1.129.13"
22
22
  },
23
23
  "exports": {
24
24
  "./package.json": "./package.json",
package/src/index.ts CHANGED
@@ -6,41 +6,50 @@ export type CallbackSetState<State> = (next: (cb: State) => State) => void
6
6
 
7
7
  export function useCreateShallowSetState<State extends Record<string, unknown>>(
8
8
  setter: CallbackSetState<State>,
9
- debugIn?: DebugProp
10
- ): (next: Partial<State>) => void {
9
+ debug?: DebugProp
10
+ ): React.Dispatch<React.SetStateAction<Partial<State>>> {
11
11
  // this must be memoized or it ruins performance in components
12
12
  return useCallback(
13
- (next: Partial<State>) => {
13
+ (stateOrGetState) => {
14
14
  setter((prev) => {
15
- return mergeIfNotShallowEqual(prev, next, debugIn)
15
+ const next =
16
+ typeof stateOrGetState === 'function' ? stateOrGetState(prev) : stateOrGetState
17
+ const update = mergeIfNotShallowEqual(prev, next)
18
+
19
+ if (process.env.NODE_ENV === 'development') {
20
+ if (debug && update !== prev) {
21
+ console.groupCollapsed(`setStateShallow CHANGE`, '=>', update)
22
+ console.info(`previously`, prev)
23
+ console.trace()
24
+ console.groupEnd()
25
+ if (debug === 'break') {
26
+ // biome-ignore lint/suspicious/noDebugger: <explanation>
27
+ debugger
28
+ }
29
+ }
30
+ }
31
+ return update
16
32
  })
17
33
  },
18
- [setter, debugIn]
34
+ [setter, debug]
19
35
  )
20
36
  }
21
37
 
22
38
  export function mergeIfNotShallowEqual<State extends Record<string, unknown>>(
23
39
  prev: State,
24
- next: Partial<State>,
25
- debug?: DebugProp
40
+ next: Partial<State>
26
41
  ): State {
27
42
  if (!prev || !next || isEqualShallow(prev, next)) {
28
43
  if (!prev) return next as State
29
44
  return prev
30
45
  }
31
- if (process.env.NODE_ENV === 'development') {
32
- if (debug) {
33
- console.info(`setStateShallow CHANGE`, { prev, next })
34
- if (debug === 'break') {
35
- // biome-ignore lint/suspicious/noDebugger: <explanation>
36
- debugger
37
- }
38
- }
39
- }
40
46
  return { ...prev, ...next }
41
47
  }
42
48
 
43
- export function isEqualShallow(prev: Object, next: Object): boolean {
49
+ export function isEqualShallow(
50
+ prev: Record<string, unknown>,
51
+ next: Record<string, unknown>
52
+ ): boolean {
44
53
  for (const key in next) {
45
54
  if (prev[key] !== next[key]) {
46
55
  return false
package/types/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  type DebugProp = null | undefined | boolean | "profile" | "verbose" | "break";
2
2
  export type CallbackSetState<State> = (next: (cb: State) => State) => void;
3
- export declare function useCreateShallowSetState<State extends Record<string, unknown>>(setter: CallbackSetState<State>, debugIn?: DebugProp): (next: Partial<State>) => void;
4
- export declare function mergeIfNotShallowEqual<State extends Record<string, unknown>>(prev: State, next: Partial<State>, debug?: DebugProp): State;
5
- export declare function isEqualShallow(prev: Object, next: Object): boolean;
3
+ export declare function useCreateShallowSetState<State extends Record<string, unknown>>(setter: CallbackSetState<State>, debug?: DebugProp): React.Dispatch<React.SetStateAction<Partial<State>>>;
4
+ export declare function mergeIfNotShallowEqual<State extends Record<string, unknown>>(prev: State, next: Partial<State>): State;
5
+ export declare function isEqualShallow(prev: Record<string, unknown>, next: Record<string, unknown>): boolean;
6
6
  export {};
7
7
 
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,21 +1,20 @@
1
1
  {
2
- "mappings": "KAEK,yCAAyC,YAAY,YAAY;AAEtE,YAAY,iBAAiB,UAAUA,OAAOC,IAAI,UAAU;AAE5D,OAAO,iBAAS,yBAAyB,cAAc,yBACrDC,QAAQ,iBAAiB,QACzBC,UAAU,aACRC,MAAM,QAAQ;AAYlB,OAAO,iBAAS,uBAAuB,cAAc,yBACnDC,MAAM,OACND,MAAM,QAAQ,QACdE,QAAQ,YACP;AAiBH,OAAO,iBAAS,eAAeC,MAAM,QAAQC,MAAM",
2
+ "mappings": "KAEK,yCAAyC,YAAY,YAAY;AAEtE,YAAY,iBAAiB,UAAUA,OAAOC,IAAI,UAAU;AAE5D,OAAO,iBAAS,yBAAyB,cAAc,yBACrDC,QAAQ,iBAAiB,QACzBC,QAAQ,YACP,MAAM,SAAS,MAAM,eAAe,QAAQ;AA4B/C,OAAO,iBAAS,uBAAuB,cAAc,yBACnDC,MAAM,OACNC,MAAM,QAAQ,SACb;AAQH,OAAO,iBAAS,eACdC,MAAM,yBACNC,MAAM",
3
3
  "names": [
4
4
  "next: (cb: State) => State",
5
5
  "cb: State",
6
6
  "setter: CallbackSetState<State>",
7
- "debugIn?: DebugProp",
8
- "next: Partial<State>",
9
- "prev: State",
10
7
  "debug?: DebugProp",
11
- "prev: Object",
12
- "next: Object"
8
+ "prev: State",
9
+ "next: Partial<State>",
10
+ "prev: Record<string, unknown>",
11
+ "next: Record<string, unknown>"
13
12
  ],
14
13
  "sources": [
15
14
  "src/index.ts"
16
15
  ],
17
16
  "sourcesContent": [
18
- "import { useCallback } from 'react'\n\ntype DebugProp = null | undefined | boolean | 'profile' | 'verbose' | 'break'\n\nexport type CallbackSetState<State> = (next: (cb: State) => State) => void\n\nexport function useCreateShallowSetState<State extends Record<string, unknown>>(\n setter: CallbackSetState<State>,\n debugIn?: DebugProp\n): (next: Partial<State>) => void {\n // this must be memoized or it ruins performance in components\n return useCallback(\n (next: Partial<State>) => {\n setter((prev) => {\n return mergeIfNotShallowEqual(prev, next, debugIn)\n })\n },\n [setter, debugIn]\n )\n}\n\nexport function mergeIfNotShallowEqual<State extends Record<string, unknown>>(\n prev: State,\n next: Partial<State>,\n debug?: DebugProp\n): State {\n if (!prev || !next || isEqualShallow(prev, next)) {\n if (!prev) return next as State\n return prev\n }\n if (process.env.NODE_ENV === 'development') {\n if (debug) {\n console.info(`setStateShallow CHANGE`, { prev, next })\n if (debug === 'break') {\n // biome-ignore lint/suspicious/noDebugger: <explanation>\n debugger\n }\n }\n }\n return { ...prev, ...next }\n}\n\nexport function isEqualShallow(prev: Object, next: Object): boolean {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n return false\n }\n }\n return true\n}\n"
17
+ "import { useCallback } from 'react'\n\ntype DebugProp = null | undefined | boolean | 'profile' | 'verbose' | 'break'\n\nexport type CallbackSetState<State> = (next: (cb: State) => State) => void\n\nexport function useCreateShallowSetState<State extends Record<string, unknown>>(\n setter: CallbackSetState<State>,\n debug?: DebugProp\n): React.Dispatch<React.SetStateAction<Partial<State>>> {\n // this must be memoized or it ruins performance in components\n return useCallback(\n (stateOrGetState) => {\n setter((prev) => {\n const next =\n typeof stateOrGetState === 'function' ? stateOrGetState(prev) : stateOrGetState\n const update = mergeIfNotShallowEqual(prev, next)\n\n if (process.env.NODE_ENV === 'development') {\n if (debug && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, '=>', update)\n console.info(`previously`, prev)\n console.trace()\n console.groupEnd()\n if (debug === 'break') {\n // biome-ignore lint/suspicious/noDebugger: <explanation>\n debugger\n }\n }\n }\n return update\n })\n },\n [setter, debug]\n )\n}\n\nexport function mergeIfNotShallowEqual<State extends Record<string, unknown>>(\n prev: State,\n next: Partial<State>\n): State {\n if (!prev || !next || isEqualShallow(prev, next)) {\n if (!prev) return next as State\n return prev\n }\n return { ...prev, ...next }\n}\n\nexport function isEqualShallow(\n prev: Record<string, unknown>,\n next: Record<string, unknown>\n): boolean {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n return false\n }\n }\n return true\n}\n"
19
18
  ],
20
19
  "version": 3
21
20
  }