//расширение для работы с локальным хранилищем.
(function(_){var m = _.expansion.name("storage");if(m){
m : {
/*
--key = ключ дял записи в локальное хранилище
--value = какие данные должны хранится под этим ключём
пишет в локальное хранилище. Если в нём недостаточно места то удаляет все данные с
него и заново передаёт полученные данные на запись.
!!! если в промежутке времени между передачей данных после очистки хранилища оно
!!! заполнится то функция вызовет саму себя обратно. И это будет продолжатся пока ей
!!! хватит места для записи если передаваемое значение для записи будет весить больше
!!! чем допустимое хранение в локальном хранилище то вы получите что то вроде вечного
!!! цикла который удаляет все данные из хранилища.
*/
set : function(key,value){
try {
localStorage.setItem(key, value);
return true;
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
this.clear();
this.set(key, value);
return true;
} else {
console.error(e);
}
}
},
/*
обновляет данные с таким ключём.
!!! возможна вечная рекурсия если
передать значение на запись размером больше чем браузер может сохранить
*/
update : function(key,value){
this.set(key,value);
},
/*
получает данные из хранилища по переданому ключу
*/
get : function(key){
return localStorage.getItem(key);
},
/*
удаляет данные с таким ключём
*/
del : function(key){
localStorage(key);
},
/*
удаляет все записи
*/
clear : function(){
localStorage.clear();
}
}
}})(_);
/*
удаляет данные с таким ключём
*/
// удаляет данные с таким ключём