Catch potentially json parsing error

This commit is contained in:
xmflsct 2023-02-01 00:07:38 +01:00
parent 5d3f773a2a
commit e60535cd1c
2 changed files with 15 additions and 7 deletions

View File

@ -186,7 +186,7 @@ const ComponentInstance: React.FC<Props> = ({
if (!account) { if (!account) {
setGlobalStorage('accounts', (accounts || []).concat([accountKey])) setGlobalStorage('accounts', (accounts || []).concat([accountKey]))
} }
setAccount(accountKey) await setAccount(accountKey)
goBack && navigation.goBack() goBack && navigation.goBack()
} }

View File

@ -33,9 +33,13 @@ export const getGlobalStorage = {
object: <T extends keyof StorageGlobal>(key: T) => { object: <T extends keyof StorageGlobal>(key: T) => {
const value = storage.global.getString(key) const value = storage.global.getString(key)
if (value?.length) { if (value?.length) {
return JSON.parse(value) as NonNullable<StorageGlobal[T]> extends object try {
? StorageGlobal[T] return JSON.parse(value) as NonNullable<StorageGlobal[T]> extends object
: never ? StorageGlobal[T]
: never
} catch {
return undefined
}
} else { } else {
return undefined return undefined
} }
@ -108,9 +112,13 @@ export const getAccountStorage = {
object: <T extends keyof StorageAccount>(key: T) => { object: <T extends keyof StorageAccount>(key: T) => {
const value = storage.account?.getString(key) const value = storage.account?.getString(key)
if (value?.length) { if (value?.length) {
return JSON.parse(value) as NonNullable<StorageAccount[T]> extends object try {
? StorageAccount[T] return JSON.parse(value) as NonNullable<StorageAccount[T]> extends object
: never ? StorageAccount[T]
: never
} catch {
return undefined
}
} else { } else {
return undefined return undefined
} }