@bigbinary/neeto-commons-frontend 3.4.2 → 3.4.3
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/cjs/react-utils/constants/constants.js +3 -1
- package/cjs/react-utils/constants/constants.js.map +1 -1
- package/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js +27 -3
- package/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js.map +1 -1
- package/package.json +1 -1
- package/react-utils/constants/constants.js +1 -0
- package/react-utils/constants/constants.js.map +1 -1
- package/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js +26 -3
- package/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js.map +1 -1
- package/react-utils.d.ts +1 -1
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.QUERY_CACHE_NAME_SPACE = exports.NEETO_APPS_LIST_STALE_TIME = void 0;
|
|
6
|
+
exports.STORAGE_KEY = exports.QUERY_CACHE_NAME_SPACE = exports.NEETO_APPS_LIST_STALE_TIME = void 0;
|
|
7
7
|
var QUERY_CACHE_NAME_SPACE = "queryCache";
|
|
8
8
|
exports.QUERY_CACHE_NAME_SPACE = QUERY_CACHE_NAME_SPACE;
|
|
9
9
|
var NEETO_APPS_LIST_STALE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days
|
|
10
10
|
exports.NEETO_APPS_LIST_STALE_TIME = NEETO_APPS_LIST_STALE_TIME;
|
|
11
|
+
var STORAGE_KEY = "navigationCheckpoints";
|
|
12
|
+
exports.STORAGE_KEY = STORAGE_KEY;
|
|
11
13
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["QUERY_CACHE_NAME_SPACE","exports","NEETO_APPS_LIST_STALE_TIME"],"sources":["../../../../src/react-utils/constants/constants.js"],"sourcesContent":["export const QUERY_CACHE_NAME_SPACE = \"queryCache\";\nexport const NEETO_APPS_LIST_STALE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days\n"],"mappings":";;;;;;AAAO,IAAMA,sBAAsB,GAAG,YAAY;AAACC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA;AAC5C,IAAME,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAAAD,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["QUERY_CACHE_NAME_SPACE","exports","NEETO_APPS_LIST_STALE_TIME","STORAGE_KEY"],"sources":["../../../../src/react-utils/constants/constants.js"],"sourcesContent":["export const QUERY_CACHE_NAME_SPACE = \"queryCache\";\nexport const NEETO_APPS_LIST_STALE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days\nexport const STORAGE_KEY = \"navigationCheckpoints\";\n"],"mappings":";;;;;;AAAO,IAAMA,sBAAsB,GAAG,YAAY;AAACC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA;AAC5C,IAAME,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAAAD,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AAC7D,IAAMC,WAAW,GAAG,uBAAuB;AAACF,OAAA,CAAAE,WAAA,GAAAA,WAAA"}
|
|
@@ -8,9 +8,20 @@ exports.useRemoveNavigationCheckpoint = exports.useNavigationCheckpoints = expor
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var _ramda = require("ramda");
|
|
11
|
+
var _constants = require("../constants");
|
|
11
12
|
var _withImmutableActions = _interopRequireDefault(require("../withImmutableActions"));
|
|
13
|
+
var _general = require("../../utils/general");
|
|
12
14
|
var _zustand = require("zustand");
|
|
13
15
|
var _shallow = require("zustand/shallow");
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
var getLocalStorageData = function getLocalStorageData() {
|
|
19
|
+
return (0, _general.getFromLocalStorage)(_constants.STORAGE_KEY) || {};
|
|
20
|
+
};
|
|
21
|
+
var setLocalStorageData = function setLocalStorageData(data) {
|
|
22
|
+
return (0, _general.setToLocalStorage)(_constants.STORAGE_KEY, data);
|
|
23
|
+
};
|
|
24
|
+
|
|
14
25
|
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
15
26
|
var useCheckpointStore = (0, _zustand.create)((0, _withImmutableActions["default"])(function (set) {
|
|
16
27
|
return {
|
|
@@ -31,22 +42,35 @@ var useCheckpointStore = (0, _zustand.create)((0, _withImmutableActions["default
|
|
|
31
42
|
}));
|
|
32
43
|
var useRegisterNavigationCheckpoint = function useRegisterNavigationCheckpoint(key) {
|
|
33
44
|
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.pathname + window.location.search;
|
|
45
|
+
var persistInLocalStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
34
46
|
var setCheckpoint = useCheckpointStore((0, _ramda.prop)("setCheckpoint"));
|
|
35
47
|
(0, _react.useEffect)(function () {
|
|
36
48
|
setCheckpoint(key, path);
|
|
37
|
-
|
|
49
|
+
if (persistInLocalStorage) {
|
|
50
|
+
var localStorageData = getLocalStorageData();
|
|
51
|
+
setLocalStorageData(_objectSpread(_objectSpread({}, localStorageData), {}, (0, _defineProperty2["default"])({}, key, path)));
|
|
52
|
+
}
|
|
53
|
+
}, [key, path, persistInLocalStorage]);
|
|
38
54
|
};
|
|
39
55
|
var useNavigationCheckpoints = function useNavigationCheckpoints() {
|
|
40
56
|
for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
41
57
|
keys[_key] = arguments[_key];
|
|
42
58
|
}
|
|
43
|
-
|
|
59
|
+
var getCheckpoints = useCheckpointStore(function (store) {
|
|
44
60
|
return (0, _ramda.pick)(keys, store.checkpoints);
|
|
45
61
|
}, _shallow.shallow);
|
|
62
|
+
var localStorageData = getLocalStorageData();
|
|
63
|
+
var localStorageCheckpoints = (0, _ramda.pick)(keys, localStorageData);
|
|
64
|
+
return _objectSpread(_objectSpread({}, getCheckpoints), localStorageCheckpoints);
|
|
46
65
|
};
|
|
47
66
|
exports.useNavigationCheckpoints = useNavigationCheckpoints;
|
|
48
67
|
var useRemoveNavigationCheckpoint = function useRemoveNavigationCheckpoint() {
|
|
49
|
-
|
|
68
|
+
var removeCheckpoint = useCheckpointStore((0, _ramda.prop)("removeCheckpoint"));
|
|
69
|
+
return function (key) {
|
|
70
|
+
removeCheckpoint(key);
|
|
71
|
+
var localStorageData = getLocalStorageData();
|
|
72
|
+
setLocalStorageData((0, _ramda.dissoc)(key, localStorageData));
|
|
73
|
+
};
|
|
50
74
|
};
|
|
51
75
|
exports.useRemoveNavigationCheckpoint = useRemoveNavigationCheckpoint;
|
|
52
76
|
var _default = useRegisterNavigationCheckpoint;
|
package/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["_react","require","_ramda","_withImmutableActions","_interopRequireDefault","_zustand","_shallow","
|
|
1
|
+
{"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["_react","require","_ramda","_constants","_withImmutableActions","_interopRequireDefault","_general","_zustand","_shallow","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getLocalStorageData","getFromLocalStorage","STORAGE_KEY","setLocalStorageData","data","setToLocalStorage","useCheckpointStore","create","withImmutableActions","set","checkpoints","setCheckpoint","path","mergeDeepLeft","removeCheckpoint","state","dissoc","useRegisterNavigationCheckpoint","undefined","window","location","pathname","search","persistInLocalStorage","prop","useEffect","localStorageData","useNavigationCheckpoints","_len","Array","_key","getCheckpoints","store","pick","shallow","localStorageCheckpoints","exports","useRemoveNavigationCheckpoint","_default"],"sources":["../../../../src/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { mergeDeepLeft, pick, prop, dissoc } from \"ramda\";\nimport { STORAGE_KEY } from \"react-utils/constants\";\nimport withImmutableActions from \"react-utils/withImmutableActions\";\nimport { getFromLocalStorage, setToLocalStorage } from \"utils/general\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst getLocalStorageData = () => getFromLocalStorage(STORAGE_KEY) || {};\n\nconst setLocalStorageData = data => setToLocalStorage(STORAGE_KEY, data);\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCheckpointStore = create(\n withImmutableActions(set => ({\n checkpoints: {},\n setCheckpoint: (key, path) =>\n set(mergeDeepLeft({ checkpoints: { [key]: path } })),\n removeCheckpoint: key =>\n set(state => ({ checkpoints: dissoc(key, state.checkpoints) })),\n }))\n);\n\nconst useRegisterNavigationCheckpoint = (\n key,\n path = window.location.pathname + window.location.search,\n persistInLocalStorage = false\n) => {\n const setCheckpoint = useCheckpointStore(prop(\"setCheckpoint\"));\n\n useEffect(() => {\n setCheckpoint(key, path);\n if (persistInLocalStorage) {\n const localStorageData = getLocalStorageData();\n setLocalStorageData({ ...localStorageData, [key]: path });\n }\n }, [key, path, persistInLocalStorage]);\n};\n\nexport const useNavigationCheckpoints = (...keys) => {\n const getCheckpoints = useCheckpointStore(\n store => pick(keys, store.checkpoints),\n shallow\n );\n\n const localStorageData = getLocalStorageData();\n const localStorageCheckpoints = pick(keys, localStorageData);\n\n return { ...getCheckpoints, ...localStorageCheckpoints };\n};\n\nexport const useRemoveNavigationCheckpoint = () => {\n const removeCheckpoint = useCheckpointStore(prop(\"removeCheckpoint\"));\n\n return key => {\n removeCheckpoint(key);\n const localStorageData = getLocalStorageData();\n setLocalStorageData(dissoc(key, localStorageData));\n };\n};\n\nexport default useRegisterNavigationCheckpoint;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.3",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["QUERY_CACHE_NAME_SPACE","NEETO_APPS_LIST_STALE_TIME"],"sources":["../../../src/react-utils/constants/constants.js"],"sourcesContent":["export const QUERY_CACHE_NAME_SPACE = \"queryCache\";\nexport const NEETO_APPS_LIST_STALE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days\n"],"mappings":"AAAA,OAAO,IAAMA,sBAAsB,GAAG,YAAY;AAClD,OAAO,IAAMC,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["QUERY_CACHE_NAME_SPACE","NEETO_APPS_LIST_STALE_TIME","STORAGE_KEY"],"sources":["../../../src/react-utils/constants/constants.js"],"sourcesContent":["export const QUERY_CACHE_NAME_SPACE = \"queryCache\";\nexport const NEETO_APPS_LIST_STALE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days\nexport const STORAGE_KEY = \"navigationCheckpoints\";\n"],"mappings":"AAAA,OAAO,IAAMA,sBAAsB,GAAG,YAAY;AAClD,OAAO,IAAMC,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACpE,OAAO,IAAMC,WAAW,GAAG,uBAAuB"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2
4
|
import { useEffect } from "react";
|
|
3
5
|
import { mergeDeepLeft, pick, prop, dissoc } from "ramda";
|
|
6
|
+
import { STORAGE_KEY } from "../constants";
|
|
4
7
|
import withImmutableActions from "../withImmutableActions";
|
|
8
|
+
import { getFromLocalStorage, setToLocalStorage } from "../../utils/general";
|
|
5
9
|
import { create } from "zustand";
|
|
6
10
|
import { shallow } from "zustand/shallow";
|
|
11
|
+
var getLocalStorageData = function getLocalStorageData() {
|
|
12
|
+
return getFromLocalStorage(STORAGE_KEY) || {};
|
|
13
|
+
};
|
|
14
|
+
var setLocalStorageData = function setLocalStorageData(data) {
|
|
15
|
+
return setToLocalStorage(STORAGE_KEY, data);
|
|
16
|
+
};
|
|
7
17
|
|
|
8
18
|
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
9
19
|
var useCheckpointStore = create(withImmutableActions(function (set) {
|
|
@@ -25,21 +35,34 @@ var useCheckpointStore = create(withImmutableActions(function (set) {
|
|
|
25
35
|
}));
|
|
26
36
|
var useRegisterNavigationCheckpoint = function useRegisterNavigationCheckpoint(key) {
|
|
27
37
|
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.pathname + window.location.search;
|
|
38
|
+
var persistInLocalStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
28
39
|
var setCheckpoint = useCheckpointStore(prop("setCheckpoint"));
|
|
29
40
|
useEffect(function () {
|
|
30
41
|
setCheckpoint(key, path);
|
|
31
|
-
|
|
42
|
+
if (persistInLocalStorage) {
|
|
43
|
+
var localStorageData = getLocalStorageData();
|
|
44
|
+
setLocalStorageData(_objectSpread(_objectSpread({}, localStorageData), {}, _defineProperty({}, key, path)));
|
|
45
|
+
}
|
|
46
|
+
}, [key, path, persistInLocalStorage]);
|
|
32
47
|
};
|
|
33
48
|
export var useNavigationCheckpoints = function useNavigationCheckpoints() {
|
|
34
49
|
for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
50
|
keys[_key] = arguments[_key];
|
|
36
51
|
}
|
|
37
|
-
|
|
52
|
+
var getCheckpoints = useCheckpointStore(function (store) {
|
|
38
53
|
return pick(keys, store.checkpoints);
|
|
39
54
|
}, shallow);
|
|
55
|
+
var localStorageData = getLocalStorageData();
|
|
56
|
+
var localStorageCheckpoints = pick(keys, localStorageData);
|
|
57
|
+
return _objectSpread(_objectSpread({}, getCheckpoints), localStorageCheckpoints);
|
|
40
58
|
};
|
|
41
59
|
export var useRemoveNavigationCheckpoint = function useRemoveNavigationCheckpoint() {
|
|
42
|
-
|
|
60
|
+
var removeCheckpoint = useCheckpointStore(prop("removeCheckpoint"));
|
|
61
|
+
return function (key) {
|
|
62
|
+
removeCheckpoint(key);
|
|
63
|
+
var localStorageData = getLocalStorageData();
|
|
64
|
+
setLocalStorageData(dissoc(key, localStorageData));
|
|
65
|
+
};
|
|
43
66
|
};
|
|
44
67
|
export default useRegisterNavigationCheckpoint;
|
|
45
68
|
//# sourceMappingURL=useRegisterNavigationCheckpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["useEffect","mergeDeepLeft","pick","prop","dissoc","withImmutableActions","create","shallow","useCheckpointStore","set","checkpoints","setCheckpoint","key","path","_defineProperty","removeCheckpoint","state","useRegisterNavigationCheckpoint","arguments","length","undefined","window","location","pathname","search","useNavigationCheckpoints","_len","keys","Array","_key","store","useRemoveNavigationCheckpoint"],"sources":["../../../src/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { mergeDeepLeft, pick, prop, dissoc } from \"ramda\";\nimport withImmutableActions from \"react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCheckpointStore = create(\n withImmutableActions(set => ({\n checkpoints: {},\n setCheckpoint: (key, path) =>\n set(mergeDeepLeft({ checkpoints: { [key]: path } })),\n removeCheckpoint: key =>\n set(state => ({ checkpoints: dissoc(key, state.checkpoints) })),\n }))\n);\n\nconst useRegisterNavigationCheckpoint = (\n key,\n path = window.location.pathname + window.location.search\n) => {\n const setCheckpoint = useCheckpointStore(prop(\"setCheckpoint\"));\n\n useEffect(() => {\n setCheckpoint(key, path);\n }, [key, path]);\n};\n\nexport const useNavigationCheckpoints = (...keys)
|
|
1
|
+
{"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["useEffect","mergeDeepLeft","pick","prop","dissoc","STORAGE_KEY","withImmutableActions","getFromLocalStorage","setToLocalStorage","create","shallow","getLocalStorageData","setLocalStorageData","data","useCheckpointStore","set","checkpoints","setCheckpoint","key","path","_defineProperty","removeCheckpoint","state","useRegisterNavigationCheckpoint","arguments","length","undefined","window","location","pathname","search","persistInLocalStorage","localStorageData","_objectSpread","useNavigationCheckpoints","_len","keys","Array","_key","getCheckpoints","store","localStorageCheckpoints","useRemoveNavigationCheckpoint"],"sources":["../../../src/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { mergeDeepLeft, pick, prop, dissoc } from \"ramda\";\nimport { STORAGE_KEY } from \"react-utils/constants\";\nimport withImmutableActions from \"react-utils/withImmutableActions\";\nimport { getFromLocalStorage, setToLocalStorage } from \"utils/general\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst getLocalStorageData = () => getFromLocalStorage(STORAGE_KEY) || {};\n\nconst setLocalStorageData = data => setToLocalStorage(STORAGE_KEY, data);\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCheckpointStore = create(\n withImmutableActions(set => ({\n checkpoints: {},\n setCheckpoint: (key, path) =>\n set(mergeDeepLeft({ checkpoints: { [key]: path } })),\n removeCheckpoint: key =>\n set(state => ({ checkpoints: dissoc(key, state.checkpoints) })),\n }))\n);\n\nconst useRegisterNavigationCheckpoint = (\n key,\n path = window.location.pathname + window.location.search,\n persistInLocalStorage = false\n) => {\n const setCheckpoint = useCheckpointStore(prop(\"setCheckpoint\"));\n\n useEffect(() => {\n setCheckpoint(key, path);\n if (persistInLocalStorage) {\n const localStorageData = getLocalStorageData();\n setLocalStorageData({ ...localStorageData, [key]: path });\n }\n }, [key, path, persistInLocalStorage]);\n};\n\nexport const useNavigationCheckpoints = (...keys) => {\n const getCheckpoints = useCheckpointStore(\n store => pick(keys, store.checkpoints),\n shallow\n );\n\n const localStorageData = getLocalStorageData();\n const localStorageCheckpoints = pick(keys, localStorageData);\n\n return { ...getCheckpoints, ...localStorageCheckpoints };\n};\n\nexport const useRemoveNavigationCheckpoint = () => {\n const removeCheckpoint = useCheckpointStore(prop(\"removeCheckpoint\"));\n\n return key => {\n removeCheckpoint(key);\n const localStorageData = getLocalStorageData();\n setLocalStorageData(dissoc(key, localStorageData));\n };\n};\n\nexport default useRegisterNavigationCheckpoint;\n"],"mappings":"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"}
|
package/react-utils.d.ts
CHANGED
|
@@ -1165,7 +1165,7 @@ export function useStateWithDependency<T>(defaultValue: T, dependencies?: any[])
|
|
|
1165
1165
|
* };
|
|
1166
1166
|
* @endexample
|
|
1167
1167
|
*/
|
|
1168
|
-
export function useRegisterNavigationCheckpoint(key: string, path?: string): void;
|
|
1168
|
+
export function useRegisterNavigationCheckpoint(key: string, path?: string, persistInLocalStorage?: boolean): void;
|
|
1169
1169
|
/**
|
|
1170
1170
|
*
|
|
1171
1171
|
* The useNavigationCheckpoints hook is a convenient tool for fetching designated
|