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.
Files changed (138) hide show
  1. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  2. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  4. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  6. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-file.cjs +1 -1
  8. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  10. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  16. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  17. package/lib/cjs/persisters.cjs +1 -1
  18. package/lib/cjs/persisters.cjs.gz +0 -0
  19. package/lib/cjs/tinybase.cjs +1 -1
  20. package/lib/cjs/tinybase.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters.cjs +1 -1
  38. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  39. package/lib/cjs-es6/tinybase.cjs +1 -1
  40. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  41. package/lib/debug/persisters/persister-automerge.js +22 -20
  42. package/lib/debug/persisters/persister-browser.js +28 -20
  43. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
  44. package/lib/debug/persisters/persister-file.js +28 -20
  45. package/lib/debug/persisters/persister-remote.js +28 -20
  46. package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
  47. package/lib/debug/persisters/persister-sqlite3.js +199 -150
  48. package/lib/debug/persisters/persister-yjs.js +28 -20
  49. package/lib/debug/persisters.js +29 -20
  50. package/lib/debug/tinybase.js +22 -20
  51. package/lib/es6/persisters/persister-automerge.js +1 -1
  52. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  53. package/lib/es6/persisters/persister-browser.js +1 -1
  54. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  55. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  56. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  57. package/lib/es6/persisters/persister-file.js +1 -1
  58. package/lib/es6/persisters/persister-file.js.gz +0 -0
  59. package/lib/es6/persisters/persister-remote.js +1 -1
  60. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  61. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  62. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  63. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  64. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  65. package/lib/es6/persisters/persister-yjs.js +1 -1
  66. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  67. package/lib/es6/persisters.js +1 -1
  68. package/lib/es6/persisters.js.gz +0 -0
  69. package/lib/es6/tinybase.js +1 -1
  70. package/lib/es6/tinybase.js.gz +0 -0
  71. package/lib/persisters/persister-automerge.js +1 -1
  72. package/lib/persisters/persister-automerge.js.gz +0 -0
  73. package/lib/persisters/persister-browser.js +1 -1
  74. package/lib/persisters/persister-browser.js.gz +0 -0
  75. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  76. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  77. package/lib/persisters/persister-file.js +1 -1
  78. package/lib/persisters/persister-file.js.gz +0 -0
  79. package/lib/persisters/persister-remote.js +1 -1
  80. package/lib/persisters/persister-remote.js.gz +0 -0
  81. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  82. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  83. package/lib/persisters/persister-sqlite3.js +1 -1
  84. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  85. package/lib/persisters/persister-yjs.js +1 -1
  86. package/lib/persisters/persister-yjs.js.gz +0 -0
  87. package/lib/persisters.js +1 -1
  88. package/lib/persisters.js.gz +0 -0
  89. package/lib/tinybase.js +1 -1
  90. package/lib/tinybase.js.gz +0 -0
  91. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
  92. package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
  93. package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
  94. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
  95. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
  96. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
  97. package/lib/umd/persisters/persister-automerge.js +1 -1
  98. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  99. package/lib/umd/persisters/persister-browser.js +1 -1
  100. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  101. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  102. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  103. package/lib/umd/persisters/persister-file.js +1 -1
  104. package/lib/umd/persisters/persister-file.js.gz +0 -0
  105. package/lib/umd/persisters/persister-remote.js +1 -1
  106. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  107. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  108. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  109. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  110. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  111. package/lib/umd/persisters/persister-yjs.js +1 -1
  112. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  113. package/lib/umd/persisters.js +1 -1
  114. package/lib/umd/persisters.js.gz +0 -0
  115. package/lib/umd/tinybase.js +1 -1
  116. package/lib/umd/tinybase.js.gz +0 -0
  117. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  118. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  119. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  120. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  121. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  122. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  123. package/lib/umd-es6/persisters/persister-file.js +1 -1
  124. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  125. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  126. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  127. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  128. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  129. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  130. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  131. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  132. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  133. package/lib/umd-es6/persisters.js +1 -1
  134. package/lib/umd-es6/persisters.js.gz +0 -0
  135. package/lib/umd-es6/tinybase.js +1 -1
  136. package/lib/umd-es6/tinybase.js.gz +0 -0
  137. package/package.json +16 -16
  138. package/readme.md +14 -14
