1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

renew renameStorage api

This commit is contained in:
Dick Choi
2016-08-27 15:18:28 +09:00
parent 5558403358
commit eb163ef03c
2 changed files with 26 additions and 30 deletions

View File

@@ -8,24 +8,20 @@ const _ = require('lodash')
function renameStorage (key, name) {
if (!_.isString(name)) return Promise.reject(new Error('Name must be a string.'))
let rawStorages
let cachedStorageList
try {
rawStorages = JSON.parse(localStorage.getItem('storages'))
if (!_.isArray(rawStorages)) throw new Error('invalid storages')
} catch (e) {
console.warn(e)
rawStorages = []
cachedStorageList = JSON.parse(localStorage.getItem('storages'))
if (!_.isArray(cachedStorageList)) throw new Error('invalid storages')
} catch (err) {
console.log('error got')
console.error(err)
return Promise.reject(err)
}
let targetStorage = _.find(cachedStorageList, {key: key})
if (targetStorage == null) return Promise.reject('Storage')
let targetStorage
for (let i = 0; i < rawStorages.length; i++) {
if (rawStorages[i].key === key) {
rawStorages[i].name = name
targetStorage = rawStorages[i]
}
}
localStorage.setItem('storages', JSON.stringify(rawStorages))
targetStorage.name = name
localStorage.setItem('storages', JSON.stringify(cachedStorageList))
return Promise.resolve(targetStorage)
}