@tamagui/use-debounce 2.7.7 → 3.0.0-beta.637.1

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.
@@ -1,3 +1,4 @@
1
+
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -5,90 +6,81 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  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, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- 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: true
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
+ value: mod,
25
+ enumerable: true
30
26
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
28
  var index_exports = {};
35
29
  __export(index_exports, {
36
- debounce: () => debounce,
37
- useDebounce: () => useDebounce,
38
- useDebounceValue: () => useDebounceValue
30
+ debounce: () => debounce,
31
+ useDebounce: () => useDebounce,
32
+ useDebounceValue: () => useDebounceValue
39
33
  });
40
34
  module.exports = __toCommonJS(index_exports);
41
35
  var React = __toESM(require("react"), 1);
42
36
  function debounce(func, wait, leading) {
43
- let timeout;
44
- let isCancelled = false;
45
- function debounced() {
46
- isCancelled = false;
47
- const args = arguments;
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;
58
- }, wait);
59
- }
60
- debounced.cancel = () => {
61
- isCancelled = true;
62
- };
63
- return debounced;
37
+ let timeout;
38
+ let isCancelled = false;
39
+ function debounced() {
40
+ isCancelled = false;
41
+ const args = arguments;
42
+ if (leading && !timeout) {
43
+ func.apply(this, args);
44
+ }
45
+ clearTimeout(timeout);
46
+ timeout = setTimeout(() => {
47
+ timeout = null;
48
+ if (!(leading || isCancelled)) {
49
+ func.apply(this, args);
50
+ }
51
+ isCancelled = false;
52
+ }, wait);
53
+ }
54
+ debounced.cancel = () => {
55
+ isCancelled = true;
56
+ };
57
+ return debounced;
64
58
  }
65
- const defaultOpts = {
66
- leading: false
67
- };
59
+ const defaultOpts = { leading: false };
68
60
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
69
- const dbEffect = React.useRef(null);
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]);
61
+ const dbEffect = React.useRef(null);
62
+ React.useEffect(() => {
63
+ return () => {
64
+ dbEffect.current?.cancel();
65
+ };
66
+ }, []);
67
+ return React.useMemo(() => {
68
+ dbEffect.current = debounce(fn, wait, options.leading);
69
+ return dbEffect.current;
70
+ }, [options.leading, ...mountArgs]);
79
71
  }
80
72
  function useDebounceValue(val, amt = 0) {
81
- const [state, setState] = React.useState(val);
82
- React.useEffect(() => {
83
- const tm = setTimeout(() => {
84
- setState(prev => {
85
- if (prev === val) return prev;
86
- return val;
87
- });
88
- }, amt);
89
- return () => {
90
- clearTimeout(tm);
91
- };
92
- }, [val]);
93
- return state;
94
- }
73
+ const [state, setState] = React.useState(val);
74
+ React.useEffect(() => {
75
+ const tm = setTimeout(() => {
76
+ setState((prev) => {
77
+ if (prev === val) return prev;
78
+ return val;
79
+ });
80
+ }, amt);
81
+ return () => {
82
+ clearTimeout(tm);
83
+ };
84
+ }, [val]);
85
+ return state;
86
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
28
+ }) : target, mod));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var index_exports = {};
31
+ __export(index_exports, {
32
+ debounce: () => debounce,
33
+ useDebounce: () => useDebounce,
34
+ useDebounceValue: () => useDebounceValue
35
+ });
36
+ module.exports = __toCommonJS(index_exports);
37
+ var React = __toESM(require("react"), 1);
38
+ function debounce(func, wait, leading) {
39
+ var timeout;
40
+ var isCancelled = false;
41
+ function debounced() {
42
+ var _this = this;
43
+ isCancelled = false;
44
+ var args = arguments;
45
+ if (leading && !timeout) {
46
+ func.apply(this, args);
47
+ }
48
+ clearTimeout(timeout);
49
+ timeout = setTimeout(function() {
50
+ timeout = null;
51
+ if (!(leading || isCancelled)) {
52
+ func.apply(_this, args);
53
+ }
54
+ isCancelled = false;
55
+ }, wait);
56
+ }
57
+ debounced.cancel = function() {
58
+ isCancelled = true;
59
+ };
60
+ return debounced;
61
+ }
62
+ var defaultOpts = { leading: false };
63
+ function useDebounce(fn, wait) {
64
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts, mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
65
+ var dbEffect = React.useRef(null);
66
+ React.useEffect(function() {
67
+ return function() {
68
+ var _dbEffect_current;
69
+ (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
70
+ };
71
+ }, []);
72
+ return React.useMemo(function() {
73
+ dbEffect.current = debounce(fn, wait, options.leading);
74
+ return dbEffect.current;
75
+ }, [options.leading, ...mountArgs]);
76
+ }
77
+ function useDebounceValue(val) {
78
+ var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
79
+ var [state, setState] = React.useState(val);
80
+ React.useEffect(function() {
81
+ var tm = setTimeout(function() {
82
+ setState(function(prev) {
83
+ if (prev === val) return prev;
84
+ return val;
85
+ });
86
+ }, amt);
87
+ return function() {
88
+ clearTimeout(tm);
89
+ };
90
+ }, [val]);
91
+ return state;
92
+ }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __create = Object.create;
4
5
  var __defProp = Object.defineProperty;
5
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,96 +8,87 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getProtoOf = Object.getPrototypeOf;
8
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
10
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
14
15
  };