@@ -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 actions();
47
- loadSave = 0;
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
- await persister.schedule(async () => {
90
- /* istanbul ignore else */
91
- if (loadSave != 1) {
92
- loadSave = 2;
93
- {
94
- saves++;
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 transactionChanges = getTransactionChanges();
109
- persister.save(() => transactionChanges);
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;
@@ -1062,27 +1062,28 @@ const createCustomPersister = (
1062
1062
  {
1063
1063
  loads++;
1064
1064
  }
1065
- await actions();
1066
- loadSave = 0;
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
- await persister.schedule(async () => {
1109
- /* istanbul ignore else */
1110
- if (loadSave != 1) {
1111
- loadSave = 2;
1112
- {
1113
- saves++;
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 transactionChanges = getTransactionChanges();
1128
- persister.save(() => transactionChanges);
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,i=n.freeze,l=(t,n)=>e(t,(t=>t[n])),r=(e,n)=>!t(l(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,i)=>{var l=t=>{try{u(n.next(t))}catch(t){i(t)}},r=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,r);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{u(n.next(t))}catch(t){i(t)}},r=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,r);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,i)=>{const l=t(n)?e:((t,e,n)=>(r(t,e)||(t[e]={}),t[e]))(e,n);let d;return c(o,((t,e)=>{i(l,e,t)&&(d=1)})),c(l,((t,e)=>{r(o,e)||(u(l,e),d=1)})),!t(n)&&a(l)&&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*(){2!=S&&(S=1,yield t(),S=0)})),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])}})))),b})),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*(){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:i=>s(void 0,null,(function*(){return yield b.schedule((()=>s(void 0,null,(function*(){if(1!=S){S=2;try{yield((n,i)=>v(void 0,null,(function*(){return o.change((o=>((n,o,i,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,i)=>f?0:t(n)?u(o,i):e(l(o,i),(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]=i();h(d,void 0,t,((t,e,n)=>h(d,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(l(t,e)!==n)return t[e]=n,1})))))),h(s,void 0,e,((t,e,n)=>{l(s,e)!==n&&(s[e]=n)}))}})(o,r,n,i)))})))(n.getContent,i)}catch(t){}S=0}})))),b})),startAutoSave:()=>s(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const n=e();b.save((()=>n))})),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 i(b)})(n,(()=>v(void 0,null,(function*(){return 2==d(o.doc[r])?y(o.doc,r):void 0})))));export{f as createAutomergePersister};
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};
@@ -1 +1 @@
1
- const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i="storage",l=globalThis.window,a=(a,u,s)=>((a,d,c,v,y)=>{let f,h,p,g=0,S=0,A=0;const L=[],m=t=>o(void 0,null,(function*(){2!=g&&(g=1,yield t(),g=0)})),w={load:(t,e)=>o(void 0,null,(function*(){return yield m((()=>o(void 0,null,(function*(){try{a.setContent(yield d())}catch(n){a.setContent([t,e])}})))),w})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return w.stopAutoLoad(),yield w.load(e,n),A=1,p=(e=>{const n=n=>{n.storageArea===s&&n.key===u&&e((()=>t(n.newValue)))};return l.addEventListener(i,n),n})(((t,e)=>o(void 0,null,(function*(){yield m((()=>o(void 0,null,(function*(){var n;if(e)a.setTransactionChanges(e());else try{a.setContent(null!=(n=null==t?void 0:t())?n:yield d())}catch(t){}}))))})))),w})),stopAutoLoad:()=>{return A&&(t=p,l.removeEventListener(i,t),p=void 0,A=0),w;var t},save:t=>o(void 0,null,(function*(){return yield w.schedule((()=>o(void 0,null,(function*(){if(1!=g){g=2;try{yield(t=a.getContent,r(void 0,null,(function*(){return s.setItem(u,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))));var e})))}catch(t){}g=0}var t})))),w})),startAutoSave:()=>o(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=a.addDidFinishTransactionListener(((t,e)=>{const n=e();w.save((()=>n))})),w})),stopAutoSave:()=>{var t,n;return t=f,n=a.delListener,!!e(t)||n(t),w},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=L,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),w})),getStore:()=>a,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(w)})(a,(()=>r(void 0,null,(function*(){return t(s.getItem(u))})))),u=(t,e)=>a(t,e,localStorage),s=(t,e)=>a(t,e,sessionStorage);export{u as createLocalPersister,s as createSessionPersister};
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};
@@ -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=Object,A=E.keys,P=E.freeze,L=(e=[])=>E.fromEntries(e),T=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),O=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),b=e=>E.values(e),x=e=>i(A(e)),S=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==x(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),g=e=>new Map(e),I=(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)))},D=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(O(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),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?B(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,q=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&Y(e,t,n[t]);if(k)for(var t of k(n))U.call(n,t)&&Y(e,t,n[t]);return e},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 H="SELECT*FROM",K="FROM pragma_table_",V="WHERE",W=V+" schema='main'AND type='table'AND name!='sqlite_schema'",G=e=>{const n=g(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,s,v)=>z(void 0,null,(function*(){const y=F();O(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||C(n,l)){const t=I(n,l),r=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...o(f,(n=>z(void 0,null,(function*(){R(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?o(N(r),(n=>z(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),D(n,l,g([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];O(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...o(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+V+M(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>z(void 0,null,(function*(){return $(n,L(yield m(o(yield e("SELECT name "+K+"list "+W),(n=>z(void 0,[n],(function*({name:n}){return[n,L(o(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=g,C(r=n,o=t)||D(r,o,i()),I(r,o)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>z(void 0,null,(function*(){const r=l(n,t)?yield e(H+M(n)+V+M(t)+"=?",["_"]):[];return u(r)?null:w(r[0],t)})),(e,n,t,l)=>z(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>z(void 0,null,(function*(){return l(n,t)?L(a(o(yield e(H+M(n)),(e=>[e[t],w(q({},e),t)])),(([e,n])=>!f(e)&&!S(n)))):{}})),d]};var Q=(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 X=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Q(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(t,l)=>Q(void 0,null,(function*(){return yield y((()=>Q(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),p})),startAutoLoad:(...t)=>Q(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Q(void 0,null,(function*(){yield y((()=>Q(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=>Q(void 0,null,(function*(){return yield p.schedule((()=>Q(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),p})),startAutoSave:()=>Q(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();p.save((()=>t))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Q(void 0,null,(function*(){return c(v,...e),yield Q(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 P(p)};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="store",ne=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=G(t),d=X(e,(()=>Z(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,j))?e:{})[ee])}))),(e=>Z(void 0,null,(function*(){return d.schedule(i,(()=>Z(void 0,null,(function*(){var n;yield a(o,j,"_",{[ee]:(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})))})}))))}))),l,r);return d},te="rowIdColumnName",le="tableId",re="tableName",oe={load:0,save:0,[re]:n+"_values"},ie=(e,n,t,l)=>{const r=g();return O(e,((e,o)=>{const i=d(b(T(n,p(e)?{[t]:e}:e)),0,x(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var ue=(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 ae=(e,n,t,l,r)=>{const[o,i,[u,c,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(b(T(oe,t)),0,x(oe)),r=l[2];return[ie(e,{[le]:null,[te]:j},le,(e=>e==r)),ie(n,{[re]:null,[te]:j,deleteEmptyColumns:0,deleteEmptyTable:0},re,((e,n)=>n==r)),l]})(r),[v,y,h,p,E]=G(n),A=X(e,(()=>ue(void 0,null,(function*(){yield v();const e=yield ue(void 0,null,(function*(){return L(a(yield m(_(o,((e,n)=>ue(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!S(e[1]))))})),n=yield ue(void 0,null,(function*(){return u?yield y(s,j):{}}));return S(e)&&f(n)?void 0:[e,n]}))),(e=>ue(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,r],o)=>()=>ue(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>c?()=>ue(void 0,null,(function*(){return yield h(s,j,"_",e)})):null)(t))}))),t,l);return A},de="json",ce="autoLoadIntervalSeconds",se={mode:de,[ce]:1},ve="pragma ",ye="data_version",fe="schema_version",he=(e,n,t,l,r)=>{const o=T(se,p(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==de?ne:ae)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ve+ye))[0][ye],l=(yield t(ve+fe))[0][fe];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}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*o[ce]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)},pe=(e,n,t)=>he(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((()=>e()))),(e=>e()));export{pe as createCrSqliteWasmPersister};
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};
@@ -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,l=Object.freeze;var u=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));const s=(s,d)=>((e,r,s,c,v)=>{let f,y,h,p=0,m=0,A=0;const S=[],L=t=>u(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(t,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){try{e.setContent(yield r())}catch(o){e.setContent([t,n])}})))),g})),startAutoLoad:(...n)=>u(void 0,[...n],(function*(n={},o={}){return g.stopAutoLoad(),yield g.load(n,o),A=1,i=(t,n)=>u(void 0,null,(function*(){yield L((()=>u(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){}}))))})),h=t(d,(()=>i())),g;var i})),stopAutoLoad:()=>{return A&&(null==(t=h)||t.close(),h=void 0,A=0),g;var t},save:t=>u(void 0,null,(function*(){return yield g.schedule((()=>u(void 0,null,(function*(){if(1!=p){p=2;try{yield(t=e.getContent,a(void 0,null,(function*(){return yield n(d,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))),o);var e})))}catch(t){}p=0}var t})))),g})),startAutoSave:()=>u(void 0,null,(function*(){return yield g.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((t,e)=>{const n=e();g.save((()=>n))})),g})),stopAutoSave:()=>{var t,n;return t=f,n=e.delListener,!!i(t)||n(t),g},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(S,...t),yield u(void 0,null,(function*(){if(!m){for(m=1;!i((t=S,y=t.shift()));)try{yield y()}catch(t){}m=0}var t})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(g)})(s,(()=>a(void 0,null,(function*(){return r(yield e(d,o))}))));export{s as createFilePersister};
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};
@@ -1 +1 @@
1
- const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{a(n.next(t))}catch(t){l(t)}},i=t=>{try{a(n.throw(t))}catch(t){l(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);a((n=n.apply(t,e)).next())})),l=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{a(n.next(t))}catch(t){l(t)}},i=t=>{try{a(n.throw(t))}catch(t){l(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);a((n=n.apply(t,e)).next())}));const r=t=>t.headers.get("ETag"),i=(i,a,u,d)=>{let c;return((t,i,s,v,y)=>{let f,h,p,A=0,S=0,g=0;const m=[],x=t=>o(void 0,null,(function*(){2!=A&&(A=1,yield t(),A=0)})),C={load:(e,n)=>o(void 0,null,(function*(){return yield x((()=>o(void 0,null,(function*(){try{t.setContent(yield i())}catch(o){t.setContent([e,n])}})))),C})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},u={}){return C.stopAutoLoad(),yield C.load(n,u),g=1,s=(e,n)=>o(void 0,null,(function*(){yield x((()=>o(void 0,null,(function*(){var o;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield i())}catch(t){}}))))})),p=setInterval((()=>l(void 0,null,(function*(){const t=yield fetch(a,{method:"HEAD"}),n=r(t);e(c)||e(n)||n==c||(c=n,s())}))),1e3*d),C;var s})),stopAutoLoad:()=>(g&&(clearInterval(p),p=void 0,g=0),C),save:e=>o(void 0,null,(function*(){return yield C.schedule((()=>o(void 0,null,(function*(){if(1!=A){A=2;try{yield(e=t.getContent,l(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var t})))}catch(t){}A=0}var e})))),C})),startAutoSave:()=>o(void 0,null,(function*(){return yield C.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>{const n=e();C.save((()=>n))})),C})),stopAutoSave:()=>{var n,o;return n=f,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(m,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=m,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(i,(()=>l(void 0,null,(function*(){const e=yield fetch(a);return c=r(e),t(yield e.text())}))))};export{i as createRemotePersister};
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};
@@ -1 +1 @@
1
- const e=e=>typeof e,t="tinybase",n=",",l=e(""),r=(e,t="")=>e.join(t),o=(e,t)=>e.map(t),i=e=>e.length,u=e=>0==i(e),a=(e,t)=>e.filter(t),c=(e,t,n)=>e.slice(t,n),d=(e,...t)=>e.push(...t),s=Promise,v=JSON.parse,y=(e,t)=>e instanceof t,f=e=>null==e,p=(e,t,n)=>f(e)?null==n?void 0:n():t(e),h=t=>e(t)==l,m=e=>{return t=function*(){return s.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},E=Object,b=E.keys,w=E.freeze,O=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),A=(e,t)=>(delete e[t],e),L=(e,t)=>o(E.entries(e),(([e,n])=>t(n,e))),T=e=>E.values(e),S=e=>i(b(e)),x=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),g=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},R=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},C=(e,t)=>null==e?void 0:e.delete(t),N=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),j=(e,t)=>{var n;return o([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},I=(e,t,n)=>f(n)?(C(e,t),e):null==e?void 0:e.set(t,n),D=(e,t,n,l=I)=>(L(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!f(((e,t)=>p(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),$="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var k=Object.defineProperty,B=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,V=(e,t,n)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||(t={}))q.call(t,n)&&V(e,n,t[n]);if(B)for(var n of B(t))J.call(t,n)&&V(e,n,t[n]);return e},z=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const H="SELECT*FROM",K="FROM pragma_table_",U="WHERE",W=U+" schema='main'AND type='table'AND name!='sqlite_schema'",G=e=>{const t=N(),l=(e,n)=>!f(_(_(t,e),n)),c=(l,a,c,s,v)=>z(void 0,null,(function*(){const y=F();L(null!=v?v:{},(e=>o(b(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=R(y);if(u(f)&&g(t,l)&&s)return yield e("DROP TABLE"+M(l)),void I(t,l);if(u(f)||g(t,l)){const n=_(t,l),r=F([...null!=(h=null==(p=n)?void 0:p.keys())?h:[]]);yield m([...o(f,(t=>z(void 0,null,(function*(){C(r,t)||(yield e(`ALTER TABLE${M(l)}ADD${M(t)}`),I(n,t,""))})))),...c?o(R(r),(t=>z(void 0,null,(function*(){t!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(t)}`),I(n,t))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>n+M(e))))});`),I(t,l,N([[a,""],...o(f,(e=>[e,""]))]));var p,h;if(u(f))yield e("DELETE FROM"+M(l));else{const t=[],u=[],c=[];L(v,((e,n)=>{var l;d(t,`(?${l=i(f),",?".repeat(l)})`),d(u,n,...o(f,(t=>e[t]))),d(c,n)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>n+M(e))))+")VALUES"+r(t,n),u),yield e("DELETE FROM"+M(l)+U+M(a)+"NOT IN("+r(o(c,(()=>"?")),n)+")",c)}}));return[()=>z(void 0,null,(function*(){return D(t,O(yield m(o(yield e("SELECT name "+K+"list "+W),(t=>z(void 0,[t],(function*({name:t}){return[t,O(o(yield e("SELECT name,type "+K+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return I(t,n,D((i=N,g(r=t,o=n)||I(r,o,i()),_(r,o)),l,((e,t,n)=>{n!=_(e,t)&&I(e,t,n)}),((e,t)=>I(e,t))));var r,o,i}),((e,n)=>I(t,n)))})),(t,n)=>z(void 0,null,(function*(){const r=l(t,n)?yield e(H+M(t)+U+M(n)+"=?",["_"]):[];return u(r)?null:A(r[0],n)})),(e,t,n,l)=>z(void 0,null,(function*(){return yield c(e,t,!0,!0,{[n]:l})})),(t,n)=>z(void 0,null,(function*(){return l(t,n)?O(a(o(yield e(H+M(t)),(e=>[e[n],A(Y({},e),n)])),(([e,t])=>!f(e)&&!x(t)))):{}})),c]};var Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const X=(e,t,n,l,r)=>{let o,i,u,a=0,c=0,s=0;const v=[],y=e=>Q(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>Q(void 0,null,(function*(){return yield y((()=>Q(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>Q(void 0,[...n],(function*(n={},r={}){return h.stopAutoLoad(),yield h.load(n,r),s=1,u=l(((n,l)=>Q(void 0,null,(function*(){yield y((()=>Q(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:t=>Q(void 0,null,(function*(){return yield h.schedule((()=>Q(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>Q(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Q(void 0,null,(function*(){return d(v,...e),yield Q(void 0,null,(function*(){if(!c){for(c=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}c=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var Z=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ee="store",te=(e,n,l,r,{storeTableName:o=t})=>{const[i,u,a]=G(n),c=X(e,(()=>Z(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,$))?e:{})[ee])}))),(e=>Z(void 0,null,(function*(){return c.schedule(i,(()=>Z(void 0,null,(function*(){var t;yield a(o,$,"_",{[ee]:(t=e(),JSON.stringify(t,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,r);return c},ne="rowIdColumnName",le="tableId",re="tableName",oe={load:0,save:0,[re]:t+"_values"},ie=(e,t,n,l)=>{const r=N();return L(e,((e,o)=>{const i=c(T(P(t,h(e)?{[n]:e}:e)),0,S(t));f(i[0])||l(o,i[0])||I(r,o,i)})),r};var ue=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ae=(e,t,n,l,r)=>{const[o,i,[u,d,s]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=c(T(P(oe,n)),0,S(oe)),r=l[2];return[ie(e,{[le]:null,[ne]:$},le,(e=>e==r)),ie(t,{[re]:null,[ne]:$,deleteEmptyColumns:0,deleteEmptyTable:0},re,((e,t)=>t==r)),l]})(r),[v,y,p,h,E]=G(t),b=X(e,(()=>ue(void 0,null,(function*(){yield v();const e=yield ue(void 0,null,(function*(){return O(a(yield m(j(o,((e,t)=>ue(void 0,[e,t],(function*([e,t],n){return[e,yield h(n,t)]}))))),(e=>!x(e[1]))))})),t=yield ue(void 0,null,(function*(){return u?yield y(s,$):{}}));return x(e)&&f(t)?void 0:[e,t]}))),(e=>ue(void 0,null,(function*(){const[t,n]=e();b.schedule(v,...(e=>j(i,(([t,n,l,r],o)=>()=>ue(void 0,null,(function*(){return yield E(t,n,l,r,e[o])})))))(t),(e=>d?()=>ue(void 0,null,(function*(){return yield p(s,$,"_",e)})):null)(n))}))),n,l);return b},ce="json",de="autoLoadIntervalSeconds",se={mode:ce,[de]:1},ve="pragma ",ye="data_version",fe="schema_version",pe=(e,t,n,l,r)=>{const o=P(se,h(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(o.mode==ce?te:ae)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ve+ye))[0][ye],l=(yield n(ve+fe))[0][fe];t==(null!=i?i:i=t)&&l==(null!=u?u:u=l)||(e(),i=t,u=l)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*o[de]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,r(t)}),o)};var he=Object.defineProperty,me=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,we=(e,t,n)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Oe=(e,t,n,l)=>pe(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))Ee.call(t,n)&&we(e,n,t[n]);if(me)for(var n of me(t))be.call(t,n)&&we(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)));export{Oe as createSqliteWasmPersister};
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};
@@ -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),c=(e,n,t)=>e.slice(n,t),d=(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=Object,b=E.keys,O=E.freeze,A=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),L=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),T=e=>E.values(e),S=e=>i(b(e)),g=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),I=(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)))},_=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),D=(e,n,t,l=_)=>(L(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),$="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,q=(e,n,t)=>n in e?B(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)&&q(e,t,n[t]);if(k)for(var t of k(n))Y.call(n,t)&&q(e,t,n[t]);return e},H=(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 K="SELECT*FROM",U="FROM pragma_table_",V="WHERE",W=V+" schema='main'AND type='table'AND name!='sqlite_schema'",G=e=>{const n=x(),l=(e,t)=>!f(I(I(n,e),t)),c=(l,a,c,s,v)=>H(void 0,null,(function*(){const y=F();L(null!=v?v:{},(e=>o(b(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&s)return yield e("DROP TABLE"+M(l)),void _(n,l);if(u(f)||C(n,l)){const t=I(n,l),r=F([...null!=(h=null==(p=t)?void 0:p.keys())?h:[]]);yield m([...o(f,(n=>H(void 0,null,(function*(){R(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),_(t,n,""))})))),...c?o(N(r),(n=>H(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),_(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),_(n,l,x([[a,""],...o(f,(e=>[e,""]))]));var p,h;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],c=[];L(v,((e,t)=>{var l;d(n,`(?${l=i(f),",?".repeat(l)})`),d(u,t,...o(f,(n=>e[n]))),d(c,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+V+M(a)+"NOT IN("+r(o(c,(()=>"?")),t)+")",c)}}));return[()=>H(void 0,null,(function*(){return D(n,A(yield m(o(yield e("SELECT name "+U+"list "+W),(n=>H(void 0,[n],(function*({name:n}){return[n,A(o(yield e("SELECT name,type "+U+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return _(n,t,D((i=x,C(r=n,o=t)||_(r,o,i()),I(r,o)),l,((e,n,t)=>{t!=I(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,t)=>_(n,t)))})),(n,t)=>H(void 0,null,(function*(){const r=l(n,t)?yield e(K+M(n)+V+M(t)+"=?",["_"]):[];return u(r)?null:w(r[0],t)})),(e,n,t,l)=>H(void 0,null,(function*(){return yield c(e,n,!0,!0,{[t]:l})})),(n,t)=>H(void 0,null,(function*(){return l(n,t)?A(a(o(yield e(K+M(n)),(e=>[e[t],w(z({},e),t)])),(([e,n])=>!f(e)&&!g(n)))):{}})),c]};var Q=(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 X=(e,n,t,l,r)=>{let o,i,u,a=0,c=0,s=0;const v=[],y=e=>Q(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(t,l)=>Q(void 0,null,(function*(){return yield y((()=>Q(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),h})),startAutoLoad:(...t)=>Q(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Q(void 0,null,(function*(){yield y((()=>Q(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=>Q(void 0,null,(function*(){return yield h.schedule((()=>Q(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),h})),startAutoSave:()=>Q(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();h.save((()=>t))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Q(void 0,null,(function*(){return d(v,...e),yield Q(void 0,null,(function*(){if(!c){for(c=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}c=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return O(h)};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="store",ne=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=G(t),c=X(e,(()=>Z(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,$))?e:{})[ee])}))),(e=>Z(void 0,null,(function*(){return c.schedule(i,(()=>Z(void 0,null,(function*(){var n;yield a(o,$,"_",{[ee]:(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})))})}))))}))),l,r);return c},te="rowIdColumnName",le="tableId",re="tableName",oe={load:0,save:0,[re]:n+"_values"},ie=(e,n,t,l)=>{const r=x();return L(e,((e,o)=>{const i=c(T(P(n,h(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r};var ue=(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 ae=(e,n,t,l,r)=>{const[o,i,[u,d,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=c(T(P(oe,t)),0,S(oe)),r=l[2];return[ie(e,{[le]:null,[te]:$},le,(e=>e==r)),ie(n,{[re]:null,[te]:$,deleteEmptyColumns:0,deleteEmptyTable:0},re,((e,n)=>n==r)),l]})(r),[v,y,p,h,E]=G(n),b=X(e,(()=>ue(void 0,null,(function*(){yield v();const e=yield ue(void 0,null,(function*(){return A(a(yield m(j(o,((e,n)=>ue(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!g(e[1]))))})),n=yield ue(void 0,null,(function*(){return u?yield y(s,$):{}}));return g(e)&&f(n)?void 0:[e,n]}))),(e=>ue(void 0,null,(function*(){const[n,t]=e();b.schedule(v,...(e=>j(i,(([n,t,l,r],o)=>()=>ue(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>d?()=>ue(void 0,null,(function*(){return yield p(s,$,"_",e)})):null)(t))}))),t,l);return b},ce="json",de="autoLoadIntervalSeconds",se={mode:ce,[de]:1},ve="pragma ",ye="data_version",fe="schema_version",pe=(e,n,t,l,r)=>{const o=P(se,h(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==ce?ne:ae)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ve+ye))[0][ye],l=(yield t(ve+fe))[0][fe];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}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*o[de]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};var he=Object.defineProperty,me=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,Oe=(e,n,t)=>n in e?he(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Ae="change",Pe=(e,n,t)=>pe(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={}))Ee.call(n,t)&&Oe(e,t,n[t]);if(me)for(var t of me(n))be.call(n,t)&&Oe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(Ae,t),t}),(e=>n.off(Ae,e)));export{Pe as createSqlite3Persister};
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};
@@ -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.freeze,u=(t=[])=>r.fromEntries(t),s=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=(t,e,n)=>(s(t,e)||(t[e]=n()),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=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));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 h="t",y="delete",g=t=>[t.get(h),t.get("v")],p=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let d;return a(l,((t,e)=>{r(u,e,t)&&(d=1)})),u.forEach(((t,e)=>{s(l,e)||(u.delete(e),d=1)})),o(n)||u.size||e.delete(n),d},S=(r,s,S="tinybase")=>{const m=s.getMap(S);return((r,S,A,w,O)=>{let J,L,N,x=0,C=0,b=0;const z=[],E=t=>c(void 0,null,(function*(){2!=x&&(x=1,yield t(),x=0)})),P={load:(t,e)=>c(void 0,null,(function*(){return yield E((()=>c(void 0,null,(function*(){try{r.setContent(yield S())}catch(n){r.setContent([t,e])}})))),P})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},o={}){return P.stopAutoLoad(),yield P.load(t,o),b=1,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[i,s]=g(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?l(n(t),(o=>{const r=d(a,o,u),s=i.get(o);l(n(t),(t=>{const n=d(r,t,u),o=s.get(t);v(e,((t,{action:e})=>n[t]=e==y?null:o.get(t)))}),(()=>v(e,((t,{action:e})=>{var n;return r[t]=e==y?null:null==(n=s.get(t))?void 0:n.toJSON()}))))}),(()=>v(e,((t,{action:e})=>{var n;return a[t]=e==y?null:null==(n=i.get(t))?void 0:n.toJSON()})))):v(e,((t,{action:e})=>c[t]=e==y?null:s.get(t)))))})(o),[a,c]})(m,o)));return m.observeDeep(o),o})(((t,e)=>c(void 0,null,(function*(){yield E((()=>c(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield S())}catch(t){}}))))})))),P})),stopAutoLoad:()=>{return b&&(t=N,m.unobserveDeep(t),N=void 0,b=0),P;var t},save:e=>c(void 0,null,(function*(){return yield P.schedule((()=>c(void 0,null,(function*(){if(1!=x){x=2;try{yield((e,n)=>f(void 0,null,(function*(){return s.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(h,new t),e.set("v",new t))})(e);const[i,u]=g(e),s=()=>{d=1};let d=1;if(l(null==r?void 0:r(),(([t,e])=>{d=0,a(t,((t,e)=>d?0:o(t)?i.delete(e):l(i.get(e),(e=>a(t,((t,n)=>d?0:o(t)?e.delete(n):l(e.get(n),(e=>a(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),a(e,((t,e)=>d?0:o(t)?u.delete(e):u.set(e,t)))})),d){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(m,e,n)))})))(r.getContent,e)}catch(t){}x=0}})))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),J=r.addDidFinishTransactionListener(((t,e)=>{const n=e();P.save((()=>n))})),P})),stopAutoSave:()=>(l(J,r.delListener),P),schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(z,...t),yield c(void 0,null,(function*(){if(!C){for(C=1;!o(L=n(z));)try{yield L()}catch(t){}C=0}})),P})),getStore:()=>r,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(r,(()=>f(void 0,null,(function*(){return m.size?[m.get(h).toJSON(),m.get("v").toJSON()]:void 0}))))};export{S as createYjsPersister};
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};
@@ -1 +1 @@
1
- const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));const o=(o,i,l,u,r)=>{let d,a,s,c=0,v=0,y=0;const f=[],h=t=>n(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(t,e)=>n(void 0,null,(function*(){return yield h((()=>n(void 0,null,(function*(){try{o.setContent(yield i())}catch(n){o.setContent([t,e])}})))),p})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},e={}){return p.stopAutoLoad(),yield p.load(t,e),y=1,s=u(((t,e)=>n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(y&&(r(s),s=void 0,y=0),p),save:t=>n(void 0,null,(function*(){return yield p.schedule((()=>n(void 0,null,(function*(){if(1!=c){c=2;try{yield l(o.getContent,t)}catch(t){}c=0}})))),p})),startAutoSave:()=>n(void 0,null,(function*(){return yield p.stopAutoSave().save(),d=o.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var e,n;return e=d,n=o.delListener,!!t(e)||n(e),p},schedule:(...e)=>n(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(f,...e),yield n(void 0,null,(function*(){if(!v){for(v=1;!t((e=f,a=e.shift()));)try{yield a()}catch(t){}v=0}var e})),p})),getStore:()=>o,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};export{o as createCustomPersister};
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};
Binary file