You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

memorio

Package Overview
Dependencies
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

memorio - npm Package Compare versions

Comparing version
2.1.2
to
2.1.3
+1
-1
index.js

@@ -1,1 +0,1 @@

var c=(e,r)=>()=>(e&&(r=e(e=0)),r);var m,g=c(()=>{m={name:"memorio",version:"2.1.2",type:"module",private:!1,main:"index.js",license:"CC-BY 4.0",types:"index.d.ts",typings:"./types/*",description:"Memorio, State + Observer and Store for a easy life ",copyright:"Dario Passariello, BigLogic ca - a51.dev is a BigLogic project",homepage:"https://a51.gitbook.io/memorio",author:{name:"Dario Passariello",url:"https://dario.passariello.ca/",email:"dariopassariello@gmail.com"},support:{name:"Dario Passariello",url:"https://github.com/passariello/",email:"dariopassariello@gmail.com"},contributors:[{name:"Dario Passariello",email:"dariopassarielloa@gmail.com"},{name:"Valeria Cala Scaglitta",email:"valeriacalascaglitta@gmail.com"}],keywords:["biglogic","a51","memorio","state","store","observer","useObserver","dario","passariello"],funding:[{type:"patreon",url:"https://www.patreon.com/passariello"}],typing:["types/*"],exports:{import:"./index.js",require:"./index.js",default:"./index.js"},scripts:{build:"node ./esbuild.config.mjs",watch:'nodemon --watch * --exec "npm run build "',test:"cd tests/jest && npm run test","-----------":"","npm:publish":"npm run build && npm publish ./dist"},dependencies:{"dphelper.types":"0.0.20"},devDependencies:{"@babel/eslint-parser":"^7.28.5","@eslint/js":"9.39.2","@testing-library/jest-dom":"6.9.1","@types/jest":"30.0.0","@types/node":"25.0.6","@typescript-eslint/eslint-plugin":"8.52.0","@typescript-eslint/parser":"8.52.0",esbuild:"0.27.2","esbuild-node-externals":"1.20.1","esbuild-plugin-alias":"0.2.1","esbuild-plugin-clean":"1.0.1","esbuild-plugin-copy":"2.1.1","esbuild-sass-plugin":"3.6.0","esbuild-scss-modules-plugin":"1.1.1",eslint:"9.39.2",jest:"30.2.0","jest-environment-jsdom":"30.2.0","ts-jest":"29.4.6","ts-loader":"^9.5.4","ts-node":"10.9.2",tslib:"^2.8.1",typescript:"5.9.3"}}});var v,f=c(()=>{"use strict";s();g();Object.defineProperty(globalThis,"memorio",{value:{},writable:!1,configurable:!0,enumerable:!1});Object.defineProperty(globalThis,"events",{value:{},writable:!0,enumerable:!1});Object.defineProperty(memorio,"version",{writable:!1,enumerable:!1,value:m.version});v=["list","state","store","idb","observer","useObserver","remove","removeAll"]});var y=c(()=>{"use strict";s();Object.defineProperty(memorio,"dispatch",{writable:!1,enumerable:!1,value:{set:(e,r={})=>{dispatchEvent(new CustomEvent(String(e),r))},listen:(e,r=null,o=!1)=>{observer.list?.[e]?.length>0&&observer.remove(e);let a=t=>r?setTimeout(()=>r(t),1):null;globalThis.addEventListener(e,a),globalThis.events[e]=a},remove:e=>{globalThis.removeEventListener(e,globalThis.events[e]),delete globalThis.events[e]}}})});var h=c(()=>{"use strict";s();memorio.propertyName=function(e,r){return String(r).replace("() => ","")}});var j,S,O=c(()=>{"use strict";s();f();Object.defineProperty(memorio,"objPath",{writable:!1,enumerable:!1,value:(e,r,o=".")=>r.concat(e).join(o)});j=(e,r,o=[])=>{let a=t=>{let n=t.split(".");n.forEach((i,l)=>{let u=n.slice(0,l+1).join(".");globalThis.memorio.dispatch.set(u,{detail:{name:u}})})};return new Proxy(e,{get(t,n){if(n==="list")return console.log('Some state could be hidden when you use "state.list". Use "state" to see the complete list '),JSON.parse(JSON.stringify(state));if(n==="remove")return function(i){return delete t[i],!0};if(n==="removeAll")return function(){try{for(let i in t)typeof t[i]!="function"&&!["list","remove","removeAll"].includes(i)&&(Object.isFrozen(t[i])||delete t[i],delete t[i])}catch(i){console.error(i)}};if(Object.isFrozen(t[n]))return t[n];try{let i=Reflect.get(t,n);return i&&typeof i=="object"&&["Array","Object"].includes(i.constructor.name)?j(i,r,o.concat(n)):i}catch(i){console.error("Error: ",i);return}},set(t,n,i){if(v.includes(n))return console.error("key "+n+" is protected"),!1;if(t[n]&&typeof t[n]=="object"&&Object.isFrozen(t[n]))return console.error(`Error: state '${n}' is locked`),!1;try{let l=globalThis.memorio.objPath(n,o);return r({action:"set",path:l,target:t,newValue:i,previousValue:Reflect.get(t,n)}),a("state."+l),Reflect.set(t,n,i),t[n]&&typeof t[n]=="object"&&Reflect.defineProperty(t[n],"lock",{value(){Object.defineProperty(t,n,{writable:!1,enumerable:!1}),Object.freeze(t[n])}}),!0}catch(l){console.error("Error in set trap:",l);return}},deleteProperty(t,n){try{let i=globalThis.memorio.objPath(n,o);return r({action:"delete",path:i,target:t}),Reflect.deleteProperty(t,n)}catch(i){console.error("Error in deleteProperty trap:",i);return}}})};globalThis?.state?globalThis.state=state:globalThis.state=j({},()=>{});S=new WeakSet;S.add(state);setInterval(()=>{if(!S.has(state)){alert("Memorio state is compromised, check if you override it and please reload the page");for(let e=1;e<99999;e++)clearInterval(e);stop()}},1e3);Object.defineProperty(globalThis,"state",{enumerable:!1,configurable:!0})});var x=c(()=>{"use strict";s();globalThis.observer||(globalThis.observer=null);Object.defineProperty(globalThis,"observer",{enumerable:!1,configurable:!0});observer=(e,r=null,o=!0)=>{try{if(!(t=>t.split(".")[0]!=="state"?(console.error(`Observer Error: You need to declare 'state.' or 'store.'. The '${t}' string is incorrect!`),!1):!0)(e))return}catch(a){console.error(a);return}if(!e&&!r){console.error("Observer Error: You need to setup observer correctly, Some parameters are missed!");return}if(!e&&r){console.error("Observer Error: You need to declare what state need to be monitored as string like 'state.test'.");return}if(e&&!r){let a=(String(e),{detail:{name:String(e)}});globalThis.observer.list[e]&&globalThis.memorio.dispatch.remove(a),globalThis.observer.list[e]||globalThis.memorio.dispatch.listen(a),console.debug("called: ",e);return}if(e&&r){if(typeof e!="string"||typeof r!="function"){console.error("Observer Error: name of state need to be a 'string' like 'state.test' and the callback need to be a 'function'");return}globalThis.observer.list[e]&&globalThis.memorio.dispatch.remove(e,r,o),globalThis.observer.list[e]||globalThis.memorio.dispatch.listen(e,r,o);return}};Object.defineProperties(observer,{list:{get:()=>globalThis.events},remove:{value:e=>{e&&(globalThis.memorio.dispatch.remove(e),delete globalThis.events[e])}},removeAll:{get:()=>{Object.entries(observer.list).forEach(e=>{globalThis.events[e[0]]})}}});Object.freeze(observer)});var w=c(()=>{"use strict";s();globalThis.useObserver||(globalThis.useObserver=null);Object.defineProperty(globalThis,"useObserver",{enumerable:!1,configurable:!0});useObserver=(e,r)=>{let o=memorio.propertyName(state,r);try{return observer(o,()=>e()),!0}catch(a){console.error(a);return}};Object.freeze(useObserver)});var P=c(()=>{"use strict";s();Object.defineProperty(globalThis,"store",{value:new Proxy({},{}),enumerable:!1,configurable:!0});Object.defineProperties(store,{get:{value(e){if(e){try{let r=localStorage.getItem(e);return r&&JSON.parse(r)}catch(r){console.error(`Error parsing store item '${e}':`,r)}return null}}},set:{value(e,r){if(e){try{r==null?localStorage.setItem(e,JSON.stringify(null)):typeof r=="object"||typeof r=="number"||typeof r=="boolean"||typeof r=="string"?localStorage.setItem(e,JSON.stringify(r)):typeof r=="function"&&console.error("It's not secure to store functions.")}catch(o){console.error(`Error setting store item '${e}':`,o)}return null}}},remove:{value(e){if(e)return localStorage.getItem(e)?(localStorage.removeItem(e),!0):!1}},delete:{value(e){return store.remove(e),!0}},removeAll:{value(){return localStorage.clear(),!0}},clearAll:{value(){return store.removeAll(),!0}},quota:{value(){"storage"in navigator&&"estimate"in navigator.storage&&navigator.storage.estimate().then(({usage:e,quota:r})=>(e&&r&&console.debug(`Using ${e/1024} out of ${r/1024} Mb.`),[e/1024,r/1024])).catch(e=>{console.error("Error estimating quota:",e)})}},size:{value(){let e=0;for(let r in localStorage)if(localStorage.hasOwnProperty(r)){let o=localStorage.getItem(r);o&&(e+=o.length)}return e}}});Object.freeze(store)});var T=c(()=>{"use strict";s();Object.defineProperty(globalThis,"session",{value:new Proxy({},{}),enumerable:!1,configurable:!0});Object.defineProperties(session,{get:{value(e){if(e)try{let r=sessionStorage.getItem(e);return r&&JSON.parse(r)}catch(r){console.error(`Error parsing session item '${e}':`,r)}}},set:{value(e,r){if(e)try{r==null?sessionStorage.setItem(e,JSON.stringify(null)):typeof r=="object"||typeof r=="number"||typeof r=="boolean"||typeof r=="string"?sessionStorage.setItem(e,JSON.stringify(r)):typeof r=="function"&&console.error("It's not secure to session functions.")}catch(o){console.error(`Error setting session item '${e}':`,o)}}},remove:{value(e){if(e&&sessionStorage.getItem(e))return sessionStorage.removeItem(e),!0}},delete:{value(e){return session.remove(e),!0}},removeAll:{value(){return sessionStorage.clear(),!0}},clearAll:{value(){return session.removeAll(),!0}},quota:{value(){"storage"in navigator&&"estimate"in navigator.storage&&navigator.storage.estimate().then(({usage:e,quota:r})=>{e&&r&&console.debug(`Using ${e/1024} out of ${r/1024} Mb.`)}).catch(e=>{console.error("Error estimating quota:",e)})}},size:{value(){let e=0;for(let r in sessionStorage)if(sessionStorage.hasOwnProperty(r)){let o=sessionStorage.getItem(r);o&&(e+=o.length)}return e}}});Object.freeze(session)});var D=c(()=>{"use strict";s();Object.defineProperty(window,"cache",{value:new Proxy({},{}),enumerable:!1,configurable:!0})});var W={};var E=c(()=>{"use strict";s();idb.db.create=(e,r=1)=>{idb.db.support();let o=indexedDB.open(e,r);o.onerror=()=>{console.error(`IndexedDB error: ${o.errorCode}`)},o.onsuccess=()=>{console.debug("Successful database connection")},o.onupgradeneeded=()=>{console.debug("Database created")},idb.db.list()}});var H={};var I=c(()=>{"use strict";s();idb.db.list=()=>(indexedDB.databases().then(e=>e).then(e=>{e&&(idbases=e)}).catch(e=>{console.error(e)}),idb.db.size(),idbases);setInterval(()=>{idb.db.list()},1e3)});var K={};var $=c(()=>{"use strict";s();idb.db.exist=e=>idbases?.find(r=>r.name===e)!==void 0});var N={};var z=c(()=>{"use strict";s();idb.db.quota=()=>navigator.storage.estimate()});var Q={};var B=c(()=>{"use strict";s();idb.db.delete=e=>{if(console.log(`Remove ${e}...`),!!idb.db.exist(e))if(typeof layerpro=="function"){confirm(`Are you sure to remove "${e}" database?`,()=>{setTimeout(()=>{indexedDB.deleteDatabase(e),console.debug(`${e} removed`),idb.db.list()},1e3)},()=>alert("Operation cancelled."));return}else{confirm(`Are you sure to remove "${e}" database?`)?setTimeout(()=>{indexedDB.deleteDatabase(e),console.debug(`${e} removed`),idb.db.list()},1e3):alert("Operation cancelled.");return}}});var X={};var A=c(()=>{"use strict";s();idb.db.size=()=>{idbases?.map(e=>{if(!idb.db.exist(e))return null;let r=dphelper.array.findindex(idbases,e.name),o=indexedDB?.open(e.name,idb.db.version(e.name));return o.onerror=a=>console.error("Error on IndexedDB"),o.onsuccess=a=>{let t=a.target.result,n=[...t.objectStoreNames];((l,u)=>{let b=l.reduce((d,p)=>(d.push(idb.table.size(u,p)),d),[]);b.map(d=>{let p=d.reduce((U,k)=>U+k,0);return Number.parseInt(dphelper.dev.byteSize(p)),null}),idbases[r].size=b.length>0?b:0})(n,t)},null})}});var Z={};var q=c(()=>{"use strict";s();idb.db.version=e=>{let r=0;for(let o of idbases){o.name===e&&(r=o.version);break}return r}});var _={};var C=c(()=>{"use strict";s();idb.db.support=()=>{if("indexedDB"in window)return!0;console.error("Your browser doesn't support IndexedBD")}});var ee={};var J=c(()=>{"use strict";s();idb.table.create=(e,r)=>{try{let o=Number(idb.db.version(e))+1,a=indexedDB.open(e,o);try{a.onupgradeneeded=t=>{let n=t.target,i=n.result,l=i.createObjectStore(r,{keyPath:"id",unique:!0,autoincrement:!0});l.createIndex("id","id"),l.createIndex("data","data"),i.close(),a?.result?.close(),a=void 0,idb.db.list()}}catch(t){console.error(">>",t);return}}catch(o){console.error(">>>",o);return}return!1}});var re={};var R=c(()=>{"use strict";s();idb.table.size=(e,r)=>(idb.db.list(),new Promise((o,a)=>{if(e==null)return a();let t=event,n=0;e=t.target.result;let i=e.transaction([r]).objectStore(r).openCursor();i.onsuccess=(l=>{let u=l.target.result;if(u){let b=u.value,d=JSON.stringify(b);n+=d.length,u.continue()}else o(n)}),i.onerror=l=>a(`error in ${r}: ${l}`)}))});var te={};var V=c(()=>{"use strict";s();idb.data.delete=(e,r,o)=>{if(!idb.db.exist(e))return;let a=indexedDB.open(e,idb.db.version(e));a.onsuccess=()=>{let t=a.result,n=t.transaction(r,"readwrite");n.objectStore(r).put(o),a.onerror=l=>{console.debug(l,`Database insert error: ${l.target.errorCode}`)},n.onerror=l=>{console.debug(event,`Database insert error: ${l.target.errorCode}`)},t.close(),idb.db.list(),console.debug("Store inserted")}};idb.data.delete.all=(e,r)=>{idb.db.list();let o=indexedDB.open(e);o.onsuccess=a=>{let n=a.target.result.transaction(r).objectStore(r).set({});n.onsuccess=i=>{console.log(i)}}}});var oe={};var Y=c(()=>{"use strict";s();idb.data.set=(e,r,o)=>{if(!idb.exist(e))return;let a=indexedDB.open(e,idb.version(e));a.onsuccess=()=>{let t=a.result,n=t.transaction(r,"readwrite");n.objectStore(r).put(o),a.onerror=l=>{console.debug(l,`Database insert error: ${l.target.errorCode}`)},n.onerror=l=>{console.debug(event,`Database insert error: ${l.target.errorCode}`)},t.close(),idb.databases(),console.debug("IndexDB inserted")}}});var se={};var L,M=c(()=>{"use strict";s();idb.data.get=(e,r,o)=>{idb.db.list();let a=indexedDB.open(e);return a.onsuccess=t=>{let n=t.target.result,i=n.transaction(r).objectStore(r).get(o);i.onsuccess=l=>(L=i.result,i.result)},L}});var F=c(()=>{"use strict";s();Object.defineProperty(window,"idb",{value:{db:{},table:{},data:{}},writable:!0,configurable:!0,enumerable:!1}),Object.defineProperty(window,"idbases",{value:[],writable:!0,configurable:!0,enumerable:!1}),Promise.resolve().then(()=>E()),Promise.resolve().then(()=>I()),Promise.resolve().then(()=>$()),Promise.resolve().then(()=>z()),Promise.resolve().then(()=>B()),Promise.resolve().then(()=>A()),Promise.resolve().then(()=>q()),Promise.resolve().then(()=>C()),Promise.resolve().then(()=>J()),Promise.resolve().then(()=>R()),Promise.resolve().then(()=>V()),Promise.resolve().then(()=>Y()),Promise.resolve().then(()=>M()),Object.preventExtensions(idb),Object.seal(idb),Object.freeze(idb)});import"dphelper.types";import"dphelper.types";var s=c(()=>{f();y();h();O();x();w();P();T();D();F()});s();
var c=(e,r)=>()=>(e&&(r=e(e=0)),r);var m,g=c(()=>{m={name:"memorio",version:"2.1.3",type:"module",private:!1,main:"index.js",license:"CC-BY 4.0",types:"index.d.ts",typings:"./types/*",description:"Memorio, State + Observer and Store for a easy life ",copyright:"Dario Passariello, BigLogic ca - a51.dev is a BigLogic project",homepage:"https://a51.gitbook.io/memorio",author:{name:"Dario Passariello",url:"https://dario.passariello.ca/",email:"dariopassariello@gmail.com"},support:{name:"Dario Passariello",url:"https://github.com/passariello/",email:"dariopassariello@gmail.com"},contributors:[{name:"Dario Passariello",email:"dariopassarielloa@gmail.com"},{name:"Valeria Cala Scaglitta",email:"valeriacalascaglitta@gmail.com"}],keywords:["biglogic","a51","memorio","state","store","observer","useObserver","dario","passariello"],funding:[{type:"patreon",url:"https://www.patreon.com/passariello"}],typing:["types/*"],exports:{import:"./index.js",require:"./index.js",default:"./index.js"},scripts:{build:"node ./esbuild.config.mjs",watch:'nodemon --watch * --exec "npm run build "',test:"cd tests/jest && npm run test","-----------":"","npm:publish":"npm run build && npm publish ./dist"},dependencies:{"dphelper.types":"0.0.20"},devDependencies:{"@babel/eslint-parser":"^7.28.5","@eslint/js":"9.39.2","@testing-library/jest-dom":"6.9.1","@types/jest":"30.0.0","@types/node":"25.0.6","@typescript-eslint/eslint-plugin":"8.52.0","@typescript-eslint/parser":"8.52.0",esbuild:"0.27.2","esbuild-node-externals":"1.20.1","esbuild-plugin-alias":"0.2.1","esbuild-plugin-clean":"1.0.1","esbuild-plugin-copy":"2.1.1","esbuild-sass-plugin":"3.6.0","esbuild-scss-modules-plugin":"1.1.1",eslint:"9.39.2",jest:"30.2.0","jest-environment-jsdom":"30.2.0","ts-jest":"29.4.6","ts-loader":"^9.5.4","ts-node":"10.9.2",tslib:"^2.8.1",typescript:"5.9.3"}}});var v,f=c(()=>{"use strict";s();g();Object.defineProperty(globalThis,"memorio",{value:{},writable:!1,configurable:!0,enumerable:!1});Object.defineProperty(globalThis,"events",{value:{},writable:!0,enumerable:!1});Object.defineProperty(memorio,"version",{writable:!1,enumerable:!1,value:m.version});v=["list","state","store","idb","observer","useObserver","remove","removeAll"]});var y=c(()=>{"use strict";s();Object.defineProperty(memorio,"dispatch",{writable:!1,enumerable:!1,value:{set:(e,r={})=>{dispatchEvent(new CustomEvent(String(e),r))},listen:(e,r=null,o=!1)=>{observer.list?.[e]?.length>0&&observer.remove(e);let a=t=>r?setTimeout(()=>r(t),1):null;globalThis.addEventListener(e,a),globalThis.events[e]=a},remove:e=>{globalThis.removeEventListener(e,globalThis.events[e]),delete globalThis.events[e]}}})});var h=c(()=>{"use strict";s();memorio.propertyName=function(e,r){return String(r).replace("() => ","")}});var j,S,O=c(()=>{"use strict";s();f();Object.defineProperty(memorio,"objPath",{writable:!1,enumerable:!1,value:(e,r,o=".")=>r.concat(e).join(o)});j=(e,r,o=[])=>{let a=t=>{let n=t.split(".");n.forEach((i,l)=>{let u=n.slice(0,l+1).join(".");globalThis.memorio.dispatch.set(u,{detail:{name:u}})})};return new Proxy(e,{get(t,n){if(n==="list")return console.log('Some state could be hidden when you use "state.list". Use "state" to see the complete list '),JSON.parse(JSON.stringify(state));if(n==="remove")return function(i){return delete t[i],!0};if(n==="removeAll")return function(){try{for(let i in t)typeof t[i]!="function"&&!["list","remove","removeAll"].includes(i)&&(Object.isFrozen(t[i])||delete t[i],delete t[i])}catch(i){console.error(i)}};if(Object.isFrozen(t[n]))return t[n];try{let i=Reflect.get(t,n);return i&&typeof i=="object"&&["Array","Object"].includes(i.constructor.name)?j(i,r,o.concat(n)):i}catch(i){console.error("Error: ",i);return}},set(t,n,i){if(v.includes(n))return console.error("key "+n+" is protected"),!1;if(t[n]&&typeof t[n]=="object"&&Object.isFrozen(t[n]))return console.error(`Error: state '${n}' is locked`),!1;try{let l=globalThis.memorio.objPath(n,o);return r({action:"set",path:l,target:t,newValue:i,previousValue:Reflect.get(t,n)}),a("state."+l),Reflect.set(t,n,i),t[n]&&typeof t[n]=="object"&&Reflect.defineProperty(t[n],"lock",{value(){Object.defineProperty(t,n,{writable:!1,enumerable:!1}),Object.freeze(t[n])}}),!0}catch(l){console.error("Error in set trap:",l);return}},deleteProperty(t,n){try{let i=globalThis.memorio.objPath(n,o);return r({action:"delete",path:i,target:t}),Reflect.deleteProperty(t,n)}catch(i){console.error("Error in deleteProperty trap:",i);return}}})};globalThis?.state?globalThis.state=state:globalThis.state=j({},()=>{});S=new WeakSet;S.add(state);setInterval(()=>{if(!S.has(state)){alert("Memorio state is compromised, check if you override it and please reload the page");for(let e=1;e<99999;e++)clearInterval(e);stop()}},1e3);Object.defineProperty(globalThis,"state",{enumerable:!1,configurable:!0})});var x=c(()=>{"use strict";s();globalThis.observer||(globalThis.observer=null);Object.defineProperty(globalThis,"observer",{enumerable:!1,configurable:!0});observer=(e,r=null,o=!0)=>{try{if(!(t=>t.split(".")[0]!=="state"?(console.error(`Observer Error: You need to declare 'state.' or 'store.'. The '${t}' string is incorrect!`),!1):!0)(e))return}catch(a){console.error(a);return}if(!e&&!r){console.error("Observer Error: You need to setup observer correctly, Some parameters are missed!");return}if(!e&&r){console.error("Observer Error: You need to declare what state need to be monitored as string like 'state.test'.");return}if(e&&!r){let a=(String(e),{detail:{name:String(e)}});globalThis.observer.list[e]&&globalThis.memorio.dispatch.remove(a),globalThis.observer.list[e]||globalThis.memorio.dispatch.listen(a),console.debug("called: ",e);return}if(e&&r){if(typeof e!="string"||typeof r!="function"){console.error("Observer Error: name of state need to be a 'string' like 'state.test' and the callback need to be a 'function'");return}globalThis.observer.list[e]&&globalThis.memorio.dispatch.remove(e,r,o),globalThis.observer.list[e]||globalThis.memorio.dispatch.listen(e,r,o);return}};Object.defineProperties(observer,{list:{get:()=>globalThis.events},remove:{value:e=>{e&&(globalThis.memorio.dispatch.remove(e),delete globalThis.events[e])}},removeAll:{get:()=>{Object.entries(observer.list).forEach(e=>{globalThis.events[e[0]]})}}});Object.freeze(observer)});var w=c(()=>{"use strict";s();globalThis.useObserver||(globalThis.useObserver=null);Object.defineProperty(globalThis,"useObserver",{enumerable:!1,configurable:!0});useObserver=(e,r)=>{let o=memorio.propertyName(state,r);try{return observer(o,()=>e()),!0}catch(a){console.error(a);return}};Object.freeze(useObserver)});var P=c(()=>{"use strict";s();Object.defineProperty(globalThis,"store",{value:new Proxy({},{}),enumerable:!1,configurable:!0});Object.defineProperties(store,{get:{value(e){if(e){try{let r=localStorage.getItem(e);return r&&JSON.parse(r)}catch(r){console.error(`Error parsing store item '${e}':`,r)}return null}}},set:{value(e,r){if(e){try{r==null?localStorage.setItem(e,JSON.stringify(null)):typeof r=="object"||typeof r=="number"||typeof r=="boolean"||typeof r=="string"?localStorage.setItem(e,JSON.stringify(r)):typeof r=="function"&&console.error("It's not secure to store functions.")}catch(o){console.error(`Error setting store item '${e}':`,o)}return null}}},remove:{value(e){if(e)return localStorage.getItem(e)?(localStorage.removeItem(e),!0):!1}},delete:{value(e){return store.remove(e),!0}},removeAll:{value(){return localStorage.clear(),!0}},clearAll:{value(){return store.removeAll(),!0}},quota:{value(){"storage"in navigator&&"estimate"in navigator.storage&&navigator.storage.estimate().then(({usage:e,quota:r})=>(e&&r&&console.debug(`Using ${e/1024} out of ${r/1024} Mb.`),[e/1024,r/1024])).catch(e=>{console.error("Error estimating quota:",e)})}},size:{value(){let e=0;for(let r in localStorage)if(localStorage.hasOwnProperty(r)){let o=localStorage.getItem(r);o&&(e+=o.length)}return e}}});Object.freeze(store)});var T=c(()=>{"use strict";s();Object.defineProperty(globalThis,"session",{value:new Proxy({},{}),enumerable:!1,configurable:!0});Object.defineProperties(session,{get:{value(e){if(e)try{let r=sessionStorage.getItem(e);return r&&JSON.parse(r)}catch(r){console.error(`Error parsing session item '${e}':`,r)}}},set:{value(e,r){if(e)try{r==null?sessionStorage.setItem(e,JSON.stringify(null)):typeof r=="object"||typeof r=="number"||typeof r=="boolean"||typeof r=="string"?sessionStorage.setItem(e,JSON.stringify(r)):typeof r=="function"&&console.error("It's not secure to session functions.")}catch(o){console.error(`Error setting session item '${e}':`,o)}}},remove:{value(e){if(e&&sessionStorage.getItem(e))return sessionStorage.removeItem(e),!0}},delete:{value(e){return session.remove(e),!0}},removeAll:{value(){return sessionStorage.clear(),!0}},clearAll:{value(){return session.removeAll(),!0}},quota:{value(){"storage"in navigator&&"estimate"in navigator.storage&&navigator.storage.estimate().then(({usage:e,quota:r})=>{e&&r&&console.debug(`Using ${e/1024} out of ${r/1024} Mb.`)}).catch(e=>{console.error("Error estimating quota:",e)})}},size:{value(){let e=0;for(let r in sessionStorage)if(sessionStorage.hasOwnProperty(r)){let o=sessionStorage.getItem(r);o&&(e+=o.length)}return e}}});Object.freeze(session)});var D=c(()=>{"use strict";s();Object.defineProperty(window,"cache",{value:new Proxy({},{}),enumerable:!1,configurable:!0})});var W={};var E=c(()=>{"use strict";s();idb.db.create=(e,r=1)=>{idb.db.support();let o=indexedDB.open(e,r);o.onerror=()=>{console.error(`IndexedDB error: ${o.errorCode}`)},o.onsuccess=()=>{console.debug("Successful database connection")},o.onupgradeneeded=()=>{console.debug("Database created")},idb.db.list()}});var H={};var I=c(()=>{"use strict";s();idb.db.list=()=>(indexedDB.databases().then(e=>e).then(e=>{e&&(idbases=e)}).catch(e=>{console.error(e)}),idb.db.size(),idbases);setInterval(()=>{idb.db.list()},1e3)});var K={};var $=c(()=>{"use strict";s();idb.db.exist=e=>idbases?.find(r=>r.name===e)!==void 0});var N={};var z=c(()=>{"use strict";s();idb.db.quota=()=>navigator.storage.estimate()});var Q={};var B=c(()=>{"use strict";s();idb.db.delete=e=>{if(console.log(`Remove ${e}...`),!!idb.db.exist(e))if(typeof layerpro=="function"){confirm(`Are you sure to remove "${e}" database?`,()=>{setTimeout(()=>{indexedDB.deleteDatabase(e),console.debug(`${e} removed`),idb.db.list()},1e3)},()=>alert("Operation cancelled."));return}else{confirm(`Are you sure to remove "${e}" database?`)?setTimeout(()=>{indexedDB.deleteDatabase(e),console.debug(`${e} removed`),idb.db.list()},1e3):alert("Operation cancelled.");return}}});var X={};var A=c(()=>{"use strict";s();idb.db.size=()=>{idbases?.map(e=>{if(!idb.db.exist(e))return null;let r=dphelper.array.findindex(idbases,e.name),o=indexedDB?.open(e.name,idb.db.version(e.name));return o.onerror=a=>console.error("Error on IndexedDB"),o.onsuccess=a=>{let t=a.target.result,n=[...t.objectStoreNames];((l,u)=>{let b=l.reduce((d,p)=>(d.push(idb.table.size(u,p)),d),[]);b.map(d=>{let p=d.reduce((U,k)=>U+k,0);return Number.parseInt(dphelper.dev.byteSize(p)),null}),idbases[r].size=b.length>0?b:0})(n,t)},null})}});var Z={};var q=c(()=>{"use strict";s();idb.db.version=e=>{let r=0;for(let o of idbases){o.name===e&&(r=o.version);break}return r}});var _={};var C=c(()=>{"use strict";s();idb.db.support=()=>{if("indexedDB"in window)return!0;console.error("Your browser doesn't support IndexedBD")}});var ee={};var J=c(()=>{"use strict";s();idb.table.create=(e,r)=>{try{let o=Number(idb.db.version(e))+1,a=indexedDB.open(e,o);try{a.onupgradeneeded=t=>{let n=t.target,i=n.result,l=i.createObjectStore(r,{keyPath:"id",unique:!0,autoincrement:!0});l.createIndex("id","id"),l.createIndex("data","data"),i.close(),a?.result?.close(),a=void 0,idb.db.list()}}catch(t){console.error(">>",t);return}}catch(o){console.error(">>>",o);return}return!1}});var re={};var R=c(()=>{"use strict";s();idb.table.size=(e,r)=>(idb.db.list(),new Promise((o,a)=>{if(e==null)return a();let t=event,n=0;e=t.target.result;let i=e.transaction([r]).objectStore(r).openCursor();i.onsuccess=(l=>{let u=l.target.result;if(u){let b=u.value,d=JSON.stringify(b);n+=d.length,u.continue()}else o(n)}),i.onerror=l=>a(`error in ${r}: ${l}`)}))});var te={};var V=c(()=>{"use strict";s();idb.data.delete=(e,r,o)=>{if(!idb.db.exist(e))return;let a=indexedDB.open(e,idb.db.version(e));a.onsuccess=()=>{let t=a.result,n=t.transaction(r,"readwrite");n.objectStore(r).put(o),a.onerror=l=>{console.debug(l,`Database insert error: ${l.target.errorCode}`)},n.onerror=l=>{console.debug(event,`Database insert error: ${l.target.errorCode}`)},t.close(),idb.db.list(),console.debug("Store inserted")}};idb.data.delete.all=(e,r)=>{idb.db.list();let o=indexedDB.open(e);o.onsuccess=a=>{let n=a.target.result.transaction(r).objectStore(r).set({});n.onsuccess=i=>{console.log(i)}}}});var oe={};var Y=c(()=>{"use strict";s();idb.data.set=(e,r,o)=>{if(!idb.exist(e))return;let a=indexedDB.open(e,idb.version(e));a.onsuccess=()=>{let t=a.result,n=t.transaction(r,"readwrite");n.objectStore(r).put(o),a.onerror=l=>{console.debug(l,`Database insert error: ${l.target.errorCode}`)},n.onerror=l=>{console.debug(event,`Database insert error: ${l.target.errorCode}`)},t.close(),idb.databases(),console.debug("IndexDB inserted")}}});var se={};var L,M=c(()=>{"use strict";s();idb.data.get=(e,r,o)=>{idb.db.list();let a=indexedDB.open(e);return a.onsuccess=t=>{let n=t.target.result,i=n.transaction(r).objectStore(r).get(o);i.onsuccess=l=>(L=i.result,i.result)},L}});var F=c(()=>{"use strict";s();Object.defineProperty(window,"idb",{value:{db:{},table:{},data:{}},writable:!0,configurable:!0,enumerable:!1}),Object.defineProperty(window,"idbases",{value:[],writable:!0,configurable:!0,enumerable:!1}),Promise.resolve().then(()=>E()),Promise.resolve().then(()=>I()),Promise.resolve().then(()=>$()),Promise.resolve().then(()=>z()),Promise.resolve().then(()=>B()),Promise.resolve().then(()=>A()),Promise.resolve().then(()=>q()),Promise.resolve().then(()=>C()),Promise.resolve().then(()=>J()),Promise.resolve().then(()=>R()),Promise.resolve().then(()=>V()),Promise.resolve().then(()=>Y()),Promise.resolve().then(()=>M()),Object.preventExtensions(idb),Object.seal(idb),Object.freeze(idb)});import"dphelper.types";import"dphelper.types";var s=c(()=>{f();y();h();O();x();w();P();T();D();F()});s();

@@ -5,12 +5,2 @@ # GENERAL

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

@@ -17,0 +7,0 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

{
"name": "memorio",
"version": "2.1.2",
"version": "2.1.3",
"type": "module",

@@ -5,0 +5,0 @@ "private": false,