15
16
  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, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
23
24
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
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
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
32
28
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
30
  var index_exports = {};
37
31
  __export(index_exports, {
38
- debounce: () => debounce,
39
- useDebounce: () => useDebounce,
40
- useDebounceValue: () => useDebounceValue
32
+ debounce: () => debounce,
33
+ useDebounce: () => useDebounce,
34
+ useDebounceValue: () => useDebounceValue
41
35
  });
42
36
  module.exports = __toCommonJS(index_exports);
43
37
  var React = __toESM(require("react"), 1);
44
38
  function debounce(func, wait, leading) {
45
- var timeout;
46
- var isCancelled = false;
47
- function debounced() {
48
- var _this = this;
49
- isCancelled = false;
50
- var args = arguments;
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;
61
- }, wait);
62
- }
63
- debounced.cancel = function () {
64
- isCancelled = true;
65
- };
66
- return debounced;
39
+ var timeout;
40
+ var isCancelled = false;
41
+ function debounced() {
42
+ var _this = this;
43
+ isCancelled = false;
44
+ var args = arguments;
45
+ if (leading && !timeout) {
46
+ func.apply(this, args);
47
+ }
48
+ clearTimeout(timeout);
49
+ timeout = setTimeout(function() {
50
+ timeout = null;
51
+ if (!(leading || isCancelled)) {
52
+ func.apply(_this, args);
53
+ }
54
+ isCancelled = false;
55
+ }, wait);
56
+ }
57
+ debounced.cancel = function() {
58
+ isCancelled = true;
59
+ };
60
+ return debounced;
67
61
  }
