nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

index.js (840B)


      1 function localStorageWorks() {
      2     try {
      3         window.localStorage.setItem('_testDummy', 'TEST');
      4         return window.localStorage.getItem('_testDummy') === 'TEST';
      5     } catch (e) {
      6         return false;
      7     }
      8 }
      9 
     10 let storage; // eslint-disable-line import/no-mutable-exports
     11 
     12 if (localStorageWorks()) {
     13     storage = window.localStorage;
     14 } else {
     15     let _storage = {};
     16     storage = {
     17         length: 0,
     18 
     19         key: function(n) {
     20             return Object.keys(_storage)[n];
     21         },
     22 
     23         removeItem: function(key) {
     24             delete _storage[key];
     25         },
     26 
     27         getItem: function(key) {
     28             return storage[key];
     29         },
     30 
     31         setItem: function(key, value) {
     32             storage[key] = value;
     33         },
     34 
     35         clear: function() {
     36             _storage = {};
     37         }
     38     };
     39 }
     40 
     41 export default storage;