@tamagui/use-debounce 2.0.0-rc.8 → 2.0.0

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.
@@ -2,33 +2,35 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var index_exports = {};
33
35
  __export(index_exports, {
34
36
  debounce: () => debounce,
@@ -38,36 +40,55 @@ __export(index_exports, {
38
40
  module.exports = __toCommonJS(index_exports);
39
41
  var React = __toESM(require("react"), 1);
40
42
  function debounce(func, wait, leading) {
41
- let timeout,
42
- isCancelled = !1;
43
+ let timeout;
44
+ let isCancelled = false;
43
45
  function debounced() {
44
- isCancelled = !1;
46
+ isCancelled = false;
45
47
  const args = arguments;
46
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => {
47
- timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = !1;
48
+ if (leading && !timeout) {
49
+ func.apply(this, args);
50
+ }
51
+ clearTimeout(timeout);
52
+ timeout = setTimeout(() => {
53
+ timeout = null;
54
+ if (!(leading || isCancelled)) {
55
+ func.apply(this, args);
56
+ }
57
+ isCancelled = false;
48
58
  }, wait);
49
59
  }
50
- return debounced.cancel = () => {
51
- isCancelled = !0;
52
- }, debounced;
60
+ debounced.cancel = () => {
61
+ isCancelled = true;
62
+ };
63
+ return debounced;
53
64
  }
54
65
  const defaultOpts = {
55
- leading: !1
66
+ leading: false
56
67
  };
57
68
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
58
69
  const dbEffect = React.useRef(null);
59
- return React.useEffect(() => () => {
60
- dbEffect.current?.cancel();
61
- }, []), React.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]);
70
+ React.useEffect(() => {
71
+ return () => {
72
+ dbEffect.current?.cancel();
73
+ };
74
+ }, []);
75
+ return React.useMemo(() => {
76
+ dbEffect.current = debounce(fn, wait, options.leading);
77
+ return dbEffect.current;
78
+ }, [options.leading, ...mountArgs]);
62
79
  }
63
80
  function useDebounceValue(val, amt = 0) {
64
81
  const [state, setState] = React.useState(val);
65
- return React.useEffect(() => {
82
+ React.useEffect(() => {
66
83
  const tm = setTimeout(() => {
67
- setState(prev => prev === val ? prev : val);
84
+ setState(prev => {
85
+ if (prev === val) return prev;
86
+ return val;
87
+ });
68
88
  }, amt);
69
89
  return () => {
70
90
  clearTimeout(tm);
71
91
  };
72
- }, [val]), state;
92
+ }, [val]);
93
+ return state;
73
94
  }
@@ -4,33 +4,35 @@ var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
18
  get: () => from[key],
18
19
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
20
  });
20
- return to;
21
- };
21
+ }
22
+ return to;
23
+ };
22
24
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
34
36
  var index_exports = {};
