@evlop/commons 1.0.352 → 1.0.353
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/dist/cjs/src/hooks/useSharedState.d.ts +1 -1
- package/dist/cjs/src/hooks/useSharedState.d.ts.map +1 -1
- package/dist/cjs/src/hooks/useSharedState.js +17 -14
- package/dist/cjs/src/hooks/useSharedState.js.map +1 -1
- package/dist/esm/src/hooks/useSharedState.d.ts +1 -1
- package/dist/esm/src/hooks/useSharedState.d.ts.map +1 -1
- package/dist/esm/src/hooks/useSharedState.js +17 -14
- package/dist/esm/src/hooks/useSharedState.js.map +1 -1
- package/dist/types/src/hooks/useSharedState.d.ts +1 -1
- package/dist/types/src/hooks/useSharedState.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
type SetStateAction<T> = T | ((prev: T) => T);
|
|
2
|
-
export declare const useSharedState: <T>(
|
|
2
|
+
export declare const useSharedState: <T>(stateName: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
|
|
3
3
|
export default useSharedState;
|
|
4
4
|
//# sourceMappingURL=useSharedState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,
|
|
1
|
+
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,WAAW,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqB5G,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -9,26 +9,29 @@ const globalValues = new Map();
|
|
|
9
9
|
function getEventName(name) {
|
|
10
10
|
return `updated:${name}`;
|
|
11
11
|
}
|
|
12
|
-
function getGlobalValueOrDefault(
|
|
13
|
-
return globalValues.has(
|
|
12
|
+
function getGlobalValueOrDefault(stateName, defaultValue) {
|
|
13
|
+
return globalValues.has(stateName) ? globalValues.get(stateName) : defaultValue;
|
|
14
14
|
}
|
|
15
|
-
const updateGlobalValue = (
|
|
16
|
-
const prev = (globalValues.has(
|
|
15
|
+
const updateGlobalValue = (stateName, next, defaultValue) => {
|
|
16
|
+
const prev = (globalValues.has(stateName) ? globalValues.get(stateName) : defaultValue);
|
|
17
17
|
const nextValue = typeof next === 'function' ? next(prev) : next;
|
|
18
|
-
globalValues.set(
|
|
19
|
-
globalEmitter.emit(getEventName(
|
|
18
|
+
globalValues.set(stateName, nextValue);
|
|
19
|
+
globalEmitter.emit(getEventName(stateName), nextValue);
|
|
20
20
|
};
|
|
21
|
-
const useSharedState = (
|
|
22
|
-
const [value, _setValue] = (0, react_1.useState)(() => getGlobalValueOrDefault(
|
|
21
|
+
const useSharedState = (stateName, defaultValue) => {
|
|
22
|
+
const [value, _setValue] = (0, react_1.useState)(() => getGlobalValueOrDefault(stateName, defaultValue));
|
|
23
23
|
(0, react_1.useEffect)(() => {
|
|
24
|
-
const eventName = getEventName(
|
|
25
|
-
const
|
|
26
|
-
|
|
24
|
+
const eventName = getEventName(stateName);
|
|
25
|
+
const handleUpdate = (newValue) => {
|
|
26
|
+
_setValue(newValue);
|
|
27
|
+
};
|
|
28
|
+
globalEmitter.addListener(eventName, handleUpdate);
|
|
29
|
+
_setValue(getGlobalValueOrDefault(stateName, defaultValue));
|
|
27
30
|
return () => {
|
|
28
|
-
globalEmitter.removeListener(eventName,
|
|
31
|
+
globalEmitter.removeListener(eventName, handleUpdate);
|
|
29
32
|
};
|
|
30
|
-
}, [
|
|
31
|
-
const setSharedValue = (0, react_1.useCallback)((next) => updateGlobalValue(
|
|
33
|
+
}, [stateName]);
|
|
34
|
+
const setSharedValue = (0, react_1.useCallback)((next) => updateGlobalValue(stateName, next, defaultValue), [stateName, defaultValue]);
|
|
32
35
|
return [value, setSharedValue];
|
|
33
36
|
};
|
|
34
37
|
exports.useSharedState = useSharedState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AACzD,mCAAsC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,WAAW,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAI,
|
|
1
|
+
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AACzD,mCAAsC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,WAAW,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAI,SAAiB,EAAE,YAAe;IACpE,OAAO,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AACzF,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAK,SAAiB,EAAE,IAAuB,EAAE,YAAgB,EAAQ,EAAE;IACjG,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC,CAAC;AAEG,MAAM,cAAc,GAAG,CAAK,SAAiB,EAAE,YAAe,EAA0C,EAAE;IAC/G,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAI,GAAG,EAAE,CAAC,uBAAuB,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAElG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,CAAC,QAAW,EAAE,EAAE;YACnC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,SAAS,CAAC,uBAAuB,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7I,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB;AAEF,kBAAe,sBAAc,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
type SetStateAction<T> = T | ((prev: T) => T);
|
|
2
|
-
export declare const useSharedState: <T>(
|
|
2
|
+
export declare const useSharedState: <T>(stateName: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
|
|
3
3
|
export default useSharedState;
|
|
4
4
|
//# sourceMappingURL=useSharedState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,
|
|
1
|
+
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,WAAW,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqB5G,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -6,26 +6,29 @@ const globalValues = new Map();
|
|
|
6
6
|
function getEventName(name) {
|
|
7
7
|
return `updated:${name}`;
|
|
8
8
|
}
|
|
9
|
-
function getGlobalValueOrDefault(
|
|
10
|
-
return globalValues.has(
|
|
9
|
+
function getGlobalValueOrDefault(stateName, defaultValue) {
|
|
10
|
+
return globalValues.has(stateName) ? globalValues.get(stateName) : defaultValue;
|
|
11
11
|
}
|
|
12
|
-
const updateGlobalValue = (
|
|
13
|
-
const prev = (globalValues.has(
|
|
12
|
+
const updateGlobalValue = (stateName, next, defaultValue) => {
|
|
13
|
+
const prev = (globalValues.has(stateName) ? globalValues.get(stateName) : defaultValue);
|
|
14
14
|
const nextValue = typeof next === 'function' ? next(prev) : next;
|
|
15
|
-
globalValues.set(
|
|
16
|
-
globalEmitter.emit(getEventName(
|
|
15
|
+
globalValues.set(stateName, nextValue);
|
|
16
|
+
globalEmitter.emit(getEventName(stateName), nextValue);
|
|
17
17
|
};
|
|
18
|
-
export const useSharedState = (
|
|
19
|
-
const [value, _setValue] = useState(() => getGlobalValueOrDefault(
|
|
18
|
+
export const useSharedState = (stateName, defaultValue) => {
|
|
19
|
+
const [value, _setValue] = useState(() => getGlobalValueOrDefault(stateName, defaultValue));
|
|
20
20
|
useEffect(() => {
|
|
21
|
-
const eventName = getEventName(
|
|
22
|
-
const
|
|
23
|
-
|
|
21
|
+
const eventName = getEventName(stateName);
|
|
22
|
+
const handleUpdate = (newValue) => {
|
|
23
|
+
_setValue(newValue);
|
|
24
|
+
};
|
|
25
|
+
globalEmitter.addListener(eventName, handleUpdate);
|
|
26
|
+
_setValue(getGlobalValueOrDefault(stateName, defaultValue));
|
|
24
27
|
return () => {
|
|
25
|
-
globalEmitter.removeListener(eventName,
|
|
28
|
+
globalEmitter.removeListener(eventName, handleUpdate);
|
|
26
29
|
};
|
|
27
|
-
}, [
|
|
28
|
-
const setSharedValue = useCallback((next) => updateGlobalValue(
|
|
30
|
+
}, [stateName]);
|
|
31
|
+
const setSharedValue = useCallback((next) => updateGlobalValue(stateName, next, defaultValue), [stateName, defaultValue]);
|
|
29
32
|
return [value, setSharedValue];
|
|
30
33
|
};
|
|
31
34
|
export default useSharedState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,WAAW,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAI,
|
|
1
|
+
{"version":3,"file":"useSharedState.js","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,wCAAwC;AACxC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAE5C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,WAAW,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAI,SAAiB,EAAE,YAAe;IACpE,OAAO,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AACzF,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAK,SAAiB,EAAE,IAAuB,EAAE,YAAgB,EAAQ,EAAE;IACjG,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAM,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAK,SAAiB,EAAE,YAAe,EAA0C,EAAE;IAC/G,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAI,GAAG,EAAE,CAAC,uBAAuB,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAElG,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,CAAC,QAAW,EAAE,EAAE;YACnC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,SAAS,CAAC,uBAAuB,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7I,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
type SetStateAction<T> = T | ((prev: T) => T);
|
|
2
|
-
export declare const useSharedState: <T>(
|
|
2
|
+
export declare const useSharedState: <T>(stateName: string, defaultValue: T) => [T, (next: SetStateAction<T>) => void];
|
|
3
3
|
export default useSharedState;
|
|
4
4
|
//# sourceMappingURL=useSharedState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,
|
|
1
|
+
{"version":3,"file":"useSharedState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSharedState.tsx"],"names":[],"mappings":"AAGA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAsB9C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,WAAW,MAAM,EAAE,cAAc,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAqB5G,CAAC;AAEF,eAAe,cAAc,CAAC"}
|