tinybase 4.0.2 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persisters/persister-automerge.js +56 -18
- package/lib/debug/persisters/persister-browser.js +55 -22
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +106 -62
- package/lib/debug/persisters/persister-expo-sqlite.js +813 -0
- package/lib/debug/persisters/persister-file.js +51 -18
- package/lib/debug/persisters/persister-remote.js +51 -17
- package/lib/debug/persisters/persister-sqlite-wasm.js +106 -62
- package/lib/debug/persisters/persister-sqlite3.js +113 -64
- package/lib/debug/persisters/persister-yjs.js +63 -27
- package/lib/debug/persisters.js +49 -17
- package/lib/debug/tinybase.js +35 -17
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -0
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -0
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-automerge.d.ts +4 -0
- package/lib/types/persisters/persister-browser.d.ts +8 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +10 -2
- package/lib/types/persisters/persister-expo-sqlite.d.ts +126 -0
- package/lib/types/persisters/persister-file.d.ts +8 -1
- package/lib/types/persisters/persister-remote.d.ts +4 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +8 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +8 -0
- package/lib/types/persisters/persister-yjs.d.ts +4 -0
- package/lib/types/persisters.d.ts +16 -3
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +5 -0
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -2
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +138 -0
- package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -1
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +5 -0
- package/lib/types/with-schemas/persisters.d.ts +17 -3
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -0
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +6 -5
- package/readme.md +2 -2
package/lib/debug/tinybase.js
CHANGED
|
@@ -1013,32 +1013,41 @@ const createMetrics = getCreateFunction((store) => {
|
|
|
1013
1013
|
return objFreeze(metrics);
|
|
1014
1014
|
});
|
|
1015
1015
|
|
|
1016
|
+
const scheduleRunning = mapNew();
|
|
1017
|
+
const scheduleActions = mapNew();
|
|
1016
1018
|
const createCustomPersister = (
|
|
1017
1019
|
store,
|
|
1018
1020
|
getPersisted,
|
|
1019
1021
|
setPersisted,
|
|
1020
1022
|
addPersisterListener,
|
|
1021
1023
|
delPersisterListener,
|
|
1024
|
+
onIgnoredError,
|
|
1025
|
+
scheduleId = [],
|
|
1022
1026
|
) => {
|
|
1023
1027
|
let listenerId;
|
|
1024
1028
|
let loadSave = 0;
|
|
1025
1029
|
let loads = 0;
|
|
1026
1030
|
let saves = 0;
|
|
1027
|
-
let running = 0;
|
|
1028
1031
|
let listening = 0;
|
|
1029
1032
|
let action;
|
|
1030
1033
|
let listeningHandle;
|
|
1031
|
-
|
|
1034
|
+
mapEnsure(scheduleRunning, scheduleId, () => 0);
|
|
1035
|
+
mapEnsure(scheduleActions, scheduleId, () => []);
|
|
1032
1036
|
const run = async () => {
|
|
1033
1037
|
/* istanbul ignore else */
|
|
1034
|
-
if (!
|
|
1035
|
-
|
|
1036
|
-
while (
|
|
1038
|
+
if (!mapGet(scheduleRunning, scheduleId)) {
|
|
1039
|
+
mapSet(scheduleRunning, scheduleId, 1);
|
|
1040
|
+
while (
|
|
1041
|
+
!isUndefined((action = arrayShift(mapGet(scheduleActions, scheduleId))))
|
|
1042
|
+
) {
|
|
1037
1043
|
try {
|
|
1038
1044
|
await action();
|
|
1039
|
-
} catch {
|
|
1045
|
+
} catch (error) {
|
|
1046
|
+
/* istanbul ignore next */
|
|
1047
|
+
onIgnoredError?.(error);
|
|
1048
|
+
}
|
|
1040
1049
|
}
|
|
1041
|
-
|
|
1050
|
+
mapSet(scheduleRunning, scheduleId, 0);
|
|
1042
1051
|
}
|
|
1043
1052
|
};
|
|
1044
1053
|
const loadLock = async (actions) => {
|
|
@@ -1069,16 +1078,22 @@ const createCustomPersister = (
|
|
|
1069
1078
|
await persister.load(initialTables, initialValues);
|
|
1070
1079
|
listening = 1;
|
|
1071
1080
|
listeningHandle = addPersisterListener(
|
|
1072
|
-
async (getContent, getTransactionChanges) =>
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1081
|
+
async (getContent, getTransactionChanges) => {
|
|
1082
|
+
if (getTransactionChanges) {
|
|
1083
|
+
const transactionChanges = getTransactionChanges();
|
|
1084
|
+
await loadLock(async () =>
|
|
1085
|
+
store.setTransactionChanges(transactionChanges),
|
|
1086
|
+
);
|
|
1087
|
+
} else {
|
|
1088
|
+
await loadLock(async () => {
|
|
1077
1089
|
try {
|
|
1078
1090
|
store.setContent(getContent?.() ?? (await getPersisted()));
|
|
1079
|
-
} catch {
|
|
1080
|
-
|
|
1081
|
-
|
|
1091
|
+
} catch (error) {
|
|
1092
|
+
onIgnoredError?.(error);
|
|
1093
|
+
}
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
},
|
|
1082
1097
|
);
|
|
1083
1098
|
return persister;
|
|
1084
1099
|
},
|
|
@@ -1100,7 +1115,10 @@ const createCustomPersister = (
|
|
|
1100
1115
|
await persister.schedule(async () => {
|
|
1101
1116
|
try {
|
|
1102
1117
|
await setPersisted(store.getContent, getTransactionChanges);
|
|
1103
|
-
} catch {
|
|
1118
|
+
} catch (error) {
|
|
1119
|
+
/* istanbul ignore next */
|
|
1120
|
+
onIgnoredError?.(error);
|
|
1121
|
+
}
|
|
1104
1122
|
loadSave = 0;
|
|
1105
1123
|
});
|
|
1106
1124
|
}
|
|
@@ -1123,7 +1141,7 @@ const createCustomPersister = (
|
|
|
1123
1141
|
return persister;
|
|
1124
1142
|
},
|
|
1125
1143
|
schedule: async (...actions) => {
|
|
1126
|
-
arrayPush(
|
|
1144
|
+
arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
|
|
1127
1145
|
await run();
|
|
1128
1146
|
return persister;
|
|
1129
1147
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,
|
|
1
|
+
const t=t=>null==t,n=(n,e,o)=>t(n)?null==o?void 0:o():e(n),e=Object,o=e.keys,l=e.freeze,u=(t,e)=>n(t,(t=>t[e])),i=(n,e)=>!t(u(n,e)),r=(t,n)=>(delete t[n],t),d=(t,n)=>((t,n)=>t.map(n))(e.entries(t),(([t,e])=>n(e,t))),c=t=>o(t).length,a=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==c(t),s=t=>new Map(t),v=(t,n)=>null==t?void 0:t.get(n),y=(n,e,o)=>{return t(o)?(u=e,null==(l=n)||l.delete(u),n):null==n?void 0:n.set(e,o);var l,u},h=(t,n,e)=>{var o,l,u;return l=n,null!=(u=null==(o=t)?void 0:o.has(l))&&u||y(t,n,e()),v(t,n)};var f=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const p=s(),g=s();var A=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const L=(t,n)=>[t[n].t,t[n].v],m=(n,e,o,l)=>{const u=t(e)?n:((t,n,e)=>(i(t,n)||(t[n]={}),t[n]))(n,e);let c;return d(o,((t,n)=>{l(u,n,t)&&(c=1)})),d(u,((t,n)=>{i(o,n)||(r(u,n),c=1)})),!t(e)&&a(u)&&r(n,e),c},S=(e,o,i="tinybase",s)=>(o.change((t=>t[i]={})),((e,o,u,i,r,d,c=[])=>{let s,A,L,m=0,S=0;h(p,c,(()=>0)),h(g,c,(()=>[]));const w=t=>f(void 0,null,(function*(){return 2!=m&&(m=1,yield x.schedule((()=>f(void 0,null,(function*(){yield t(),m=0}))))),x})),x={load:(t,n)=>f(void 0,null,(function*(){return yield w((()=>f(void 0,null,(function*(){try{e.setContent(yield o())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>f(void 0,[...t],(function*(t={},n={}){return x.stopAutoLoad(),yield x.load(t,n),S=1,L=i(((t,n)=>f(void 0,null,(function*(){if(n){const t=n();yield w((()=>f(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield w((()=>f(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield o())}catch(t){null==d||d(t)}}))))})))),x})),stopAutoLoad:()=>(S&&(r(L),L=void 0,S=0),x),save:t=>f(void 0,null,(function*(){return 1!=m&&(m=2,yield x.schedule((()=>f(void 0,null,(function*(){try{yield u(e.getContent,t)}catch(t){null==d||d(t)}m=0}))))),x})),startAutoSave:()=>f(void 0,null,(function*(){return yield x.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();a(e)&&a(o)||x.save((()=>[e,o]))})),x})),stopAutoSave:()=>(n(s,e.delListener),x),schedule:(...n)=>f(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(v(g,c),...n),yield f(void 0,null,(function*(){if(!v(p,c)){for(y(p,c,1);!t((n=v(g,c),A=n.shift()));)try{yield A()}catch(t){null==d||d(t)}y(p,c,0)}var n})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(x)})(e,(()=>A(void 0,null,(function*(){return 2==c(o.doc[i])?L(o.doc,i):void 0}))),((e,l)=>A(void 0,null,(function*(){return o.change((o=>((e,o,l,i)=>{((t,n)=>{a(t[n])&&(t[n]={t:{},v:{}})})(e,o);const[c,s]=L(e,o),v=()=>{y=1};let y=1;if(n(null==i?void 0:i(),(([e,o])=>{y=0,d(e,((e,o)=>y?0:t(e)?r(c,o):n(c[o],(o=>d(e,((e,l)=>y?0:t(e)?r(o,l):n(u(o,l),(n=>d(e,((e,o)=>t(e)?r(n,o):n[o]=e))),v)))),v))),d(o,((n,e)=>y?0:t(n)?r(s,e):s[e]=n))})),y){const[t,n]=l();m(c,void 0,t,((t,n,e)=>m(c,n,e,((t,n,e)=>m(t,n,e,((t,n,e)=>{if(u(t,n)!==e)return t[n]=e,1})))))),m(s,void 0,n,((t,n,e)=>{u(s,n)!==e&&(s[n]=e)}))}})(o,i,e,l)))}))),(t=>{const n=({doc:n})=>t((()=>L(n,i)));return o.on("change",n),n}),(t=>{o.removeListener("change",t)}),s));export{S as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,
|
|
1
|
+
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),u=JSON.parse,i=t=>new Map(t),a=(t,e)=>null==t?void 0:t.get(e),s=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},d=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||s(t,e,n()),a(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const v=i(),y=i();var f=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const h="storage",p=globalThis.window,g=(o,i,g,S)=>((t,n,o,u,i,f,h=[])=>{let p,g,S,A=0,m=0;d(v,h,(()=>0)),d(y,h,(()=>[]));const w=t=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield L.schedule((()=>c(void 0,null,(function*(){yield t(),A=0}))))),L})),L={load:(e,o)=>c(void 0,null,(function*(){return yield w((()=>c(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>c(void 0,[...e],(function*(e={},o={}){return L.stopAutoLoad(),yield L.load(e,o),m=1,S=u(((e,o)=>c(void 0,null,(function*(){if(o){const e=o();yield w((()=>c(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield w((()=>c(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==f||f(t)}}))))})))),L})),stopAutoLoad:()=>(m&&(i(S),S=void 0,m=0),L),save:e=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield L.schedule((()=>c(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==f||f(t)}A=0}))))),L})),startAutoSave:()=>c(void 0,null,(function*(){return yield L.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),L},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(a(y,h),...t),yield c(void 0,null,(function*(){if(!a(v,h)){for(s(v,h,1);!e((t=a(y,h),g=t.shift()));)try{yield g()}catch(t){null==f||f(t)}s(v,h,0)}var t})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(L)})(o,(()=>f(void 0,null,(function*(){return u(g.getItem(i))}))),(e=>f(void 0,null,(function*(){return g.setItem(i,(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o))));var o}))),(t=>{const e=e=>{e.storageArea===g&&e.key===i&&t((()=>u(e.newValue)))};return p.addEventListener(h,e),e}),(t=>p.removeEventListener(h,t)),S),S=(t,e,n)=>g(t,e,localStorage,n),A=(t,e,n)=>g(t,e,sessionStorage,n);export{S as createLocalPersister,A as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,d=e=>0==u(e),a=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,E=(e,n,l)=>f(e)?null==l?void 0:l():n(e),h=n=>e(n)==t,p=e=>{return n=function*(){return v.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),A=Object,L=A.keys,P=A.freeze,b=(e=[])=>A.fromEntries(e),w=(...e)=>A.assign({},...e),N=(e,n)=>i(A.entries(e),(([e,l])=>n(l,e))),R=e=>A.values(e),x=e=>u(L(e)),S=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==x(e),C=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>f(l)?(O(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(m(e,n)||F(e,n,l()),D(e,n)),$=(e,n,l,t=F)=>(N(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!f(((e,n)=>E(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),j=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,G=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&z(e,l,n[l]);if(k)for(var l of k(n))Y.call(n,l)&&z(e,l,n[l]);return e},K=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const V="FROM pragma_table_",q="WHERE",Q=(e,n,t)=>{const o=C();return[()=>K(void 0,null,(function*(){return $(o,b(yield p(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,b(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(o,n,$(M(o,n,C),l,((e,n,l)=>{l!=D(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(o,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!f(D(D(o,e),n)))(n,l)?b(a(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=G({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!S(n)))):{}})),(n,t,u,c,v,y=!1)=>K(void 0,null,(function*(){const E=j();N(null!=u?u:{},(e=>i(L(null!=e?e:{}),(e=>_(E,e)))));const h=T(E);if(!y&&v&&d(h)&&m(o,n))return yield e("DROP TABLE"+W(n)),void F(o,n);if(d(h)||m(o,n)){const l=D(o,n),r=j(g(l));yield p([...i(h,(t=>K(void 0,null,(function*(){O(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),F(l,t,""))})))),...!y&&c?i(T(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),F(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>l+W(e))))});`),F(o,n,C([[t,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield p(N(u,((l,o)=>K(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+q+W(t)+"=?",[o]):d(h)||(yield X(e,n,t,L(l),[o,...R(l)]))})))));else if(d(h))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=a(g(D(o,n)),(e=>e!=t)),r=[],d=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(d,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+q+W(t)+"NOT IN("+Z(d)+")",d)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,d,a)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(d,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(d))})`,u(a)/(u(d)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(d,(e=>W(e)+"=excluded."+W(e))),l),a)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=C(),te=C(),oe=(e,n,l,t,o,r,i=[])=>{let u,d,a,c=0,v=0;M(le,i,(()=>0)),M(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),v=1,a=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(a),a=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();S(l)&&S(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(E(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(D(te,i),...e),yield ne(void 0,null,(function*(){if(!D(le,i)){for(F(le,i,1);!f((e=D(te,i),d=e.shift()));)try{yield d()}catch(e){null==r||r(e)}F(le,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(h)};var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie="store",ue=(e,n,l,t,o,[r],i,u)=>{const[d,a,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield d(),ee(null!=(n=null==(e=(yield a(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield d(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=(e,n,l,t,o,[r,i,[u,d,c]],s,v)=>{const[y,E,h,m]=Q(n,s,o),T=(e,n)=>de(void 0,null,(function*(){return yield p(I(i,((l,t)=>de(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),O=(e,n)=>de(void 0,null,(function*(){return d?yield h(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>de(void 0,null,(function*(){return yield m((()=>de(void 0,null,(function*(){yield y();const e=yield de(void 0,null,(function*(){return b(a(yield p(I(r,((e,n)=>de(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!S(e[1]))))})),n=yield de(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return S(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>de(void 0,null,(function*(){return yield m((()=>de(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield T(n),yield O(l)}else{const[e,l]=n();yield T(e,!0),yield O(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",Ee={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},pe=(e,n,l,t)=>{const o=C();return N(e,((e,r)=>{const i=c(R(w(n,h(e)?{[l]:e}:e)),0,x(n));f(i[0])||t(r,i[0])||F(o,r,i)})),o};var me=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Te="pragma ",Oe="data_version",Ae="schema_version",Le=(e,l,t,o,r,i,u,d)=>{let a,s;const[v,y,f,E]=(e=>{const l=(e=>w(Ee,h(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(w(he,i)),0,x(he)),d=u[2],a=j(d);return[0,t,[pe(o,{[ye]:null,[ve]:H},ye,(e=>_(a,e)&&e==d)),pe(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(a,n)&&n==d)),u],a]})(l);return(v?ue:ae)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Te+Oe))[0][Oe],l=(yield t(Te+Ae))[0][Ae];n==(null!=a?a:a=n)&&l==(null!=s?s:s=l)||(e(),a=n,s=l)}catch(e){}}))),1e3*y),o((n=>E.has(n)?e():0))]),(([e,n])=>{clearInterval(e),a=s=null,r(n)}),u,f,T(E),d)},Pe=(e,n,l,t,o)=>Le(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=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(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{Pe as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,l)=>f(e)?null==l?void 0:l():n(e),E=n=>e(n)==t,p=e=>{return n=function*(){return v.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),L=Object,O=L.keys,P=L.freeze,b=(e=[])=>L.fromEntries(e),w=(...e)=>L.assign({},...e),N=(e,n)=>i(L.entries(e),(([e,l])=>n(l,e))),R=e=>L.values(e),x=e=>u(O(e)),C=e=>(e=>y(e,L)&&e.constructor==L)(e)&&0==x(e),S=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>f(l)?(A(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(m(e,n)||F(e,n,l()),D(e,n)),$=(e,n,l,t=F)=>(N(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),j=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,q=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,z=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&q(e,l,n[l]);if(J)for(var l of J(n))Y.call(n,l)&&q(e,l,n[l]);return e},G=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const K="FROM pragma_table_",V="WHERE",Q=(e,n,t)=>{const o=S();return[()=>G(void 0,null,(function*(){return $(o,b(yield p(i(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>G(void 0,[n],(function*({name:n}){return[n,b(i(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(o,n,$(M(o,n,S),l,((e,n,l)=>{l!=D(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(o,n)))})),(n,l)=>G(void 0,null,(function*(){return((e,n)=>!f(D(D(o,e),n)))(n,l)?b(d(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!C(n)))):{}})),(n,t,u,c,v,y=!1)=>G(void 0,null,(function*(){const h=j();N(null!=u?u:{},(e=>i(O(null!=e?e:{}),(e=>_(h,e)))));const E=T(h);if(!y&&v&&a(E)&&m(o,n))return yield e("DROP TABLE"+W(n)),void F(o,n);if(a(E)||m(o,n)){const l=D(o,n),r=j(g(l));yield p([...i(E,(t=>G(void 0,null,(function*(){A(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),F(l,t,""))})))),...!y&&c?i(T(r),(o=>G(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),F(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(E,(e=>l+W(e))))});`),F(o,n,S([[t,""],...i(E,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield p(N(u,((l,o)=>G(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+V+W(t)+"=?",[o]):a(E)||(yield X(e,n,t,O(l),[o,...R(l)]))})))));else if(a(E))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=d(g(D(o,n)),(e=>e!=t)),r=[],a=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+V+W(t)+"NOT IN("+Z(a)+")",a)}})),n=>G(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,a,d)=>G(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(a,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(a,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=S(),te=S(),oe=(e,n,l,t,o,r,i=[])=>{let u,a,d,c=0,v=0;M(le,i,(()=>0)),M(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield E.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),E})),E={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return E.stopAutoLoad(),yield E.load(l,o),v=1,d=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),E),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield E.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),E})),startAutoSave:()=>ne(void 0,null,(function*(){return yield E.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();C(l)&&C(t)||E.save((()=>[l,t]))})),E})),stopAutoSave:()=>(h(u,e.delListener),E),schedule:(...e)=>ne(void 0,null,(function*(){return s(D(te,i),...e),yield ne(void 0,null,(function*(){if(!D(le,i)){for(F(le,i,1);!f((e=D(te,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}F(le,i,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(E)};var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie="store",ue=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield a(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[y,h,E,m]=Q(n,s,o),T=(e,n)=>ae(void 0,null,(function*(){return yield p(I(i,((l,t)=>ae(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield E(l,t,u,o,r,n))})))))})),A=(e,n)=>ae(void 0,null,(function*(){return a?yield E(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return b(d(yield p(I(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!C(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield h(c,H))[B]:{}}));return C(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield T(n),yield A(l)}else{const[e,l]=n();yield T(e,!0),yield A(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",he={mode:ce,[se]:1},Ee={load:0,save:0,[fe]:n+"_values"},pe=(e,n,l,t)=>{const o=S();return N(e,((e,r)=>{const i=c(R(w(n,E(e)?{[l]:e}:e)),0,x(n));f(i[0])||t(r,i[0])||F(o,r,i)})),o};var me=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Te="pragma ",Ae="data_version",Le="schema_version",Oe=(e,l,t,o,r,i,u,a)=>{let d,s;const[v,y,f,h]=(e=>{const l=(e=>w(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(w(Ee,i)),0,x(Ee)),a=u[2],d=j(a);return[0,t,[pe(o,{[ye]:null,[ve]:H},ye,(e=>_(d,e)&&e==a)),pe(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(d,n)&&n==a)),u],d]})(l);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Te+Ae))[0][Ae],l=(yield t(Te+Le))[0][Le];n==(null!=d?d:d=n)&&l==(null!=s?s:s=l)||(e(),d=n,s=l)}catch(e){}}))),1e3*y),o((n=>h.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,T(h),a)},Pe=(e,n,l,t,o)=>Oe(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=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(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Pe as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as t}from"fs";import{readFile as
|
|
1
|
+
import{watch as t}from"fs";import{readFile as n,writeFile as e}from"fs/promises";const o="utf8",l=(t,n)=>t instanceof n,r=t=>null==t,i=Object,u=i.keys,s=i.freeze,d=t=>(t=>l(t,i)&&t.constructor==i)(t)&&0==(t=>u(t).length)(t),a=JSON.parse,c=t=>new Map(t),v=(t,n)=>null==t?void 0:t.get(n),f=(t,n,e)=>{return r(e)?(l=n,null==(o=t)||o.delete(l),t):null==t?void 0:t.set(n,e);var o,l},y=(t,n,e)=>{var o,l,r;return l=n,null!=(r=null==(o=t)?void 0:o.has(l))&&r||f(t,n,e()),v(t,n)};var h=(t,n,e)=>new Promise(((o,l)=>{var r=t=>{try{u(e.next(t))}catch(t){l(t)}},i=t=>{try{u(e.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((e=e.apply(t,n)).next())}));const p=c(),m=c();var A=(t,n,e)=>new Promise(((o,l)=>{var r=t=>{try{u(e.next(t))}catch(t){l(t)}},i=t=>{try{u(e.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((e=e.apply(t,n)).next())}));const S=(u,c,S)=>((t,n,e,o,l,i,u=[])=>{let a,c,A,S=0,g=0;y(p,u,(()=>0)),y(m,u,(()=>[]));const L=t=>h(void 0,null,(function*(){return 2!=S&&(S=1,yield w.schedule((()=>h(void 0,null,(function*(){yield t(),S=0}))))),w})),w={load:(e,o)=>h(void 0,null,(function*(){return yield L((()=>h(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>h(void 0,[...e],(function*(e={},l={}){return w.stopAutoLoad(),yield w.load(e,l),g=1,A=o(((e,o)=>h(void 0,null,(function*(){if(o){const n=o();yield L((()=>h(void 0,null,(function*(){return t.setTransactionChanges(n)}))))}else yield L((()=>h(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==i||i(t)}}))))})))),w})),stopAutoLoad:()=>(g&&(l(A),A=void 0,g=0),w),save:n=>h(void 0,null,(function*(){return 1!=S&&(S=2,yield w.schedule((()=>h(void 0,null,(function*(){try{yield e(t.getContent,n)}catch(t){null==i||i(t)}S=0}))))),w})),startAutoSave:()=>h(void 0,null,(function*(){return yield w.stopAutoSave().save(),a=t.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();d(e)&&d(o)||w.save((()=>[e,o]))})),w})),stopAutoSave:()=>{var n,e;return n=a,e=t.delListener,!!r(n)||e(n),w},schedule:(...t)=>h(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(v(m,u),...t),yield h(void 0,null,(function*(){if(!v(p,u)){for(f(p,u,1);!r((t=v(m,u),c=t.shift()));)try{yield c()}catch(t){null==i||i(t)}f(p,u,0)}var t})),w})),getStore:()=>t,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(w)})(u,(()=>A(void 0,null,(function*(){return a(yield n(c,o))}))),(t=>A(void 0,null,(function*(){return yield e(c,(n=t(),JSON.stringify(n,((t,n)=>l(n,Map)?i.fromEntries([...n]):n))),o);var n}))),(n=>t(c,(()=>n()))),(t=>null==t?void 0:t.close()),S);export{S as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse;var
|
|
1
|
+
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse,u=t=>new Map(t),d=(t,e)=>null==t?void 0:t.get(e),a=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},s=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||a(t,e,n()),d(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const v=u(),y=u();var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const f=t=>t.headers.get("ETag"),p=(o,u,p,g,A)=>{let S;return((t,n,o,i,u,h,f=[])=>{let p,g,A,S=0,m=0;s(v,f,(()=>0)),s(y,f,(()=>[]));const x=t=>c(void 0,null,(function*(){return 2!=S&&(S=1,yield C.schedule((()=>c(void 0,null,(function*(){yield t(),S=0}))))),C})),C={load:(e,o)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>c(void 0,[...e],(function*(e={},o={}){return C.stopAutoLoad(),yield C.load(e,o),m=1,A=i(((e,o)=>c(void 0,null,(function*(){if(o){const e=o();yield x((()=>c(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>c(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==h||h(t)}}))))})))),C})),stopAutoLoad:()=>(m&&(u(A),A=void 0,m=0),C),save:e=>c(void 0,null,(function*(){return 1!=S&&(S=2,yield C.schedule((()=>c(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==h||h(t)}S=0}))))),C})),startAutoSave:()=>c(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(d(y,f),...t),yield c(void 0,null,(function*(){if(!d(v,f)){for(a(v,f,1);!e((t=d(y,f),g=t.shift()));)try{yield g()}catch(t){null==h||h(t)}a(v,f,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>h(void 0,null,(function*(){const t=yield fetch(u);return S=f(t),i(yield t.text())}))),(e=>h(void 0,null,(function*(){return yield fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o)))});var o}))),(t=>setInterval((()=>h(void 0,null,(function*(){const n=yield fetch(u,{method:"HEAD"}),o=f(n);e(S)||e(o)||o==S||(S=o,t())}))),1e3*g)),(t=>clearInterval(t)),A)};export{p as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),S=e=>u(T(e)),x=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),g=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(m(e,n)||j(e,n,t()),I(e,n)),M=(e,n,t,l=j)=>(R(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F=e=>new Set(Array.isArray(e)||f(e)?e:[e]),$=(e,n)=>null==e?void 0:e.add(n),B="_",k="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var W=Object.defineProperty,q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(q)for(var t of q(n))U.call(n,t)&&V(e,t,n[t]);return e},z=(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 G="FROM pragma_table_",K="WHERE",Q=(e,n,l)=>{const o=g();return[()=>z(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+G+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,M(_(o,n,g),t,((e,n,t)=>{t!=I(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>z(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,t)?A(d(i(yield e("SELECT*FROM"+H(n)),(e=>{return[e[t],(n=Y({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!x(n)))):{}})),(n,l,u,c,v,y=!1)=>z(void 0,null,(function*(){const p=F();R(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>$(p,e)))));const h=b(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+H(n)),void j(o,n);if(a(h)||m(o,n)){const t=I(o,n),r=F(C(t));yield E([...i(h,(l=>z(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${H(n)}ADD${H(l)}`),j(t,l,""))})))),...!y&&c?i(b(r),(o=>z(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${H(n)}DROP${H(o)}`),j(t,o))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(l)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>t+H(e))))});`),j(o,n,g([[l,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield E(R(u,((t,o)=>z(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+H(n)+K+H(l)+"=?",[o]):a(h)||(yield X(e,n,l,T(t),[o,...N(t)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const t=d(C(I(o,n)),(e=>e!=l)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,l,t,r),yield e("DELETE FROM"+H(n)+K+H(l)+"NOT IN("+Z(a)+")",a)}})),n=>z(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},X=(e,n,l,a,d)=>z(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(l)+r(i(a,(e=>t+H(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+H(l)+")DO UPDATE SET"+r(i(a,(e=>H(e)+"=excluded."+H(e))),t),d)})),Z=e=>r(i(e,(()=>"?")),t),ee=JSON.parse;var ne=(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 te=g(),le=g(),oe=(e,n,t,l,o,r,i=[])=>{let u,a,d,c=0,v=0;_(te,i,(()=>0)),_(le,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),v=1,d=l(((t,l)=>ne(void 0,null,(function*(){if(l){const n=l();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(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)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(le,i),...e),yield ne(void 0,null,(function*(){if(!I(te,i)){for(j(te,i,1);!f((e=I(le,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(te,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};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="store",ue=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,k))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[B]:{[ie]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};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 de=(e,n,t,l,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),b=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((t,l)=>ae(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,k,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!x(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,k))[B]:{}}));return x(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,t]=e();yield b(n),yield O(t)}else{const[e,t]=n();yield b(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,t,l)=>{const o=g();return R(e,((e,r)=>{const i=c(N(L(n,h(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(r,i[0])||j(o,r,i)})),o};var me=(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 ",Oe="data_version",Pe="schema_version",Te=(e,t,l,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const t=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[se];if(t.mode==ce){const{storeTableName:e=n}=t;return[1,l,[e],F(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(N(L(he,i)),0,S(he)),a=u[2],d=F(a);return[0,l,[Ee(o,{[ye]:null,[ve]:k},ye,(e=>$(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:k,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>$(d,n)&&n==a)),u],d]})(t);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield l(be+Oe))[0][Oe],t=(yield l(be+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=s?s:s=t)||(e(),d=n,s=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,b(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Re=Object.prototype.propertyIsEnumerable,Ne=(e,n,t)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Se=(e,n,t,l,o,r)=>Te(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Le.call(n,t)&&Ne(e,t,n[t]);if(Ae)for(var t of Ae(n))Re.call(n,t)&&Ne(e,t,n[t]);return e})({},e)))},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.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);export{Se as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,l)=>f(e)?null==l?void 0:l():n(e),h=n=>e(n)==t,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),N=(e,n)=>i(P.entries(e),(([e,l])=>n(l,e))),R=e=>P.values(e),S=e=>u(T(e)),g=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),x=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>f(l)?(b(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(m(e,n)||j(e,n,l()),I(e,n)),M=(e,n,l,t=j)=>(N(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),$=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,G=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))Y.call(n,l)&&z(e,l,n[l]);return e},K=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const V="FROM pragma_table_",q="WHERE",Q=(e,n,t)=>{const o=x();return[()=>K(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(o,n,M(F(o,n,x),l,((e,n,l)=>{l!=I(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,l)?A(d(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=G({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!g(n)))):{}})),(n,t,u,c,v,y=!1)=>K(void 0,null,(function*(){const p=$();N(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>_(p,e)))));const h=O(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+W(n)),void j(o,n);if(a(h)||m(o,n)){const l=I(o,n),r=$(C(l));yield E([...i(h,(t=>K(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),j(l,t,""))})))),...!y&&c?i(O(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>l+W(e))))});`),j(o,n,x([[t,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield E(N(u,((l,o)=>K(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+q+W(t)+"=?",[o]):a(h)||(yield X(e,n,t,T(l),[o,...R(l)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=d(C(I(o,n)),(e=>e!=t)),r=[],a=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+q+W(t)+"NOT IN("+Z(a)+")",a)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,a,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(a,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(a,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=x(),te=x(),oe=(e,n,l,t,o,r,i=[])=>{let u,a,d,c=0,v=0;F(le,i,(()=>0)),F(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),v=1,d=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();g(l)&&g(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(te,i),...e),yield ne(void 0,null,(function*(){if(!I(le,i)){for(j(le,i,1);!f((e=I(te,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(le,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie="store",ue=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield a(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),O=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((l,t)=>ae(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),b=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!g(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,H))[B]:{}}));return g(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield O(n),yield b(l)}else{const[e,l]=n();yield O(e,!0),yield b(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,l,t)=>{const o=x();return N(e,((e,r)=>{const i=c(R(L(n,h(e)?{[l]:e}:e)),0,S(n));f(i[0])||t(r,i[0])||j(o,r,i)})),o};var me=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="pragma ",be="data_version",Pe="schema_version",Te=(e,l,t,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const l=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(L(he,i)),0,S(he)),a=u[2],d=$(a);return[0,t,[Ee(o,{[ye]:null,[ve]:H},ye,(e=>_(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(d,n)&&n==a)),u],d]})(l);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Oe+be))[0][be],l=(yield t(Oe+Pe))[0][Pe];n==(null!=d?d:d=n)&&l==(null!=s?s:s=l)||(e(),d=n,s=l)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,O(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Re=(e,n,l)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l;const Se="change",ge=(e,n,l,t,o)=>Te(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n.map((e=>((e,n)=>{for(var l in n||(n={}))Le.call(n,l)&&Re(e,l,n[l]);if(Ae)for(var l of Ae(n))Ne.call(n,l)&&Re(e,l,n[l]);return e})({},e)))))),new v(t));var t},new Promise(((e,n)=>{var l=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(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>{const l=(n,l,t)=>e(t);return n.on(Se,l),l}),(e=>n.off(Se,e)),t,o,n);export{ge as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,
|
|
1
|
+
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,u=r.keys,i=r.freeze,s=(t=[])=>r.fromEntries(t),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),d=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),c=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>e(u(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]),f=t=>new Map(t),y=(t,e)=>null==t?void 0:t.get(e),h=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t))),g=(t,e,n)=>{return o(n)?(r=e,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(e,n);var l,r},p=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||g(t,e,n()),y(t,e)};var S=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const m=f(),w=f();var A=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const O="t",J="delete",L=t=>[t.get(O),t.get("v")],N=(e,n,l,r)=>{var u;const i=o(n)?e:null!=(u=e.get(n))?u:e.set(n,new t);let s;return d(l,((t,e)=>{r(i,e,t)&&(s=1)})),i.forEach(((t,e)=>{a(l,e)||(i.delete(e),s=1)})),o(n)||i.size||e.delete(n),s},x=(r,u,a="tinybase",f)=>{const x=u.getMap(a);return((t,e,r,u,s,a,d=[])=>{let v,f,h,A=0,O=0;p(m,d,(()=>0)),p(w,d,(()=>[]));const J=t=>S(void 0,null,(function*(){return 2!=A&&(A=1,yield L.schedule((()=>S(void 0,null,(function*(){yield t(),A=0}))))),L})),L={load:(n,o)=>S(void 0,null,(function*(){return yield J((()=>S(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>S(void 0,[...n],(function*(n={},o={}){return L.stopAutoLoad(),yield L.load(n,o),O=1,h=u(((n,o)=>S(void 0,null,(function*(){if(o){const e=o();yield J((()=>S(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield J((()=>S(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==a||a(t)}}))))})))),L})),stopAutoLoad:()=>(O&&(s(h),h=void 0,O=0),L),save:e=>S(void 0,null,(function*(){return 1!=A&&(A=2,yield L.schedule((()=>S(void 0,null,(function*(){try{yield r(t.getContent,e)}catch(t){null==a||a(t)}A=0}))))),L})),startAutoSave:()=>S(void 0,null,(function*(){return yield L.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();c(n)&&c(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>(l(v,t.delListener),L),schedule:(...t)=>S(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y(w,d),...t),yield S(void 0,null,(function*(){if(!y(m,d)){for(g(m,d,1);!o(f=n(y(w,d)));)try{yield f()}catch(t){null==a||a(t)}g(m,d,0)}})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(L)})(r,(()=>A(void 0,null,(function*(){return x.size?[x.get(O).toJSON(),x.get("v").toJSON()]:void 0}))),((e,n)=>A(void 0,null,(function*(){return u.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(O,new t),e.set("v",new t))})(e);const[u,i]=L(e),s=()=>{a=1};let a=1;if(l(null==r?void 0:r(),(([t,e])=>{a=0,d(t,((t,e)=>a?0:o(t)?u.delete(e):l(u.get(e),(e=>d(t,((t,n)=>a?0:o(t)?e.delete(n):l(e.get(n),(e=>d(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),d(e,((t,e)=>a?0:o(t)?i.delete(e):i.set(e,t)))})),a){const[t,e]=n();N(u,void 0,t,((t,e,n)=>N(u,e,n,((t,e,n)=>N(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),N(i,void 0,e,((t,e,n)=>{i.get(e)!==n&&i.set(e,n)}))}})(x,e,n)))}))),(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[u,i]=L(t),a={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==O?l(n(t),(o=>{const r=v(a,o,s),i=u.get(o);l(n(t),(t=>{const n=v(r,t,s),o=i.get(t);h(e,((t,{action:e})=>n[t]=e==J?null:o.get(t)))}),(()=>h(e,((t,{action:e})=>{var n;return r[t]=e==J?null:null==(n=i.get(t))?void 0:n.toJSON()}))))}),(()=>h(e,((t,{action:e})=>{var n;return a[t]=e==J?null:null==(n=u.get(t))?void 0:n.toJSON()})))):h(e,((t,{action:e})=>d[t]=e==J?null:i.get(t)))))})(o),[a,d]})(x,o)));return x.observeDeep(o),o}),(t=>{x.unobserveDeep(t)}),f)};export{x as createYjsPersister};
|
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t);var i=(t,n,e)=>new Promise(((o,l)=>{var
|
|
1
|
+
const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t),u=t=>new Map(t),i=(t,n)=>null==t?void 0:t.get(n),r=(n,e,o)=>{return t(o)?(u=e,null==(l=n)||l.delete(u),n):null==n?void 0:n.set(e,o);var l,u},d=(t,n,e)=>{var o,l,u;return l=n,null!=(u=null==(o=t)?void 0:o.has(l))&&u||r(t,n,e()),i(t,n)};var s=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const a=u(),c=u(),v=(n,e,u,v,y,f,h=[])=>{let p,A,g,L=0,S=0;d(a,h,(()=>0)),d(c,h,(()=>[]));const C=t=>s(void 0,null,(function*(){return 2!=L&&(L=1,yield w.schedule((()=>s(void 0,null,(function*(){yield t(),L=0}))))),w})),w={load:(t,o)=>s(void 0,null,(function*(){return yield C((()=>s(void 0,null,(function*(){try{n.setContent(yield e())}catch(e){n.setContent([t,o])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},o={}){return w.stopAutoLoad(),yield w.load(t,o),S=1,g=v(((t,o)=>s(void 0,null,(function*(){if(o){const t=o();yield C((()=>s(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>s(void 0,null,(function*(){var o;try{n.setContent(null!=(o=null==t?void 0:t())?o:yield e())}catch(t){null==f||f(t)}}))))})))),w})),stopAutoLoad:()=>(S&&(y(g),g=void 0,S=0),w),save:t=>s(void 0,null,(function*(){return 1!=L&&(L=2,yield w.schedule((()=>s(void 0,null,(function*(){try{yield u(n.getContent,t)}catch(t){null==f||f(t)}L=0}))))),w})),startAutoSave:()=>s(void 0,null,(function*(){return yield w.stopAutoSave().save(),p=n.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();l(e)&&l(o)||w.save((()=>[e,o]))})),w})),stopAutoSave:()=>{var e,o;return e=p,o=n.delListener,!!t(e)||o(e),w},schedule:(...n)=>s(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(i(c,h),...n),yield s(void 0,null,(function*(){if(!i(a,h)){for(r(a,h,1);!t((n=i(c,h),A=n.shift()));)try{yield A()}catch(t){null==f||f(t)}r(a,h,0)}var n})),w})),getStore:()=>n,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(w)};export{v as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|