Comparing version 2.6.0 to 2.7.0
@@ -200,7 +200,7 @@ ;(function(){ | ||
require.register("store/dist/store2.js", function(exports, require, module){ | ||
/*! store2 - v2.6.0 - 2018-01-23 | ||
/*! store2 - v2.7.0 - 2018-02-08 | ||
* Copyright (c) 2018 Nathan Bubna; Licensed (MIT OR GPL-3.0) */ | ||
;(function(window, define) { | ||
var _ = { | ||
version: "2.6.0", | ||
version: "2.7.0", | ||
areas: {}, | ||
@@ -349,2 +349,20 @@ apis: {}, | ||
}, | ||
add: function(key, data) { | ||
var d = this.get(key); | ||
if (d instanceof Array) { | ||
data = d.concat(data); | ||
} else if (d !== null) { | ||
var type = typeof d; | ||
if (type === typeof data && type === 'object') { | ||
for (var k in data) { | ||
d[k] = data[k]; | ||
} | ||
data = d; | ||
} else { | ||
data = d + data; | ||
} | ||
} | ||
_.set(this._area, this._in(key), _.stringify(data)); | ||
return data; | ||
}, | ||
remove: function(key) { | ||
@@ -351,0 +369,0 @@ var d = this.get(key); |
@@ -1,6 +0,6 @@ | ||
/*! store2 - v2.6.0 - 2018-01-23 | ||
/*! store2 - v2.7.0 - 2018-02-08 | ||
* Copyright (c) 2018 Nathan Bubna; Licensed (MIT OR GPL-3.0) */ | ||
;(function(window, define) { | ||
var _ = { | ||
version: "2.6.0", | ||
version: "2.7.0", | ||
areas: {}, | ||
@@ -149,2 +149,20 @@ apis: {}, | ||
}, | ||
add: function(key, data) { | ||
var d = this.get(key); | ||
if (d instanceof Array) { | ||
data = d.concat(data); | ||
} else if (d !== null) { | ||
var type = typeof d; | ||
if (type === typeof data && type === 'object') { | ||
for (var k in data) { | ||
d[k] = data[k]; | ||
} | ||
data = d; | ||
} else { | ||
data = d + data; | ||
} | ||
} | ||
_.set(this._area, this._in(key), _.stringify(data)); | ||
return data; | ||
}, | ||
remove: function(key) { | ||
@@ -151,0 +169,0 @@ var d = this.get(key); |
@@ -1,5 +0,5 @@ | ||
/*! store2 - v2.6.0 - 2018-01-23 | ||
/*! store2 - v2.7.0 - 2018-02-08 | ||
* Copyright (c) 2018 Nathan Bubna; Licensed (MIT OR GPL-3.0) */ | ||
!function(a,b){var c={version:"2.6.0",areas:{},apis:{},inherit:function(a,b){for(var c in a)b.hasOwnProperty(c)||(b[c]=a[c]);return b},stringify:function(a){return void 0===a||"function"==typeof a?a+"":JSON.stringify(a)},parse:function(a){try{return JSON.parse(a)}catch(b){return a}},fn:function(a,b){c.storeAPI[a]=b;for(var d in c.apis)c.apis[d][a]=b},get:function(a,b){return a.getItem(b)},set:function(a,b,c){a.setItem(b,c)},remove:function(a,b){a.removeItem(b)},key:function(a,b){return a.key(b)},length:function(a){return a.length},clear:function(a){a.clear()},Store:function(a,b,d){var e=c.inherit(c.storeAPI,function(a,b,c){return 0===arguments.length?e.getAll():"function"==typeof b?e.transact(a,b,c):void 0!==b?e.set(a,b,c):"string"==typeof a||"number"==typeof a?e.get(a):a?e.setAll(a,b):e.clear()});e._id=a;try{b.setItem("_safariPrivate_","sucks"),e._area=b,b.removeItem("_safariPrivate_")}catch(a){}return e._area||(e._area=c.inherit(c.storageAPI,{items:{},name:"fake"})),e._ns=d||"",c.areas[a]||(c.areas[a]=e._area),c.apis[e._ns+e._id]||(c.apis[e._ns+e._id]=e),e},storeAPI:{area:function(a,b){var d=this[a];return d&&d.area||(d=c.Store(a,b,this._ns),this[a]||(this[a]=d)),d},namespace:function(a,b){if(!a)return this._ns?this._ns.substring(0,this._ns.length-1):"";var d=a,e=this[d];return e&&e.namespace||(e=c.Store(this._id,this._area,this._ns+d+"."),this[d]||(this[d]=e),b||e.area("session",c.areas.session)),e},isFake:function(){return"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(a){return this._area.has?this._area.has(this._in(a)):!!(this._in(a)in this._area)},size:function(){return this.keys().length},each:function(a,b){for(var d=0,e=c.length(this._area);d<e;d++){var f=this._out(c.key(this._area,d));if(void 0!==f&&a.call(this,f,b||this.get(f))===!1)break;e>c.length(this._area)&&(e--,d--)}return b||this},keys:function(a){return this.each(function(a,b){b.push(a)},a||[])},get:function(a,b){var d=c.get(this._area,this._in(a));return null!==d?c.parse(d):b||d},getAll:function(a){return this.each(function(a,b){b[a]=this.get(a)},a||{})},transact:function(a,b,c){var d=this.get(a,c),e=b(d);return this.set(a,void 0===e?d:e),this},set:function(a,b,d){var e=this.get(a);return null!=e&&d===!1?b:c.set(this._area,this._in(a),c.stringify(b),d)||e},setAll:function(a,b){var c,d;for(var e in a)d=a[e],this.set(e,d,b)!==d&&(c=!0);return c},remove:function(a){var b=this.get(a);return c.remove(this._area,this._in(a)),b},clear:function(){return this._ns?this.each(function(a){c.remove(this._area,this._in(a))},1):c.clear(this._area),this},clearAll:function(){var a=this._area;for(var b in c.areas)c.areas.hasOwnProperty(b)&&(this._area=c.areas[b],this.clear());return this._area=a,this},_in:function(a){return"string"!=typeof a&&(a=c.stringify(a)),this._ns?this._ns+a:a},_out:function(a){return this._ns?a&&0===a.indexOf(this._ns)?a.substring(this._ns.length):void 0:a}},storageAPI:{length:0,has:function(a){return this.items.hasOwnProperty(a)},key:function(a){var b=0;for(var c in this.items)if(this.has(c)&&a===b++)return c},setItem:function(a,b){this.has(a)||this.length++,this.items[a]=b},removeItem:function(a){this.has(a)&&(delete this.items[a],this.length--)},getItem:function(a){return this.has(a)?this.items[a]:null},clear:function(){for(var a in this.items)this.removeItem(a)},toString:function(){return this.length+" items in "+this.name+"Storage"}}},d=c.Store("local",function(){try{return localStorage}catch(a){}}());d.local=d,d._=c,d.area("session",function(){try{return sessionStorage}catch(a){}}()),"function"==typeof b&&void 0!==b.amd?b("store2",[],function(){return d}):"undefined"!=typeof module&&module.exports?module.exports=d:(a.store&&(c.conflict=a.store),a.store=d)}(this,this.define); | ||
!function(a,b){var c={version:"2.7.0",areas:{},apis:{},inherit:function(a,b){for(var c in a)b.hasOwnProperty(c)||(b[c]=a[c]);return b},stringify:function(a){return void 0===a||"function"==typeof a?a+"":JSON.stringify(a)},parse:function(a){try{return JSON.parse(a)}catch(b){return a}},fn:function(a,b){c.storeAPI[a]=b;for(var d in c.apis)c.apis[d][a]=b},get:function(a,b){return a.getItem(b)},set:function(a,b,c){a.setItem(b,c)},remove:function(a,b){a.removeItem(b)},key:function(a,b){return a.key(b)},length:function(a){return a.length},clear:function(a){a.clear()},Store:function(a,b,d){var e=c.inherit(c.storeAPI,function(a,b,c){return 0===arguments.length?e.getAll():"function"==typeof b?e.transact(a,b,c):void 0!==b?e.set(a,b,c):"string"==typeof a||"number"==typeof a?e.get(a):a?e.setAll(a,b):e.clear()});e._id=a;try{b.setItem("_safariPrivate_","sucks"),e._area=b,b.removeItem("_safariPrivate_")}catch(a){}return e._area||(e._area=c.inherit(c.storageAPI,{items:{},name:"fake"})),e._ns=d||"",c.areas[a]||(c.areas[a]=e._area),c.apis[e._ns+e._id]||(c.apis[e._ns+e._id]=e),e},storeAPI:{area:function(a,b){var d=this[a];return d&&d.area||(d=c.Store(a,b,this._ns),this[a]||(this[a]=d)),d},namespace:function(a,b){if(!a)return this._ns?this._ns.substring(0,this._ns.length-1):"";var d=a,e=this[d];return e&&e.namespace||(e=c.Store(this._id,this._area,this._ns+d+"."),this[d]||(this[d]=e),b||e.area("session",c.areas.session)),e},isFake:function(){return"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(a){return this._area.has?this._area.has(this._in(a)):!!(this._in(a)in this._area)},size:function(){return this.keys().length},each:function(a,b){for(var d=0,e=c.length(this._area);d<e;d++){var f=this._out(c.key(this._area,d));if(void 0!==f&&a.call(this,f,b||this.get(f))===!1)break;e>c.length(this._area)&&(e--,d--)}return b||this},keys:function(a){return this.each(function(a,b){b.push(a)},a||[])},get:function(a,b){var d=c.get(this._area,this._in(a));return null!==d?c.parse(d):b||d},getAll:function(a){return this.each(function(a,b){b[a]=this.get(a)},a||{})},transact:function(a,b,c){var d=this.get(a,c),e=b(d);return this.set(a,void 0===e?d:e),this},set:function(a,b,d){var e=this.get(a);return null!=e&&d===!1?b:c.set(this._area,this._in(a),c.stringify(b),d)||e},setAll:function(a,b){var c,d;for(var e in a)d=a[e],this.set(e,d,b)!==d&&(c=!0);return c},add:function(a,b){var d=this.get(a);if(d instanceof Array)b=d.concat(b);else if(null!==d){var e=typeof d;if(e===typeof b&&"object"===e){for(var f in b)d[f]=b[f];b=d}else b=d+b}return c.set(this._area,this._in(a),c.stringify(b)),b},remove:function(a){var b=this.get(a);return c.remove(this._area,this._in(a)),b},clear:function(){return this._ns?this.each(function(a){c.remove(this._area,this._in(a))},1):c.clear(this._area),this},clearAll:function(){var a=this._area;for(var b in c.areas)c.areas.hasOwnProperty(b)&&(this._area=c.areas[b],this.clear());return this._area=a,this},_in:function(a){return"string"!=typeof a&&(a=c.stringify(a)),this._ns?this._ns+a:a},_out:function(a){return this._ns?a&&0===a.indexOf(this._ns)?a.substring(this._ns.length):void 0:a}},storageAPI:{length:0,has:function(a){return this.items.hasOwnProperty(a)},key:function(a){var b=0;for(var c in this.items)if(this.has(c)&&a===b++)return c},setItem:function(a,b){this.has(a)||this.length++,this.items[a]=b},removeItem:function(a){this.has(a)&&(delete this.items[a],this.length--)},getItem:function(a){return this.has(a)?this.items[a]:null},clear:function(){for(var a in this.items)this.removeItem(a)},toString:function(){return this.length+" items in "+this.name+"Storage"}}},d=c.Store("local",function(){try{return localStorage}catch(a){}}());d.local=d,d._=c,d.area("session",function(){try{return sessionStorage}catch(a){}}()),"function"==typeof b&&void 0!==b.amd?b("store2",[],function(){return d}):"undefined"!=typeof module&&module.exports?module.exports=d:(a.store&&(c.conflict=a.store),a.store=d)}(this,this.define); | ||
//# sourceMappingURL=store2.min.js.map |
@@ -8,2 +8,3 @@ declare namespace store { | ||
export function setAll(data: Object, overwrite?: boolean): StoredData; | ||
export function add(key: any, data: any): any; | ||
export function get(key: any, alt?: any): any; | ||
@@ -35,2 +36,3 @@ export function getAll(fillObj?: StoredData): StoredData; | ||
setAll(data: Object, overwrite?: boolean): StoredData; | ||
add(key: any, data: any): any; | ||
size(): number; | ||
@@ -37,0 +39,0 @@ transact(key: any, fn: (data: any) => any, alt?: any): StoreAPI; |
{ | ||
"name": "store2", | ||
"version": "2.6.0", | ||
"version": "2.7.0", | ||
"description": "Better localStorage", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -43,2 +43,3 @@ A feature-filled and friendly way to take advantage of localStorage and sessionStorage | ||
store.each(callback[, value]); // called with key and either value or data args, return false to exit early | ||
store.add(key, data); // concats, merges, or adds new value into existing one | ||
store.keys([fillList]); // returns array of keys | ||
@@ -164,2 +165,3 @@ store.size(); // number of keys, not length of data | ||
* 2018-01-23 [v2.6.0][] (public) - Support ```each(fn,value)```, ```getAll(fillObj)```, and ```keys(fillList)``` to support some advanced/corner cases | ||
* 2018-02-08 [v2.7.0][] (public) - Add ```add(key, data)``` for common case of saving a combination of existing and new data. | ||
@@ -181,2 +183,3 @@ [v2.0.3]: https://github.com/nbubna/store/tree/2.0.3 | ||
[v2.6.0]: https://github.com/nbubna/store/tree/2.6.0 | ||
[v2.7.0]: https://github.com/nbubna/store/tree/2.7.0 | ||
@@ -183,0 +186,0 @@ ## Store vs Store |
@@ -153,2 +153,20 @@ /** | ||
}, | ||
add: function(key, data) { | ||
var d = this.get(key); | ||
if (d instanceof Array) { | ||
data = d.concat(data); | ||
} else if (d !== null) { | ||
var type = typeof d; | ||
if (type === typeof data && type === 'object') { | ||
for (var k in data) { | ||
d[k] = data[k]; | ||
} | ||
data = d; | ||
} else { | ||
data = d + data; | ||
} | ||
} | ||
_.set(this._area, this._in(key), _.stringify(data)); | ||
return data; | ||
}, | ||
remove: function(key) { | ||
@@ -155,0 +173,0 @@ var d = this.get(key); |
Sorry, the diff of this file is not supported yet
104343
2201
195