angular
  .module('ionic.utils', [])
  .factory('localStorage', localStorage);

function localStorage($window)
{
  return {
    set       : function (key, value)
    {
      $window.localStorage[key] = value;
    },
    get       : function (key, defaultValue)
    {
      return $window.localStorage[key] || defaultValue;
    },
    setObject : function (key, value)
    {
      $window.localStorage[key] = JSON.stringify(value);
    },
    getObject : function (key)
    {
      return $window.localStorage[key] === "undefined" ? {} : JSON.parse($window.localStorage[key] || '{}');
    },
    setArray  : function (key, value)
    {
      this.setObject(key, value);
    },
    getArray  : function (key)
    {
      return JSON.parse($window.localStorage[key] || '[]');
    }
  };
}
@@ -61,24 +61,8 @@
 e', 
-localStorage);%0A%0A
 func
@@ -88,18 +88,22 @@
 window)%0A
-%7B%0A
+  %7B%0A  
   return
@@ -105,16 +105,18 @@
 eturn %7B%0A
+  
     set 
@@ -137,32 +137,34 @@
 on (key, value)%0A
+  
     %7B%0A      $win
@@ -151,32 +151,34 @@
 )%0A      %7B%0A      
+  
 $window.localSto
@@ -192,24 +192,26 @@
 y%5D = value;%0A
+  
     %7D,%0A    g
@@ -209,16 +209,18 @@
  %7D,%0A    
+  
 get     
@@ -252,26 +252,30 @@
 tValue)%0A    
+ 
+ 
 %7B%0A
+  
       return
@@ -318,27 +318,31 @@
 tValue;%0A    
+  
 %7D,%0A
+  
     setObjec
@@ -367,26 +367,30 @@
  value)%0A    
-%7B%0A
+  %7B%0A  
       $windo
@@ -438,23 +438,27 @@
 e);%0A    
+  
 %7D,%0A    
+ 
+ 
 getObjec
@@ -472,34 +472,38 @@
 ction (key)%0A    
-%7B%0A
+  %7B%0A  
       return $wi
@@ -599,23 +599,27 @@
 ');%0A    
+  
 %7D,%0A    
+ 
+ 
 setArray
@@ -648,24 +648,26 @@
 ue)%0A    
+  
 %7B%0A      
 this.set
@@ -658,16 +658,18 @@
 %7B%0A      
+ 
+ 
 this.set
@@ -684,24 +684,26 @@
 ey, value);%0A
+  
     %7D,%0A    g
@@ -701,16 +701,18 @@
  %7D,%0A    
+  
 getArray
@@ -730,26 +730,30 @@
 n (key)%0A    
-%7B%0A
+  %7B%0A  
       return
@@ -808,12 +808,20 @@
     
-%7D%0A  %7D;%0A%7D
+  %7D%0A    %7D;%0A  %7D);

Fix localStorage bug