tinybase 4.6.0-beta.0 → 4.6.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -0
  6. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  8. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  9. package/lib/cjs/tinybase.cjs +1 -1
  10. package/lib/cjs/tinybase.cjs.gz +0 -0
  11. package/lib/cjs/ui-react.cjs +1 -1
  12. package/lib/cjs/ui-react.cjs.gz +0 -0
  13. package/lib/cjs-es6/checkpoints.cjs +1 -1
  14. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  15. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -0
  16. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  19. package/lib/cjs-es6/tinybase.cjs +1 -1
  20. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  21. package/lib/cjs-es6/ui-react.cjs +1 -1
  22. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  23. package/lib/debug/checkpoints.js +8 -0
  24. package/lib/debug/persisters/persister-electric-sql.js +839 -0
  25. package/lib/debug/persisters/persister-partykit-server.js +45 -25
  26. package/lib/debug/tinybase.js +8 -0
  27. package/lib/debug/ui-react.js +20 -2
  28. package/lib/es6/checkpoints.js +1 -1
  29. package/lib/es6/checkpoints.js.gz +0 -0
  30. package/lib/es6/persisters/persister-electric-sql.js +1 -0
  31. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  32. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  33. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  34. package/lib/es6/tinybase.js +1 -1
  35. package/lib/es6/tinybase.js.gz +0 -0
  36. package/lib/es6/ui-react.js +1 -1
  37. package/lib/es6/ui-react.js.gz +0 -0
  38. package/lib/persisters/persister-electric-sql.js +1 -0
  39. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  40. package/lib/persisters/persister-partykit-server.js +1 -1
  41. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  42. package/lib/tinybase.js +1 -1
  43. package/lib/tinybase.js.gz +0 -0
  44. package/lib/types/checkpoints.d.ts +58 -6
  45. package/lib/types/persisters/persister-automerge.d.ts +1 -1
  46. package/lib/types/persisters/persister-browser.d.ts +2 -2
  47. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -1
  48. package/lib/types/persisters/persister-electric-sql.d.ts +164 -0
  49. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -3
  50. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -1
  51. package/lib/types/persisters/persister-file.d.ts +1 -1
  52. package/lib/types/persisters/persister-indexed-db.d.ts +1 -1
  53. package/lib/types/persisters/persister-partykit-client.d.ts +1 -1
  54. package/lib/types/persisters/persister-partykit-server.d.ts +32 -8
  55. package/lib/types/persisters/persister-remote.d.ts +1 -1
  56. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -1
  57. package/lib/types/persisters/persister-sqlite3.d.ts +1 -1
  58. package/lib/types/persisters/persister-yjs.d.ts +1 -1
  59. package/lib/types/persisters.d.ts +2 -0
  60. package/lib/types/ui-react.d.ts +56 -26
  61. package/lib/types/with-schemas/checkpoints.d.ts +64 -6
  62. package/lib/types/with-schemas/internal/ui-react.d.ts +5 -0
  63. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +177 -0
  64. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +2 -2
  65. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +44 -10
  66. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -1
  67. package/lib/types/with-schemas/persisters.d.ts +2 -0
  68. package/lib/types/with-schemas/ui-react.d.ts +56 -36
  69. package/lib/ui-react.js +1 -1
  70. package/lib/ui-react.js.gz +0 -0
  71. package/lib/umd/checkpoints.js +1 -1
  72. package/lib/umd/checkpoints.js.gz +0 -0
  73. package/lib/umd/persisters/persister-electric-sql.js +1 -0
  74. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  75. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  76. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  77. package/lib/umd/tinybase.js +1 -1
  78. package/lib/umd/tinybase.js.gz +0 -0
  79. package/lib/umd/ui-react.js +1 -1
  80. package/lib/umd/ui-react.js.gz +0 -0
  81. package/lib/umd-es6/checkpoints.js +1 -1
  82. package/lib/umd-es6/checkpoints.js.gz +0 -0
  83. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -0
  84. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  85. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  86. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  87. package/lib/umd-es6/tinybase.js +1 -1
  88. package/lib/umd-es6/tinybase.js.gz +0 -0
  89. package/lib/umd-es6/ui-react.js +1 -1
  90. package/lib/umd-es6/ui-react.js.gz +0 -0
  91. package/package.json +48 -43
  92. package/readme.md +2 -2
@@ -85,6 +85,15 @@ const loadStoreFromStorage = async (storage, storagePrefix = EMPTY_STRING) => {
85
85
  );
86
86
  return [tables, values];
87
87
  };