68
- var defaultOpts = {
69
- leading: false
70
- };
62
+ var defaultOpts = { leading: false };
71
63
  function useDebounce(fn, wait) {
72
- var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts,
73
- mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
74
- var dbEffect = React.useRef(null);
75
- React.useEffect(function () {
76
- return function () {
77
- var _dbEffect_current;
78
- (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
79
- };
80
- }, []);
81
- return React.useMemo(function () {
82
- dbEffect.current = debounce(fn, wait, options.leading);
83
- return dbEffect.current;
84
- }, [options.leading, ...mountArgs]);
64
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts, mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
65
+ var dbEffect = React.useRef(null);
66
+ React.useEffect(function() {
67
+ return function() {
68
+ var _dbEffect_current;
69
+ (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
70
+ };
71
+ }, []);
72
+ return React.useMemo(function() {
73
+ dbEffect.current = debounce(fn, wait, options.leading);
74
+ return dbEffect.current;
75
+ }, [options.leading, ...mountArgs]);
85
76
  }
86
77
  function useDebounceValue(val) {
87
- var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
88
- var [state, setState] = React.useState(val);
89
- React.useEffect(function () {
90
- var tm = setTimeout(function () {
91
- setState(function (prev) {
92
- if (prev === val) return prev;
93
- return val;
94
- });
95
- }, amt);
96
- return function () {
97
- clearTimeout(tm);
98
- };
99
- }, [val]);
100
- return state;
78
+ var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
79
+ var [state, setState] = React.useState(val);
80
+ React.useEffect(function() {
81
+ var tm = setTimeout(function() {
82
+ setState(function(prev) {
83
+ if (prev === val) return prev;
84
+ return val;
85
+ });
86
+ }, amt);
87
+ return function() {
88
+ clearTimeout(tm);
89
+ };
90
+ }, [val]);
91
+ return state;
101
92
  }
93
+
102
94
  //# 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","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":[]}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n debounce: () => debounce,\n useDebounce: () => useDebounce,\n useDebounceValue: () => useDebounceValue\n});\nmodule.exports = __toCommonJS(index_exports);\nvar React = __toESM(require(\"react\"), 1);\nfunction debounce(func, wait, leading) {\n var timeout;\n var isCancelled = false;\n function debounced() {\n var _this = this;\n isCancelled = false;\n var args = arguments;\n if (leading && !timeout) {\n func.apply(this, args);\n }\n clearTimeout(timeout);\n timeout = setTimeout(function() {\n timeout = null;\n if (!(leading || isCancelled)) {\n func.apply(_this, args);\n }\n isCancelled = false;\n }, wait);\n }\n debounced.cancel = function() {\n isCancelled = true;\n };\n return debounced;\n}\nvar defaultOpts = {\n leading: false\n};\nfunction useDebounce(fn, wait) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts, mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [\n fn\n ];\n var dbEffect = React.useRef(null);\n React.useEffect(function() {\n return function() {\n var _dbEffect_current;\n (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();\n };\n }, []);\n return React.useMemo(function() {\n dbEffect.current = debounce(fn, wait, options.leading);\n return dbEffect.current;\n }, [\n options.leading,\n ...mountArgs\n ]);\n}\nfunction useDebounceValue(val) {\n var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var [state, setState] = React.useState(val);\n React.useEffect(function() {\n var tm = setTimeout(function() {\n setState(function(prev) {\n if (prev === val) return prev;\n return val;\n });\n }, amt);\n return function() {\n clearTimeout(tm);\n };\n }, [\n val\n ]);\n return state;\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,56 +1,56 @@
1
1
  import * as React from "react";
2
+
2
3
  function debounce(func, wait, leading) {
3
- let timeout;
4
- let isCancelled = false;
5
- function debounced() {
6
- isCancelled = false;
7
- const args = arguments;
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;
18
- }, wait);
19
- }
20
- debounced.cancel = () => {
21
- isCancelled = true;
22
- };
23
- return debounced;
4
+ let timeout;
5
+ let isCancelled = false;
6
+ function debounced() {
7
+ isCancelled = false;
8
+ const args = arguments;
9
+ if (leading && !timeout) {
10
+ func.apply(this, args);
11
+ }
12
+ clearTimeout(timeout);
13
+ timeout = setTimeout(() => {
14
+ timeout = null;
15
+ if (!(leading || isCancelled)) {
16
+ func.apply(this, args);
17
+ }
18
+ isCancelled = false;
19
+ }, wait);
20
+ }
21
+ debounced.cancel = () => {
22
+ isCancelled = true;
23
+ };
24
+ return debounced;
24
25
  }
25
- const defaultOpts = {
26
- leading: false
27
- };
26
+ const defaultOpts = { leading: false };
28
27
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
29
- const dbEffect = React.useRef(null);
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]);
28
+ const dbEffect = React.useRef(null);
29
+ React.useEffect(() => {
30
+ return () => {
31
+ dbEffect.current?.cancel();
32
+ };
33
+ }, []);
34
+ return React.useMemo(() => {
35
+ dbEffect.current = debounce(fn, wait, options.leading);
36
+ return dbEffect.current;
37
+ }, [options.leading, ...mountArgs]);
39
38
  }
40
39
  function useDebounceValue(val, amt = 0) {
41
- const [state, setState] = React.useState(val);
42
- React.useEffect(() => {
43
- const tm = setTimeout(() => {
44
- setState(prev => {
45
- if (prev === val) return prev;
46
- return val;
47
- });
48
- }, amt);
49
- return () => {
50
- clearTimeout(tm);
51
- };
52
- }, [val]);
53
- return state;
40
+ const [state, setState] = React.useState(val);
41
+ React.useEffect(() => {
42
+ const tm = setTimeout(() => {
43
+ setState((prev) => {
44
+ if (prev === val) return prev;
45
+ return val;
46
+ });
47
+ }, amt);
48
+ return () => {
49
+ clearTimeout(tm);
50
+ };
51
+ }, [val]);
52
+ return state;
54
53
  }
