Added useful helper functions

This commit is contained in:
Ben Elferink
2021-09-29 12:07:39 +03:00
parent c0cc342627
commit 8c91a055f4
3 changed files with 30 additions and 13 deletions

View File

@@ -66,18 +66,6 @@ export function AuthProvider({children}) {
} }
} }
const getTokenPayload = () => {
if (!token) {
console.warn(`Token is ${null}/${undefined}`)
return {}
}
const informativePart = token.split('.')[1]
const payload = JSON.parse(window.atob(informativePart))
return payload
}
// This side effect keeps local storage updated with recent token value, // This side effect keeps local storage updated with recent token value,
// making sure it can be re-used upon refresh or re-open browser // making sure it can be re-used upon refresh or re-open browser
useEffect(() => { useEffect(() => {
@@ -104,7 +92,6 @@ export function AuthProvider({children}) {
register, register,
login, login,
logout, logout,
getTokenPayload,
}}> }}>
{children} {children}
</AuthContext.Provider> </AuthContext.Provider>

View File

@@ -0,0 +1,19 @@
export default function getQuery(queryStr = '') {
if (queryStr) {
const queryObj = {}
const queryArr = (
queryStr[0] === '?' ? queryStr.substring(1, queryStr.length) : queryStr
).split('&')
queryArr.forEach((str) => {
const [key, val] = str.split('=')
queryObj[key] = val
})
return queryObj
} else {
console.warn('Query string is not defined')
return {}
}
}

View File

@@ -0,0 +1,11 @@
export default function getTokenPayload(token = '') {
if (token) {
const informativePart = token.split('.')[1]
const payload = JSON.parse(window.atob(informativePart))
return payload
} else {
console.warn('Token is not defined')
return {}
}
}