88
+ const broadcastTransactionChanges = async (
89
+ server,
90
+ transactionChanges,
91
+ without,
92
+ ) =>
93
+ server.party.broadcast(
94
+ construct(server.config.messagePrefix, SET_CHANGES, transactionChanges),
95
+ without,
96
+ );
88
97
  const saveStore = async (
89
98
  that,
90
99
  transactionChanges,
@@ -102,42 +111,45 @@ const saveStore = async (
102
111
  objMap(transactionChanges[0], async (table, tableId) =>
103
112
  isUndefined(table)
104
113
  ? !initialSave &&
105
- that.canDelTable(tableId, requestOrConnection) &&
114
+ (await that.canDelTable(tableId, requestOrConnection)) &&
106
115
  arrayUnshift(
107
116
  keyPrefixesToDel,
108
117
  constructStorageKey(storagePrefix, T, tableId),
109
118
  )
110
- : that.canSetTable(tableId, initialSave, requestOrConnection) &&
119
+ : (await that.canSetTable(tableId, initialSave, requestOrConnection)) &&
111
120
  (await promiseAll(
112
121
  objMap(table, async (row, rowId) =>
113
122
  isUndefined(row)
114
123
  ? !initialSave &&
115
- that.canDelRow(tableId, rowId, requestOrConnection) &&
124
+ (await that.canDelRow(tableId, rowId, requestOrConnection)) &&
116
125
  arrayPush(
117
126
  keyPrefixesToDel,
118
127
  constructStorageKey(storagePrefix, T, tableId, rowId),
119
128
  )
120
- : that.canSetRow(
129
+ : (await that.canSetRow(
121
130
  tableId,
122
131
  rowId,
123
132
  initialSave,
124
133
  requestOrConnection,
125
- ) &&
134
+ )) &&
126
135
  (await promiseAll(
127
136
  objMap(row, async (cell, cellId) => {
128
137
  const ids = [tableId, rowId, cellId];
129
138
  const key = constructStorageKey(storagePrefix, T, ...ids);
130
139
  isUndefined(cell)
131
140
  ? !initialSave &&
132
- that.canDelCell(...ids, requestOrConnection) &&
141
+ (await that.canDelCell(
142
+ ...ids,
143
+ requestOrConnection,
144
+ )) &&
133
145
  arrayPush(keysToDel, key)
134
- : that.canSetCell(
146
+ : (await that.canSetCell(
135
147
  ...ids,
136
148
  cell,
137
149
  initialSave,
138
150
  requestOrConnection,
139
151
  await storage.get(key),
140
- ) && (keysToSet[key] = cell);
152
+ )) && (keysToSet[key] = cell);
141
153
  }),
142
154
  )),
143
155
  ),
@@ -149,15 +161,15 @@ const saveStore = async (
149
161
  const key = storagePrefix + V + valueId;
150
162
  isUndefined(value)
151
163
  ? !initialSave &&
152
- that.canDelValue(valueId, requestOrConnection) &&
164
+ (await that.canDelValue(valueId, requestOrConnection)) &&
153
165
  arrayPush(keysToDel, key)
154
- : that.canSetValue(
166
+ : (await that.canSetValue(
155
167
  valueId,
156
168
  value,
157
169
  initialSave,
158
170
  requestOrConnection,
159
171
  await storage.get(key),
160
- ) && (keysToSet[key] = value);
172
+ )) && (keysToSet[key] = value);
161
173
  }),
162
174
  );
163
175
  if (!arrayIsEmpty(keyPrefixesToDel)) {
@@ -216,7 +228,6 @@ class TinyBasePartyKitServer {
216
228
  }
217
229
  async onMessage(message, connection) {
218
230
  const {
219
- party: {storage, broadcast},
220
231
  config: {messagePrefix, storagePrefix},
221
232
  } = this;
222
233
  await ifNotUndefined(
@@ -224,29 +235,27 @@ class TinyBasePartyKitServer {
224
235
  async ([type, payload]) => {
225
236
  if (
226
237
  type == SET_CHANGES &&
227
- (await hasStoreInStorage(storage, storagePrefix))
238
+ (await hasStoreInStorage(this.party.storage, storagePrefix))
228
239
  ) {
229
240
  await saveStore(this, payload, false, connection);
230
- broadcast(construct(messagePrefix, SET_CHANGES, payload), [
231
- connection.id,
232
- ]);
241
+ broadcastTransactionChanges(this, payload, [connection.id]);
233
242
  }
234
243
  },
235
244
  );
236
245
  }
237
- canSetTable(_tableId, _initialSave, _requestOrConnection) {
246
+ async canSetTable(_tableId, _initialSave, _requestOrConnection) {
238
247
  return true;
239
248
  }
240
- canDelTable(_tableId, _connection) {
249
+ async canDelTable(_tableId, _connection) {
241
250
  return true;
242
251
  }
243
- canSetRow(_tableId, _rowId, _initialSave, _requestOrConnection) {
252
+ async canSetRow(_tableId, _rowId, _initialSave, _requestOrConnection) {
244
253
  return true;
245
254
  }
246
- canDelRow(_tableId, _rowId, _connection) {
255
+ async canDelRow(_tableId, _rowId, _connection) {
247
256
  return true;
248
257
  }
249
- canSetCell(
258
+ async canSetCell(
250
259
  _tableId,
251
260
  _rowId,
252
261
  _cellId,
@@ -257,15 +266,26 @@ class TinyBasePartyKitServer {
257
266
  ) {
258
267
  return true;
259
268
  }
260
- canDelCell(_tableId, _rowId, _cellId, _connection) {
269
+ async canDelCell(_tableId, _rowId, _cellId, _connection) {
261
270
  return true;
262
271
  }
263
- canSetValue(_valueId, _value, _initialSave, _requestOrConnection, _oldValue) {
272
+ async canSetValue(
273
+ _valueId,
274
+ _value,
275
+ _initialSave,
276
+ _requestOrConnection,
277
+ _oldValue,
278
+ ) {
264
279
  return true;
265
280
  }
266
- canDelValue(_valueId, _connection) {
281
+ async canDelValue(_valueId, _connection) {
267
282
  return true;
268
283
  }
269
284
  }
270
285
 
271
- export {TinyBasePartyKitServer, hasStoreInStorage, loadStoreFromStorage};
286
+ export {
287
+ TinyBasePartyKitServer,
288
+ broadcastTransactionChanges,
289
+ hasStoreInStorage,
290
+ loadStoreFromStorage,
291
+ };
@@ -648,6 +648,13 @@ const createCheckpoints = getCreateFunction((store) => {
648
648
  addCheckpoint();
649
649
  return checkpoints;
650
650
  };
651
+ const clearForward = () => {
652
+ if (!arrayIsEmpty(forwardIds)) {
653
+ clearCheckpointIds(forwardIds);
654
+ callListeners(checkpointIdsListeners);
655
+ }
656
+ return checkpoints;
657
+ };
651
658
  const destroy = () => {
652
659
  store.delListener(cellListenerId);
653
660
  store.delListener(valueListenerId);
@@ -672,6 +679,7 @@ const createCheckpoints = getCreateFunction((store) => {
672
679
  addCheckpointListener,
673
680
  delListener,
674
681
  clear,
682
+ clearForward,
675
683
  destroy,
676
684
  getListenerStats,
677
685
  };
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  const getTypeOf = (thing) => typeof thing;
4
4
  const EMPTY_STRING = '';
5
5
  const STRING = getTypeOf(EMPTY_STRING);
6
+ const FUNCTION = getTypeOf(getTypeOf);
6
7
  const LISTENER = 'Listener';
7
8
  const RESULT = 'Result';
8
9
  const GET = 'get';
@@ -27,6 +28,7 @@ const isUndefined = (thing) => thing == void 0;
27
28
  const ifNotUndefined = (value, then, otherwise) =>
28
29
  isUndefined(value) ? otherwise?.() : then(value);
29
30
  const isString = (thing) => getTypeOf(thing) == STRING;
31
+ const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
30
32
  const isArray = (thing) => Array.isArray(thing);
31
33
  const size = (arrayOrString) => arrayOrString.length;
32
34
  const getUndefined = () => void 0;
@@ -171,7 +173,15 @@ const useSetCallback = (
171
173
  (parameter) =>
172
174
  ifNotUndefined(store, (store2) =>
173
175
  ifNotUndefined(get(parameter, store2), (thing) =>
174
- then(store2['set' + settable](...args, thing), thing),
176
+ then(
177
+ store2['set' + settable](
178
+ ...arrayMap(args, (arg) =>
179
+ isFunction(arg) ? arg(parameter, store2) : arg,
180
+ ),
181
+ thing,
182
+ ),
183
+ thing,
184
+ ),
175
185
  ),
176
186
  ),
177
187
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -400,7 +410,15 @@ const useAddRowCallback = (
400
410
  (parameter) =>
401
411
  ifNotUndefined(store, (store2) =>
402
412
  ifNotUndefined(getRow(parameter, store2), (row) =>
403
- then(store2.addRow(tableId, row, reuseRowIds), store2, row),
413
+ then(
414
+ store2.addRow(
415
+ isFunction(tableId) ? tableId(parameter, store2) : tableId,
416
+ row,
417
+ reuseRowIds,
418
+ ),
419
+ store2,
420
+ row,
421
+ ),
404
422
  ),
405
423
  ),
406
424
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=e=>e.length,t=(e,l)=>e.includes(l),r=(e,l)=>e.forEach(l),o=e=>0==n(e),u=(e,...l)=>e.push(...l),s=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,l)=>{var n;return null!=(n=null==e?void 0:e.has(l))&&n},c=l=>e(l)||0==(e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0})(l),v=(e,l)=>null==e?void 0:e.forEach(l),h=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=(e,l)=>null==e?void 0:e.get(l),f=(l,n,t)=>e(t)?(h(l,n),l):null==l?void 0:l.set(n,t),g=(e,l,n)=>(a(e,l)||f(e,l,n()),C(e,l)),k=(e,t,r,o,u=0)=>l((r?g:C)(e,t[u],u>n(t)-2?r:p),(l=>{if(u>n(t)-2)return(null==o?void 0:o(l))&&f(e,t[u]),l;const s=k(l,t,r,o,u+1);return c(l)&&f(e,t[u]),s})),L=l=>new Set(Array.isArray(l)||e(l)?l:[l]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(t=>{let o;const[s,d]=(()=>{const e=[];let l=0;return[n=>{var t;return null!=(t=n?i(e):null)?t:""+l++},l=>{w.test(l)&&n(e)<1e3&&u(e,l)}]})(),a=p();return[(e,l,n,t=[],r=(()=>[]))=>{null!=o||(o=_);const u=s(1);var i,d;return f(a,u,[e,l,n,t,r]),d=u,null==(i=k(l,null!=n?n:[""],L))||i.add(d),u},(e,l,...t)=>r(((e,l=[""])=>{const t=[],o=(e,s)=>s==n(l)?u(t,e):null===l[s]?v(e,(e=>o(e,s+1))):r([l[s],null],(l=>o(C(e,l),s+1)));return o(e,0),t})(e,l),(e=>v(e,(e=>C(a,e)[0](o,...null!=l?l:[],...t))))),e=>l(C(a,e),(([,l,n])=>(k(l,null!=n?n:[""],void 0,(l=>(h(l,e),c(l)?1:0))),f(a,e),d(e),n))),t=>l(C(a,t),(([l,,t=[],u,s])=>{const i=(...d)=>{var a,c;const v=n(d);v==n(t)?l(o,...d,...s(d)):e(t[v])?r(null!=(c=null==(a=u[v])?void 0:a.call(u,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(l,n)=>{M=0,S.transaction((()=>{const[t,r]=C(O,n);v(t,((n,t)=>v(n,((n,r)=>v(n,((n,o)=>((l,n,t,r,o)=>e(o)?l.delCell(n,t,r,!0):l.setCell(n,t,r,o))(S,t,r,o,n[l]))))))),v(r,((n,t)=>((l,n,t)=>e(t)?l.delValue(n):l.setValue(n,t))(S,t,n[l])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,l)=>r(((e,l)=>e.splice(0,l))(e,null!=l?l:n(e)),q),G=()=>D(W,n(W)-V),H=()=>l(y,(()=>{u(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=s(W),E=1},K=S.addCellListener(null,null,null,((e,l,n,t,r,o)=>{if(M){H();const e=g(A,l,p),u=g(e,n,p),s=g(u,t,(()=>[o,void 0]));s[1]=r,s[0]===r&&c(f(u,t))&&c(f(e,n))&&c(f(A,l))&&J(),U()}})),N=S.addValueListener(null,((e,l,n,t)=>{if(M){H();const e=g(I,l,(()=>[t,void 0]));e[1]=n,e[0]===n&&c(f(I,l))&&J(),U()}})),P=(l="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,l),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...l)=>{e.unshift(...l)})($,P()),m(0,y),y=s(W),E=1)},R=()=>{o($)||(u(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const l=P(e);return U(),l},Y=(e,l)=>(Z(e)&&C(T,e)!==l&&(f(T,e,l),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return l=e,v(T,((e,n)=>l(n,e)));var l},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:l=>{const n=t(W,l)?Q:t($,l)?R:null;for(;!e(n)&&l!=y;)n();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,l)=>x(l,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
1
+ const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=e=>e.length,t=(e,l)=>e.includes(l),r=(e,l)=>e.forEach(l),o=e=>0==n(e),u=(e,...l)=>e.push(...l),s=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,l)=>{var n;return null!=(n=null==e?void 0:e.has(l))&&n},c=l=>e(l)||0==(e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0})(l),v=(e,l)=>null==e?void 0:e.forEach(l),h=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=(e,l)=>null==e?void 0:e.get(l),f=(l,n,t)=>e(t)?(h(l,n),l):null==l?void 0:l.set(n,t),g=(e,l,n)=>(a(e,l)||f(e,l,n()),C(e,l)),k=(e,t,r,o,u=0)=>l((r?g:C)(e,t[u],u>n(t)-2?r:p),(l=>{if(u>n(t)-2)return(null==o?void 0:o(l))&&f(e,t[u]),l;const s=k(l,t,r,o,u+1);return c(l)&&f(e,t[u]),s})),L=l=>new Set(Array.isArray(l)||e(l)?l:[l]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),b=p(),[j,x,B]=(t=>{let o;const[s,d]=(()=>{const e=[];let l=0;return[n=>{var t;return null!=(t=n?i(e):null)?t:""+l++},l=>{w.test(l)&&n(e)<1e3&&u(e,l)}]})(),a=p();return[(e,l,n,t=[],r=(()=>[]))=>{null!=o||(o=_);const u=s(1);var i,d;return f(a,u,[e,l,n,t,r]),d=u,null==(i=k(l,null!=n?n:[""],L))||i.add(d),u},(e,l,...t)=>r(((e,l=[""])=>{const t=[],o=(e,s)=>s==n(l)?u(t,e):null===l[s]?v(e,(e=>o(e,s+1))):r([l[s],null],(l=>o(C(e,l),s+1)));return o(e,0),t})(e,l),(e=>v(e,(e=>C(a,e)[0](o,...null!=l?l:[],...t))))),e=>l(C(a,e),(([,l,n])=>(k(l,null!=n?n:[""],void 0,(l=>(h(l,e),c(l)?1:0))),f(a,e),d(e),n))),t=>l(C(a,t),(([l,,t=[],u,s])=>{const i=(...d)=>{var a,c;const v=n(d);v==n(t)?l(o,...d,...s(d)):e(t[v])?r(null!=(c=null==(a=u[v])?void 0:a.call(u,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(l,n)=>{I=0,S.transaction((()=>{const[t,r]=C(O,n);v(t,((n,t)=>v(n,((n,r)=>v(n,((n,o)=>((l,n,t,r,o)=>e(o)?l.delCell(n,t,r,!0):l.setCell(n,t,r,o))(S,t,r,o,n[l]))))))),v(r,((n,t)=>((l,n,t)=>e(t)?l.delValue(n):l.setValue(n,t))(S,t,n[l])))})),I=1},q=e=>{f(O,e),f(T,e),x(b,[e])},D=(e,l)=>r(((e,l)=>e.splice(0,l))(e,null!=l?l:n(e)),q),G=()=>D(W,n(W)-V),H=()=>l(y,(()=>{u(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=s(W),E=1},K=S.addCellListener(null,null,null,((e,l,n,t,r,o)=>{if(I){H();const e=g(A,l,p),u=g(e,n,p),s=g(u,t,(()=>[o,void 0]));s[1]=r,s[0]===r&&c(f(u,t))&&c(f(e,n))&&c(f(A,l))&&J(),U()}})),N=S.addValueListener(null,((e,l,n,t)=>{if(I){H();const e=g(F,l,(()=>[t,void 0]));e[1]=n,e[0]===n&&c(f(F,l))&&J(),U()}})),P=(l="")=>(e(y)&&(y=""+z++,f(O,y,[A,F]),Y(y,l),A=p(),F=p(),E=1),y),Q=()=>{o(W)||(((e,...l)=>{e.unshift(...l)})($,P()),m(0,y),y=s(W),E=1)},R=()=>{o($)||(u(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(x(M),E=0)},X=e=>{const l=P(e);return U(),l},Y=(e,l)=>(Z(e)&&C(T,e)!==l&&(f(T,e,l),x(b,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return l=e,v(T,((e,n)=>l(n,e)));var l},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:l=>{const n=t(W,l)?Q:t($,l)?R:null;for(;!e(n)&&l!=y;)n();return U(),_},addCheckpointIdsListener:e=>j(e,M),addCheckpointListener:(e,l)=>j(l,b,[e]),delListener:e=>(B(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),clearForward:()=>(o($)||(D($),x(M)),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file
@@ -0,0 +1 @@
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==t,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),E=e=>0==v(e),p=(e,n)=>e.filter(n),m=(e,...n)=>e.push(...n),T=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},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,L=e=>A.getPrototypeOf(e),P=A.keys,w=A.freeze,N=(e=[])=>A.fromEntries(e),R=(...e)=>A.assign({},...e),g=(e,n)=>h(A.entries(e),(([e,l])=>n(l,e))),C=e=>A.values(e),D=e=>v(P(e)),S=e=>(e=>!a(e)&&d(L(e),(e=>e==A.prototype||a(L(e))),(()=>!0)))(e)&&0==D(e),x=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),M=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>a(l)?(O(e,n),e):null==e?void 0:e.set(n,l),j=(e,n,l)=>(T(e,n)||$(e,n,l()),F(e,n)),_=(e,n,l,t=$)=>(g(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B=e=>new Set(Array.isArray(e)||a(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),W="_",k="_id",J=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,Y=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,G=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&G(e,l,n[l]);if(Y)for(var l of Y(n))z.call(n,l)&&G(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q="FROM pragma_table_",X="WHERE",Z=(e,n,t)=>{const o=x();return[()=>V(void 0,null,(function*(){return _(o,N(yield y(h(yield e("SELECT name "+Q+"list WHERE schema='main'AND type='table'AND name IN("+ne(n)+")",n),(n=>V(void 0,[n],(function*({name:n}){return[n,N(h(yield e("SELECT name,type "+Q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(o,n,_(j(o,n,x),l,((e,n,l)=>{l!=F(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!a(F(F(o,e),n)))(n,l)?N(p(h(yield e("SELECT*FROM"+J(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!S(n)))):{}})),(n,t,r,i,u,d=!1)=>V(void 0,null,(function*(){const c=B();g(null!=r?r:{},(e=>h(P(null!=e?e:{}),(e=>H(c,e)))));const s=b(c);if(!d&&u&&E(s)&&T(o,n))return yield e("DROP TABLE"+J(n)),void $(o,n);if(E(s)||T(o,n)){const l=F(o,n),r=B(I(l));yield y([...h(s,(t=>V(void 0,null,(function*(){O(r,t)||(yield e(`ALTER TABLE${J(n)}ADD${J(t)}`),$(l,t,""))})))),...!d&&i?h(b(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${J(n)}DROP${J(o)}`),$(l,o))})))):[]])}else yield e(`CREATE TABLE${J(n)}(${J(t)} PRIMARY KEY ON CONFLICT REPLACE${f(h(s,(e=>l+J(e))))});`),$(o,n,x([[t,""],...h(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+J(n)+"WHERE 1"):yield y(g(r,((l,o)=>V(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+J(n)+X+J(t)+"=?",[o]):E(s)||(yield ee(e,n,t,P(l),[o,...C(l)]))})))));else if(E(s))T(o,n)&&(yield e("DELETE FROM"+J(n)+"WHERE 1"));else{const l=p(I(F(o,n)),(e=>e!=t)),i=[],u=[];g(null!=r?r:{},((e,n)=>{m(i,n,...h(l,(n=>null==e?void 0:e[n]))),m(u,n)})),yield ee(e,n,t,l,i),yield e("DELETE FROM"+J(n)+X+J(t)+"NOT IN("+ne(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ee=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+J(n)+"("+J(t)+f(h(r,(e=>l+J(e))))+")VALUES"+s(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+J(t)+")DO UPDATE SET"+f(h(r,(e=>J(e)+"=excluded."+J(e))),l),i)})),ne=e=>f(h(e,(()=>"?")),l),le=JSON.parse;var te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const oe=x(),re=x(),ie=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;j(oe,c,(()=>0)),j(re,c,(()=>[]));const E=e=>te(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>te(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>te(void 0,null,(function*(){return yield E((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>te(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>te(void 0,null,(function*(){if(t){const n=t();yield E((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>te(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>te(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>te(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>te(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();S(l)&&S(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,p),schedule:(...e)=>te(void 0,null,(function*(){return m(F(re,c),...e),yield te(void 0,null,(function*(){if(!F(oe,c)){for($(oe,c,1);!a((e=F(re,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}$(oe,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>u),w(p)};var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae="store",de=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Z(n,i,o);return ie(e,(()=>ue(void 0,null,(function*(){return yield s((()=>ue(void 0,null,(function*(){var e,n;return yield a(),le(null!=(n=null==(e=(yield d(r,k))[W])?void 0:e[ae])?n:"null")}))))}))),(e=>ue(void 0,null,(function*(){return yield s((()=>ue(void 0,null,(function*(){var n,l;yield a(),yield c(r,k,{[W]:{[ae]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var ce=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[u,d,c]],s,v)=>{const[f,h,E,m]=Z(n,s,o),T=(e,n)=>ce(void 0,null,(function*(){return yield y(M(i,((l,t)=>ce(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield E(l,t,u,o,r,n))})))))})),b=(e,n)=>ce(void 0,null,(function*(){return d?yield E(c,k,{[W]:e},!0,!0,n):null}));return ie(e,(()=>ce(void 0,null,(function*(){return yield m((()=>ce(void 0,null,(function*(){yield f();const e=yield ce(void 0,null,(function*(){return N(p(yield y(M(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!S(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield h(c,k))[W]:{}}));return S(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield m((()=>ce(void 0,null,(function*(){if(yield f(),a(n)){const[n,l]=e();yield T(n),yield b(l)}else{const[e,l]=n();yield T(e,!0),yield b(l,!0)}}))))}))),l,t,o,["getDb",v],v)},ve="json",ye="autoLoadIntervalSeconds",fe="rowIdColumnName",he="tableId",Ee="tableName",pe={mode:ve,[ye]:1},me={load:0,save:0,[Ee]:n+"_values"},Te=(e,n,l,t)=>{const o=x();return g(e,((e,r)=>{const i=s(C(R(n,c(e)?{[l]:e}:e)),0,D(n));a(i[0])||t(r,i[0])||$(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="pragma ",Ae="data_version",Le="schema_version",Pe=(e,l,t,o,r,a,d,v)=>{let y,f;const[h,E,p,m]=(e=>{const l=(e=>R(pe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[ye];if(l.mode==ve){const{storeTableName:e=n}=l;return[1,t,[e],B(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(C(R(me,i)),0,D(me)),a=u[2],d=B(a);return[0,t,[Te(o,{[he]:null,[fe]:k},he,(e=>H(d,e)&&e==a)),Te(r,{[Ee]:null,[fe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>H(d,n)&&n==a)),u],d]})(l);return(h?de:se)(e,a?(e,n)=>be(void 0,null,(function*(){return a(e,n),yield t(e,n)})):t,(e=>[i((()=>be(void 0,null,(function*(){try{const n=(yield t(Oe+Ae))[0][Ae],l=(yield t(Oe+Le))[0][Le];n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)||(e(),y=n,f=l)}catch(e){}}))),1e3*E),o((n=>m.has(n)?e():0))]),(([e,n])=>{u(e),y=f=null,r(n)}),d,p,b(m),v)},we=(e,n,l,t,o)=>Pe(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n);export{we as createElectricSqlPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n="t",r=(e,t)=>e.startsWith(t),i=Promise,l=e=>null==e,s=(e,t,n)=>l(e)?null==n?void 0:n():t(e),o=(e,t,n)=>e.slice(t,n),a=e=>e.length,c=e=>{return t=function*(){return i.all(e)},new Promise(((e,n)=>{var r=e=>{try{l(t.next(e))}catch(e){n(e)}},i=e=>{try{l(t.throw(e))}catch(e){n(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,i);l((t=t.apply(void 0,null)).next())}));var t},u=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),h=Object,f=(e=[])=>h.fromEntries(e),y=(e,t)=>u(h.entries(e),(([e,n])=>t(n,e))),g=(e,t,n)=>(((e,t)=>!l(((e,t)=>s(e,(e=>e[t])))(e,t)))(e,t)||(e[t]=n()),e[t]),v=e=>JSON.stringify(e,((e,t)=>t instanceof Map?h.fromEntries([...t]):t)),p=JSON.parse,P=(n,r,i)=>n+r+(e(i)==t?i:v(i)),x=(e,t,n)=>{const i=a(e);return r(t,e)?[t[i],(n?p:String)(o(t,i+1))]:void 0},m=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var S=(e,t,n)=>new Promise(((r,i)=>{var l=e=>{try{o(n.next(e))}catch(e){i(e)}},s=e=>{try{o(n.throw(e))}catch(e){i(e)}},o=e=>e.done?r(e.value):Promise.resolve(e.value).then(l,s);o((n=n.apply(e,t)).next())}));const w="hasStore",D=f(u(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),R=(e,...t)=>S(void 0,[e,...t],(function*(e,t=""){return!!(yield e.get(t+w))})),b=(e,...t)=>S(void 0,[e,...t],(function*(e,t=""){const r={},i={};return m(yield e.list(),((e,l)=>s(x(t,e),(([e,t])=>{if(e==n){const[e,n,i]=p("["+t+"]");g(g(r,e,f),n,f)[i]=l}else"v"==e&&(i[t]=l)})))),[r,i]})),C=(e,t,i,s)=>S(void 0,null,(function*(){const o=e.party.storage,u=e.config.storagePrefix,h={[u+w]:1},f=[],g=[];yield c(y(t[0],((t,r)=>S(void 0,null,(function*(){return l(t)?!i&&e.canDelTable(r,s)&&((e,...t)=>e.unshift(...t))(g,T(u,n,r)):e.canSetTable(r,i,s)&&(yield c(y(t,((t,a)=>S(void 0,null,(function*(){return l(t)?!i&&e.canDelRow(r,a,s)&&d(g,T(u,n,r,a)):e.canSetRow(r,a,i,s)&&(yield c(y(t,((t,c)=>S(void 0,null,(function*(){const y=[r,a,c],g=T(u,n,...y);l(t)?!i&&e.canDelCell(...y,s)&&d(f,g):e.canSetCell(...y,t,i,s,yield o.get(g))&&(h[g]=t)}))))))}))))))}))))),yield c(y(t[1],((t,n)=>S(void 0,null,(function*(){const r=u+"v"+n;l(t)?!i&&e.canDelValue(n,s)&&d(f,r):e.canSetValue(n,t,i,s,yield o.get(r))&&(h[r]=t)}))))),0!=a(g)&&m(yield o.list(),(e=>g.every((t=>!r(e,t)||d(f,e)&&0)))),yield o.delete(f),yield o.put(h)})),T=(e,t,...n)=>P(e,t,o(v(n),1,-1)),H=(e,t,n=null)=>S(void 0,null,(function*(){return new Response(n,{status:t,headers:e.config.responseHeaders})}));class O{constructor(e){var t,n,r,i;this.party=e,this.config={},null!=(t=this.config).storePath||(t.storePath="/store"),null!=(n=this.config).messagePrefix||(n.messagePrefix=""),null!=(r=this.config).storagePrefix||(r.storagePrefix=""),null!=(i=this.config).responseHeaders||(i.responseHeaders=D)}onRequest(e){return S(this,null,(function*(){const{party:{storage:t},config:{storePath:n,storagePrefix:r}}=this;if(new URL(e.url).pathname.endsWith(n)){const n=yield R(t,r),i=yield e.text();return"PUT"==e.method?n?H(this,205):(yield C(this,p(i),!0,e),H(this,201)):H(this,200,n?v(yield b(t,r)):"")}return H(this,404)}))}onMessage(e,t){return S(this,null,(function*(){const{party:{storage:n,broadcast:r},config:{messagePrefix:i,storagePrefix:l}}=this;yield s(x(i,e,1),(e=>S(this,[e],(function*([e,s]){"s"==e&&(yield R(n,l))&&(yield C(this,s,!1,t),r(P(i,"s",s),[t.id]))}))))}))}canSetTable(e,t,n){return!0}canDelTable(e,t){return!0}canSetRow(e,t,n,r){return!0}canDelRow(e,t,n){return!0}canSetCell(e,t,n,r,i,l,s){return!0}canDelCell(e,t,n,r){return!0}canSetValue(e,t,n,r,i){return!0}canDelValue(e,t){return!0}}export{O as TinyBasePartyKitServer,R as hasStoreInStorage,b as loadStoreFromStorage};
1
+ const e=e=>typeof e,t=e(""),n="t",i=(e,t)=>e.startsWith(t),r=Promise,l=e=>null==e,s=(e,t,n)=>l(e)?null==n?void 0:n():t(e),o=(e,t,n)=>e.slice(t,n),u=e=>e.length,a=e=>{return t=function*(){return r.all(e)},new Promise(((e,n)=>{var i=e=>{try{l(t.next(e))}catch(e){n(e)}},r=e=>{try{l(t.throw(e))}catch(e){n(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,r);l((t=t.apply(void 0,null)).next())}));var t},c=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),f=Object,h=(e=[])=>f.fromEntries(e),y=(e,t)=>c(f.entries(e),(([e,n])=>t(n,e))),g=(e,t,n)=>(((e,t)=>!l(((e,t)=>s(e,(e=>e[t])))(e,t)))(e,t)||(e[t]=n()),e[t]),v=e=>JSON.stringify(e,((e,t)=>t instanceof Map?f.fromEntries([...t]):t)),p=JSON.parse,P=(n,i,r)=>n+i+(e(r)==t?r:v(r)),x=(e,t,n)=>{const r=u(e);return i(t,e)?[t[r],(n?p:String)(o(t,r+1))]:void 0},m=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var S=(e,t,n)=>new Promise(((i,r)=>{var l=e=>{try{o(n.next(e))}catch(e){r(e)}},s=e=>{try{o(n.throw(e))}catch(e){r(e)}},o=e=>e.done?i(e.value):Promise.resolve(e.value).then(l,s);o((n=n.apply(e,t)).next())}));const w="hasStore",D=h(c(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),R=(e,...t)=>S(void 0,[e,...t],(function*(e,t=""){return!!(yield e.get(t+w))})),b=(e,...t)=>S(void 0,[e,...t],(function*(e,t=""){const i={},r={};return m(yield e.list(),((e,l)=>s(x(t,e),(([e,t])=>{if(e==n){const[e,n,r]=p("["+t+"]");g(g(i,e,h),n,h)[r]=l}else"v"==e&&(r[t]=l)})))),[i,r]})),C=(e,t,n)=>S(void 0,null,(function*(){return e.party.broadcast(P(e.config.messagePrefix,"s",t),n)})),T=(e,t,r,s)=>S(void 0,null,(function*(){const o=e.party.storage,c=e.config.storagePrefix,f={[c+w]:1},h=[],g=[];yield a(y(t[0],((t,i)=>S(void 0,null,(function*(){return l(t)?!r&&(yield e.canDelTable(i,s))&&((e,...t)=>e.unshift(...t))(g,H(c,n,i)):(yield e.canSetTable(i,r,s))&&(yield a(y(t,((t,u)=>S(void 0,null,(function*(){return l(t)?!r&&(yield e.canDelRow(i,u,s))&&d(g,H(c,n,i,u)):(yield e.canSetRow(i,u,r,s))&&(yield a(y(t,((t,a)=>S(void 0,null,(function*(){const y=[i,u,a],g=H(c,n,...y);l(t)?!r&&(yield e.canDelCell(...y,s))&&d(h,g):(yield e.canSetCell(...y,t,r,s,yield o.get(g)))&&(f[g]=t)}))))))}))))))}))))),yield a(y(t[1],((t,n)=>S(void 0,null,(function*(){const i=c+"v"+n;l(t)?!r&&(yield e.canDelValue(n,s))&&d(h,i):(yield e.canSetValue(n,t,r,s,yield o.get(i)))&&(f[i]=t)}))))),0!=u(g)&&m(yield o.list(),(e=>g.every((t=>!i(e,t)||d(h,e)&&0)))),yield o.delete(h),yield o.put(f)})),H=(e,t,...n)=>P(e,t,o(v(n),1,-1)),O=(e,t,n=null)=>S(void 0,null,(function*(){return new Response(n,{status:t,headers:e.config.responseHeaders})}));class V{constructor(e){var t,n,i,r;this.party=e,this.config={},null!=(t=this.config).storePath||(t.storePath="/store"),null!=(n=this.config).messagePrefix||(n.messagePrefix=""),null!=(i=this.config).storagePrefix||(i.storagePrefix=""),null!=(r=this.config).responseHeaders||(r.responseHeaders=D)}onRequest(e){return S(this,null,(function*(){const{party:{storage:t},config:{storePath:n,storagePrefix:i}}=this;if(new URL(e.url).pathname.endsWith(n)){const n=yield R(t,i),r=yield e.text();return"PUT"==e.method?n?O(this,205):(yield T(this,p(r),!0,e),O(this,201)):O(this,200,n?v(yield b(t,i)):"")}return O(this,404)}))}onMessage(e,t){return S(this,null,(function*(){const{config:{messagePrefix:n,storagePrefix:i}}=this;yield s(x(n,e,1),(e=>S(this,[e],(function*([e,n]){"s"==e&&(yield R(this.party.storage,i))&&(yield T(this,n,!1,t),C(this,n,[t.id]))}))))}))}canSetTable(e,t,n){return S(this,null,(function*(){return!0}))}canDelTable(e,t){return S(this,null,(function*(){return!0}))}canSetRow(e,t,n,i){return S(this,null,(function*(){return!0}))}canDelRow(e,t,n){return S(this,null,(function*(){return!0}))}canSetCell(e,t,n,i,r,l,s){return S(this,null,(function*(){return!0}))}canDelCell(e,t,n,i){return S(this,null,(function*(){return!0}))}canSetValue(e,t,n,i,r){return S(this,null,(function*(){return!0}))}canDelValue(e,t){return S(this,null,(function*(){return!0}))}}export{V as TinyBasePartyKitServer,C as broadcastTransactionChanges,R as hasStoreInStorage,b as loadStoreFromStorage};
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Has",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+"Count",I=L+v,S="Sorted"+L+v,p="Cell",w=p+v,R="Value",T=R+"s",C=R+v,b=e=>t+e,m=Math.max,V=Math.min,E=isFinite,k=e=>null==e,x=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),O=(e,t,n)=>e.slice(t,n),A=e=>e.length,F=()=>{},P=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),j=(e,t)=>A(e)===A(t)&&Q(e,((e,n)=>t[n]===e)),z=(e,t)=>Q(e,((n,l)=>0==l||t(e[l-1],n)<=0)),N=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==A(e),q=(e,t,n)=>e.reduce(t,n),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!k(e)&&x(Y(e),(e=>e==X.prototype||k(Y(e))),(()=>!0)),ne=(e,t)=>!k(((e,t)=>x(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>B(X.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>A(Z(e)))(e),re=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>k(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ce=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ce(e,((e,n)=>t(n,e))),ye=(e,t,n)=>k(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Ie=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),Se=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),pe=(e,t,n)=>{const l={};return ce(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},we=(e,t,n)=>pe(e,(e=>pe(e,t,n)),oe),Re=(e,t,n)=>pe(e,(e=>we(e,t,n)),oe),Te=(e,t)=>{const n=he();return ce(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>Te(e,Te),be=e=>Te(e,Ce),me=(e,t,n,l,s=0)=>x((n?Ie:ge)(e,t[s],s>A(t)-2?n:he),(o=>{if(s>A(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),Ve=t=>{const n=e(t);return M(n)||n==s&&E(t)?n:void 0},Ee=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n,l,s)=>{const o=e.hasRow,r=he(),i=he(),a=he(),d=he(),u=he(),c=he(),v=(t,n,...l)=>{const s=Ie(c,t,xe);return W(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>x(ge(c,t),(l=>{W($(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(c,t)})),f=(e,n)=>{ye(r,e,n),ie(i,e)||(ye(i,e,t()),ye(d,e,he()),ye(u,e,he()),s(a))},g=e=>{ye(r,e),ye(i,e),ye(d,e),ye(u,e),h(e),s(a)};return[()=>e,()=>fe(r),e=>Le(i,e),e=>ie(i,e),e=>ge(r,e),e=>ge(i,e),(e,t)=>ye(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=he(),c=he(),g=ge(d,t),L=ge(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=ge(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&j(d,u)||ye(a,t,[d,u]),!k(i)){const e=ge(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&ye(c,t,n)}},I=e=>{s((()=>{ce(a,(([,e],t)=>ye(g,t,e))),ce(c,((e,t)=>ye(L,t,e)))}),a,c,g,L,e),ue(a),ue(c)};Le(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ie(g,e)||y(e)})),I(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>I())))},g,e=>l(e,a),()=>Le(c,g),v,h]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&A(e)<1e3&&G(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return ye(o,u,[s,r,i,a,d]),Me(me(r,null!=i?i:[t],xe),u),u},(e,l,...s)=>W(((e,n=[t])=>{const l=[],s=(e,t)=>t==A(n)?G(l,e):null===n[t]?ce(e,(e=>s(e,t+1))):W([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ce(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>x(ge(o,e),(([,n,l])=>(me(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>x(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=A(r);d==A(t)?e(n,...r,...s(r)):k(t[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Qe=Oe((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),u=he(),[c,v,h]=Pe((()=>F)),f=he(),g=he(),L=[],y=[],I=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ce(l,((n,l)=>ce(n,((n,s)=>ce(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ce(s,((n,l)=>ke(e,l,n[t])))})),a=1},S=e=>{ye(f,e),ye(g,e),v(u,[e])},p=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:A(e)),S),w=()=>p(L,A(L)-o),R=()=>x(n,(()=>{G(L,n),w(),p(y),n=void 0,s=1})),T=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=Ie(r,t,he),i=Ie(e,n,he),a=Ie(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&T(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=Ie(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&T(),M()}})),m=(e="")=>(k(n)&&(n=t+l++,ye(f,n,[r,i]),J(n,e),r=he(),i=he(),s=1),n),V=()=>{$(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),I(0,n),n=K(L),s=1)},E=()=>{$(y)||(G(L,n),n=U(y),I(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(O(e)&&ge(g,e)!==t&&(ye(g,e,t),v(u,[e])),F),O=e=>ie(f,e),F={setSize:e=>(o=e,w(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:O,getCheckpoint:e=>ge(g,e),goBackward:()=>(V(),M(),F),goForward:()=>(E(),M(),F),goTo:e=>{const t=P(L,e)?V:P(y,e)?E:null;for(;!k(t)&&e!=n;)t();return M(),F},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),F),clear:()=>(p(L),p(y),k(n)||S(n),n=void 0,l=0,D(),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,ze=Oe((e=>{const n=he(),l=he(),[s,o,r]=Pe((()=>S)),[i,a,d,u,c,v,h,,f,g,L,y]=De(e,he,(e=>k(e)?t:J(e)?B(e,b):b(e)),s,o),I=(t,n,l)=>{const s=c(t);ce(l,((t,l)=>n(l,(n=>ce(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,r,i,a=je)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=xe(),y=xe(),I=v(e);if(ce(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ce(l,(e=>ve(s,e)?ve(l,e):0)),ce(l,(e=>{Me(L,e),x(ge(I,e),(t=>{ve(t,n),ae(t)&&(ye(I,e),g=1)}))})),ce(s,(e=>{Me(L,e),ie(I,e)||(ye(I,e,xe()),g=1),Me(ge(I,e),n),k(r)||Me(y,e)}))})),t(),ae(c)||(f?Le(I,(e=>Me(y,e))):Le(i,(e=>x(ge(u,e),(e=>Me(y,e))))),ce(y,(e=>{const t=(t,n)=>a(ge(c,t),ge(c,n),e),n=[...ge(I,e)];z(n,t)||(ye(I,e,xe(N(n,t))),Me(L,e))}))),(g||f)&&!k(d)){const t=[...I];z(t,d)||(h(e,he(N(t,d))),g=1)}g&&o(n,[e]),ce(L,(t=>o(l,[e,t])))}),Je(s),x(r,Je)),S},delIndexDefinition:e=>(g(e),S),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ie(v(e),t),getTableId:c,getSliceIds:e=>fe(v(e)),getSliceRowIds:(e,t)=>de(ge(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),S),destroy:y,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>H(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ce(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(de(n),re(n)):e},Be=Oe((e=>{const n=he(),[l,s,o]=Pe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=De(e,F,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),y={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=ge(Ne,l))?d:ge(Ne,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=re(r);a||(a=k(d)),t();let f=We(d,h,r,l,u,a);E(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),Je(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return ee(y)}));var He=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const $e=he(),qe=he(),Ge=(e,t,n,l,s,o,[r,i]=[],a=[])=>{let d,u,c,v=0,h=0;Ie($e,a,(()=>0)),Ie(qe,a,(()=>[]));const f=e=>He(void 0,null,(function*(){return 2!=v&&(v=1,yield g.schedule((()=>He(void 0,null,(function*(){yield e(),v=0}))))),g})),g={load:(n,l)=>He(void 0,null,(function*(){return yield f((()=>He(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>He(void 0,[...n],(function*(n={},s={}){return g.stopAutoLoad(),yield g.load(n,s),h=1,c=l(((n,l)=>He(void 0,null,(function*(){if(l){const t=l();yield f((()=>He(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield f((()=>He(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),g})),stopAutoLoad:()=>(h&&(s(c),c=void 0,h=0),g),save:t=>He(void 0,null,(function*(){return 1!=v&&(v=2,yield g.schedule((()=>He(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}v=0}))))),g})),startAutoSave:()=>He(void 0,null,(function*(){return yield g.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();oe(n)&&oe(l)||g.save((()=>[n,l]))})),g})),stopAutoSave:()=>(x(d,e.delListener),d=void 0,g),schedule:(...e)=>He(void 0,null,(function*(){return G(ge(qe,a),...e),yield He(void 0,null,(function*(){if(!ge($e,a)){for(ye($e,a,1);!k(u=U(ge(qe,a)));)try{yield u()}catch(e){null==o||o(e)}ye($e,a,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(g[r]=()=>i),ee(g)};var Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;const Ye=Oe((e=>{const n=e.createStore,l=n(),s=n(),o=he(),{addListener:r,callListeners:i,delListener:c}=s,[v,f,g,R,T,,,C,,b,m,V,E,M]=De(e,(()=>!0),F,r,i),J=(e,t,...n)=>W(n,(n=>Me(Ie(Ie(o,t,he),e,xe),n))),P=e=>{x(ge(o,e),(e=>{Le(e,((e,t)=>ce(t,(t=>e.delListener(t))))),ue(e)})),W([s,l],(t=>t.delTable(e)))},j=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(n,o,r)=>{C(n,o),P(n);const i=[],a=[[null,[o,null,null,[],he()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[A(i)+t,e]:[k(n)?e:n,t=>t(e,n)];return G(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||D(t)?null:t,s=k(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],he()]];return G(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>G(d,D(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,D(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return G(u,r),{as:e=>r[0]=e}},having:(e,t)=>G(c,D(e)?e:n=>n(e)===t)});const v=he(i);if(ae(v))return z;const h=he(a);Le(h,((e,[,t])=>x(ge(h,t),(({3:t})=>k(e)?0:G(t,e)))));const f=he(u);let g=l;if(ae(f)&&$(c))g=s;else{j(n,g,s);const e=he();Le(f,((t,[n,l])=>Me(Ie(e,n,xe),[t,l])));const t=xe();Le(v,(n=>ie(e,n)?0:Me(t,n)));const l=he(),o=(t,l,o,r)=>x(t,(([i,a,d,u])=>{Le(l,((t,[n])=>{const l=Ie(i,t,he),s=ge(l,o),a=r?void 0:n;if(s!==a){const n=xe([[s,a]]),r=re(l);ye(l,o,a),ce(ge(e,t),(([e,t])=>{const s=We(u[e],r,l,n,t);u[e]=k(Ve(s))?null:s}))}})),ae(a)||!Q(c,(e=>e((e=>u[e]))))?s.delRow(n,d):k(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=he(),v=g.hasRow(n,i);let h=!v;ce(t,(e=>{const[t,l,s]=a(n,i,e);G(d,l),G(u,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(c,e,[l])})),h&&o(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),c,i,1),v&&o(me(l,u,(()=>{const e={};return ce(t,(t=>e[t]=g.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),c,i)})))}j(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=ge(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=ge(d,t))?s:[];u!=c&&(k(v)||M(n,v),ye(d,t,k(u)?null:[u,...E(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...k(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=ge(h,n))?void 0:s[0],null==(i=ge(null==(r=ge(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>Q(d,(e=>e(l)))?Le(v,((e,s)=>Ee(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:y}=ge(h,null);return g.transaction((()=>E(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(n,s),ce(h,(({4:e})=>x(ge(e,s),(([,t])=>{M(n,t),ye(e,s)})))))}))))),z},delQueryDefinition:e=>(P(e),b(e),z),getStore:v,getQueryIds:f,forEachQuery:g,hasQuery:R,getTableId:T,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(c(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ue.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ke)for(var l of Ke(e))t.indexOf(l)<0&&Xe.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return se({[h]:[1,1],[h+w]:[0,1],[y]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[w]:[0,2],[p]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+d+n]=(...t)=>s[e+n](...t))),z[u+d+n+a]=(...e)=>s[u+n+a](...O(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),ee(z)})),Ze=Oe((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a]=Pe((()=>R)),[d,u,c,v,h,f,,,g,L,y,I]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+t),r,i),S=(e,t,n)=>x(f(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(h(e)!=w(e))Me(o,t);else{let e=t;for(;!k(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),p=(e,t)=>x(f(e),(([,,e])=>ye(e,t))),w=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,a)=>(ye(n,e,r),g(e,t,((t,n)=>{const r=xe(),a=xe(),d=xe(),[u,c]=f(e);ce(n,(([t,n],l)=>{k(t)||(Me(a,t),x(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),k(n)||(Me(a,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(u,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(d,t)}))})),t(),ce(r,(t=>i(l,[e,t]))),ce(a,(t=>i(s,[e,t]))),ce(d,(t=>{p(e,t),i(o,[e,t])}))}),Je(a)),R),delRelationshipDefinition:e=>(ye(n,e),L(e),R),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),r(n,o,[e,t])),delListener:e=>{var t;return p(...null!=(t=a(e))?t:[]),R},destroy:I,getListenerStats:()=>({})};return ee(R)})),_e=e=>[e,e],et=()=>[he(),he()],tt=e=>[...e],nt=([e,t])=>e===t,lt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),st=JSON.parse,ot=(e,t,n)=>k(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),rt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),it=()=>{let e,t,n=!1,l=!1,o=!1,d=!1,v=0;const S=he(),m=he(),V=he(),E=he(),J=he(),A=he(),F=he(),Q=he(),z=he(),H=he(),$=he(),q=he(),K=he(),U=he(),X=xe(),Y=he(),Z=he(),_=he(),te=he(),de=et(),me=et(),De=et(),Je=et(),Oe=et(),Ae=et(),Qe=et(),ze=et(),Ne=et(),We=et(),Be=et(),He=et(),$e=et(),qe=et(),Ge=et(),Ke=et(),Ue=et(),Xe=et(),Ye=et(),Ze=et(),at=et(),dt=et(),ut=he(),ct=et(),[vt,ht,ft,gt]=Pe((()=>Qn)),Lt=e=>{if(!ot(e,((e,t)=>P([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},yt=(t,n)=>(!e||ie($,n)||Gt(n))&&ot(t,((e,t)=>It(n,t,e)),(()=>Gt(n))),It=(e,t,n,l)=>ot(l?n:Rt(n,e,t),((l,s)=>x(St(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,n,l,s)=>e?x(ge(ge($,t),l),(e=>Ve(s)!=e[r]?Gt(t,n,l,s,e[i]):s),(()=>Gt(t,n,l,s))):k(Ve(s))?Gt(t,n,l,s):s,pt=(e,t)=>ot(t?e:Tt(e),((t,n)=>x(wt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Kt())),wt=(e,n)=>t?x(ge(K,e),(t=>Ve(n)!=t[r]?Kt(e,n,t[i]):n),(()=>Kt(e,n))):k(Ve(n))?Kt(e,n):n,Rt=(e,t,n)=>(x(ge(q,t),(([l,s])=>{ce(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(s,(l=>{ne(e,l)||Gt(t,n,l)}))})),e),Tt=e=>(t&&(ce(U,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>Se($,e,((e,t,n)=>{const l=he(),s=xe();Se(Ie($,t,he),n,((e,t,n)=>{ye(e,t,n),x(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(q,t,[l,s])}),((e,t)=>{ye($,t),ye(q,t)})),bt=e=>Se(K,e,((e,t,n)=>{ye(K,t,n),x(n[i],(e=>ye(U,t,e)),(()=>Me(X,t)))}),((e,t)=>{ye(K,t),ye(U,t),ve(X,t)})),mt=e=>oe(e)?kn():Cn(e),Vt=e=>Se(_,e,((e,t,n)=>Et(t,n)),((e,t)=>Pt(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(Nt(e,1),ye(Y,e,Fe()),ye(Z,e,he()),he()))),t,((t,n,l)=>kt(e,t,n,l)),((t,n)=>Qt(e,t,n))),kt=(e,t,n,l,s)=>Se(Ie(t,n,(()=>(Wt(e,n,1),he()))),l,((t,l,s)=>xt(e,n,t,l,s)),((l,o)=>jt(e,t,n,l,o,s))),xt=(e,t,n,l,s)=>{ie(n,l)||Bt(e,t,l,1);const o=ge(n,l);s!==o&&(Ht(e,t,l,o,s),ye(n,l,s))},Mt=(e,t,n,l,s)=>x(ge(t,n),(t=>xt(e,n,t,l,s)),(()=>kt(e,t,n,Rt({[l]:s},e,n)))),Dt=e=>oe(e)?Dn():bn(e),Jt=e=>Se(te,e,((e,t,n)=>Ot(t,n)),((e,t)=>zt(t))),Ot=(e,t)=>{ie(te,e)||$t(e,1);const n=ge(te,e);t!==n&&(qt(e,n,t),ye(te,e,t))},At=(e,t)=>{const[n]=ge(Y,e),l=n(t);return ie(ge(_,e),l)?At(e,t):l},Ft=e=>{var t;return null!=(t=ge(_,e))?t:Et(e,{})},Pt=e=>Et(e,{}),Qt=(e,t,n)=>{const[,l]=ge(Y,e);l(n),kt(e,t,n,{},!0)},jt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(q,e))?void 0:r[0],s);if(!k(i)&&!o)return xt(e,n,l,s,i);const a=t=>{Ht(e,n,t,ge(l,t)),Bt(e,n,t,-1),ye(l,t)};k(i)?a(s):Le(l,a),ae(l)&&(Wt(e,n,-1),ae(ye(t,n))&&(Nt(e,-1),ye(_,e),ye(Y,e),ye(Z,e)))},zt=e=>{const t=ge(U,e);if(!k(t))return Ot(e,t);qt(e,ge(te,e)),$t(e,-1),ye(te,e)},Nt=(e,t)=>rt(S,e,t),Wt=(e,t,n)=>rt(Ie(E,e,he),t,n)&&ye(V,e,Ie(V,e,(()=>0))+n),Bt=(e,t,n,l)=>{var s;const o=ge(Z,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&rt(Ie(m,e,he),n,l),ye(o,n,r!=-l?r+l:null),rt(Ie(Ie(J,e,he),t,he),n,l)},Ht=(e,t,n,l,s)=>Ie(Ie(Ie(A,e,he),t,he),n,(()=>[l,0]))[1]=s,$t=(e,t)=>rt(F,e,t),qt=(e,t,n)=>Ie(Q,e,(()=>[t,0]))[1]=n,Gt=(e,t,n,l,s)=>(G(Ie(Ie(Ie(z,e,he),t,he),n,(()=>[])),l),s),Kt=(e,t,n)=>(G(Ie(H,e,(()=>[])),t),n),Ut=(e,t,n)=>x(ge(ge(ge(A,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(hn(e,t,n))])),Xt=e=>x(ge(Q,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(Ln(e))])),Yt=e=>ae(z)||ae(Ke[e])?0:ce(e?be(z):z,((t,n)=>ce(t,((t,l)=>ce(t,((t,s)=>ht(Ke[e],[n,l,s],t))))))),Zt=e=>ae(H)||ae(Ue[e])?0:ce(e?Te(H):H,((t,n)=>ht(Ue[e],[n],t))),_t=(e,t,n,l)=>{if(!ae(e))return ht(t,l,(()=>pe(e))),Le(e,((e,t)=>ht(n,[...null!=l?l:[],e],1==t))),1},en=e=>{const t=yn();t!=o&&ht(de[e],void 0,t);const n=ae(We[e]),l=ae($e[e])&&ae(qe[e])&&ae(Ne[e])&&ae(Be[e])&&ae(Ae[e])&&ae(Qe[e])&&ae(ze[e])&&n&&ae(De[e])&&ae(Je[e]),s=ae(Ge[e])&&ae(He[e])&&ae(Oe[e])&&ae(me[e]);if(!l||!s){const t=e?[Te(S),Ce(m),Te(V),Ce(E),be(J),be(A)]:[S,m,V,E,J,A];if(!l){_t(t[0],De[e],Je[e]),ce(t[1],((t,n)=>_t(t,Ae[e],Qe[e],[n]))),ce(t[2],((t,n)=>{0!=t&&ht(ze[e],[n],dn(n))}));const l=xe();ce(t[3],((t,s)=>{_t(t,Ne[e],Be[e],[s])&&!n&&(ht(We[e],[s,null]),Me(l,s))})),n||ce(t[5],((t,n)=>{if(!ie(l,n)){const l=xe();ce(t,(e=>ce(e,(([t,n],s)=>n!==t?Me(l,s):ve(e,s))))),ce(l,(t=>ht(We[e],[n,t])))}})),ce(t[4],((t,n)=>ce(t,((t,l)=>_t(t,$e[e],qe[e],[n,l])))))}if(!s){let n;ce(t[5],((t,l)=>{let s;ce(t,((t,o)=>{let r;ce(t,(([t,i],a)=>{i!==t&&(ht(Ge[e],[l,o,a],i,t,Ut),n=s=r=1)})),r&&ht(He[e],[l,o],Ut)})),s&&ht(Oe[e],[l],Ut)})),n&&ht(me[e],void 0,Ut)}}},tn=e=>{const t=Rn();t!=d&&ht(Xe[e],void 0,t);const n=ae(Ze[e])&&ae(at[e]),l=ae(dt[e])&&ae(Ye[e]);if(!n||!l){const t=e?[Te(F),Te(Q)]:[F,Q];if(n||_t(t[0],Ze[e],at[e]),!l){let n;ce(t[1],(([t,l],s)=>{l!==t&&(ht(dt[e],[s],l,t,Xt),n=1)})),n&&ht(Ye[e],void 0,Xt)}}},nn=(e,...t)=>(An((()=>e(...B(t,b)))),Qn),ln=()=>[pe(A,((e,t)=>-1===ge(S,t)?null:pe(e,((e,n)=>-1===ge(ge(E,t),n)?null:pe(e,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))),oe)),oe),pe(Q,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))],sn=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(A,tt,nt),invalidCells:Re(z),changedValues:pe(Q,tt,nt),invalidValues:pe(H),changedTableIds:pe(S),changedRowIds:we(E),changedCellIds:Re(J),changedValueIds:pe(F)}),on=()=>Re(_),rn=()=>fe(_),an=e=>fe(ge(Z,b(e))),dn=e=>re(ge(_,b(e))),un=e=>fe(ge(_,b(e))),cn=(e,t,n,l=0,s)=>{return B(O(N((o=ge(_,b(e)),r=(e,n)=>[k(t)?n:ge(e,b(t)),n],B([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},vn=(e,t)=>fe(ge(ge(_,b(e)),b(t))),hn=(e,t,n)=>ge(ge(ge(_,b(e)),b(t)),b(n)),fn=()=>pe(te),gn=()=>fe(te),Ln=e=>ge(te,b(e)),yn=()=>!ae(_),In=e=>ie(_,b(e)),Sn=(e,t)=>ie(ge(Z,b(e)),b(t)),pn=(e,t)=>ie(ge(_,b(e)),b(t)),wn=(e,t,n)=>ie(ge(ge(_,b(e)),b(t)),b(n)),Rn=()=>!ae(te),Tn=e=>ie(te,b(e)),Cn=e=>nn((()=>(e=>ot(e,yt,Gt))(e)?Vt(e):0)),bn=e=>nn((()=>pt(e)?Jt(e):0)),mn=e=>{try{mt(st(e))}catch(e){}return Qn},Vn=t=>nn((()=>{if((e=ot(t,(e=>ot(e,Lt))))&&(Ct(t),!ae(_))){const e=on();kn(),Cn(e)}})),En=e=>nn((()=>{if(t=(e=>ot(e,Lt))(e)){const n=fn();On(),Dn(),t=!0,bt(e),bn(n)}})),kn=()=>nn((()=>Vt({}))),xn=e=>nn((e=>ie(_,e)?Pt(e):0),e),Mn=(e,t)=>nn(((e,t)=>x(ge(_,e),(n=>ie(n,t)?Qt(e,n,t):0))),e,t),Dn=()=>nn((()=>Jt({}))),Jn=()=>nn((()=>{Ct({}),e=!1})),On=()=>nn((()=>{bt({}),t=!1})),An=(e,t)=>{if(-1!=v){Fn();const n=e();return Pn(t),n}},Fn=()=>(-1!=v&&v++,1==v&&ht(ut,void 0,ln,sn),Qn),Pn=e=>(v>0&&(v--,0==v&&(n=!ae(A),l=!ae(Q),v=1,Yt(1),n&&en(1),Zt(1),l&&tn(1),(null==e?void 0:e(ln,sn))&&(ce(A,((e,t)=>ce(e,((e,n)=>ce(e,(([e],l)=>Ee(Qn,t,n,l,e))))))),ce(Q,(([e],t)=>ke(Qn,t,e))),n=l=!1),ht(ct[0],void 0,ln,sn),v=-1,Yt(0),n&&en(0),Zt(0),l&&tn(0),ht(ct[1],void 0,ln,sn),v=0,n=l=!1,o=yn(),d=Rn(),W([S,m,V,E,J,A,z,F,Q,H],ue))),Qn),Qn={getContent:()=>[on(),fn()],getTables:on,getTableIds:rn,getTable:e=>we(ge(_,b(e))),getTableCellIds:an,getRowCount:dn,getRowIds:un,getSortedRowIds:cn,getRow:(e,t)=>pe(ge(ge(_,b(e)),b(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:gn,getValue:Ln,hasTables:yn,hasTable:In,hasTableCell:Sn,hasRow:pn,hasCell:wn,hasValues:Rn,hasValue:Tn,getTablesJson:()=>lt(_),getValuesJson:()=>lt(te),getJson:()=>lt([_,te]),getTablesSchemaJson:()=>lt($),getValuesSchemaJson:()=>lt(K),getSchemaJson:()=>lt([$,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>nn((()=>{(oe(e)?kn:Cn)(e),(oe(t)?Dn:bn)(t)})),setTables:Cn,setTable:(e,t)=>nn((e=>yt(t,e)?Et(e,t):0),e),setRow:(e,t,n)=>nn(((e,t)=>It(e,t,n)?kt(e,Ft(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return It(e,l,t)&&(e=b(e),kt(e,Ft(e),l=At(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>nn(((e,t)=>{if(It(e,t,n,1)){const l=Ft(e);se(n,((n,s)=>Mt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>nn(((e,t,n)=>x(St(e,t,n,D(l)?l(hn(e,t,n)):l),(l=>Mt(e,Ft(e),t,n,l)))),e,t,n),setValues:bn,setPartialValues:e=>nn((()=>pt(e,1)?se(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>nn((e=>x(wt(e,D(t)?t(Ln(e)):t),(t=>Ot(e,t)))),e),setTransactionChanges:e=>nn((()=>{se(e[0],((e,t)=>k(e)?xn(t):se(e,((e,n)=>k(e)?Mn(t,n):se(e,((e,l)=>Ee(Qn,t,n,l,e))))))),se(e[1],((e,t)=>ke(Qn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Dt(st(e))}catch(e){}return Qn},setJson:e=>nn((()=>{try{const[t,n]=st(e);mt(t),Dt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>nn((()=>{Vn(e),En(t)})),delTables:kn,delTable:xn,delRow:Mn,delCell:(e,t,n,l)=>nn(((e,t,n)=>x(ge(_,e),(s=>x(ge(s,t),(o=>ie(o,n)?jt(e,s,t,o,n,l):0))))),e,t,n),delValues:Dn,delValue:e=>nn((e=>ie(te,e)?zt(e):0),e),delTablesSchema:Jn,delValuesSchema:On,delSchema:()=>nn((()=>{Jn(),On()})),transaction:An,startTransaction:Fn,finishTransaction:Pn,forEachTable:e=>ce(_,((t,n)=>e(n,(e=>ce(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(Z,b(e)),t),forEachRow:(e,t)=>ce(ge(_,b(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(_,b(e)),b(t)),n),forEachValue:e=>Le(te,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=cn(e,t,n,l,s);return vt((()=>{const r=cn(e,t,n,l,s);j(r,i)||(i=r,o(Qn,e,t,n,l,s,i))}),We[r?1:0],[e,t],[rn])},addStartTransactionListener:e=>vt(e,ut),addWillFinishTransactionListener:e=>vt(e,ct[0]),addDidFinishTransactionListener:e=>vt(e,ct[1]),callListener:e=>(gt(e),Qn),delListener:e=>(ft(e),Qn),getListenerStats:()=>({}),createStore:it,addListener:vt,callListeners:ht};return se({[c+f]:[0,de,[],()=>[yn()]],[f]:[0,me],[g]:[0,De],[c+h]:[1,Je,[rn],e=>[In(...e)]],[h]:[1,Oe,[rn]],[h+w]:[1,Ae,[rn]],[c+h+p]:[2,Qe,[rn,an],e=>[Sn(...e)]],[y]:[1,ze,[rn]],[I]:[1,Ne,[rn]],[c+L]:[2,Be,[rn,un],e=>[pn(...e)]],[L]:[2,He,[rn,un]],[w]:[2,$e,[rn,un]],[c+p]:[3,qe,[rn,un,vn],e=>[wn(...e)]],[p]:[3,Ge,[rn,un,vn],e=>_e(hn(...e))],InvalidCell:[3,Ke],[c+T]:[0,Xe,[],()=>[Rn()]],[T]:[0,Ye],[C]:[0,Ze],[c+R]:[1,at,[gn],e=>[Tn(...e)]],[R]:[1,dt,[gn],e=>_e(Ln(e[0]))],InvalidValue:[1,Ue]},(([e,t,n,l],s)=>{Qn[u+s+a]=(...s)=>vt(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(Qn)};export{Qe as createCheckpoints,Ge as createCustomPersister,ze as createIndexes,Be as createMetrics,Ye as createQueries,Ze as createRelationships,it as createStore,je as defaultSorter};
1
+ const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Has",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+"Count",I=L+v,S="Sorted"+L+v,p="Cell",w=p+v,R="Value",T=R+"s",C=R+v,b=e=>t+e,m=Math.max,V=Math.min,E=isFinite,k=e=>null==e,x=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),O=(e,t,n)=>e.slice(t,n),A=e=>e.length,F=()=>{},P=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),j=(e,t)=>A(e)===A(t)&&Q(e,((e,n)=>t[n]===e)),z=(e,t)=>Q(e,((n,l)=>0==l||t(e[l-1],n)<=0)),N=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==A(e),q=(e,t,n)=>e.reduce(t,n),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!k(e)&&x(Y(e),(e=>e==X.prototype||k(Y(e))),(()=>!0)),ne=(e,t)=>!k(((e,t)=>x(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>B(X.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>A(Z(e)))(e),re=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>k(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ce=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ce(e,((e,n)=>t(n,e))),ye=(e,t,n)=>k(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Ie=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),Se=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),pe=(e,t,n)=>{const l={};return ce(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},we=(e,t,n)=>pe(e,(e=>pe(e,t,n)),oe),Re=(e,t,n)=>pe(e,(e=>we(e,t,n)),oe),Te=(e,t)=>{const n=he();return ce(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>Te(e,Te),be=e=>Te(e,Ce),me=(e,t,n,l,s=0)=>x((n?Ie:ge)(e,t[s],s>A(t)-2?n:he),(o=>{if(s>A(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),Ve=t=>{const n=e(t);return M(n)||n==s&&E(t)?n:void 0},Ee=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n,l,s)=>{const o=e.hasRow,r=he(),i=he(),a=he(),d=he(),u=he(),c=he(),v=(t,n,...l)=>{const s=Ie(c,t,xe);return W(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>x(ge(c,t),(l=>{W($(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(c,t)})),f=(e,n)=>{ye(r,e,n),ie(i,e)||(ye(i,e,t()),ye(d,e,he()),ye(u,e,he()),s(a))},g=e=>{ye(r,e),ye(i,e),ye(d,e),ye(u,e),h(e),s(a)};return[()=>e,()=>fe(r),e=>Le(i,e),e=>ie(i,e),e=>ge(r,e),e=>ge(i,e),(e,t)=>ye(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=he(),c=he(),g=ge(d,t),L=ge(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=ge(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&j(d,u)||ye(a,t,[d,u]),!k(i)){const e=ge(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&ye(c,t,n)}},I=e=>{s((()=>{ce(a,(([,e],t)=>ye(g,t,e))),ce(c,((e,t)=>ye(L,t,e)))}),a,c,g,L,e),ue(a),ue(c)};Le(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ie(g,e)||y(e)})),I(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>I())))},g,e=>l(e,a),()=>Le(c,g),v,h]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&A(e)<1e3&&G(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return ye(o,u,[s,r,i,a,d]),Me(me(r,null!=i?i:[t],xe),u),u},(e,l,...s)=>W(((e,n=[t])=>{const l=[],s=(e,t)=>t==A(n)?G(l,e):null===n[t]?ce(e,(e=>s(e,t+1))):W([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ce(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>x(ge(o,e),(([,n,l])=>(me(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>x(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=A(r);d==A(t)?e(n,...r,...s(r)):k(t[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Qe=Oe((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),u=he(),[c,v,h]=Pe((()=>F)),f=he(),g=he(),L=[],y=[],I=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ce(l,((n,l)=>ce(n,((n,s)=>ce(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ce(s,((n,l)=>ke(e,l,n[t])))})),a=1},S=e=>{ye(f,e),ye(g,e),v(u,[e])},p=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:A(e)),S),w=()=>p(L,A(L)-o),R=()=>x(n,(()=>{G(L,n),w(),p(y),n=void 0,s=1})),T=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=Ie(r,t,he),i=Ie(e,n,he),a=Ie(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&T(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=Ie(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&T(),M()}})),m=(e="")=>(k(n)&&(n=t+l++,ye(f,n,[r,i]),J(n,e),r=he(),i=he(),s=1),n),V=()=>{$(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),I(0,n),n=K(L),s=1)},E=()=>{$(y)||(G(L,n),n=U(y),I(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(O(e)&&ge(g,e)!==t&&(ye(g,e,t),v(u,[e])),F),O=e=>ie(f,e),F={setSize:e=>(o=e,w(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:O,getCheckpoint:e=>ge(g,e),goBackward:()=>(V(),M(),F),goForward:()=>(E(),M(),F),goTo:e=>{const t=P(L,e)?V:P(y,e)?E:null;for(;!k(t)&&e!=n;)t();return M(),F},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),F),clear:()=>(p(L),p(y),k(n)||S(n),n=void 0,l=0,D(),F),clearForward:()=>($(y)||(p(y),v(d)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,ze=Oe((e=>{const n=he(),l=he(),[s,o,r]=Pe((()=>S)),[i,a,d,u,c,v,h,,f,g,L,y]=De(e,he,(e=>k(e)?t:J(e)?B(e,b):b(e)),s,o),I=(t,n,l)=>{const s=c(t);ce(l,((t,l)=>n(l,(n=>ce(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,r,i,a=je)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=xe(),y=xe(),I=v(e);if(ce(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ce(l,(e=>ve(s,e)?ve(l,e):0)),ce(l,(e=>{Me(L,e),x(ge(I,e),(t=>{ve(t,n),ae(t)&&(ye(I,e),g=1)}))})),ce(s,(e=>{Me(L,e),ie(I,e)||(ye(I,e,xe()),g=1),Me(ge(I,e),n),k(r)||Me(y,e)}))})),t(),ae(c)||(f?Le(I,(e=>Me(y,e))):Le(i,(e=>x(ge(u,e),(e=>Me(y,e))))),ce(y,(e=>{const t=(t,n)=>a(ge(c,t),ge(c,n),e),n=[...ge(I,e)];z(n,t)||(ye(I,e,xe(N(n,t))),Me(L,e))}))),(g||f)&&!k(d)){const t=[...I];z(t,d)||(h(e,he(N(t,d))),g=1)}g&&o(n,[e]),ce(L,(t=>o(l,[e,t])))}),Je(s),x(r,Je)),S},delIndexDefinition:e=>(g(e),S),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ie(v(e),t),getTableId:c,getSliceIds:e=>fe(v(e)),getSliceRowIds:(e,t)=>de(ge(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),S),destroy:y,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>H(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ce(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(de(n),re(n)):e},Be=Oe((e=>{const n=he(),[l,s,o]=Pe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=De(e,F,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),y={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=ge(Ne,l))?d:ge(Ne,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=re(r);a||(a=k(d)),t();let f=We(d,h,r,l,u,a);E(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),Je(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return ee(y)}));var He=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const $e=he(),qe=he(),Ge=(e,t,n,l,s,o,[r,i]=[],a=[])=>{let d,u,c,v=0,h=0;Ie($e,a,(()=>0)),Ie(qe,a,(()=>[]));const f=e=>He(void 0,null,(function*(){return 2!=v&&(v=1,yield g.schedule((()=>He(void 0,null,(function*(){yield e(),v=0}))))),g})),g={load:(n,l)=>He(void 0,null,(function*(){return yield f((()=>He(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>He(void 0,[...n],(function*(n={},s={}){return g.stopAutoLoad(),yield g.load(n,s),h=1,c=l(((n,l)=>He(void 0,null,(function*(){if(l){const t=l();yield f((()=>He(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield f((()=>He(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),g})),stopAutoLoad:()=>(h&&(s(c),c=void 0,h=0),g),save:t=>He(void 0,null,(function*(){return 1!=v&&(v=2,yield g.schedule((()=>He(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}v=0}))))),g})),startAutoSave:()=>He(void 0,null,(function*(){return yield g.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();oe(n)&&oe(l)||g.save((()=>[n,l]))})),g})),stopAutoSave:()=>(x(d,e.delListener),d=void 0,g),schedule:(...e)=>He(void 0,null,(function*(){return G(ge(qe,a),...e),yield He(void 0,null,(function*(){if(!ge($e,a)){for(ye($e,a,1);!k(u=U(ge(qe,a)));)try{yield u()}catch(e){null==o||o(e)}ye($e,a,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(g[r]=()=>i),ee(g)};var Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;const Ye=Oe((e=>{const n=e.createStore,l=n(),s=n(),o=he(),{addListener:r,callListeners:i,delListener:c}=s,[v,f,g,R,T,,,C,,b,m,V,E,M]=De(e,(()=>!0),F,r,i),J=(e,t,...n)=>W(n,(n=>Me(Ie(Ie(o,t,he),e,xe),n))),P=e=>{x(ge(o,e),(e=>{Le(e,((e,t)=>ce(t,(t=>e.delListener(t))))),ue(e)})),W([s,l],(t=>t.delTable(e)))},j=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(n,o,r)=>{C(n,o),P(n);const i=[],a=[[null,[o,null,null,[],he()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[A(i)+t,e]:[k(n)?e:n,t=>t(e,n)];return G(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||D(t)?null:t,s=k(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],he()]];return G(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>G(d,D(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,D(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return G(u,r),{as:e=>r[0]=e}},having:(e,t)=>G(c,D(e)?e:n=>n(e)===t)});const v=he(i);if(ae(v))return z;const h=he(a);Le(h,((e,[,t])=>x(ge(h,t),(({3:t})=>k(e)?0:G(t,e)))));const f=he(u);let g=l;if(ae(f)&&$(c))g=s;else{j(n,g,s);const e=he();Le(f,((t,[n,l])=>Me(Ie(e,n,xe),[t,l])));const t=xe();Le(v,(n=>ie(e,n)?0:Me(t,n)));const l=he(),o=(t,l,o,r)=>x(t,(([i,a,d,u])=>{Le(l,((t,[n])=>{const l=Ie(i,t,he),s=ge(l,o),a=r?void 0:n;if(s!==a){const n=xe([[s,a]]),r=re(l);ye(l,o,a),ce(ge(e,t),(([e,t])=>{const s=We(u[e],r,l,n,t);u[e]=k(Ve(s))?null:s}))}})),ae(a)||!Q(c,(e=>e((e=>u[e]))))?s.delRow(n,d):k(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=he(),v=g.hasRow(n,i);let h=!v;ce(t,(e=>{const[t,l,s]=a(n,i,e);G(d,l),G(u,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(c,e,[l])})),h&&o(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),c,i,1),v&&o(me(l,u,(()=>{const e={};return ce(t,(t=>e[t]=g.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),c,i)})))}j(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=ge(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=ge(d,t))?s:[];u!=c&&(k(v)||M(n,v),ye(d,t,k(u)?null:[u,...E(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...k(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=ge(h,n))?void 0:s[0],null==(i=ge(null==(r=ge(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>Q(d,(e=>e(l)))?Le(v,((e,s)=>Ee(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:y}=ge(h,null);return g.transaction((()=>E(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(n,s),ce(h,(({4:e})=>x(ge(e,s),(([,t])=>{M(n,t),ye(e,s)})))))}))))),z},delQueryDefinition:e=>(P(e),b(e),z),getStore:v,getQueryIds:f,forEachQuery:g,hasQuery:R,getTableId:T,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(c(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ue.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ke)for(var l of Ke(e))t.indexOf(l)<0&&Xe.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return se({[h]:[1,1],[h+w]:[0,1],[y]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[w]:[0,2],[p]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+d+n]=(...t)=>s[e+n](...t))),z[u+d+n+a]=(...e)=>s[u+n+a](...O(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),ee(z)})),Ze=Oe((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a]=Pe((()=>R)),[d,u,c,v,h,f,,,g,L,y,I]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+t),r,i),S=(e,t,n)=>x(f(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(h(e)!=w(e))Me(o,t);else{let e=t;for(;!k(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),p=(e,t)=>x(f(e),(([,,e])=>ye(e,t))),w=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,a)=>(ye(n,e,r),g(e,t,((t,n)=>{const r=xe(),a=xe(),d=xe(),[u,c]=f(e);ce(n,(([t,n],l)=>{k(t)||(Me(a,t),x(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),k(n)||(Me(a,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(u,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(d,t)}))})),t(),ce(r,(t=>i(l,[e,t]))),ce(a,(t=>i(s,[e,t]))),ce(d,(t=>{p(e,t),i(o,[e,t])}))}),Je(a)),R),delRelationshipDefinition:e=>(ye(n,e),L(e),R),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),r(n,o,[e,t])),delListener:e=>{var t;return p(...null!=(t=a(e))?t:[]),R},destroy:I,getListenerStats:()=>({})};return ee(R)})),_e=e=>[e,e],et=()=>[he(),he()],tt=e=>[...e],nt=([e,t])=>e===t,lt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),st=JSON.parse,ot=(e,t,n)=>k(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),rt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),it=()=>{let e,t,n=!1,l=!1,o=!1,d=!1,v=0;const S=he(),m=he(),V=he(),E=he(),J=he(),A=he(),F=he(),Q=he(),z=he(),H=he(),$=he(),q=he(),K=he(),U=he(),X=xe(),Y=he(),Z=he(),_=he(),te=he(),de=et(),me=et(),De=et(),Je=et(),Oe=et(),Ae=et(),Qe=et(),ze=et(),Ne=et(),We=et(),Be=et(),He=et(),$e=et(),qe=et(),Ge=et(),Ke=et(),Ue=et(),Xe=et(),Ye=et(),Ze=et(),at=et(),dt=et(),ut=he(),ct=et(),[vt,ht,ft,gt]=Pe((()=>Qn)),Lt=e=>{if(!ot(e,((e,t)=>P([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},yt=(t,n)=>(!e||ie($,n)||Gt(n))&&ot(t,((e,t)=>It(n,t,e)),(()=>Gt(n))),It=(e,t,n,l)=>ot(l?n:Rt(n,e,t),((l,s)=>x(St(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,n,l,s)=>e?x(ge(ge($,t),l),(e=>Ve(s)!=e[r]?Gt(t,n,l,s,e[i]):s),(()=>Gt(t,n,l,s))):k(Ve(s))?Gt(t,n,l,s):s,pt=(e,t)=>ot(t?e:Tt(e),((t,n)=>x(wt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Kt())),wt=(e,n)=>t?x(ge(K,e),(t=>Ve(n)!=t[r]?Kt(e,n,t[i]):n),(()=>Kt(e,n))):k(Ve(n))?Kt(e,n):n,Rt=(e,t,n)=>(x(ge(q,t),(([l,s])=>{ce(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(s,(l=>{ne(e,l)||Gt(t,n,l)}))})),e),Tt=e=>(t&&(ce(U,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>Se($,e,((e,t,n)=>{const l=he(),s=xe();Se(Ie($,t,he),n,((e,t,n)=>{ye(e,t,n),x(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(q,t,[l,s])}),((e,t)=>{ye($,t),ye(q,t)})),bt=e=>Se(K,e,((e,t,n)=>{ye(K,t,n),x(n[i],(e=>ye(U,t,e)),(()=>Me(X,t)))}),((e,t)=>{ye(K,t),ye(U,t),ve(X,t)})),mt=e=>oe(e)?kn():Cn(e),Vt=e=>Se(_,e,((e,t,n)=>Et(t,n)),((e,t)=>Pt(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(Nt(e,1),ye(Y,e,Fe()),ye(Z,e,he()),he()))),t,((t,n,l)=>kt(e,t,n,l)),((t,n)=>Qt(e,t,n))),kt=(e,t,n,l,s)=>Se(Ie(t,n,(()=>(Wt(e,n,1),he()))),l,((t,l,s)=>xt(e,n,t,l,s)),((l,o)=>jt(e,t,n,l,o,s))),xt=(e,t,n,l,s)=>{ie(n,l)||Bt(e,t,l,1);const o=ge(n,l);s!==o&&(Ht(e,t,l,o,s),ye(n,l,s))},Mt=(e,t,n,l,s)=>x(ge(t,n),(t=>xt(e,n,t,l,s)),(()=>kt(e,t,n,Rt({[l]:s},e,n)))),Dt=e=>oe(e)?Dn():bn(e),Jt=e=>Se(te,e,((e,t,n)=>Ot(t,n)),((e,t)=>zt(t))),Ot=(e,t)=>{ie(te,e)||$t(e,1);const n=ge(te,e);t!==n&&(qt(e,n,t),ye(te,e,t))},At=(e,t)=>{const[n]=ge(Y,e),l=n(t);return ie(ge(_,e),l)?At(e,t):l},Ft=e=>{var t;return null!=(t=ge(_,e))?t:Et(e,{})},Pt=e=>Et(e,{}),Qt=(e,t,n)=>{const[,l]=ge(Y,e);l(n),kt(e,t,n,{},!0)},jt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(q,e))?void 0:r[0],s);if(!k(i)&&!o)return xt(e,n,l,s,i);const a=t=>{Ht(e,n,t,ge(l,t)),Bt(e,n,t,-1),ye(l,t)};k(i)?a(s):Le(l,a),ae(l)&&(Wt(e,n,-1),ae(ye(t,n))&&(Nt(e,-1),ye(_,e),ye(Y,e),ye(Z,e)))},zt=e=>{const t=ge(U,e);if(!k(t))return Ot(e,t);qt(e,ge(te,e)),$t(e,-1),ye(te,e)},Nt=(e,t)=>rt(S,e,t),Wt=(e,t,n)=>rt(Ie(E,e,he),t,n)&&ye(V,e,Ie(V,e,(()=>0))+n),Bt=(e,t,n,l)=>{var s;const o=ge(Z,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&rt(Ie(m,e,he),n,l),ye(o,n,r!=-l?r+l:null),rt(Ie(Ie(J,e,he),t,he),n,l)},Ht=(e,t,n,l,s)=>Ie(Ie(Ie(A,e,he),t,he),n,(()=>[l,0]))[1]=s,$t=(e,t)=>rt(F,e,t),qt=(e,t,n)=>Ie(Q,e,(()=>[t,0]))[1]=n,Gt=(e,t,n,l,s)=>(G(Ie(Ie(Ie(z,e,he),t,he),n,(()=>[])),l),s),Kt=(e,t,n)=>(G(Ie(H,e,(()=>[])),t),n),Ut=(e,t,n)=>x(ge(ge(ge(A,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(hn(e,t,n))])),Xt=e=>x(ge(Q,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(Ln(e))])),Yt=e=>ae(z)||ae(Ke[e])?0:ce(e?be(z):z,((t,n)=>ce(t,((t,l)=>ce(t,((t,s)=>ht(Ke[e],[n,l,s],t))))))),Zt=e=>ae(H)||ae(Ue[e])?0:ce(e?Te(H):H,((t,n)=>ht(Ue[e],[n],t))),_t=(e,t,n,l)=>{if(!ae(e))return ht(t,l,(()=>pe(e))),Le(e,((e,t)=>ht(n,[...null!=l?l:[],e],1==t))),1},en=e=>{const t=yn();t!=o&&ht(de[e],void 0,t);const n=ae(We[e]),l=ae($e[e])&&ae(qe[e])&&ae(Ne[e])&&ae(Be[e])&&ae(Ae[e])&&ae(Qe[e])&&ae(ze[e])&&n&&ae(De[e])&&ae(Je[e]),s=ae(Ge[e])&&ae(He[e])&&ae(Oe[e])&&ae(me[e]);if(!l||!s){const t=e?[Te(S),Ce(m),Te(V),Ce(E),be(J),be(A)]:[S,m,V,E,J,A];if(!l){_t(t[0],De[e],Je[e]),ce(t[1],((t,n)=>_t(t,Ae[e],Qe[e],[n]))),ce(t[2],((t,n)=>{0!=t&&ht(ze[e],[n],dn(n))}));const l=xe();ce(t[3],((t,s)=>{_t(t,Ne[e],Be[e],[s])&&!n&&(ht(We[e],[s,null]),Me(l,s))})),n||ce(t[5],((t,n)=>{if(!ie(l,n)){const l=xe();ce(t,(e=>ce(e,(([t,n],s)=>n!==t?Me(l,s):ve(e,s))))),ce(l,(t=>ht(We[e],[n,t])))}})),ce(t[4],((t,n)=>ce(t,((t,l)=>_t(t,$e[e],qe[e],[n,l])))))}if(!s){let n;ce(t[5],((t,l)=>{let s;ce(t,((t,o)=>{let r;ce(t,(([t,i],a)=>{i!==t&&(ht(Ge[e],[l,o,a],i,t,Ut),n=s=r=1)})),r&&ht(He[e],[l,o],Ut)})),s&&ht(Oe[e],[l],Ut)})),n&&ht(me[e],void 0,Ut)}}},tn=e=>{const t=Rn();t!=d&&ht(Xe[e],void 0,t);const n=ae(Ze[e])&&ae(at[e]),l=ae(dt[e])&&ae(Ye[e]);if(!n||!l){const t=e?[Te(F),Te(Q)]:[F,Q];if(n||_t(t[0],Ze[e],at[e]),!l){let n;ce(t[1],(([t,l],s)=>{l!==t&&(ht(dt[e],[s],l,t,Xt),n=1)})),n&&ht(Ye[e],void 0,Xt)}}},nn=(e,...t)=>(An((()=>e(...B(t,b)))),Qn),ln=()=>[pe(A,((e,t)=>-1===ge(S,t)?null:pe(e,((e,n)=>-1===ge(ge(E,t),n)?null:pe(e,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))),oe)),oe),pe(Q,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))],sn=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(A,tt,nt),invalidCells:Re(z),changedValues:pe(Q,tt,nt),invalidValues:pe(H),changedTableIds:pe(S),changedRowIds:we(E),changedCellIds:Re(J),changedValueIds:pe(F)}),on=()=>Re(_),rn=()=>fe(_),an=e=>fe(ge(Z,b(e))),dn=e=>re(ge(_,b(e))),un=e=>fe(ge(_,b(e))),cn=(e,t,n,l=0,s)=>{return B(O(N((o=ge(_,b(e)),r=(e,n)=>[k(t)?n:ge(e,b(t)),n],B([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},vn=(e,t)=>fe(ge(ge(_,b(e)),b(t))),hn=(e,t,n)=>ge(ge(ge(_,b(e)),b(t)),b(n)),fn=()=>pe(te),gn=()=>fe(te),Ln=e=>ge(te,b(e)),yn=()=>!ae(_),In=e=>ie(_,b(e)),Sn=(e,t)=>ie(ge(Z,b(e)),b(t)),pn=(e,t)=>ie(ge(_,b(e)),b(t)),wn=(e,t,n)=>ie(ge(ge(_,b(e)),b(t)),b(n)),Rn=()=>!ae(te),Tn=e=>ie(te,b(e)),Cn=e=>nn((()=>(e=>ot(e,yt,Gt))(e)?Vt(e):0)),bn=e=>nn((()=>pt(e)?Jt(e):0)),mn=e=>{try{mt(st(e))}catch(e){}return Qn},Vn=t=>nn((()=>{if((e=ot(t,(e=>ot(e,Lt))))&&(Ct(t),!ae(_))){const e=on();kn(),Cn(e)}})),En=e=>nn((()=>{if(t=(e=>ot(e,Lt))(e)){const n=fn();On(),Dn(),t=!0,bt(e),bn(n)}})),kn=()=>nn((()=>Vt({}))),xn=e=>nn((e=>ie(_,e)?Pt(e):0),e),Mn=(e,t)=>nn(((e,t)=>x(ge(_,e),(n=>ie(n,t)?Qt(e,n,t):0))),e,t),Dn=()=>nn((()=>Jt({}))),Jn=()=>nn((()=>{Ct({}),e=!1})),On=()=>nn((()=>{bt({}),t=!1})),An=(e,t)=>{if(-1!=v){Fn();const n=e();return Pn(t),n}},Fn=()=>(-1!=v&&v++,1==v&&ht(ut,void 0,ln,sn),Qn),Pn=e=>(v>0&&(v--,0==v&&(n=!ae(A),l=!ae(Q),v=1,Yt(1),n&&en(1),Zt(1),l&&tn(1),(null==e?void 0:e(ln,sn))&&(ce(A,((e,t)=>ce(e,((e,n)=>ce(e,(([e],l)=>Ee(Qn,t,n,l,e))))))),ce(Q,(([e],t)=>ke(Qn,t,e))),n=l=!1),ht(ct[0],void 0,ln,sn),v=-1,Yt(0),n&&en(0),Zt(0),l&&tn(0),ht(ct[1],void 0,ln,sn),v=0,n=l=!1,o=yn(),d=Rn(),W([S,m,V,E,J,A,z,F,Q,H],ue))),Qn),Qn={getContent:()=>[on(),fn()],getTables:on,getTableIds:rn,getTable:e=>we(ge(_,b(e))),getTableCellIds:an,getRowCount:dn,getRowIds:un,getSortedRowIds:cn,getRow:(e,t)=>pe(ge(ge(_,b(e)),b(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:gn,getValue:Ln,hasTables:yn,hasTable:In,hasTableCell:Sn,hasRow:pn,hasCell:wn,hasValues:Rn,hasValue:Tn,getTablesJson:()=>lt(_),getValuesJson:()=>lt(te),getJson:()=>lt([_,te]),getTablesSchemaJson:()=>lt($),getValuesSchemaJson:()=>lt(K),getSchemaJson:()=>lt([$,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>nn((()=>{(oe(e)?kn:Cn)(e),(oe(t)?Dn:bn)(t)})),setTables:Cn,setTable:(e,t)=>nn((e=>yt(t,e)?Et(e,t):0),e),setRow:(e,t,n)=>nn(((e,t)=>It(e,t,n)?kt(e,Ft(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return It(e,l,t)&&(e=b(e),kt(e,Ft(e),l=At(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>nn(((e,t)=>{if(It(e,t,n,1)){const l=Ft(e);se(n,((n,s)=>Mt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>nn(((e,t,n)=>x(St(e,t,n,D(l)?l(hn(e,t,n)):l),(l=>Mt(e,Ft(e),t,n,l)))),e,t,n),setValues:bn,setPartialValues:e=>nn((()=>pt(e,1)?se(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>nn((e=>x(wt(e,D(t)?t(Ln(e)):t),(t=>Ot(e,t)))),e),setTransactionChanges:e=>nn((()=>{se(e[0],((e,t)=>k(e)?xn(t):se(e,((e,n)=>k(e)?Mn(t,n):se(e,((e,l)=>Ee(Qn,t,n,l,e))))))),se(e[1],((e,t)=>ke(Qn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Dt(st(e))}catch(e){}return Qn},setJson:e=>nn((()=>{try{const[t,n]=st(e);mt(t),Dt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>nn((()=>{Vn(e),En(t)})),delTables:kn,delTable:xn,delRow:Mn,delCell:(e,t,n,l)=>nn(((e,t,n)=>x(ge(_,e),(s=>x(ge(s,t),(o=>ie(o,n)?jt(e,s,t,o,n,l):0))))),e,t,n),delValues:Dn,delValue:e=>nn((e=>ie(te,e)?zt(e):0),e),delTablesSchema:Jn,delValuesSchema:On,delSchema:()=>nn((()=>{Jn(),On()})),transaction:An,startTransaction:Fn,finishTransaction:Pn,forEachTable:e=>ce(_,((t,n)=>e(n,(e=>ce(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(Z,b(e)),t),forEachRow:(e,t)=>ce(ge(_,b(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(_,b(e)),b(t)),n),forEachValue:e=>Le(te,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=cn(e,t,n,l,s);return vt((()=>{const r=cn(e,t,n,l,s);j(r,i)||(i=r,o(Qn,e,t,n,l,s,i))}),We[r?1:0],[e,t],[rn])},addStartTransactionListener:e=>vt(e,ut),addWillFinishTransactionListener:e=>vt(e,ct[0]),addDidFinishTransactionListener:e=>vt(e,ct[1]),callListener:e=>(gt(e),Qn),delListener:e=>(ft(e),Qn),getListenerStats:()=>({}),createStore:it,addListener:vt,callListeners:ht};return se({[c+f]:[0,de,[],()=>[yn()]],[f]:[0,me],[g]:[0,De],[c+h]:[1,Je,[rn],e=>[In(...e)]],[h]:[1,Oe,[rn]],[h+w]:[1,Ae,[rn]],[c+h+p]:[2,Qe,[rn,an],e=>[Sn(...e)]],[y]:[1,ze,[rn]],[I]:[1,Ne,[rn]],[c+L]:[2,Be,[rn,un],e=>[pn(...e)]],[L]:[2,He,[rn,un]],[w]:[2,$e,[rn,un]],[c+p]:[3,qe,[rn,un,vn],e=>[wn(...e)]],[p]:[3,Ge,[rn,un,vn],e=>_e(hn(...e))],InvalidCell:[3,Ke],[c+T]:[0,Xe,[],()=>[Rn()]],[T]:[0,Ye],[C]:[0,Ze],[c+R]:[1,at,[gn],e=>[Tn(...e)]],[R]:[1,dt,[gn],e=>_e(Ln(e[0]))],InvalidValue:[1,Ue]},(([e,t,n,l],s)=>{Qn[u+s+a]=(...s)=>vt(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(Qn)};export{Qe as createCheckpoints,Ge as createCustomPersister,ze as createIndexes,Be as createMetrics,Ye as createQueries,Ze as createRelationships,it as createStore,je as defaultSorter};
Binary file
@@ -1 +1 @@
1
- import e from"react";const t=e=>typeof e,o="",r=t(o),n="Listener",l="Result",d="Has",s="has",u="Ids",i="Table",a=i+"s",c=i+u,I="Row",p=I+"Count",v=I+u,b="Sorted"+I+u,g="Cell",m=g+u,C="Value",y=C+"s",w=C+u,f=e=>null==e,k=(e,t,o)=>f(e)?null==o?void 0:o():t(e),h=e=>t(e)==r,R=()=>{},P=(e,t)=>e.map(t),x=Object.keys,q=(e,t)=>k(e,(e=>e[t])),{createContext:S,useContext:O,useEffect:L}=e,j=S([]),B=(e,t)=>{var o;const r=O(j);return f(e)?r[t]:h(e)?q(null!=(o=r[t+1])?o:{},e):e},T=(e,t)=>{const o=B(e,t);return f(e)||h(e)?o:e},E=e=>{var t;return x(null!=(t=O(j)[e])?t:{})},M=e=>B(e,0),F=e=>T(e,0),V=(e,t)=>{const{12:o,13:r}=O(j);L((()=>(null==o||o(e,t),()=>null==r?void 0:r(e))),[o,e,t,r])},A=e=>B(e,2),D=e=>T(e,2),H=e=>B(e,4),Q=e=>T(e,4),W=e=>B(e,6),z=e=>T(e,6),G=e=>B(e,8),J=e=>T(e,8),K=e=>B(e,10),N=e=>T(e,10),U=e=>e.toLowerCase();U(n);const X="Transaction";U(X);const{useCallback:Y,useEffect:Z,useMemo:$,useLayoutEffect:_,useRef:ee,useState:te}=e,oe=[],re={},ne=[[],void 0,[]],le=(e,t,o=oe)=>{const r=$((()=>t(e)),[e,...o]);return Z((()=>()=>r.destroy()),[r]),r},de=(e,t,o,r=oe,n,l="get",d="")=>{const[,s]=te(),u=Y((()=>{var n,d;return null!=(d=null==(n=null==t?void 0:t[l+e])?void 0:n.call(t,...r))?d:o}),[t,e,...r,o]),i=ee();return $((()=>i.current=u()),[u]),se(d+e,t,((...e)=>{i.current=f(n)?u():e[n],s([])}),[u,n],r),i.current},se=(e,t,o,r=oe,l=oe,...d)=>_((()=>{var r;const s=null==(r=null==t?void 0:t["add"+e+n])?void 0:r.call(t,...l,o,...d);return()=>null==t?void 0:t.delListener(s)}),[t,e,...l,...r,...d]),ue=(e,t,o,r=oe,n=R,l=oe,...d)=>{const s=F(e);return Y((e=>k(s,(r=>k(o(e,r),(e=>n(r["set"+t](...d,e),e)))))),[s,t,...r,...l,...d])},ie=(e,t,o=R,r=oe,...n)=>{const l=F(e);return Y((()=>o(null==l?void 0:l["del"+t](...n))),[l,t,...r,...n])},ae=(e,t,o)=>{const r=N(e);return Y((()=>null==r?void 0:r[t](o)),[r,t,o])},ce=(e,t=oe)=>$(e,t),Ie=()=>E(1),pe=e=>de(a,F(e),!1,[],1,s,d),ve=e=>de(a,F(e),re),be=e=>de(c,F(e),oe),ge=(e,t)=>de(i,F(t),!1,[e],2,s,d),me=(e,t)=>de(i,F(t),re,[e]),Ce=(e,t)=>de(i+m,F(t),oe,[e]),ye=(e,t,o)=>de(i+g,F(o),!1,[e,t],3,s,d),we=(e,t)=>de(p,F(t),0,[e]),fe=(e,t)=>de(v,F(t),oe,[e]),ke=(e,t,o,r=0,n,l)=>de(b,F(l),oe,[e,t,o,r,n],6),he=(e,t,o)=>de(I,F(o),!1,[e,t],3,s,d),Re=(e,t,o)=>de(I,F(o),re,[e,t]),Pe=(e,t,o)=>de(m,F(o),oe,[e,t]),xe=(e,t,o,r)=>de(g,F(r),!1,[e,t,o],4,s,d),qe=(e,t,o,r)=>de(g,F(r),void 0,[e,t,o],4),Se=e=>de(y,F(e),!1,[],1,s,d),Oe=e=>de(y,F(e),re),Le=e=>de(w,F(e),oe),je=(e,t)=>de(C,F(t),!1,[e],2,s,d),Be=(e,t)=>de(C,F(t),void 0,[e]),Te=(e,t,o,r,n)=>ue(o,a,e,t,r,n),Ee=(e,t,o,r,n,l)=>ue(r,i,t,o,n,l,e),Me=(e,t,o,r,n,l,d)=>ue(n,I,o,r,l,d,e,t),Fe=(e,t,o=oe,r,n=R,l=oe,d=!0)=>{const s=F(r);return Y((o=>k(s,(r=>k(t(o,r),(t=>n(r.addRow(e,t,d),r,t)))))),[s,e,...o,...l,d])},Ve=(e,t,o,r,n,l,d)=>ue(n,"PartialRow",o,r,l,d,e,t),Ae=(e,t,o,r,n,l,d,s)=>ue(l,g,r,n,d,s,e,t,o),De=(e,t,o,r,n)=>ue(o,y,e,t,r,n),He=(e,t,o,r,n)=>ue(o,"PartialValues",e,t,r,n),Qe=(e,t,o,r,n,l)=>ue(r,C,t,o,n,l,e),We=(e,t,o)=>ie(e,a,t,o),ze=(e,t,o,r)=>ie(t,i,o,r,e),Ge=(e,t,o,r,n)=>ie(o,I,r,n,e,t),Je=(e,t,o,r,n,l,d)=>ie(n,g,l,d,e,t,o,r),Ke=(e,t,o)=>ie(e,y,t,o),Ne=(e,t,o,r)=>ie(t,C,o,r,e),Ue=(e,t,o,r)=>se(d+a,F(r),e,t,[],o),Xe=(e,t,o,r)=>se(a,F(r),e,t,oe,o),Ye=(e,t,o,r)=>se(c,F(r),e,t,oe,o),Ze=(e,t,o,r,n)=>se(d+i,F(n),t,o,[e],r),$e=(e,t,o,r,n)=>se(i,F(n),t,o,[e],r),_e=(e,t,o,r,n)=>se(i+m,F(n),t,o,[e],r),et=(e,t,o,r,n,l)=>se(d+i+g,F(l),o,r,[e,t],n),tt=(e,t,o,r,n)=>se(p,F(n),t,o,[e],r),ot=(e,t,o,r,n)=>se(v,F(n),t,o,[e],r),rt=(e,t,o,r,n,l,d,s,u)=>se(b,F(u),l,d,[e,t,o,r,n],s),nt=(e,t,o,r,n,l)=>se(d+I,F(l),o,r,[e,t],n),lt=(e,t,o,r,n,l)=>se(I,F(l),o,r,[e,t],n),dt=(e,t,o,r,n,l)=>se(m,F(l),o,r,[e,t],n),st=(e,t,o,r,n,l,s)=>se(d+g,F(s),r,n,[e,t,o],l),ut=(e,t,o,r,n,l,d)=>se(g,F(d),r,n,[e,t,o],l),it=(e,t,o,r)=>se(d+y,F(r),e,t,[],o),at=(e,t,o,r)=>se(y,F(r),e,t,oe,o),ct=(e,t,o,r)=>se(w,F(r),e,t,oe,o),It=(e,t,o,r,n)=>se(d+C,F(n),t,o,[e],r),pt=(e,t,o,r,n)=>se(C,F(n),t,o,[e],r),vt=(e,t,o)=>se("Start"+X,F(o),e,t),bt=(e,t,o)=>se("WillFinish"+X,F(o),e,t),gt=(e,t,o)=>se("DidFinish"+X,F(o),e,t),mt=(e,t,o)=>le(e,t,o),Ct=()=>E(3),yt=e=>de("MetricIds",D(e),oe),wt=(e,t)=>de("Metric",D(t),void 0,[e]),ft=(e,t,o,r)=>se("Metric",D(r),t,o,[e]),kt=(e,t,o)=>le(e,t,o),ht=()=>E(5),Rt=(e,t)=>de("SliceIds",Q(t),oe,[e]),Pt=e=>de("IndexIds",Q(e),oe),xt=(e,t,o)=>de("Slice"+v,Q(o),oe,[e,t]),qt=(e,t,o,r)=>se("SliceIds",Q(r),t,o,[e]),St=(e,t,o,r,n)=>se("Slice"+v,Q(n),o,r,[e,t]),Ot=(e,t,o)=>le(e,t,o),Lt=()=>E(7),jt=e=>de("RelationshipIds",z(e),oe),Bt=(e,t,o)=>de("RemoteRowId",z(o),void 0,[e,t]),Tt=(e,t,o)=>de("Local"+v,z(o),oe,[e,t]),Et=(e,t,o)=>de("Linked"+v,z(o),oe,[e,t]),Mt=(e,t,o,r,n)=>se("RemoteRowId",z(n),o,r,[e,t]),Ft=(e,t,o,r,n)=>se("Local"+v,z(n),o,r,[e,t]),Vt=(e,t,o,r,n)=>se("Linked"+v,z(n),o,r,[e,t]),At=(e,t,o)=>le(e,t,o),Dt=()=>E(9),Ht=e=>de("QueryIds",J(e),oe),Qt=(e,t)=>de(l+i,J(t),re,[e]),Wt=(e,t)=>de(l+i+m,J(t),oe,[e]),zt=(e,t)=>de(l+p,J(t),0,[e]),Gt=(e,t)=>de(l+v,J(t),oe,[e]),Jt=(e,t,o,r=0,n,d)=>de(l+b,J(d),oe,[e,t,o,r,n],6),Kt=(e,t,o)=>de(l+I,J(o),re,[e,t]),Nt=(e,t,o)=>de(l+m,J(o),oe,[e,t]),Ut=(e,t,o,r)=>de(l+g,J(r),void 0,[e,t,o]),Xt=(e,t,o,r)=>se(l+i,J(r),t,o,[e]),Yt=(e,t,o,r)=>se(l+i+m,J(r),t,o,[e]),Zt=(e,t,o,r)=>se(l+p,J(r),t,o,[e]),$t=(e,t,o,r)=>se(l+v,J(r),t,o,[e]),_t=(e,t,o,r,n,d,s,u)=>se(l+b,J(u),d,s,[e,t,o,r,n]),eo=(e,t,o,r,n)=>se(l+I,J(n),o,r,[e,t]),to=(e,t,o,r,n)=>se(l+m,J(n),o,r,[e,t]),oo=(e,t,o,r,n,d)=>se(l+g,J(d),r,n,[e,t,o]),ro=(e,t,o)=>le(e,t,o),no=()=>E(11),lo=e=>de("CheckpointIds",N(e),ne),so=(e,t)=>de("Checkpoint",N(t),void 0,[e]),uo=(e=R,t=oe,o,r=R,n=oe)=>{const l=N(o);return Y((t=>k(l,(o=>{const n=e(t);r(o.addCheckpoint(n),o,n)}))),[l,...t,...n])},io=e=>ae(e,"goBackward"),ao=e=>ae(e,"goForward"),co=(e,t=oe,o,r=R,n=oe)=>{const l=N(o);return Y((t=>k(l,(o=>k(e(t),(e=>r(o.goTo(e),e)))))),[l,...t,...n])},Io=e=>{var t;const r=N(e),[n,l]=lo(r);return[(d=n,!(0==d.length)),io(r),l,null!=(t=k(l,(e=>null==r?void 0:r.getCheckpoint(e))))?t:o];var d},po=e=>{var t;const r=N(e),[,,[n]]=lo(r);return[!f(n),ao(r),n,null!=(t=k(n,(e=>null==r?void 0:r.getCheckpoint(e))))?t:o]},vo=(e,t,o)=>se("CheckpointIds",N(o),e,t),bo=(e,t,o,r)=>se("Checkpoint",N(r),t,o,[e]),go=(e,t,o=oe,r,n=oe,l,d=oe)=>{const[,s]=te(),u=$((()=>t(e)),[e,...o]);return Z((()=>{var e;return e=function*(){r&&(yield r(u),s([]))},new Promise(((t,o)=>{var r=t=>{try{l(e.next(t))}catch(e){o(e)}},n=t=>{try{l(e.throw(t))}catch(e){o(e)}},l=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,n);l((e=e.apply(void 0,null)).next())})),()=>{null==u||u.destroy(),null==l||l(u)}}),[u,...n,...d]),u},{PureComponent:mo,Fragment:Co,createElement:yo,useCallback:wo,useLayoutEffect:fo,useRef:ko,useState:ho}=e,Ro=(e,...t)=>f(e)?{}:e(...t),Po=(e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)];var xo=Object.defineProperty,qo=Object.defineProperties,So=Object.getOwnPropertyDescriptors,Oo=Object.getOwnPropertySymbols,Lo=Object.prototype.hasOwnProperty,jo=Object.prototype.propertyIsEnumerable,Bo=(e,t,o)=>t in e?xo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,To=(e,t)=>{for(var o in t||(t={}))Lo.call(t,o)&&Bo(e,o,t[o]);if(Oo)for(var o of Oo(t))jo.call(t,o)&&Bo(e,o,t[o]);return e},Eo=(e,t)=>qo(e,So(t)),Mo=(e,t)=>{var o={};for(var r in e)Lo.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&Oo)for(var r of Oo(e))t.indexOf(r)<0&&jo.call(e,r)&&(o[r]=e[r]);return o};const{useCallback:Fo,useContext:Vo,useMemo:Ao,useState:Do}=e,Ho=({tableId:e,store:t,rowComponent:o=No,getRowComponentProps:r,customCellIds:n,separator:l,debugIds:d},s)=>Jo(P(s,(l=>yo(o,Eo(To({},Ro(r,l)),{key:l,tableId:e,rowId:l,customCellIds:n,store:t,debugIds:d})))),l,d,e),Qo=({queryId:e,queries:t,resultRowComponent:o=dr,getResultRowComponentProps:r,separator:n,debugIds:l},d)=>Jo(P(d,(n=>yo(o,Eo(To({},Ro(r,n)),{key:n,queryId:e,rowId:n,queries:t,debugIds:l})))),n,l,e),Wo=({relationshipId:e,relationships:t,rowComponent:o=No,getRowComponentProps:r,separator:n,debugIds:l},d,s)=>{const[u,i,a]=Po(z(t),e),c=d(e,s,u);return Jo(P(c,(e=>yo(o,Eo(To({},Ro(r,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),n,l,s)},zo=e=>({checkpoints:t,checkpointComponent:o=ir,getCheckpointComponentProps:r,separator:n,debugIds:l})=>{const d=N(t);return Jo(P(e(lo(d)),(e=>yo(o,Eo(To({},Ro(r,e)),{key:e,checkpoints:d,checkpointId:e,debugIds:l})))),n)},Go=({store:e,storesById:t,metrics:o,metricsById:r,indexes:n,indexesById:l,relationships:d,relationshipsById:s,queries:u,queriesById:i,checkpoints:a,checkpointsById:c,children:I})=>{const p=Vo(j),[v,b]=Do({}),g=Fo(((e,t)=>b((o=>q(o,e)==t?o:Eo(To({},o),{[e]:t})))),[]),m=Fo((e=>b((t=>To({},((e,t)=>(delete e[t],e))(t,e))))),[]);return yo(j.Provider,{value:Ao((()=>[null!=e?e:p[0],To(To(To({},p[1]),t),v),null!=o?o:p[2],To(To({},p[3]),r),null!=n?n:p[4],To(To({},p[5]),l),null!=d?d:p[6],To(To({},p[7]),s),null!=u?u:p[8],To(To({},p[9]),i),null!=a?a:p[10],To(To({},p[11]),c),g,m]),[e,t,v,o,r,n,l,d,s,u,i,a,c,p,g,m])},I)},Jo=(e,t,o,r)=>{const n=f(t)||!Array.isArray(e)?e:P(e,((e,o)=>o>0?[t,e]:e));return o?[r,":{",n,"}"]:n},Ko=({tableId:e,rowId:t,cellId:r,store:n,debugIds:l})=>{var d;return Jo(o+(null!=(d=qe(e,t,r,n))?d:o),void 0,l,r)},No=({tableId:e,rowId:t,store:o,cellComponent:r=Ko,getCellComponentProps:n,customCellIds:l,separator:d,debugIds:s})=>Jo(P(((e,t,o,r)=>{const n=Pe(t,o,r);return null!=e?e:n})(l,e,t,o),(l=>yo(r,Eo(To({},Ro(n,l)),{key:l,tableId:e,rowId:t,cellId:l,store:o,debugIds:s})))),d,s,t),Uo=e=>Ho(e,fe(e.tableId,e.store)),Xo=e=>{var t=e,{cellId:o,descending:r,offset:n,limit:l}=t,d=Mo(t,["cellId","descending","offset","limit"]);return Ho(d,ke(d.tableId,o,r,n,l,d.store))},Yo=({store:e,tableComponent:t=Uo,getTableComponentProps:o,separator:r,debugIds:n})=>Jo(P(be(e),(r=>yo(t,Eo(To({},Ro(o,r)),{key:r,tableId:r,store:e,debugIds:n})))),r),Zo=({valueId:e,store:t,debugIds:r})=>{var n;return Jo(o+(null!=(n=Be(e,t))?n:o),void 0,r,e)},$o=({store:e,valueComponent:t=Zo,getValueComponentProps:o,separator:r,debugIds:n})=>Jo(P(Le(e),(r=>yo(t,Eo(To({},Ro(o,r)),{key:r,valueId:r,store:e,debugIds:n})))),r),_o=({metricId:e,metrics:t,debugIds:r})=>{var n;return Jo(null!=(n=wt(e,t))?n:o,void 0,r,e)},er=({indexId:e,sliceId:t,indexes:o,rowComponent:r=No,getRowComponentProps:n,separator:l,debugIds:d})=>{const[s,u,i]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(Q(o),e),a=xt(e,t,s);return Jo(P(a,(e=>yo(r,Eo(To({},Ro(n,e)),{key:e,tableId:i,rowId:e,store:u,debugIds:d})))),l,d,t)},tr=({indexId:e,indexes:t,sliceComponent:o=er,getSliceComponentProps:r,separator:n,debugIds:l})=>Jo(P(Rt(e,t),(n=>yo(o,Eo(To({},Ro(r,n)),{key:n,indexId:e,sliceId:n,indexes:t,debugIds:l})))),n,l,e),or=({relationshipId:e,localRowId:t,relationships:o,rowComponent:r=No,getRowComponentProps:n,debugIds:l})=>{const[d,s,,u]=Po(z(o),e),i=Bt(e,t,d);return Jo(f(u)||f(i)?null:yo(r,Eo(To({},Ro(n,i)),{key:i,tableId:u,rowId:i,store:s,debugIds:l})),void 0,l,t)},rr=e=>Wo(e,Tt,e.remoteRowId),nr=e=>Wo(e,Et,e.firstRowId),lr=({queryId:e,rowId:t,cellId:r,queries:n,debugIds:l})=>{var d;return Jo(o+(null!=(d=Ut(e,t,r,n))?d:o),void 0,l,r)},dr=({queryId:e,rowId:t,queries:o,resultCellComponent:r=lr,getResultCellComponentProps:n,separator:l,debugIds:d})=>Jo(P(Nt(e,t,o),(l=>yo(r,Eo(To({},Ro(n,l)),{key:l,queryId:e,rowId:t,cellId:l,queries:o,debugIds:d})))),l,d,t),sr=e=>Qo(e,Gt(e.queryId,e.queries)),ur=e=>{var t=e,{cellId:o,descending:r,offset:n,limit:l}=t,d=Mo(t,["cellId","descending","offset","limit"]);return Qo(d,Jt(d.queryId,o,r,n,l,d.queries))},ir=({checkpoints:e,checkpointId:t,debugIds:r})=>{var n;return Jo(null!=(n=so(t,e))?n:o,void 0,r,t)},ar=zo((e=>e[0])),cr=zo((e=>f(e[1])?[]:[e[1]])),Ir=zo((e=>e[2]));export{ar as BackwardCheckpointsView,Ko as CellView,ir as CheckpointView,cr as CurrentCheckpointView,Ir as ForwardCheckpointsView,tr as IndexView,nr as LinkedRowsView,rr as LocalRowsView,_o as MetricView,Go as Provider,or as RemoteRowView,lr as ResultCellView,dr as ResultRowView,ur as ResultSortedTableView,sr as ResultTableView,No as RowView,er as SliceView,Xo as SortedTableView,Uo as TableView,Yo as TablesView,Zo as ValueView,$o as ValuesView,Fe as useAddRowCallback,qe as useCell,Pe as useCellIds,dt as useCellIdsListener,ut as useCellListener,so as useCheckpoint,lo as useCheckpointIds,vo as useCheckpointIdsListener,bo as useCheckpointListener,K as useCheckpoints,no as useCheckpointsIds,N as useCheckpointsOrCheckpointsById,ro as useCreateCheckpoints,kt as useCreateIndexes,mt as useCreateMetrics,go as useCreatePersister,At as useCreateQueries,Ot as useCreateRelationships,ce as useCreateStore,Je as useDelCellCallback,Ge as useDelRowCallback,ze as useDelTableCallback,We as useDelTablesCallback,Ne as useDelValueCallback,Ke as useDelValuesCallback,gt as useDidFinishTransactionListener,io as useGoBackwardCallback,ao as useGoForwardCallback,co as useGoToCallback,xe as useHasCell,st as useHasCellListener,he as useHasRow,nt as useHasRowListener,ge as useHasTable,ye as useHasTableCell,et as useHasTableCellListener,Ze as useHasTableListener,pe as useHasTables,Ue as useHasTablesListener,je as useHasValue,It as useHasValueListener,Se as useHasValues,it as useHasValuesListener,Pt as useIndexIds,H as useIndexes,ht as useIndexesIds,Q as useIndexesOrIndexesById,Et as useLinkedRowIds,Vt as useLinkedRowIdsListener,Tt as useLocalRowIds,Ft as useLocalRowIdsListener,wt as useMetric,yt as useMetricIds,ft as useMetricListener,A as useMetrics,Ct as useMetricsIds,D as useMetricsOrMetricsById,V as useProvideStore,G as useQueries,Dt as useQueriesIds,J as useQueriesOrQueriesById,Ht as useQueryIds,po as useRedoInformation,jt as useRelationshipIds,W as useRelationships,Lt as useRelationshipsIds,z as useRelationshipsOrRelationshipsById,Bt as useRemoteRowId,Mt as useRemoteRowIdListener,Ut as useResultCell,Nt as useResultCellIds,to as useResultCellIdsListener,oo as useResultCellListener,Kt as useResultRow,zt as useResultRowCount,Zt as useResultRowCountListener,Gt as useResultRowIds,$t as useResultRowIdsListener,eo as useResultRowListener,Jt as useResultSortedRowIds,_t as useResultSortedRowIdsListener,Qt as useResultTable,Wt as useResultTableCellIds,Yt as useResultTableCellIdsListener,Xt as useResultTableListener,Re as useRow,we as useRowCount,tt as useRowCountListener,fe as useRowIds,ot as useRowIdsListener,lt as useRowListener,Ae as useSetCellCallback,uo as useSetCheckpointCallback,Ve as useSetPartialRowCallback,He as useSetPartialValuesCallback,Me as useSetRowCallback,Ee as useSetTableCallback,Te as useSetTablesCallback,Qe as useSetValueCallback,De as useSetValuesCallback,Rt as useSliceIds,qt as useSliceIdsListener,xt as useSliceRowIds,St as useSliceRowIdsListener,ke as useSortedRowIds,rt as useSortedRowIdsListener,vt as useStartTransactionListener,M as useStore,Ie as useStoreIds,F as useStoreOrStoreById,me as useTable,Ce as useTableCellIds,_e as useTableCellIdsListener,be as useTableIds,Ye as useTableIdsListener,$e as useTableListener,ve as useTables,Xe as useTablesListener,Io as useUndoInformation,Be as useValue,Le as useValueIds,ct as useValueIdsListener,pt as useValueListener,Oe as useValues,at as useValuesListener,bt as useWillFinishTransactionListener};
1
+ import e from"react";const t=e=>typeof e,o="",r=t(o),n=t(t),l="Listener",d="Result",s="Has",u="has",i="Ids",a="Table",c=a+"s",I=a+i,p="Row",v=p+"Count",b=p+i,g="Sorted"+p+i,m="Cell",C=m+i,y="Value",w=y+"s",f=y+i,k=e=>null==e,h=(e,t,o)=>k(e)?null==o?void 0:o():t(e),R=e=>t(e)==r,P=e=>t(e)==n,x=()=>{},q=(e,t)=>e.map(t),S=Object.keys,O=(e,t)=>h(e,(e=>e[t])),{createContext:L,useContext:j,useEffect:B}=e,T=L([]),E=(e,t)=>{var o;const r=j(T);return k(e)?r[t]:R(e)?O(null!=(o=r[t+1])?o:{},e):e},M=(e,t)=>{const o=E(e,t);return k(e)||R(e)?o:e},F=e=>{var t;return S(null!=(t=j(T)[e])?t:{})},V=e=>E(e,0),A=e=>M(e,0),D=(e,t)=>{const{12:o,13:r}=j(T);B((()=>(null==o||o(e,t),()=>null==r?void 0:r(e))),[o,e,t,r])},H=e=>E(e,2),Q=e=>M(e,2),W=e=>E(e,4),z=e=>M(e,4),G=e=>E(e,6),J=e=>M(e,6),K=e=>E(e,8),N=e=>M(e,8),U=e=>E(e,10),X=e=>M(e,10),Y=e=>e.toLowerCase();Y(l);const Z="Transaction";Y(Z);const{useCallback:$,useEffect:_,useMemo:ee,useLayoutEffect:te,useRef:oe,useState:re}=e,ne=[],le={},de=[[],void 0,[]],se=(e,t,o=ne)=>{const r=ee((()=>t(e)),[e,...o]);return _((()=>()=>r.destroy()),[r]),r},ue=(e,t,o,r=ne,n,l="get",d="")=>{const[,s]=re(),u=$((()=>{var n,d;return null!=(d=null==(n=null==t?void 0:t[l+e])?void 0:n.call(t,...r))?d:o}),[t,e,...r,o]),i=oe();return ee((()=>i.current=u()),[u]),ie(d+e,t,((...e)=>{i.current=k(n)?u():e[n],s([])}),[u,n],r),i.current},ie=(e,t,o,r=ne,n=ne,...d)=>te((()=>{var r;const s=null==(r=null==t?void 0:t["add"+e+l])?void 0:r.call(t,...n,o,...d);return()=>null==t?void 0:t.delListener(s)}),[t,e,...n,...r,...d]),ae=(e,t,o,r=ne,n=x,l=ne,...d)=>{const s=A(e);return $((e=>h(s,(r=>h(o(e,r),(o=>n(r["set"+t](...q(d,(t=>P(t)?t(e,r):t)),o),o)))))),[s,t,...r,...l,...d])},ce=(e,t,o=x,r=ne,...n)=>{const l=A(e);return $((()=>o(null==l?void 0:l["del"+t](...n))),[l,t,...r,...n])},Ie=(e,t,o)=>{const r=X(e);return $((()=>null==r?void 0:r[t](o)),[r,t,o])},pe=(e,t=ne)=>ee(e,t),ve=()=>F(1),be=e=>ue(c,A(e),!1,[],1,u,s),ge=e=>ue(c,A(e),le),me=e=>ue(I,A(e),ne),Ce=(e,t)=>ue(a,A(t),!1,[e],2,u,s),ye=(e,t)=>ue(a,A(t),le,[e]),we=(e,t)=>ue(a+C,A(t),ne,[e]),fe=(e,t,o)=>ue(a+m,A(o),!1,[e,t],3,u,s),ke=(e,t)=>ue(v,A(t),0,[e]),he=(e,t)=>ue(b,A(t),ne,[e]),Re=(e,t,o,r=0,n,l)=>ue(g,A(l),ne,[e,t,o,r,n],6),Pe=(e,t,o)=>ue(p,A(o),!1,[e,t],3,u,s),xe=(e,t,o)=>ue(p,A(o),le,[e,t]),qe=(e,t,o)=>ue(C,A(o),ne,[e,t]),Se=(e,t,o,r)=>ue(m,A(r),!1,[e,t,o],4,u,s),Oe=(e,t,o,r)=>ue(m,A(r),void 0,[e,t,o],4),Le=e=>ue(w,A(e),!1,[],1,u,s),je=e=>ue(w,A(e),le),Be=e=>ue(f,A(e),ne),Te=(e,t)=>ue(y,A(t),!1,[e],2,u,s),Ee=(e,t)=>ue(y,A(t),void 0,[e]),Me=(e,t,o,r,n)=>ae(o,c,e,t,r,n),Fe=(e,t,o,r,n,l)=>ae(r,a,t,o,n,l,e),Ve=(e,t,o,r,n,l,d)=>ae(n,p,o,r,l,d,e,t),Ae=(e,t,o=ne,r,n=x,l=ne,d=!0)=>{const s=A(r);return $((o=>h(s,(r=>h(t(o,r),(t=>n(r.addRow(P(e)?e(o,r):e,t,d),r,t)))))),[s,e,...o,...l,d])},De=(e,t,o,r,n,l,d)=>ae(n,"PartialRow",o,r,l,d,e,t),He=(e,t,o,r,n,l,d,s)=>ae(l,m,r,n,d,s,e,t,o),Qe=(e,t,o,r,n)=>ae(o,w,e,t,r,n),We=(e,t,o,r,n)=>ae(o,"PartialValues",e,t,r,n),ze=(e,t,o,r,n,l)=>ae(r,y,t,o,n,l,e),Ge=(e,t,o)=>ce(e,c,t,o),Je=(e,t,o,r)=>ce(t,a,o,r,e),Ke=(e,t,o,r,n)=>ce(o,p,r,n,e,t),Ne=(e,t,o,r,n,l,d)=>ce(n,m,l,d,e,t,o,r),Ue=(e,t,o)=>ce(e,w,t,o),Xe=(e,t,o,r)=>ce(t,y,o,r,e),Ye=(e,t,o,r)=>ie(s+c,A(r),e,t,[],o),Ze=(e,t,o,r)=>ie(c,A(r),e,t,ne,o),$e=(e,t,o,r)=>ie(I,A(r),e,t,ne,o),_e=(e,t,o,r,n)=>ie(s+a,A(n),t,o,[e],r),et=(e,t,o,r,n)=>ie(a,A(n),t,o,[e],r),tt=(e,t,o,r,n)=>ie(a+C,A(n),t,o,[e],r),ot=(e,t,o,r,n,l)=>ie(s+a+m,A(l),o,r,[e,t],n),rt=(e,t,o,r,n)=>ie(v,A(n),t,o,[e],r),nt=(e,t,o,r,n)=>ie(b,A(n),t,o,[e],r),lt=(e,t,o,r,n,l,d,s,u)=>ie(g,A(u),l,d,[e,t,o,r,n],s),dt=(e,t,o,r,n,l)=>ie(s+p,A(l),o,r,[e,t],n),st=(e,t,o,r,n,l)=>ie(p,A(l),o,r,[e,t],n),ut=(e,t,o,r,n,l)=>ie(C,A(l),o,r,[e,t],n),it=(e,t,o,r,n,l,d)=>ie(s+m,A(d),r,n,[e,t,o],l),at=(e,t,o,r,n,l,d)=>ie(m,A(d),r,n,[e,t,o],l),ct=(e,t,o,r)=>ie(s+w,A(r),e,t,[],o),It=(e,t,o,r)=>ie(w,A(r),e,t,ne,o),pt=(e,t,o,r)=>ie(f,A(r),e,t,ne,o),vt=(e,t,o,r,n)=>ie(s+y,A(n),t,o,[e],r),bt=(e,t,o,r,n)=>ie(y,A(n),t,o,[e],r),gt=(e,t,o)=>ie("Start"+Z,A(o),e,t),mt=(e,t,o)=>ie("WillFinish"+Z,A(o),e,t),Ct=(e,t,o)=>ie("DidFinish"+Z,A(o),e,t),yt=(e,t,o)=>se(e,t,o),wt=()=>F(3),ft=e=>ue("MetricIds",Q(e),ne),kt=(e,t)=>ue("Metric",Q(t),void 0,[e]),ht=(e,t,o,r)=>ie("Metric",Q(r),t,o,[e]),Rt=(e,t,o)=>se(e,t,o),Pt=()=>F(5),xt=(e,t)=>ue("SliceIds",z(t),ne,[e]),qt=e=>ue("IndexIds",z(e),ne),St=(e,t,o)=>ue("Slice"+b,z(o),ne,[e,t]),Ot=(e,t,o,r)=>ie("SliceIds",z(r),t,o,[e]),Lt=(e,t,o,r,n)=>ie("Slice"+b,z(n),o,r,[e,t]),jt=(e,t,o)=>se(e,t,o),Bt=()=>F(7),Tt=e=>ue("RelationshipIds",J(e),ne),Et=(e,t,o)=>ue("RemoteRowId",J(o),void 0,[e,t]),Mt=(e,t,o)=>ue("Local"+b,J(o),ne,[e,t]),Ft=(e,t,o)=>ue("Linked"+b,J(o),ne,[e,t]),Vt=(e,t,o,r,n)=>ie("RemoteRowId",J(n),o,r,[e,t]),At=(e,t,o,r,n)=>ie("Local"+b,J(n),o,r,[e,t]),Dt=(e,t,o,r,n)=>ie("Linked"+b,J(n),o,r,[e,t]),Ht=(e,t,o)=>se(e,t,o),Qt=()=>F(9),Wt=e=>ue("QueryIds",N(e),ne),zt=(e,t)=>ue(d+a,N(t),le,[e]),Gt=(e,t)=>ue(d+a+C,N(t),ne,[e]),Jt=(e,t)=>ue(d+v,N(t),0,[e]),Kt=(e,t)=>ue(d+b,N(t),ne,[e]),Nt=(e,t,o,r=0,n,l)=>ue(d+g,N(l),ne,[e,t,o,r,n],6),Ut=(e,t,o)=>ue(d+p,N(o),le,[e,t]),Xt=(e,t,o)=>ue(d+C,N(o),ne,[e,t]),Yt=(e,t,o,r)=>ue(d+m,N(r),void 0,[e,t,o]),Zt=(e,t,o,r)=>ie(d+a,N(r),t,o,[e]),$t=(e,t,o,r)=>ie(d+a+C,N(r),t,o,[e]),_t=(e,t,o,r)=>ie(d+v,N(r),t,o,[e]),eo=(e,t,o,r)=>ie(d+b,N(r),t,o,[e]),to=(e,t,o,r,n,l,s,u)=>ie(d+g,N(u),l,s,[e,t,o,r,n]),oo=(e,t,o,r,n)=>ie(d+p,N(n),o,r,[e,t]),ro=(e,t,o,r,n)=>ie(d+C,N(n),o,r,[e,t]),no=(e,t,o,r,n,l)=>ie(d+m,N(l),r,n,[e,t,o]),lo=(e,t,o)=>se(e,t,o),so=()=>F(11),uo=e=>ue("CheckpointIds",X(e),de),io=(e,t)=>ue("Checkpoint",X(t),void 0,[e]),ao=(e=x,t=ne,o,r=x,n=ne)=>{const l=X(o);return $((t=>h(l,(o=>{const n=e(t);r(o.addCheckpoint(n),o,n)}))),[l,...t,...n])},co=e=>Ie(e,"goBackward"),Io=e=>Ie(e,"goForward"),po=(e,t=ne,o,r=x,n=ne)=>{const l=X(o);return $((t=>h(l,(o=>h(e(t),(e=>r(o.goTo(e),e)))))),[l,...t,...n])},vo=e=>{var t;const r=X(e),[n,l]=uo(r);return[(d=n,!(0==d.length)),co(r),l,null!=(t=h(l,(e=>null==r?void 0:r.getCheckpoint(e))))?t:o];var d},bo=e=>{var t;const r=X(e),[,,[n]]=uo(r);return[!k(n),Io(r),n,null!=(t=h(n,(e=>null==r?void 0:r.getCheckpoint(e))))?t:o]},go=(e,t,o)=>ie("CheckpointIds",X(o),e,t),mo=(e,t,o,r)=>ie("Checkpoint",X(r),t,o,[e]),Co=(e,t,o=ne,r,n=ne,l,d=ne)=>{const[,s]=re(),u=ee((()=>t(e)),[e,...o]);return _((()=>{var e;return e=function*(){r&&(yield r(u),s([]))},new Promise(((t,o)=>{var r=t=>{try{l(e.next(t))}catch(e){o(e)}},n=t=>{try{l(e.throw(t))}catch(e){o(e)}},l=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,n);l((e=e.apply(void 0,null)).next())})),()=>{null==u||u.destroy(),null==l||l(u)}}),[u,...n,...d]),u},{PureComponent:yo,Fragment:wo,createElement:fo,useCallback:ko,useLayoutEffect:ho,useRef:Ro,useState:Po}=e,xo=(e,...t)=>k(e)?{}:e(...t),qo=(e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)];var So=Object.defineProperty,Oo=Object.defineProperties,Lo=Object.getOwnPropertyDescriptors,jo=Object.getOwnPropertySymbols,Bo=Object.prototype.hasOwnProperty,To=Object.prototype.propertyIsEnumerable,Eo=(e,t,o)=>t in e?So(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,Mo=(e,t)=>{for(var o in t||(t={}))Bo.call(t,o)&&Eo(e,o,t[o]);if(jo)for(var o of jo(t))To.call(t,o)&&Eo(e,o,t[o]);return e},Fo=(e,t)=>Oo(e,Lo(t)),Vo=(e,t)=>{var o={};for(var r in e)Bo.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&jo)for(var r of jo(e))t.indexOf(r)<0&&To.call(e,r)&&(o[r]=e[r]);return o};const{useCallback:Ao,useContext:Do,useMemo:Ho,useState:Qo}=e,Wo=({tableId:e,store:t,rowComponent:o=Xo,getRowComponentProps:r,customCellIds:n,separator:l,debugIds:d},s)=>No(q(s,(l=>fo(o,Fo(Mo({},xo(r,l)),{key:l,tableId:e,rowId:l,customCellIds:n,store:t,debugIds:d})))),l,d,e),zo=({queryId:e,queries:t,resultRowComponent:o=ur,getResultRowComponentProps:r,separator:n,debugIds:l},d)=>No(q(d,(n=>fo(o,Fo(Mo({},xo(r,n)),{key:n,queryId:e,rowId:n,queries:t,debugIds:l})))),n,l,e),Go=({relationshipId:e,relationships:t,rowComponent:o=Xo,getRowComponentProps:r,separator:n,debugIds:l},d,s)=>{const[u,i,a]=qo(J(t),e),c=d(e,s,u);return No(q(c,(e=>fo(o,Fo(Mo({},xo(r,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),n,l,s)},Jo=e=>({checkpoints:t,checkpointComponent:o=cr,getCheckpointComponentProps:r,separator:n,debugIds:l})=>{const d=X(t);return No(q(e(uo(d)),(e=>fo(o,Fo(Mo({},xo(r,e)),{key:e,checkpoints:d,checkpointId:e,debugIds:l})))),n)},Ko=({store:e,storesById:t,metrics:o,metricsById:r,indexes:n,indexesById:l,relationships:d,relationshipsById:s,queries:u,queriesById:i,checkpoints:a,checkpointsById:c,children:I})=>{const p=Do(T),[v,b]=Qo({}),g=Ao(((e,t)=>b((o=>O(o,e)==t?o:Fo(Mo({},o),{[e]:t})))),[]),m=Ao((e=>b((t=>Mo({},((e,t)=>(delete e[t],e))(t,e))))),[]);return fo(T.Provider,{value:Ho((()=>[null!=e?e:p[0],Mo(Mo(Mo({},p[1]),t),v),null!=o?o:p[2],Mo(Mo({},p[3]),r),null!=n?n:p[4],Mo(Mo({},p[5]),l),null!=d?d:p[6],Mo(Mo({},p[7]),s),null!=u?u:p[8],Mo(Mo({},p[9]),i),null!=a?a:p[10],Mo(Mo({},p[11]),c),g,m]),[e,t,v,o,r,n,l,d,s,u,i,a,c,p,g,m])},I)},No=(e,t,o,r)=>{const n=k(t)||!Array.isArray(e)?e:q(e,((e,o)=>o>0?[t,e]:e));return o?[r,":{",n,"}"]:n},Uo=({tableId:e,rowId:t,cellId:r,store:n,debugIds:l})=>{var d;return No(o+(null!=(d=Oe(e,t,r,n))?d:o),void 0,l,r)},Xo=({tableId:e,rowId:t,store:o,cellComponent:r=Uo,getCellComponentProps:n,customCellIds:l,separator:d,debugIds:s})=>No(q(((e,t,o,r)=>{const n=qe(t,o,r);return null!=e?e:n})(l,e,t,o),(l=>fo(r,Fo(Mo({},xo(n,l)),{key:l,tableId:e,rowId:t,cellId:l,store:o,debugIds:s})))),d,s,t),Yo=e=>Wo(e,he(e.tableId,e.store)),Zo=e=>{var t=e,{cellId:o,descending:r,offset:n,limit:l}=t,d=Vo(t,["cellId","descending","offset","limit"]);return Wo(d,Re(d.tableId,o,r,n,l,d.store))},$o=({store:e,tableComponent:t=Yo,getTableComponentProps:o,separator:r,debugIds:n})=>No(q(me(e),(r=>fo(t,Fo(Mo({},xo(o,r)),{key:r,tableId:r,store:e,debugIds:n})))),r),_o=({valueId:e,store:t,debugIds:r})=>{var n;return No(o+(null!=(n=Ee(e,t))?n:o),void 0,r,e)},er=({store:e,valueComponent:t=_o,getValueComponentProps:o,separator:r,debugIds:n})=>No(q(Be(e),(r=>fo(t,Fo(Mo({},xo(o,r)),{key:r,valueId:r,store:e,debugIds:n})))),r),tr=({metricId:e,metrics:t,debugIds:r})=>{var n;return No(null!=(n=kt(e,t))?n:o,void 0,r,e)},or=({indexId:e,sliceId:t,indexes:o,rowComponent:r=Xo,getRowComponentProps:n,separator:l,debugIds:d})=>{const[s,u,i]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(z(o),e),a=St(e,t,s);return No(q(a,(e=>fo(r,Fo(Mo({},xo(n,e)),{key:e,tableId:i,rowId:e,store:u,debugIds:d})))),l,d,t)},rr=({indexId:e,indexes:t,sliceComponent:o=or,getSliceComponentProps:r,separator:n,debugIds:l})=>No(q(xt(e,t),(n=>fo(o,Fo(Mo({},xo(r,n)),{key:n,indexId:e,sliceId:n,indexes:t,debugIds:l})))),n,l,e),nr=({relationshipId:e,localRowId:t,relationships:o,rowComponent:r=Xo,getRowComponentProps:n,debugIds:l})=>{const[d,s,,u]=qo(J(o),e),i=Et(e,t,d);return No(k(u)||k(i)?null:fo(r,Fo(Mo({},xo(n,i)),{key:i,tableId:u,rowId:i,store:s,debugIds:l})),void 0,l,t)},lr=e=>Go(e,Mt,e.remoteRowId),dr=e=>Go(e,Ft,e.firstRowId),sr=({queryId:e,rowId:t,cellId:r,queries:n,debugIds:l})=>{var d;return No(o+(null!=(d=Yt(e,t,r,n))?d:o),void 0,l,r)},ur=({queryId:e,rowId:t,queries:o,resultCellComponent:r=sr,getResultCellComponentProps:n,separator:l,debugIds:d})=>No(q(Xt(e,t,o),(l=>fo(r,Fo(Mo({},xo(n,l)),{key:l,queryId:e,rowId:t,cellId:l,queries:o,debugIds:d})))),l,d,t),ir=e=>zo(e,Kt(e.queryId,e.queries)),ar=e=>{var t=e,{cellId:o,descending:r,offset:n,limit:l}=t,d=Vo(t,["cellId","descending","offset","limit"]);return zo(d,Nt(d.queryId,o,r,n,l,d.queries))},cr=({checkpoints:e,checkpointId:t,debugIds:r})=>{var n;return No(null!=(n=io(t,e))?n:o,void 0,r,t)},Ir=Jo((e=>e[0])),pr=Jo((e=>k(e[1])?[]:[e[1]])),vr=Jo((e=>e[2]));export{Ir as BackwardCheckpointsView,Uo as CellView,cr as CheckpointView,pr as CurrentCheckpointView,vr as ForwardCheckpointsView,rr as IndexView,dr as LinkedRowsView,lr as LocalRowsView,tr as MetricView,Ko as Provider,nr as RemoteRowView,sr as ResultCellView,ur as ResultRowView,ar as ResultSortedTableView,ir as ResultTableView,Xo as RowView,or as SliceView,Zo as SortedTableView,Yo as TableView,$o as TablesView,_o as ValueView,er as ValuesView,Ae as useAddRowCallback,Oe as useCell,qe as useCellIds,ut as useCellIdsListener,at as useCellListener,io as useCheckpoint,uo as useCheckpointIds,go as useCheckpointIdsListener,mo as useCheckpointListener,U as useCheckpoints,so as useCheckpointsIds,X as useCheckpointsOrCheckpointsById,lo as useCreateCheckpoints,Rt as useCreateIndexes,yt as useCreateMetrics,Co as useCreatePersister,Ht as useCreateQueries,jt as useCreateRelationships,pe as useCreateStore,Ne as useDelCellCallback,Ke as useDelRowCallback,Je as useDelTableCallback,Ge as useDelTablesCallback,Xe as useDelValueCallback,Ue as useDelValuesCallback,Ct as useDidFinishTransactionListener,co as useGoBackwardCallback,Io as useGoForwardCallback,po as useGoToCallback,Se as useHasCell,it as useHasCellListener,Pe as useHasRow,dt as useHasRowListener,Ce as useHasTable,fe as useHasTableCell,ot as useHasTableCellListener,_e as useHasTableListener,be as useHasTables,Ye as useHasTablesListener,Te as useHasValue,vt as useHasValueListener,Le as useHasValues,ct as useHasValuesListener,qt as useIndexIds,W as useIndexes,Pt as useIndexesIds,z as useIndexesOrIndexesById,Ft as useLinkedRowIds,Dt as useLinkedRowIdsListener,Mt as useLocalRowIds,At as useLocalRowIdsListener,kt as useMetric,ft as useMetricIds,ht as useMetricListener,H as useMetrics,wt as useMetricsIds,Q as useMetricsOrMetricsById,D as useProvideStore,K as useQueries,Qt as useQueriesIds,N as useQueriesOrQueriesById,Wt as useQueryIds,bo as useRedoInformation,Tt as useRelationshipIds,G as useRelationships,Bt as useRelationshipsIds,J as useRelationshipsOrRelationshipsById,Et as useRemoteRowId,Vt as useRemoteRowIdListener,Yt as useResultCell,Xt as useResultCellIds,ro as useResultCellIdsListener,no as useResultCellListener,Ut as useResultRow,Jt as useResultRowCount,_t as useResultRowCountListener,Kt as useResultRowIds,eo as useResultRowIdsListener,oo as useResultRowListener,Nt as useResultSortedRowIds,to as useResultSortedRowIdsListener,zt as useResultTable,Gt as useResultTableCellIds,$t as useResultTableCellIdsListener,Zt as useResultTableListener,xe as useRow,ke as useRowCount,rt as useRowCountListener,he as useRowIds,nt as useRowIdsListener,st as useRowListener,He as useSetCellCallback,ao as useSetCheckpointCallback,De as useSetPartialRowCallback,We as useSetPartialValuesCallback,Ve as useSetRowCallback,Fe as useSetTableCallback,Me as useSetTablesCallback,ze as useSetValueCallback,Qe as useSetValuesCallback,xt as useSliceIds,Ot as useSliceIdsListener,St as useSliceRowIds,Lt as useSliceRowIdsListener,Re as useSortedRowIds,lt as useSortedRowIdsListener,gt as useStartTransactionListener,V as useStore,ve as useStoreIds,A as useStoreOrStoreById,ye as useTable,we as useTableCellIds,tt as useTableCellIdsListener,me as useTableIds,$e as useTableIdsListener,et as useTableListener,ge as useTables,Ze as useTablesListener,vo as useUndoInformation,Ee as useValue,Be as useValueIds,pt as useValueIdsListener,bt as useValueListener,je as useValues,It as useValuesListener,mt as useWillFinishTransactionListener};
Binary file
@@ -0,0 +1 @@
1
+ const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=setInterval,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>i.all(a),d=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),T=a=>0==E(a),m=(a,t)=>a.filter(t),p=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,N=a=>h.getPrototypeOf(a),O=h.keys,R=h.freeze,C=(a=[])=>h.fromEntries(a),D=(...a)=>h.assign({},...a),b=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),g=a=>h.values(a),S=a=>E(O(a)),I=a=>(a=>!r(a)&&l(N(a),(a=>a==h.prototype||r(N(a))),(()=>!0)))(a)&&0==S(a),F=a=>new Map(a),M=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),P=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),_=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),B=(a,t,e)=>(A(a,t)||_(a,t,e()),$(a,t)),H=(a,t,e,s=_)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),W=a=>new Set(Array.isArray(a)||r(a)?a:[a]),j=(a,t)=>a?.add(t),k="_",x="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",Y="WHERE",q=(a,t,s)=>{const n=F();return[async()=>H(n,C(await u(v(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+G(t)+")",t),(async({name:t})=>[t,C(v(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>_(n,t,H(B(n,t,F),e,((a,t,e)=>{e!=$(a,t)&&_(a,t,e)}),((a,t)=>_(a,t))))),((a,t)=>_(n,t))),async(t,e)=>((a,t)=>!r($($(n,a),t)))(t,e)?C(m(v(await a("SELECT*FROM"+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!I(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=W();b(i??{},(a=>v(O(a??{}),(a=>j(w,a)))));const y=L(w);if(!l&&o&&T(y)&&A(n,t))return await a("DROP TABLE"+J(t)),void _(n,t);if(T(y)||A(n,t)){const e=$(n,t),i=W(M(e));await u([...v(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${J(t)}ADD${J(s)}`),_(e,s,""))})),...!l&&c?v(L(i),(async n=>{n!=s&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),_(e,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(s)} PRIMARY KEY ON CONFLICT REPLACE${d(v(y,(a=>e+J(a))))});`),_(n,t,F([[s,""],...v(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await u(b(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+J(t)+Y+J(s)+"=?",[n]):T(y)||await z(a,t,s,O(e),[n,...g(e)])})));else if(T(y))A(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const e=m(M($(n,t)),(a=>a!=s)),c=[],o=[];b(i??{},((a,t)=>{p(c,t,...v(e,(t=>a?.[t]))),p(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+J(t)+Y+J(s)+"NOT IN("+G(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+J(t)+"("+J(s)+d(v(i,(a=>e+J(a))))+")VALUES"+y(n(`,(?${n(",?",E(i))})`,E(c)/(E(i)+1)),1)+"ON CONFLICT("+J(s)+")DO UPDATE SET"+d(v(i,(a=>J(a)+"=excluded."+J(a))),e),c),G=a=>d(v(a,(()=>"?")),e),K=JSON.parse,V=F(),Q=F(),X=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;B(V,w,(()=>0)),B(Q,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(p($(Q,w),...a),await(async()=>{if(!$(V,w)){for(_(V,w,1);!r((a=$(Q,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}_(V,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},Z="store",aa=(a,t,e,s,n,[i],c,o)=>{const[r,l,w,y]=q(t,c,n);return X(a,(async()=>await y((async()=>(await r(),K((await l(i,x))[k]?.[Z]??"null"))))),(async a=>await y((async()=>{var t;await r(),await w(i,x,{[k]:{[Z]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},ta=(a,t,e,s,n,[i,c,[o,l,w]],y,E)=>{const[d,v,T,p]=q(t,y,n),A=async(a,t)=>await u(P(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),L=async(a,t)=>l?await T(w,x,{[k]:a},!0,!0,t):null;return X(a,(async()=>await p((async()=>{await d();const a=await(async()=>C(m(await u(P(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?(await v(w,x))[k]:{})();return I(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await p((async()=>{if(await d(),r(t)){const[t,e]=a();await A(t),await L(e)}else{const[a,e]=t();await A(a,!0),await L(e,!0)}}))),e,s,n,["getDb",E],E)},ea="json",sa="autoLoadIntervalSeconds",na="rowIdColumnName",ia="tableId",ca="tableName",oa={mode:ea,[sa]:1},ra={load:0,save:0,[ca]:t+"_values"},la=(a,t,e,s)=>{const n=F();return b(a,((a,i)=>{const c=y(g(D(t,w(a)?{[e]:a}:a)),0,S(t));r(c[0])||s(i,c[0])||_(n,i,c)})),n},wa="pragma ",ya="data_version",Ea="schema_version",ua=(a,e,s,n,i,r,l,E)=>{let u,d;const[v,T,m,p]=(a=>{const e=(a=>D(oa,w(a)?{storeTableName:a}:a??{}))(a),s=e[sa];if(e.mode==ea){const{storeTableName:a=t}=e;return[1,s,[a],W(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(g(D(ra,c)),0,S(ra)),r=o[2],l=W(r);return[0,s,[la(n,{[ia]:null,[na]:x},ia,(a=>j(l,a)&&a==r)),la(i,{[ca]:null,[na]:x,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>j(l,t)&&t==r)),o],l]})(e);return(v?aa:ta)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+ya))[0][ya],e=(await s(wa+Ea))[0][Ea];t==(u??=t)&&e==(d??=e)||(a(),u=t,d=e)}catch{}}),1e3*T),n((t=>p.has(t)?a():0))]),(([a,t])=>{o(a),u=d=null,i(t)}),l,m,L(p),E)},da=(a,t,e,s,n)=>ua(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t);export{da as createElectricSqlPersister};
@@ -1 +1 @@
1
- const t=t=>typeof t,e=t(""),a="t",s=(t,e)=>t.startsWith(e),n=Promise,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=(t,e,a)=>t.slice(e,a),o=t=>t.length,l=async t=>n.all(t),h=(t,e)=>t.map(e),g=(t,...e)=>t.push(...e),u=Object,w=(t=[])=>u.fromEntries(t),f=(t,e)=>h(u.entries(t),(([t,a])=>e(a,t))),y=(t,e,a)=>(((t,e)=>!r(((t,e)=>i(t,(t=>t[e])))(t,e)))(t,e)||(t[e]=a()),t[e]),p=t=>JSON.stringify(t,((t,e)=>e instanceof Map?u.fromEntries([...e]):e)),S=JSON.parse,d=(a,s,n)=>a+s+(t(n)==e?n:p(n)),P=(t,e,a)=>{const n=o(t);return s(e,t)?[e[n],(a?S:String)(c(e,n+1))]:void 0},m=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),x="hasStore",D=w(h(["Origin","Methods","Headers"],(t=>["Access-Control-Allow-"+t,"*"]))),R=async(t,e="")=>!!await t.get(e+x),b=async(t,e="")=>{const s={},n={};return m(await t.list(),((t,r)=>i(P(e,t),(([t,e])=>{if(t==a){const[t,a,n]=S("["+e+"]");y(y(s,t,w),a,w)[n]=r}else"v"==t&&(n[e]=r)})))),[s,n]},C=async(t,e,n,i)=>{const c=t.party.storage,h=t.config.storagePrefix,u={[h+x]:1},w=[],y=[];await l(f(e[0],(async(e,s)=>r(e)?!n&&t.canDelTable(s,i)&&((t,...e)=>t.unshift(...e))(y,T(h,a,s)):t.canSetTable(s,n,i)&&await l(f(e,(async(e,o)=>r(e)?!n&&t.canDelRow(s,o,i)&&g(y,T(h,a,s,o)):t.canSetRow(s,o,n,i)&&await l(f(e,(async(e,l)=>{const f=[s,o,l],y=T(h,a,...f);r(e)?!n&&t.canDelCell(...f,i)&&g(w,y):t.canSetCell(...f,e,n,i,await c.get(y))&&(u[y]=e)}))))))))),await l(f(e[1],(async(e,a)=>{const s=h+"v"+a;r(e)?!n&&t.canDelValue(a,i)&&g(w,s):t.canSetValue(a,e,n,i,await c.get(s))&&(u[s]=e)}))),0!=o(y)&&m(await c.list(),(t=>y.every((e=>!s(t,e)||g(w,t)&&0)))),await c.delete(w),await c.put(u)},T=(t,e,...a)=>d(t,e,c(p(a),1,-1)),v=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders});class O{constructor(t){this.party=t,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=D}async onRequest(t){const{party:{storage:e},config:{storePath:a,storagePrefix:s}}=this;if(new URL(t.url).pathname.endsWith(a)){const a=await R(e,s),n=await t.text();return"PUT"==t.method?a?v(this,205):(await C(this,S(n),!0,t),v(this,201)):v(this,200,a?p(await b(e,s)):"")}return v(this,404)}async onMessage(t,e){const{party:{storage:a,broadcast:s},config:{messagePrefix:n,storagePrefix:r}}=this;await i(P(n,t,1),(async([t,i])=>{"s"==t&&await R(a,r)&&(await C(this,i,!1,e),s(d(n,"s",i),[e.id]))}))}canSetTable(t,e,a){return!0}canDelTable(t,e){return!0}canSetRow(t,e,a,s){return!0}canDelRow(t,e,a){return!0}canSetCell(t,e,a,s,n,r,i){return!0}canDelCell(t,e,a,s){return!0}canSetValue(t,e,a,s,n){return!0}canDelValue(t,e){return!0}}export{O as TinyBasePartyKitServer,R as hasStoreInStorage,b as loadStoreFromStorage};
1
+ const a=a=>typeof a,t=a(""),e="t",s=(a,t)=>a.startsWith(t),n=Promise,i=a=>null==a,r=(a,t,e)=>i(a)?e?.():t(a),c=(a,t,e)=>a.slice(t,e),o=a=>a.length,l=async a=>n.all(a),w=(a,t)=>a.map(t),h=(a,...t)=>a.push(...t),y=Object,g=(a=[])=>y.fromEntries(a),f=(a,t)=>w(y.entries(a),(([a,e])=>t(e,a))),u=(a,t,e)=>(((a,t)=>!i(((a,t)=>r(a,(a=>a[t])))(a,t)))(a,t)||(a[t]=e()),a[t]),p=a=>JSON.stringify(a,((a,t)=>t instanceof Map?y.fromEntries([...t]):t)),S=JSON.parse,d=(e,s,n)=>e+s+(a(n)==t?n:p(n)),P=(a,t,e)=>{const n=o(a);return s(t,a)?[t[n],(e?S:String)(c(t,n+1))]:void 0},m=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),x="hasStore",D=g(w(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),R=async(a,t="")=>!!await a.get(t+x),b=async(a,t="")=>{const s={},n={};return m(await a.list(),((a,i)=>r(P(t,a),(([a,t])=>{if(a==e){const[a,e,n]=S("["+t+"]");u(u(s,a,g),e,g)[n]=i}else"v"==a&&(n[t]=i)})))),[s,n]},C=async(a,t,e)=>a.party.broadcast(d(a.config.messagePrefix,"s",t),e),T=async(a,t,n,r)=>{const c=a.party.storage,w=a.config.storagePrefix,y={[w+x]:1},g=[],u=[];await l(f(t[0],(async(t,s)=>i(t)?!n&&await a.canDelTable(s,r)&&((a,...t)=>a.unshift(...t))(u,v(w,e,s)):await a.canSetTable(s,n,r)&&await l(f(t,(async(t,o)=>i(t)?!n&&await a.canDelRow(s,o,r)&&h(u,v(w,e,s,o)):await a.canSetRow(s,o,n,r)&&await l(f(t,(async(t,l)=>{const f=[s,o,l],u=v(w,e,...f);i(t)?!n&&await a.canDelCell(...f,r)&&h(g,u):await a.canSetCell(...f,t,n,r,await c.get(u))&&(y[u]=t)}))))))))),await l(f(t[1],(async(t,e)=>{const s=w+"v"+e;i(t)?!n&&await a.canDelValue(e,r)&&h(g,s):await a.canSetValue(e,t,n,r,await c.get(s))&&(y[s]=t)}))),0!=o(u)&&m(await c.list(),(a=>u.every((t=>!s(a,t)||h(g,a)&&0)))),await c.delete(g),await c.put(y)},v=(a,t,...e)=>d(a,t,c(p(e),1,-1)),O=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class V{constructor(a){this.party=a,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=D}async onRequest(a){const{party:{storage:t},config:{storePath:e,storagePrefix:s}}=this;if(new URL(a.url).pathname.endsWith(e)){const e=await R(t,s),n=await a.text();return"PUT"==a.method?e?O(this,205):(await T(this,S(n),!0,a),O(this,201)):O(this,200,e?p(await b(t,s)):"")}return O(this,404)}async onMessage(a,t){const{config:{messagePrefix:e,storagePrefix:s}}=this;await r(P(e,a,1),(async([a,e])=>{"s"==a&&await R(this.party.storage,s)&&(await T(this,e,!1,t),C(this,e,[t.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{V as TinyBasePartyKitServer,C as broadcastTransactionChanges,R as hasStoreInStorage,b as loadStoreFromStorage};