diff --git a/bower.json b/bower.json index 87c9b33..f406256 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ngstorage", - "version": "0.3.7", + "version": "0.3.8", "main": "./ngStorage.js", "keywords": [ "angular", diff --git a/ngStorage.min.js b/ngStorage.min.js index 4fc91f7..c3e7180 100644 --- a/ngStorage.min.js +++ b/ngStorage.min.js @@ -1 +1 @@ -/*! ngstorage 0.3.7 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["angular"],b):"object"==typeof exports?module.exports=b(require("angular")):b(a.angular)}(this,function(a){"use strict";function b(b){return function(){var c="ngStorage-";this.setKeyPrefix=function(a){if("string"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setKeyPrefix() expects a String.");c=a},this.$get=["$rootScope","$window","$log","$timeout",function(d,e,f,g){function h(a){var b;try{b=e[a]}catch(c){b=!1}if(b&&"localStorage"===a){var d="__"+Math.round(1e7*Math.random());try{localStorage.setItem(d,d),localStorage.removeItem(d)}catch(c){b=!1}}return b}var i,j,k=h(b)||(f.warn("This browser does not support Web Storage!"),{setItem:a.noop,getItem:a.noop}),l={$default:function(b){for(var c in b)a.isDefined(l[c])||(l[c]=b[c]);return l.$sync(),l},$reset:function(a){for(var b in l)"$"===b[0]||delete l[b]&&k.removeItem(c+b);return l.$default(a)},$sync:function(){for(var b,d=0,e=k.length;e>d;d++)(b=k.key(d))&&c===b.slice(0,10)&&(l[b.slice(10)]=a.fromJson(k.getItem(b)))}};return l.$sync(),i=a.copy(l),d.$watch(function(){var b;j||(j=g(function(){if(j=null,!a.equals(l,i)){b=a.copy(i),a.forEach(l,function(d,e){a.isDefined(d)&&"$"!==e[0]&&k.setItem(c+e,a.toJson(d)),delete b[e]});for(var d in b)k.removeItem(c+d);i=a.copy(l)}},100,!1))}),e.addEventListener&&e.addEventListener("storage",function(b){c===b.key.slice(0,10)&&(b.newValue?l[b.key.slice(10)]=a.fromJson(b.newValue):delete l[b.key.slice(10)],i=a.copy(l),d.$apply())}),l}]}}return a=a||window.angular,a.module("ngStorage",[]).provider("$localStorage",b("localStorage")).provider("$sessionStorage",b("sessionStorage"))}); \ No newline at end of file +/*! ngstorage 0.3.8 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["angular"],b):"object"==typeof exports?module.exports=b(require("angular")):b(a.angular)}(this,function(a){"use strict";function b(b){return function(){var c="ngStorage-";this.setKeyPrefix=function(a){if("string"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setKeyPrefix() expects a String.");c=a};var d=a.toJson,e=a.fromJson;this.setSerializer=function(a){if("function"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setSerializer expects a function.");d=a},this.setDeserializer=function(a){if("function"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setDeserializer expects a function.");e=a},this.get=function(a){return e(window[b].getItem(c+a))},this.set=function(a,c){return window[b].setItem(a,d(c))},this.$get=["$rootScope","$window","$log","$timeout",function(f,g,h,i){function j(a){var b;try{b=g[a]}catch(c){b=!1}if(b&&"localStorage"===a){var d="__"+Math.round(1e7*Math.random());try{localStorage.setItem(d,d),localStorage.removeItem(d)}catch(c){b=!1}}return b}var k,l,m=c.length,n=j(b)||(h.warn("This browser does not support Web Storage!"),{setItem:a.noop,getItem:a.noop}),o={$default:function(b){for(var c in b)a.isDefined(o[c])||(o[c]=b[c]);return o.$sync(),o},$reset:function(a){for(var b in o)"$"===b[0]||delete o[b]&&n.removeItem(c+b);return o.$default(a)},$sync:function(){for(var a,b=0,d=n.length;d>b;b++)(a=n.key(b))&&c===a.slice(0,m)&&(o[a.slice(m)]=e(n.getItem(a)))},$apply:function(){var b;if(l=null,!a.equals(o,k)){b=a.copy(k),a.forEach(o,function(e,f){a.isDefined(e)&&"$"!==f[0]&&n.setItem(c+f,d(e)),delete b[f]});for(var e in b)n.removeItem(c+e);k=a.copy(o)}}};return o.$sync(),k=a.copy(o),f.$watch(function(){l||(l=i(o.$apply,100,!1))}),g.addEventListener&&g.addEventListener("storage",function(b){c===b.key.slice(0,m)&&(b.newValue?o[b.key.slice(m)]=e(b.newValue):delete o[b.key.slice(m)],k=a.copy(o),f.$apply())}),g.addEventListener&&g.addEventListener("beforeunload",function(){o.$sync()}),o}]}}return a=a&&a.module?a:window.angular,a.module("ngStorage",[]).provider("$localStorage",b("localStorage")).provider("$sessionStorage",b("sessionStorage"))}); \ No newline at end of file diff --git a/package.js b/package.js index 7cbd1f3..ea97b93 100644 --- a/package.js +++ b/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'gsklee:ngstorage', - version: '0.3.7', + version: '0.3.8', summary: 'ngStorage package for Meteor', git: 'https://github.com/gsklee/ngStorage', documentation: 'README.md' diff --git a/package.json b/package.json index 0d8aba1..23feead 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ngstorage", - "version": "0.3.7", + "version": "0.3.8", "author": "Gias Kay Lee", "licenses": [ {