35
37
  __export(index_exports, {
36
38
  debounce: () => debounce,
@@ -40,48 +42,61 @@ __export(index_exports, {
40
42
  module.exports = __toCommonJS(index_exports);
41
43
  var React = __toESM(require("react"), 1);
42
44
  function debounce(func, wait, leading) {
43
- var timeout,
44
- isCancelled = !1;
45
+ var timeout;
46
+ var isCancelled = false;
45
47
  function debounced() {
46
48
  var _this = this;
47
- isCancelled = !1;
49
+ isCancelled = false;
48
50
  var args = arguments;
49
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(function () {
50
- timeout = null, leading || isCancelled || func.apply(_this, args), isCancelled = !1;
51
+ if (leading && !timeout) {
52
+ func.apply(this, args);
53
+ }
54
+ clearTimeout(timeout);
55
+ timeout = setTimeout(function () {
56
+ timeout = null;
57
+ if (!(leading || isCancelled)) {
58
+ func.apply(_this, args);
59
+ }
60
+ isCancelled = false;
51
61
  }, wait);
52
62
  }
53
- return debounced.cancel = function () {
54
- isCancelled = !0;
55
- }, debounced;
63
+ debounced.cancel = function () {
64
+ isCancelled = true;
65
+ };
66
+ return debounced;
56
67
  }
57
68
  var defaultOpts = {
58
- leading: !1
69
+ leading: false
59
70
  };
60
71
  function useDebounce(fn, wait) {
61
72
  var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts,
62
- mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn],
63
- dbEffect = React.useRef(null);
64
- return React.useEffect(function () {
73
+ mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
74
+ var dbEffect = React.useRef(null);
75
+ React.useEffect(function () {
65
76
  return function () {
66
77
  var _dbEffect_current;
67
- (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 || _dbEffect_current.cancel();
78
+ (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
68
79
  };
69
- }, []), React.useMemo(function () {
70
- return dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current;
80
+ }, []);
81
+ return React.useMemo(function () {
82
+ dbEffect.current = debounce(fn, wait, options.leading);
83
+ return dbEffect.current;
71
84
  }, [options.leading, ...mountArgs]);
72
85
  }
73
86
  function useDebounceValue(val) {
74
- var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
75
- [state, setState] = React.useState(val);
76
- return React.useEffect(function () {
87
+ var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
88
+ var [state, setState] = React.useState(val);
89
+ React.useEffect(function () {
77
90
  var tm = setTimeout(function () {
78
91
  setState(function (prev) {
79
- return prev === val ? prev : val;
92
+ if (prev === val) return prev;
93
+ return val;
80
94
  });
81
95
  }, amt);
82
96
  return function () {
83
97
  clearTimeout(tm);
84
98
  };
85
- }, [val]), state;
99
+ }, [val]);
100
+ return state;
86
101
  }
87
102
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","debounce","useDebounce","useDebounceValue","module","exports","React","__toESM","require","func","wait","leading","timeout","isCancelled","debounced","_this","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","fn","options","length","mountArgs","dbEffect","useRef","useEffect","_dbEffect_current","current","useMemo"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAuB,GAAAX,YAAA,CAAAK,aAAA;AAQhB,IAAAO,KAAS,GAAAC,OACd,CAAAC,OACA,QACA,IAGA;AACA,SAAIP,QACAA,CAAAQ,IAAA,EAAAC,IAAA,EAAcC,OAAA;EAElB,IAAAC,OAAS;IAAAC,WAAqB;EAC5B,SAAAC,SAAcA,CAAA;IACd,IAAAC,KAAM,OAAO;IACTF,WAAW,GAAC;IAKd,IAAAG,IAAA,GAAAC,SACM;IAIRN,OAAO,KAAAC,OAAA,IAAAH,IAAA,CAAAS,KAAA,OAAAF,IAAA,GAAAG,YAAA,CAAAP,OAAA,GAAAA,OAAA,GAAAQ,UAAA;MACTR,OAAA,SAAAD,OAAA,IAAAE,WAAA,IAAAJ,IAAA,CAAAS,KAAA,CAAAH,KAAA,EAAAC,IAAA,GAAAH,WAAA;IAEA,GAAAH,IAAA;EACE;EACF,OAEOI,SAAA,CAAAO,MAAA;IACTR,WAAA;EAEA,GAAAC,SAAM;AAEC;AAWL,IAAAQ,WAAM;EAENX,OAAA;AAEI;AAAyB,SAExBT,WAEQA,CAAAqB,EAAA,EAAQb,IAAA,EACnB;EAGJ,IAAAc,OAAA,GAAAP,SAAA,CAAAQ,MAAA,QAAAR,SAAA,iBAAAA,SAAA,MAAAK,WAAA;IAAAI,SAAA,GAAAT,SAAA,CAAAQ,MAAA,QAAAR,SAAA,iBAAAA,SAAA,OAMOM,EAAA,CACL;IAAAI,QAAO,GAAOrB,KAAA,CAAAsB,MAAY,MAAM;EAEhC,OAAAtB,KAAA,CAAMuB,SAAA,CAAU,YAAM;IACpB,OAAM,YAAK;MACT,IAAAC,iBACM;MAGR,CAAGA,iBAAG,GAAAH,QAAA,CAAAI,OAAA,cAAAD,iBAAA,eAAAA,iBAAA,CAAAT,MAAA;IAEN;EACE,QAAAf,KAAA,CAAA0B,OAAe;IACjB,OAAAL,QAAA,CAAAI,OAAA,GAAA9B,QAAA,CAAAsB,EAAA,EAAAb,IAAA,EAAAc,OAAA,CAAAb,OAAA,GAAAgB,QAAA,CAAAI,OAAA;EACF,GAAG,CAGLP,OAAA,CAAAb,OAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","debounce","useDebounce","useDebounceValue","module","exports","React","__toESM","require","func","wait","leading","timeout","isCancelled","debounced","_this","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","fn","options","length","mountArgs","dbEffect","useRef","useEffect","_dbEffect_current","current","useMemo","val","amt","state","setState","useState"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAuB,GAAAX,YAAA,CAAAK,aAAA;AAQhB,IAAAO,KAAS,GAAAC,OACd,CAAAC,OACA,QACA,IAGA;AACA,SAAIP,SAAAQ,IAAA,EAAAC,IAAA,EAAAC,OAAA;EACJ,IAAIC,OAAA;EAEJ,IAAAC,WAAS,QAAqB;EAC5B,SAAAC,SAAcA,CAAA;IACd,IAAAC,KAAM,OAAO;IACbF,WAAI,QAAY;IACd,IAAAG,IAAK,GAAAC,SAAY;IACnB,IAAAN,OAAA,KAAAC,OAAA;MACAH,IAAA,CAAAS,KAAA,CAAa,MAAAF,IAAO;IACpB;IACEG,YAAU,CAAAP,OAAA;IACVA,OAAI,GAAEQ,UAAW;MACfR,OAAK,OAAM;MACb,MAAAD,OAAA,IAAAE,WAAA;QACAJ,IAAA,CAAAS,KAAA,CAAAH,KAAc,EAAAC,IAAA;MAChB;MACFH,WAAA;IAEA,GAAAH,IAAA,CAAU;EACR;EACFI,SAAA,CAAAO,MAAA;IAEAR,WAAO;EACT;EAEA,OAAMC,SAAA;AAEC;AAWL,IAAAQ,WAAM;EAENX,OAAM;AACJ;AACE,SAAAT,WAASA,CAAAqB,EAAA,EAASb,IAAA,EAAO;EAAA,IAC3Bc,OAAA,GAAAP,SAAA,CAAAQ,MAAA,QAAAR,SAAA,iBAAAA,SAAA,MAAAK,WAAA;IAAAI,SAAA,GAAAT,SAAA,CAAAQ,MAAA,QAAAR,SAAA,iBAAAA,SAAA,OACFM,EAAI,CAEJ;EACE,IAAAI,QAAS,GAAArB,KAAA,CAAUsB,MAAA,KAAS;EAC5BtB,KAAA,CAAAuB,SAAO,aAAS;IAClB,OAAI,YAAQ;MACd,IAAAC,iBAAA;MAMO,CAAAA,iBAAS,GAAoBH,QAAQ,CAAAI,OAAY,cAAAD,iBAAA,uBAAAA,iBAAA,CAAAT,MAAA;IACtD;EAEA,MAAM;EACJ,OAAAf,KAAM,CAAK0B,OAAA,aAAiB;IAC1BL,QAAA,CAAAI,OAAU,GAAA9B,QAAS,CAAAsB,EAAA,EAAAb,IAAA,EAAAc,OAAA,CAAAb,OAAA;IACjB,OAAAgB,QAAI,CAAAI,OAAc;EAClB,IAAOP,OACR,CAAAb,OAAA,EACH,GAAGe,SAAG,CAEN;AACE;AAAe,SACjBvB,iBAAA8B,GAAA;EACF,IAAIC,GAAG,GAACjB,SAAA,CAAAQ,MAAA,QAAAR,SAAA,iBAAAA,SAAA;EAER,KAAAkB,KAAO,EAAAC,QAAA,IAAA9B,KAAA,CAAA+B,QAAA,CAAAJ,GAAA;EACT3B,KAAA,CAAAuB,SAAA","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,38 +1,56 @@
1
1
  import * as React from "react";
2
2
  function debounce(func, wait, leading) {
3
- let timeout, isCancelled = !1;
3
+ let timeout;
4
+ let isCancelled = false;
4
5
  function debounced() {
5
- isCancelled = !1;
6
+ isCancelled = false;
6
7
  const args = arguments;
7
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => {
8
- timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = !1;
8
+ if (leading && !timeout) {
9
+ func.apply(this, args);
10
+ }
11
+ clearTimeout(timeout);
12
+ timeout = setTimeout(() => {
13
+ timeout = null;
14
+ if (!(leading || isCancelled)) {
15
+ func.apply(this, args);
16
+ }
17
+ isCancelled = false;
9
18
  }, wait);
10
19
  }
11
- return debounced.cancel = () => {
12
- isCancelled = !0;
13
- }, debounced;
20
+ debounced.cancel = () => {
21
+ isCancelled = true;
22
+ };
23
+ return debounced;
14
24
  }
15
- const defaultOpts = { leading: !1 };
25
+ const defaultOpts = {
26
+ leading: false
27
+ };
16
28
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
17
29
  const dbEffect = React.useRef(null);
18
- return React.useEffect(() => () => {
19
- dbEffect.current?.cancel();
20
- }, []), React.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]);
30
+ React.useEffect(() => {
31
+ return () => {
32
+ dbEffect.current?.cancel();
33
+ };
34
+ }, []);
35
+ return React.useMemo(() => {
36
+ dbEffect.current = debounce(fn, wait, options.leading);
37
+ return dbEffect.current;
38
+ }, [options.leading, ...mountArgs]);
21
39
  }
22
40
  function useDebounceValue(val, amt = 0) {
23
41
  const [state, setState] = React.useState(val);
24
- return React.useEffect(() => {
42
+ React.useEffect(() => {
25
43
  const tm = setTimeout(() => {
26
- setState((prev) => prev === val ? prev : val);
44
+ setState(prev => {
45
+ if (prev === val) return prev;
46
+ return val;
47
+ });
27
48
  }, amt);
28
49
  return () => {
29
50
  clearTimeout(tm);
30
51
  };
31
- }, [val]), state;
52
+ }, [val]);
53
+ return state;
32
54
  }
33
- export {
34
- debounce,
35
- useDebounce,
36
- useDebounceValue
37
- };
55
+ export { debounce, useDebounce, useDebounceValue };
38
56
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,YAAY,WAAW;AAQhB,SAAS,SACd,MACA,MACA,SAGA;AACA,MAAI,SACA,cAAc;AAElB,WAAS,YAAqB;AAC5B,kBAAc;AACd,UAAM,OAAO;AACb,IAAI,WAAW,CAAC,WACd,KAAK,MAAM,MAAM,IAAI,GAEvB,aAAa,OAAO,GACpB,UAAU,WAAW,MAAM;AACzB,gBAAU,MACJ,WAAW,eACf,KAAK,MAAM,MAAM,IAAI,GAEvB,cAAc;AAAA,IAChB,GAAG,IAAI;AAAA,EACT;AAEA,mBAAU,SAAS,MAAM;AACvB,kBAAc;AAAA,EAChB,GAEO;AACT;AAEA,MAAM,cAAc,EAAE,SAAS,GAAM;AAE9B,SAAS,YAMd,IACA,MACA,UAA4B,aAC5B,YAAmB,CAAC,EAAE,GACT;AACb,QAAM,WAAW,MAAM,OAA2B,IAAI;AAEtD,eAAM,UAAU,MACP,MAAM;AACX,aAAS,SAAS,OAAO;AAAA,EAC3B,GACC,CAAC,CAAC,GAEE,MAAM,QAAQ,OACnB,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,OAAO,GAC9C,SAAS,UACf,CAAC,QAAQ,SAAS,GAAG,SAAS,CAAC;AACpC;AAMO,SAAS,iBAAoB,KAAQ,MAAM,GAAM;AACtD,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,GAAG;AAE5C,eAAM,UAAU,MAAM;AACpB,UAAM,KAAK,WAAW,MAAM;AAC1B,eAAS,CAAC,SACJ,SAAS,MAAY,OAClB,GACR;AAAA,IACH,GAAG,GAAG;AAEN,WAAO,MAAM;AACX,mBAAa,EAAE;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,GAAG,CAAC,GAED;AACT;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["React","debounce","func","wait","leading","timeout","isCancelled","debounced","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","useDebounce","fn","options","mountArgs","dbEffect","useRef","useEffect","current","useMemo","useDebounceValue","val","amt","state","setState","useState","tm","prev"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAQhB,SAASC,SACdC,IAAA,EACAC,IAAA,EACAC,OAAA,EAGA;EACA,IAAIC,OAAA;EACJ,IAAIC,WAAA,GAAc;EAElB,SAASC,UAAA,EAAqB;IAC5BD,WAAA,GAAc;IACd,MAAME,IAAA,GAAOC,SAAA;IACb,IAAIL,OAAA,IAAW,CAACC,OAAA,EAAS;MACvBH,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI;IACvB;IACAG,YAAA,CAAaN,OAAO;IACpBA,OAAA,GAAUO,UAAA,CAAW,MAAM;MACzBP,OAAA,GAAU;MACV,IAAI,EAAED,OAAA,IAAWE,WAAA,GAAc;QAC7BJ,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI;MACvB;MACAF,WAAA,GAAc;IAChB,GAAGH,IAAI;EACT;EAEAI,SAAA,CAAUM,MAAA,GAAS,MAAM;IACvBP,WAAA,GAAc;EAChB;EAEA,OAAOC,SAAA;AACT;AAEA,MAAMO,WAAA,GAAc;EAAEV,OAAA,EAAS;AAAM;AAE9B,SAASW,YAMdC,EAAA,EACAb,IAAA,EACAc,OAAA,GAA4BH,WAAA,EAC5BI,SAAA,GAAmB,CAACF,EAAE,GACT;EACb,MAAMG,QAAA,GAAWnB,KAAA,CAAMoB,MAAA,CAA2B,IAAI;EAEtDpB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IACpB,OAAO,MAAM;MACXF,QAAA,CAASG,OAAA,EAAST,MAAA,CAAO;IAC3B;EACF,GAAG,EAAE;EAEL,OAAOb,KAAA,CAAMuB,OAAA,CAAQ,MAAM;IACzBJ,QAAA,CAASG,OAAA,GAAUrB,QAAA,CAASe,EAAA,EAAIb,IAAA,EAAMc,OAAA,CAAQb,OAAO;IACrD,OAAOe,QAAA,CAASG,OAAA;EAClB,GAAG,CAACL,OAAA,CAAQb,OAAA,EAAS,GAAGc,SAAS,CAAC;AACpC;AAMO,SAASM,iBAAoBC,GAAA,EAAQC,GAAA,GAAM,GAAM;EACtD,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAI5B,KAAA,CAAM6B,QAAA,CAASJ,GAAG;EAE5CzB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IACpB,MAAMS,EAAA,GAAKlB,UAAA,CAAW,MAAM;MAC1BgB,QAAA,CAAUG,IAAA,IAAS;QACjB,IAAIA,IAAA,KAASN,GAAA,EAAK,OAAOM,IAAA;QACzB,OAAON,GAAA;MACT,CAAC;IACH,GAAGC,GAAG;IAEN,OAAO,MAAM;MACXf,YAAA,CAAamB,EAAE;IACjB;EACF,GAAG,CAACL,GAAG,CAAC;EAER,OAAOE,KAAA;AACT","ignoreList":[]}
@@ -1,37 +1,56 @@
1
1
  import * as React from "react";
2
2
  function debounce(func, wait, leading) {
3
- let timeout,
4
- isCancelled = !1;
3
+ let timeout;
4
+ let isCancelled = false;
5
5
  function debounced() {
6
- isCancelled = !1;
6
+ isCancelled = false;
7
7
  const args = arguments;
8
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => {
9
- timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = !1;
8
+ if (leading && !timeout) {
9
+ func.apply(this, args);
10
+ }
11
+ clearTimeout(timeout);
12
+ timeout = setTimeout(() => {
13
+ timeout = null;
14
+ if (!(leading || isCancelled)) {
15
+ func.apply(this, args);
16
+ }
17
+ isCancelled = false;
10
18
  }, wait);
11
19
  }
12
- return debounced.cancel = () => {
13
- isCancelled = !0;
14
- }, debounced;
20
+ debounced.cancel = () => {
21
+ isCancelled = true;
22
+ };
23
+ return debounced;
15
24
  }
16
25
  const defaultOpts = {
17
- leading: !1
26
+ leading: false
18
27
  };
19
28
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
20
29
  const dbEffect = React.useRef(null);
21
- return React.useEffect(() => () => {
22
- dbEffect.current?.cancel();
23
- }, []), React.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]);
30
+ React.useEffect(() => {
31
+ return () => {
32
+ dbEffect.current?.cancel();
33
+ };
34
+ }, []);
35
+ return React.useMemo(() => {
36
+ dbEffect.current = debounce(fn, wait, options.leading);
37
+ return dbEffect.current;
38
+ }, [options.leading, ...mountArgs]);
24
39
  }
25
40
  function useDebounceValue(val, amt = 0) {
26
41
  const [state, setState] = React.useState(val);
27
- return React.useEffect(() => {
42
+ React.useEffect(() => {
28
43
  const tm = setTimeout(() => {
29
- setState(prev => prev === val ? prev : val);
44
+ setState(prev => {
45
+ if (prev === val) return prev;
46
+ return val;
47
+ });
30
48
  }, amt);
31
49
  return () => {
32
50
  clearTimeout(tm);
33
51
  };
34
- }, [val]), state;
52
+ }, [val]);
53
+ return state;
35
54
  }
36
55
  export { debounce, useDebounce, useDebounceValue };
37
56
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","debounce","func","wait","leading","timeout","isCancelled","debounced","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","useDebounce","fn","options","mountArgs","dbEffect","useRef","useEffect","current","useMemo","useDebounceValue","val","amt","state","setState","useState","tm","prev"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAQhB,SAASC,SACdC,IAAA,EACAC,IAAA,EACAC,OAAA,EAGA;EACA,IAAIC,OAAA;IACAC,WAAA,GAAc;EAElB,SAASC,UAAA,EAAqB;IAC5BD,WAAA,GAAc;IACd,MAAME,IAAA,GAAOC,SAAA;IACTL,OAAA,IAAW,CAACC,OAAA,IACdH,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI,GAEvBG,YAAA,CAAaN,OAAO,GACpBA,OAAA,GAAUO,UAAA,CAAW,MAAM;MACzBP,OAAA,GAAU,MACJD,OAAA,IAAWE,WAAA,IACfJ,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI,GAEvBF,WAAA,GAAc;IAChB,GAAGH,IAAI;EACT;EAEA,OAAAI,SAAA,CAAUM,MAAA,GAAS,MAAM;IACvBP,WAAA,GAAc;EAChB,GAEOC,SAAA;AACT;AAEA,MAAMO,WAAA,GAAc;EAAEV,OAAA,EAAS;AAAM;AAE9B,SAASW,YAMdC,EAAA,EACAb,IAAA,EACAc,OAAA,GAA4BH,WAAA,EAC5BI,SAAA,GAAmB,CAACF,EAAE,GACT;EACb,MAAMG,QAAA,GAAWnB,KAAA,CAAMoB,MAAA,CAA2B,IAAI;EAEtD,OAAApB,KAAA,CAAMqB,SAAA,CAAU,MACP,MAAM;IACXF,QAAA,CAASG,OAAA,EAAST,MAAA,CAAO;EAC3B,GACC,EAAE,GAEEb,KAAA,CAAMuB,OAAA,CAAQ,OACnBJ,QAAA,CAASG,OAAA,GAAUrB,QAAA,CAASe,EAAA,EAAIb,IAAA,EAAMc,OAAA,CAAQb,OAAO,GAC9Ce,QAAA,CAASG,OAAA,GACf,CAACL,OAAA,CAAQb,OAAA,EAAS,GAAGc,SAAS,CAAC;AACpC;AAMO,SAASM,iBAAoBC,GAAA,EAAQC,GAAA,GAAM,GAAM;EACtD,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAI5B,KAAA,CAAM6B,QAAA,CAASJ,GAAG;EAE5C,OAAAzB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IACpB,MAAMS,EAAA,GAAKlB,UAAA,CAAW,MAAM;MAC1BgB,QAAA,CAAUG,IAAA,IACJA,IAAA,KAASN,GAAA,GAAYM,IAAA,GAClBN,GACR;IACH,GAAGC,GAAG;IAEN,OAAO,MAAM;MACXf,YAAA,CAAamB,EAAE;IACjB;EACF,GAAG,CAACL,GAAG,CAAC,GAEDE,KAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["React","debounce","func","wait","leading","timeout","isCancelled","debounced","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","useDebounce","fn","options","mountArgs","dbEffect","useRef","useEffect","current","useMemo","useDebounceValue","val","amt","state","setState","useState","tm","prev"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAQhB,SAASC,SACdC,IAAA,EACAC,IAAA,EACAC,OAAA,EAGA;EACA,IAAIC,OAAA;EACJ,IAAIC,WAAA,GAAc;EAElB,SAASC,UAAA,EAAqB;IAC5BD,WAAA,GAAc;IACd,MAAME,IAAA,GAAOC,SAAA;IACb,IAAIL,OAAA,IAAW,CAACC,OAAA,EAAS;MACvBH,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI;IACvB;IACAG,YAAA,CAAaN,OAAO;IACpBA,OAAA,GAAUO,UAAA,CAAW,MAAM;MACzBP,OAAA,GAAU;MACV,IAAI,EAAED,OAAA,IAAWE,WAAA,GAAc;QAC7BJ,IAAA,CAAKQ,KAAA,CAAM,MAAMF,IAAI;MACvB;MACAF,WAAA,GAAc;IAChB,GAAGH,IAAI;EACT;EAEAI,SAAA,CAAUM,MAAA,GAAS,MAAM;IACvBP,WAAA,GAAc;EAChB;EAEA,OAAOC,SAAA;AACT;AAEA,MAAMO,WAAA,GAAc;EAAEV,OAAA,EAAS;AAAM;AAE9B,SAASW,YAMdC,EAAA,EACAb,IAAA,EACAc,OAAA,GAA4BH,WAAA,EAC5BI,SAAA,GAAmB,CAACF,EAAE,GACT;EACb,MAAMG,QAAA,GAAWnB,KAAA,CAAMoB,MAAA,CAA2B,IAAI;EAEtDpB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IACpB,OAAO,MAAM;MACXF,QAAA,CAASG,OAAA,EAAST,MAAA,CAAO;IAC3B;EACF,GAAG,EAAE;EAEL,OAAOb,KAAA,CAAMuB,OAAA,CAAQ,MAAM;IACzBJ,QAAA,CAASG,OAAA,GAAUrB,QAAA,CAASe,EAAA,EAAIb,IAAA,EAAMc,OAAA,CAAQb,OAAO;IACrD,OAAOe,QAAA,CAASG,OAAA;EAClB,GAAG,CAACL,OAAA,CAAQb,OAAA,EAAS,GAAGc,SAAS,CAAC;AACpC;AAMO,SAASM,iBAAoBC,GAAA,EAAQC,GAAA,GAAM,GAAM;EACtD,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAI5B,KAAA,CAAM6B,QAAA,CAASJ,GAAG;EAE5CzB,KAAA,CAAMqB,SAAA,CAAU,MAAM;IACpB,MAAMS,EAAA,GAAKlB,UAAA,CAAW,MAAM;MAC1BgB,QAAA,CAAUG,IAAA,IAAS;QACjB,IAAIA,IAAA,KAASN,GAAA,EAAK,OAAOM,IAAA;QACzB,OAAON,GAAA;MACT,CAAC;IACH,GAAGC,GAAG;IAEN,OAAO,MAAM;MACXf,YAAA,CAAamB,EAAE;IACjB;EACF,GAAG,CAACL,GAAG,CAAC;EAER,OAAOE,KAAA;AACT","ignoreList":[]}
@@ -1,48 +1,61 @@
1
1
  import * as React from "react";
2
2
  function debounce(func, wait, leading) {
3
- var timeout,
4
- isCancelled = !1;
3
+ var timeout;
4
+ var isCancelled = false;
5
5
  function debounced() {
6
6
  var _this = this;
7
- isCancelled = !1;
7
+ isCancelled = false;
8
8
  var args = arguments;
9
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(function () {
10
- timeout = null, leading || isCancelled || func.apply(_this, args), isCancelled = !1;
9
+ if (leading && !timeout) {
10
+ func.apply(this, args);
11
+ }
12
+ clearTimeout(timeout);
13
+ timeout = setTimeout(function () {
14
+ timeout = null;
15
+ if (!(leading || isCancelled)) {
16
+ func.apply(_this, args);
17
+ }
18
+ isCancelled = false;
11
19
  }, wait);
12
20
  }
13
- return debounced.cancel = function () {
14
- isCancelled = !0;
15
- }, debounced;
21
+ debounced.cancel = function () {
22
+ isCancelled = true;
23
+ };
24
+ return debounced;
16
25
  }
17
26
  var defaultOpts = {
18
- leading: !1
27
+ leading: false
19
28
  };
20
29
  function useDebounce(fn, wait) {
21
30
  var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts,
22
- mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn],
23
- dbEffect = React.useRef(null);
24
- return React.useEffect(function () {
31
+ mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
32
+ var dbEffect = React.useRef(null);
33
+ React.useEffect(function () {
25
34
  return function () {
26
35
  var _dbEffect_current;
27
- (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 || _dbEffect_current.cancel();
36
+ (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
28
37
  };
29
- }, []), React.useMemo(function () {
30
- return dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current;
38
+ }, []);
39
+ return React.useMemo(function () {
40
+ dbEffect.current = debounce(fn, wait, options.leading);
41
+ return dbEffect.current;
31
42
  }, [options.leading, ...mountArgs]);
32
43
  }
33
44
  function useDebounceValue(val) {
34
- var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
35
- [state, setState] = React.useState(val);
36
- return React.useEffect(function () {
45
+ var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
46
+ var [state, setState] = React.useState(val);
47
+ React.useEffect(function () {
37
48
  var tm = setTimeout(function () {
38
49
  setState(function (prev) {
39
- return prev === val ? prev : val;
50
+ if (prev === val) return prev;
51
+ return val;
40
52
  });
41
53
  }, amt);
42
54
  return function () {
43
55
  clearTimeout(tm);
44
56
  };
45
- }, [val]), state;
57
+ }, [val]);
58
+ return state;
46
59
  }
47
60
  export { debounce, useDebounce, useDebounceValue };
48
61
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","debounce","func","wait","leading","timeout","isCancelled","debounced","_this","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","useDebounce","fn","options","length","mountArgs","dbEffect","useRef","useEffect","_dbEffect_current","current","useMemo"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAQhB,SAASC,SACdC,IAAA,EACAC,IAAA,EACAC,OAAA,EAGA;EACA,IAAIC,OAAA;IACAC,WAAA,GAAc;EAElB,SAASC,UAAA,EAAqB;IAC5B,IAAAC,KAAA,OAAc;IACdF,WAAM,GAAO;IACT,IAAAG,IAAA,GAAWC,SAAC;IAKdN,OAAA,KAAUC,OACJ,IAAAH,IAAA,CAAAS,KAAW,OAAAF,IACf,GAAAG,YAAW,CAAAP,OAAU,CAEvB,EAAAA,OAAA,GAAAQ,UAAc;MAChBR,OAAO,SAAAD,OAAA,IAAAE,WAAA,IAAAJ,IAAA,CAAAS,KAAA,CAAAH,KAAA,EAAAC,IAAA,GAAAH,WAAA;IACT,GAAAH,IAAA;EAEA;EACE,OAAAI,SAAc,CAAAO,MAAA;IAChBR,WAEO;EACT,GAAAC,SAAA;AAEA;AAEO,IAAAQ,WAAS;EAWdX,OAAM;AAEN;AAEI,SAAAY,WAASA,CAAAC,EAAS,EAAAd,IAAO;EAC3B,IACEe,OAEG,GAAMR,SAAQ,CAAAS,MACnB,QAAST,SAAA,CAAU,YAAS,CAAI,GAAAA,SAAM,EAAQ,IAAAK,WACvC;IAAAK,SAAS,GACfV,SAAS,CAAAS,MAAA,GAAS,KAAGT,SAAU,iBAAAA,SAAA,OACpCO,EAAA,CAMO;IAAAI,QAAS,GAAArB,KAAA,CAAAsB,MAAoB,KAAQ;EAC1C,OAAOtB,KAAA,CAAAuB,SAAe,aAAU;IAEhC,mBAAM;MACJ,IAAMC,iBAAgB;MACpB,CAAAA,iBAAU,GACJH,QAAS,CAAAI,OAAY,MAClB,IACR,IAAAD,iBAAA,eAAAA,iBAAA,CAAAV,MAAA;IACH;EAEA,QAAAd,KAAO,CAAA0B,OAAM;IACX,OAAAL,QAAa,CAAAI,OAAE,GAAAxB,QAAA,CAAAgB,EAAA,EAAAd,IAAA,EAAAe,OAAA,CAAAd,OAAA,GAAAiB,QAAA,CAAAI,OAAA;EAAA,GACjB,CACFP,OAAQ,CAAAd,OAED,EACT,GAAAgB,SAAA,C","ignoreList":[]}
1
+ {"version":3,"names":["React","debounce","func","wait","leading","timeout","isCancelled","debounced","_this","args","arguments","apply","clearTimeout","setTimeout","cancel","defaultOpts","useDebounce","fn","options","length","mountArgs","dbEffect","useRef","useEffect","_dbEffect_current","current","useMemo","useDebounceValue","val","amt","state","setState","useState","tm"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAQhB,SAASC,SACdC,IAAA,EACAC,IAAA,EACAC,OAAA,EAGA;EACA,IAAIC,OAAA;EACJ,IAAIC,WAAA,GAAc;EAElB,SAASC,UAAA,EAAqB;IAC5B,IAAAC,KAAA,OAAc;IACdF,WAAM,GAAO;IACb,IAAIG,IAAA,GAAAC,SAAY;IACd,IAAAN,OAAK,IAAM,CAAAC,OAAU;MACvBH,IAAA,CAAAS,KAAA,OAAAF,IAAA;IACA;IACAG,YAAU,CAAAP,OAAA,CAAW;IACnBA,OAAA,GAAAQ,UAAU;MACVR,OAAM;MACJ,MAAAD,OAAW,IAAAE,WAAU;QACvBJ,IAAA,CAAAS,KAAA,CAAAH,KAAA,EAAAC,IAAA;MACA;MACFH,WAAO;IACT,GAAAH,IAAA;EAEA;EACEI,SAAA,CAAAO,MAAc;IAChBR,WAAA;EAEA;EACF,OAAAC,SAAA;AAEA;AAEO,IAAAQ,WAAS;EAWdX,OAAM;AAEN;AACE,SAAAY,WAAaA,CAAAC,EAAA,EAAAd,IAAA;EACX,IAAAe,OAAA,GAASR,SAAS,CAAAS,MAAO,QAAAT,SAAA,iBAAAA,SAAA,MAAAK,WAAA;IAAAK,SAAA,GAAAV,SAAA,CAAAS,MAAA,QAAAT,SAAA,iBAAAA,SAAA,OAC3BO,EAAA,CACF;EAEA,IAAAI,QAAO,GAAMrB,KAAA,CAAQsB,MAAM;EACzBtB,KAAA,CAAAuB,SAAS,aAAU;IACnB,OAAO,YAAS;MACd,IAAAC,iBAAoB;MAC1B,CAAAA,iBAAA,GAAAH,QAAA,CAAAI,OAAA,cAAAD,iBAAA,uBAAAA,iBAAA,CAAAV,MAAA;IAMO;EACL,MAAM;EAEN,OAAMd,KAAA,CAAA0B,OAAU,aAAM;IACpBL,QAAM,CAAAI,OAAK,GAAAxB,QAAW,CAAMgB,EAAA,EAAAd,IAAA,EAAAe,OAAA,CAAAd,OAAA;IAC1B,OAAAiB,QAAU,CAAAI,OAAS;EACjB,IACAP,OAAA,CAAAd,OAAO,KACRgB,SAAA,EACH;AAEA;AACE,SAAAO,gBAAeA,CAAAC,GAAA;EAAA,IACjBC,GAAA,GAAAnB,SAAA,CAAAS,MAAA,QAAAT,SAAA,iBAAAA,SAAA;EACF,IAAI,CAAAoB,KAAI,EAAAC,QAAA,IAAA/B,KAAA,CAAAgC,QAAA,CAAAJ,GAAA;EAER5B,KAAA,CAAAuB,SAAO;IACT,IAAAU,EAAA,GAAApB,UAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/use-debounce",
3
- "version": "2.0.0-rc.8",
3
+ "version": "2.0.0",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "files": [
6
6
  "src",
@@ -16,15 +16,12 @@
16
16
  "./package.json": "./package.json",
17
17
  ".": {
18
18
  "types": "./types/index.d.ts",
19
- "react-native": {
20
- "module": "./dist/esm/index.native.js",
21
- "import": "./dist/esm/index.native.js",
22
- "require": "./dist/cjs/index.native.js"
23
- },
19
+ "react-native": "./dist/esm/index.native.js",
20
+ "browser": "./dist/esm/index.mjs",
24
21
  "module": "./dist/esm/index.mjs",
25
22
  "import": "./dist/esm/index.mjs",
26
23
  "require": "./dist/cjs/index.cjs",
27
- "default": "./dist/cjs/index.native.js"
24
+ "default": "./dist/esm/index.mjs"
28
25
  }
29
26
  },
30
27
  "publishConfig": {
@@ -37,7 +34,7 @@
37
34
  "clean:build": "tamagui-build clean:build"
38
35
  },
39
36
  "devDependencies": {
40
- "@tamagui/build": "2.0.0-rc.8",
37
+ "@tamagui/build": "2.0.0",
41
38
  "react": ">=19"
42
39
  },
43
40
  "peerDependencies": {
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/index.ts"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
9
  "import * as React from 'react'\n\ntype DebounceSettings = {\n leading?: boolean\n}\n\n// TODO doesn't return value of the function called :/\n\nexport function debounce<A extends Function>(\n func: A,\n wait?: number,\n leading?: boolean\n): A & {\n cancel: () => void\n} {\n let timeout: any\n let isCancelled = false\n\n function debounced(this: any) {\n isCancelled = false\n const args = arguments\n if (leading && !timeout) {\n func.apply(this, args)\n }\n clearTimeout(timeout)\n timeout = setTimeout(() => {\n timeout = null\n if (!(leading || isCancelled)) {\n func.apply(this, args)\n }\n isCancelled = false\n }, wait)\n }\n\n debounced.cancel = () => {\n isCancelled = true\n }\n\n return debounced as any\n}\n\nconst defaultOpts = { leading: false }\n\nexport function useDebounce<\n A extends (...args: any) => any | undefined | null,\n DebouncedFn extends A & {\n cancel: () => void\n },\n>(\n fn: A,\n wait: number,\n options: DebounceSettings = defaultOpts,\n mountArgs: any[] = [fn]\n): DebouncedFn {\n const dbEffect = React.useRef<DebouncedFn | null>(null)\n\n React.useEffect(() => {\n return () => {\n dbEffect.current?.cancel()\n }\n }, [])\n\n return React.useMemo(() => {\n dbEffect.current = debounce(fn, wait, options.leading) as unknown as DebouncedFn\n return dbEffect.current\n }, [options.leading, ...mountArgs])\n}\n\n/**\n * Returns a value once it stops changing after \"amt\" time.\n * Note: you may need to memo or this will keep re-rendering\n */\nexport function useDebounceValue<A>(val: A, amt = 0): A {\n const [state, setState] = React.useState(val)\n\n React.useEffect(() => {\n const tm = setTimeout(() => {\n setState((prev) => {\n if (prev === val) return prev\n return val\n })\n }, amt)\n\n return () => {\n clearTimeout(tm)\n }\n }, [val])\n\n return state\n}\n"
9
- ],
10
- "version": 3
10
+ ]
11
11
  }
package/dist/cjs/index.js DELETED
@@ -1,62 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
- mod
22
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
- var index_exports = {};
24
- __export(index_exports, {
25
- debounce: () => debounce,
26
- useDebounce: () => useDebounce,
27
- useDebounceValue: () => useDebounceValue
28
- });
29
- module.exports = __toCommonJS(index_exports);
30
- var React = __toESM(require("react"), 1);
31
- function debounce(func, wait, leading) {
32
- let timeout, isCancelled = !1;
33
- function debounced() {
34
- isCancelled = !1;
35
- const args = arguments;
36
- leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => {
37
- timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = !1;
38
- }, wait);
39
- }
40
- return debounced.cancel = () => {
41
- isCancelled = !0;
42
- }, debounced;
43
- }
44
- const defaultOpts = { leading: !1 };
45
- function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
46
- const dbEffect = React.useRef(null);
47
- return React.useEffect(() => () => {
48
- dbEffect.current?.cancel();
49
- }, []), React.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]);
50
- }
51
- function useDebounceValue(val, amt = 0) {
52
- const [state, setState] = React.useState(val);
53
- return React.useEffect(() => {
54
- const tm = setTimeout(() => {
55
- setState((prev) => prev === val ? prev : val);
56
- }, amt);
57
- return () => {
58
- clearTimeout(tm);
59
- };
60
- }, [val]), state;
61
- }
62
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AAQhB,SAAS,SACd,MACA,MACA,SAGA;AACA,MAAI,SACA,cAAc;AAElB,WAAS,YAAqB;AAC5B,kBAAc;AACd,UAAM,OAAO;AACb,IAAI,WAAW,CAAC,WACd,KAAK,MAAM,MAAM,IAAI,GAEvB,aAAa,OAAO,GACpB,UAAU,WAAW,MAAM;AACzB,gBAAU,MACJ,WAAW,eACf,KAAK,MAAM,MAAM,IAAI,GAEvB,cAAc;AAAA,IAChB,GAAG,IAAI;AAAA,EACT;AAEA,mBAAU,SAAS,MAAM;AACvB,kBAAc;AAAA,EAChB,GAEO;AACT;AAEA,MAAM,cAAc,EAAE,SAAS,GAAM;AAE9B,SAAS,YAMd,IACA,MACA,UAA4B,aAC5B,YAAmB,CAAC,EAAE,GACT;AACb,QAAM,WAAW,MAAM,OAA2B,IAAI;AAEtD,eAAM,UAAU,MACP,MAAM;AACX,aAAS,SAAS,OAAO;AAAA,EAC3B,GACC,CAAC,CAAC,GAEE,MAAM,QAAQ,OACnB,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,OAAO,GAC9C,SAAS,UACf,CAAC,QAAQ,SAAS,GAAG,SAAS,CAAC;AACpC;AAMO,SAAS,iBAAoB,KAAQ,MAAM,GAAM;AACtD,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,GAAG;AAE5C,eAAM,UAAU,MAAM;AACpB,UAAM,KAAK,WAAW,MAAM;AAC1B,eAAS,CAAC,SACJ,SAAS,MAAY,OAClB,GACR;AAAA,IACH,GAAG,GAAG;AAEN,WAAO,MAAM;AACX,mBAAa,EAAE;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,GAAG,CAAC,GAED;AACT;",
5
- "names": []
6
- }