@macfja/svelte-persistent-runes
Version:
A Svelte reactive rune that keep its value through pages and reloads
2 lines (1 loc) • 4.11 kB
JavaScript
var N=Object.defineProperty;var l=(e,r)=>N(e,"name",{value:r,configurable:!0});import{set as R,get as E}from"browser-cookies";import d from"sjcl-codec-hex/from-bits";import n from"sjcl-codec-hex/to-bits";import a from"sjcl-es";import*as g from"superjson";import*as S from"@macfja/serializer";import*as z from"devalue";import f from"esserializer";import{NJSON as v}from"next-json";import*as m from"php-serialize";import w from"serialize-anything";function p(e){return{deserialize(r){return m.unserialize(r,e==null?void 0:e.scope,e==null?void 0:e.givenOptions)},serialize(r){return m.serialize(r,e==null?void 0:e.scope,e==null?void 0:e.givenOptions)}}}l(p,"PhpSerializeSerializerFactory");function h(e){return{deserialize(r){return w.deserialize(r)},serialize(r){return w.serialize(r,e)}}}l(h,"SerializeAnythingSerializerFactory");function y(e){return{serialize(r){return JSON.stringify(r,e==null?void 0:e.replacer,e==null?void 0:e.space)},deserialize(r){return JSON.parse(r,e==null?void 0:e.reviver)}}}l(y,"JsonSerializerFactory");function b(e){return{serialize(r){return z.stringify(r,e==null?void 0:e.reducers)},deserialize(r){return z.parse(r,e==null?void 0:e.revivers)}}}l(b,"DevalueSerializerFactory");function O(e){return{serialize(r){return f.serialize(r,e==null?void 0:e.serializeOption)},deserialize(r){return f.deserialize(r,e==null?void 0:e.classes)}}}l(O,"ESSerializerSerializerFactory");function T(e){return{serialize(r){return S.serialize(r)},deserialize(r){return S.deserialize(r,e==null?void 0:e.allowedClasses)}}}l(T,"MacfjaSerializerFactory");function _(e){return{serialize(r){return v.stringify(r,e==null?void 0:e.stringifyOptionsOrReplacer,e==null?void 0:e.space)},deserialize(r){return v.parse(r,e==null?void 0:e.parseOptionsOrReviver)}}}l(_,"NextJsonSerializerFactory");var x=Object.defineProperty,P=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,F=l((e,r,i)=>r in e?x(e,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[r]=i,"__defNormalProp"),s=l((e,r)=>{for(var i in r||(r={}))W.call(r,i)&&F(e,i,r[i]);if(P)for(var i of P(r))A.call(r,i)&&F(e,i,r[i]);return e},"__spreadValues");const C={serialize(e){return g.stringify(e)},deserialize(e){return g.parse(e)}};function J(e){return{storageWrite(r,i){R(r,i,s({samesite:"Strict"},e))},storageRead(r){return E(r)||void 0}}}l(J,"BrowserCookieStorageFactory");const j={storageWrite(e,r){globalThis!=null&&globalThis.window&&"localStorage"in globalThis.window&&globalThis.window.localStorage.setItem(e,r)},storageRead(e){return(globalThis==null?void 0:globalThis.window)&&"localStorage"in globalThis.window&&globalThis.window.localStorage.getItem(e)||void 0}},D={storageWrite(e,r){globalThis!=null&&globalThis.window&&"sessionStorage"in globalThis.window&&globalThis.window.sessionStorage.setItem(e,r)},storageRead(e){return(globalThis==null?void 0:globalThis.window)&&"sessionStorage"in globalThis.window&&globalThis.window.sessionStorage.getItem(e)||void 0}};function H(e,r,i="spr"){const u=new a.cipher.aes(n(r));return{storageRead(o){const t=e.storageRead(o);if(t!==void 0)return a.codec.utf8String.fromBits(a.mode.gcm.decrypt(u,n(t.split(":")[0]),n(t.split(":")[1])))},storageWrite(o,t){const c=a.codec.utf8String.toBits(i),I=`${d(a.mode.gcm.encrypt(u,a.codec.utf8String.toBits(t),c,[],256))}:${d(c)}`;e.storageWrite(o,I)}}}l(H,"addEncryptionStorage");const M=J(),B=y(),$=b(),L=O(),V=T(),k=_(),q=p(),G=h();function K(e,r){return s(s({},e!=null?e:B),r!=null?r:j)}l(K,"buildOptions");export{M as BrowserCookieStorage,J as BrowserCookieStorageFactory,j as BrowserLocalStorage,D as BrowserSessionStorage,$ as DevalueSerializer,b as DevalueSerializerFactory,L as ESSerializerSerializer,O as ESSerializerSerializerFactory,B as JsonSerializer,y as JsonSerializerFactory,V as MacfjaSerializer,T as MacfjaSerializerFactory,k as NextJsonSerializer,_ as NextJsonSerializerFactory,q as PhpSerializeSerializer,p as PhpSerializeSerializerFactory,G as SerializeAnythingSerializer,h as SerializeAnythingSerializerFactory,C as SuperJsonSerializer,H as addEncryptionStorage,K as buildOptions};