@theholocron/utils-storage
Advanced tools
Comparing version 0.3.0 to 0.3.1
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f="Nothing is currently registered!",d=()=>typeof window<"u"&&window.sessionStorage;function S(u="theholocron"){const n=`@${u}`;let a;const i={};function g(t){return i[n]||(i[n]={}),i[n][t]||(i[n][t]={}),a=t,i[n][t]}return{registerApp(t){g(t)},sendTo(t,l){if(!a)throw new Error(f);const r=g(a),e=t.split(".");let s=r;for(let o=0;o<e.length-1;o++){const c=e[o];c in s||(s[c]={}),s=s[c]}s[e[e.length-1]]=l;try{sessionStorage.setItem(n,JSON.stringify(i))}catch(o){console.error("Failed to store data in sessionStorage",o)}},getAll(){if(!a)throw new Error(f);return i},getFrom(t=null){if(!a)throw new Error(f);const l=g(a);try{const r=sessionStorage.getItem(n);if(r){const e=JSON.parse(r);Object.assign(i,e)}}catch(r){console.error("Failed to read data in sessionStorage",r)}if(t!==null){const r=t.split(".");let e=l;for(let s=0;s<r.length;s++){const o=r[s];if(o in e)e=e[o];else return null}return e}return l},removeFrom(t){if(!a)throw new Error(f);const l=g(a),r=t.split(".");let e=l;for(let o=0;o<r.length-1;o++){const c=r[o];if(c in e)e=e[c];else return}const s=r[r.length-1];if(s in e){delete e[s];try{sessionStorage.setItem(n,JSON.stringify(i))}catch(o){console.error("Failed to remove data from sessionStorage",o)}}},clear(){delete i[n];try{sessionStorage.removeItem(n)}catch(t){console.error("Failed to clear sessionStorage",t)}}}}const h={create:S,isAvailable:d},y={session:h};exports.storage=y; | ||
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f="Nothing is currently registered!",S=typeof window<"u"&&"sessionStorage"in window;function u(d="theholocron"){const s=`@${d}`;let a;const n={};function g(o){return n[s]||(n[s]={}),n[s][o]||(n[s][o]={}),a=o,n[s][o]}return{registerApp(o){g(o)},sendTo(o,c){if(!a)throw new Error(f);const i=g(a),r=o.split(".");let e=i;for(let t=0;t<r.length-1;t++){const l=r[t];l in e||(e[l]={}),e=e[l]}e[r[r.length-1]]=c;try{sessionStorage.setItem(s,JSON.stringify(n))}catch(t){console.error("Failed to store data in sessionStorage",t)}},getAll(){if(!a)throw new Error(f);return n},getFrom(o){if(!a)throw new Error(f);const c=g(a);try{const e=sessionStorage.getItem(s);if(e){const t=JSON.parse(e);Object.assign(n,t)}}catch(e){console.error("Failed to read data in sessionStorage",e)}const i=o.split(".");let r=c;for(let e=0;e<i.length;e++){const t=i[e];if(t in r)r=r[t];else return null}return r},removeFrom(o){if(!a)throw new Error(f);const c=g(a),i=o.split(".");let r=c;for(let t=0;t<i.length-1;t++){const l=i[t];if(l in r)r=r[l];else return}const e=i[i.length-1];if(e in r){delete r[e];try{sessionStorage.setItem(s,JSON.stringify(n))}catch(t){console.error("Failed to remove data from sessionStorage",t)}}},clear(){delete n[s];try{sessionStorage.removeItem(s)}catch(o){console.error("Failed to clear sessionStorage",o)}}}}const y={create:u,isAvailable:S},h={session:y};exports.storage=h; |
@@ -1,31 +0,31 @@ | ||
const f = "Nothing is currently registered!", u = () => typeof window < "u" && window.sessionStorage; | ||
function S(d = "theholocron") { | ||
const n = `@${d}`; | ||
const f = "Nothing is currently registered!", S = typeof window < "u" && "sessionStorage" in window; | ||
function u(d = "theholocron") { | ||
const s = `@${d}`; | ||
let a; | ||
const i = {}; | ||
function g(t) { | ||
return i[n] || (i[n] = {}), i[n][t] || (i[n][t] = {}), a = t, i[n][t]; | ||
const n = {}; | ||
function g(o) { | ||
return n[s] || (n[s] = {}), n[s][o] || (n[s][o] = {}), a = o, n[s][o]; | ||
} | ||
return { | ||
registerApp(t) { | ||
g(t); | ||
registerApp(o) { | ||
g(o); | ||
}, | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
sendTo(t, l) { | ||
sendTo(o, c) { | ||
if (!a) | ||
throw new Error(f); | ||
const r = g(a), e = t.split("."); | ||
let s = r; | ||
for (let o = 0; o < e.length - 1; o++) { | ||
const c = e[o]; | ||
c in s || (s[c] = {}), s = s[c]; | ||
const i = g(a), r = o.split("."); | ||
let e = i; | ||
for (let t = 0; t < r.length - 1; t++) { | ||
const l = r[t]; | ||
l in e || (e[l] = {}), e = e[l]; | ||
} | ||
s[e[e.length - 1]] = l; | ||
e[r[r.length - 1]] = c; | ||
try { | ||
sessionStorage.setItem( | ||
n, | ||
JSON.stringify(i) | ||
s, | ||
JSON.stringify(n) | ||
); | ||
} catch (o) { | ||
console.error("Failed to store data in sessionStorage", o); | ||
} catch (t) { | ||
console.error("Failed to store data in sessionStorage", t); | ||
} | ||
@@ -36,55 +36,52 @@ }, | ||
throw new Error(f); | ||
return i; | ||
return n; | ||
}, | ||
getFrom(t = null) { | ||
getFrom(o) { | ||
if (!a) | ||
throw new Error(f); | ||
const l = g(a); | ||
const c = g(a); | ||
try { | ||
const r = sessionStorage.getItem(n); | ||
if (r) { | ||
const e = JSON.parse(r); | ||
Object.assign(i, e); | ||
const e = sessionStorage.getItem(s); | ||
if (e) { | ||
const t = JSON.parse(e); | ||
Object.assign(n, t); | ||
} | ||
} catch (r) { | ||
console.error("Failed to read data in sessionStorage", r); | ||
} catch (e) { | ||
console.error("Failed to read data in sessionStorage", e); | ||
} | ||
if (t !== null) { | ||
const r = t.split("."); | ||
let e = l; | ||
for (let s = 0; s < r.length; s++) { | ||
const o = r[s]; | ||
if (o in e) | ||
e = e[o]; | ||
else | ||
return null; | ||
} | ||
return e; | ||
const i = o.split("."); | ||
let r = c; | ||
for (let e = 0; e < i.length; e++) { | ||
const t = i[e]; | ||
if (t in r) | ||
r = r[t]; | ||
else | ||
return null; | ||
} | ||
return l; | ||
return r; | ||
}, | ||
removeFrom(t) { | ||
removeFrom(o) { | ||
if (!a) | ||
throw new Error(f); | ||
const l = g(a), r = t.split("."); | ||
let e = l; | ||
for (let o = 0; o < r.length - 1; o++) { | ||
const c = r[o]; | ||
if (c in e) | ||
e = e[c]; | ||
const c = g(a), i = o.split("."); | ||
let r = c; | ||
for (let t = 0; t < i.length - 1; t++) { | ||
const l = i[t]; | ||
if (l in r) | ||
r = r[l]; | ||
else | ||
return; | ||
} | ||
const s = r[r.length - 1]; | ||
if (s in e) { | ||
delete e[s]; | ||
const e = i[i.length - 1]; | ||
if (e in r) { | ||
delete r[e]; | ||
try { | ||
sessionStorage.setItem( | ||
n, | ||
JSON.stringify(i) | ||
s, | ||
JSON.stringify(n) | ||
); | ||
} catch (o) { | ||
} catch (t) { | ||
console.error( | ||
"Failed to remove data from sessionStorage", | ||
o | ||
t | ||
); | ||
@@ -95,7 +92,7 @@ } | ||
clear() { | ||
delete i[n]; | ||
delete n[s]; | ||
try { | ||
sessionStorage.removeItem(n); | ||
} catch (t) { | ||
console.error("Failed to clear sessionStorage", t); | ||
sessionStorage.removeItem(s); | ||
} catch (o) { | ||
console.error("Failed to clear sessionStorage", o); | ||
} | ||
@@ -106,4 +103,4 @@ } | ||
const h = { | ||
create: S, | ||
isAvailable: u | ||
create: u, | ||
isAvailable: S | ||
}, p = { | ||
@@ -110,0 +107,0 @@ session: h |
{ | ||
"name": "@theholocron/utils-storage", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"description": "Storage utilities.", | ||
@@ -32,9 +32,7 @@ "homepage": "https://github.com/theholocron/utils/tree/main/packages/utils-storage#readme", | ||
"start": "", | ||
"test": "vitest" | ||
"test": "vitest run", | ||
"types": "npx tsc" | ||
}, | ||
"dependencies": { | ||
"change-case": "^5.4.4", | ||
"title-case": "^4.3.1" | ||
}, | ||
"devDependencies": { | ||
"@codecov/vite-plugin": "^1.2.1", | ||
"@theholocron/eslint-config": "^3.5.1", | ||
@@ -44,4 +42,6 @@ "@theholocron/jest-config": "^3.5.1", | ||
"@theholocron/tsconfig": "^3.5.1", | ||
"@tsconfig/node-lts": "^20.1.3", | ||
"vite": "^5.4.9" | ||
"@tsconfig/node-lts": "^22.0.0", | ||
"typescript": "^5.6.3", | ||
"vite": "^5.4.9", | ||
"vitest-localstorage-mock": "^0.1.2" | ||
}, | ||
@@ -48,0 +48,0 @@ "packageManager": "npm@9.5.0", |
42504
0
9
139
9
- Removedchange-case@^5.4.4
- Removedtitle-case@^4.3.1
- Removedchange-case@5.4.4(transitive)
- Removedtitle-case@4.3.2(transitive)