mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 09:46:22 +00:00
34 lines
791 B
JavaScript
34 lines
791 B
JavaScript
const _ = require('lodash')
|
|
|
|
/**
|
|
* @param {String} key
|
|
* @param {String} name
|
|
* @return {Object} Storage meta data
|
|
*/
|
|
function renameStorage (key, name) {
|
|
if (!_.isString(name)) return Promise.reject(new Error('Name must be a string.'))
|
|
|
|
let rawStorages
|
|
try {
|
|
rawStorages = JSON.parse(localStorage.getItem('storages'))
|
|
if (!_.isArray(rawStorages)) throw new Error('invalid storages')
|
|
} catch (e) {
|
|
console.warn(e)
|
|
rawStorages = []
|
|
}
|
|
|
|
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))
|
|
|
|
return Promise.resolve(targetStorage)
|
|
}
|
|
|
|
module.exports = renameStorage
|