Comparing version
@@ -1,12 +0,13 @@ | ||
(function(angular, factory) { | ||
'use strict'; | ||
if (typeof define === 'function' && define.amd) { | ||
define('ngStorage', ['angular'], function(angular) { | ||
return factory(angular); | ||
}); | ||
} else { | ||
return factory(angular); | ||
} | ||
}(typeof angular === 'undefined' ? null : angular, function(angular) { | ||
(function (root, factory) { | ||
'use strict'; | ||
if (typeof define === 'function' && define.amd) { | ||
define(['angular'], factory); | ||
} else if (typeof exports === 'object') { | ||
module.exports = factory(require('angular')); | ||
} else { | ||
// Browser globals (root is window), we don't register it. | ||
factory(root.angular); | ||
} | ||
}(this , function (angular) { | ||
'use strict'; | ||
@@ -19,3 +20,3 @@ | ||
angular.module('ngStorage', []) | ||
return angular.module('ngStorage', []) | ||
@@ -146,3 +147,3 @@ /** | ||
// #6: Use `$window.addEventListener` instead of `angular.element` to avoid the jQuery-specific `event.originalEvent` | ||
'localStorage' === storageType && $window.addEventListener && $window.addEventListener('storage', function(event) { | ||
$window.addEventListener && $window.addEventListener('storage', function(event) { | ||
if ('ngStorage-' === event.key.slice(0, 10)) { | ||
@@ -149,0 +150,0 @@ event.newValue ? $storage[event.key.slice(10)] = angular.fromJson(event.newValue) : delete $storage[event.key.slice(10)]; |
@@ -1,1 +0,1 @@ | ||
/*! ngstorage 0.3.6 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define("ngStorage",["angular"],function(a){return b(a)}):b(a)}("undefined"==typeof angular?null:angular,function(a){"use strict";function b(b){return["$rootScope","$window","$log","$timeout",function(c,d,e,f){function g(a){var b;try{b=d[a]}catch(c){b=!1}if(b&&"localStorage"===a){var e="__"+Math.round(1e7*Math.random());try{localStorage.setItem(e,e),localStorage.removeItem(e)}catch(c){b=!1}}return b}var h,i,j=g(b)||(e.warn("This browser does not support Web Storage!"),{setItem:function(){},getItem:function(){}}),k={$default:function(b){for(var c in b)a.isDefined(k[c])||(k[c]=b[c]);return k},$reset:function(a){for(var b in k)"$"===b[0]||delete k[b]&&j.removeItem("ngStorage-"+b);return k.$default(a)}};try{j=d[b],j.length}catch(l){e.warn("This browser does not support Web Storage!"),j={}}for(var m,n=0,o=j.length;o>n;n++)(m=j.key(n))&&"ngStorage-"===m.slice(0,10)&&(k[m.slice(10)]=a.fromJson(j.getItem(m)));return h=a.copy(k),c.$watch(function(){var b;i||(i=f(function(){if(i=null,!a.equals(k,h)){b=a.copy(h),a.forEach(k,function(c,d){a.isDefined(c)&&"$"!==d[0]&&j.setItem("ngStorage-"+d,a.toJson(c)),delete b[d]});for(var c in b)j.removeItem("ngStorage-"+c);h=a.copy(k)}},100,!1))}),"localStorage"===b&&d.addEventListener&&d.addEventListener("storage",function(b){"ngStorage-"===b.key.slice(0,10)&&(b.newValue?k[b.key.slice(10)]=a.fromJson(b.newValue):delete k[b.key.slice(10)],h=a.copy(k),c.$apply())}),k}]}a.module("ngStorage",[]).factory("$localStorage",b("localStorage")).factory("$sessionStorage",b("sessionStorage"))}); | ||
/*! 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["$rootScope","$window","$log","$timeout",function(c,d,e,f){function g(a){var b;try{b=d[a]}catch(c){b=!1}if(b&&"localStorage"===a){var e="__"+Math.round(1e7*Math.random());try{localStorage.setItem(e,e),localStorage.removeItem(e)}catch(c){b=!1}}return b}var h,i,j=g(b)||(e.warn("This browser does not support Web Storage!"),{setItem:function(){},getItem:function(){}}),k={$default:function(b){for(var c in b)a.isDefined(k[c])||(k[c]=b[c]);return k},$reset:function(a){for(var b in k)"$"===b[0]||delete k[b]&&j.removeItem("ngStorage-"+b);return k.$default(a)}};try{j=d[b],j.length}catch(l){e.warn("This browser does not support Web Storage!"),j={}}for(var m,n=0,o=j.length;o>n;n++)(m=j.key(n))&&"ngStorage-"===m.slice(0,10)&&(k[m.slice(10)]=a.fromJson(j.getItem(m)));return h=a.copy(k),c.$watch(function(){var b;i||(i=f(function(){if(i=null,!a.equals(k,h)){b=a.copy(h),a.forEach(k,function(c,d){a.isDefined(c)&&"$"!==d[0]&&j.setItem("ngStorage-"+d,a.toJson(c)),delete b[d]});for(var c in b)j.removeItem("ngStorage-"+c);h=a.copy(k)}},100,!1))}),d.addEventListener&&d.addEventListener("storage",function(b){"ngStorage-"===b.key.slice(0,10)&&(b.newValue?k[b.key.slice(10)]=a.fromJson(b.newValue):delete k[b.key.slice(10)],h=a.copy(k),c.$apply())}),k}]}return a.module("ngStorage",[]).factory("$localStorage",b("localStorage")).factory("$sessionStorage",b("sessionStorage"))}); |
{ | ||
"name": "ngstorage", | ||
"version": "0.3.6", | ||
"version": "0.3.7", | ||
"author": "Gias Kay Lee", | ||
@@ -5,0 +5,0 @@ "licenses": [ |
ngStorage | ||
========= | ||
<!-- | ||
[](https://travis-ci.org/gsklee/ngStorage) | ||
--> | ||
[](https://david-dm.org/gsklee/ngStorage) | ||
@@ -44,2 +41,3 @@ [](https://david-dm.org/gsklee/ngStorage#info=devDependencies) | ||
### cdnjs | ||
cdnjs now hosts ngStorage at <https://cdnjs.com/libraries/ngStorage> | ||
@@ -50,5 +48,15 @@ | ||
``` html | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ngStorage/0.3.5/ngStorage.min.js"></script> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ngStorage/0.3.6/ngStorage.min.js"></script> | ||
``` | ||
### jsDelivr | ||
jsDelivr hosts ngStorage at <http://www.jsdelivr.com/#!ngstorage> | ||
To use is | ||
``` html | ||
<script src="https://cdn.jsdelivr.net/ngstorage/0.3.6/ngStorage.min.js"></script> | ||
``` | ||
Usage | ||
@@ -55,0 +63,0 @@ ===== |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
16428
0.98%131
0.77%168
5%3
50%