54
+
55
55
  export { debounce, useDebounce, useDebounceValue };
56
56
  //# sourceMappingURL=index.js.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;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
+ {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import * as React from \"react\";\nfunction debounce(func, wait, leading) {\n let timeout;\n let isCancelled = false;\n function debounced() {\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 debounced.cancel = () => {\n isCancelled = true;\n };\n return debounced;\n}\nconst defaultOpts = { leading: false };\nfunction useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {\n const dbEffect = React.useRef(null);\n React.useEffect(() => {\n return () => {\n dbEffect.current?.cancel();\n };\n }, []);\n return React.useMemo(() => {\n dbEffect.current = debounce(fn, wait, options.leading);\n return dbEffect.current;\n }, [options.leading, ...mountArgs]);\n}\nfunction useDebounceValue(val, amt = 0) {\n const [state, setState] = React.useState(val);\n React.useEffect(() => {\n const tm = setTimeout(() => {\n setState((prev) => {\n if (prev === val) return prev;\n return val;\n });\n }, amt);\n return () => {\n clearTimeout(tm);\n };\n }, [val]);\n return state;\n}\nexport {\n debounce,\n useDebounce,\n useDebounceValue\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,SAAS,SAAS,MAAM,MAAM,SAAS;CACrC,IAAI;CACJ,IAAI,cAAc;CAClB,SAAS,YAAY;EACnB,cAAc;EACd,MAAM,OAAO;EACb,IAAI,WAAW,CAAC,SAAS;GACvB,KAAK,MAAM,MAAM,IAAI;EACvB;EACA,aAAa,OAAO;EACpB,UAAU,iBAAiB;GACzB,UAAU;GACV,IAAI,EAAE,WAAW,cAAc;IAC7B,KAAK,MAAM,MAAM,IAAI;GACvB;GACA,cAAc;EAChB,GAAG,IAAI;CACT;CACA,UAAU,eAAe;EACvB,cAAc;CAChB;CACA,OAAO;AACT;AACA,MAAM,cAAc,EAAE,SAAS,MAAM;AACrC,SAAS,YAAY,IAAI,MAAM,UAAU,aAAa,YAAY,CAAC,EAAE,GAAG;CACtE,MAAM,WAAW,MAAM,OAAO,IAAI;CAClC,MAAM,gBAAgB;EACpB,aAAa;GACX,SAAS,SAAS,OAAO;EAC3B;CACF,GAAG,CAAC,CAAC;CACL,OAAO,MAAM,cAAc;EACzB,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,OAAO;EACrD,OAAO,SAAS;CAClB,GAAG,CAAC,QAAQ,SAAS,GAAG,SAAS,CAAC;AACpC;AACA,SAAS,iBAAiB,KAAK,MAAM,GAAG;CACtC,MAAM,CAAC,OAAO,YAAY,MAAM,SAAS,GAAG;CAC5C,MAAM,gBAAgB;EACpB,MAAM,KAAK,iBAAiB;GAC1B,UAAU,SAAS;IACjB,IAAI,SAAS,KAAK,OAAO;IACzB,OAAO;GACT,CAAC;EACH,GAAG,GAAG;EACN,aAAa;GACX,aAAa,EAAE;EACjB;CACF,GAAG,CAAC,GAAG,CAAC;CACR,OAAO;AACT"}
@@ -1,56 +1,56 @@
1
1
  import * as React from "react";
2
+
2
3
  function debounce(func, wait, leading) {
3
- let timeout;
4
- let isCancelled = false;
5
- function debounced() {
6
- isCancelled = false;
7
- const args = arguments;
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;
18
- }, wait);
19
- }
20
- debounced.cancel = () => {
21
- isCancelled = true;
22
- };
23
- return debounced;
4
+ let timeout;
5
+ let isCancelled = false;
6
+ function debounced() {
7
+ isCancelled = false;
8
+ const args = arguments;
9
+ if (leading && !timeout) {
10
+ func.apply(this, args);
11
+ }
12
+ clearTimeout(timeout);
13
+ timeout = setTimeout(() => {
14
+ timeout = null;
15
+ if (!(leading || isCancelled)) {
16
+ func.apply(this, args);
17
+ }
18
+ isCancelled = false;
19
+ }, wait);
20
+ }
21
+ debounced.cancel = () => {
22
+ isCancelled = true;
23
+ };
24
+ return debounced;
24
25
  }
