@superutils/store 0.1.14 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -10
- package/dist/browser/index.min.js +2 -2
- package/dist/browser/index.min.js.map +1 -1
- package/dist/index.cjs +62 -22
- package/dist/index.d.cts +264 -126
- package/dist/index.d.ts +264 -126
- package/dist/index.js +65 -25
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Built on RxJS for reactive data handling, it is optimized for small to medium da
|
|
|
6
6
|
|
|
7
7
|
<div v-if="false">
|
|
8
8
|
|
|
9
|
-
For full API reference check out the [docs page](https://alien45.github.io/superutils/packages/@superutils/store/).
|
|
9
|
+
For full API reference and example code playground check out the [docs page](https://alien45.github.io/superutils/packages/@superutils/store/).
|
|
10
10
|
|
|
11
11
|
</div>
|
|
12
12
|
|
|
@@ -57,10 +57,10 @@ OR,
|
|
|
57
57
|
The `Store` class can be used just like a standard JavaScript `Map`, but with the added benefit of optional persistence and reactivity.
|
|
58
58
|
|
|
59
59
|
```javascript
|
|
60
|
-
import { createStore
|
|
60
|
+
import { createStore } from '@superutils/store'
|
|
61
61
|
|
|
62
|
-
// Initialize a store
|
|
63
|
-
const userStorage = createStore('users') // or `
|
|
62
|
+
// Initialize a store
|
|
63
|
+
const userStorage = createStore('users') // or `createStore()` for in-memory store
|
|
64
64
|
|
|
65
65
|
// Set and get values
|
|
66
66
|
userStorage.set('alice', { name: 'Alice', age: 30 })
|
|
@@ -117,6 +117,42 @@ createStore('settings.json', { storage: new LocalStorage('./data', 1e7) })
|
|
|
117
117
|
|
|
118
118
|
## Advanced Usage
|
|
119
119
|
|
|
120
|
+
### Data Validation
|
|
121
|
+
|
|
122
|
+
To ensure data integrity, you can provide a `validate` object containing hooks for various operations (`set`, `setAll`, `delete`, `clear`, `write`). These hooks are executed immediately before the store's internal state is updated. If a validator throws an error, the operation is aborted.
|
|
123
|
+
|
|
124
|
+
```javascript
|
|
125
|
+
import { createObjectStore } from '@superutils/store'
|
|
126
|
+
|
|
127
|
+
const settingsStore = createObjectStore('app-settings', {
|
|
128
|
+
initialValue: {
|
|
129
|
+
theme: 'light',
|
|
130
|
+
version: '1.0.0',
|
|
131
|
+
},
|
|
132
|
+
validate: {
|
|
133
|
+
set: ([key, value]) => {
|
|
134
|
+
if (key !== 'theme' || ['light', 'dark', 'system'].includes(value)) return
|
|
135
|
+
|
|
136
|
+
// throw error to abort operation
|
|
137
|
+
throw new Error(`Invalid theme: ${value}`)
|
|
138
|
+
},
|
|
139
|
+
delete: ([keys]) => {
|
|
140
|
+
if (!keys.includes('version')) return
|
|
141
|
+
|
|
142
|
+
throw new Error('The "version" key is protected and cannot be deleted')
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
settingsStore.set('theme', 'system')
|
|
148
|
+
console.log(settingsStore.get('theme')) // 'system
|
|
149
|
+
try {
|
|
150
|
+
settingsStore.set('theme', 'invalid') // throws error
|
|
151
|
+
} catch (err) {
|
|
152
|
+
console.log(err)
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
120
156
|
### Reactive Updates (RxJS & Callbacks)
|
|
121
157
|
|
|
122
158
|
You can subscribe to changes using the internal RxJS Subject or a simple `onChange` callback.
|
|
@@ -208,7 +244,7 @@ const userStore = createObjectStore('user-profile', {
|
|
|
208
244
|
context: store => ({
|
|
209
245
|
promoteToAdmin() {
|
|
210
246
|
// Update properties with type safety
|
|
211
|
-
store.set('roles',
|
|
247
|
+
store.set('roles', roles => [...roles, 'admin'])
|
|
212
248
|
},
|
|
213
249
|
}),
|
|
214
250
|
})
|
|
@@ -231,19 +267,22 @@ interface Product {
|
|
|
231
267
|
inStock: boolean
|
|
232
268
|
}
|
|
233
269
|
|
|
234
|
-
class ProductStore extends Store<number, Product> {
|
|
235
|
-
constructor(
|
|
270
|
+
class ProductStore extends Store<number, Product, false> {
|
|
271
|
+
constructor(
|
|
272
|
+
...[name, options]: ConstructorParameters<
|
|
273
|
+
typeof Store<number, Product, false>
|
|
274
|
+
>
|
|
275
|
+
) {
|
|
236
276
|
super(name, { ...options, delay: 100 }) // Set a default delay for this store type
|
|
237
277
|
}
|
|
238
278
|
|
|
239
|
-
getInStockProducts(
|
|
240
|
-
return this.filter(product => product.inStock)
|
|
279
|
+
getInStockProducts(limit?: number) {
|
|
280
|
+
return this.filter(product => product.inStock, limit)
|
|
241
281
|
}
|
|
242
282
|
}
|
|
243
283
|
|
|
244
284
|
const products = new ProductStore('my-products')
|
|
245
285
|
products.set(1, { id: 1, name: 'Laptop', price: 1200, inStock: true })
|
|
246
286
|
products.set(2, { id: 2, name: 'Mouse', price: 25, inStock: false })
|
|
247
|
-
|
|
248
287
|
console.log(products.getInStockProducts()) // Map { 1 => { id: 1, name: 'Laptop', price: 1200, inStock: true } }
|
|
249
288
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
this.superutils=this.superutils||{};this.superutils.store=(function(exports){'use strict';var
|
|
1
|
+
this.superutils=this.superutils||{};this.superutils.store=(function(exports){'use strict';var v=(r,e=true)=>!!r&&typeof r=="object"&&(!e||[Object.prototype,null].includes(Object.getPrototypeOf(r)));var j=r=>Array.isArray(r);var te=r=>j(r)&&r.every(j),We=r=>j(r)||r instanceof Set||r instanceof Map;var Je=r=>Number.isInteger(r);var oe=r=>typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r),qe=r=>Je(r)&&r>0,ge=r=>oe(r)&&r>0,xe=(r,e=false,t=false)=>{if(r==null)return true;switch(typeof r){case "number":return !oe(r);case "string":return !r.replaceAll(" ","").trim().length;case "boolean":case "bigint":case "symbol":case "function":return false}if(r instanceof Date)return Number.isNaN(r.getTime());if(r instanceof Map||r instanceof Set)return !r.size;if(Array.isArray(r)||r instanceof Uint8Array)return !r.length;if(r instanceof Error)return !r.message.length;let o=typeof r=="object"&&Object.getPrototypeOf(r);return o===Object.prototype||o===null?e?!Object.getOwnPropertyNames(r).length:!Object.keys(r).length:t};var b=r=>typeof r=="function";var S=r=>r instanceof Map;var Se=r=>r!=null;var He=r=>r instanceof Promise,$=r=>r instanceof RegExp,Ge=r=>r instanceof Set,M=r=>typeof r=="string";var Ye=r=>typeof r=="symbol";var w=(r,e,t)=>{try{let o=b(r)?r(...b(e)?e():e):r;return He(o)?o.catch(n=>b(t)?t(n):t):o}catch(o){return b(t)?t(o):t}},E=w;new Date().getTime();var Xe=(r,e=true,t=true)=>E(()=>[...t&&Object.getOwnPropertySymbols(r)||[],...e?Object.keys(r).sort():Object.keys(r)],[],[]),Ze=Xe,F=(r,e="null")=>JSON.parse(E(JSON.stringify,[r],e)),we=(r,e,t,o=false,n=true)=>{let i=v(e,false)||b(e)?e:{};if(!v(r,false)&&!b(e))return i;let s=new Set(t!=null?t:[]),a=Ze(r,true,true).filter(u=>!s.has(u));for(let u of a){let c=u,l=r[c];if(i.hasOwnProperty(c)&&(o==="empty"?!xe(i[c]):b(o)?!o(c,i[c],l):true))continue;if([void 0,null,1/0,NaN].includes(l)||!v(l,false)){i[c]=l;continue}i[c]=(()=>{switch(Object.getPrototypeOf(l)){case Array.prototype:return F(l,"[]");case ArrayBuffer.prototype:return l.slice(0);case Date.prototype:return new Date(l.getTime());case Map.prototype:return new Map(F(Array.from(l),"[]"));case RegExp.prototype:return new RegExp(l);case Set.prototype:return new Set(F(Array.from(l)));case Uint8Array.prototype:return new Uint8Array([...l]);case URL.prototype:return new URL(l);}if(Ye(c)||!n)return F(l);let m=[...s].map(y=>String(y).startsWith(String(c).concat("."))&&String(y).split(String(c).concat("."))[1]).filter(Boolean);return m.length?we(l,i[c],m,o,n):F(l)})();}return i},Qe=(r=[],e=[],t)=>{v(t)||(t={});for(let o=0;o<(j(r)?r:[]).length;o++)t[r[o]]=e==null?void 0:e[o];return t};function q(r){let e=Object.entries(v(r)?r:{});return new Map(e.map(([t,o])=>[t,o]))}var ye=(r,e=true,t=false)=>j(r)?(t&&(r=[...r]),e?r.reverse():r):[];var J=(r,e=50,t={})=>{let{leading:o=J.defaults.leading,onError:n=J.defaults.onError,thisArg:i}=t,{tid:s}=t;i!==void 0&&(r=r.bind(i));let a=(...l)=>E(r,l,n),u=null,c=o==="global";return (...l)=>{clearTimeout(s),s=setTimeout(()=>{u!==l&&a(...l),u=c?true:null;},e),!(!o||u)&&(u=l,a(...l));}};J.defaults={leading:false,onError:void 0};var er=J,ne=(r,e=50,t={})=>{let{defaults:o}=ne,{onError:n=o.onError,trailing:i=o.trailing,thisArg:s}=t,{tid:a}=t,u=(...l)=>E(s!==void 0?r.bind(s):r,l,b(n)?f=>E(n,[f],void 0):void 0),c=null;return (...l)=>{if(a){c=l;return}a=setTimeout(()=>{if(a=void 0,!i)return;let f=c;c=null,f&&f!==l&&u(...f);},e),u(...l);}};ne.defaults={onError:void 0,trailing:false};var rr=ne,_e=(r,e=50,t={})=>t.throttle?rr(r,e,t):er(r,e,t),ie=(r,e,t,o,n)=>{var i;S(n)||(n=new Map),qe(t)||(t=1/0);for(let[s,a]of ((i=r==null?void 0:r.entries)==null?void 0:i.call(r))||[]){if(n.size>=t)break;E(e!=null?e:a,[a,s,r],false)&&n.set(s,a);}return o?n:[...n.values()]},tr=ie,or=r=>{if(!r)return 0;try{let e="size"in r?r.size:"length"in r?r.length:0;return oe(e)?e:0}catch(e){return 0}},nr=or,se=r=>{var e;return [...((e=r==null?void 0:r.values)==null?void 0:e.call(r))||[]]},ve=se,D=(r,e)=>{var t;let o=!nr(r)||xe(e==null?void 0:e.query),n=S(e==null?void 0:e.result)?e.result:new Map,i=(t=e==null?void 0:e.asMap)!=null?t:D.defaults.asMap;if(o)return i?n:ve(n);e=we(D.defaults,e,[],"empty");let{ignoreCase:s,limit:a=1/0,matchAll:u,matchExact:c,ranked:l}=e,{query:f}=e,h=M(f),m=$(f),y=E(Object.keys,[f],[]);if(s&&!c&&!m&&(f=h?f.toLowerCase():Qe(y,Object.values(f).map(p=>$(p)?p:`${p}`.toLowerCase()))),e.query=f,l){let p=[];for(let[d,x]of r.entries()){let O=-1;if(h||m){O=W(e,x,void 0),O>=0&&p.push([O,d,x]);continue}let be=[];y[u?"every":"some"](N=>{let z=W(e,x,N);return be.push(z),z>=0})&&(O=be.sort((N,z)=>N-z).filter(N=>N!==-1)[0],O>=0&&p.push([O,d,x]));}p.sort((d,x)=>d[0]-x[0]).slice(0,a).forEach(([d,x,O])=>n.set(x,O));}else for(let[p,d]of r.entries()){if(n.size>=a)break;(h||m?W(e,d,void 0)>=0:y[u?"every":"some"](O=>W(e,d,O)>=0))&&n.set(p,d);}return i?n:ve(n)};D.defaults={asMap:true,ignoreCase:true,limit:1/0,matchAll:false,ranked:false,transform:true};function W({query:r,ignoreCase:e,matchExact:t,transform:o=true},n,i){var s,a;let u=M(r)||$(r)||i===void 0,c=u?r:r[i],l=u||!v(n)?n:n[i],f=E(()=>b(o)?o(n,u?void 0:l,i):t&&o===!1?l:v(l,!1)?JSON.stringify(We(l)?[...l.values()]:Object.values(l)):String(l!=null?l:""),[],"");if(f===c)return 0;if(t&&!$(c))return -1;let h=String(f);return h.trim()?$(c)?(a=(s=h.match(c))==null?void 0:s.index)!=null?a:-1:(e&&(h=h.toLowerCase()),h.indexOf(String(c))):-1}var ir=D;function Oe(r,e){return (b(e)?tr(r,e,1):ir(r,{...e,asMap:true,limit:1}))[e!=null&&e.includeKey?"entries":"values"]().next().value}var Te=r=>{var e;return [...((e=r==null?void 0:r.entries)==null?void 0:e.call(r))||[]]},je=r=>{var e;return [...((e=r==null?void 0:r.keys)==null?void 0:e.call(r))||[]]};function H(r,e,t){let o=j(r)?1:S(r)?2:Ge(r)?3:0;if(!o)return r;let{asString:n,ignoreCase:i,newInstance:s,reverse:a,undefinedFirst:u}={...H.defaults,...v(t)?t:v(e)?e:{}};if(o===1&&b(e))return ye(r.sort(e),a,s);let c=n?u?"":"Z".repeat(10):u?-1/0:1/0,l=b(e)?ye([...r.entries()].sort(e),a,false):(()=>{let f=1,h=p=>{let d=v(p)&&f!==0?p[e]:p;if(!n)return d;let x=`${d!=null?d:c}`;return i?x.toLowerCase():x},[m,y]=a?[-1,1]:[1,-1];return [1,3].includes(o)?(o===3||s?[...r]:r).sort((p,d)=>h(p)>h(d)?m:y):(f=e===true?0:1,[...r.entries()].sort((p,d)=>h(p==null?void 0:p[f])>h(d==null?void 0:d[f])?m:y))})();if(o===1)return l;if(s)return o===2?new Map(l):new Set(l);r.clear();for(let f of l)o===2?r.set(...f):r.add(f);return r}H.defaults={asString:true,ignoreCase:true,newInstance:false,reverse:false,undefinedFirst:false};var Ee=(...r)=>{var e;return new Map((e=r==null?void 0:r.flatMap)==null?void 0:e.call(r,t=>S(t)?Array.from(t.entries()):te(t)?t:[]))};var ae=function(r,e){return ae=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o;}||function(t,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);},ae(r,e)};function T(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ae(r,e);function t(){this.constructor=r;}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t);}function B(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],o=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return {next:function(){return r&&o>=r.length&&(r=void 0),{value:r&&r[o++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function I(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var o=t.call(r),n,i=[],s;try{for(;(e===void 0||e-- >0)&&!(n=o.next()).done;)i.push(n.value);}catch(a){s={error:a};}finally{try{n&&!n.done&&(t=o.return)&&t.call(o);}finally{if(s)throw s.error}}return i}function K(r,e,t){if(arguments.length===2)for(var o=0,n=e.length,i;o<n;o++)(i||!(o in e))&&(i||(i=Array.prototype.slice.call(e,0,o)),i[o]=e[o]);return r.concat(i||Array.prototype.slice.call(e))}function g(r){return typeof r=="function"}function G(r){var e=function(o){Error.call(o),o.stack=new Error().stack;},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Y=G(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
2
2
|
`+t.map(function(o,n){return n+1+") "+o.toString()}).join(`
|
|
3
|
-
`):"",this.name="UnsubscriptionError",this.errors=t;}});function B(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1);}}var K=(function(){function r(e){this.initialTeardown=e,this.closed=false,this._parentage=null,this._finalizers=null;}return r.prototype.unsubscribe=function(){var e,t,o,n,i;if(!this.closed){this.closed=true;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=k(s),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this);}}catch(p){e={error:p};}finally{try{l&&!l.done&&(t=a.return)&&t.call(a);}finally{if(e)throw e.error}}else s.remove(this);var u=this.initialTeardown;if(y(u))try{u();}catch(p){i=p instanceof Y?p.errors:[p];}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=k(f),b=h.next();!b.done;b=h.next()){var x=b.value;try{Ce(x);}catch(p){i=i!=null?i:[],p instanceof Y?i=V(V([],I(i)),I(p.errors)):i.push(p);}}}catch(p){o={error:p};}finally{try{b&&!b.done&&(n=h.return)&&n.call(h);}finally{if(o)throw o.error}}}if(i)throw new Y(i)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Ce(e);else {if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this);}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e);}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e;},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&B(t,e);},r.prototype.remove=function(e){var t=this._finalizers;t&&B(t,e),e instanceof r&&e._removeParent(this);},r.EMPTY=(function(){var e=new r;return e.closed=true,e})(),r})();var ae=K.EMPTY;function X(r){return r instanceof K||r&&"closed"in r&&y(r.remove)&&y(r.add)&&y(r.unsubscribe)}function Ce(r){y(r)?r():r.unsubscribe();}var w={Promise:void 0};var R={setTimeout:function(r,e){for(var t=[],o=2;o<arguments.length;o++)t[o-2]=arguments[o];return setTimeout.apply(void 0,V([r,e],I(t)))},clearTimeout:function(r){return (clearTimeout)(r)},delegate:void 0};function Ae(r){R.setTimeout(function(){throw r});}function ue(){}function U(r){r();}var z=(function(r){O(e,r);function e(t){var o=r.call(this)||this;return o.isStopped=false,t?(o.destination=t,X(t)&&t.add(o)):o.destination=lr,o}return e.create=function(t,o,n){return new Q(t,o,n)},e.prototype.next=function(t){this.isStopped?fe():this._next(t);},e.prototype.error=function(t){this.isStopped?fe():(this.isStopped=true,this._error(t));},e.prototype.complete=function(){this.isStopped?fe():(this.isStopped=true,this._complete());},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=true,r.prototype.unsubscribe.call(this),this.destination=null);},e.prototype._next=function(t){this.destination.next(t);},e.prototype._error=function(t){try{this.destination.error(t);}finally{this.unsubscribe();}},e.prototype._complete=function(){try{this.destination.complete();}finally{this.unsubscribe();}},e})(K);var ar=(function(){function r(e){this.partialObserver=e;}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e);}catch(o){Z(o);}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e);}catch(o){Z(o);}else Z(e);},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete();}catch(t){Z(t);}},r})(),Q=(function(r){O(e,r);function e(t,o,n){var i=r.call(this)||this,s;if(y(t)||!t)s={next:t!=null?t:void 0,error:o!=null?o:void 0,complete:n!=null?n:void 0};else {s=t;}return i.destination=new ar(s),i}return e})(z);function Z(r){Ae(r);}function ur(r){throw r}function fe(r,e){}var lr={closed:true,next:ue,error:ur,complete:ue};var Ve=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function Ke(r){return r}function Re(r){return r.length===0?Ke:r.length===1?r[0]:function(t){return r.reduce(function(o,n){return n(o)},t)}}var pe=(function(){function r(e){e&&(this._subscribe=e);}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,o){var n=this,i=fr(e)?e:new Q(e,t,o);return U(function(){var s=n,a=s.operator,l=s.source;i.add(a?a.call(i,l):l?n._subscribe(i):n._trySubscribe(i));}),i},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t);}},r.prototype.forEach=function(e,t){var o=this;return t=Ue(t),new t(function(n,i){var s=new Q({next:function(a){try{e(a);}catch(l){i(l),s.unsubscribe();}},error:i,complete:n});o.subscribe(s);})},r.prototype._subscribe=function(e){var t;return (t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Ve]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Re(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Ue(e),new e(function(o,n){var i;t.subscribe(function(s){return i=s},function(s){return n(s)},function(){return o(i)});})},r.create=function(e){return new r(e)},r})();function Ue(r){var e;return (e=r!=null?r:w.Promise)!==null&&e!==void 0?e:Promise}function cr(r){return r&&y(r.next)&&y(r.error)&&y(r.complete)}function fr(r){return r&&r instanceof z||cr(r)&&X(r)}function pr(r){return y(r==null?void 0:r.lift)}function Ne(r){return function(e){if(pr(e))return e.lift(function(t){try{return r(t,this)}catch(o){this.error(o);}});throw new TypeError("Unable to lift unknown Observable type")}}function Fe(r,e,t,o,n){return new hr(r,e,t,o,n)}var hr=(function(r){O(e,r);function e(t,o,n,i,s,a){var l=r.call(this,t)||this;return l.onFinalize=s,l.shouldUnsubscribe=a,l._next=o?function(c){try{o(c);}catch(u){t.error(u);}}:r.prototype._next,l._error=i?function(c){try{i(c);}catch(u){t.error(u);}finally{this.unsubscribe();}}:r.prototype._error,l._complete=n?function(){try{n();}catch(c){t.error(c);}finally{this.unsubscribe();}}:r.prototype._complete,l}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;r.prototype.unsubscribe.call(this),!o&&((t=this.onFinalize)===null||t===void 0||t.call(this));}},e})(z);var $e=G(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed";}});var A=(function(r){O(e,r);function e(){var t=r.call(this)||this;return t.closed=false,t.currentObservers=null,t.observers=[],t.isStopped=false,t.hasError=false,t.thrownError=null,t}return e.prototype.lift=function(t){var o=new ke(this,this);return o.operator=t,o},e.prototype._throwIfClosed=function(){if(this.closed)throw new $e},e.prototype.next=function(t){var o=this;U(function(){var n,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var s=k(o.currentObservers),a=s.next();!a.done;a=s.next()){var l=a.value;l.next(t);}}catch(c){n={error:c};}finally{try{a&&!a.done&&(i=s.return)&&i.call(s);}finally{if(n)throw n.error}}}});},e.prototype.error=function(t){var o=this;U(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=true,o.thrownError=t;for(var n=o.observers;n.length;)n.shift().error(t);}});},e.prototype.complete=function(){var t=this;U(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=true;for(var o=t.observers;o.length;)o.shift().complete();}});},e.prototype.unsubscribe=function(){this.isStopped=this.closed=true,this.observers=this.currentObservers=null;},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return ((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:false,configurable:true}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?ae:(this.currentObservers=null,a.push(t),new K(function(){o.currentObservers=null,B(a,t);}))},e.prototype._checkFinalizedStatuses=function(t){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?t.error(i):s&&t.complete();},e.prototype.asObservable=function(){var t=new pe;return t.source=this,t},e.create=function(t,o){return new ke(t,o)},e})(pe);var ke=(function(r){O(e,r);function e(t,o){var n=r.call(this)||this;return n.destination=t,n.source=o,n}return e.prototype.next=function(t){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,t);},e.prototype.error=function(t){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,t);},e.prototype.complete=function(){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||o===void 0||o.call(t);},e.prototype._subscribe=function(t){var o,n;return (n=(o=this.source)===null||o===void 0?void 0:o.subscribe(t))!==null&&n!==void 0?n:ae},e})(A);var he=(function(r){O(e,r);function e(t){var o=r.call(this)||this;return o._value=t,o}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:false,configurable:true}),e.prototype._subscribe=function(t){var o=r.prototype._subscribe.call(this,t);return !o.closed&&t.next(this._value),o},e.prototype.getValue=function(){var t=this,o=t.hasError,n=t.thrownError,i=t._value;if(o)throw n;return this._throwIfClosed(),i},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t);},e})(A);function Be(r,e){return Ne(function(t,o){var n=0;t.subscribe(Fe(o,function(i){return r.call(e,i,n++)&&o.next(i)}));})}function de(r){return Be(function(e,t){return r<=t})}var dr=(s=>(s.onChange="onChange",s.parse="parse",s.parse_json="parse-json",s.stringify="stringify",s.stringify_json="stringify-json",s.write="write",s))(dr||{});var ze=new A,P=class P{constructor(e,t){this.initialized=false;this.subscriptions={subject:void 0,forceUpdateCache:void 0};this.type="map";this.clear=()=>this.setAll(new Map,true);this.delete=e=>{T(e)||(e=[e]);let t=this.getAll();for(let o of e)t.delete(o);return this.setAll(t,true),this};this.filter=(...e)=>ne(this.getAll(),...e);this.find=e=>Oe(this.getAll(),e);this.get=e=>this.getAll().get(e);this.getAll=(e=false)=>{let t=this.initialized;if(t||this.init(),this.cacheDisabled||this.storage&&e){let n=this.read();return (e||!t&&n.size)&&this.subject$.next(n),n}return this.subject$.value};this.handleForceUpdateCache=e=>{if(!(this.name?T(e)?e.includes(this.name):M(e)?e===this.name:e===true:false))return;let o=this.read();this.subject$.next(o);};this.handleSubjectChange=e=>{var t;if(!S(e))return this.subject$.next(new Map);this.write(e),E((t=this.onChange)==null?void 0:t.bind(this),[e],this.triggerOnErrorCb("onChange"));};this.has=e=>this.getAll().has(e);this.init=(e,t=true)=>{var i;if(this.initialized)return false;if(this.initialized=true,t&&this.name&&!this.storage)throw new Error(P.messages.invalidOptionsStorage);let o=!!this.cacheDisabled,n=e;if(e!=null&&e.size||!this.cacheDisabled){let s=this.name?(i=this.storage)==null?void 0:i.getItem(this.name):null,a=this.read(s!=null?s:null);Se(s)&&(n=a),o=this.cacheDisabled||a.size===0;}return n!=null&&n.size&&this.subject$.next(n),this.unsubscribe(),this.cacheDisabled||(this.subscriptions.forceUpdateCache=ze.subscribe(this.handleForceUpdateCache)),this.subscriptions.subject=this.subject$.pipe(de(o?0:1)).subscribe(!this.cacheDisabled&&this.delay>0?_e(this.handleSubjectChange,this.delay,{thisArg:this,...this.delayOptions}):this.handleSubjectChange),true};this.keys=()=>Ee(this.getAll());this.map=e=>this.toArray().map(([t,o],n,i)=>e(o,t,i,n));this.read=(e=(o=>(o=this.name&&(t=>(t=this.storage)==null?void 0:t.getItem(this.name))())!=null?o:null)())=>{var i;let n=E(this.parse,[e],this.triggerOnErrorCb("parse",void 0));return S(n)||!M(e)?(i=m(this.parse)?n:this.subject$.value)!=null?i:new Map:new Map(E(()=>{let s=JSON.parse(e);if(!re(s))throw new Error(P.messages.invalidJsonEntries);return s},[],this.triggerOnErrorCb("parse-json")))};this.search=(...e)=>D(this.getAll(),...e);this.set=(e,t)=>{let o=this.getAll();return o.set(e,m(t)?t(o.get(e)):t),this.setAll(o,true)};this.setAll=(e,t=false)=>S(e)?(e=t?e:je(this.getAll(),e),this.subject$.next(new Map(e)),this):this;this.sort=(...e)=>{var o;let t=H(this.getAll(),e[0],e[1]);return (o=e[1])!=null&&o.save&&this.setAll(t,true),t};this.toArray=()=>Te(this.getAll());this.toJSON=(e,t=this.spaces,o=this.getAll())=>{let n=E(this.stringify,[o],this.triggerOnErrorCb("stringify",""));return M(n)?n:E(()=>JSON.stringify(Array.from(o),e,t),[],this.triggerOnErrorCb("stringify-json",""))};this.toObject=(e=this.getAll())=>{let t={};if(!S(e))return t;for(let[o,n]of e)t[o]=n;return t};this.toString=(e=this.getAll())=>this.toJSON(void 0,void 0,e);this.triggerOnErrorCb=(e,t=void 0)=>o=>{var n;return E((n=this.onError)==null?void 0:n.bind(this),[o,e],""),t};this.unsubscribe=()=>{var e,t;(e=this.subscriptions.forceUpdateCache)==null||e.unsubscribe(),(t=this.subscriptions.subject)==null||t.unsubscribe(),this.subscriptions={};};this.values=()=>ie(this.getAll());this.write=e=>{var t;try{if(!this.initialized&&this.init(),e!=null||(e=(t=this.subject$)==null?void 0:t.value),!S(e))return !1;let o=this.toString(e);return !this.name||!this.storage?!1:(this.storage.setItem(this.name,o),!0)}catch(o){return this.triggerOnErrorCb("write")(o),false}};let{cacheDisabled:o=false,delay:n,delayOptions:i,initialValue:s,onError:a,onChange:l,parse:c,spaces:u,storage:f=E(()=>globalThis.localStorage,[],void 0),stringify:h}=t!=null?t:{};if(this.name=`${e!=null?e:""}`.trim()||null,this.name&&!f&&!(t!=null&&t.checkStorageOnInit))throw new Error(P.messages.invalidOptionsStorage);this.cacheDisabled=!!f&&o,this.delay=n===0||ge(n)?n:300,this.delayOptions=i,this.onError=a,this.onChange=l,this.parse=c==null?void 0:c.bind(this),this.storage=f,this.stringify=h==null?void 0:h.bind(this),this.spaces=u,this.subject$=this.cacheDisabled?new A:new he(new Map),S(s)&&s.size&&this.init(s,false);}get size(){return this.getAll().size}};P.messages=Object.seal({invalidJsonEntries:"Invalid JSON format. Parsed value must be a 2D array representing key-value pairs.",invalidOptionsStorage:"options.storage: LocalStorage instance or equivalent required"}),P.forceUpdateCache=e=>{ze.next(e);};var me=P,ee=me;function mr(r,e){let t=new ee(r,e);return Object.defineProperty(t,"context",{configurable:false,enumerable:false,value:m(e==null?void 0:e.context)?e.context(t):e==null?void 0:e.context,writable:false}),t}var Le=mr;function qt(r,e){let t=Le(r,{parse:o=>q(JSON.parse(o!=null?o:"{}")),stringify:function(o){return JSON.stringify(this.toObject(o))},...e,initialValue:g(e==null?void 0:e.initialValue,true)?q(e.initialValue):e==null?void 0:e.initialValue});return t.type="object",t}var Yt=ee;exports.Store=me;exports.Store_OnErrorType=dr;exports.createObjectStore=qt;exports.createStore=mr;exports.default=Yt;exports.forceUpdateCache$=ze;exports.objToMap=q;Object.defineProperty(exports,'__esModule',{value:true});return exports;})({});//# sourceMappingURL=index.min.js.map
|
|
3
|
+
`):"",this.name="UnsubscriptionError",this.errors=t;}});function k(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1);}}var V=(function(){function r(e){this.initialTeardown=e,this.closed=false,this._parentage=null,this._finalizers=null;}return r.prototype.unsubscribe=function(){var e,t,o,n,i;if(!this.closed){this.closed=true;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=B(s),u=a.next();!u.done;u=a.next()){var c=u.value;c.remove(this);}}catch(p){e={error:p};}finally{try{u&&!u.done&&(t=a.return)&&t.call(a);}finally{if(e)throw e.error}}else s.remove(this);var l=this.initialTeardown;if(g(l))try{l();}catch(p){i=p instanceof Y?p.errors:[p];}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=B(f),m=h.next();!m.done;m=h.next()){var y=m.value;try{Ce(y);}catch(p){i=i!=null?i:[],p instanceof Y?i=K(K([],I(i)),I(p.errors)):i.push(p);}}}catch(p){o={error:p};}finally{try{m&&!m.done&&(n=h.return)&&n.call(h);}finally{if(o)throw o.error}}}if(i)throw new Y(i)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Ce(e);else {if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this);}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e);}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e;},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&k(t,e);},r.prototype.remove=function(e){var t=this._finalizers;t&&k(t,e),e instanceof r&&e._removeParent(this);},r.EMPTY=(function(){var e=new r;return e.closed=true,e})(),r})();var le=V.EMPTY;function X(r){return r instanceof V||r&&"closed"in r&&g(r.remove)&&g(r.add)&&g(r.unsubscribe)}function Ce(r){g(r)?r():r.unsubscribe();}var _={Promise:void 0};var R={setTimeout:function(r,e){for(var t=[],o=2;o<arguments.length;o++)t[o-2]=arguments[o];return setTimeout.apply(void 0,K([r,e],I(t)))},clearTimeout:function(r){return (clearTimeout)(r)},delegate:void 0};function Ae(r){R.setTimeout(function(){throw r});}function ue(){}function U(r){r();}var L=(function(r){T(e,r);function e(t){var o=r.call(this)||this;return o.isStopped=false,t?(o.destination=t,X(t)&&t.add(o)):o.destination=ur,o}return e.create=function(t,o,n){return new Q(t,o,n)},e.prototype.next=function(t){this.isStopped?pe():this._next(t);},e.prototype.error=function(t){this.isStopped?pe():(this.isStopped=true,this._error(t));},e.prototype.complete=function(){this.isStopped?pe():(this.isStopped=true,this._complete());},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=true,r.prototype.unsubscribe.call(this),this.destination=null);},e.prototype._next=function(t){this.destination.next(t);},e.prototype._error=function(t){try{this.destination.error(t);}finally{this.unsubscribe();}},e.prototype._complete=function(){try{this.destination.complete();}finally{this.unsubscribe();}},e})(V);var ar=(function(){function r(e){this.partialObserver=e;}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e);}catch(o){Z(o);}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e);}catch(o){Z(o);}else Z(e);},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete();}catch(t){Z(t);}},r})(),Q=(function(r){T(e,r);function e(t,o,n){var i=r.call(this)||this,s;if(g(t)||!t)s={next:t!=null?t:void 0,error:o!=null?o:void 0,complete:n!=null?n:void 0};else {s=t;}return i.destination=new ar(s),i}return e})(L);function Z(r){Ae(r);}function lr(r){throw r}function pe(r,e){}var ur={closed:true,next:ue,error:lr,complete:ue};var Ke=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function Ve(r){return r}function Re(r){return r.length===0?Ve:r.length===1?r[0]:function(t){return r.reduce(function(o,n){return n(o)},t)}}var he=(function(){function r(e){e&&(this._subscribe=e);}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,o){var n=this,i=fr(e)?e:new Q(e,t,o);return U(function(){var s=n,a=s.operator,u=s.source;i.add(a?a.call(i,u):u?n._subscribe(i):n._trySubscribe(i));}),i},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t);}},r.prototype.forEach=function(e,t){var o=this;return t=Ue(t),new t(function(n,i){var s=new Q({next:function(a){try{e(a);}catch(u){i(u),s.unsubscribe();}},error:i,complete:n});o.subscribe(s);})},r.prototype._subscribe=function(e){var t;return (t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Ke]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Re(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Ue(e),new e(function(o,n){var i;t.subscribe(function(s){return i=s},function(s){return n(s)},function(){return o(i)});})},r.create=function(e){return new r(e)},r})();function Ue(r){var e;return (e=r!=null?r:_.Promise)!==null&&e!==void 0?e:Promise}function cr(r){return r&&g(r.next)&&g(r.error)&&g(r.complete)}function fr(r){return r&&r instanceof L||cr(r)&&X(r)}function pr(r){return g(r==null?void 0:r.lift)}function Ne(r){return function(e){if(pr(e))return e.lift(function(t){try{return r(t,this)}catch(o){this.error(o);}});throw new TypeError("Unable to lift unknown Observable type")}}function Fe(r,e,t,o,n){return new hr(r,e,t,o,n)}var hr=(function(r){T(e,r);function e(t,o,n,i,s,a){var u=r.call(this,t)||this;return u.onFinalize=s,u.shouldUnsubscribe=a,u._next=o?function(c){try{o(c);}catch(l){t.error(l);}}:r.prototype._next,u._error=i?function(c){try{i(c);}catch(l){t.error(l);}finally{this.unsubscribe();}}:r.prototype._error,u._complete=n?function(){try{n();}catch(c){t.error(c);}finally{this.unsubscribe();}}:r.prototype._complete,u}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;r.prototype.unsubscribe.call(this),!o&&((t=this.onFinalize)===null||t===void 0||t.call(this));}},e})(L);var $e=G(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed";}});var A=(function(r){T(e,r);function e(){var t=r.call(this)||this;return t.closed=false,t.currentObservers=null,t.observers=[],t.isStopped=false,t.hasError=false,t.thrownError=null,t}return e.prototype.lift=function(t){var o=new Be(this,this);return o.operator=t,o},e.prototype._throwIfClosed=function(){if(this.closed)throw new $e},e.prototype.next=function(t){var o=this;U(function(){var n,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var s=B(o.currentObservers),a=s.next();!a.done;a=s.next()){var u=a.value;u.next(t);}}catch(c){n={error:c};}finally{try{a&&!a.done&&(i=s.return)&&i.call(s);}finally{if(n)throw n.error}}}});},e.prototype.error=function(t){var o=this;U(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=true,o.thrownError=t;for(var n=o.observers;n.length;)n.shift().error(t);}});},e.prototype.complete=function(){var t=this;U(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=true;for(var o=t.observers;o.length;)o.shift().complete();}});},e.prototype.unsubscribe=function(){this.isStopped=this.closed=true,this.observers=this.currentObservers=null;},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return ((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:false,configurable:true}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?le:(this.currentObservers=null,a.push(t),new V(function(){o.currentObservers=null,k(a,t);}))},e.prototype._checkFinalizedStatuses=function(t){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?t.error(i):s&&t.complete();},e.prototype.asObservable=function(){var t=new he;return t.source=this,t},e.create=function(t,o){return new Be(t,o)},e})(he);var Be=(function(r){T(e,r);function e(t,o){var n=r.call(this)||this;return n.destination=t,n.source=o,n}return e.prototype.next=function(t){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,t);},e.prototype.error=function(t){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,t);},e.prototype.complete=function(){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||o===void 0||o.call(t);},e.prototype._subscribe=function(t){var o,n;return (n=(o=this.source)===null||o===void 0?void 0:o.subscribe(t))!==null&&n!==void 0?n:le},e})(A);var ee=(function(r){T(e,r);function e(t){var o=r.call(this)||this;return o._value=t,o}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:false,configurable:true}),e.prototype._subscribe=function(t){var o=r.prototype._subscribe.call(this,t);return !o.closed&&t.next(this._value),o},e.prototype.getValue=function(){var t=this,o=t.hasError,n=t.thrownError,i=t._value;if(o)throw n;return this._throwIfClosed(),i},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t);},e})(A);function ke(r,e){return Ne(function(t,o){var n=0;t.subscribe(Fe(o,function(i){return r.call(e,i,n++)&&o.next(i)}));})}function de(r){return ke(function(e,t){return r<=t})}var dr=(s=>(s.onChange="onChange",s.parse="parse",s.parse_json="parse-json",s.stringify="stringify",s.stringify_json="stringify-json",s.write="write",s))(dr||{});var Le=new A,P=class P{constructor(e,t){this.initialized=false;this.subscriptions={subject:void 0,forceUpdateCache:void 0};this.type="map";this.clear=()=>{var e,t;return (t=(e=this.validate)==null?void 0:e.clear)==null||t.call(this,[],"clear"),this.setAll(new Map,true)};this.delete=e=>{var o,n;j(e)||(e=[e]),(n=(o=this.validate)==null?void 0:o.delete)==null||n.call(this,[e],"delete");let t=this.getAll();for(let i of e)t.delete(i);return this.setAll(t,true),this};this.filter=(...e)=>ie(this.getAll(),...e);this.find=e=>Oe(this.getAll(),e);this.get=e=>this.getAll().get(e);this.getAll=(e=false)=>{let t=this.initialized;if(t||this.init(),this.cacheDisabled||this.storage&&e){let n=this.read();return (e||!t&&n.size)&&this.subject$.next(n),n}return this.subject$.value};this.handleForceUpdateCache=e=>{if(!(this.name?j(e)?e.includes(this.name):M(e)?e===this.name:e===true:false))return;let o=this.read();this.subject$.next(o);};this.handleSubjectChange=e=>{var t;if(!S(e))return this.subject$.next(new Map);w(this.write,[e],null),w((t=this.onChange)==null?void 0:t.bind(this),[e],this.triggerOnErrorCb("onChange"));};this.has=e=>this.getAll().has(e);this.init=(e,t=true)=>{var i;if(this.initialized)return false;if(this.name&&t&&(Object.defineProperty(this,"storage",{value:w(()=>{var s;return (s=this.storage)!=null?s:globalThis.localStorage},[],void 0)}),!this.storage))throw new Error(P.messages.invalidStorageOptions);Object.defineProperty(this,"initialized",{value:true});let o=e;if(e!=null&&e.size||!this.cacheDisabled){let s=this.name?(i=this.storage)==null?void 0:i.getItem(this.name):null,a=this.read(s!=null?s:null);Se(s)&&(o=a);}o!=null&&o.size&&this.subject$.next(o),this.unsubscribe(),this.cacheDisabled||(this.subscriptions.forceUpdateCache=Le.subscribe(this.handleForceUpdateCache));let n=this.subject$ instanceof ee&&(o!=null&&o.size)&&o!==e?1:0;return this.subscriptions.subject=this.subject$.pipe(de(n)).subscribe(!this.cacheDisabled&&this.delay>0?_e(this.handleSubjectChange,this.delay,{thisArg:this,...this.delayOptions}):this.handleSubjectChange),true};this.keys=()=>je(this.getAll());this.map=e=>this.toArray().map(([t,o],n,i)=>e(o,t,i,n));this.read=(e=(o=>(o=this.name&&(t=>(t=this.storage)==null?void 0:t.getItem(this.name))())!=null?o:null)())=>{var i;let n=w(this.parse,[e],this.triggerOnErrorCb("parse",void 0));return S(n)||!M(e)?(i=b(this.parse)?n:this.subject$.value)!=null?i:new Map:new Map(w(()=>{let s=JSON.parse(e);if(!te(s))throw new Error(P.messages.invalidJsonEntries);return s},[],this.triggerOnErrorCb("parse-json")))};this.search=(...e)=>D(this.getAll(),...e);this.set=(e,t)=>{var i,s;let o=this.getAll(),n=b(t)?t(o.get(e)):t;return (s=(i=this.validate)==null?void 0:i.set)==null||s.call(this,[e,n],"set"),o.set(e,n),this.setAll(o,true)};this.setAll=(e,t=false)=>{var o,n;return S(e)?((n=(o=this.validate)==null?void 0:o.setAll)==null||n.call(this,[e,t],"setAll"),e=t?e:Ee(this.getAll(),e),this.subject$.next(new Map(e)),this):this};this.sort=(...e)=>{var o;let t=H(this.getAll(),e[0],e[1]);return (o=e[1])!=null&&o.save&&this.setAll(t,true),t};this.toArray=()=>Te(this.getAll());this.toJSON=(e,t=this.spaces,o=this.getAll())=>{let n=w(this.stringify,[o],this.triggerOnErrorCb("stringify",""));return M(n)?n:w(()=>JSON.stringify(Array.from(o),e,t),[],this.triggerOnErrorCb("stringify-json",""))};this.toObject=(e=this.getAll())=>{let t={};if(!S(e))return t;for(let[o,n]of e)t[o]=n;return t};this.toString=(e=this.getAll())=>this.toJSON(void 0,void 0,e);this.triggerOnErrorCb=(e,t=void 0)=>o=>{var n;return w((n=this.onError)==null?void 0:n.bind(this),[o,e],""),t};this.unsubscribe=()=>{var e,t;(e=this.subscriptions.forceUpdateCache)==null||e.unsubscribe(),(t=this.subscriptions.subject)==null||t.unsubscribe(),this.subscriptions={forceUpdateCache:void 0,subject:void 0};};this.values=()=>se(this.getAll());this.write=e=>{var t,o,n;if(this.init(),e!=null||(e=(t=this.subject$)==null?void 0:t.value),!S(e)||!this.name||!this.storage)return false;(n=(o=this.validate)==null?void 0:o.write)==null||n.call(this,[e],"write");try{let i=this.toString(e);return this.storage.setItem(this.name,i),!0}catch(i){return this.triggerOnErrorCb("write")(i),false}};this.name=`${e!=null?e:""}`.trim()||null;let{cacheDisabled:o=false,delay:n,delayOptions:i,initialValue:s,onError:a,onChange:u,parse:c,spaces:l,storage:f=w(()=>e?globalThis.localStorage:void 0,[],void 0),stringify:h,validate:m={}}=t!=null?t:{};if(this.name&&!f&&f!==null)throw new Error(P.messages.invalidStorageOptions);this.cacheDisabled=!!f&&o,this.delay=n===0||ge(n)?n:300,this.delayOptions=i,this.onError=a,this.onChange=u,this.parse=c==null?void 0:c.bind(this),this.spaces=l,this.storage=f,this.stringify=h==null?void 0:h.bind(this),this.subject$=this.cacheDisabled?new A:new ee(new Map);let y={...m};for(let[p,d]of Object.entries(y))y[p]=d;this.validate=y,S(s)&&s.size&&this.init(s,false);}get size(){return this.getAll().size}};P.messages=Object.seal({invalidJsonEntries:"Invalid JSON format. Parsed value must be a 2D array representing key-value pairs.",invalidStorageOptions:"options.storage: LocalStorage instance or equivalent required. For NodeJS, use `node-localstorage` NPM module.",validationError:"Validation failed. Action: "}),P.forceUpdateCache=e=>{Le.next(e);};var me=P,re=me;function mr(r,e){v(r)&&(e=r,r=null);let t=new re(r,e);return Object.defineProperty(t,"context",{configurable:false,enumerable:false,value:b(e==null?void 0:e.context)?e.context(t):e==null?void 0:e.context,writable:false}),t}var ze=mr;function Wt(r,e){v(r)&&(e=r,r=null);let t=ze(r,{parse:o=>q(JSON.parse(o!=null?o:"{}")),stringify:function(o){return JSON.stringify(this.toObject(o))},...e,initialValue:v(e==null?void 0:e.initialValue,true)?q(e.initialValue):e==null?void 0:e.initialValue});return t.type="object",t}var Ht=re;exports.Store=me;exports.Store_OnErrorType=dr;exports.createObjectStore=Wt;exports.createStore=mr;exports.default=Ht;exports.forceUpdateCache$=Le;exports.objToMap=q;Object.defineProperty(exports,'__esModule',{value:true});return exports;})({});//# sourceMappingURL=index.min.js.map
|
|
4
4
|
//# sourceMappingURL=index.min.js.map
|