tinybase 4.5.9 → 4.6.0-beta.1
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/lib/cjs/persisters/persister-electric-sql.cjs +1 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/debug/persisters/persister-electric-sql.js +839 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -0
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -0
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +164 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +2 -2
- package/lib/types/persisters.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +177 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -1
- package/lib/types/with-schemas/persisters.d.ts +1 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -0
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/package.json +14 -8
- package/readme.md +13 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=setInterval,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>i.all(a),d=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),T=a=>0==E(a),m=(a,t)=>a.filter(t),p=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,N=a=>h.getPrototypeOf(a),O=h.keys,R=h.freeze,C=(a=[])=>h.fromEntries(a),D=(...a)=>h.assign({},...a),S=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),b=a=>h.values(a),g=a=>E(O(a)),I=a=>(a=>!r(a)&&l(N(a),(a=>a==h.prototype||r(N(a))),(()=>!0)))(a)&&0==g(a),F=a=>new Map(a),M=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),P=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),_=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),B=(a,t,e)=>(A(a,t)||_(a,t,e()),$(a,t)),H=(a,t,e,s=_)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),W=a=>new Set(Array.isArray(a)||r(a)?a:[a]),j=(a,t)=>a?.add(t),k="_",q="_id",x=a=>`"${a.replace(/"/g,'""')}"`,J="FROM pragma_table_",U="WHERE",Y=(a,t,s)=>{const n=F();return[async()=>H(n,C(await u(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+G(t)+")",t),(async({name:t})=>[t,C(v(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>_(n,t,H(B(n,t,F),e,((a,t,e)=>{e!=$(a,t)&&_(a,t,e)}),((a,t)=>_(a,t))))),((a,t)=>_(n,t))),async(t,e)=>((a,t)=>!r($($(n,a),t)))(t,e)?C(m(v(await a("SELECT*FROM"+x(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!I(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=W();S(i??{},(a=>v(O(a??{}),(a=>j(w,a)))));const y=L(w);if(!l&&o&&T(y)&&A(n,t))return await a("DROP TABLE"+x(t)),void _(n,t);if(T(y)||A(n,t)){const e=$(n,t),i=W(M(e));await u([...v(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${x(t)}ADD${x(s)}`),_(e,s,""))})),...!l&&c?v(L(i),(async n=>{n!=s&&(await a(`ALTER TABLE${x(t)}DROP${x(n)}`),_(e,n))})):[]])}else await a(`CREATE TABLE${x(t)}(${x(s)} PRIMARY KEY ON CONFLICT REPLACE${d(v(y,(a=>e+x(a))))});`),_(n,t,F([[s,""],...v(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+x(t)+"WHERE 1"):await u(S(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+x(t)+U+x(s)+"=?",[n]):T(y)||await z(a,t,s,O(e),[n,...b(e)])})));else if(T(y))A(n,t)&&await a("DELETE FROM"+x(t)+"WHERE 1");else{const e=m(M($(n,t)),(a=>a!=s)),c=[],o=[];S(i??{},((a,t)=>{p(c,t,...v(e,(t=>a?.[t]))),p(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+x(t)+U+x(s)+"NOT IN("+G(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+x(t)+"("+x(s)+d(v(i,(a=>e+x(a))))+")VALUES"+y(n(`,(?${n(",?",E(i))})`,E(c)/(E(i)+1)),1)+"ON CONFLICT("+x(s)+")DO UPDATE SET"+d(v(i,(a=>x(a)+"=excluded."+x(a))),e),c),G=a=>d(v(a,(()=>"?")),e),K=JSON.parse,V=F(),Q=F(),X=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;B(V,w,(()=>0)),B(Q,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(p($(Q,w),...a),await(async()=>{if(!$(V,w)){for(_(V,w,1);!r((a=$(Q,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}_(V,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},Z="store",aa=(a,t,e,s,n,[i],c,o)=>{const[r,l,w,y]=Y(t,c,n);return X(a,(async()=>await y((async()=>(await r(),K((await l(i,q))[k]?.[Z]??"null"))))),(async a=>await y((async()=>{var t;await r(),await w(i,q,{[k]:{[Z]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},ta=(a,t,e,s,n,[i,c,[o,l,w]],y,E)=>{const[d,v,T,p]=Y(t,y,n),A=async(a,t)=>await u(P(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),L=async(a,t)=>l?await T(w,q,{[k]:a},!0,!0,t):null;return X(a,(async()=>await p((async()=>{await d();const a=await(async()=>C(m(await u(P(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?(await v(w,q))[k]:{})();return I(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await p((async()=>{if(await d(),r(t)){const[t,e]=a();await A(t),await L(e)}else{const[a,e]=t();await A(a,!0),await L(e,!0)}}))),e,s,n,["getDb",E],E)},ea="json",sa="autoLoadIntervalSeconds",na="rowIdColumnName",ia="tableId",ca="tableName",oa={mode:ea,[sa]:1},ra={load:0,save:0,[ca]:t+"_values"},la=(a,t,e,s)=>{const n=F();return S(a,((a,i)=>{const c=y(b(D(t,w(a)?{[e]:a}:a)),0,g(t));r(c[0])||s(i,c[0])||_(n,i,c)})),n},wa="pragma ",ya="data_version",Ea="schema_version",ua=(a,e,s,n,i,r,l,E)=>{let u,d;const[v,T,m,p]=(a=>{const e=(a=>D(oa,w(a)?{storeTableName:a}:a??{}))(a),s=e[sa];if(e.mode==ea){const{storeTableName:a=t}=e;return[1,s,[a],W(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(D(ra,c)),0,g(ra)),r=o[2],l=W(r);return[0,s,[la(n,{[ia]:null,[na]:q},ia,(a=>j(l,a)&&a==r)),la(i,{[ca]:null,[na]:q,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>j(l,t)&&t==r)),o],l]})(e);return(v?aa:ta)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+ya))[0][ya],e=(await s(wa+Ea))[0][Ea];t==(u??=t)&&e==(d??=e)||(a(),u=t,d=e)}catch{}}),1e3*T),n((t=>p.has(t)?a():0))]),(([a,t])=>{o(a),u=d=null,i(t)}),l,m,L(p),E)};exports.createElectricSqlPersister=(a,t,e,s,n)=>ua(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t);
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=n=>e(n)==l,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return r.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),h=e=>0==v(e),p=(e,n)=>e.filter(n),m=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,A=e=>P.getPrototypeOf(e),L=P.keys,w=P.freeze,N=(e=[])=>P.fromEntries(e),R=(...e)=>P.assign({},...e),g=(e,n)=>E(P.entries(e),(([e,t])=>n(t,e))),S=e=>P.values(e),C=e=>v(L(e)),D=e=>(e=>!a(e)&&d(A(e),(e=>e==P.prototype||a(A(e))),(()=>!0)))(e)&&0==C(e),x=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),M=(e,n)=>{var t;return E([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>a(t)?(O(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t)=>(T(e,n)||$(e,n,t()),F(e,n)),_=(e,n,t,l=$)=>(g(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),B=e=>new Set(Array.isArray(e)||a(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),W="_",k="_id",q=e=>`"${e.replace(/"/g,'""')}"`;var J=Object.defineProperty,U=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,G=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,K=(e,n)=>{for(var t in n||(n={}))Y.call(n,t)&&G(e,t,n[t]);if(U)for(var t of U(n))z.call(n,t)&&G(e,t,n[t]);return e},V=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Q="FROM pragma_table_",X="WHERE",Z=(e,n,l)=>{const o=x();return[()=>V(void 0,null,(function*(){return _(o,N(yield y(E(yield e("SELECT name "+Q+"list WHERE schema='main'AND type='table'AND name IN("+ne(n)+")",n),(n=>V(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+Q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>$(o,n,_(j(o,n,x),t,((e,n,t)=>{t!=F(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))))),((e,n)=>$(o,n)))})),(n,t)=>V(void 0,null,(function*(){return((e,n)=>!a(F(F(o,e),n)))(n,t)?N(p(E(yield e("SELECT*FROM"+q(n)),(e=>{return[e[t],(n=K({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!D(n)))):{}})),(n,l,r,i,u,d=!1)=>V(void 0,null,(function*(){const c=B();g(null!=r?r:{},(e=>E(L(null!=e?e:{}),(e=>H(c,e)))));const s=b(c);if(!d&&u&&h(s)&&T(o,n))return yield e("DROP TABLE"+q(n)),void $(o,n);if(h(s)||T(o,n)){const t=F(o,n),r=B(I(t));yield y([...E(s,(l=>V(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${q(n)}ADD${q(l)}`),$(t,l,""))})))),...!d&&i?E(b(r),(o=>V(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${q(n)}DROP${q(o)}`),$(t,o))})))):[]])}else yield e(`CREATE TABLE${q(n)}(${q(l)} PRIMARY KEY ON CONFLICT REPLACE${f(E(s,(e=>t+q(e))))});`),$(o,n,x([[l,""],...E(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+q(n)+"WHERE 1"):yield y(g(r,((t,o)=>V(void 0,null,(function*(){a(t)?yield e("DELETE FROM"+q(n)+X+q(l)+"=?",[o]):h(s)||(yield ee(e,n,l,L(t),[o,...S(t)]))})))));else if(h(s))T(o,n)&&(yield e("DELETE FROM"+q(n)+"WHERE 1"));else{const t=p(I(F(o,n)),(e=>e!=l)),i=[],u=[];g(null!=r?r:{},((e,n)=>{m(i,n,...E(t,(n=>null==e?void 0:e[n]))),m(u,n)})),yield ee(e,n,l,t,i),yield e("DELETE FROM"+q(n)+X+q(l)+"NOT IN("+ne(u)+")",u)}})),n=>V(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ee=(e,n,l,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+q(n)+"("+q(l)+f(E(r,(e=>t+q(e))))+")VALUES"+s(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+q(l)+")DO UPDATE SET"+f(E(r,(e=>q(e)+"=excluded."+q(e))),t),i)})),ne=e=>f(E(e,(()=>"?")),t),te=JSON.parse;var le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const oe=x(),re=x(),ie=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,E=0;j(oe,c,(()=>0)),j(re,c,(()=>[]));const h=e=>le(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>le(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(t,l)=>le(void 0,null,(function*(){return yield h((()=>le(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>le(void 0,[...t],(function*(t={},o={}){return p.stopAutoLoad(),yield p.load(t,o),E=1,y=l(((t,l)=>le(void 0,null,(function*(){if(l){const n=l();yield h((()=>le(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>le(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>le(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>le(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>le(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();D(t)&&D(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,p),schedule:(...e)=>le(void 0,null,(function*(){return m(F(re,c),...e),yield le(void 0,null,(function*(){if(!F(oe,c)){for($(oe,c,1);!a((e=F(re,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}$(oe,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>u),w(p)};var ue=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ae="store",de=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=Z(n,i,o);return ie(e,(()=>ue(void 0,null,(function*(){return yield s((()=>ue(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,k))[W])?void 0:e[ae])?n:"null")}))))}))),(e=>ue(void 0,null,(function*(){return yield s((()=>ue(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[W]:{[ae]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ce=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se=(e,n,t,l,o,[r,i,[u,d,c]],s,v)=>{const[f,E,h,m]=Z(n,s,o),T=(e,n)=>ce(void 0,null,(function*(){return yield y(M(i,((t,l)=>ce(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),b=(e,n)=>ce(void 0,null,(function*(){return d?yield h(c,k,{[W]:e},!0,!0,n):null}));return ie(e,(()=>ce(void 0,null,(function*(){return yield m((()=>ce(void 0,null,(function*(){yield f();const e=yield ce(void 0,null,(function*(){return N(p(yield y(M(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield E(c,k))[W]:{}}));return D(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield m((()=>ce(void 0,null,(function*(){if(yield f(),a(n)){const[n,t]=e();yield T(n),yield b(t)}else{const[e,t]=n();yield T(e,!0),yield b(t,!0)}}))))}))),t,l,o,["getDb",v],v)},ve="json",ye="autoLoadIntervalSeconds",fe="rowIdColumnName",Ee="tableId",he="tableName",pe={mode:ve,[ye]:1},me={load:0,save:0,[he]:n+"_values"},Te=(e,n,t,l)=>{const o=x();return g(e,((e,r)=>{const i=s(S(R(n,c(e)?{[t]:e}:e)),0,C(n));a(i[0])||l(r,i[0])||$(o,r,i)})),o};var be=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Oe="pragma ",Pe="data_version",Ae="schema_version",Le=(e,t,l,o,r,a,d,v)=>{let y,f;const[E,h,p,m]=(e=>{const t=(e=>R(pe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ye];if(t.mode==ve){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=s(S(R(me,i)),0,C(me)),a=u[2],d=B(a);return[0,l,[Te(o,{[Ee]:null,[fe]:k},Ee,(e=>H(d,e)&&e==a)),Te(r,{[he]:null,[fe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},he,((e,n)=>H(d,n)&&n==a)),u],d]})(t);return(E?de:se)(e,a?(e,n)=>be(void 0,null,(function*(){return a(e,n),yield l(e,n)})):l,(e=>[i((()=>be(void 0,null,(function*(){try{const n=(yield l(Oe+Pe))[0][Pe],t=(yield l(Oe+Ae))[0][Ae];n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)||(e(),y=n,f=t)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{u(e),y=f=null,r(n)}),d,p,b(m),v)};exports.createElectricSqlPersister=(e,n,t,l,o)=>Le(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.db.raw({sql:e,args:t})},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.notifier.subscribeToDataChanges((t=>{return l=({tablename:n})=>e(n),n.notifier.alias(t).forEach(l);var l}))),(e=>e()),l,o,n);
|
|
Binary file
|