tinybase 4.0.0-beta.5.2 → 4.0.0
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-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-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 +22 -20
- package/lib/debug/persisters/persister-browser.js +28 -20
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
- package/lib/debug/persisters/persister-file.js +28 -20
- package/lib/debug/persisters/persister-remote.js +28 -20
- package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
- package/lib/debug/persisters/persister-sqlite3.js +199 -150
- package/lib/debug/persisters/persister-yjs.js +28 -20
- package/lib/debug/persisters.js +29 -20
- package/lib/debug/tinybase.js +22 -20
- 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-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-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-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- 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-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-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 +16 -16
- package/readme.md +14 -14
package/lib/debug/persisters.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
const arrayLength = (array) => array.length;
|
|
1
2
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
2
3
|
const arrayShift = (array) => array.shift();
|
|
3
4
|
|
|
5
|
+
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
4
6
|
const isUndefined = (thing) => thing == void 0;
|
|
5
7
|
const ifNotUndefined = (value, then, otherwise) =>
|
|
6
8
|
isUndefined(value) ? otherwise?.() : then(value);
|
|
7
9
|
|
|
8
10
|
const object = Object;
|
|
11
|
+
const objIds = object.keys;
|
|
9
12
|
const objFreeze = object.freeze;
|
|
13
|
+
const isObject = (obj) =>
|
|
14
|
+
isInstanceOf(obj, object) && obj.constructor == object;
|
|
15
|
+
const objSize = (obj) => arrayLength(objIds(obj));
|
|
16
|
+
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
10
17
|
|
|
11
18
|
const createCustomPersister = (
|
|
12
19
|
store,
|
|
@@ -43,27 +50,28 @@ const createCustomPersister = (
|
|
|
43
50
|
{
|
|
44
51
|
loads++;
|
|
45
52
|
}
|
|
46
|
-
await
|
|
47
|
-
|
|
53
|
+
await persister.schedule(async () => {
|
|
54
|
+
await actions();
|
|
55
|
+
loadSave = 0;
|
|
56
|
+
});
|
|
48
57
|
}
|
|
58
|
+
return persister;
|
|
49
59
|
};
|
|
50
60
|
const persister = {
|
|
51
|
-
load: async (initialTables, initialValues) =>
|
|
61
|
+
load: async (initialTables, initialValues) =>
|
|
52
62
|
await loadLock(async () => {
|
|
53
63
|
try {
|
|
54
64
|
store.setContent(await getPersisted());
|
|
55
65
|
} catch {
|
|
56
66
|
store.setContent([initialTables, initialValues]);
|
|
57
67
|
}
|
|
58
|
-
})
|
|
59
|
-
return persister;
|
|
60
|
-
},
|
|
68
|
+
}),
|
|
61
69
|
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
62
70
|
persister.stopAutoLoad();
|
|
63
71
|
await persister.load(initialTables, initialValues);
|
|
64
72
|
listening = 1;
|
|
65
73
|
listeningHandle = addPersisterListener(
|
|
66
|
-
async (getContent, getTransactionChanges) =>
|
|
74
|
+
async (getContent, getTransactionChanges) =>
|
|
67
75
|
await loadLock(async () => {
|
|
68
76
|
if (getTransactionChanges) {
|
|
69
77
|
store.setTransactionChanges(getTransactionChanges());
|
|
@@ -72,8 +80,7 @@ const createCustomPersister = (
|
|
|
72
80
|
store.setContent(getContent?.() ?? (await getPersisted()));
|
|
73
81
|
} catch {}
|
|
74
82
|
}
|
|
75
|
-
})
|
|
76
|
-
},
|
|
83
|
+
}),
|
|
77
84
|
);
|
|
78
85
|
return persister;
|
|
79
86
|
},
|
|
@@ -86,27 +93,29 @@ const createCustomPersister = (
|
|
|
86
93
|
return persister;
|
|
87
94
|
},
|
|
88
95
|
save: async (getTransactionChanges) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
/* istanbul ignore else */
|
|
97
|
+
if (loadSave != 1) {
|
|
98
|
+
loadSave = 2;
|
|
99
|
+
{
|
|
100
|
+
saves++;
|
|
101
|
+
}
|
|
102
|
+
await persister.schedule(async () => {
|
|
96
103
|
try {
|
|
97
104
|
await setPersisted(store.getContent, getTransactionChanges);
|
|
98
105
|
} catch {}
|
|
99
106
|
loadSave = 0;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
102
109
|
return persister;
|
|
103
110
|
},
|
|
104
111
|
startAutoSave: async () => {
|
|
105
112
|
await persister.stopAutoSave().save();
|
|
106
113
|
listenerId = store.addDidFinishTransactionListener(
|
|
107
114
|
(_store, getTransactionChanges) => {
|
|
108
|
-
const
|
|
109
|
-
|
|
115
|
+
const [tableChanges, valueChanges] = getTransactionChanges();
|
|
116
|
+
if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
|
|
117
|
+
persister.save(() => [tableChanges, valueChanges]);
|
|
118
|
+
}
|
|
110
119
|
},
|
|
111
120
|
);
|
|
112
121
|
return persister;
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -1062,27 +1062,28 @@ const createCustomPersister = (
|
|
|
1062
1062
|
{
|
|
1063
1063
|
loads++;
|
|
1064
1064
|
}
|
|
1065
|
-
await
|
|
1066
|
-
|
|
1065
|
+
await persister.schedule(async () => {
|
|
1066
|
+
await actions();
|
|
1067
|
+
loadSave = 0;
|
|
1068
|
+
});
|
|
1067
1069
|
}
|
|
1070
|
+
return persister;
|
|
1068
1071
|
};
|
|
1069
1072
|
const persister = {
|
|
1070
|
-
load: async (initialTables, initialValues) =>
|
|
1073
|
+
load: async (initialTables, initialValues) =>
|
|
1071
1074
|
await loadLock(async () => {
|
|
1072
1075
|
try {
|
|
1073
1076
|
store.setContent(await getPersisted());
|
|
1074
1077
|
} catch {
|
|
1075
1078
|
store.setContent([initialTables, initialValues]);
|
|
1076
1079
|
}
|
|
1077
|
-
})
|
|
1078
|
-
return persister;
|
|
1079
|
-
},
|
|
1080
|
+
}),
|
|
1080
1081
|
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
1081
1082
|
persister.stopAutoLoad();
|
|
1082
1083
|
await persister.load(initialTables, initialValues);
|
|
1083
1084
|
listening = 1;
|
|
1084
1085
|
listeningHandle = addPersisterListener(
|
|
1085
|
-
async (getContent, getTransactionChanges) =>
|
|
1086
|
+
async (getContent, getTransactionChanges) =>
|
|
1086
1087
|
await loadLock(async () => {
|
|
1087
1088
|
if (getTransactionChanges) {
|
|
1088
1089
|
store.setTransactionChanges(getTransactionChanges());
|
|
@@ -1091,8 +1092,7 @@ const createCustomPersister = (
|
|
|
1091
1092
|
store.setContent(getContent?.() ?? (await getPersisted()));
|
|
1092
1093
|
} catch {}
|
|
1093
1094
|
}
|
|
1094
|
-
})
|
|
1095
|
-
},
|
|
1095
|
+
}),
|
|
1096
1096
|
);
|
|
1097
1097
|
return persister;
|
|
1098
1098
|
},
|
|
@@ -1105,27 +1105,29 @@ const createCustomPersister = (
|
|
|
1105
1105
|
return persister;
|
|
1106
1106
|
},
|
|
1107
1107
|
save: async (getTransactionChanges) => {
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1108
|
+
/* istanbul ignore else */
|
|
1109
|
+
if (loadSave != 1) {
|
|
1110
|
+
loadSave = 2;
|
|
1111
|
+
{
|
|
1112
|
+
saves++;
|
|
1113
|
+
}
|
|
1114
|
+
await persister.schedule(async () => {
|
|
1115
1115
|
try {
|
|
1116
1116
|
await setPersisted(store.getContent, getTransactionChanges);
|
|
1117
1117
|
} catch {}
|
|
1118
1118
|
loadSave = 0;
|
|
1119
|
-
}
|
|
1120
|
-
}
|
|
1119
|
+
});
|
|
1120
|
+
}
|
|
1121
1121
|
return persister;
|
|
1122
1122
|
},
|
|
1123
1123
|
startAutoSave: async () => {
|
|
1124
1124
|
await persister.stopAutoSave().save();
|
|
1125
1125
|
listenerId = store.addDidFinishTransactionListener(
|
|
1126
1126
|
(_store, getTransactionChanges) => {
|
|
1127
|
-
const
|
|
1128
|
-
|
|
1127
|
+
const [tableChanges, valueChanges] = getTransactionChanges();
|
|
1128
|
+
if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
|
|
1129
|
+
persister.save(() => [tableChanges, valueChanges]);
|
|
1130
|
+
}
|
|
1129
1131
|
},
|
|
1130
1132
|
);
|
|
1131
1133
|
return persister;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,
|
|
1
|
+
const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,l=n.freeze,i=(t,n)=>e(t,(t=>t[n])),r=(e,n)=>!t(i(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),d=t=>o(t).length,a=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==d(t);var s=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,l)=>{const i=t(n)?e:((t,e,n)=>(r(t,e)||(t[e]={}),t[e]))(e,n);let d;return c(o,((t,e)=>{l(i,e,t)&&(d=1)})),c(i,((t,e)=>{r(o,e)||(u(i,e),d=1)})),!t(n)&&a(i)&&u(e,n),d},f=(n,o,r="tinybase")=>(o.change((t=>t[r]={})),((n,d,f,p,g)=>{let A,L,m,S=0,x=0,C=0;const w=[],P=t=>s(void 0,null,(function*(){return 2!=S&&(S=1,yield b.schedule((()=>s(void 0,null,(function*(){yield t(),S=0}))))),b})),b={load:(t,e)=>s(void 0,null,(function*(){return yield P((()=>s(void 0,null,(function*(){try{n.setContent(yield d())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,m=(t=>{const e=({doc:e})=>t((()=>y(e,r)));return o.on("change",e),e})(((t,e)=>s(void 0,null,(function*(){return yield P((()=>s(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield d())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=m,o.removeListener("change",t),m=void 0,C=0),b;var t},save:l=>s(void 0,null,(function*(){return 1!=S&&(S=2,yield b.schedule((()=>s(void 0,null,(function*(){try{yield((n,l)=>v(void 0,null,(function*(){return o.change((o=>((n,o,l,r)=>{((t,e)=>{a(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[d,s]=y(n,o),v=()=>{f=1};let f=1;if(e(null==r?void 0:r(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(d,o):e(d[o],(o=>c(n,((n,l)=>f?0:t(n)?u(o,l):e(i(o,l),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(s,n):s[n]=e))})),f){const[t,e]=l();h(d,void 0,t,((t,e,n)=>h(d,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(i(t,e)!==n)return t[e]=n,1})))))),h(s,void 0,e,((t,e,n)=>{i(s,e)!==n&&(s[e]=n)}))}})(o,r,n,l)))})))(n.getContent,l)}catch(t){}S=0}))))),b})),startAutoSave:()=>s(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();a(n)&&a(o)||b.save((()=>[n,o]))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>s(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...e),yield s(void 0,null,(function*(){if(!x){for(x=1;!t((e=w,L=e.shift()));)try{yield L()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(b)})(n,(()=>v(void 0,null,(function*(){return 2==d(o.doc[r])?y(o.doc,r):void 0})))));export{f as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,e=t=>null==t,
|
|
1
|
+
const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const s="storage",d=globalThis.window,c=(o,r,c)=>((o,v,y,f,h)=>{let p,g,S,A=0,L=0,m=0;const w=[],x=t=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield C.schedule((()=>u(void 0,null,(function*(){yield t(),A=0}))))),C})),C={load:(t,e)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){try{o.setContent(yield v())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},n={}){return C.stopAutoLoad(),yield C.load(e,n),m=1,S=(e=>{const n=n=>{n.storageArea===c&&n.key===r&&e((()=>t(n.newValue)))};return d.addEventListener(s,n),n})(((t,e)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield v())}catch(t){}}))))})))),C})),stopAutoLoad:()=>{return m&&(t=S,d.removeEventListener(s,t),S=void 0,m=0),C;var t},save:t=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield C.schedule((()=>u(void 0,null,(function*(){try{yield(t=o.getContent,a(void 0,null,(function*(){return c.setItem(r,(n=t(),JSON.stringify(n,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r}))));var n})))}catch(t){}var t;A=0}))))),C})),startAutoSave:()=>u(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var t,e;return t=p,e=o.delListener,!!n(t)||e(t),C},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...t),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((t=w,g=t.shift()));)try{yield g()}catch(t){}L=0}var t})),C})),getStore:()=>o,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>a(void 0,null,(function*(){return t(c.getItem(r))})))),v=(t,e)=>c(t,e,localStorage),y=(t,e)=>c(t,e,sessionStorage);export{v as createLocalPersister,y as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),O=Object,P=O.keys,L=O.freeze,w=(e=[])=>O.fromEntries(e),b=(...e)=>O.assign({},...e),x=(e,n)=>(delete e[n],e),N=(e,n)=>o(O.entries(e),(([e,t])=>n(t,e))),S=e=>O.values(e),C=e=>i(P(e)),R=e=>(e=>y(e,O)&&e.constructor==O)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(T(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=_)=>(N(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)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&Y(e,t,n[t]);if(H)for(var t of H(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",q="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(D(D(l,e),n)),s=(n,d,s,v,y)=>K(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(P(e),(e=>U(f,e)))));const h=A(f);if(u(h)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void _(l,n);if(u(h)||E(l,n)){const t=D(l,n),r=B(I(t));yield m([...o(h,(l=>K(void 0,null,(function*(){T(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),_(t,l,""))})))),...s?o(A(r),(l=>K(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),_(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(h,(e=>t+M(e))))});`),_(l,n,g([[d,""],...o(h,(e=>[e,""]))]));if(u(h))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(D(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return j(l,w(yield m(o(yield e("SELECT name "+q+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return _(l,n,j((i=g,E(r=l,o=n)||_(r,o,i()),D(r,o)),t,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(l,n)))})),(n,t)=>K(void 0,null,(function*(){const l=d(n,t)?yield e(V+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:x(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(V+M(n)),(e=>[e[t],x(z({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield p.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),p})),p={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield p.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),p})),startAutoSave:()=>Z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,h,p]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m($(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m($(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield p(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return N(e,((e,o)=>{const i=d(S(b(n,p(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r},fe="pragma ",he="data_version",pe="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>b(se,p(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(S(b(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>U(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>U(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+he))[0][he],t=(yield l(fe+pe))[0][pe];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,A(v))},Ee=(e,n,t)=>me(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()));export{Ee as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",r=JSON.parse,i=t=>null==t,
|
|
1
|
+
import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",r=JSON.parse,l=(t,e)=>t instanceof e,i=t=>null==t,u=Object,a=u.keys,s=u.freeze,d=t=>(t=>l(t,u)&&t.constructor==u)(t)&&0==(t=>a(t).length)(t);var c=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const y=(u,a)=>((e,r,u,y,f)=>{let h,p,m,A=0,S=0,g=0;const L=[],x=t=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield C.schedule((()=>c(void 0,null,(function*(){yield t(),A=0}))))),C})),C={load:(t,n)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){try{e.setContent(yield r())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>c(void 0,[...n],(function*(n={},o={}){return C.stopAutoLoad(),yield C.load(n,o),g=1,l=(t,n)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield r())}catch(t){}}))))})),m=t(a,(()=>l())),C;var l})),stopAutoLoad:()=>{return g&&(null==(t=m)||t.close(),m=void 0,g=0),C;var t},save:t=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield C.schedule((()=>c(void 0,null,(function*(){try{yield(t=e.getContent,v(void 0,null,(function*(){return yield n(a,(e=t(),JSON.stringify(e,((t,e)=>{return l(e,Map)?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))),o);var e})))}catch(t){}var t;A=0}))))),C})),startAutoSave:()=>c(void 0,null,(function*(){return yield C.stopAutoSave().save(),h=e.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var t,n;return t=h,n=e.delListener,!!i(t)||n(t),C},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield c(void 0,null,(function*(){if(!S){for(S=1;!i((t=L,p=t.shift()));)try{yield p()}catch(t){}S=0}var t})),C})),getStore:()=>e,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(C)})(u,(()=>v(void 0,null,(function*(){return r(yield e(a,o))}))));export{y as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,e=t=>null==t,
|
|
1
|
+
const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const d=t=>t.headers.get("ETag"),c=(o,r,c,s)=>{let v;return((t,o,y,h,f)=>{let p,A,S,g=0,m=0,x=0;const C=[],L=t=>u(void 0,null,(function*(){return 2!=g&&(g=1,yield P.schedule((()=>u(void 0,null,(function*(){yield t(),g=0}))))),P})),P={load:(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){try{t.setContent(yield o())}catch(o){t.setContent([e,n])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},l={}){return P.stopAutoLoad(),yield P.load(e,l),x=1,i=(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){var r;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(r=null==e?void 0:e())?r:yield o())}catch(t){}}))))})),S=setInterval((()=>a(void 0,null,(function*(){const t=yield fetch(r,{method:"HEAD"}),e=d(t);n(v)||n(e)||e==v||(v=e,i())}))),1e3*s),P;var i})),stopAutoLoad:()=>(x&&(clearInterval(S),S=void 0,x=0),P),save:n=>u(void 0,null,(function*(){return 1!=g&&(g=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(n=t.getContent,a(void 0,null,(function*(){return yield fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=n(),JSON.stringify(t,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r})))});var t})))}catch(t){}var n;g=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var e,o;return e=p,o=t.delListener,!!n(e)||o(e),P},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(C,...t),yield u(void 0,null,(function*(){if(!m){for(m=1;!n((t=C,A=t.shift()));)try{yield A()}catch(t){}m=0}var t})),P})),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(P)})(o,(()=>a(void 0,null,(function*(){const e=yield fetch(r);return v=d(e),t(yield e.text())}))))};export{c as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,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,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(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,w=P.keys,A=P.freeze,T=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),S=(e,n)=>(delete e[n],e),x=(e,n)=>o(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),C=e=>i(w(e)),R=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(x(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),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,k=e=>new Set(Array.isArray(e)||f(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,W=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(H)for(var t of H(n))U.call(n,t)&&V(e,t,n[t]);return e},Y=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const z="SELECT*FROM",K="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(_(_(l,e),n)),s=(n,d,s,v,y)=>Y(void 0,null,(function*(){const f=k();x(null!=y?y:{},(e=>o(w(e),(e=>B(f,e)))));const p=b(f);if(u(p)&&E(l,n)&&v)return yield e("DROP TABLE"+F(n)),void D(l,n);if(u(p)||E(l,n)){const t=_(l,n),r=k(I(t));yield m([...o(p,(l=>Y(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${F(n)}ADD${F(l)}`),D(t,l,""))})))),...s?o(b(r),(l=>Y(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${F(n)}DROP${F(l)}`),D(t,l))})))):[]])}else yield e(`CREATE TABLE${F(n)}(${F(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>t+F(e))))});`),D(l,n,g([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,n)&&(yield e("DELETE FROM"+F(n)));else{const u=[],s=[],v=[],f=a(I(_(l,n)),(e=>e!=d));x(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+F(n)+"("+F(d)+r(o(f,(e=>t+F(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+F(d)+")DO UPDATE SET"+r(o(f,(e=>F(e)+"=excluded."+F(e))),t),s),yield e("DELETE FROM"+F(n)+G+F(d)+"NOT IN("+X(v)+")",v)}}));return[()=>Y(void 0,null,(function*(){return $(l,T(yield m(o(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>Y(void 0,[n],(function*({name:n}){return[n,T(o(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return D(l,n,$((i=g,E(r=l,o=n)||D(r,o,i()),_(r,o)),t,((e,n,t)=>{t!=_(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,n)=>D(l,n)))})),(n,t)=>Y(void 0,null,(function*(){const l=d(n,t)?yield e(z+F(n)+G+F(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>Y(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>Y(void 0,null,(function*(){return d(n,t)?T(a(o(yield e(z+F(n)),(e=>[e[t],S(W({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(h)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,M))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,M,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return T(a(yield m(j(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,M):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(j(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,M,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return x(e,((e,o)=>{const i=d(N(L(n,h(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],k(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(N(L(ve,i)),0,C(ve)),a=u[2],c=k(a);return[0,l,[ye(r,{[de]:null,[ae]:M},de,(e=>B(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:M,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>B(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+pe))[0][pe],t=(yield l(fe+he))[0][he];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,we=(e,n,t)=>n in e?Ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Ae=(e,n,t,l)=>me(e,l,((e,...n)=>{return l=[e,...n],r=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Oe.call(n,t)&&we(e,t,n[t]);if(be)for(var t of be(n))Pe.call(n,t)&&we(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,r)=>e(r)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)));export{Ae as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,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,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(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),A=Object,P=A.keys,T=A.freeze,w=(e=[])=>A.fromEntries(e),L=(...e)=>A.assign({},...e),S=(e,n)=>(delete e[n],e),N=(e,n)=>o(A.entries(e),(([e,t])=>n(t,e))),g=e=>A.values(e),C=e=>i(P(e)),R=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==C(e),x=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t,l=$)=>(N(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="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var H=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&Y(e,t,n[t]);if(J)for(var t of J(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",q="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=x(),d=(e,n)=>!f(j(j(l,e),n)),s=(n,d,s,v,y)=>K(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(P(e),(e=>k(f,e)))));const p=b(f);if(u(p)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void $(l,n);if(u(p)||E(l,n)){const t=j(l,n),r=B(I(t));yield m([...o(p,(l=>K(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),$(t,l,""))})))),...s?o(b(r),(l=>K(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),$(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>t+M(e))))});`),$(l,n,x([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(j(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return _(l,w(yield m(o(yield e("SELECT name "+q+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return $(l,n,_((i=x,E(r=l,o=n)||$(r,o,i()),j(r,o)),t,((e,n,t)=>{t!=j(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var r,o,i}),((e,n)=>$(l,n)))})),(n,t)=>K(void 0,null,(function*(){const l=d(n,t)?yield e(V+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(V+M(n)),(e=>[e[t],S(z({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(h)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m(D(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(D(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=x();return N(e,((e,o)=>{const i=d(g(L(n,h(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||$(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(g(L(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>k(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>k(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+pe))[0][pe],t=(yield l(fe+he))[0][he];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Pe=(e,n,t)=>n in e?Ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Te="change",we=(e,n,t)=>me(e,t,((e,t=[])=>new s(((l,r)=>n.all(e,t,((e,n)=>e?r(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Oe.call(n,t)&&Pe(e,t,n[t]);if(be)for(var t of be(n))Ae.call(n,t)&&Pe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=(n,t,l)=>e(l);return n.on(Te,t),t}),(e=>n.off(Te,e)));export{we 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,i=r.
|
|
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,i=r.keys,u=r.freeze,s=(t=[])=>r.fromEntries(t),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),c=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>e(i(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var f=(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 y=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));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 g="t",p="delete",S=t=>[t.get(g),t.get("v")],m=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let s;return c(l,((t,e)=>{r(u,e,t)&&(s=1)})),u.forEach(((t,e)=>{a(l,e)||(u.delete(e),s=1)})),o(n)||u.size||e.delete(n),s},A=(r,i,a="tinybase")=>{const A=i.getMap(a);return((r,a,w,O,J)=>{let L,N,x,C=0,b=0,z=0;const E=[],P=t=>f(void 0,null,(function*(){return 2!=C&&(C=1,yield D.schedule((()=>f(void 0,null,(function*(){yield t(),C=0}))))),D})),D={load:(t,e)=>f(void 0,null,(function*(){return yield P((()=>f(void 0,null,(function*(){try{r.setContent(yield a())}catch(n){r.setContent([t,e])}}))))})),startAutoLoad:(...t)=>f(void 0,[...t],(function*(t={},o={}){return D.stopAutoLoad(),yield D.load(t,o),z=1,x=(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[i,u]=S(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==g?l(n(t),(o=>{const r=v(a,o,s),u=i.get(o);l(n(t),(t=>{const n=v(r,t,s),o=u.get(t);y(e,((t,{action:e})=>n[t]=e==p?null:o.get(t)))}),(()=>y(e,((t,{action:e})=>{var n;return r[t]=e==p?null:null==(n=u.get(t))?void 0:n.toJSON()}))))}),(()=>y(e,((t,{action:e})=>{var n;return a[t]=e==p?null:null==(n=i.get(t))?void 0:n.toJSON()})))):y(e,((t,{action:e})=>c[t]=e==p?null:u.get(t)))))})(o),[a,c]})(A,o)));return A.observeDeep(o),o})(((t,e)=>f(void 0,null,(function*(){return yield P((()=>f(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield a())}catch(t){}}))))})))),D})),stopAutoLoad:()=>{return z&&(t=x,A.unobserveDeep(t),x=void 0,z=0),D;var t},save:e=>f(void 0,null,(function*(){return 1!=C&&(C=2,yield D.schedule((()=>f(void 0,null,(function*(){try{yield((e,n)=>h(void 0,null,(function*(){return i.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(g,new t),e.set("v",new t))})(e);const[i,u]=S(e),s=()=>{a=1};let a=1;if(l(null==r?void 0:r(),(([t,e])=>{a=0,c(t,((t,e)=>a?0:o(t)?i.delete(e):l(i.get(e),(e=>c(t,((t,n)=>a?0:o(t)?e.delete(n):l(e.get(n),(e=>c(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),c(e,((t,e)=>a?0:o(t)?u.delete(e):u.set(e,t)))})),a){const[t,e]=n();m(i,void 0,t,((t,e,n)=>m(i,e,n,((t,e,n)=>m(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),m(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(A,e,n)))})))(r.getContent,e)}catch(t){}C=0}))))),D})),startAutoSave:()=>f(void 0,null,(function*(){return yield D.stopAutoSave().save(),L=r.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||D.save((()=>[n,o]))})),D})),stopAutoSave:()=>(l(L,r.delListener),D),schedule:(...t)=>f(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(E,...t),yield f(void 0,null,(function*(){if(!b){for(b=1;!o(N=n(E));)try{yield N()}catch(t){}b=0}})),D})),getStore:()=>r,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(D)})(r,(()=>h(void 0,null,(function*(){return A.size?[A.get(g).toJSON(),A.get("v").toJSON()]:void 0}))))};export{A as createYjsPersister};
|
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=
|
|
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 i=t=>{try{r(e.next(t))}catch(t){l(t)}},u=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((e=e.apply(t,n)).next())}));const u=(n,e,u,r,d)=>{let s,a,c,v=0,y=0,f=0;const h=[],p=t=>i(void 0,null,(function*(){return 2!=v&&(v=1,yield A.schedule((()=>i(void 0,null,(function*(){yield t(),v=0}))))),A})),A={load:(t,o)=>i(void 0,null,(function*(){return yield p((()=>i(void 0,null,(function*(){try{n.setContent(yield e())}catch(e){n.setContent([t,o])}}))))})),startAutoLoad:(...t)=>i(void 0,[...t],(function*(t={},o={}){return A.stopAutoLoad(),yield A.load(t,o),f=1,c=r(((t,o)=>i(void 0,null,(function*(){return yield p((()=>i(void 0,null,(function*(){var l;if(o)n.setTransactionChanges(o());else try{n.setContent(null!=(l=null==t?void 0:t())?l:yield e())}catch(t){}}))))})))),A})),stopAutoLoad:()=>(f&&(d(c),c=void 0,f=0),A),save:t=>i(void 0,null,(function*(){return 1!=v&&(v=2,yield A.schedule((()=>i(void 0,null,(function*(){try{yield u(n.getContent,t)}catch(t){}v=0}))))),A})),startAutoSave:()=>i(void 0,null,(function*(){return yield A.stopAutoSave().save(),s=n.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();l(e)&&l(o)||A.save((()=>[e,o]))})),A})),stopAutoSave:()=>{var e,o;return e=s,o=n.delListener,!!t(e)||o(e),A},schedule:(...n)=>i(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(h,...n),yield i(void 0,null,(function*(){if(!y){for(y=1;!t((n=h,a=n.shift()));)try{yield a()}catch(t){}y=0}var n})),A})),getStore:()=>n,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(A)};export{u as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|