Fixed some bugs
This commit is contained in:
@ -59,10 +59,12 @@ export function SessionStorage(defaultValue?, opts: WebStorageOptions = {}) {
|
||||
* @param opts Any additional options
|
||||
*/
|
||||
function fromStorage(storage: Storage, opts: WebStorageOptions) {
|
||||
let storedVal = storage.getItem(<string>opts.key);
|
||||
if(storedVal == null) return opts.default != null ? opts.default : null;
|
||||
if(opts.encryptWith != null) storedVal = JSON.parse(crypto.AES.decrypt(JSON.parse(storedVal), opts.encryptWith).toString(crypto.enc.Utf8));
|
||||
return typeof storedVal == 'object' && !Array.isArray(storedVal) ? Object.assign(opts.default, storedVal) : storedVal;
|
||||
let storedVal = JSON.parse(<string>storage.getItem(<string>opts.key));
|
||||
if(storedVal == null && opts.default == null) return null;
|
||||
if(storedVal != null && opts.encryptWith != null) storedVal = JSON.parse(crypto.AES.decrypt(storedVal, opts.encryptWith).toString(crypto.enc.Utf8));
|
||||
if(opts.default != null && opts.default.constructor != null) return Object.assign(new opts.default.constructor(), opts.default, storedVal);
|
||||
if(typeof storedVal == 'object' && !Array.isArray(storedVal)) return Object.assign({}, opts.default, storedVal);
|
||||
return storedVal;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user