@take-out/hooks 0.0.28
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.
- package/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/cjs/index.cjs +30 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +33 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/useClickOutside.cjs +43 -0
- package/dist/cjs/useClickOutside.js +37 -0
- package/dist/cjs/useClickOutside.js.map +6 -0
- package/dist/cjs/useClickOutside.native.js +51 -0
- package/dist/cjs/useClickOutside.native.js.map +1 -0
- package/dist/cjs/useDebouncePrepend.cjs +46 -0
- package/dist/cjs/useDebouncePrepend.js +40 -0
- package/dist/cjs/useDebouncePrepend.js.map +6 -0
- package/dist/cjs/useDebouncePrepend.native.js +54 -0
- package/dist/cjs/useDebouncePrepend.native.js.map +1 -0
- package/dist/cjs/useDeepMemoizedObject.cjs +148 -0
- package/dist/cjs/useDeepMemoizedObject.js +122 -0
- package/dist/cjs/useDeepMemoizedObject.js.map +6 -0
- package/dist/cjs/useDeepMemoizedObject.native.js +192 -0
- package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -0
- package/dist/cjs/useDeepMemoizedObject.test.cjs +251 -0
- package/dist/cjs/useDeepMemoizedObject.test.js +187 -0
- package/dist/cjs/useDeepMemoizedObject.test.js.map +6 -0
- package/dist/cjs/useDeepMemoizedObject.test.native.js +261 -0
- package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -0
- package/dist/cjs/useDeferredBoolean.cjs +34 -0
- package/dist/cjs/useDeferredBoolean.js +29 -0
- package/dist/cjs/useDeferredBoolean.js.map +6 -0
- package/dist/cjs/useDeferredBoolean.native.js +37 -0
- package/dist/cjs/useDeferredBoolean.native.js.map +1 -0
- package/dist/cjs/useEffectOnceGlobally.cjs +33 -0
- package/dist/cjs/useEffectOnceGlobally.js +28 -0
- package/dist/cjs/useEffectOnceGlobally.js.map +6 -0
- package/dist/cjs/useEffectOnceGlobally.native.js +38 -0
- package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -0
- package/dist/cjs/useIsMounted.cjs +32 -0
- package/dist/cjs/useIsMounted.js +27 -0
- package/dist/cjs/useIsMounted.js.map +6 -0
- package/dist/cjs/useIsMounted.native.js +35 -0
- package/dist/cjs/useIsMounted.native.js.map +1 -0
- package/dist/cjs/useLastValue.cjs +29 -0
- package/dist/cjs/useLastValue.js +24 -0
- package/dist/cjs/useLastValue.js.map +6 -0
- package/dist/cjs/useLastValue.native.js +32 -0
- package/dist/cjs/useLastValue.native.js.map +1 -0
- package/dist/cjs/useLastValueIf.cjs +31 -0
- package/dist/cjs/useLastValueIf.js +25 -0
- package/dist/cjs/useLastValueIf.js.map +6 -0
- package/dist/cjs/useLastValueIf.native.js +35 -0
- package/dist/cjs/useLastValueIf.native.js.map +1 -0
- package/dist/cjs/useMemoStable.cjs +32 -0
- package/dist/cjs/useMemoStable.js +26 -0
- package/dist/cjs/useMemoStable.js.map +6 -0
- package/dist/cjs/useMemoStable.native.js +36 -0
- package/dist/cjs/useMemoStable.native.js.map +1 -0
- package/dist/cjs/useMemoizedObjectList.cjs +48 -0
- package/dist/cjs/useMemoizedObjectList.js +36 -0
- package/dist/cjs/useMemoizedObjectList.js.map +6 -0
- package/dist/cjs/useMemoizedObjectList.native.js +65 -0
- package/dist/cjs/useMemoizedObjectList.native.js.map +1 -0
- package/dist/cjs/useThrottle.cjs +39 -0
- package/dist/cjs/useThrottle.js +30 -0
- package/dist/cjs/useThrottle.js.map +6 -0
- package/dist/cjs/useThrottle.native.js +45 -0
- package/dist/cjs/useThrottle.native.js.map +1 -0
- package/dist/cjs/useWarnIfDepsChange.cjs +54 -0
- package/dist/cjs/useWarnIfDepsChange.js +46 -0
- package/dist/cjs/useWarnIfDepsChange.js.map +6 -0
- package/dist/cjs/useWarnIfDepsChange.native.js +58 -0
- package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -0
- package/dist/cjs/useWarnIfMemoChangesOften.cjs +34 -0
- package/dist/cjs/useWarnIfMemoChangesOften.js +29 -0
- package/dist/cjs/useWarnIfMemoChangesOften.js.map +6 -0
- package/dist/cjs/useWarnIfMemoChangesOften.native.js +42 -0
- package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +14 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +14 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/useClickOutside.js +22 -0
- package/dist/esm/useClickOutside.js.map +6 -0
- package/dist/esm/useClickOutside.mjs +20 -0
- package/dist/esm/useClickOutside.mjs.map +1 -0
- package/dist/esm/useClickOutside.native.js +25 -0
- package/dist/esm/useClickOutside.native.js.map +1 -0
- package/dist/esm/useDebouncePrepend.js +25 -0
- package/dist/esm/useDebouncePrepend.js.map +6 -0
- package/dist/esm/useDebouncePrepend.mjs +23 -0
- package/dist/esm/useDebouncePrepend.mjs.map +1 -0
- package/dist/esm/useDebouncePrepend.native.js +28 -0
- package/dist/esm/useDebouncePrepend.native.js.map +1 -0
- package/dist/esm/useDeepMemoizedObject.js +106 -0
- package/dist/esm/useDeepMemoizedObject.js.map +6 -0
- package/dist/esm/useDeepMemoizedObject.mjs +123 -0
- package/dist/esm/useDeepMemoizedObject.mjs.map +1 -0
- package/dist/esm/useDeepMemoizedObject.native.js +164 -0
- package/dist/esm/useDeepMemoizedObject.native.js.map +1 -0
- package/dist/esm/useDeepMemoizedObject.test.js +188 -0
- package/dist/esm/useDeepMemoizedObject.test.js.map +6 -0
- package/dist/esm/useDeepMemoizedObject.test.mjs +252 -0
- package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -0
- package/dist/esm/useDeepMemoizedObject.test.native.js +259 -0
- package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -0
- package/dist/esm/useDeferredBoolean.js +13 -0
- package/dist/esm/useDeferredBoolean.js.map +6 -0
- package/dist/esm/useDeferredBoolean.mjs +11 -0
- package/dist/esm/useDeferredBoolean.mjs.map +1 -0
- package/dist/esm/useDeferredBoolean.native.js +11 -0
- package/dist/esm/useDeferredBoolean.native.js.map +1 -0
- package/dist/esm/useEffectOnceGlobally.js +12 -0
- package/dist/esm/useEffectOnceGlobally.js.map +6 -0
- package/dist/esm/useEffectOnceGlobally.mjs +10 -0
- package/dist/esm/useEffectOnceGlobally.mjs.map +1 -0
- package/dist/esm/useEffectOnceGlobally.native.js +12 -0
- package/dist/esm/useEffectOnceGlobally.native.js.map +1 -0
- package/dist/esm/useIsMounted.js +11 -0
- package/dist/esm/useIsMounted.js.map +6 -0
- package/dist/esm/useIsMounted.mjs +9 -0
- package/dist/esm/useIsMounted.mjs.map +1 -0
- package/dist/esm/useIsMounted.native.js +9 -0
- package/dist/esm/useIsMounted.native.js.map +1 -0
- package/dist/esm/useLastValue.js +8 -0
- package/dist/esm/useLastValue.js.map +6 -0
- package/dist/esm/useLastValue.mjs +6 -0
- package/dist/esm/useLastValue.mjs.map +1 -0
- package/dist/esm/useLastValue.native.js +6 -0
- package/dist/esm/useLastValue.native.js.map +1 -0
- package/dist/esm/useLastValueIf.js +9 -0
- package/dist/esm/useLastValueIf.js.map +6 -0
- package/dist/esm/useLastValueIf.mjs +8 -0
- package/dist/esm/useLastValueIf.mjs.map +1 -0
- package/dist/esm/useLastValueIf.native.js +9 -0
- package/dist/esm/useLastValueIf.native.js.map +1 -0
- package/dist/esm/useMemoStable.js +11 -0
- package/dist/esm/useMemoStable.js.map +6 -0
- package/dist/esm/useMemoStable.mjs +9 -0
- package/dist/esm/useMemoStable.mjs.map +1 -0
- package/dist/esm/useMemoStable.native.js +10 -0
- package/dist/esm/useMemoStable.native.js.map +1 -0
- package/dist/esm/useMemoizedObjectList.js +21 -0
- package/dist/esm/useMemoizedObjectList.js.map +6 -0
- package/dist/esm/useMemoizedObjectList.mjs +25 -0
- package/dist/esm/useMemoizedObjectList.mjs.map +1 -0
- package/dist/esm/useMemoizedObjectList.native.js +39 -0
- package/dist/esm/useMemoizedObjectList.native.js.map +1 -0
- package/dist/esm/useThrottle.js +15 -0
- package/dist/esm/useThrottle.js.map +6 -0
- package/dist/esm/useThrottle.mjs +16 -0
- package/dist/esm/useThrottle.mjs.map +1 -0
- package/dist/esm/useThrottle.native.js +19 -0
- package/dist/esm/useThrottle.native.js.map +1 -0
- package/dist/esm/useWarnIfDepsChange.js +31 -0
- package/dist/esm/useWarnIfDepsChange.js.map +6 -0
- package/dist/esm/useWarnIfDepsChange.mjs +31 -0
- package/dist/esm/useWarnIfDepsChange.mjs.map +1 -0
- package/dist/esm/useWarnIfDepsChange.native.js +32 -0
- package/dist/esm/useWarnIfDepsChange.native.js.map +1 -0
- package/dist/esm/useWarnIfMemoChangesOften.js +14 -0
- package/dist/esm/useWarnIfMemoChangesOften.js.map +6 -0
- package/dist/esm/useWarnIfMemoChangesOften.mjs +11 -0
- package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -0
- package/dist/esm/useWarnIfMemoChangesOften.native.js +16 -0
- package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -0
- package/package.json +54 -0
- package/src/index.ts +13 -0
- package/src/useClickOutside.ts +34 -0
- package/src/useDebouncePrepend.ts +63 -0
- package/src/useDeepMemoizedObject.test.ts +343 -0
- package/src/useDeepMemoizedObject.ts +231 -0
- package/src/useDeferredBoolean.tsx +15 -0
- package/src/useEffectOnceGlobally.ts +41 -0
- package/src/useIsMounted.ts +11 -0
- package/src/useLastValue.ts +5 -0
- package/src/useLastValueIf.ts +15 -0
- package/src/useMemoStable.ts +24 -0
- package/src/useMemoizedObjectList.ts +74 -0
- package/src/useThrottle.ts +35 -0
- package/src/useWarnIfDepsChange.ts +61 -0
- package/src/useWarnIfMemoChangesOften.ts +24 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var useWarnIfDepsChange_exports = {};
|
|
16
|
+
__export(useWarnIfDepsChange_exports, {
|
|
17
|
+
useWarnIfDepsChange: () => useWarnIfDepsChange
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(useWarnIfDepsChange_exports);
|
|
20
|
+
var import_react = require("react"), import_helpers = require("@take-out/helpers");
|
|
21
|
+
function useWarnIfDepsChange(deps, options) {
|
|
22
|
+
const { maxChanges = 0, name, ignoreIndexBefore = 0 } = options, changeCountRef = (0, import_react.useRef)(0), prevDepsRef = (0, import_react.useRef)(void 0), id = (0, import_react.useId)();
|
|
23
|
+
(0, import_react.useEffect)(() => {
|
|
24
|
+
if (process.env.NODE_ENV === "development") {
|
|
25
|
+
if (prevDepsRef.current !== void 0) {
|
|
26
|
+
const changedDeps = [];
|
|
27
|
+
(ignoreIndexBefore ? deps.slice(ignoreIndexBefore) : deps).forEach((dep, indexIn) => {
|
|
28
|
+
const index = indexIn + ignoreIndexBefore;
|
|
29
|
+
prevDepsRef.current && prevDepsRef.current[index] !== dep && changedDeps.push({
|
|
30
|
+
index,
|
|
31
|
+
prev: prevDepsRef.current[index],
|
|
32
|
+
next: dep
|
|
33
|
+
});
|
|
34
|
+
}), changedDeps.length > 0 && (changeCountRef.current++, changeCountRef.current > maxChanges && console.info(
|
|
35
|
+
`\u{1F504} useWarnIfDepsChange "${name}" is changing too often! Changed ${changeCountRef.current} times (max: ${maxChanges})`,
|
|
36
|
+
changedDeps,
|
|
37
|
+
`
|
|
38
|
+
id (${id}) at:`,
|
|
39
|
+
(0, import_helpers.getCurrentComponentStack)("short")
|
|
40
|
+
));
|
|
41
|
+
}
|
|
42
|
+
prevDepsRef.current = deps;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=useWarnIfDepsChange.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useWarnIfDepsChange.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC,kBACzC,iBAAyC;AAQlC,SAAS,oBACd,MACA,SACM;AACN,QAAM,EAAE,aAAa,GAAG,MAAM,oBAAoB,EAAE,IAAI,SAElD,qBAAiB,qBAAO,CAAC,GACzB,kBAAc,qBAAsB,MAAS,GAC7C,SAAK,oBAAM;AAEjB,8BAAU,MAAM;AACd,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAI,YAAY,YAAY,QAAW;AACrC,cAAM,cAID,CAAC;AAIN,SAFoB,oBAAoB,KAAK,MAAM,iBAAiB,IAAI,MAE5D,QAAQ,CAAC,KAAK,YAAY;AACpC,gBAAM,QAAQ,UAAU;AAExB,UAAI,YAAY,WAAW,YAAY,QAAQ,KAAK,MAAM,OACxD,YAAY,KAAK;AAAA,YACf;AAAA,YACA,MAAM,YAAY,QAAQ,KAAK;AAAA,YAC/B,MAAM;AAAA,UACR,CAAC;AAAA,QAEL,CAAC,GAEG,YAAY,SAAS,MACvB,eAAe,WAEX,eAAe,UAAU,cAE3B,QAAQ;AAAA,UACN,kCAA2B,IAAI,oCAAoC,eAAe,OAAO,gBAAgB,UAAU;AAAA,UACnH;AAAA,UACA;AAAA,OAAU,EAAE;AAAA,cACZ,yCAAyB,OAAO;AAAA,QAClC;AAAA,MAGN;AAEA,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,CAAC;AACH;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
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, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var useWarnIfDepsChange_exports = {};
|
|
24
|
+
__export(useWarnIfDepsChange_exports, {
|
|
25
|
+
useWarnIfDepsChange: () => useWarnIfDepsChange
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useWarnIfDepsChange_exports);
|
|
28
|
+
var import_react = require("react"),
|
|
29
|
+
import_helpers = require("@take-out/helpers");
|
|
30
|
+
function useWarnIfDepsChange(deps, options) {
|
|
31
|
+
var {
|
|
32
|
+
maxChanges = 0,
|
|
33
|
+
name,
|
|
34
|
+
ignoreIndexBefore = 0
|
|
35
|
+
} = options,
|
|
36
|
+
changeCountRef = (0, import_react.useRef)(0),
|
|
37
|
+
prevDepsRef = (0, import_react.useRef)(void 0),
|
|
38
|
+
id = (0, import_react.useId)();
|
|
39
|
+
(0, import_react.useEffect)(function () {
|
|
40
|
+
if (process.env.NODE_ENV === "development") {
|
|
41
|
+
if (prevDepsRef.current !== void 0) {
|
|
42
|
+
var changedDeps = [],
|
|
43
|
+
compareDeps = ignoreIndexBefore ? deps.slice(ignoreIndexBefore) : deps;
|
|
44
|
+
compareDeps.forEach(function (dep, indexIn) {
|
|
45
|
+
var index = indexIn + ignoreIndexBefore;
|
|
46
|
+
prevDepsRef.current && prevDepsRef.current[index] !== dep && changedDeps.push({
|
|
47
|
+
index,
|
|
48
|
+
prev: prevDepsRef.current[index],
|
|
49
|
+
next: dep
|
|
50
|
+
});
|
|
51
|
+
}), changedDeps.length > 0 && (changeCountRef.current++, changeCountRef.current > maxChanges && console.info(`\u{1F504} useWarnIfDepsChange "${name}" is changing too often! Changed ${changeCountRef.current} times (max: ${maxChanges})`, changedDeps, `
|
|
52
|
+
id (${id}) at:`, (0, import_helpers.getCurrentComponentStack)("short")));
|
|
53
|
+
}
|
|
54
|
+
prevDepsRef.current = deps;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useWarnIfDepsChange.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfDepsChange_exports","__export","useWarnIfDepsChange","module","exports","import_react","require","import_helpers","deps","options","maxChanges","name","ignoreIndexBefore","changeCountRef","useRef","prevDepsRef","id","useId","useEffect","process","env","NODE_ENV","current","changedDeps","compareDeps","slice","forEach","dep","indexIn","index","push","prev","next","length","console","info","getCurrentComponentStack"],"sources":["../../src/useWarnIfDepsChange.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,2BACA;AAQlC,IAAAK,YAAS,GAAAC,OAAA,QACd,CACA;EAAAC,cACM,GAAAD,OAAA;AACN,SAAMJ,mBAAkBA,CAAAM,IAAM,EAAAC,OAAA;EAM9B;MAAAC,UAAA;MAAAC,IAAA;MAAUC,iBAAM;IAAA,IAAAH,OAAA;IAAAI,cAAA,OAAAR,YAAA,CAAAS,MAAA;IAAAC,WAAA,OAAAV,YAAA,CAAAS,MAAA;IAAAE,EAAA,OAAAX,YAAA,CAAAY,KAAA;EACd,IAAAZ,YAAY,CAAAa,SAAI,cAAa;IAC3B,IAAAC,OAAI,CAAAC,GAAA,CAAAC,QAAY,kBAAuB;MACrC,IAAAN,WAAM,CAAAO,OAIA;QAIN,IAFoBC,WAAA;UAAoBC,WAAW,GAAAZ,iBAAqB,GAAAJ,IAE5D,CAAAiB,KAAA,CAAQb,iBAAM,CAAY,GAAAJ,IAAA;QACpCgB,WAAM,CAAAE,OAAQ,WAAUC,GAAA,EAAAC,OAAA;UAEpB,IAAAC,KAAA,GAAYD,OAAA,GAAAhB,iBAAuB;UACpBG,WACf,CAAAO,OAAA,IAAAP,WAAA,CAAAO,OAAA,CAAAO,KAAA,MAAAF,GAAA,IAAAJ,WAAA,CAAAO,IAAA;YACAD,KAAA;YACAE,IAAA,EAAMhB,WAAA,CAAAO,OAAA,CAAAO,KAAA;YACPG,IAAA,EAAAL;UAEJ,EAEG;QAKQ,EACN,EAAAJ,WAAA,CAAAU,MAAA,SAAApB,cAA+B,CAAAS,OAAA,IAAAT,cAAA,CAAAS,OAAoC,GAAAZ,UAAe,IAAAwB,OAAO,CAAAC,IAAA,mCAA0BxB,IAAA,oCAAAE,cAAA,CAAAS,OAAA,gBAAAZ,UAAA,KAAAa,WAAA;AAAA,OAAAP,EAAA,OACnH,MAAAT,cAAA,CAAA6B,wBAAA;MAAA;MACArB,WAAY,CAAAO,OAAA,GAAAd,IAAA;IAAA;EACoB;AAClC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var useWarnIfMemoChangesOften_exports = {};
|
|
22
|
+
__export(useWarnIfMemoChangesOften_exports, {
|
|
23
|
+
useWarnIfMemoChangesOften: () => useWarnIfMemoChangesOften
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(useWarnIfMemoChangesOften_exports);
|
|
26
|
+
var import_react = require("react"),
|
|
27
|
+
import_helpers = require("@take-out/helpers");
|
|
28
|
+
const useWarnIfMemoChangesOften = process.env.NODE_ENV === "production" ? import_helpers.emptyFn : (value, threshold = 5, name) => {
|
|
29
|
+
const countRef = (0, import_react.useRef)(0),
|
|
30
|
+
prevValueRef = (0, import_react.useRef)(value);
|
|
31
|
+
(0, import_react.useEffect)(() => {
|
|
32
|
+
prevValueRef.current !== value && (countRef.current++, prevValueRef.current = value, countRef.current > threshold && console.warn(`\u{1F504} ${name || "Memoized value"} is changing too often! Changed ${countRef.current} times (threshold: ${threshold})`));
|
|
33
|
+
}, [value, threshold, name]);
|
|
34
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var useWarnIfMemoChangesOften_exports = {};
|
|
16
|
+
__export(useWarnIfMemoChangesOften_exports, {
|
|
17
|
+
useWarnIfMemoChangesOften: () => useWarnIfMemoChangesOften
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(useWarnIfMemoChangesOften_exports);
|
|
20
|
+
var import_react = require("react"), import_helpers = require("@take-out/helpers");
|
|
21
|
+
const useWarnIfMemoChangesOften = process.env.NODE_ENV === "production" ? import_helpers.emptyFn : (value, threshold = 5, name) => {
|
|
22
|
+
const countRef = (0, import_react.useRef)(0), prevValueRef = (0, import_react.useRef)(value);
|
|
23
|
+
(0, import_react.useEffect)(() => {
|
|
24
|
+
prevValueRef.current !== value && (countRef.current++, prevValueRef.current = value, countRef.current > threshold && console.warn(
|
|
25
|
+
`\u{1F504} ${name || "Memoized value"} is changing too often! Changed ${countRef.current} times (threshold: ${threshold})`
|
|
26
|
+
));
|
|
27
|
+
}, [value, threshold, name]);
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useWarnIfMemoChangesOften.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useWarnIfMemoChangesOften.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC,kBAClC,iBAAwB;AAEjB,MAAM,4BACX,QAAQ,IAAI,aAAa,eACpB,yBACD,CAAI,OAAU,YAAY,GAAG,SAAkB;AAC7C,QAAM,eAAW,qBAAO,CAAC,GACnB,mBAAe,qBAAU,KAAK;AAEpC,8BAAU,MAAM;AACd,IAAI,aAAa,YAAY,UAC3B,SAAS,WACT,aAAa,UAAU,OAEnB,SAAS,UAAU,aAErB,QAAQ;AAAA,MACN,aAFkB,QAAQ,gBAET,mCAAmC,SAAS,OAAO,sBAAsB,SAAS;AAAA,IACrG;AAAA,EAGN,GAAG,CAAC,OAAO,WAAW,IAAI,CAAC;AAC7B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
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, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var useWarnIfMemoChangesOften_exports = {};
|
|
24
|
+
__export(useWarnIfMemoChangesOften_exports, {
|
|
25
|
+
useWarnIfMemoChangesOften: () => useWarnIfMemoChangesOften
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(useWarnIfMemoChangesOften_exports);
|
|
28
|
+
var import_react = require("react"),
|
|
29
|
+
import_helpers = require("@take-out/helpers"),
|
|
30
|
+
useWarnIfMemoChangesOften = process.env.NODE_ENV === "production" ? import_helpers.emptyFn : function (value) {
|
|
31
|
+
var threshold = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 5,
|
|
32
|
+
name = arguments.length > 2 ? arguments[2] : void 0,
|
|
33
|
+
countRef = (0, import_react.useRef)(0),
|
|
34
|
+
prevValueRef = (0, import_react.useRef)(value);
|
|
35
|
+
(0, import_react.useEffect)(function () {
|
|
36
|
+
if (prevValueRef.current !== value && (countRef.current++, prevValueRef.current = value, countRef.current > threshold)) {
|
|
37
|
+
var warningName = name || "Memoized value";
|
|
38
|
+
console.warn(`\u{1F504} ${warningName} is changing too often! Changed ${countRef.current} times (threshold: ${threshold})`);
|
|
39
|
+
}
|
|
40
|
+
}, [value, threshold, name]);
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useWarnIfMemoChangesOften.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useWarnIfMemoChangesOften_exports","__export","useWarnIfMemoChangesOften","module","exports","import_react","require","import_helpers","process","env","NODE_ENV","emptyFn","threshold","arguments","length","name","countRef","useRef","prevValueRef","useEffect","current","warningName","console","warn"],"sources":["../../src/useWarnIfMemoChangesOften.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iCAAA;AAAAC,QAAA,CAAAD,iCAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAkC,CAAAK,iCACV;AAEjB,IAAAK,YAAM,GAAAC,OAAA,QACX;EAAAC,cAAY,GAAAD,OAAa,oBACpB;EAAAJ,yBACa,GAAAM,OAAY,CAAAC,GAAG,CAAAC,QAAkB,oBAAAH,cAAA,CAAAI,OAAA,aAAAZ,KAAA;IAC7C,IAAAa,SAAM,GAAAC,SAAW,CAAAC,MAAA,QAAAD,SACX,iBAAeA,SAAA;MAAAE,IAAU,GAAKF,SAAA,CAAAC,MAAA,OAAAD,SAAA;MAAAG,QAAA,OAAAX,YAAA,CAAAY,MAAA;MAAAC,YAAA,OAAAb,YAAA,CAAAY,MAAA,EAAAlB,KAAA;IAEpC,IAAAM,YAAA,CAAAc,SAAA,EAAU,YAAM;MACV,IAAAD,YAAa,CAAAE,OAAA,KAAYrB,KAAA,KAC3BiB,QAAS,CAAAI,OACT,IAAAF,YAAa,CAAAE,OAAU,GAAArB,KAEnB,EAAAiB,QAAS,CAAAI,OAAU,GAAAR,SAErB;QACE,IAAAS,WAFkB,GAAAN,IAAQ,oBAET;QACnBO,OAAA,CAAAC,IAAA,cAAAF,WAAA,mCAAAL,QAAA,CAAAI,OAAA,sBAAAR,SAAA;MAGN;IACF,I","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./useClickOutside";
|
|
2
|
+
export * from "./useDebouncePrepend";
|
|
3
|
+
export * from "./useDeepMemoizedObject";
|
|
4
|
+
export * from "./useDeferredBoolean";
|
|
5
|
+
export * from "./useEffectOnceGlobally";
|
|
6
|
+
export * from "./useIsMounted";
|
|
7
|
+
export * from "./useLastValue";
|
|
8
|
+
export * from "./useLastValueIf";
|
|
9
|
+
export * from "./useMemoizedObjectList";
|
|
10
|
+
export * from "./useMemoStable";
|
|
11
|
+
export * from "./useThrottle";
|
|
12
|
+
export * from "./useWarnIfDepsChange";
|
|
13
|
+
export * from "./useWarnIfMemoChangesOften";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./useClickOutside.mjs";
|
|
2
|
+
export * from "./useDebouncePrepend.mjs";
|
|
3
|
+
export * from "./useDeepMemoizedObject.mjs";
|
|
4
|
+
export * from "./useDeferredBoolean.mjs";
|
|
5
|
+
export * from "./useEffectOnceGlobally.mjs";
|
|
6
|
+
export * from "./useIsMounted.mjs";
|
|
7
|
+
export * from "./useLastValue.mjs";
|
|
8
|
+
export * from "./useLastValueIf.mjs";
|
|
9
|
+
export * from "./useMemoizedObjectList.mjs";
|
|
10
|
+
export * from "./useMemoStable.mjs";
|
|
11
|
+
export * from "./useThrottle.mjs";
|
|
12
|
+
export * from "./useWarnIfDepsChange.mjs";
|
|
13
|
+
export * from "./useWarnIfMemoChangesOften.mjs";
|
|
14
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./useClickOutside.native.js";
|
|
2
|
+
export * from "./useDebouncePrepend.native.js";
|
|
3
|
+
export * from "./useDeepMemoizedObject.native.js";
|
|
4
|
+
export * from "./useDeferredBoolean.native.js";
|
|
5
|
+
export * from "./useEffectOnceGlobally.native.js";
|
|
6
|
+
export * from "./useIsMounted.native.js";
|
|
7
|
+
export * from "./useLastValue.native.js";
|
|
8
|
+
export * from "./useLastValueIf.native.js";
|
|
9
|
+
export * from "./useMemoizedObjectList.native.js";
|
|
10
|
+
export * from "./useMemoStable.native.js";
|
|
11
|
+
export * from "./useThrottle.native.js";
|
|
12
|
+
export * from "./useWarnIfDepsChange.native.js";
|
|
13
|
+
export * from "./useWarnIfMemoChangesOften.native.js";
|
|
14
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { isWeb } from "tamagui";
|
|
3
|
+
const useClickOutside = ({
|
|
4
|
+
ref,
|
|
5
|
+
active,
|
|
6
|
+
onClickOutside
|
|
7
|
+
}) => {
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!isWeb || !active || !onClickOutside) return;
|
|
10
|
+
const handleClickOutside = (e) => {
|
|
11
|
+
const node = ref.current;
|
|
12
|
+
node && e.target instanceof HTMLElement && (node.contains(e.target) || onClickOutside());
|
|
13
|
+
};
|
|
14
|
+
return document.addEventListener("click", handleClickOutside), () => {
|
|
15
|
+
document.removeEventListener("click", handleClickOutside);
|
|
16
|
+
};
|
|
17
|
+
}, [ref, active, onClickOutside]);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
useClickOutside
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useClickOutside.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useClickOutside.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,aAAkC;AAQpC,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,YAAU,MAAM;AAGd,QAFI,CAAC,SACD,CAAC,UACD,CAAC,eAAgB;AAErB,UAAM,qBAAqB,CAAC,MAAkB;AAC5C,YAAM,OAAO,IAAI;AACjB,MAAK,QACC,EAAE,kBAAkB,gBACrB,KAAK,SAAS,EAAE,MAAM,KACzB,eAAe;AAAA,IAEnB;AAEA,oBAAS,iBAAiB,SAAS,kBAAkB,GAC9C,MAAM;AACX,eAAS,oBAAoB,SAAS,kBAAkB;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,cAAc,CAAC;AAClC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { isWeb } from "tamagui";
|
|
3
|
+
const useClickOutside = ({
|
|
4
|
+
ref,
|
|
5
|
+
active,
|
|
6
|
+
onClickOutside
|
|
7
|
+
}) => {
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!isWeb || !active || !onClickOutside) return;
|
|
10
|
+
const handleClickOutside = e => {
|
|
11
|
+
const node = ref.current;
|
|
12
|
+
node && e.target instanceof HTMLElement && (node.contains(e.target) || onClickOutside());
|
|
13
|
+
};
|
|
14
|
+
return document.addEventListener("click", handleClickOutside), () => {
|
|
15
|
+
document.removeEventListener("click", handleClickOutside);
|
|
16
|
+
};
|
|
17
|
+
}, [ref, active, onClickOutside]);
|
|
18
|
+
};
|
|
19
|
+
export { useClickOutside };
|
|
20
|
+
//# sourceMappingURL=useClickOutside.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","isWeb","useClickOutside","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener","removeEventListener"],"sources":["../../src/useClickOutside.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAC1B,SAASC,KAAA,QAAkC;AAQpC,MAAMC,eAAA,GAAkBA,CAAC;EAC9BC,GAAA;EACAC,MAAA;EACAC;AACF,MAA4B;EAC1BL,SAAA,CAAU,MAAM;IAGd,IAFI,CAACC,KAAA,IACD,CAACG,MAAA,IACD,CAACC,cAAA,EAAgB;IAErB,MAAMC,kBAAA,GAAsBC,CAAA,IAAkB;MAC5C,MAAMC,IAAA,GAAOL,GAAA,CAAIM,OAAA;MACZD,IAAA,IACCD,CAAA,CAAEG,MAAA,YAAkBC,WAAA,KACrBH,IAAA,CAAKI,QAAA,CAASL,CAAA,CAAEG,MAAM,KACzBL,cAAA,CAAe;IAEnB;IAEA,OAAAQ,QAAA,CAASC,gBAAA,CAAiB,SAASR,kBAAkB,GAC9C,MAAM;MACXO,QAAA,CAASE,mBAAA,CAAoB,SAAST,kBAAkB;IAC1D;EACF,GAAG,CAACH,GAAA,EAAKC,MAAA,EAAQC,cAAc,CAAC;AAClC","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { isWeb } from "tamagui";
|
|
3
|
+
function _instanceof(left, right) {
|
|
4
|
+
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
5
|
+
}
|
|
6
|
+
var useClickOutside = function (param) {
|
|
7
|
+
var {
|
|
8
|
+
ref,
|
|
9
|
+
active,
|
|
10
|
+
onClickOutside
|
|
11
|
+
} = param;
|
|
12
|
+
useEffect(function () {
|
|
13
|
+
if (isWeb && active && onClickOutside) {
|
|
14
|
+
var handleClickOutside = function (e) {
|
|
15
|
+
var node = ref.current;
|
|
16
|
+
node && _instanceof(e.target, HTMLElement) && (node.contains(e.target) || onClickOutside());
|
|
17
|
+
};
|
|
18
|
+
return document.addEventListener("click", handleClickOutside), function () {
|
|
19
|
+
document.removeEventListener("click", handleClickOutside);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}, [ref, active, onClickOutside]);
|
|
23
|
+
};
|
|
24
|
+
export { useClickOutside };
|
|
25
|
+
//# sourceMappingURL=useClickOutside.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","isWeb","_instanceof","left","right","Symbol","hasInstance","useClickOutside","param","ref","active","onClickOutside","handleClickOutside","e","node","current","target","HTMLElement","contains","document","addEventListener","removeEventListener"],"sources":["../../src/useClickOutside.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAC1B,SAASC,KAAA,QAAkC;AAQpC,SAAMC,YAAAC,IAAmB,EAAAC,KAAA;EAC9B,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAAA;AACA,IACAG,eAAA,YAAAA,CAAAC,KAAA;EACF,IAA4B;IAAAC,GAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAH,KAAA;EAC1BR,SAAA,CAAU,YAAM;IAGd,IAFIC,KAAC,IAAAS,MACA,IAAAC,cACA;MAEL,IAAMC,kBAAA,GAAqB,SAAAA,CAAmBC,CAAA;QAC5C,IAAMC,IAAA,GAAOL,GAAA,CAAIM,OAAA;QACZD,IAAA,IACGZ,WAAA,CAAAW,CAAA,CAAAG,MAAkB,EAAAC,WAAA,CACrB,KAAKH,IAAA,CAAAI,QAAW,CAAAL,CAAA,CAAAG,MACnB,KAAAL,cAAe;MAEnB;MAEA,OAAAQ,QAAS,CAAAC,gBAAiB,QAAS,EAAAR,kBAAkB,CAC9C,cAAM;QACXO,QAAS,CAAAE,mBAAoB,QAAS,EAAAT,kBAAkB;MAC1D;IACF;EACF,I","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { debounce } from "tamagui";
|
|
3
|
+
function useDebouncePrepend(list, delay) {
|
|
4
|
+
const [current, setCurrent] = useState(list), [previous, setPrevious] = useState(list), [pendingUpdate, setPendingUpdate] = useState(null), debouncedUpdate = useMemo(() => debounce((newList) => {
|
|
5
|
+
setCurrent(newList), setPendingUpdate(null);
|
|
6
|
+
}, delay), [delay]), updateState = useCallback(
|
|
7
|
+
(newList) => {
|
|
8
|
+
setCurrent((prevCurrent) => {
|
|
9
|
+
const currentList = pendingUpdate || prevCurrent;
|
|
10
|
+
return newList.length > previous.length && newList[0]?.id !== previous[0]?.id ? (debouncedUpdate.cancel(), setPendingUpdate(newList), debouncedUpdate(newList), currentList) : (debouncedUpdate.cancel(), setPendingUpdate(null), newList);
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
[previous, pendingUpdate, debouncedUpdate]
|
|
14
|
+
);
|
|
15
|
+
return useEffect(() => {
|
|
16
|
+
if (list !== previous)
|
|
17
|
+
return setPrevious(list), updateState(list), () => {
|
|
18
|
+
debouncedUpdate.cancel();
|
|
19
|
+
};
|
|
20
|
+
}, [list, previous, updateState, debouncedUpdate]), current;
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
useDebouncePrepend
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=useDebouncePrepend.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useDebouncePrepend.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAC1D,SAAS,gBAAgB;AAElB,SAAS,mBACd,MACA,OACG;AACH,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,IAAI,GACrC,CAAC,UAAU,WAAW,IAAI,SAAS,IAAI,GACvC,CAAC,eAAe,gBAAgB,IAAI,SAAmB,IAAI,GAE3D,kBAAkB,QAAQ,MACvB,SAAS,CAAC,YAAe;AAC9B,eAAW,OAAO,GAClB,iBAAiB,IAAI;AAAA,EACvB,GAAG,KAAK,GACP,CAAC,KAAK,CAAC,GAEJ,cAAc;AAAA,IAClB,CAAC,YAAe;AACd,iBAAW,CAAC,gBAAgB;AAE1B,cAAM,cAAc,iBAAiB;AAMrC,eAFE,QAAQ,SAAS,SAAS,UAAU,QAAQ,CAAC,GAAG,OAAO,SAAS,CAAC,GAAG,MAIpE,gBAAgB,OAAO,GACvB,iBAAiB,OAAO,GACxB,gBAAgB,OAAO,GAChB,gBAIT,gBAAgB,OAAO,GACvB,iBAAiB,IAAI,GACd;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,UAAU,eAAe,eAAe;AAAA,EAC3C;AAEA,mBAAU,MAAM;AACd,QAAI,SAAS;AAKb,yBAAY,IAAI,GAGhB,YAAY,IAAI,GAET,MAAM;AACX,wBAAgB,OAAO;AAAA,MACzB;AAAA,EACF,GAAG,CAAC,MAAM,UAAU,aAAa,eAAe,CAAC,GAE1C;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { debounce } from "tamagui";
|
|
3
|
+
function useDebouncePrepend(list, delay) {
|
|
4
|
+
const [current, setCurrent] = useState(list),
|
|
5
|
+
[previous, setPrevious] = useState(list),
|
|
6
|
+
[pendingUpdate, setPendingUpdate] = useState(null),
|
|
7
|
+
debouncedUpdate = useMemo(() => debounce(newList => {
|
|
8
|
+
setCurrent(newList), setPendingUpdate(null);
|
|
9
|
+
}, delay), [delay]),
|
|
10
|
+
updateState = useCallback(newList => {
|
|
11
|
+
setCurrent(prevCurrent => {
|
|
12
|
+
const currentList = pendingUpdate || prevCurrent;
|
|
13
|
+
return newList.length > previous.length && newList[0]?.id !== previous[0]?.id ? (debouncedUpdate.cancel(), setPendingUpdate(newList), debouncedUpdate(newList), currentList) : (debouncedUpdate.cancel(), setPendingUpdate(null), newList);
|
|
14
|
+
});
|
|
15
|
+
}, [previous, pendingUpdate, debouncedUpdate]);
|
|
16
|
+
return useEffect(() => {
|
|
17
|
+
if (list !== previous) return setPrevious(list), updateState(list), () => {
|
|
18
|
+
debouncedUpdate.cancel();
|
|
19
|
+
};
|
|
20
|
+
}, [list, previous, updateState, debouncedUpdate]), current;
|
|
21
|
+
}
|
|
22
|
+
export { useDebouncePrepend };
|
|
23
|
+
//# sourceMappingURL=useDebouncePrepend.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","debounce","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","currentList","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAC1D,SAASC,QAAA,QAAgB;AAElB,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIN,QAAA,CAASG,IAAI;IACrC,CAACI,QAAA,EAAUC,WAAW,IAAIR,QAAA,CAASG,IAAI;IACvC,CAACM,aAAA,EAAeC,gBAAgB,IAAIV,QAAA,CAAmB,IAAI;IAE3DW,eAAA,GAAkBZ,OAAA,CAAQ,MACvBE,QAAA,CAAUW,OAAA,IAAe;MAC9BN,UAAA,CAAWM,OAAO,GAClBF,gBAAA,CAAiB,IAAI;IACvB,GAAGN,KAAK,GACP,CAACA,KAAK,CAAC;IAEJS,WAAA,GAAchB,WAAA,CACjBe,OAAA,IAAe;MACdN,UAAA,CAAYQ,WAAA,IAAgB;QAE1B,MAAMC,WAAA,GAAcN,aAAA,IAAiBK,WAAA;QAMrC,OAFEF,OAAA,CAAQI,MAAA,GAAST,QAAA,CAASS,MAAA,IAAUJ,OAAA,CAAQ,CAAC,GAAGK,EAAA,KAAOV,QAAA,CAAS,CAAC,GAAGU,EAAA,IAIpEN,eAAA,CAAgBO,MAAA,CAAO,GACvBR,gBAAA,CAAiBE,OAAO,GACxBD,eAAA,CAAgBC,OAAO,GAChBG,WAAA,KAITJ,eAAA,CAAgBO,MAAA,CAAO,GACvBR,gBAAA,CAAiB,IAAI,GACdE,OAAA;MACT,CAAC;IACH,GACA,CAACL,QAAA,EAAUE,aAAA,EAAeE,eAAe,CAC3C;EAEA,OAAAb,SAAA,CAAU,MAAM;IACd,IAAIK,IAAA,KAASI,QAAA,EAKb,OAAAC,WAAA,CAAYL,IAAI,GAGhBU,WAAA,CAAYV,IAAI,GAET,MAAM;MACXQ,eAAA,CAAgBO,MAAA,CAAO;IACzB;EACF,GAAG,CAACf,IAAA,EAAMI,QAAA,EAAUM,WAAA,EAAaF,eAAe,CAAC,GAE1CN,OAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { debounce } from "tamagui";
|
|
3
|
+
function useDebouncePrepend(list, delay) {
|
|
4
|
+
var [current, setCurrent] = useState(list),
|
|
5
|
+
[previous, setPrevious] = useState(list),
|
|
6
|
+
[pendingUpdate, setPendingUpdate] = useState(null),
|
|
7
|
+
debouncedUpdate = useMemo(function () {
|
|
8
|
+
return debounce(function (newList) {
|
|
9
|
+
setCurrent(newList), setPendingUpdate(null);
|
|
10
|
+
}, delay);
|
|
11
|
+
}, [delay]),
|
|
12
|
+
updateState = useCallback(function (newList) {
|
|
13
|
+
setCurrent(function (prevCurrent) {
|
|
14
|
+
var _newList_,
|
|
15
|
+
_previous_,
|
|
16
|
+
currentList = pendingUpdate || prevCurrent,
|
|
17
|
+
isPrepending = newList.length > previous.length && ((_newList_ = newList[0]) === null || _newList_ === void 0 ? void 0 : _newList_.id) !== ((_previous_ = previous[0]) === null || _previous_ === void 0 ? void 0 : _previous_.id);
|
|
18
|
+
return isPrepending ? (debouncedUpdate.cancel(), setPendingUpdate(newList), debouncedUpdate(newList), currentList) : (debouncedUpdate.cancel(), setPendingUpdate(null), newList);
|
|
19
|
+
});
|
|
20
|
+
}, [previous, pendingUpdate, debouncedUpdate]);
|
|
21
|
+
return useEffect(function () {
|
|
22
|
+
if (list !== previous) return setPrevious(list), updateState(list), function () {
|
|
23
|
+
debouncedUpdate.cancel();
|
|
24
|
+
};
|
|
25
|
+
}, [list, previous, updateState, debouncedUpdate]), current;
|
|
26
|
+
}
|
|
27
|
+
export { useDebouncePrepend };
|
|
28
|
+
//# sourceMappingURL=useDebouncePrepend.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","debounce","useDebouncePrepend","list","delay","current","setCurrent","previous","setPrevious","pendingUpdate","setPendingUpdate","debouncedUpdate","newList","updateState","prevCurrent","_newList_","_previous_","currentList","isPrepending","length","id","cancel"],"sources":["../../src/useDebouncePrepend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAC1D,SAASC,QAAA,QAAgB;AAElB,SAASC,mBACdC,IAAA,EACAC,KAAA,EACG;EACH,KAAAC,OAAO,EAAAC,UAAS,IAAUN,QAAI,CAAAG,IAAS;IAAI,CAAAI,QACpC,EAAAC,WAAU,IAAWR,QAAI,CAAAG,IAAS;IAAI,CAAAM,aACtC,EAAAC,gBAAe,IAAgBV,QAAI,KAAmB;IAAIW,eAE3D,GAAAZ,OAAkB,aACf;MACL,OAAAE,QAAW,WACXW,OAAA;QACCN,UACD,CAAAM,OAEE,GAAAF,gBAAc;MAClB,CAAC,EAAAN,KAAA;IACC,IAEEA,KAAA,CAMA;IAAAS,WAFE,GAAAhB,WAAQ,CAAS,UAASe,OAAA;MAarBN,UACR,WAAAQ,WAAA;QACH,IAAAC,SAAA;UAAAC,UAAA;UAAAC,WAAA,GAAAR,aAAA,IAAAK,WAAA;UAAAI,YAAA,GAAAN,OAAA,CAAAO,MAAA,GAAAZ,QAAA,CAAAY,MAAA,MAAAJ,SAAA,GAAAH,OAAA,iBAAAG,SAAA,uBAAAA,SAAA,CAAAK,EAAA,QAAAJ,UAAA,GAAAT,QAAA,iBAAAS,UAAA,uBAAAA,UAAA,CAAAI,EAAA;QACC,OAAAF,YAAU,IAAAP,eAAe,CAAeU,MAAA,IAAAX,gBAAA,CAAAE,OAAA,GAAAD,eAAA,CAAAC,OAAA,GAAAK,WAAA,KAAAN,eAAA,CAAAU,MAAA,IAAAX,gBAAA,QAAAE,OAAA;MAC3C;IAEA,IACEL,QAAI,EAKJE,aAAA,EAMEE,eAAA,CAAuB;EAE3B,OAAIb,SAAM,aAAU;IAGtB,IAAAK,IAAA,KAAAI,QAAA,E","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
function shouldBeImmutable(path, immutableToNestedChanges) {
|
|
3
|
+
if (!immutableToNestedChanges) return !1;
|
|
4
|
+
const currentPath = path.join(".");
|
|
5
|
+
for (const pattern in immutableToNestedChanges)
|
|
6
|
+
if (immutableToNestedChanges[pattern] && currentPath === pattern)
|
|
7
|
+
return !0;
|
|
8
|
+
return !1;
|
|
9
|
+
}
|
|
10
|
+
function deepMutateInPlace(target, source) {
|
|
11
|
+
if (!(typeof target != "object" || target === null || typeof source != "object" || source === null)) {
|
|
12
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
|
13
|
+
target.length = 0, target.push(...source);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
for (const key in source) {
|
|
17
|
+
const targetValue = target[key], sourceValue = source[key];
|
|
18
|
+
typeof sourceValue == "object" && sourceValue !== null && typeof targetValue == "object" && targetValue !== null ? deepMutateInPlace(targetValue, sourceValue) : target[key] = sourceValue;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function deepMemoizeWithTracking(current, previous, path, immutableToNestedChanges, parentIsImmutable = !1) {
|
|
23
|
+
if (current === previous)
|
|
24
|
+
return { value: previous, hasChanges: !1, hasImmutableMutation: !1 };
|
|
25
|
+
if (typeof current != "object" || current === null)
|
|
26
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
27
|
+
if (typeof previous != "object" || previous === null)
|
|
28
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
29
|
+
const shouldMutateInPlace = shouldBeImmutable(path, immutableToNestedChanges) || parentIsImmutable;
|
|
30
|
+
if (Array.isArray(current)) {
|
|
31
|
+
if (!Array.isArray(previous))
|
|
32
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
33
|
+
if (current.length !== previous.length)
|
|
34
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
35
|
+
let hasChanges2 = !1, hasImmutableMutation2 = !1;
|
|
36
|
+
const memoizedArray = [];
|
|
37
|
+
for (let i = 0; i < current.length; i++) {
|
|
38
|
+
const itemPath = [...path, String(i)], result = deepMemoizeWithTracking(
|
|
39
|
+
current[i],
|
|
40
|
+
previous[i],
|
|
41
|
+
itemPath,
|
|
42
|
+
immutableToNestedChanges,
|
|
43
|
+
!1
|
|
44
|
+
);
|
|
45
|
+
memoizedArray[i] = result.value, result.hasChanges && (hasChanges2 = !0), result.hasImmutableMutation && (hasImmutableMutation2 = !0);
|
|
46
|
+
}
|
|
47
|
+
return hasChanges2 || hasImmutableMutation2 ? { value: memoizedArray, hasChanges: !0, hasImmutableMutation: !1 } : { value: previous, hasChanges: !1, hasImmutableMutation: !1 };
|
|
48
|
+
}
|
|
49
|
+
const currentKeys = Object.keys(current), previousKeys = Object.keys(previous);
|
|
50
|
+
if (currentKeys.length !== previousKeys.length)
|
|
51
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
52
|
+
if (!currentKeys.every((key) => key in previous))
|
|
53
|
+
return { value: current, hasChanges: !0, hasImmutableMutation: !1 };
|
|
54
|
+
let hasChanges = !1, hasImmutableMutation = !1;
|
|
55
|
+
const memoizedObject = {};
|
|
56
|
+
for (const key of currentKeys) {
|
|
57
|
+
const propPath = [...path, key], currentValue = current[key], previousValue = previous[key], result = deepMemoizeWithTracking(
|
|
58
|
+
currentValue,
|
|
59
|
+
previousValue,
|
|
60
|
+
propPath,
|
|
61
|
+
immutableToNestedChanges,
|
|
62
|
+
shouldMutateInPlace
|
|
63
|
+
);
|
|
64
|
+
memoizedObject[key] = result.value, result.hasChanges && (hasChanges = !0), result.hasImmutableMutation && (hasImmutableMutation = !0);
|
|
65
|
+
}
|
|
66
|
+
if (shouldMutateInPlace && (hasChanges || hasImmutableMutation)) {
|
|
67
|
+
if (parentIsImmutable)
|
|
68
|
+
deepMutateInPlace(previous, current);
|
|
69
|
+
else
|
|
70
|
+
for (const key of currentKeys)
|
|
71
|
+
previous[key] = memoizedObject[key];
|
|
72
|
+
return { value: previous, hasChanges: !1, hasImmutableMutation: !0 };
|
|
73
|
+
}
|
|
74
|
+
return hasChanges || hasImmutableMutation ? { value: memoizedObject, hasChanges: !0, hasImmutableMutation: !1 } : { value: previous, hasChanges: !1, hasImmutableMutation: !1 };
|
|
75
|
+
}
|
|
76
|
+
function deepMemoize(current, previous, path = [], immutableToNestedChanges) {
|
|
77
|
+
const result = deepMemoizeWithTracking(
|
|
78
|
+
current,
|
|
79
|
+
previous,
|
|
80
|
+
path,
|
|
81
|
+
immutableToNestedChanges,
|
|
82
|
+
!1
|
|
83
|
+
);
|
|
84
|
+
if (path.length === 0 && result.hasImmutableMutation && !result.hasChanges) {
|
|
85
|
+
if (Array.isArray(result.value))
|
|
86
|
+
return [...result.value];
|
|
87
|
+
if (typeof result.value == "object" && result.value !== null)
|
|
88
|
+
return { ...result.value };
|
|
89
|
+
}
|
|
90
|
+
return result.value;
|
|
91
|
+
}
|
|
92
|
+
function useDeepMemoizedObject(value, options) {
|
|
93
|
+
const previousValueRef = useRef(value), memoizedValue = deepMemoize(
|
|
94
|
+
value,
|
|
95
|
+
previousValueRef.current,
|
|
96
|
+
[],
|
|
97
|
+
options?.immutableToNestedChanges
|
|
98
|
+
);
|
|
99
|
+
return previousValueRef.current = memoizedValue, memoizedValue;
|
|
100
|
+
}
|
|
101
|
+
export {
|
|
102
|
+
deepMemoize,
|
|
103
|
+
shouldBeImmutable,
|
|
104
|
+
useDeepMemoizedObject
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=useDeepMemoizedObject.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useDeepMemoizedObject.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["hasChanges", "hasImmutableMutation"]
|
|
6
|
+
}
|