25
- const defaultOpts = {
26
- leading: false
27
- };
26
+ const defaultOpts = { leading: false };
28
27
  function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
29
- const dbEffect = React.useRef(null);
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]);
28
+ const dbEffect = React.useRef(null);
29
+ React.useEffect(() => {
30
+ return () => {
31
+ dbEffect.current?.cancel();
32
+ };
33
+ }, []);
34
+ return React.useMemo(() => {
35
+ dbEffect.current = debounce(fn, wait, options.leading);
36
+ return dbEffect.current;
37
+ }, [options.leading, ...mountArgs]);
39
38
  }
40
39
  function useDebounceValue(val, amt = 0) {
41
- const [state, setState] = React.useState(val);
42
- React.useEffect(() => {
43
- const tm = setTimeout(() => {
44
- setState(prev => {
45
- if (prev === val) return prev;
46
- return val;
47
- });
48
- }, amt);
49
- return () => {
50
- clearTimeout(tm);
51
- };
52
- }, [val]);
53
- return state;
40
+ const [state, setState] = React.useState(val);
41
+ React.useEffect(() => {
42
+ const tm = setTimeout(() => {
43
+ setState((prev) => {
44
+ if (prev === val) return prev;
45
+ return val;
46
+ });
47
+ }, amt);
48
+ return () => {
49
+ clearTimeout(tm);
50
+ };
51
+ }, [val]);
52
+ return state;
54
53
  }
54
+
55
55
  export { debounce, useDebounce, useDebounceValue };
56
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;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
+ {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import * as React from \"react\";\nfunction debounce(func, wait, leading) {\n let timeout;\n let isCancelled = false;\n function debounced() {\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 debounced.cancel = () => {\n isCancelled = true;\n };\n return debounced;\n}\nconst defaultOpts = { leading: false };\nfunction useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {\n const dbEffect = React.useRef(null);\n React.useEffect(() => {\n return () => {\n dbEffect.current?.cancel();\n };\n }, []);\n return React.useMemo(() => {\n dbEffect.current = debounce(fn, wait, options.leading);\n return dbEffect.current;\n }, [options.leading, ...mountArgs]);\n}\nfunction useDebounceValue(val, amt = 0) {\n const [state, setState] = React.useState(val);\n React.useEffect(() => {\n const tm = setTimeout(() => {\n setState((prev) => {\n if (prev === val) return prev;\n return val;\n });\n }, amt);\n return () => {\n clearTimeout(tm);\n };\n }, [val]);\n return state;\n}\nexport {\n debounce,\n useDebounce,\n useDebounceValue\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,SAAS,SAAS,MAAM,MAAM,SAAS;CACrC,IAAI;CACJ,IAAI,cAAc;CAClB,SAAS,YAAY;EACnB,cAAc;EACd,MAAM,OAAO;EACb,IAAI,WAAW,CAAC,SAAS;GACvB,KAAK,MAAM,MAAM,IAAI;EACvB;EACA,aAAa,OAAO;EACpB,UAAU,iBAAiB;GACzB,UAAU;GACV,IAAI,EAAE,WAAW,cAAc;IAC7B,KAAK,MAAM,MAAM,IAAI;GACvB;GACA,cAAc;EAChB,GAAG,IAAI;CACT;CACA,UAAU,eAAe;EACvB,cAAc;CAChB;CACA,OAAO;AACT;AACA,MAAM,cAAc,EAAE,SAAS,MAAM;AACrC,SAAS,YAAY,IAAI,MAAM,UAAU,aAAa,YAAY,CAAC,EAAE,GAAG;CACtE,MAAM,WAAW,MAAM,OAAO,IAAI;CAClC,MAAM,gBAAgB;EACpB,aAAa;GACX,SAAS,SAAS,OAAO;EAC3B;CACF,GAAG,CAAC,CAAC;CACL,OAAO,MAAM,cAAc;EACzB,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,OAAO;EACrD,OAAO,SAAS;CAClB,GAAG,CAAC,QAAQ,SAAS,GAAG,SAAS,CAAC;AACpC;AACA,SAAS,iBAAiB,KAAK,MAAM,GAAG;CACtC,MAAM,CAAC,OAAO,YAAY,MAAM,SAAS,GAAG;CAC5C,MAAM,gBAAgB;EACpB,MAAM,KAAK,iBAAiB;GAC1B,UAAU,SAAS;IACjB,IAAI,SAAS,KAAK,OAAO;IACzB,OAAO;GACT,CAAC;EACH,GAAG,GAAG;EACN,aAAa;GACX,aAAa,EAAE;EACjB;CACF,GAAG,CAAC,GAAG,CAAC;CACR,OAAO;AACT"}
@@ -1,61 +1,60 @@
1
1
  import * as React from "react";
