tinybase 4.6.0 → 4.6.2

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.
Files changed (111) hide show
  1. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  2. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  4. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  6. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  10. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  15. package/lib/cjs/ui-react.cjs +1 -1
  16. package/lib/cjs/ui-react.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs-es6/ui-react.cjs +1 -1
  32. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  33. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +7 -5
  34. package/lib/debug/persisters/persister-electric-sql.js +8 -5
  35. package/lib/debug/persisters/persister-expo-sqlite-next.js +8 -6
  36. package/lib/debug/persisters/persister-expo-sqlite.js +7 -5
  37. package/lib/debug/persisters/persister-indexed-db.js +1 -0
  38. package/lib/debug/persisters/persister-sqlite-wasm.js +7 -5
  39. package/lib/debug/persisters/persister-sqlite3.js +7 -5
  40. package/lib/debug/tools.js +9 -37
  41. package/lib/debug/ui-react.js +1 -1
  42. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  43. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  44. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  45. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  46. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  47. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  48. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  49. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  50. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  51. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  52. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  53. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  54. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  55. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  56. package/lib/es6/ui-react.js +1 -1
  57. package/lib/es6/ui-react.js.gz +0 -0
  58. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  59. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  60. package/lib/persisters/persister-electric-sql.js +1 -1
  61. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  62. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  63. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  64. package/lib/persisters/persister-expo-sqlite.js +1 -1
  65. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  66. package/lib/persisters/persister-indexed-db.js +1 -1
  67. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  68. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  69. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  70. package/lib/persisters/persister-sqlite3.js +1 -1
  71. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  72. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -3
  73. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  74. package/lib/types/with-schemas/internal/store.d.ts +4 -3
  75. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -4
  76. package/lib/ui-react.js +1 -1
  77. package/lib/ui-react.js.gz +0 -0
  78. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  79. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  80. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  81. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  82. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  83. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  84. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  85. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  86. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  87. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  88. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  89. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  90. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  91. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  92. package/lib/umd/ui-react.js +1 -1
  93. package/lib/umd/ui-react.js.gz +0 -0
  94. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  95. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  96. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  97. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  98. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  99. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  100. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  101. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  102. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  103. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  104. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  105. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  106. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  107. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  108. package/lib/umd-es6/ui-react.js +1 -1
  109. package/lib/umd-es6/ui-react.js.gz +0 -0
  110. package/package.json +21 -21
  111. package/readme.md +1 -1
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==E(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),b=Object,g=a=>b.getPrototypeOf(a),D=b.keys,S=b.freeze,C=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),F=(a,t)=>m(b.entries(a),(([a,e])=>t(e,a))),M=a=>b.values(a),P=a=>E(D(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==b.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),q=(a,t,e,s=x)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,C(await u(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,C(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?C(h(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,c,o,l=!1)=>{const y=Y();F(i??{},(a=>m(D(a??{}),(a=>k(y,a)))));const w=R(y);if(!l&&o&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=Y(B(s));await u([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&c?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,D(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=h(B(H(n,t)),(a=>a!=e)),c=[],o=[];F(i??{},((a,t)=>{L(c,t,...m(s,(t=>a?.[t]))),L(o,t)})),await K(a,t,e,s,c),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,c)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),c),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,o]=[],y=[])=>{let w,E,u,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(L(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(T[c]=()=>o),S(T)},ta="store",ea=(a,t,e,s,n,[i],c,o)=>{const[r,l,y,w]=z(t,c,n);return aa(a,(async()=>await w((async()=>(await r(),Q((await l(i,f))[d]?.[ta]??"null"))))),(async a=>await w((async()=>{var t;await r(),await y(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},sa=(a,t,e,s,n,[i,c,[o,l,y]],w,E)=>{const[p,T,v,m]=z(t,w,n),A=async(a,t)=>await u(j(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await v(e,s,o,n,i,t)}))),L=async(a,t)=>l?await v(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await m((async()=>{await p();const a=await(async()=>C(h(await u(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await T(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await m((async()=>{if(await p(),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)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(c[0])||s(i,c[0])||x(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",fa=(a,t,s,n,i,c,r,l)=>{let E,u,d;const[p,v,m,A]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=w(M(I(ya,c)),0,P(ya)),r=o[2],l=Y(r);return[0,s,[wa(n,{[oa]:null,[ca]:f},oa,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),o],l]})(t);return(p?ea:sa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(u??=e)&&n==(d??=n)||(a(),E=t,u=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=u=null,i(t)}),r,m,R(A),l)};a.createElectricSqlPersister=(a,t,e,s,n)=>fa(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)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==E(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),b=Object,g=a=>b.getPrototypeOf(a),C=b.keys,S=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),F=(a,t)=>m(b.entries(a),(([a,e])=>t(e,a))),M=a=>b.values(a),P=a=>E(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==b.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),q=(a,t,e,s=x)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,D(await u(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,D(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?D(h(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,c,o,l=!1)=>{const y=Y();F(i??{},(a=>m(C(a??{}),(a=>k(y,a)))));const w=R(y);if(!l&&o&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=Y(B(s));await u([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&c?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=h(B(H(n,t)),(a=>a!=e)),c=[],o=[];F(i??{},((a,t)=>{L(c,t,...m(s,(t=>a?.[t]))),L(o,t)})),await K(a,t,e,s,c),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,c)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),c),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,o]=[],y=[])=>{let w,E,u,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(L(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(T[c]=()=>o),S(T)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[l,y,w,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await y(i,f))[d]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[o,l,y]],w,E,p)=>{const[T,v,m,A]=z(t,w,n),L=async(a,t)=>await u(j(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await m(e,s,o,n,i,t)}))),O=async(a,t)=>l?await m(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>D(h(await u(j(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await v(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(t)){const[t,e]=a();await L(t),await O(e)}else{const[a,e]=t();await L(a,!0),await O(e,!0)}}))),e,s,n,[p,E],E)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(c[0])||s(i,c[0])||x(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",fa=(a,t,s,n,i,c,r,l,E="getDb")=>{let u,d,p;const[v,m,A,h]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=w(M(I(ya,c)),0,P(ya)),r=o[2],l=Y(r);return[0,s,[wa(n,{[oa]:null,[ca]:f},oa,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),o],l]})(t);return(v?ea:sa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(p??=n)||(a(),u=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),u=d=null,i(t)}),r,A,R(h),l,E)};a.createElectricSqlPersister=(a,t,e,s,n)=>fa(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,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n=",",i=e(""),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>e(a)==i,E=(a,t,e)=>a.slice(t,e),d=a=>a.length,u=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],D=(a,t)=>a?.delete(t),S=Object,b=a=>S.getPrototypeOf(a),g=S.keys,C=S.freeze,x=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>A(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>d(g(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==S.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],q=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(D(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||j(a,t,e()),q(a,t)),Y=(a,t,e,s=j)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const s=_();return[async()=>Y(s,x(await u(A(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,x(A(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(s,t,Y(W(s,t,_),e,((a,t,e)=>{e!=q(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(s,t))),async(t,e)=>((a,t)=>!l(q(q(s,a),t)))(t,e)?x(h(A(await a(J+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,i,o,c,r=!1)=>{const y=k();F(i??{},(a=>A(g(a??{}),(a=>G(y,a)))));const w=R(y);if(!r&&c&&L(w)&&O(s,t))return await a("DROP TABLE"+T(t)),void j(s,t);if(L(w)||O(s,t)){const n=q(s,t),i=k(B(n));await u([...A(w,(async e=>{D(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),j(n,e,""))})),...!r&&o?A(R(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),j(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(w,(a=>n+T(a))))});`),j(s,t,_([[e,""],...A(w,(a=>[a,""]))]));if(r)l(i)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+z+T(e)+"=?",[n]):L(w)||await V(a,t,e,g(s),[n,...M(s)])})));else if(L(w))O(s,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(B(q(s,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{N(o,t,...A(n,(t=>a?.[t]))),N(c,t)})),await V(a,t,e,n,o),await a("DELETE FROM"+T(t)+z+T(e)+"NOT IN("+Q(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,s,i)=>await a("INSERT INTO"+T(t)+"("+T(e)+v(A(s,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",d(s))})`,d(i)/(d(s)+1)),1)+"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(s,(a=>T(a)+"=excluded."+T(a))),n),i),Q=a=>v(A(a,(()=>"?")),n),X=JSON.parse,Z=_(),aa=_(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,d,u=0,p=0;W(Z,r,(()=>0)),W(aa,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(y(w,a.delListener),w=void 0,T),schedule:async(...a)=>(N(q(aa,r),...a),await(async()=>{if(!q(Z,r)){for(j(Z,r,1);!l((a=q(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),C(T)},ea="store",sa=(a,t,e,s,n,[i],o,c)=>{const[r,l,y,w]=K(t,o,n);return ta(a,(async()=>await w((async()=>(await r(),X((await l(i,f))[p]?.[ea]??"null"))))),(async a=>await w((async()=>{var t;await r(),await y(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E)=>{const[d,T,m,v]=K(t,w,n),A=async(a,t)=>await u(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),L=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await v((async()=>{await d();const a=await(async()=>x(h(await u(H(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await T(y,f))[p]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await v((async()=>{if(await d(),l(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)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:s+"_values"},Ea=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=E(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},da="pragma ",ua="data_version",pa="schema_version",fa=(a,t,e,n,i,o,c,l)=>{let y,d,u;const[p,T,v,A]=(a=>{const t=(a=>I(ya,w(a)?{storeTableName:a}:a??{}))(a),e=t[oa];if(t.mode==ia){const{storeTableName:a=s}=t;return[1,e,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(I(wa,o)),0,P(wa)),r=c[2],l=k(r);return[0,e,[Ea(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(p?sa:na)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(da+ua))[0][ua],s=(await e(da+pa))[0][pa],n=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(y??=t)&&s==(d??=s)&&n==(u??=n)||(a(),y=t,d=s)}catch{}},s=T,t(),setInterval(t,1e3*s)),n((t=>A.has(t)?a():0))];var t,s}),(([a,t])=>{r(a),y=d=null,i(t)}),c,v,R(A),l)};a.createExpoSqliteNextPersister=(a,e,s,n,i)=>fa(a,s,(async(a,t=[])=>await e.allAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n=",",i=e(""),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>e(a)==i,E=(a,t,e)=>a.slice(t,e),d=a=>a.length,u=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],S=(a,t)=>a?.delete(t),g=Object,C=a=>g.getPrototypeOf(a),D=g.keys,b=g.freeze,x=(a=[])=>g.fromEntries(a),I=(...a)=>g.assign({},...a),F=(a,t)=>A(g.entries(a),(([a,e])=>t(e,a))),M=a=>g.values(a),P=a=>d(D(a)),$=a=>(a=>!l(a)&&y(C(a),(a=>a==g.prototype||l(C(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],q=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||j(a,t,e()),q(a,t)),Y=(a,t,e,s=j)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const s=_();return[async()=>Y(s,x(await u(A(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,x(A(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(s,t,Y(W(s,t,_),e,((a,t,e)=>{e!=q(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(s,t))),async(t,e)=>((a,t)=>!l(q(q(s,a),t)))(t,e)?x(h(A(await a(J+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,i,o,c,r=!1)=>{const y=k();F(i??{},(a=>A(D(a??{}),(a=>G(y,a)))));const w=R(y);if(!r&&c&&L(w)&&O(s,t))return await a("DROP TABLE"+T(t)),void j(s,t);if(L(w)||O(s,t)){const n=q(s,t),i=k(B(n));await u([...A(w,(async e=>{S(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),j(n,e,""))})),...!r&&o?A(R(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),j(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(w,(a=>n+T(a))))});`),j(s,t,_([[e,""],...A(w,(a=>[a,""]))]));if(r)l(i)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+z+T(e)+"=?",[n]):L(w)||await V(a,t,e,D(s),[n,...M(s)])})));else if(L(w))O(s,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(B(q(s,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{N(o,t,...A(n,(t=>a?.[t]))),N(c,t)})),await V(a,t,e,n,o),await a("DELETE FROM"+T(t)+z+T(e)+"NOT IN("+Q(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,s,i)=>await a("INSERT INTO"+T(t)+"("+T(e)+v(A(s,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",d(s))})`,d(i)/(d(s)+1)),1)+"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(s,(a=>T(a)+"=excluded."+T(a))),n),i),Q=a=>v(A(a,(()=>"?")),n),X=JSON.parse,Z=_(),aa=_(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,d,u=0,p=0;W(Z,r,(()=>0)),W(aa,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(y(w,a.delListener),w=void 0,T),schedule:async(...a)=>(N(q(aa,r),...a),await(async()=>{if(!q(Z,r)){for(j(Z,r,1);!l((a=q(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),b(T)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=K(t,o,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,f))[p]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?g.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E,d)=>{const[T,m,v,A]=K(t,w,n),L=async(a,t)=>await u(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),N=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await A((async()=>{await T();const a=await(async()=>x(h(await u(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),l(t)){const[t,e]=a();await L(t),await N(e)}else{const[a,e]=t();await L(a,!0),await N(e,!0)}}))),e,s,n,[d,E],E)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:s+"_values"},Ea=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=E(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},da="pragma ",ua="data_version",pa="schema_version",fa=(a,t,e,n,i,o,c,l,y="getDb")=>{let d,u,p;const[T,v,A,L]=(a=>{const t=(a=>I(ya,w(a)?{storeTableName:a}:a??{}))(a),e=t[oa];if(t.mode==ia){const{storeTableName:a=s}=t;return[1,e,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(I(wa,o)),0,P(wa)),r=c[2],l=k(r);return[0,e,[Ea(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(T?sa:na)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(da+ua))[0][ua],s=(await e(da+pa))[0][pa],n=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&s==(u??=s)&&n==(p??=n)||(a(),d=t,u=s)}catch{}},s=v,t(),setInterval(t,1e3*s)),n((t=>L.has(t)?a():0))];var t,s}),(([a,t])=>{r(a),d=u=null,i(t)}),c,A,R(L),l,y)};a.createExpoSqliteNextPersister=(a,e,s,n,i)=>fa(a,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>o.all(a),u="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==E(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),g=Object,D=a=>g.getPrototypeOf(a),S=g.keys,b=g.freeze,C=(a=[])=>g.fromEntries(a),I=(...a)=>g.assign({},...a),F=(a,t)=>v(g.entries(a),(([a,e])=>t(e,a))),M=a=>g.values(a),P=a=>E(S(a)),$=a=>(a=>!r(a)&&l(D(a),(a=>a==g.prototype||r(D(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),W=(a,t,e)=>(N(a,t)||j(a,t,e()),B(a,t)),q=(a,t,e,s=j)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,C(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=B(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?C(L(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=Y();F(i??{},(a=>v(S(a??{}),(a=>k(y,a)))));const w=O(y);if(!l&&c&&A(w)&&N(n,t))return await a("DROP TABLE"+f(t)),void j(n,t);if(A(w)||N(n,t)){const s=B(n,t),i=Y(x(s));await d([...v(w,(async e=>{R(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),j(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),j(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(w,(a=>s+f(a))))});`),j(n,t,_([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await K(a,t,e,S(s),[n,...M(s)])})));else if(A(w))N(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=L(x(B(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...v(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+m(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(o)/(E(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+m(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),V=a=>m(v(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,E,d,u=0,p=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(B(Z,y),...a),await(async()=>{if(!B(X,y)){for(j(X,y,1);!r((a=B(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),b(T)},ta="store",ea=(a,t,e,s,n,[i],o,c)=>{const[r,l,y,w]=z(t,o,n);return aa(a,(async()=>await w((async()=>(await r(),Q((await l(i,p))[u]?.[ta]??"null"))))),(async a=>await w((async()=>{var t;await r(),await y(i,p,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?g.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,E)=>{const[f,T,m,v]=z(t,w,n),A=async(a,t)=>await d(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),h=async(a,t)=>l?await m(y,p,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await v((async()=>{await f();const a=await(async()=>C(L(await d(H(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await T(y,p))[u]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await v((async()=>{if(await f(),r(t)){const[t,e]=a();await A(t),await h(e)}else{const[a,e]=t();await A(a,!0),await h(e,!0)}}))),e,s,n,["getDb",E],E)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||j(n,i,o)})),n},Ea="pragma ",da="data_version",ua="schema_version",pa=(a,t,s,n,i,o,r,l)=>{let E,d,u;const[f,m,v,A]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=Y(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(f?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+da))[0][da],e=(await s(Ea+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(d??=e)&&n==(u??=n)||(a(),E=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=d=null,i(t)}),r,v,O(A),l)};a.createExpoSqlitePersister=(a,t,e,s,n)=>pa(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>o.all(a),u="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==E(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,b=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>v(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>E(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),W=(a,t,e)=>(N(a,t)||j(a,t,e()),B(a,t)),q=(a,t,e,s=j)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,b(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=B(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?b(L(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=Y();F(i??{},(a=>v(C(a??{}),(a=>k(y,a)))));const w=O(y);if(!l&&c&&A(w)&&N(n,t))return await a("DROP TABLE"+f(t)),void j(n,t);if(A(w)||N(n,t)){const s=B(n,t),i=Y(x(s));await d([...v(w,(async e=>{R(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),j(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),j(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(w,(a=>s+f(a))))});`),j(n,t,_([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))N(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=L(x(B(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...v(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+m(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(o)/(E(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+m(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),V=a=>m(v(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,E,d,u=0,p=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(B(Z,y),...a),await(async()=>{if(!B(X,y)){for(j(X,y,1);!r((a=B(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),D(T)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=z(t,o,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await y(i,p))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,p,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,E,f)=>{const[T,m,v,A]=z(t,w,n),h=async(a,t)=>await d(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),N=async(a,t)=>l?await v(y,p,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>b(L(await d(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(y,p))[u]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,s,n,[f,E],E)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||j(n,i,o)})),n},Ea="pragma ",da="data_version",ua="schema_version",pa=(a,t,s,n,i,o,r,l,E="getDb")=>{let d,u,f;const[m,v,A,L]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=Y(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(m?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+da))[0][da],e=(await s(Ea+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(u??=e)&&n==(f??=n)||(a(),d=t,u=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=u=null,i(t)}),r,A,O(L),l,E)};a.createExpoSqlitePersister=(a,t,e,s,n)=>pa(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=Promise,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>new e(t),r=async t=>e.all(t),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),d=Object,y=t=>d.getPrototypeOf(t),l=d.keys,u=d.freeze,w=t=>(t=>!s(t)&&n(y(t),(t=>t==d.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>l(t).length)(t),p=t=>new Map(t),h=(t,e)=>t?.get(e),f=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},v=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),h(t,e)},g=p(),b=p(),A=globalThis.window,S=["t","v"],x={keyPath:"k"},j=async(t,e)=>{const a=((e,a)=>c(d.entries(e),(([e,a])=>m(t,"put",{k:e,v:a}))))(e);c(await m(t,"getAllKeys"),(o=>((t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)))(e,o)?0:i(a,m(t,"delete",o)))),await r(a)},m=async(t,e,a)=>o(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));t.createIndexedDbPersister=(t,e,y=1,l)=>{const p=async(t,a=[],s=0)=>o(((n,o)=>{const i=A.indexedDB.open(e,s?2:void 0);i.onupgradeneeded=()=>s&&c(S,(t=>{try{i.result.createObjectStore(t,x)}catch{}})),i.onsuccess=async()=>{try{const e=i.result.transaction(S,"readwrite"),s=await r(c(S,(async(s,n)=>await t(e.objectStore(s),a[n]))));i.result.close(),n(s)}catch(t){o(t)}},i.onerror=()=>o("indexedDB.open error")}));return((t,e,a,o,r,c,[d,y]=[],l=[])=>{let p,A,S,x=0,j=0;v(g,l,(()=>0)),v(b,l,(()=>[]));const m=async t=>(2!=x&&(x=1,await D.schedule((async()=>{await t(),x=0}))),D),D={load:async(a,s)=>await m((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(D.stopAutoLoad(),await D.load(a,s),j=1,S=o((async(a,s)=>{if(s){const e=s();await m((async()=>t.setTransactionChanges(e)))}else await m((async()=>{try{t.setContent(a?.()??await e())}catch(t){c?.(t)}}))})),D),stopAutoLoad:()=>(j&&(r(S),S=void 0,j=0),D),save:async e=>(1!=x&&(x=2,await D.schedule((async()=>{try{await a(t.getContent,e)}catch(t){c?.(t)}x=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();w(a)&&w(s)||D.save((()=>[a,s]))})),D),stopAutoSave:()=>(n(p,t.delListener),p=void 0,D),schedule:async(...t)=>(i(h(b,l),...t),await(async()=>{if(!h(g,l)){for(f(g,l,1);!s((t=h(b,l),A=t.shift()));)try{await A()}catch(t){c?.(t)}f(g,l,0)}var t})(),D),getStore:()=>t,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(D[d]=()=>y),u(D)})(t,(async()=>await p((async t=>((t=[])=>d.fromEntries(t))(c(await m(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await p((async(t,e)=>await j(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>a(t)),l,["getDbName",e])},t.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterIndexedDb={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=Promise,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>new e(t),r=async t=>e.all(t),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),d=Object,y=t=>d.getPrototypeOf(t),l=d.keys,u=d.freeze,w=t=>(t=>!s(t)&&n(y(t),(t=>t==d.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>l(t).length)(t),p=t=>new Map(t),h=(t,e)=>t?.get(e),f=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},v=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),h(t,e)},g=p(),b=p(),A=globalThis.window,S=["t","v"],x={keyPath:"k"},j=async(t,e)=>{const a=((e,a)=>c(d.entries(e),(([e,a])=>m(t,"put",{k:e,v:a}))))(e);c(await m(t,"getAllKeys"),(o=>((t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)))(e,o)?0:i(a,m(t,"delete",o)))),await r(a)},m=async(t,e,a)=>o(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));t.createIndexedDbPersister=(t,e,y=1,l)=>{const p=async(t,a=[],s=0)=>o(((n,o)=>{const i=A.indexedDB.open(e,s?2:void 0);i.onupgradeneeded=()=>s&&c(S,(t=>{try{i.result.createObjectStore(t,x)}catch{}})),i.onsuccess=async()=>{try{const e=i.result.transaction(S,"readwrite"),s=await r(c(S,(async(s,n)=>await t(e.objectStore(s),a[n]))));i.result.close(),n(s)}catch(t){i.result.close(),o(t)}},i.onerror=()=>o("indexedDB.open error")}));return((t,e,a,o,r,c,[d,y]=[],l=[])=>{let p,A,S,x=0,j=0;v(g,l,(()=>0)),v(b,l,(()=>[]));const m=async t=>(2!=x&&(x=1,await D.schedule((async()=>{await t(),x=0}))),D),D={load:async(a,s)=>await m((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(D.stopAutoLoad(),await D.load(a,s),j=1,S=o((async(a,s)=>{if(s){const e=s();await m((async()=>t.setTransactionChanges(e)))}else await m((async()=>{try{t.setContent(a?.()??await e())}catch(t){c?.(t)}}))})),D),stopAutoLoad:()=>(j&&(r(S),S=void 0,j=0),D),save:async e=>(1!=x&&(x=2,await D.schedule((async()=>{try{await a(t.getContent,e)}catch(t){c?.(t)}x=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();w(a)&&w(s)||D.save((()=>[a,s]))})),D),stopAutoSave:()=>(n(p,t.delListener),p=void 0,D),schedule:async(...t)=>(i(h(b,l),...t),await(async()=>{if(!h(g,l)){for(f(g,l,1);!s((t=h(b,l),A=t.shift()));)try{await A()}catch(t){c?.(t)}f(g,l,0)}var t})(),D),getStore:()=>t,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(D[d]=()=>y),u(D)})(t,(async()=>await p((async t=>((t=[])=>d.fromEntries(t))(c(await m(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await p((async(t,e)=>await j(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>a(t)),l,["getDbName",e])},t.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterIndexedDb={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",T=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,b=a=>S.getPrototypeOf(a),D=S.keys,g=S.freeze,C=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),_=(a,t)=>v(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),F=a=>u(D(a)),P=a=>(a=>!r(a)&&l(b(a),(a=>a==S.prototype||r(b(a))),(()=>!0)))(a)&&0==F(a),$=a=>new Map(a),B=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),j=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),H=(a,t,e)=>(R(a,t)||x(a,t,e()),W(a,t)),k=(a,t,e,s=x)=>(_(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),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),Y=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",V=(a,t,e)=>{const n=$();return[async()=>k(n,C(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,k(H(n,t,$),e,((a,t,e)=>{e!=W(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(W(W(n,a),t)))(t,e)?C(h(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=q();_(i??{},(a=>v(D(a??{}),(a=>Y(y,a)))));const w=O(y);if(!l&&c&&A(w)&&R(n,t))return await a("DROP TABLE"+f(t)),void x(n,t);if(A(w)||R(n,t)){const s=W(n,t),i=q(B(s));await d([...v(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),x(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${T(v(w,(a=>s+f(a))))});`),x(n,t,$([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(_(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await z(a,t,e,D(s),[n,...M(s)])})));else if(A(w))R(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=h(B(W(n,t)),(a=>a!=e)),o=[],c=[];_(i??{},((a,t)=>{L(o,t,...v(s,(t=>a?.[t]))),L(c,t)})),await z(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+K(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},z=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+T(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+T(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),K=a=>T(v(a,(()=>"?")),s),Q=JSON.parse,X=$(),Z=$(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,d,E=0,p=0;H(X,y,(()=>0)),H(Z,y,(()=>[]));const f=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(w,a.delListener),w=void 0,m),schedule:async(...a)=>(L(W(Z,y),...a),await(async()=>{if(!W(X,y)){for(x(X,y,1);!r((a=W(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),g(m)},ta="store",ea=(a,t,e,s,n,[i],o,c)=>{const[r,l,y,w]=V(t,o,n);return aa(a,(async()=>await w((async()=>(await r(),Q((await l(i,p))[E]?.[ta]??"null"))))),(async a=>await w((async()=>{var t;await r(),await y(i,p,{[E]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u)=>{const[f,m,T,v]=V(t,w,n),A=async(a,t)=>await d(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),L=async(a,t)=>l?await T(y,p,{[E]:a},!0,!0,t):null;return aa(a,(async()=>await v((async()=>{await f();const a=await(async()=>C(h(await d(j(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await m(y,p))[E]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await v((async()=>{if(await f(),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",u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=$();return _(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,F(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",da="data_version",Ea="schema_version",pa=(a,t,s,n,i,o,r,l)=>{let u,d,E;const[f,T,v,A]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,F(ya)),r=c[2],l=q(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>Y(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>Y(l,t)&&t==r)),c],l]})(t);return(f?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+Ea))[0][Ea],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(E??=n)||(a(),u=t,d=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=d=null,i(t)}),r,v,O(A),l)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>pa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",T=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,b=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,g=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),_=(a,t)=>v(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),F=a=>u(C(a)),P=a=>(a=>!r(a)&&l(b(a),(a=>a==S.prototype||r(b(a))),(()=>!0)))(a)&&0==F(a),$=a=>new Map(a),B=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),j=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),H=(a,t,e)=>(R(a,t)||x(a,t,e()),W(a,t)),k=(a,t,e,s=x)=>(_(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),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),Y=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",V=(a,t,e)=>{const n=$();return[async()=>k(n,g(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(v(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,k(H(n,t,$),e,((a,t,e)=>{e!=W(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(W(W(n,a),t)))(t,e)?g(h(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=q();_(i??{},(a=>v(C(a??{}),(a=>Y(y,a)))));const w=O(y);if(!l&&c&&A(w)&&R(n,t))return await a("DROP TABLE"+f(t)),void x(n,t);if(A(w)||R(n,t)){const s=W(n,t),i=q(B(s));await d([...v(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),x(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${T(v(w,(a=>s+f(a))))});`),x(n,t,$([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(_(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await z(a,t,e,C(s),[n,...M(s)])})));else if(A(w))R(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=h(B(W(n,t)),(a=>a!=e)),o=[],c=[];_(i??{},((a,t)=>{L(o,t,...v(s,(t=>a?.[t]))),L(c,t)})),await z(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+K(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},z=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+T(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+T(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),K=a=>T(v(a,(()=>"?")),s),Q=JSON.parse,X=$(),Z=$(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,d,E=0,p=0;H(X,y,(()=>0)),H(Z,y,(()=>[]));const f=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(w,a.delListener),w=void 0,m),schedule:async(...a)=>(L(W(Z,y),...a),await(async()=>{if(!W(X,y)){for(x(X,y,1);!r((a=W(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),D(m)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=V(t,o,n);return aa(a,(async()=>await u((async()=>(await l(),Q((await y(i,p))[E]?.[ta]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,p,{[E]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u,f)=>{const[m,T,v,A]=V(t,w,n),L=async(a,t)=>await d(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),R=async(a,t)=>l?await v(y,p,{[E]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await m();const a=await(async()=>g(h(await d(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await T(y,p))[E]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),r(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,s,n,[f,u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=$();return _(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,F(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",da="data_version",Ea="schema_version",pa=(a,t,s,n,i,o,r,l,u="getDb")=>{let d,E,f;const[T,v,A,h]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,F(ya)),r=c[2],l=q(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>Y(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>Y(l,t)&&t==r)),c],l]})(t);return(T?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+Ea))[0][Ea],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(E??=e)&&n==(f??=n)||(a(),d=t,E=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=E=null,i(t)}),r,A,O(h),l,u)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>pa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),D=S.keys,C=S.freeze,b=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>m(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>u(D(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),Y=(a,t,e,s=x)=>(F(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),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>Y(n,b(await E(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,Y(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?b(L(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=k();F(i??{},(a=>m(D(a??{}),(a=>q(y,a)))));const w=R(y);if(!l&&c&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=k(B(s));await E([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&o?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,D(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=L(B(H(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...m(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),o),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,E,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,E=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(f&&(n(E),E=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),C(T)},ta="store",ea=(a,t,e,s,n,[i],o,c)=>{const[r,l,y,w]=z(t,o,n);return aa(a,(async()=>await w((async()=>(await r(),Q((await l(i,f))[d]?.[ta]??"null"))))),(async a=>await w((async()=>{var t;await r(),await y(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u)=>{const[p,T,v,m]=z(t,w,n),A=async(a,t)=>await E(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),h=async(a,t)=>l?await v(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await m((async()=>{await p();const a=await(async()=>b(L(await E(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await T(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await m((async()=>{if(await p(),r(t)){const[t,e]=a();await A(t),await h(e)}else{const[a,e]=t();await A(a,!0),await h(e,!0)}}))),e,s,n,["getDb",u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",Ea="data_version",da="schema_version",fa=(a,t,s,n,i,o,r,l)=>{let u,E,d;const[p,v,m,A]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=k(r);return[0,s,[wa(n,{[ca]:null,[oa]:f},ca,(a=>q(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(p?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+Ea))[0][Ea],e=(await s(ua+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(E??=e)&&n==(d??=n)||(a(),u=t,E=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=E=null,i(t)}),r,m,R(A),l)},pa="change";a.createSqlite3Persister=(a,t,e,s,n)=>fa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new o(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(pa,e),e}),(a=>t.off(pa,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,b=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>m(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>u(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),Y=(a,t,e,s=x)=>(F(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),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>Y(n,b(await E(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,Y(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?b(L(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=k();F(i??{},(a=>m(C(a??{}),(a=>q(y,a)))));const w=R(y);if(!l&&c&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=k(B(s));await E([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&o?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=L(B(H(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...m(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),o),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,E,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,E=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(f&&(n(E),E=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),D(T)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=z(t,o,n);return aa(a,(async()=>await u((async()=>(await l(),Q((await y(i,f))[d]?.[ta]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u,p)=>{const[T,v,m,A]=z(t,w,n),h=async(a,t)=>await E(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),O=async(a,t)=>l?await m(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>b(L(await E(j(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[p,u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",Ea="data_version",da="schema_version",fa=(a,t,s,n,i,o,r,l,u="getDb")=>{let E,d,p;const[v,m,A,L]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=k(r);return[0,s,[wa(n,{[ca]:null,[oa]:f},ca,(a=>q(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(v?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+Ea))[0][Ea],e=(await s(ua+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(d??=e)&&n==(p??=n)||(a(),E=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=d=null,i(t)}),r,A,R(L),l,u)},pa="change";a.createSqlite3Persister=(a,t,e,s,n)=>fa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new o(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(pa,e),e}),(a=>t.off(pa,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",u=t(o),r=t(t),l="Listener",d="Result",n="Has",i="has",a="Ids",c="Table",I=c+"s",C=c+a,b="Row",p=b+"Count",w=b+a,R="Sorted"+b+a,k="Cell",g=k+a,L="Value",h=L+"s",m=L+a,y=e=>null==e,T=(e,s,t)=>y(e)?t?.():s(e),V=e=>t(e)==u,S=e=>t(e)==r,f=()=>{},v=(e,s)=>e.map(s),x=Object.keys,P=(e,s)=>T(e,(e=>e[s])),q=(e,s)=>(delete e[s],e),{createContext:B,useContext:H,useEffect:M}=s,D=B([]),F=(e,s)=>{const t=H(D);return y(e)?t[s]:V(e)?P(t[s+1]??{},e):e},O=(e,s)=>{const t=F(e,s);return y(e)||V(e)?t:e},Q=e=>x(H(D)[e]??{}),E=e=>O(e,0),A=e=>O(e,2),G=e=>O(e,4),j=e=>O(e,6),U=e=>O(e,8),W=e=>O(e,10),z=e=>e.toLowerCase();z(l);const J="Transaction";z(J);const{useCallback:K,useEffect:N,useMemo:X,useLayoutEffect:Y,useRef:Z,useState:$}=s,_=[],ee={},se=[[],void 0,[]],te=(e,s,t=_)=>{const o=X((()=>s(e)),[e,...t]);return N((()=>()=>o.destroy()),[o]),o},oe=(e,s,t,o=_,u,r="get",l="")=>{const[,d]=$(),n=K((()=>s?.[r+e]?.(...o)??t),[s,e,...o,t]),i=Z();return X((()=>i.current=n()),[n]),ue(l+e,s,((...e)=>{i.current=y(u)?n():e[u],d([])}),[n,u],o),i.current},ue=(e,s,t,o=_,u=_,...r)=>Y((()=>{const o=s?.["add"+e+l]?.(...u,t,...r);return()=>s?.delListener(o)}),[s,e,...u,...o,...r]),re=(e,s,t,o=_,u=f,r=_,...l)=>{const d=E(e);return K((e=>T(d,(o=>T(t(e,o),(t=>u(o["set"+s](...v(l,(s=>S(s)?s(e,o):s)),t),t)))))),[d,s,...o,...r,...l])},le=(e,s,t=f,o=_,...u)=>{const r=E(e);return K((()=>t(r?.["del"+s](...u))),[r,s,...o,...u])},de=(e,s,t)=>{const o=W(e);return K((()=>o?.[s](t)),[o,s,t])},ne=e=>oe(C,E(e),_),ie=(e,s)=>oe(w,E(s),_,[e]),ae=(e,s,t,o=0,u,r)=>oe(R,E(r),_,[e,s,t,o,u],6),ce=(e,s,t)=>oe(g,E(t),_,[e,s]),Ie=(e,s,t,o)=>oe(k,E(o),void 0,[e,s,t],4),Ce=e=>oe(m,E(e),_),be=(e,s)=>oe(L,E(s),void 0,[e]),pe=(e,s)=>oe("Metric",A(s),void 0,[e]),we=(e,s)=>oe("SliceIds",G(s),_,[e]),Re=(e,s,t)=>oe("Slice"+w,G(t),_,[e,s]),ke=(e,s,t)=>oe("RemoteRowId",j(t),void 0,[e,s]),ge=(e,s,t)=>oe("Local"+w,j(t),_,[e,s]),Le=(e,s,t)=>oe("Linked"+w,j(t),_,[e,s]),he=(e,s)=>oe(d+w,U(s),_,[e]),me=(e,s,t,o=0,u,r)=>oe(d+R,U(r),_,[e,s,t,o,u],6),ye=(e,s,t)=>oe(d+g,U(t),_,[e,s]),Te=(e,s,t,o)=>oe(d+k,U(o),void 0,[e,s,t]),Ve=e=>oe("CheckpointIds",W(e),se),Se=(e,s)=>oe("Checkpoint",W(s),void 0,[e]),fe=e=>de(e,"goBackward"),ve=e=>de(e,"goForward"),{PureComponent:xe,Fragment:Pe,createElement:qe,useCallback:Be,useLayoutEffect:He,useRef:Me,useState:De}=s,Fe=(e,...s)=>y(e)?{}:e(...s),Oe=(e,s)=>[e,e?.getStore(),e?.getLocalTableId(s),e?.getRemoteTableId(s)],{useCallback:Qe,useContext:Ee,useMemo:Ae,useState:Ge}=s,je=({tableId:e,store:s,rowComponent:t=Ne,getRowComponentProps:o,customCellIds:u,separator:r,debugIds:l},d)=>Je(v(d,(r=>qe(t,{...Fe(o,r),key:r,tableId:e,rowId:r,customCellIds:u,store:s,debugIds:l}))),r,l,e),Ue=({queryId:e,queries:s,resultRowComponent:t=_e,getResultRowComponentProps:o,separator:u,debugIds:r},l)=>Je(v(l,(u=>qe(t,{...Fe(o,u),key:u,queryId:e,rowId:u,queries:s,debugIds:r}))),u,r,e),We=({relationshipId:e,relationships:s,rowComponent:t=Ne,getRowComponentProps:o,separator:u,debugIds:r},l,d)=>{const[n,i,a]=Oe(j(s),e),c=l(e,d,n);return Je(v(c,(e=>qe(t,{...Fe(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:r}))),u,r,d)},ze=e=>({checkpoints:s,checkpointComponent:t=es,getCheckpointComponentProps:o,separator:u,debugIds:r})=>{const l=W(s);return Je(v(e(Ve(l)),(e=>qe(t,{...Fe(o,e),key:e,checkpoints:l,checkpointId:e,debugIds:r}))),u)},Je=(e,s,t,o)=>{const u=y(s)||!Array.isArray(e)?e:v(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",u,"}"]:u},Ke=({tableId:e,rowId:s,cellId:t,store:u,debugIds:r})=>Je(o+(Ie(e,s,t,u)??o),void 0,r,t),Ne=({tableId:e,rowId:s,store:t,cellComponent:o=Ke,getCellComponentProps:u,customCellIds:r,separator:l,debugIds:d})=>Je(v(((e,s,t,o)=>{const u=ce(s,t,o);return e??u})(r,e,s,t),(r=>qe(o,{...Fe(u,r),key:r,tableId:e,rowId:s,cellId:r,store:t,debugIds:d}))),l,d,s),Xe=e=>je(e,ie(e.tableId,e.store)),Ye=({valueId:e,store:s,debugIds:t})=>Je(o+(be(e,s)??o),void 0,t,e),Ze=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Ne,getRowComponentProps:u,separator:r,debugIds:l})=>{const[d,n,i]=((e,s)=>[e,e?.getStore(),e?.getTableId(s)])(G(t),e),a=Re(e,s,d);return Je(v(a,(e=>qe(o,{...Fe(u,e),key:e,tableId:i,rowId:e,store:n,debugIds:l}))),r,l,s)},$e=({queryId:e,rowId:s,cellId:t,queries:u,debugIds:r})=>Je(o+(Te(e,s,t,u)??o),void 0,r,t),_e=({queryId:e,rowId:s,queries:t,resultCellComponent:o=$e,getResultCellComponentProps:u,separator:r,debugIds:l})=>Je(v(ye(e,s,t),(r=>qe(o,{...Fe(u,r),key:r,queryId:e,rowId:s,cellId:r,queries:t,debugIds:l}))),r,l,s),es=({checkpoints:e,checkpointId:s,debugIds:t})=>Je(Se(s,e)??o,void 0,t,s),ss=ze((e=>e[0])),ts=ze((e=>y(e[1])?[]:[e[1]])),os=ze((e=>e[2]));e.BackwardCheckpointsView=ss,e.CellView=Ke,e.CheckpointView=es,e.CurrentCheckpointView=ts,e.ForwardCheckpointsView=os,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=Ze,getSliceComponentProps:o,separator:u,debugIds:r})=>Je(v(we(e,s),(u=>qe(t,{...Fe(o,u),key:u,indexId:e,sliceId:u,indexes:s,debugIds:r}))),u,r,e),e.LinkedRowsView=e=>We(e,Le,e.firstRowId),e.LocalRowsView=e=>We(e,ge,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>Je(pe(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:s,metrics:t,metricsById:o,indexes:u,indexesById:r,relationships:l,relationshipsById:d,queries:n,queriesById:i,checkpoints:a,checkpointsById:c,children:I})=>{const C=Ee(D),[b,p]=Ge({}),w=Qe(((e,s)=>p((t=>P(t,e)==s?t:{...t,[e]:s}))),[]),R=Qe((e=>p((s=>({...q(s,e)})))),[]);return qe(D.Provider,{value:Ae((()=>[e??C[0],{...C[1],...s,...b},t??C[2],{...C[3],...o},u??C[4],{...C[5],...r},l??C[6],{...C[7],...d},n??C[8],{...C[9],...i},a??C[10],{...C[11],...c},w,R]),[e,s,b,t,o,u,r,l,d,n,i,a,c,C,w,R])},I)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Ne,getRowComponentProps:u,debugIds:r})=>{const[l,d,,n]=Oe(j(t),e),i=ke(e,s,l);return Je(y(n)||y(i)?null:qe(o,{...Fe(u,i),key:i,tableId:n,rowId:i,store:d,debugIds:r}),void 0,r,s)},e.ResultCellView=$e,e.ResultRowView=_e,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...u})=>Ue(u,me(u.queryId,e,s,t,o,u.queries)),e.ResultTableView=e=>Ue(e,he(e.queryId,e.queries)),e.RowView=Ne,e.SliceView=Ze,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...u})=>je(u,ae(u.tableId,e,s,t,o,u.store)),e.TableView=Xe,e.TablesView=({store:e,tableComponent:s=Xe,getTableComponentProps:t,separator:o,debugIds:u})=>Je(v(ne(e),(o=>qe(s,{...Fe(t,o),key:o,tableId:o,store:e,debugIds:u}))),o),e.ValueView=Ye,e.ValuesView=({store:e,valueComponent:s=Ye,getValueComponentProps:t,separator:o,debugIds:u})=>Je(v(Ce(e),(o=>qe(s,{...Fe(t,o),key:o,valueId:o,store:e,debugIds:u}))),o),e.useAddRowCallback=(e,s,t=_,o,u=f,r=_,l=!0)=>{const d=E(o);return K((t=>T(d,(o=>T(s(t,o),(s=>u(o.addRow(S(e)?e(t,o):e,s,l),o,s)))))),[d,e,...t,...r,l])},e.useCell=Ie,e.useCellIds=ce,e.useCellIdsListener=(e,s,t,o,u,r)=>ue(g,E(r),t,o,[e,s],u),e.useCellListener=(e,s,t,o,u,r,l)=>ue(k,E(l),o,u,[e,s,t],r),e.useCheckpoint=Se,e.useCheckpointIds=Ve,e.useCheckpointIdsListener=(e,s,t)=>ue("CheckpointIds",W(t),e,s),e.useCheckpointListener=(e,s,t,o)=>ue("Checkpoint",W(o),s,t,[e]),e.useCheckpoints=e=>F(e,10),e.useCheckpointsIds=()=>Q(11),e.useCheckpointsOrCheckpointsById=W,e.useCreateCheckpoints=(e,s,t)=>te(e,s,t),e.useCreateIndexes=(e,s,t)=>te(e,s,t),e.useCreateMetrics=(e,s,t)=>te(e,s,t),e.useCreatePersister=(e,s,t=_,o,u=_,r,l=_)=>{const[,d]=$(),n=X((()=>s(e)),[e,...t]);return N((()=>((async()=>{o&&(await o(n),d([]))})(),()=>{n?.destroy(),r?.(n)})),[n,...u,...l]),n},e.useCreateQueries=(e,s,t)=>te(e,s,t),e.useCreateRelationships=(e,s,t)=>te(e,s,t),e.useCreateStore=(e,s=_)=>X(e,s),e.useDelCellCallback=(e,s,t,o,u,r,l)=>le(u,k,r,l,e,s,t,o),e.useDelRowCallback=(e,s,t,o,u)=>le(t,b,o,u,e,s),e.useDelTableCallback=(e,s,t,o)=>le(s,c,t,o,e),e.useDelTablesCallback=(e,s,t)=>le(e,I,s,t),e.useDelValueCallback=(e,s,t,o)=>le(s,L,t,o,e),e.useDelValuesCallback=(e,s,t)=>le(e,h,s,t),e.useDidFinishTransactionListener=(e,s,t)=>ue("DidFinish"+J,E(t),e,s),e.useGoBackwardCallback=fe,e.useGoForwardCallback=ve,e.useGoToCallback=(e,s=_,t,o=f,u=_)=>{const r=W(t);return K((s=>T(r,(t=>T(e(s),(e=>o(t.goTo(e),e)))))),[r,...s,...u])},e.useHasCell=(e,s,t,o)=>oe(k,E(o),!1,[e,s,t],4,i,n),e.useHasCellListener=(e,s,t,o,u,r,l)=>ue(n+k,E(l),o,u,[e,s,t],r),e.useHasRow=(e,s,t)=>oe(b,E(t),!1,[e,s],3,i,n),e.useHasRowListener=(e,s,t,o,u,r)=>ue(n+b,E(r),t,o,[e,s],u),e.useHasTable=(e,s)=>oe(c,E(s),!1,[e],2,i,n),e.useHasTableCell=(e,s,t)=>oe(c+k,E(t),!1,[e,s],3,i,n),e.useHasTableCellListener=(e,s,t,o,u,r)=>ue(n+c+k,E(r),t,o,[e,s],u),e.useHasTableListener=(e,s,t,o,u)=>ue(n+c,E(u),s,t,[e],o),e.useHasTables=e=>oe(I,E(e),!1,[],1,i,n),e.useHasTablesListener=(e,s,t,o)=>ue(n+I,E(o),e,s,[],t),e.useHasValue=(e,s)=>oe(L,E(s),!1,[e],2,i,n),e.useHasValueListener=(e,s,t,o,u)=>ue(n+L,E(u),s,t,[e],o),e.useHasValues=e=>oe(h,E(e),!1,[],1,i,n),e.useHasValuesListener=(e,s,t,o)=>ue(n+h,E(o),e,s,[],t),e.useIndexIds=e=>oe("IndexIds",G(e),_),e.useIndexes=e=>F(e,4),e.useIndexesIds=()=>Q(5),e.useIndexesOrIndexesById=G,e.useLinkedRowIds=Le,e.useLinkedRowIdsListener=(e,s,t,o,u)=>ue("Linked"+w,j(u),t,o,[e,s]),e.useLocalRowIds=ge,e.useLocalRowIdsListener=(e,s,t,o,u)=>ue("Local"+w,j(u),t,o,[e,s]),e.useMetric=pe,e.useMetricIds=e=>oe("MetricIds",A(e),_),e.useMetricListener=(e,s,t,o)=>ue("Metric",A(o),s,t,[e]),e.useMetrics=e=>F(e,2),e.useMetricsIds=()=>Q(3),e.useMetricsOrMetricsById=A,e.useProvideStore=(e,s)=>{const{12:t,13:o}=H(D);M((()=>(t?.(e,s),()=>o?.(e))),[t,e,s,o])},e.useQueries=e=>F(e,8),e.useQueriesIds=()=>Q(9),e.useQueriesOrQueriesById=U,e.useQueryIds=e=>oe("QueryIds",U(e),_),e.useRedoInformation=e=>{const s=W(e),[,,[t]]=Ve(s);return[!y(t),ve(s),t,T(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationshipIds=e=>oe("RelationshipIds",j(e),_),e.useRelationships=e=>F(e,6),e.useRelationshipsIds=()=>Q(7),e.useRelationshipsOrRelationshipsById=j,e.useRemoteRowId=ke,e.useRemoteRowIdListener=(e,s,t,o,u)=>ue("RemoteRowId",j(u),t,o,[e,s]),e.useResultCell=Te,e.useResultCellIds=ye,e.useResultCellIdsListener=(e,s,t,o,u)=>ue(d+g,U(u),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,u,r)=>ue(d+k,U(r),o,u,[e,s,t]),e.useResultRow=(e,s,t)=>oe(d+b,U(t),ee,[e,s]),e.useResultRowCount=(e,s)=>oe(d+p,U(s),0,[e]),e.useResultRowCountListener=(e,s,t,o)=>ue(d+p,U(o),s,t,[e]),e.useResultRowIds=he,e.useResultRowIdsListener=(e,s,t,o)=>ue(d+w,U(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,u)=>ue(d+b,U(u),t,o,[e,s]),e.useResultSortedRowIds=me,e.useResultSortedRowIdsListener=(e,s,t,o,u,r,l,n)=>ue(d+R,U(n),r,l,[e,s,t,o,u]),e.useResultTable=(e,s)=>oe(d+c,U(s),ee,[e]),e.useResultTableCellIds=(e,s)=>oe(d+c+g,U(s),_,[e]),e.useResultTableCellIdsListener=(e,s,t,o)=>ue(d+c+g,U(o),s,t,[e]),e.useResultTableListener=(e,s,t,o)=>ue(d+c,U(o),s,t,[e]),e.useRow=(e,s,t)=>oe(b,E(t),ee,[e,s]),e.useRowCount=(e,s)=>oe(p,E(s),0,[e]),e.useRowCountListener=(e,s,t,o,u)=>ue(p,E(u),s,t,[e],o),e.useRowIds=ie,e.useRowIdsListener=(e,s,t,o,u)=>ue(w,E(u),s,t,[e],o),e.useRowListener=(e,s,t,o,u,r)=>ue(b,E(r),t,o,[e,s],u),e.useSetCellCallback=(e,s,t,o,u,r,l,d)=>re(r,k,o,u,l,d,e,s,t),e.useSetCheckpointCallback=(e=f,s=_,t,o=f,u=_)=>{const r=W(t);return K((s=>T(r,(t=>{const u=e(s);o(t.addCheckpoint(u),t,u)}))),[r,...s,...u])},e.useSetPartialRowCallback=(e,s,t,o,u,r,l)=>re(u,"PartialRow",t,o,r,l,e,s),e.useSetPartialValuesCallback=(e,s,t,o,u)=>re(t,"PartialValues",e,s,o,u),e.useSetRowCallback=(e,s,t,o,u,r,l)=>re(u,b,t,o,r,l,e,s),e.useSetTableCallback=(e,s,t,o,u,r)=>re(o,c,s,t,u,r,e),e.useSetTablesCallback=(e,s,t,o,u)=>re(t,I,e,s,o,u),e.useSetValueCallback=(e,s,t,o,u,r)=>re(o,L,s,t,u,r,e),e.useSetValuesCallback=(e,s,t,o,u)=>re(t,h,e,s,o,u),e.useSliceIds=we,e.useSliceIdsListener=(e,s,t,o)=>ue("SliceIds",G(o),s,t,[e]),e.useSliceRowIds=Re,e.useSliceRowIdsListener=(e,s,t,o,u)=>ue("Slice"+w,G(u),t,o,[e,s]),e.useSortedRowIds=ae,e.useSortedRowIdsListener=(e,s,t,o,u,r,l,d,n)=>ue(R,E(n),r,l,[e,s,t,o,u],d),e.useStartTransactionListener=(e,s,t)=>ue("Start"+J,E(t),e,s),e.useStore=e=>F(e,0),e.useStoreIds=()=>Q(1),e.useStoreOrStoreById=E,e.useTable=(e,s)=>oe(c,E(s),ee,[e]),e.useTableCellIds=(e,s)=>oe(c+g,E(s),_,[e]),e.useTableCellIdsListener=(e,s,t,o,u)=>ue(c+g,E(u),s,t,[e],o),e.useTableIds=ne,e.useTableIdsListener=(e,s,t,o)=>ue(C,E(o),e,s,_,t),e.useTableListener=(e,s,t,o,u)=>ue(c,E(u),s,t,[e],o),e.useTables=e=>oe(I,E(e),ee),e.useTablesListener=(e,s,t,o)=>ue(I,E(o),e,s,_,t),e.useUndoInformation=e=>{const s=W(e),[t,u]=Ve(s);return[(r=t,!(0==r.length)),fe(s),u,T(u,(e=>s?.getCheckpoint(e)))??o];var r},e.useValue=be,e.useValueIds=Ce,e.useValueIdsListener=(e,s,t,o)=>ue(m,E(o),e,s,_,t),e.useValueListener=(e,s,t,o,u)=>ue(L,E(u),s,t,[e],o),e.useValues=e=>oe(h,E(e),ee),e.useValuesListener=(e,s,t,o)=>ue(h,E(o),e,s,_,t),e.useWillFinishTransactionListener=(e,s,t)=>ue("WillFinish"+J,E(t),e,s)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
1
+ var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",u=t(o),r=t(t),l="Listener",d="Result",n="Has",i="has",a="Ids",c="Table",I=c+"s",C=c+a,b="Row",p=b+"Count",w=b+a,R="Sorted"+b+a,k="Cell",g=k+a,L="Value",h=L+"s",m=L+a,y=e=>null==e,T=(e,s,t)=>y(e)?t?.():s(e),V=e=>t(e)==u,S=e=>t(e)==r,f=()=>{},v=(e,s)=>e.map(s),x=Object.keys,P=(e,s)=>T(e,(e=>e[s])),q=(e,s)=>(delete e[s],e),{createContext:B,useContext:H,useEffect:M}=s,D=B([]),F=(e,s)=>{const t=H(D);return y(e)?t[s]:V(e)?P(t[s+1]??{},e):e},O=(e,s)=>{const t=F(e,s);return y(e)||V(e)?t:e},Q=e=>x(H(D)[e]??{}),E=e=>O(e,0),A=e=>O(e,2),G=e=>O(e,4),j=e=>O(e,6),U=e=>O(e,8),W=e=>O(e,10),z=e=>e.toLowerCase();z(l);const J="Transaction";z(J);const{useCallback:K,useEffect:N,useMemo:X,useLayoutEffect:Y,useRef:Z,useState:$}=s,_=[],ee={},se=[[],void 0,[]],te=(e,s,t=_)=>{const o=X((()=>s(e)),[e,...t]);return N((()=>()=>o.destroy()),[o]),o},oe=(e,s,t,o=_,u,r="get",l="")=>{const[,d]=$(),n=K((()=>s?.[r+e]?.(...o)??t),[s,r,e,...o,t]),i=Z();return X((()=>i.current=n()),[n]),ue(l+e,s,((...e)=>{i.current=y(u)?n():e[u],d([])}),[n,u],o),i.current},ue=(e,s,t,o=_,u=_,...r)=>Y((()=>{const o=s?.["add"+e+l]?.(...u,t,...r);return()=>s?.delListener(o)}),[s,e,...u,...o,...r]),re=(e,s,t,o=_,u=f,r=_,...l)=>{const d=E(e);return K((e=>T(d,(o=>T(t(e,o),(t=>u(o["set"+s](...v(l,(s=>S(s)?s(e,o):s)),t),t)))))),[d,s,...o,...r,...l])},le=(e,s,t=f,o=_,...u)=>{const r=E(e);return K((()=>t(r?.["del"+s](...u))),[r,s,...o,...u])},de=(e,s,t)=>{const o=W(e);return K((()=>o?.[s](t)),[o,s,t])},ne=e=>oe(C,E(e),_),ie=(e,s)=>oe(w,E(s),_,[e]),ae=(e,s,t,o=0,u,r)=>oe(R,E(r),_,[e,s,t,o,u],6),ce=(e,s,t)=>oe(g,E(t),_,[e,s]),Ie=(e,s,t,o)=>oe(k,E(o),void 0,[e,s,t],4),Ce=e=>oe(m,E(e),_),be=(e,s)=>oe(L,E(s),void 0,[e]),pe=(e,s)=>oe("Metric",A(s),void 0,[e]),we=(e,s)=>oe("SliceIds",G(s),_,[e]),Re=(e,s,t)=>oe("Slice"+w,G(t),_,[e,s]),ke=(e,s,t)=>oe("RemoteRowId",j(t),void 0,[e,s]),ge=(e,s,t)=>oe("Local"+w,j(t),_,[e,s]),Le=(e,s,t)=>oe("Linked"+w,j(t),_,[e,s]),he=(e,s)=>oe(d+w,U(s),_,[e]),me=(e,s,t,o=0,u,r)=>oe(d+R,U(r),_,[e,s,t,o,u],6),ye=(e,s,t)=>oe(d+g,U(t),_,[e,s]),Te=(e,s,t,o)=>oe(d+k,U(o),void 0,[e,s,t]),Ve=e=>oe("CheckpointIds",W(e),se),Se=(e,s)=>oe("Checkpoint",W(s),void 0,[e]),fe=e=>de(e,"goBackward"),ve=e=>de(e,"goForward"),{PureComponent:xe,Fragment:Pe,createElement:qe,useCallback:Be,useLayoutEffect:He,useRef:Me,useState:De}=s,Fe=(e,...s)=>y(e)?{}:e(...s),Oe=(e,s)=>[e,e?.getStore(),e?.getLocalTableId(s),e?.getRemoteTableId(s)],{useCallback:Qe,useContext:Ee,useMemo:Ae,useState:Ge}=s,je=({tableId:e,store:s,rowComponent:t=Ne,getRowComponentProps:o,customCellIds:u,separator:r,debugIds:l},d)=>Je(v(d,(r=>qe(t,{...Fe(o,r),key:r,tableId:e,rowId:r,customCellIds:u,store:s,debugIds:l}))),r,l,e),Ue=({queryId:e,queries:s,resultRowComponent:t=_e,getResultRowComponentProps:o,separator:u,debugIds:r},l)=>Je(v(l,(u=>qe(t,{...Fe(o,u),key:u,queryId:e,rowId:u,queries:s,debugIds:r}))),u,r,e),We=({relationshipId:e,relationships:s,rowComponent:t=Ne,getRowComponentProps:o,separator:u,debugIds:r},l,d)=>{const[n,i,a]=Oe(j(s),e),c=l(e,d,n);return Je(v(c,(e=>qe(t,{...Fe(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:r}))),u,r,d)},ze=e=>({checkpoints:s,checkpointComponent:t=es,getCheckpointComponentProps:o,separator:u,debugIds:r})=>{const l=W(s);return Je(v(e(Ve(l)),(e=>qe(t,{...Fe(o,e),key:e,checkpoints:l,checkpointId:e,debugIds:r}))),u)},Je=(e,s,t,o)=>{const u=y(s)||!Array.isArray(e)?e:v(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",u,"}"]:u},Ke=({tableId:e,rowId:s,cellId:t,store:u,debugIds:r})=>Je(o+(Ie(e,s,t,u)??o),void 0,r,t),Ne=({tableId:e,rowId:s,store:t,cellComponent:o=Ke,getCellComponentProps:u,customCellIds:r,separator:l,debugIds:d})=>Je(v(((e,s,t,o)=>{const u=ce(s,t,o);return e??u})(r,e,s,t),(r=>qe(o,{...Fe(u,r),key:r,tableId:e,rowId:s,cellId:r,store:t,debugIds:d}))),l,d,s),Xe=e=>je(e,ie(e.tableId,e.store)),Ye=({valueId:e,store:s,debugIds:t})=>Je(o+(be(e,s)??o),void 0,t,e),Ze=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Ne,getRowComponentProps:u,separator:r,debugIds:l})=>{const[d,n,i]=((e,s)=>[e,e?.getStore(),e?.getTableId(s)])(G(t),e),a=Re(e,s,d);return Je(v(a,(e=>qe(o,{...Fe(u,e),key:e,tableId:i,rowId:e,store:n,debugIds:l}))),r,l,s)},$e=({queryId:e,rowId:s,cellId:t,queries:u,debugIds:r})=>Je(o+(Te(e,s,t,u)??o),void 0,r,t),_e=({queryId:e,rowId:s,queries:t,resultCellComponent:o=$e,getResultCellComponentProps:u,separator:r,debugIds:l})=>Je(v(ye(e,s,t),(r=>qe(o,{...Fe(u,r),key:r,queryId:e,rowId:s,cellId:r,queries:t,debugIds:l}))),r,l,s),es=({checkpoints:e,checkpointId:s,debugIds:t})=>Je(Se(s,e)??o,void 0,t,s),ss=ze((e=>e[0])),ts=ze((e=>y(e[1])?[]:[e[1]])),os=ze((e=>e[2]));e.BackwardCheckpointsView=ss,e.CellView=Ke,e.CheckpointView=es,e.CurrentCheckpointView=ts,e.ForwardCheckpointsView=os,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=Ze,getSliceComponentProps:o,separator:u,debugIds:r})=>Je(v(we(e,s),(u=>qe(t,{...Fe(o,u),key:u,indexId:e,sliceId:u,indexes:s,debugIds:r}))),u,r,e),e.LinkedRowsView=e=>We(e,Le,e.firstRowId),e.LocalRowsView=e=>We(e,ge,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>Je(pe(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:s,metrics:t,metricsById:o,indexes:u,indexesById:r,relationships:l,relationshipsById:d,queries:n,queriesById:i,checkpoints:a,checkpointsById:c,children:I})=>{const C=Ee(D),[b,p]=Ge({}),w=Qe(((e,s)=>p((t=>P(t,e)==s?t:{...t,[e]:s}))),[]),R=Qe((e=>p((s=>({...q(s,e)})))),[]);return qe(D.Provider,{value:Ae((()=>[e??C[0],{...C[1],...s,...b},t??C[2],{...C[3],...o},u??C[4],{...C[5],...r},l??C[6],{...C[7],...d},n??C[8],{...C[9],...i},a??C[10],{...C[11],...c},w,R]),[e,s,b,t,o,u,r,l,d,n,i,a,c,C,w,R])},I)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Ne,getRowComponentProps:u,debugIds:r})=>{const[l,d,,n]=Oe(j(t),e),i=ke(e,s,l);return Je(y(n)||y(i)?null:qe(o,{...Fe(u,i),key:i,tableId:n,rowId:i,store:d,debugIds:r}),void 0,r,s)},e.ResultCellView=$e,e.ResultRowView=_e,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...u})=>Ue(u,me(u.queryId,e,s,t,o,u.queries)),e.ResultTableView=e=>Ue(e,he(e.queryId,e.queries)),e.RowView=Ne,e.SliceView=Ze,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...u})=>je(u,ae(u.tableId,e,s,t,o,u.store)),e.TableView=Xe,e.TablesView=({store:e,tableComponent:s=Xe,getTableComponentProps:t,separator:o,debugIds:u})=>Je(v(ne(e),(o=>qe(s,{...Fe(t,o),key:o,tableId:o,store:e,debugIds:u}))),o),e.ValueView=Ye,e.ValuesView=({store:e,valueComponent:s=Ye,getValueComponentProps:t,separator:o,debugIds:u})=>Je(v(Ce(e),(o=>qe(s,{...Fe(t,o),key:o,valueId:o,store:e,debugIds:u}))),o),e.useAddRowCallback=(e,s,t=_,o,u=f,r=_,l=!0)=>{const d=E(o);return K((t=>T(d,(o=>T(s(t,o),(s=>u(o.addRow(S(e)?e(t,o):e,s,l),o,s)))))),[d,e,...t,...r,l])},e.useCell=Ie,e.useCellIds=ce,e.useCellIdsListener=(e,s,t,o,u,r)=>ue(g,E(r),t,o,[e,s],u),e.useCellListener=(e,s,t,o,u,r,l)=>ue(k,E(l),o,u,[e,s,t],r),e.useCheckpoint=Se,e.useCheckpointIds=Ve,e.useCheckpointIdsListener=(e,s,t)=>ue("CheckpointIds",W(t),e,s),e.useCheckpointListener=(e,s,t,o)=>ue("Checkpoint",W(o),s,t,[e]),e.useCheckpoints=e=>F(e,10),e.useCheckpointsIds=()=>Q(11),e.useCheckpointsOrCheckpointsById=W,e.useCreateCheckpoints=(e,s,t)=>te(e,s,t),e.useCreateIndexes=(e,s,t)=>te(e,s,t),e.useCreateMetrics=(e,s,t)=>te(e,s,t),e.useCreatePersister=(e,s,t=_,o,u=_,r,l=_)=>{const[,d]=$(),n=X((()=>s(e)),[e,...t]);return N((()=>((async()=>{o&&(await o(n),d([]))})(),()=>{n?.destroy(),r?.(n)})),[n,...u,...l]),n},e.useCreateQueries=(e,s,t)=>te(e,s,t),e.useCreateRelationships=(e,s,t)=>te(e,s,t),e.useCreateStore=(e,s=_)=>X(e,s),e.useDelCellCallback=(e,s,t,o,u,r,l)=>le(u,k,r,l,e,s,t,o),e.useDelRowCallback=(e,s,t,o,u)=>le(t,b,o,u,e,s),e.useDelTableCallback=(e,s,t,o)=>le(s,c,t,o,e),e.useDelTablesCallback=(e,s,t)=>le(e,I,s,t),e.useDelValueCallback=(e,s,t,o)=>le(s,L,t,o,e),e.useDelValuesCallback=(e,s,t)=>le(e,h,s,t),e.useDidFinishTransactionListener=(e,s,t)=>ue("DidFinish"+J,E(t),e,s),e.useGoBackwardCallback=fe,e.useGoForwardCallback=ve,e.useGoToCallback=(e,s=_,t,o=f,u=_)=>{const r=W(t);return K((s=>T(r,(t=>T(e(s),(e=>o(t.goTo(e),e)))))),[r,...s,...u])},e.useHasCell=(e,s,t,o)=>oe(k,E(o),!1,[e,s,t],4,i,n),e.useHasCellListener=(e,s,t,o,u,r,l)=>ue(n+k,E(l),o,u,[e,s,t],r),e.useHasRow=(e,s,t)=>oe(b,E(t),!1,[e,s],3,i,n),e.useHasRowListener=(e,s,t,o,u,r)=>ue(n+b,E(r),t,o,[e,s],u),e.useHasTable=(e,s)=>oe(c,E(s),!1,[e],2,i,n),e.useHasTableCell=(e,s,t)=>oe(c+k,E(t),!1,[e,s],3,i,n),e.useHasTableCellListener=(e,s,t,o,u,r)=>ue(n+c+k,E(r),t,o,[e,s],u),e.useHasTableListener=(e,s,t,o,u)=>ue(n+c,E(u),s,t,[e],o),e.useHasTables=e=>oe(I,E(e),!1,[],1,i,n),e.useHasTablesListener=(e,s,t,o)=>ue(n+I,E(o),e,s,[],t),e.useHasValue=(e,s)=>oe(L,E(s),!1,[e],2,i,n),e.useHasValueListener=(e,s,t,o,u)=>ue(n+L,E(u),s,t,[e],o),e.useHasValues=e=>oe(h,E(e),!1,[],1,i,n),e.useHasValuesListener=(e,s,t,o)=>ue(n+h,E(o),e,s,[],t),e.useIndexIds=e=>oe("IndexIds",G(e),_),e.useIndexes=e=>F(e,4),e.useIndexesIds=()=>Q(5),e.useIndexesOrIndexesById=G,e.useLinkedRowIds=Le,e.useLinkedRowIdsListener=(e,s,t,o,u)=>ue("Linked"+w,j(u),t,o,[e,s]),e.useLocalRowIds=ge,e.useLocalRowIdsListener=(e,s,t,o,u)=>ue("Local"+w,j(u),t,o,[e,s]),e.useMetric=pe,e.useMetricIds=e=>oe("MetricIds",A(e),_),e.useMetricListener=(e,s,t,o)=>ue("Metric",A(o),s,t,[e]),e.useMetrics=e=>F(e,2),e.useMetricsIds=()=>Q(3),e.useMetricsOrMetricsById=A,e.useProvideStore=(e,s)=>{const{12:t,13:o}=H(D);M((()=>(t?.(e,s),()=>o?.(e))),[t,e,s,o])},e.useQueries=e=>F(e,8),e.useQueriesIds=()=>Q(9),e.useQueriesOrQueriesById=U,e.useQueryIds=e=>oe("QueryIds",U(e),_),e.useRedoInformation=e=>{const s=W(e),[,,[t]]=Ve(s);return[!y(t),ve(s),t,T(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationshipIds=e=>oe("RelationshipIds",j(e),_),e.useRelationships=e=>F(e,6),e.useRelationshipsIds=()=>Q(7),e.useRelationshipsOrRelationshipsById=j,e.useRemoteRowId=ke,e.useRemoteRowIdListener=(e,s,t,o,u)=>ue("RemoteRowId",j(u),t,o,[e,s]),e.useResultCell=Te,e.useResultCellIds=ye,e.useResultCellIdsListener=(e,s,t,o,u)=>ue(d+g,U(u),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,u,r)=>ue(d+k,U(r),o,u,[e,s,t]),e.useResultRow=(e,s,t)=>oe(d+b,U(t),ee,[e,s]),e.useResultRowCount=(e,s)=>oe(d+p,U(s),0,[e]),e.useResultRowCountListener=(e,s,t,o)=>ue(d+p,U(o),s,t,[e]),e.useResultRowIds=he,e.useResultRowIdsListener=(e,s,t,o)=>ue(d+w,U(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,u)=>ue(d+b,U(u),t,o,[e,s]),e.useResultSortedRowIds=me,e.useResultSortedRowIdsListener=(e,s,t,o,u,r,l,n)=>ue(d+R,U(n),r,l,[e,s,t,o,u]),e.useResultTable=(e,s)=>oe(d+c,U(s),ee,[e]),e.useResultTableCellIds=(e,s)=>oe(d+c+g,U(s),_,[e]),e.useResultTableCellIdsListener=(e,s,t,o)=>ue(d+c+g,U(o),s,t,[e]),e.useResultTableListener=(e,s,t,o)=>ue(d+c,U(o),s,t,[e]),e.useRow=(e,s,t)=>oe(b,E(t),ee,[e,s]),e.useRowCount=(e,s)=>oe(p,E(s),0,[e]),e.useRowCountListener=(e,s,t,o,u)=>ue(p,E(u),s,t,[e],o),e.useRowIds=ie,e.useRowIdsListener=(e,s,t,o,u)=>ue(w,E(u),s,t,[e],o),e.useRowListener=(e,s,t,o,u,r)=>ue(b,E(r),t,o,[e,s],u),e.useSetCellCallback=(e,s,t,o,u,r,l,d)=>re(r,k,o,u,l,d,e,s,t),e.useSetCheckpointCallback=(e=f,s=_,t,o=f,u=_)=>{const r=W(t);return K((s=>T(r,(t=>{const u=e(s);o(t.addCheckpoint(u),t,u)}))),[r,...s,...u])},e.useSetPartialRowCallback=(e,s,t,o,u,r,l)=>re(u,"PartialRow",t,o,r,l,e,s),e.useSetPartialValuesCallback=(e,s,t,o,u)=>re(t,"PartialValues",e,s,o,u),e.useSetRowCallback=(e,s,t,o,u,r,l)=>re(u,b,t,o,r,l,e,s),e.useSetTableCallback=(e,s,t,o,u,r)=>re(o,c,s,t,u,r,e),e.useSetTablesCallback=(e,s,t,o,u)=>re(t,I,e,s,o,u),e.useSetValueCallback=(e,s,t,o,u,r)=>re(o,L,s,t,u,r,e),e.useSetValuesCallback=(e,s,t,o,u)=>re(t,h,e,s,o,u),e.useSliceIds=we,e.useSliceIdsListener=(e,s,t,o)=>ue("SliceIds",G(o),s,t,[e]),e.useSliceRowIds=Re,e.useSliceRowIdsListener=(e,s,t,o,u)=>ue("Slice"+w,G(u),t,o,[e,s]),e.useSortedRowIds=ae,e.useSortedRowIdsListener=(e,s,t,o,u,r,l,d,n)=>ue(R,E(n),r,l,[e,s,t,o,u],d),e.useStartTransactionListener=(e,s,t)=>ue("Start"+J,E(t),e,s),e.useStore=e=>F(e,0),e.useStoreIds=()=>Q(1),e.useStoreOrStoreById=E,e.useTable=(e,s)=>oe(c,E(s),ee,[e]),e.useTableCellIds=(e,s)=>oe(c+g,E(s),_,[e]),e.useTableCellIdsListener=(e,s,t,o,u)=>ue(c+g,E(u),s,t,[e],o),e.useTableIds=ne,e.useTableIdsListener=(e,s,t,o)=>ue(C,E(o),e,s,_,t),e.useTableListener=(e,s,t,o,u)=>ue(c,E(u),s,t,[e],o),e.useTables=e=>oe(I,E(e),ee),e.useTablesListener=(e,s,t,o)=>ue(I,E(o),e,s,_,t),e.useUndoInformation=e=>{const s=W(e),[t,u]=Ve(s);return[(r=t,!(0==r.length)),fe(s),u,T(u,(e=>s?.getCheckpoint(e)))??o];var r},e.useValue=be,e.useValueIds=Ce,e.useValueIdsListener=(e,s,t,o)=>ue(m,E(o),e,s,_,t),e.useValueListener=(e,s,t,o,u)=>ue(L,E(u),s,t,[e],o),e.useValues=e=>oe(h,E(e),ee),e.useValuesListener=(e,s,t,o)=>ue(h,E(o),e,s,_,t),e.useWillFinishTransactionListener=(e,s,t)=>ue("WillFinish"+J,E(t),e,s)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
Binary file
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,t)=>d(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),O=e=>0==v(e),A=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),x=w.keys,S=w.freeze,g=(e=[])=>w.fromEntries(e),C=(...e)=>w.assign({},...e),D=(e,n)=>T(w.entries(e),(([e,t])=>n(t,e))),I=e=>w.values(e),F=e=>v(x(e)),M=e=>(e=>!d(e)&&a(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>d(t)?(R(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(b(e,n)||W(e,n,t()),_(e,n)),U=(e,n,t,l=W)=>(D(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)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),Y=e=>new Set(Array.isArray(e)||d(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&K(e,t,n[t]);if(G)for(var t of G(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return U(o,g(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,g(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(o,n,U(H(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!d(_(_(o,e),n)))(n,t)?g(A(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,t,r,i,u,a=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>T(x(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!a&&u&&O(s)&&b(o,n))return yield e("DROP TABLE"+h(n)),void W(o,n);if(O(s)||b(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){R(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),W(l,t,""))})))),...!a&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),W(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),W(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):O(s)||(yield te(e,n,t,x(l),[o,...I(l)]))})))));else if(O(s))b(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=A(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{P(i,n,...T(l,(n=>null==e?void 0:e[n]))),P(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),de=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;H(ie,c,(()=>0)),H(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(W(ie,c,1);!d((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}W(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var ae=(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 ce="store",se=(e,n,t,l,o,[r],i,u)=>{const[d,a,c,s]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield a(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,t;yield d(),yield c(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,a,c]],s,v)=>{const[h,E,m,T]=ne(n,s,o),O=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield m(t,l,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return a?yield m(c,p,{[f]:e},!0,!0,n):null}));return de(e,(()=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return g(A(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield E(c,p))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){if(yield h(),d(n)){const[n,t]=e();yield O(n),yield P(t)}else{const[e,t]=n();yield O(e,!0),yield P(t,!0)}}))))}))),t,l,o,["getDb",v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:t+"_values"},Ae=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(C(n,c(e)?{[t]:e}:e)),0,F(n));d(i[0])||l(r,i[0])||W(o,r,i)})),o};var Pe=(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 be="pragma ",Le="data_version",Re="schema_version",we=(e,n,l,o,r,i,d,a)=>{let v,y,f;const[h,m,T,O]=(e=>{const n=(e=>C(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(C(Oe,i)),0,F(Oe)),d=u[2],a=Y(d);return[0,l,[Ae(o,{[Ee]:null,[he]:p},Ee,(e=>k(a,e)&&e==d)),Ae(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(a,n)&&n==d)),u],a]})(n);return(h?se:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(be+Le))[0][Le],t=(yield l(be+Re))[0][Re],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&t==(null!=y?y:y=t)&&o==(null!=f?f:f=o)||(e(),v=n,y=t)}catch(e){}})),t=m,n(),setInterval(n,1e3*t)),o((n=>O.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),v=y=null,r(n)}),d,T,L(O),a)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>we(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,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.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,t)=>d(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),O=e=>0==v(e),A=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),L=(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:[]]},R=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),x=w.keys,S=w.freeze,C=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),D=(e,n)=>T(w.entries(e),(([e,t])=>n(t,e))),I=e=>w.values(e),F=e=>v(x(e)),M=e=>(e=>!d(e)&&a(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>d(t)?(R(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(L(e,n)||W(e,n,t()),_(e,n)),U=(e,n,t,l=W)=>(D(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)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),Y=e=>new Set(Array.isArray(e)||d(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&K(e,t,n[t]);if(G)for(var t of G(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return U(o,C(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(o,n,U(H(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!d(_(_(o,e),n)))(n,t)?C(A(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,t,r,i,u,a=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>T(x(null!=e?e:{}),(e=>k(c,e)))));const s=b(c);if(!a&&u&&O(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void W(o,n);if(O(s)||L(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){R(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),W(l,t,""))})))),...!a&&i?T(b(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),W(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),W(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):O(s)||(yield te(e,n,t,x(l),[o,...I(l)]))})))));else if(O(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=A(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{P(i,n,...T(l,(n=>null==e?void 0:e[n]))),P(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),de=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;H(ie,c,(()=>0)),H(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(W(ie,c,1);!d((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}W(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var ae=(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 ce="store",se=(e,n,t,l,o,[r],i,u,d)=>{const[a,c,s,v]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield a(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,a,c]],s,v,h)=>{const[E,m,T,O]=ne(n,s,o),P=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return a?yield T(c,p,{[f]:e},!0,!0,n):null}));return de(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return C(A(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield E(),d(n)){const[n,t]=e();yield P(n),yield L(t)}else{const[e,t]=n();yield P(e,!0),yield L(t,!0)}}))))}))),t,l,o,[h,v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:t+"_values"},Ae=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(g(n,c(e)?{[t]:e}:e)),0,F(n));d(i[0])||l(r,i[0])||W(o,r,i)})),o};var Pe=(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 Le="pragma ",be="data_version",Re="schema_version",we=(e,n,l,o,r,i,d,a,v="getDb")=>{let y,f,h;const[m,T,O,A]=(e=>{const n=(e=>g(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(g(Oe,i)),0,F(Oe)),d=u[2],a=Y(d);return[0,l,[Ae(o,{[Ee]:null,[he]:p},Ee,(e=>k(a,e)&&e==d)),Ae(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(a,n)&&n==d)),u],a]})(n);return(m?se:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Le+be))[0][be],t=(yield l(Le+Re))[0][Re],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=h?h:h=o)||(e(),y=n,f=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>A.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),d,O,b(A),a,v)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>we(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,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.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),b=e=>0==v(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),R=Object,g=e=>R.getPrototypeOf(e),N=R.keys,S=R.freeze,x=(e=[])=>R.fromEntries(e),D=(...e)=>R.assign({},...e),C=(e,n)=>T(R.entries(e),(([e,t])=>n(t,e))),I=e=>R.values(e),F=e=>v(N(e)),M=e=>(e=>!a(e)&&d(g(e),(e=>e==R.prototype||a(g(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),_(e,n)),q=(e,n,t,l=H)=>(C(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),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,x(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(o,e),n)))(n,t)?x(O(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>T(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&u&&b(s)&&P(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(b(s)||P(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),H(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(C(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):b(s)||(yield te(e,n,t,N(l),[o,...I(l)]))})))));else if(b(s))P(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(j(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{A(i,n,...T(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return A(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(H(ie,c,1);!a((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var de=(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 ce="store",se=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield d(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var n,t;yield a(),yield c(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,d,c]],s,v)=>{const[h,E,m,T]=ne(n,s,o),b=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield m(t,l,u,o,r,n))})))))})),A=(e,n)=>ve(void 0,null,(function*(){return d?yield m(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return x(O(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield E(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){if(yield h(),a(n)){const[n,t]=e();yield b(n),yield A(t)}else{const[e,t]=n();yield b(e,!0),yield A(t,!0)}}))))}))),t,l,o,["getDb",v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},be={load:0,save:0,[me]:t+"_values"},Oe=(e,n,t,l)=>{const o=$();return C(e,((e,r)=>{const i=s(I(D(n,c(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Ae=(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 Pe="pragma ",Le="data_version",we="schema_version",Re=(e,n,l,o,r,i,a,d)=>{let v,y,f;const[h,m,T,b]=(e=>{const n=(e=>D(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(D(be,i)),0,F(be)),a=u[2],d=Y(a);return[0,l,[Oe(o,{[Ee]:null,[he]:p},Ee,(e=>k(d,e)&&e==a)),Oe(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(h?se:ye)(e,i?(e,n)=>Ae(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield l(Pe+Le))[0][Le],t=(yield l(Pe+we))[0][we],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&t==(null!=y?y:y=t)&&o==(null!=f?f:f=o)||(e(),v=n,y=t)}catch(e){}})),t=m,n(),setInterval(n,1e3*t)),o((n=>b.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),v=y=null,r(n)}),a,T,L(b),d)};e.createElectricSqlPersister=(e,n,t,l,o)=>Re(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)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterElectricSql={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),b=e=>0==v(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),R=Object,g=e=>R.getPrototypeOf(e),N=R.keys,S=R.freeze,x=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>T(R.entries(e),(([e,t])=>n(t,e))),I=e=>R.values(e),F=e=>v(N(e)),M=e=>(e=>!a(e)&&d(g(e),(e=>e==R.prototype||a(g(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),_(e,n)),q=(e,n,t,l=H)=>(D(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),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,x(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(o,e),n)))(n,t)?x(O(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>T(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&u&&b(s)&&P(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(b(s)||P(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),H(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):b(s)||(yield te(e,n,t,N(l),[o,...I(l)]))})))));else if(b(s))P(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{A(i,n,...T(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return A(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(H(ie,c,1);!a((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var de=(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 ce="store",se=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,d,c]],s,v,h)=>{const[E,m,T,b]=ne(n,s,o),A=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return d?yield T(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield b((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return x(O(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield b((()=>ve(void 0,null,(function*(){if(yield E(),a(n)){const[n,t]=e();yield A(n),yield P(t)}else{const[e,t]=n();yield A(e,!0),yield P(t,!0)}}))))}))),t,l,o,[h,v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},be={load:0,save:0,[me]:t+"_values"},Oe=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(C(n,c(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Ae=(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 Pe="pragma ",Le="data_version",we="schema_version",Re=(e,n,l,o,r,i,a,d,v="getDb")=>{let y,f,h;const[m,T,b,O]=(e=>{const n=(e=>C(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(C(be,i)),0,F(be)),a=u[2],d=Y(a);return[0,l,[Oe(o,{[Ee]:null,[he]:p},Ee,(e=>k(d,e)&&e==a)),Oe(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(m?se:ye)(e,i?(e,n)=>Ae(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield l(Pe+Le))[0][Le],t=(yield l(Pe+we))[0][we],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=h?h:h=o)||(e(),y=n,f=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>O.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),a,b,L(O),d,v)};e.createElectricSqlPersister=(e,n,t,l,o)=>Re(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,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e,n){"use strict";const t=e=>typeof e,l="tinybase",o=",",i=t(""),r=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,s=(e,n,t)=>d(e)?null==t?void 0:t():n(e),c=e=>t(e)==i,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{i(n.next(e))}catch(e){t(e)}},o=e=>{try{i(n.throw(e))}catch(e){t(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",E=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",T=(e,n="")=>e.join(n),x=(e,n)=>e.map(n),A=e=>0==y(e),O=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),g=R.keys,S=R.freeze,D=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),I=(e,n)=>x(R.entries(e),(([e,t])=>n(t,e))),F=e=>R.values(e),M=e=>y(g(e)),$=e=>(e=>!d(e)&&s(w(e),(e=>e==R.prototype||d(w(e))),(()=>!0)))(e)&&0==M(e),j=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),q=(e,n)=>{var t;return x([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>d(t)?(N(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),B(e,n)),Y=(e,n,t,l=H)=>(I(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)=>!d(((e,n)=>s(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(U)for(var t of U(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t)=>{const l=j();return[()=>X(void 0,null,(function*(){return Y(l,D(yield f(x(yield e("SELECT name "+ee+"list WHERE schema='main'AND type='table'AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,D(x(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(l,n,Y(W(l,n,j),t,((e,n,t)=>{t!=B(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(l,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!d(B(B(l,e),n)))(n,t)?D(O(x(yield e(Z+E(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!$(n)))):{}})),(n,t,i,r,u,a=!1)=>X(void 0,null,(function*(){const s=k();I(null!=i?i:{},(e=>x(g(null!=e?e:{}),(e=>G(s,e)))));const c=L(s);if(!a&&u&&A(c)&&P(l,n))return yield e("DROP TABLE"+E(n)),void H(l,n);if(A(c)||P(l,n)){const o=B(l,n),i=k(_(o));yield f([...x(c,(t=>X(void 0,null,(function*(){N(i,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(o,t,""))})))),...!a&&r?x(L(i),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),H(o,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${T(x(c,(e=>o+E(e))))});`),H(l,n,j([[t,""],...x(c,(e=>[e,""]))]));if(a)d(i)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield f(I(i,((l,o)=>X(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+E(n)+ne+E(t)+"=?",[o]):A(c)||(yield le(e,n,t,g(l),[o,...F(l)]))})))));else if(A(c))P(l,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const o=O(_(B(l,n)),(e=>e!=t)),r=[],u=[];I(null!=i?i:{},((e,n)=>{b(r,n,...x(o,(n=>null==e?void 0:e[n]))),b(u,n)})),yield le(e,n,t,o,r),yield e("DELETE FROM"+E(n)+ne+E(t)+"NOT IN("+oe(u)+")",u)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,l,i)=>X(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+T(x(l,(e=>o+E(e))))+")VALUES"+v(r(`,(?${r(",?",y(l))})`,y(i)/(y(l)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+T(x(l,(e=>E(e)+"=excluded."+E(e))),o),i)})),oe=e=>T(x(e,(()=>"?")),o),ie=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ue=j(),ae=j(),de=(e,n,t,l,o,i,[r,u]=[],a=[])=>{let c,v,y,f=0,p=0;W(ue,a,(()=>0)),W(ae,a,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==i||i(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==i||i(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(s(c,e.delListener),c=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return b(B(ae,a),...e),yield re(void 0,null,(function*(){if(!B(ue,a)){for(H(ue,a,1);!d((e=B(ae,a),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}H(ue,a,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(E[r]=()=>u),S(E)};var se=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ce="store",ve=(e,n,t,l,o,[i],r,u)=>{const[a,d,s,c]=te(n,r,o);return de(e,(()=>se(void 0,null,(function*(){return yield c((()=>se(void 0,null,(function*(){var e,n;return yield a(),ie(null!=(n=null==(e=(yield d(i,h))[p])?void 0:e[ce])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield c((()=>se(void 0,null,(function*(){var n,t;yield a(),yield s(i,h,{[p]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[i,r,[u,a,s]],c,v)=>{const[y,E,m,T]=te(n,c,o),x=(e,n)=>ye(void 0,null,(function*(){return yield f(q(r,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,i],r){const u=e[r];n&&void 0===u||(yield m(t,l,u,o,i,n))})))))})),A=(e,n)=>ye(void 0,null,(function*(){return a?yield m(s,h,{[p]:e},!0,!0,n):null}));return de(e,(()=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){yield y();const e=yield ye(void 0,null,(function*(){return D(O(yield f(q(i,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield E(s,h))[p]:{}}));return $(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){if(yield y(),d(n)){const[n,t]=e();yield x(n),yield A(t)}else{const[e,t]=n();yield x(e,!0),yield A(t,!0)}}))))}))),t,l,o,["getDb",v],v)},pe="json",he="autoLoadIntervalSeconds",Ee="rowIdColumnName",me="tableId",Te="tableName",xe={mode:pe,[he]:1},Ae={load:0,save:0,[Te]:l+"_values"},Oe=(e,n,t,l)=>{const o=j();return I(e,((e,i)=>{const r=v(F(C(n,c(e)?{[t]:e}:e)),0,M(n));d(r[0])||l(i,r[0])||H(o,i,r)})),o};var be=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const Pe="pragma ",Le="data_version",Ne="schema_version",Re=(e,n,t,o,i,r,u,d)=>{let s,y,f;const[p,E,T,x]=(e=>{const n=(e=>C(xe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[he];if(n.mode==pe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:i={}}={},values:r={}}=n,u=v(F(C(Ae,r)),0,M(Ae)),a=u[2],d=k(a);return[0,t,[Oe(o,{[me]:null,[Ee]:h},me,(e=>G(d,e)&&e==a)),Oe(i,{[Te]:null,[Ee]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>G(d,n)&&n==a)),u],d]})(n);return(p?ve:fe)(e,r?(e,n)=>be(void 0,null,(function*(){return r(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const n=(yield t(Pe+Le))[0][Le],l=(yield t(Pe+Ne))[0][Ne],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=f?f:f=o)||(e(),s=n,y=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>x.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),s=y=null,i(n)}),u,T,L(x),d)};e.createExpoSqliteNextPersister=(e,t,l,o,i)=>Re(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.allAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},i=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,i);r((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.addDatabaseChangeListener((({tableName:n})=>e(n)))),(e=>e.remove()),o,i,t)},"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqliteNext={},e["expo-sqlite/next"]);
1
+ var e,n;e=this,n=function(e,n){"use strict";const t=e=>typeof e,l="tinybase",o=",",i=t(""),r=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,s=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>t(e)==i,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{i(n.next(e))}catch(e){t(e)}},o=e=>{try{i(n.throw(e))}catch(e){t(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",E=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",T=(e,n="")=>e.join(n),x=(e,n)=>e.map(n),A=e=>0==y(e),O=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),g=R.keys,S=R.freeze,C=(e=[])=>R.fromEntries(e),D=(...e)=>R.assign({},...e),I=(e,n)=>x(R.entries(e),(([e,t])=>n(t,e))),F=e=>R.values(e),M=e=>y(g(e)),$=e=>(e=>!a(e)&&s(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==M(e),j=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),q=(e,n)=>{var t;return x([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(N(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(b(e,n)||H(e,n,t()),B(e,n)),Y=(e,n,t,l=H)=>(I(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)=>s(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(U)for(var t of U(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t)=>{const l=j();return[()=>X(void 0,null,(function*(){return Y(l,C(yield f(x(yield e("SELECT name "+ee+"list WHERE schema='main'AND type='table'AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,C(x(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(l,n,Y(W(l,n,j),t,((e,n,t)=>{t!=B(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(l,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!a(B(B(l,e),n)))(n,t)?C(O(x(yield e(Z+E(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!$(n)))):{}})),(n,t,i,r,u,d=!1)=>X(void 0,null,(function*(){const s=k();I(null!=i?i:{},(e=>x(g(null!=e?e:{}),(e=>G(s,e)))));const c=L(s);if(!d&&u&&A(c)&&b(l,n))return yield e("DROP TABLE"+E(n)),void H(l,n);if(A(c)||b(l,n)){const o=B(l,n),i=k(_(o));yield f([...x(c,(t=>X(void 0,null,(function*(){N(i,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(o,t,""))})))),...!d&&r?x(L(i),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),H(o,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${T(x(c,(e=>o+E(e))))});`),H(l,n,j([[t,""],...x(c,(e=>[e,""]))]));if(d)a(i)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield f(I(i,((l,o)=>X(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+ne+E(t)+"=?",[o]):A(c)||(yield le(e,n,t,g(l),[o,...F(l)]))})))));else if(A(c))b(l,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const o=O(_(B(l,n)),(e=>e!=t)),r=[],u=[];I(null!=i?i:{},((e,n)=>{P(r,n,...x(o,(n=>null==e?void 0:e[n]))),P(u,n)})),yield le(e,n,t,o,r),yield e("DELETE FROM"+E(n)+ne+E(t)+"NOT IN("+oe(u)+")",u)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,l,i)=>X(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+T(x(l,(e=>o+E(e))))+")VALUES"+v(r(`,(?${r(",?",y(l))})`,y(i)/(y(l)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+T(x(l,(e=>E(e)+"=excluded."+E(e))),o),i)})),oe=e=>T(x(e,(()=>"?")),o),ie=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ue=j(),de=j(),ae=(e,n,t,l,o,i,[r,u]=[],d=[])=>{let c,v,y,f=0,p=0;W(ue,d,(()=>0)),W(de,d,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==i||i(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==i||i(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(s(c,e.delListener),c=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(B(de,d),...e),yield re(void 0,null,(function*(){if(!B(ue,d)){for(H(ue,d,1);!a((e=B(de,d),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}H(ue,d,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(E[r]=()=>u),S(E)};var se=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ce="store",ve=(e,n,t,l,o,[i],r,u,d)=>{const[a,s,c,v]=te(n,r,o);return ae(e,(()=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var e,n;return yield a(),ie(null!=(n=null==(e=(yield s(i,h))[p])?void 0:e[ce])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var n,t;yield a(),yield c(i,h,{[p]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[i,r,[u,d,s]],c,v,y)=>{const[E,m,T,x]=te(n,c,o),A=(e,n)=>ye(void 0,null,(function*(){return yield f(q(r,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,i],r){const u=e[r];n&&void 0===u||(yield T(t,l,u,o,i,n))})))))})),P=(e,n)=>ye(void 0,null,(function*(){return d?yield T(s,h,{[p]:e},!0,!0,n):null}));return ae(e,(()=>ye(void 0,null,(function*(){return yield x((()=>ye(void 0,null,(function*(){yield E();const e=yield ye(void 0,null,(function*(){return C(O(yield f(q(i,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield m(s,h))[p]:{}}));return $(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield x((()=>ye(void 0,null,(function*(){if(yield E(),a(n)){const[n,t]=e();yield A(n),yield P(t)}else{const[e,t]=n();yield A(e,!0),yield P(t,!0)}}))))}))),t,l,o,[y,v],v)},pe="json",he="autoLoadIntervalSeconds",Ee="rowIdColumnName",me="tableId",Te="tableName",xe={mode:pe,[he]:1},Ae={load:0,save:0,[Te]:l+"_values"},Oe=(e,n,t,l)=>{const o=j();return I(e,((e,i)=>{const r=v(F(D(n,c(e)?{[t]:e}:e)),0,M(n));a(r[0])||l(i,r[0])||H(o,i,r)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const be="pragma ",Le="data_version",Ne="schema_version",Re=(e,n,t,o,i,r,u,a,s="getDb")=>{let y,f,p;const[E,T,x,A]=(e=>{const n=(e=>D(xe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[he];if(n.mode==pe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:i={}}={},values:r={}}=n,u=v(F(D(Ae,r)),0,M(Ae)),d=u[2],a=k(d);return[0,t,[Oe(o,{[me]:null,[Ee]:h},me,(e=>G(a,e)&&e==d)),Oe(i,{[Te]:null,[Ee]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>G(a,n)&&n==d)),u],a]})(n);return(E?ve:fe)(e,r?(e,n)=>Pe(void 0,null,(function*(){return r(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(be+Le))[0][Le],l=(yield t(be+Ne))[0][Ne],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)&&o==(null!=p?p:p=o)||(e(),y=n,f=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),y=f=null,i(n)}),u,x,L(A),a,s)};e.createExpoSqliteNextPersister=(e,t,l,o,i)=>Re(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.getAllAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},i=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,i);r((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.addDatabaseChangeListener((({tableName:n})=>e(n)))),(e=>e.remove()),o,i,t)},"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqliteNext={},e["expo-sqlite/next"]);
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),s=e=>n(e)==o,c=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),A=e=>0==v(e),O=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),x=Object,N=e=>x.getPrototypeOf(e),R=x.keys,g=x.freeze,S=(e=[])=>x.fromEntries(e),D=(...e)=>x.assign({},...e),C=(e,n)=>T(x.entries(e),(([e,t])=>n(t,e))),I=e=>x.values(e),F=e=>v(R(e)),M=e=>(e=>!a(e)&&d(N(e),(e=>e==x.prototype||a(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),_(e,n)),q=(e,n,t,l=H)=>(C(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),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,S(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(o,e),n)))(n,t)?S(O(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const s=Y();C(null!=r?r:{},(e=>T(R(null!=e?e:{}),(e=>k(s,e)))));const c=L(s);if(!d&&u&&A(c)&&P(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(A(c)||P(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(c,(t=>Q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(c,(e=>l+h(e))))});`),H(o,n,$([[t,""],...T(c,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(C(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):A(c)||(yield te(e,n,t,R(l),[o,...I(l)]))})))));else if(A(c))P(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(j(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{b(i,n,...T(l,(n=>null==e?void 0:e[n]))),b(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+c(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],s=[])=>{let c,v,y,f=0,p=0;W(ie,s,(()=>0)),W(ue,s,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(d(c,e.delListener),c=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return b(_(ue,s),...e),yield re(void 0,null,(function*(){if(!_(ie,s)){for(H(ie,s,1);!a((e=_(ue,s),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,s,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),g(E)};var de=(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="store",ce=(e,n,t,l,o,[r],i,u)=>{const[a,d,s,c]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield c((()=>de(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield d(r,p))[f])?void 0:e[se])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield c((()=>de(void 0,null,(function*(){var n,t;yield a(),yield s(r,p,{[f]:{[se]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?x.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,d,s]],c,v)=>{const[h,E,m,T]=ne(n,c,o),A=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield m(t,l,u,o,r,n))})))))})),b=(e,n)=>ve(void 0,null,(function*(){return d?yield m(s,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return S(O(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield E(s,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){if(yield h(),a(n)){const[n,t]=e();yield A(n),yield b(t)}else{const[e,t]=n();yield A(e,!0),yield b(t,!0)}}))))}))),t,l,o,["getDb",v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},Ae={load:0,save:0,[me]:t+"_values"},Oe=(e,n,t,l)=>{const o=$();return C(e,((e,r)=>{const i=c(I(D(n,s(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(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 Pe="pragma ",Le="data_version",we="schema_version",xe=(e,n,l,o,r,i,a,d)=>{let v,y,f;const[h,m,T,A]=(e=>{const n=(e=>D(Te,s(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(I(D(Ae,i)),0,F(Ae)),a=u[2],d=Y(a);return[0,l,[Oe(o,{[Ee]:null,[he]:p},Ee,(e=>k(d,e)&&e==a)),Oe(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(h?ce:ye)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const n=(yield l(Pe+Le))[0][Le],t=(yield l(Pe+we))[0][we],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&t==(null!=y?y:y=t)&&o==(null!=f?f:f=o)||(e(),v=n,y=t)}catch(e){}})),t=m,n(),setInterval(n,1e3*t)),o((n=>A.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),v=y=null,r(n)}),a,T,L(A),d)};e.createExpoSqlitePersister=(e,n,t,l,o)=>xe(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return(yield n.execAsync([{sql:e,args:t}],!1))[0].rows},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.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqlite={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),s=e=>n(e)==o,c=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),A=e=>0==v(e),O=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),x=Object,N=e=>x.getPrototypeOf(e),R=x.keys,g=x.freeze,S=(e=[])=>x.fromEntries(e),C=(...e)=>x.assign({},...e),D=(e,n)=>T(x.entries(e),(([e,t])=>n(t,e))),I=e=>x.values(e),F=e=>v(R(e)),M=e=>(e=>!a(e)&&d(N(e),(e=>e==x.prototype||a(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(b(e,n)||H(e,n,t()),_(e,n)),q=(e,n,t,l=H)=>(D(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),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(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 X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,S(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(o,e),n)))(n,t)?S(O(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const s=Y();D(null!=r?r:{},(e=>T(R(null!=e?e:{}),(e=>k(s,e)))));const c=L(s);if(!d&&u&&A(c)&&b(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(A(c)||b(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(c,(t=>Q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(c,(e=>l+h(e))))});`),H(o,n,$([[t,""],...T(c,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):A(c)||(yield te(e,n,t,R(l),[o,...I(l)]))})))));else if(A(c))b(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{P(i,n,...T(l,(n=>null==e?void 0:e[n]))),P(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+c(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],s=[])=>{let c,v,y,f=0,p=0;W(ie,s,(()=>0)),W(ue,s,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(d(c,e.delListener),c=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(_(ue,s),...e),yield re(void 0,null,(function*(){if(!_(ie,s)){for(H(ie,s,1);!a((e=_(ue,s),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,s,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),g(E)};var de=(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="store",ce=(e,n,t,l,o,[r],i,u,a)=>{const[d,s,c,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield s(r,p))[f])?void 0:e[se])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield c(r,p,{[f]:{[se]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?x.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ve=(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 ye=(e,n,t,l,o,[r,i,[u,d,s]],c,v,h)=>{const[E,m,T,A]=ne(n,c,o),P=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),b=(e,n)=>ve(void 0,null,(function*(){return d?yield T(s,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return S(O(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(s,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield E(),a(n)){const[n,t]=e();yield P(n),yield b(t)}else{const[e,t]=n();yield P(e,!0),yield b(t,!0)}}))))}))),t,l,o,[h,v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},Ae={load:0,save:0,[me]:t+"_values"},Oe=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=c(I(C(n,s(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Pe=(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 be="pragma ",Le="data_version",we="schema_version",xe=(e,n,l,o,r,i,a,d,v="getDb")=>{let y,f,h;const[m,T,A,O]=(e=>{const n=(e=>C(Te,s(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(I(C(Ae,i)),0,F(Ae)),a=u[2],d=Y(a);return[0,l,[Oe(o,{[Ee]:null,[he]:p},Ee,(e=>k(d,e)&&e==a)),Oe(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(m?ce:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(be+Le))[0][Le],t=(yield l(be+we))[0][we],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=h?h:h=o)||(e(),y=n,f=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>O.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),a,A,L(O),d,v)};e.createExpoSqlitePersister=(e,n,t,l,o)=>xe(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return(yield n.execAsync([{sql:e,args:t}],!1))[0].rows},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.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,n=clearInterval,o=e=>null==e,l=(e,t,n)=>o(e)?null==n?void 0:n():t(e),r=e=>new t(e),i=e=>{return n=function*(){return t.all(e)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},u=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),s=Object,c=e=>s.getPrototypeOf(e),a=s.keys,v=s.freeze,y=e=>(e=>!o(e)&&l(c(e),(e=>e==s.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),f=e=>new Map(e),h=(e,t)=>null==e?void 0:e.get(t),p=(e,t,n)=>{return o(n)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,n);var l,r},g=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),h(e,t)};var x=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const b=f(),m=f();var w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const P=globalThis.window,A=["t","v"],S={keyPath:"k"},j=(e,t)=>w(void 0,null,(function*(){const n=((t,n)=>u(s.entries(t),(([t,n])=>D(e,"put",{k:t,v:n}))))(t);u(yield D(e,"getAllKeys"),(r=>((e,t)=>!o(((e,t)=>l(e,(e=>e[t])))(e,t)))(t,r)?0:d(n,D(e,"delete",r)))),yield i(n)})),D=(e,t,n)=>w(void 0,null,(function*(){return r(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))}));e.createIndexedDbPersister=(e,t,c=1,a)=>{const f=(e,...n)=>w(void 0,[e,...n],(function*(e,n=[],o=0){return r(((l,r)=>{const d=P.indexedDB.open(t,o?2:void 0);d.onupgradeneeded=()=>o&&u(A,(e=>{try{d.result.createObjectStore(e,S)}catch(e){}})),d.onsuccess=()=>w(void 0,null,(function*(){try{const t=d.result.transaction(A,"readwrite"),o=yield i(u(A,((o,l)=>w(void 0,null,(function*(){return yield e(t.objectStore(o),n[l])})))));d.result.close(),l(o)}catch(e){r(e)}})),d.onerror=()=>r("indexedDB.open error")}))}));return((e,t,n,r,i,u,[s,c]=[],a=[])=>{let f,w,P,A=0,S=0;g(b,a,(()=>0)),g(m,a,(()=>[]));const j=e=>x(void 0,null,(function*(){return 2!=A&&(A=1,yield D.schedule((()=>x(void 0,null,(function*(){yield e(),A=0}))))),D})),D={load:(n,o)=>x(void 0,null,(function*(){return yield j((()=>x(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>x(void 0,[...n],(function*(n={},o={}){return D.stopAutoLoad(),yield D.load(n,o),S=1,P=r(((n,o)=>x(void 0,null,(function*(){if(o){const t=o();yield j((()=>x(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield j((()=>x(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==u||u(e)}}))))})))),D})),stopAutoLoad:()=>(S&&(i(P),P=void 0,S=0),D),save:t=>x(void 0,null,(function*(){return 1!=A&&(A=2,yield D.schedule((()=>x(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==u||u(e)}A=0}))))),D})),startAutoSave:()=>x(void 0,null,(function*(){return yield D.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||D.save((()=>[n,o]))})),D})),stopAutoSave:()=>(l(f,e.delListener),f=void 0,D),schedule:(...e)=>x(void 0,null,(function*(){return d(h(m,a),...e),yield x(void 0,null,(function*(){if(!h(b,a)){for(p(b,a,1);!o((e=h(m,a),w=e.shift()));)try{yield w()}catch(e){null==u||u(e)}p(b,a,0)}var e})),D})),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(D[s]=()=>c),v(D)})(e,(()=>w(void 0,null,(function*(){return yield f((e=>w(void 0,null,(function*(){return((e=[])=>s.fromEntries(e))(u(yield D(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>w(void 0,null,(function*(){return yield f(((e,t)=>w(void 0,null,(function*(){return yield j(e,t)}))),e(),1)}))),(e=>setInterval(e,1e3*c)),(e=>n(e)),a,["getDbName",t])},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,n=clearInterval,o=e=>null==e,l=(e,t,n)=>o(e)?null==n?void 0:n():t(e),r=e=>new t(e),i=e=>{return n=function*(){return t.all(e)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},u=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),s=Object,c=e=>s.getPrototypeOf(e),a=s.keys,v=s.freeze,y=e=>(e=>!o(e)&&l(c(e),(e=>e==s.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),f=e=>new Map(e),h=(e,t)=>null==e?void 0:e.get(t),p=(e,t,n)=>{return o(n)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,n);var l,r},g=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),h(e,t)};var x=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const b=f(),m=f();var w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const P=globalThis.window,A=["t","v"],S={keyPath:"k"},j=(e,t)=>w(void 0,null,(function*(){const n=((t,n)=>u(s.entries(t),(([t,n])=>D(e,"put",{k:t,v:n}))))(t);u(yield D(e,"getAllKeys"),(r=>((e,t)=>!o(((e,t)=>l(e,(e=>e[t])))(e,t)))(t,r)?0:d(n,D(e,"delete",r)))),yield i(n)})),D=(e,t,n)=>w(void 0,null,(function*(){return r(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))}));e.createIndexedDbPersister=(e,t,c=1,a)=>{const f=(e,...n)=>w(void 0,[e,...n],(function*(e,n=[],o=0){return r(((l,r)=>{const d=P.indexedDB.open(t,o?2:void 0);d.onupgradeneeded=()=>o&&u(A,(e=>{try{d.result.createObjectStore(e,S)}catch(e){}})),d.onsuccess=()=>w(void 0,null,(function*(){try{const t=d.result.transaction(A,"readwrite"),o=yield i(u(A,((o,l)=>w(void 0,null,(function*(){return yield e(t.objectStore(o),n[l])})))));d.result.close(),l(o)}catch(e){d.result.close(),r(e)}})),d.onerror=()=>r("indexedDB.open error")}))}));return((e,t,n,r,i,u,[s,c]=[],a=[])=>{let f,w,P,A=0,S=0;g(b,a,(()=>0)),g(m,a,(()=>[]));const j=e=>x(void 0,null,(function*(){return 2!=A&&(A=1,yield D.schedule((()=>x(void 0,null,(function*(){yield e(),A=0}))))),D})),D={load:(n,o)=>x(void 0,null,(function*(){return yield j((()=>x(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>x(void 0,[...n],(function*(n={},o={}){return D.stopAutoLoad(),yield D.load(n,o),S=1,P=r(((n,o)=>x(void 0,null,(function*(){if(o){const t=o();yield j((()=>x(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield j((()=>x(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==u||u(e)}}))))})))),D})),stopAutoLoad:()=>(S&&(i(P),P=void 0,S=0),D),save:t=>x(void 0,null,(function*(){return 1!=A&&(A=2,yield D.schedule((()=>x(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==u||u(e)}A=0}))))),D})),startAutoSave:()=>x(void 0,null,(function*(){return yield D.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||D.save((()=>[n,o]))})),D})),stopAutoSave:()=>(l(f,e.delListener),f=void 0,D),schedule:(...e)=>x(void 0,null,(function*(){return d(h(m,a),...e),yield x(void 0,null,(function*(){if(!h(b,a)){for(p(b,a,1);!o((e=h(m,a),w=e.shift()));)try{yield w()}catch(e){null==u||u(e)}p(b,a,0)}var e})),D})),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(D[s]=()=>c),v(D)})(e,(()=>w(void 0,null,(function*(){return yield f((e=>w(void 0,null,(function*(){return((e=[])=>s.fromEntries(e))(u(yield D(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>w(void 0,null,(function*(){return yield f(((e,t)=>w(void 0,null,(function*(){return yield j(e,t)}))),e(),1)}))),(e=>setInterval(e,1e3*c)),(e=>n(e)),a,["getDbName",t])},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});