20240517
This commit is contained in:
283
node_modules/store2/dist/store2.js
generated
vendored
Normal file
283
node_modules/store2/dist/store2.js
generated
vendored
Normal file
@@ -0,0 +1,283 @@
|
||||
/*! store2 - v2.14.3 - 2024-02-14
|
||||
* Copyright (c) 2024 Nathan Bubna; Licensed MIT */
|
||||
;(function(window, define) {
|
||||
var _ = {
|
||||
version: "2.14.3",
|
||||
areas: {},
|
||||
apis: {},
|
||||
nsdelim: '.',
|
||||
|
||||
// utilities
|
||||
inherit: function(api, o) {
|
||||
for (var p in api) {
|
||||
if (!o.hasOwnProperty(p)) {
|
||||
Object.defineProperty(o, p, Object.getOwnPropertyDescriptor(api, p));
|
||||
}
|
||||
}
|
||||
return o;
|
||||
},
|
||||
stringify: function(d, fn) {
|
||||
return d === undefined || typeof d === "function" ? d+'' : JSON.stringify(d,fn||_.replace);
|
||||
},
|
||||
parse: function(s, fn) {
|
||||
// if it doesn't parse, return as is
|
||||
try{ return JSON.parse(s,fn||_.revive); }catch(e){ return s; }
|
||||
},
|
||||
|
||||
// extension hooks
|
||||
fn: function(name, fn) {
|
||||
_.storeAPI[name] = fn;
|
||||
for (var api in _.apis) {
|
||||
_.apis[api][name] = fn;
|
||||
}
|
||||
},
|
||||
get: function(area, key){ return area.getItem(key); },
|
||||
set: function(area, key, string){ area.setItem(key, string); },
|
||||
remove: function(area, key){ area.removeItem(key); },
|
||||
key: function(area, i){ return area.key(i); },
|
||||
length: function(area){ return area.length; },
|
||||
clear: function(area){ area.clear(); },
|
||||
|
||||
// core functions
|
||||
Store: function(id, area, namespace) {
|
||||
var store = _.inherit(_.storeAPI, function(key, data, overwrite) {
|
||||
if (arguments.length === 0){ return store.getAll(); }
|
||||
if (typeof data === "function"){ return store.transact(key, data, overwrite); }// fn=data, alt=overwrite
|
||||
if (data !== undefined){ return store.set(key, data, overwrite); }
|
||||
if (typeof key === "string" || typeof key === "number"){ return store.get(key); }
|
||||
if (typeof key === "function"){ return store.each(key); }
|
||||
if (!key){ return store.clear(); }
|
||||
return store.setAll(key, data);// overwrite=data, data=key
|
||||
});
|
||||
store._id = id;
|
||||
try {
|
||||
var testKey = '__store2_test';
|
||||
area.setItem(testKey, 'ok');
|
||||
store._area = area;
|
||||
area.removeItem(testKey);
|
||||
} catch (e) {
|
||||
store._area = _.storage('fake');
|
||||
}
|
||||
store._ns = namespace || '';
|
||||
if (!_.areas[id]) {
|
||||
_.areas[id] = store._area;
|
||||
}
|
||||
if (!_.apis[store._ns+store._id]) {
|
||||
_.apis[store._ns+store._id] = store;
|
||||
}
|
||||
return store;
|
||||
},
|
||||
storeAPI: {
|
||||
// admin functions
|
||||
area: function(id, area) {
|
||||
var store = this[id];
|
||||
if (!store || !store.area) {
|
||||
store = _.Store(id, area, this._ns);//new area-specific api in this namespace
|
||||
if (!this[id]){ this[id] = store; }
|
||||
}
|
||||
return store;
|
||||
},
|
||||
namespace: function(namespace, singleArea, delim) {
|
||||
delim = delim || this._delim || _.nsdelim;
|
||||
if (!namespace){
|
||||
return this._ns ? this._ns.substring(0,this._ns.length-delim.length) : '';
|
||||
}
|
||||
var ns = namespace, store = this[ns];
|
||||
if (!store || !store.namespace) {
|
||||
store = _.Store(this._id, this._area, this._ns+ns+delim);//new namespaced api
|
||||
store._delim = delim;
|
||||
if (!this[ns]){ this[ns] = store; }
|
||||
if (!singleArea) {
|
||||
for (var name in _.areas) {
|
||||
store.area(name, _.areas[name]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return store;
|
||||
},
|
||||
isFake: function(force) {
|
||||
if (force) {
|
||||
this._real = this._area;
|
||||
this._area = _.storage('fake');
|
||||
} else if (force === false) {
|
||||
this._area = this._real || this._area;
|
||||
}
|
||||
return this._area.name === 'fake';
|
||||
},
|
||||
toString: function() {
|
||||
return 'store'+(this._ns?'.'+this.namespace():'')+'['+this._id+']';
|
||||
},
|
||||
|
||||
// storage functions
|
||||
has: function(key) {
|
||||
if (this._area.has) {
|
||||
return this._area.has(this._in(key));//extension hook
|
||||
}
|
||||
return !!(this._in(key) in this._area);
|
||||
},
|
||||
size: function(){ return this.keys().length; },
|
||||
each: function(fn, fill) {// fill is used by keys(fillList) and getAll(fillList))
|
||||
for (var i=0, m=_.length(this._area); i<m; i++) {
|
||||
var key = this._out(_.key(this._area, i));
|
||||
if (key !== undefined) {
|
||||
if (fn.call(this, key, this.get(key), fill) === false) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (m > _.length(this._area)) { m--; i--; }// in case of removeItem
|
||||
}
|
||||
return fill || this;
|
||||
},
|
||||
keys: function(fillList) {
|
||||
return this.each(function(k, v, list){ list.push(k); }, fillList || []);
|
||||
},
|
||||
get: function(key, alt) {
|
||||
var s = _.get(this._area, this._in(key)),
|
||||
fn;
|
||||
if (typeof alt === "function") {
|
||||
fn = alt;
|
||||
alt = null;
|
||||
}
|
||||
return s !== null ? _.parse(s, fn) :
|
||||
alt != null ? alt : s;
|
||||
},
|
||||
getAll: function(fillObj) {
|
||||
return this.each(function(k, v, all){ all[k] = v; }, fillObj || {});
|
||||
},
|
||||
transact: function(key, fn, alt) {
|
||||
var val = this.get(key, alt),
|
||||
ret = fn(val);
|
||||
this.set(key, ret === undefined ? val : ret);
|
||||
return this;
|
||||
},
|
||||
set: function(key, data, overwrite) {
|
||||
var d = this.get(key),
|
||||
replacer;
|
||||
if (d != null && overwrite === false) {
|
||||
return data;
|
||||
}
|
||||
if (typeof overwrite === "function") {
|
||||
replacer = overwrite;
|
||||
overwrite = undefined;
|
||||
}
|
||||
return _.set(this._area, this._in(key), _.stringify(data, replacer), overwrite) || d;
|
||||
},
|
||||
setAll: function(data, overwrite) {
|
||||
var changed, val;
|
||||
for (var key in data) {
|
||||
val = data[key];
|
||||
if (this.set(key, val, overwrite) !== val) {
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
return changed;
|
||||
},
|
||||
add: function(key, data, replacer) {
|
||||
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, replacer));
|
||||
return data;
|
||||
},
|
||||
remove: function(key, alt) {
|
||||
var d = this.get(key, alt);
|
||||
_.remove(this._area, this._in(key));
|
||||
return d;
|
||||
},
|
||||
clear: function() {
|
||||
if (!this._ns) {
|
||||
_.clear(this._area);
|
||||
} else {
|
||||
this.each(function(k){ _.remove(this._area, this._in(k)); }, 1);
|
||||
}
|
||||
return this;
|
||||
},
|
||||
clearAll: function() {
|
||||
var area = this._area;
|
||||
for (var id in _.areas) {
|
||||
if (_.areas.hasOwnProperty(id)) {
|
||||
this._area = _.areas[id];
|
||||
this.clear();
|
||||
}
|
||||
}
|
||||
this._area = area;
|
||||
return this;
|
||||
},
|
||||
|
||||
// internal use functions
|
||||
_in: function(k) {
|
||||
if (typeof k !== "string"){ k = _.stringify(k); }
|
||||
return this._ns ? this._ns + k : k;
|
||||
},
|
||||
_out: function(k) {
|
||||
return this._ns ?
|
||||
k && k.indexOf(this._ns) === 0 ?
|
||||
k.substring(this._ns.length) :
|
||||
undefined : // so each() knows to skip it
|
||||
k;
|
||||
}
|
||||
},// end _.storeAPI
|
||||
storage: function(name) {
|
||||
return _.inherit(_.storageAPI, { items: {}, name: name });
|
||||
},
|
||||
storageAPI: {
|
||||
length: 0,
|
||||
has: function(k){ return this.items.hasOwnProperty(k); },
|
||||
key: function(i) {
|
||||
var c = 0;
|
||||
for (var k in this.items){
|
||||
if (this.has(k) && i === c++) {
|
||||
return k;
|
||||
}
|
||||
}
|
||||
},
|
||||
setItem: function(k, v) {
|
||||
if (!this.has(k)) {
|
||||
this.length++;
|
||||
}
|
||||
this.items[k] = v;
|
||||
},
|
||||
removeItem: function(k) {
|
||||
if (this.has(k)) {
|
||||
delete this.items[k];
|
||||
this.length--;
|
||||
}
|
||||
},
|
||||
getItem: function(k){ return this.has(k) ? this.items[k] : null; },
|
||||
clear: function(){ for (var k in this.items){ this.removeItem(k); } }
|
||||
}// end _.storageAPI
|
||||
};
|
||||
|
||||
var store =
|
||||
// safely set this up (throws error in IE10/32bit mode for local files)
|
||||
_.Store("local", (function(){try{ return localStorage; }catch(e){}})());
|
||||
store.local = store;// for completeness
|
||||
store._ = _;// for extenders and debuggers...
|
||||
// safely setup store.session (throws exception in FF for file:/// urls)
|
||||
store.area("session", (function(){try{ return sessionStorage; }catch(e){}})());
|
||||
store.area("page", _.storage("page"));
|
||||
|
||||
if (typeof define === 'function' && define.amd !== undefined) {
|
||||
define('store2', [], function () {
|
||||
return store;
|
||||
});
|
||||
} else if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = store;
|
||||
} else {
|
||||
// expose the primary store fn to the global object and save conflicts
|
||||
if (window.store){ _.conflict = window.store; }
|
||||
window.store = store;
|
||||
}
|
||||
|
||||
})(this, this && this.define);
|
||||
5
node_modules/store2/dist/store2.min.js
generated
vendored
Normal file
5
node_modules/store2/dist/store2.min.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/*! store2 - v2.14.3 - 2024-02-14
|
||||
* Copyright (c) 2024 Nathan Bubna; Licensed MIT */
|
||||
|
||||
!function(a,b){var c={version:"2.14.3",areas:{},apis:{},nsdelim:".",inherit:function(a,b){for(var c in a)b.hasOwnProperty(c)||Object.defineProperty(b,c,Object.getOwnPropertyDescriptor(a,c));return b},stringify:function(a,b){return void 0===a||"function"==typeof a?a+"":JSON.stringify(a,b||c.replace)},parse:function(a,b){try{return JSON.parse(a,b||c.revive)}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):"function"==typeof a?e.each(a):a?e.setAll(a,b):e.clear()});e._id=a;try{b.setItem("__store2_test","ok"),e._area=b,b.removeItem("__store2_test")}catch(a){e._area=c.storage("fake")}return 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,d){if(d=d||this._delim||c.nsdelim,!a)return this._ns?this._ns.substring(0,this._ns.length-d.length):"";var e=a,f=this[e];if(!(f&&f.namespace||(f=c.Store(this._id,this._area,this._ns+e+d),f._delim=d,this[e]||(this[e]=f),b)))for(var g in c.areas)f.area(g,c.areas[g]);return f},isFake:function(a){return a?(this._real=this._area,this._area=c.storage("fake")):!1===a&&(this._area=this._real||this._area),"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&&!1===a.call(this,f,this.get(f),b))break;e>c.length(this._area)&&(e--,d--)}return b||this},keys:function(a){return this.each(function(a,b,c){c.push(a)},a||[])},get:function(a,b){var d,e=c.get(this._area,this._in(a));return"function"==typeof b&&(d=b,b=null),null!==e?c.parse(e,d):null!=b?b:e},getAll:function(a){return this.each(function(a,b,c){c[a]=b},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,f=this.get(a);return null!=f&&!1===d?b:("function"==typeof d&&(e=d,d=void 0),c.set(this._area,this._in(a),c.stringify(b,e),d)||f)},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,d){var e=this.get(a);if(e instanceof Array)b=e.concat(b);else if(null!==e){var f=typeof e;if(f===typeof b&&"object"===f){for(var g in b)e[g]=b[g];b=e}else b=e+b}return c.set(this._area,this._in(a),c.stringify(b,d)),b},remove:function(a,b){var d=this.get(a,b);return c.remove(this._area,this._in(a)),d},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}},storage:function(a){return c.inherit(c.storageAPI,{items:{},name: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)}}},d=c.Store("local",function(){try{return localStorage}catch(a){}}());d.local=d,d._=c,d.area("session",function(){try{return sessionStorage}catch(a){}}()),d.area("page",c.storage("page")),"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&&this.define);
|
||||
//# sourceMappingURL=store2.min.js.map
|
||||
1
node_modules/store2/dist/store2.min.js.map
generated
vendored
Normal file
1
node_modules/store2/dist/store2.min.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user