2
+
2
3
  function debounce(func, wait, leading) {
3
- var timeout;
4
- var isCancelled = false;
5
- function debounced() {
6
- var _this = this;
7
- isCancelled = false;
8
- var args = arguments;
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;
19
- }, wait);
20
- }
21
- debounced.cancel = function () {
22
- isCancelled = true;
23
- };
24
- return debounced;
4
+ var timeout;
5
+ var isCancelled = false;
6
+ function debounced() {
7
+ var _this = this;
8
+ isCancelled = false;
9
+ var args = arguments;
10
+ if (leading && !timeout) {
11
+ func.apply(this, args);
12
+ }
13
+ clearTimeout(timeout);
14
+ timeout = setTimeout(function() {
15
+ timeout = null;
16
+ if (!(leading || isCancelled)) {
17
+ func.apply(_this, args);
18
+ }
19
+ isCancelled = false;
20
+ }, wait);
21
+ }
22
+ debounced.cancel = function() {
23
+ isCancelled = true;
24
+ };
25
+ return debounced;
25
26
  }
26
- var defaultOpts = {
27
- leading: false
28
- };
27
+ var defaultOpts = { leading: false };
29
28
  function useDebounce(fn, wait) {
30
- var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts,
31
- mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
32
- var dbEffect = React.useRef(null);
33
- React.useEffect(function () {
34
- return function () {
35
- var _dbEffect_current;
36
- (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
37
- };
38
- }, []);
39
- return React.useMemo(function () {
40
- dbEffect.current = debounce(fn, wait, options.leading);
41
- return dbEffect.current;
42
- }, [options.leading, ...mountArgs]);
29
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts, mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [fn];
30
+ var dbEffect = React.useRef(null);
31
+ React.useEffect(function() {
32
+ return function() {
33
+ var _dbEffect_current;
34
+ (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();
35
+ };
36
+ }, []);
37
+ return React.useMemo(function() {
38
+ dbEffect.current = debounce(fn, wait, options.leading);
39
+ return dbEffect.current;
40
+ }, [options.leading, ...mountArgs]);
43
41
  }
44
42
  function useDebounceValue(val) {
45
- var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
46
- var [state, setState] = React.useState(val);
47
- React.useEffect(function () {
48
- var tm = setTimeout(function () {
49
- setState(function (prev) {
50
- if (prev === val) return prev;
51
- return val;
52
- });
53
- }, amt);
54
- return function () {
55
- clearTimeout(tm);
56
- };
57
- }, [val]);
58
- return state;
43
+ var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
44
+ var [state, setState] = React.useState(val);
45
+ React.useEffect(function() {
46
+ var tm = setTimeout(function() {
47
+ setState(function(prev) {
48
+ if (prev === val) return prev;
49
+ return val;
50
+ });
51
+ }, amt);
52
+ return function() {
53
+ clearTimeout(tm);
54
+ };
55
+ }, [val]);
56
+ return state;
59
57
  }
58
+
60
59
  export { debounce, useDebounce, useDebounceValue };
61
60
  //# 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","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":[]}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["import * as React from \"react\";\nfunction debounce(func, wait, leading) {\n var timeout;\n var isCancelled = false;\n function debounced() {\n var _this = this;\n isCancelled = false;\n var args = arguments;\n if (leading && !timeout) {\n func.apply(this, args);\n }\n clearTimeout(timeout);\n timeout = setTimeout(function() {\n timeout = null;\n if (!(leading || isCancelled)) {\n func.apply(_this, args);\n }\n isCancelled = false;\n }, wait);\n }\n debounced.cancel = function() {\n isCancelled = true;\n };\n return debounced;\n}\nvar defaultOpts = {\n leading: false\n};\nfunction useDebounce(fn, wait) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultOpts, mountArgs = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [\n fn\n ];\n var dbEffect = React.useRef(null);\n React.useEffect(function() {\n return function() {\n var _dbEffect_current;\n (_dbEffect_current = dbEffect.current) === null || _dbEffect_current === void 0 ? void 0 : _dbEffect_current.cancel();\n };\n }, []);\n return React.useMemo(function() {\n dbEffect.current = debounce(fn, wait, options.leading);\n return dbEffect.current;\n }, [\n options.leading,\n ...mountArgs\n ]);\n}\nfunction useDebounceValue(val) {\n var amt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n var [state, setState] = React.useState(val);\n React.useEffect(function() {\n var tm = setTimeout(function() {\n setState(function(prev) {\n if (prev === val) return prev;\n return val;\n });\n }, amt);\n return function() {\n clearTimeout(tm);\n };\n }, [\n val\n ]);\n return state;\n}\nexport {\n debounce,\n useDebounce,\n useDebounceValue\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,SAAS,SAAS,MAAM,MAAM,SAAS;CACrC,IAAI;CACJ,IAAI,cAAc;CAClB,SAAS,YAAY;EACnB,IAAI,QAAQ;EACZ,cAAc;EACd,IAAI,OAAO;EACX,IAAI,WAAW,CAAC,SAAS;GACvB,KAAK,MAAM,MAAM,IAAI;EACvB;EACA,aAAa,OAAO;EACpB,UAAU,WAAW,WAAW;GAC9B,UAAU;GACV,IAAI,EAAE,WAAW,cAAc;IAC7B,KAAK,MAAM,OAAO,IAAI;GACxB;GACA,cAAc;EAChB,GAAG,IAAI;CACT;CACA,UAAU,SAAS,WAAW;EAC5B,cAAc;CAChB;CACA,OAAO;AACT;AACA,IAAI,cAAc,EAChB,SAAS,MACX;AACA,SAAS,YAAY,IAAI,MAAM;CAC7B,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,aAAa,YAAY,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CACvK,EACF;CACA,IAAI,WAAW,MAAM,OAAO,IAAI;CAChC,MAAM,UAAU,WAAW;EACzB,OAAO,WAAW;GAChB,IAAI;GACJ,CAAC,oBAAoB,SAAS,aAAa,QAAQ,sBAAsB,KAAK,IAAI,KAAK,IAAI,kBAAkB,OAAO;EACtH;CACF,GAAG,CAAC,CAAC;CACL,OAAO,MAAM,QAAQ,WAAW;EAC9B,SAAS,UAAU,SAAS,IAAI,MAAM,QAAQ,OAAO;EACrD,OAAO,SAAS;CAClB,GAAG,CACD,QAAQ,SACR,GAAG,SACL,CAAC;AACH;AACA,SAAS,iBAAiB,KAAK;CAC7B,IAAI,MAAM,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAC3E,IAAI,CAAC,OAAO,YAAY,MAAM,SAAS,GAAG;CAC1C,MAAM,UAAU,WAAW;EACzB,IAAI,KAAK,WAAW,WAAW;GAC7B,SAAS,SAAS,MAAM;IACtB,IAAI,SAAS,KAAK,OAAO;IACzB,OAAO;GACT,CAAC;EACH,GAAG,GAAG;EACN,OAAO,WAAW;GAChB,aAAa,EAAE;EACjB;CACF,GAAG,CACD,GACF,CAAC;CACD,OAAO;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/use-debounce",
3
- "version": "2.7.7",
3
+ "version": "3.0.0-beta.637.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "files": [
6
6
  "src",
@@ -34,7 +34,7 @@
34
34
  "clean:build": "tamagui-build clean:build"
35
35
  },
36
36
  "devDependencies": {
37
- "@tamagui/build": "2.7.7",
37
+ "@tamagui/build": "3.0.0-beta.637.1",
38
38
  "react": ">=19"
39
39
  },
40
40
  "peerDependencies": {