@d2k/react-localstorage
Advanced tools
Comparing version 1.0.7 to 1.1.0
@@ -1,6 +0,2 @@ | ||
declare const useLocalStorage: <T>(key: string, defaultValue?: T | undefined) => { | ||
data: T | undefined; | ||
set: (val: T) => void; | ||
remove: () => void; | ||
}; | ||
declare const useLocalStorage: <T>(key: string, defaultValue?: T | undefined) => [T | undefined, (val: T) => void, () => void]; | ||
export default useLocalStorage; |
@@ -6,4 +6,4 @@ "use strict"; | ||
var _a = react_1.useState(undefined), data = _a[0], setData = _a[1]; | ||
var set = react_1.useCallback(function (data) { | ||
var newData = JSON.stringify(data); | ||
var set = react_1.useCallback(function (updateData) { | ||
var newData = JSON.stringify(updateData); | ||
window.localStorage.setItem(key, newData); | ||
@@ -15,9 +15,13 @@ }, [key]); | ||
react_1.useEffect(function () { | ||
var data = window.localStorage.getItem(key); | ||
if ((!data || typeof data === "undefined" || typeof data === null) && | ||
var currentData = window.localStorage.getItem(key); | ||
if ((!currentData || | ||
typeof currentData === "undefined" || | ||
typeof currentData === null) && | ||
defaultValue) { | ||
set(defaultValue); | ||
} | ||
if (data && typeof data !== "undefined" && typeof data !== null) { | ||
var parsedData = JSON.parse(data); | ||
if (currentData && | ||
typeof currentData !== "undefined" && | ||
typeof currentData !== null) { | ||
var parsedData = JSON.parse(currentData); | ||
if (parsedData) { | ||
@@ -41,4 +45,4 @@ setData(parsedData); | ||
}, [key]); | ||
return { data: data, set: set, remove: remove }; | ||
return [data, set, remove]; | ||
}; | ||
exports.default = useLocalStorage; |
{ | ||
"name": "@d2k/react-localstorage", | ||
"version": "1.0.7", | ||
"version": "1.1.0", | ||
"description": "React hooks for localstorage", | ||
@@ -25,3 +25,4 @@ "main": "./dist/index.js", | ||
"build": "npm run clean && tsc", | ||
"clean": "rm -rf ./dist" | ||
"clean": "rm -rf ./dist", | ||
"lint": "tslint -c tslint.json 'src/**/*.ts?(x)'" | ||
}, | ||
@@ -32,4 +33,5 @@ "devDependencies": { | ||
"react-dom": "^16.8.4", | ||
"tslint": "^5.20.0", | ||
"typescript": "^3.5.3" | ||
} | ||
} |
@@ -22,4 +22,4 @@ # `@d2k/react-localstorage` | ||
const App = () => { | ||
const firstName = useLocalStorage('firstName', 'John') | ||
const lastName = useLocalStorage('lastName', 'Doe') | ||
const [firstName, setFirstName, removeFirstName] = useLocalStorage('firstName', 'John') | ||
const [lastName, setLastName, removeLastName] = useLocalStorage('lastName', 'Doe') | ||
@@ -30,5 +30,5 @@ // You can update localStorage data via firstName.set(val) or firstName.remove() | ||
<h1>Demo</h1> | ||
{ firstName.data && lastName.data && ( | ||
{ firstName && lastName && ( | ||
<p> | ||
Hello {firstName.data} {lastName.data} | ||
Hello {firstName} {lastName} | ||
</p> | ||
@@ -35,0 +35,0 @@ )} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4651
5