tinybase 5.0.0-beta.7 → 5.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -1
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -1
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/synchronizers/synchronizer-local.js +12 -11
- package/lib/debug/synchronizers/synchronizer-ws-client.js +28 -25
- package/lib/debug/synchronizers.js +12 -11
- package/lib/debug/tinybase.js +12 -11
- package/lib/es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -1
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -1
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers.js +1 -1
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/synchronizers/synchronizer-ws-client.d.ts +2 -2
- package/lib/types/synchronizers.d.ts +2 -1
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +2 -2
- package/lib/types/with-schemas/synchronizers.d.ts +5 -2
- package/lib/umd/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -1
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -1
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +2 -2
|
@@ -318,7 +318,7 @@ const createCustomSynchronizer = (
|
|
|
318
318
|
store,
|
|
319
319
|
send,
|
|
320
320
|
onReceive,
|
|
321
|
-
|
|
321
|
+
destroyImpl,
|
|
322
322
|
requestTimeoutSeconds = 1,
|
|
323
323
|
onIgnoredError,
|
|
324
324
|
) => {
|
|
@@ -452,6 +452,16 @@ const createCustomSynchronizer = (
|
|
|
452
452
|
};
|
|
453
453
|
const addPersisterListener = (listener) => (persisterListener = listener);
|
|
454
454
|
const delPersisterListener = () => (persisterListener = void 0);
|
|
455
|
+
const startSync = async (initialTables, initialValues) =>
|
|
456
|
+
await (
|
|
457
|
+
await persister.startAutoLoad(initialTables, initialValues)
|
|
458
|
+
).startAutoSave();
|
|
459
|
+
const stopSync = () => persister.stopAutoLoad().stopAutoSave();
|
|
460
|
+
const destroy = () => {
|
|
461
|
+
destroyImpl();
|
|
462
|
+
return persister.stopSync();
|
|
463
|
+
};
|
|
464
|
+
const getSynchronizerStats = () => ({sends, receives});
|
|
455
465
|
const persister = createCustomPersister(
|
|
456
466
|
store,
|
|
457
467
|
getPersisted,
|
|
@@ -460,16 +470,7 @@ const createCustomSynchronizer = (
|
|
|
460
470
|
delPersisterListener,
|
|
461
471
|
onIgnoredError,
|
|
462
472
|
true,
|
|
463
|
-
{
|
|
464
|
-
startSync: async () =>
|
|
465
|
-
await (await persister.startAutoLoad()).startAutoSave(),
|
|
466
|
-
stopSync: () => persister.stopAutoLoad().stopAutoSave(),
|
|
467
|
-
destroy: () => {
|
|
468
|
-
destroy();
|
|
469
|
-
return persister.stopSync();
|
|
470
|
-
},
|
|
471
|
-
getSynchronizerStats: () => ({sends, receives}),
|
|
472
|
-
},
|
|
473
|
+
{startSync, stopSync, destroy, getSynchronizerStats},
|
|
473
474
|
);
|
|
474
475
|
return persister;
|
|
475
476
|
};
|
|
@@ -481,18 +482,8 @@ const createWsSynchronizer = async (
|
|
|
481
482
|
onIgnoredError,
|
|
482
483
|
) => {
|
|
483
484
|
let currentReceive;
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
const payload = data.toString(UTF8);
|
|
487
|
-
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
488
|
-
if (splitAt !== -1) {
|
|
489
|
-
currentReceive(
|
|
490
|
-
slice(payload, 0, splitAt),
|
|
491
|
-
...jsonParse(slice(payload, splitAt + 1)),
|
|
492
|
-
);
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
});
|
|
485
|
+
const addEventListener = (event, handler) =>
|
|
486
|
+
webSocket.addEventListener(event, handler);
|
|
496
487
|
const onReceive = (receive) => {
|
|
497
488
|
currentReceive = receive;
|
|
498
489
|
};
|
|
@@ -512,10 +503,22 @@ const createWsSynchronizer = async (
|
|
|
512
503
|
requestTimeoutSeconds,
|
|
513
504
|
onIgnoredError,
|
|
514
505
|
);
|
|
506
|
+
addEventListener('message', ({data}) => {
|
|
507
|
+
if (!isUndefined(currentReceive)) {
|
|
508
|
+
const payload = data.toString(UTF8);
|
|
509
|
+
const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
|
|
510
|
+
if (splitAt !== -1) {
|
|
511
|
+
currentReceive(
|
|
512
|
+
slice(data, 0, splitAt),
|
|
513
|
+
...jsonParse(slice(data, splitAt + 1)),
|
|
514
|
+
);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
});
|
|
515
518
|
return promiseNew((resolve, reject) => {
|
|
516
519
|
if (webSocket.readyState != webSocket.OPEN) {
|
|
517
|
-
|
|
518
|
-
|
|
520
|
+
addEventListener('error', reject);
|
|
521
|
+
addEventListener('open', () => resolve(synchronizer));
|
|
519
522
|
} else {
|
|
520
523
|
resolve(synchronizer);
|
|
521
524
|
}
|
|
@@ -307,7 +307,7 @@ const createCustomSynchronizer = (
|
|
|
307
307
|
store,
|
|
308
308
|
send,
|
|
309
309
|
onReceive,
|
|
310
|
-
|
|
310
|
+
destroyImpl,
|
|
311
311
|
requestTimeoutSeconds = 1,
|
|
312
312
|
onIgnoredError,
|
|
313
313
|
) => {
|
|
@@ -441,6 +441,16 @@ const createCustomSynchronizer = (
|
|
|
441
441
|
};
|
|
442
442
|
const addPersisterListener = (listener) => (persisterListener = listener);
|
|
443
443
|
const delPersisterListener = () => (persisterListener = void 0);
|
|
444
|
+
const startSync = async (initialTables, initialValues) =>
|
|
445
|
+
await (
|
|
446
|
+
await persister.startAutoLoad(initialTables, initialValues)
|
|
447
|
+
).startAutoSave();
|
|
448
|
+
const stopSync = () => persister.stopAutoLoad().stopAutoSave();
|
|
449
|
+
const destroy = () => {
|
|
450
|
+
destroyImpl();
|
|
451
|
+
return persister.stopSync();
|
|
452
|
+
};
|
|
453
|
+
const getSynchronizerStats = () => ({sends, receives});
|
|
444
454
|
const persister = createCustomPersister(
|
|
445
455
|
store,
|
|
446
456
|
getPersisted,
|
|
@@ -449,16 +459,7 @@ const createCustomSynchronizer = (
|
|
|
449
459
|
delPersisterListener,
|
|
450
460
|
onIgnoredError,
|
|
451
461
|
true,
|
|
452
|
-
{
|
|
453
|
-
startSync: async () =>
|
|
454
|
-
await (await persister.startAutoLoad()).startAutoSave(),
|
|
455
|
-
stopSync: () => persister.stopAutoLoad().stopAutoSave(),
|
|
456
|
-
destroy: () => {
|
|
457
|
-
destroy();
|
|
458
|
-
return persister.stopSync();
|
|
459
|
-
},
|
|
460
|
-
getSynchronizerStats: () => ({sends, receives}),
|
|
461
|
-
},
|
|
462
|
+
{startSync, stopSync, destroy, getSynchronizerStats},
|
|
462
463
|
);
|
|
463
464
|
return persister;
|
|
464
465
|
};
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -1376,7 +1376,7 @@ const createCustomSynchronizer = (
|
|
|
1376
1376
|
store,
|
|
1377
1377
|
send,
|
|
1378
1378
|
onReceive,
|
|
1379
|
-
|
|
1379
|
+
destroyImpl,
|
|
1380
1380
|
requestTimeoutSeconds = 1,
|
|
1381
1381
|
onIgnoredError,
|
|
1382
1382
|
) => {
|
|
@@ -1510,6 +1510,16 @@ const createCustomSynchronizer = (
|
|
|
1510
1510
|
};
|
|
1511
1511
|
const addPersisterListener = (listener) => (persisterListener = listener);
|
|
1512
1512
|
const delPersisterListener = () => (persisterListener = void 0);
|
|
1513
|
+
const startSync = async (initialTables, initialValues) =>
|
|
1514
|
+
await (
|
|
1515
|
+
await persister.startAutoLoad(initialTables, initialValues)
|
|
1516
|
+
).startAutoSave();
|
|
1517
|
+
const stopSync = () => persister.stopAutoLoad().stopAutoSave();
|
|
1518
|
+
const destroy = () => {
|
|
1519
|
+
destroyImpl();
|
|
1520
|
+
return persister.stopSync();
|
|
1521
|
+
};
|
|
1522
|
+
const getSynchronizerStats = () => ({sends, receives});
|
|
1513
1523
|
const persister = createCustomPersister(
|
|
1514
1524
|
store,
|
|
1515
1525
|
getPersisted,
|
|
@@ -1518,16 +1528,7 @@ const createCustomSynchronizer = (
|
|
|
1518
1528
|
delPersisterListener,
|
|
1519
1529
|
onIgnoredError,
|
|
1520
1530
|
true,
|
|
1521
|
-
{
|
|
1522
|
-
startSync: async () =>
|
|
1523
|
-
await (await persister.startAutoLoad()).startAutoSave(),
|
|
1524
|
-
stopSync: () => persister.stopAutoLoad().stopAutoSave(),
|
|
1525
|
-
destroy: () => {
|
|
1526
|
-
destroy();
|
|
1527
|
-
return persister.stopSync();
|
|
1528
|
-
},
|
|
1529
|
-
getSynchronizerStats: () => ({sends, receives}),
|
|
1530
|
-
},
|
|
1531
|
+
{startSync, stopSync, destroy, getSynchronizerStats},
|
|
1531
1532
|
);
|
|
1532
1533
|
return persister;
|
|
1533
1534
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),n=Promise,o=Math.max,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=Object,u=e=>a.getPrototypeOf(e),i=a.keys,s=a.freeze,d=e=>(e=>!l(e)&&r(u(e),(e=>e==a.prototype||l(u(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),c=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),y=(e,t,n)=>l(n)?(c(e,t),e):null==e?void 0:e.set(t,n),h=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(g(e,t)):y(e,t,n()),g(e,t)};var f=Object.defineProperty,p=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},a=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);u((n=n.apply(e,t)).next())}));const S=v(),m=v(),w=new globalThis.TextEncoder;var L=Math.pow;const T=L(2,36),P=L(2,30),O=L(2,24),x=L(2,18),H=L(2,12),j=L(2,6),D=e=>String.fromCharCode(48+(63&e)),E=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;var I=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},a=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);u((n=n.apply(e,t)).next())}));const z=v(),R=(a,u)=>{const i=""+Math.random();return((a,u,i,f,L=1,z)=>{let R;const[V]=(e=>{let t=0,n=-1;const r=(e=>{let t=2166136261;var n;return n=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},w.encode(e).forEach(n),t>>>0})(e),a=e=>{const r=t,[a,u]=l(e)||""==e?[0,0]:[E(i=e,0)*T+E(i,1)*P+E(i,2)*O+E(i,3)*x+E(i,4)*H+E(i,5)*j+E(i,6),E(i,7)*x+E(i,8)*H+E(i,9)*j+E(i,10),E(i,11)*O+E(i,12)*x+E(i,13)*H+E(i,14)*j+E(i,15)];var i;t=o(r,a,Date.now()),n=t==r?t==a?o(n,u):n:t==a?u:-1};return[()=>{return a(),o=++n,l=r,D((e=t)/T)+D(e/P)+D(e/O)+D(e/x)+D(e/H)+D(e/j)+D(e)+D(o/x)+D(o/H)+D(o/j)+D(o)+D(l/O)+D(l/x)+D(l/H)+D(l/j)+D(l);var e,o,l},a]})(a.getId()),$=v();i(((e,t,n,o)=>{0==n?r(g($,t),(([t,n])=>l(t)||t==e?n(o,e):0)):1==n&&N.isAutoLoading()?F(e,o).then((e=>null==R?void 0:R(void 0,(()=>e)))):r(2==n&&N.isAutoSaving()?a.getMergeableContentHashes():3==n?a.getMergeableTableIdsDiff(o):4==n?a.getMergeableRowIdsDiff(o):5==n?a.getMergeableTablesChanges(o):6==n?a.getMergeableValuesChanges(o):void 0,(n=>{u(e,t,0,n)}))}));const k=(e,t,...o)=>I(void 0,[e,t,...o],(function*(e,t,o=""){return new n(((n,l)=>{const r=V(),a=setTimeout((()=>{c($,r),l(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*L);y($,r,[e,(e,t)=>{clearTimeout(a),c($,r),n([e,t])}]),u(e,r,t,o)}))})),F=(e=null,t)=>I(void 0,null,(function*(){l(t)&&([t,e]=yield k(e,2));const[n,[o,r]]=t,[,[u,i]]=a.getMergeableContentHashes(),s=["",[["",{}],["",{}],1]];return u!=o&&(s[0]=n,s[1][0]=(yield k(e,5,a.getMergeableCellHashes((yield k(e,4,a.getMergeableRowHashes((yield k(e,3,a.getMergeableTableHashes()))[0])))[0])))[0]),i!=r&&(s[0]=n,s[1][1]=(yield k(e,6,a.getMergeableValuesHashes()))[0]),s})),N=((n,o,a,u,i,c,v,f={},w=[])=>{let L,T,P,O=0;h(S,w,(()=>0)),h(m,w,(()=>[]));const[x,H,j,D]=((e,t)=>!e||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!d(e)||!d(t)])(v,n),E=e=>A(void 0,null,(function*(){return 2!=O&&(O=1,yield z.schedule((()=>A(void 0,null,(function*(){yield e(),O=0}))))),z})),I=o=>{var l;(x&&(l=null==o?void 0:o[0],e(l)==t)?1===(null==o?void 0:o[1][2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==o?void 0:o[2])?n.applyChanges:n.setContent)(o)},z=((e,t)=>{for(var n in t||(t={}))b.call(t,n)&&C(e,n,t[n]);if(p)for(var n of p(t))M.call(t,n)&&C(e,n,t[n]);return e})({load:(e,t)=>A(void 0,null,(function*(){return yield E((()=>A(void 0,null,(function*(){try{I(yield o())}catch(o){null==c||c(o),n.setContent([e,t])}}))))})),startAutoLoad:(...e)=>A(void 0,[...e],(function*(e={},t={}){return yield z.stopAutoLoad().load(e,t),T=u(((e,t)=>A(void 0,null,(function*(){const n=null==t?void 0:t();yield E((()=>A(void 0,null,(function*(){var t;try{I(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==c||c(e)}}))))})))),z})),stopAutoLoad:()=>(T&&(i(T),T=void 0),z),isAutoLoading:()=>!l(T),save:e=>A(void 0,null,(function*(){return 1!=O&&(O=2,yield z.schedule((()=>A(void 0,null,(function*(){try{yield a(H,e)}catch(e){null==c||c(e)}O=0}))))),z})),startAutoSave:()=>A(void 0,null,(function*(){return yield z.stopAutoSave().save(),P=n.addDidFinishTransactionListener((()=>{const e=j();D(e)&&z.save((()=>e))})),z})),stopAutoSave:()=>(r(P,n.delListener),P=void 0,z),isAutoSaving:()=>!l(P),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(g(m,w),...e),yield A(void 0,null,(function*(){if(!g(S,w)){for(y(S,w,1);!l((e=g(m,w),L=e.shift()));)try{yield L()}catch(e){null==c||c(e)}y(S,w,0)}var e})),z})),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})},f);return s(z)})(a,(()=>I(void 0,null,(function*(){const e=yield F();return""!=e[0]?e:void 0}))),(()=>I(void 0,null,(function*(){u(null,null,1,a.getMergeableContentHashes())}))),(e=>R=e),(()=>R=void 0),z,!0,{startSync:()=>I(void 0,null,(function*(){return yield(yield N.startAutoLoad()).startAutoSave()})),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(f(),N.stopSync()),getSynchronizerStats:()=>({})});return N})(a,((e,t,n,o)=>{var r,a;l(e)?(a=(e,l)=>e!=i?l(i,t,n,o):0,((e,t)=>{null==z||z.forEach(t)})(0,((e,t)=>a(t,e)))):null==(r=g(z,e))||r(i,t,n,o)}),(e=>{y(z,i,e)}),(()=>{c(z,i)}),.001,u)};export{R as createLocalSynchronizer};
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=Promise,o=Math.max,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=Object,u=e=>a.getPrototypeOf(e),i=a.keys,s=a.freeze,d=e=>(e=>!l(e)&&r(u(e),(e=>e==a.prototype||l(u(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),c=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),y=(e,t,n)=>l(n)?(c(e,t),e):null==e?void 0:e.set(t,n),h=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(g(e,t)):y(e,t,n()),g(e,t)};var f=Object.defineProperty,p=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},a=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);u((n=n.apply(e,t)).next())}));const S=v(),m=v(),w=new globalThis.TextEncoder;var L=Math.pow;const T=L(2,36),P=L(2,30),O=L(2,24),x=L(2,18),H=L(2,12),j=L(2,6),D=e=>String.fromCharCode(48+(63&e)),E=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;var I=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},a=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);u((n=n.apply(e,t)).next())}));const z=v(),R=(a,u)=>{const i=""+Math.random();return((a,u,i,f,L=1,z)=>{let R;const[V]=(e=>{let t=0,n=-1;const r=(e=>{let t=2166136261;var n;return n=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},w.encode(e).forEach(n),t>>>0})(e),a=e=>{const r=t,[a,u]=l(e)||""==e?[0,0]:[E(i=e,0)*T+E(i,1)*P+E(i,2)*O+E(i,3)*x+E(i,4)*H+E(i,5)*j+E(i,6),E(i,7)*x+E(i,8)*H+E(i,9)*j+E(i,10),E(i,11)*O+E(i,12)*x+E(i,13)*H+E(i,14)*j+E(i,15)];var i;t=o(r,a,Date.now()),n=t==r?t==a?o(n,u):n:t==a?u:-1};return[()=>{return a(),o=++n,l=r,D((e=t)/T)+D(e/P)+D(e/O)+D(e/x)+D(e/H)+D(e/j)+D(e)+D(o/x)+D(o/H)+D(o/j)+D(o)+D(l/O)+D(l/x)+D(l/H)+D(l/j)+D(l);var e,o,l},a]})(a.getId()),$=v();i(((e,t,n,o)=>{0==n?r(g($,t),(([t,n])=>l(t)||t==e?n(o,e):0)):1==n&&N.isAutoLoading()?F(e,o).then((e=>null==R?void 0:R(void 0,(()=>e)))):r(2==n&&N.isAutoSaving()?a.getMergeableContentHashes():3==n?a.getMergeableTableIdsDiff(o):4==n?a.getMergeableRowIdsDiff(o):5==n?a.getMergeableTablesChanges(o):6==n?a.getMergeableValuesChanges(o):void 0,(n=>{u(e,t,0,n)}))}));const k=(e,t,...o)=>I(void 0,[e,t,...o],(function*(e,t,o=""){return new n(((n,l)=>{const r=V(),a=setTimeout((()=>{c($,r),l(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*L);y($,r,[e,(e,t)=>{clearTimeout(a),c($,r),n([e,t])}]),u(e,r,t,o)}))})),F=(e=null,t)=>I(void 0,null,(function*(){l(t)&&([t,e]=yield k(e,2));const[n,[o,r]]=t,[,[u,i]]=a.getMergeableContentHashes(),s=["",[["",{}],["",{}],1]];return u!=o&&(s[0]=n,s[1][0]=(yield k(e,5,a.getMergeableCellHashes((yield k(e,4,a.getMergeableRowHashes((yield k(e,3,a.getMergeableTableHashes()))[0])))[0])))[0]),i!=r&&(s[0]=n,s[1][1]=(yield k(e,6,a.getMergeableValuesHashes()))[0]),s})),N=((n,o,a,u,i,c,v,f={},w=[])=>{let L,T,P,O=0;h(S,w,(()=>0)),h(m,w,(()=>[]));const[x,H,j,D]=((e,t)=>!e||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!d(e)||!d(t)])(v,n),E=e=>A(void 0,null,(function*(){return 2!=O&&(O=1,yield z.schedule((()=>A(void 0,null,(function*(){yield e(),O=0}))))),z})),I=o=>{var l;(x&&(l=null==o?void 0:o[0],e(l)==t)?1===(null==o?void 0:o[1][2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==o?void 0:o[2])?n.applyChanges:n.setContent)(o)},z=((e,t)=>{for(var n in t||(t={}))b.call(t,n)&&C(e,n,t[n]);if(p)for(var n of p(t))M.call(t,n)&&C(e,n,t[n]);return e})({load:(e,t)=>A(void 0,null,(function*(){return yield E((()=>A(void 0,null,(function*(){try{I(yield o())}catch(o){null==c||c(o),n.setContent([e,t])}}))))})),startAutoLoad:(...e)=>A(void 0,[...e],(function*(e={},t={}){return yield z.stopAutoLoad().load(e,t),T=u(((e,t)=>A(void 0,null,(function*(){const n=null==t?void 0:t();yield E((()=>A(void 0,null,(function*(){var t;try{I(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==c||c(e)}}))))})))),z})),stopAutoLoad:()=>(T&&(i(T),T=void 0),z),isAutoLoading:()=>!l(T),save:e=>A(void 0,null,(function*(){return 1!=O&&(O=2,yield z.schedule((()=>A(void 0,null,(function*(){try{yield a(H,e)}catch(e){null==c||c(e)}O=0}))))),z})),startAutoSave:()=>A(void 0,null,(function*(){return yield z.stopAutoSave().save(),P=n.addDidFinishTransactionListener((()=>{const e=j();D(e)&&z.save((()=>e))})),z})),stopAutoSave:()=>(r(P,n.delListener),P=void 0,z),isAutoSaving:()=>!l(P),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(g(m,w),...e),yield A(void 0,null,(function*(){if(!g(S,w)){for(y(S,w,1);!l((e=g(m,w),L=e.shift()));)try{yield L()}catch(e){null==c||c(e)}y(S,w,0)}var e})),z})),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})},f);return s(z)})(a,(()=>I(void 0,null,(function*(){const e=yield F();return""!=e[0]?e:void 0}))),(()=>I(void 0,null,(function*(){u(null,null,1,a.getMergeableContentHashes())}))),(e=>R=e),(()=>R=void 0),z,!0,{startSync:(e,t)=>I(void 0,null,(function*(){return yield(yield N.startAutoLoad(e,t)).startAutoSave()})),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(f(),N.stopSync()),getSynchronizerStats:()=>({})});return N})(a,((e,t,n,o)=>{var r,a;l(e)?(a=(e,l)=>e!=i?l(i,t,n,o):0,((e,t)=>{null==z||z.forEach(t)})(0,((e,t)=>a(t,e)))):null==(r=g(z,e))||r(i,t,n,o)}),(e=>{y(z,i,e)}),(()=>{c(z,i)}),.001,u)};export{R as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),o=Promise,l=Math.max,r=e=>null==e,a=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=(e,t,n)=>e.slice(t,n),u=e=>new o(e),s=Object,d=e=>s.getPrototypeOf(e),c=s.keys,v=s.freeze,g=e=>(e=>!r(e)&&a(d(e),(e=>e==s.prototype||r(d(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),y=JSON.parse,h=(e,t)=>null==e?void 0:e.delete(t),f=e=>new Map(e),p=(e,t)=>null==e?void 0:e.get(t),b=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),S=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(p(e,t)):b(e,t,n()),p(e,t)};var M=Object.defineProperty,C=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const P=f(),
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),o=Promise,l=Math.max,r=e=>null==e,a=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=(e,t,n)=>e.slice(t,n),u=e=>new o(e),s=Object,d=e=>s.getPrototypeOf(e),c=s.keys,v=s.freeze,g=e=>(e=>!r(e)&&a(d(e),(e=>e==s.prototype||r(d(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),y=JSON.parse,h=(e,t)=>null==e?void 0:e.delete(t),f=e=>new Map(e),p=(e,t)=>null==e?void 0:e.get(t),b=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),S=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(p(e,t)):b(e,t,n()),p(e,t)};var M=Object.defineProperty,C=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,w=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const P=f(),L=f(),x=new globalThis.TextEncoder;var T=Math.pow;const H=T(2,36),E=T(2,30),j=T(2,24),D=T(2,18),I=T(2,12),N=T(2,6),z=e=>String.fromCharCode(48+(63&e)),J=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;var R=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const V=(o,d,c,M)=>{return T=function*(){let T;const V=(e,t)=>d.addEventListener(e,t),$=((o,i,s,d,c=1,y)=>{let M;const[T]=(e=>{let t=0,n=-1;const o=(e=>{let t=2166136261;var n;return n=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},x.encode(e).forEach(n),t>>>0})(e),a=e=>{const o=t,[a,i]=r(e)||""==e?[0,0]:[J(u=e,0)*H+J(u,1)*E+J(u,2)*j+J(u,3)*D+J(u,4)*I+J(u,5)*N+J(u,6),J(u,7)*D+J(u,8)*I+J(u,9)*N+J(u,10),J(u,11)*j+J(u,12)*D+J(u,13)*I+J(u,14)*N+J(u,15)];var u;t=l(o,a,Date.now()),n=t==o?t==a?l(n,i):n:t==a?i:-1};return[()=>{return a(),l=++n,r=o,z((e=t)/H)+z(e/E)+z(e/j)+z(e/D)+z(e/I)+z(e/N)+z(e)+z(l/D)+z(l/I)+z(l/N)+z(l)+z(r/j)+z(r/D)+z(r/I)+z(r/N)+z(r);var e,l,r},a]})(o.getId()),V=f();s(((e,t,n,l)=>{0==n?a(p(V,t),(([t,n])=>r(t)||t==e?n(l,e):0)):1==n&&F.isAutoLoading()?k(e,l).then((e=>null==M?void 0:M(void 0,(()=>e)))):a(2==n&&F.isAutoSaving()?o.getMergeableContentHashes():3==n?o.getMergeableTableIdsDiff(l):4==n?o.getMergeableRowIdsDiff(l):5==n?o.getMergeableTablesChanges(l):6==n?o.getMergeableValuesChanges(l):void 0,(n=>{i(e,t,0,n)}))}));const $=(e,t,...n)=>R(void 0,[e,t,...n],(function*(e,t,n=""){return u(((o,l)=>{const r=T(),a=setTimeout((()=>{h(V,r),l(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*c);b(V,r,[e,(e,t)=>{clearTimeout(a),h(V,r),o([e,t])}]),i(e,r,t,n)}))})),k=(e=null,n)=>R(void 0,null,(function*(){r(n)&&([n,e]=yield $(e,2));const[l,[a,i]]=n,[,[u,s]]=o.getMergeableContentHashes(),d=[t,[[t,{}],[t,{}],1]];return u!=a&&(d[0]=l,d[1][0]=(yield $(e,5,o.getMergeableCellHashes((yield $(e,4,o.getMergeableRowHashes((yield $(e,3,o.getMergeableTableHashes()))[0])))[0])))[0]),s!=i&&(d[0]=l,d[1][1]=(yield $(e,6,o.getMergeableValuesHashes()))[0]),d})),F=((t,o,l,i,u,s,d,c={},y=[])=>{let h,f,M,x=0;S(P,y,(()=>0)),S(L,y,(()=>[]));const[T,H,E,j]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!g(e)||!g(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!g(e)||!g(t)])(d,t),D=e=>O(void 0,null,(function*(){return 2!=x&&(x=1,yield N.schedule((()=>O(void 0,null,(function*(){yield e(),x=0}))))),N})),I=o=>{var l;(T&&(l=null==o?void 0:o[0],e(l)==n)?1===(null==o?void 0:o[1][2])?t.applyMergeableChanges:t.setMergeableContent:1===(null==o?void 0:o[2])?t.applyChanges:t.setContent)(o)},N=((e,t)=>{for(var n in t||(t={}))m.call(t,n)&&w(e,n,t[n]);if(C)for(var n of C(t))A.call(t,n)&&w(e,n,t[n]);return e})({load:(e,n)=>O(void 0,null,(function*(){return yield D((()=>O(void 0,null,(function*(){try{I(yield o())}catch(o){null==s||s(o),t.setContent([e,n])}}))))})),startAutoLoad:(...e)=>O(void 0,[...e],(function*(e={},t={}){return yield N.stopAutoLoad().load(e,t),f=i(((e,t)=>O(void 0,null,(function*(){const n=null==t?void 0:t();yield D((()=>O(void 0,null,(function*(){var t;try{I(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==s||s(e)}}))))})))),N})),stopAutoLoad:()=>(f&&(u(f),f=void 0),N),isAutoLoading:()=>!r(f),save:e=>O(void 0,null,(function*(){return 1!=x&&(x=2,yield N.schedule((()=>O(void 0,null,(function*(){try{yield l(H,e)}catch(e){null==s||s(e)}x=0}))))),N})),startAutoSave:()=>O(void 0,null,(function*(){return yield N.stopAutoSave().save(),M=t.addDidFinishTransactionListener((()=>{const e=E();j(e)&&N.save((()=>e))})),N})),stopAutoSave:()=>(a(M,t.delListener),M=void 0,N),isAutoSaving:()=>!r(M),schedule:(...e)=>O(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(p(L,y),...e),yield O(void 0,null,(function*(){if(!p(P,y)){for(b(P,y,1);!r((e=p(L,y),h=e.shift()));)try{yield h()}catch(e){null==s||s(e)}b(P,y,0)}var e})),N})),getStore:()=>t,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})},c);return v(N)})(o,(()=>R(void 0,null,(function*(){const e=yield k();return e[0]!=t?e:void 0}))),(()=>R(void 0,null,(function*(){i(null,null,1,o.getMergeableContentHashes())}))),(e=>M=e),(()=>M=void 0),y,!0,{startSync:(e,t)=>R(void 0,null,(function*(){return yield(yield F.startAutoLoad(e,t)).startAutoSave()})),stopSync:()=>F.stopAutoLoad().stopAutoSave(),destroy:()=>(d(),F.stopSync()),getSynchronizerStats:()=>({})});return F})(o,((e,...n)=>{d.send((null!=e?e:t)+"\n"+JSON.stringify(n,((e,t)=>t instanceof Map?s.fromEntries([...t]):t)))}),(e=>{T=e}),(()=>{d.close()}),c,M);return V("message",(({data:e})=>{if(!r(T)){const t=e.toString("utf8").indexOf("\n");-1!==t&&T(i(e,0,t),...y(i(e,t+1)))}})),u(((e,t)=>{d.readyState!=d.OPEN?(V("error",t),V("open",(()=>e($)))):e($)}))},new Promise(((e,t)=>{var n=e=>{try{l(T.next(e))}catch(e){t(e)}},o=e=>{try{l(T.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);l((T=T.apply(void 0,null)).next())}));var T};export{V as createWsSynchronizer};
|
|
Binary file
|
package/lib/es6/synchronizers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),n=Promise,o=Math.max,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=Object,i=e=>a.getPrototypeOf(e),u=a.keys,s=a.freeze,d=e=>(e=>!l(e)&&r(i(e),(e=>e==a.prototype||l(i(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),c=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),y=(e,t,n)=>l(n)?(c(e,t),e):null==e?void 0:e.set(t,n),h=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(g(e,t)):y(e,t,n()),g(e,t)};var f=Object.defineProperty,p=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const S=v(),w=v(),m=new globalThis.TextEncoder;var L=Math.pow;const T=L(2,36),P=L(2,30),O=L(2,24),x=L(2,18),H=L(2,12),j=L(2,6),D=e=>String.fromCharCode(48+(63&e)),I=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;var E=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const z=(a,i,u,f,L=1,z)=>{let R;const[V]=(e=>{let t=0,n=-1;const r=(e=>{let t=2166136261;var n;return n=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},m.encode(e).forEach(n),t>>>0})(e),a=e=>{const r=t,[a,i]=l(e)||""==e?[0,0]:[I(u=e,0)*T+I(u,1)*P+I(u,2)*O+I(u,3)*x+I(u,4)*H+I(u,5)*j+I(u,6),I(u,7)*x+I(u,8)*H+I(u,9)*j+I(u,10),I(u,11)*O+I(u,12)*x+I(u,13)*H+I(u,14)*j+I(u,15)];var u;t=o(r,a,Date.now()),n=t==r?t==a?o(n,i):n:t==a?i:-1};return[()=>{return a(),o=++n,l=r,D((e=t)/T)+D(e/P)+D(e/O)+D(e/x)+D(e/H)+D(e/j)+D(e)+D(o/x)+D(o/H)+D(o/j)+D(o)+D(l/O)+D(l/x)+D(l/H)+D(l/j)+D(l);var e,o,l},a]})(a.getId()),$=v();u(((e,t,n,o)=>{0==n?r(g($,t),(([t,n])=>l(t)||t==e?n(o,e):0)):1==n&&N.isAutoLoading()?F(e,o).then((e=>null==R?void 0:R(void 0,(()=>e)))):r(2==n&&N.isAutoSaving()?a.getMergeableContentHashes():3==n?a.getMergeableTableIdsDiff(o):4==n?a.getMergeableRowIdsDiff(o):5==n?a.getMergeableTablesChanges(o):6==n?a.getMergeableValuesChanges(o):void 0,(n=>{i(e,t,0,n)}))}));const k=(e,t,...o)=>E(void 0,[e,t,...o],(function*(e,t,o=""){return new n(((n,l)=>{const r=V(),a=setTimeout((()=>{c($,r),l(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*L);y($,r,[e,(e,t)=>{clearTimeout(a),c($,r),n([e,t])}]),i(e,r,t,o)}))})),F=(e=null,t)=>E(void 0,null,(function*(){l(t)&&([t,e]=yield k(e,2));const[n,[o,r]]=t,[,[i,u]]=a.getMergeableContentHashes(),s=["",[["",{}],["",{}],1]];return i!=o&&(s[0]=n,s[1][0]=(yield k(e,5,a.getMergeableCellHashes((yield k(e,4,a.getMergeableRowHashes((yield k(e,3,a.getMergeableTableHashes()))[0])))[0])))[0]),u!=r&&(s[0]=n,s[1][1]=(yield k(e,6,a.getMergeableValuesHashes()))[0]),s})),N=((n,o,a,i,u,c,v,f={},m=[])=>{let L,T,P,O=0;h(S,m,(()=>0)),h(w,m,(()=>[]));const[x,H,j,D]=((e,t)=>!e||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!d(e)||!d(t)])(v,n),I=e=>A(void 0,null,(function*(){return 2!=O&&(O=1,yield z.schedule((()=>A(void 0,null,(function*(){yield e(),O=0}))))),z})),E=o=>{var l;(x&&(l=null==o?void 0:o[0],e(l)==t)?1===(null==o?void 0:o[1][2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==o?void 0:o[2])?n.applyChanges:n.setContent)(o)},z=((e,t)=>{for(var n in t||(t={}))b.call(t,n)&&M(e,n,t[n]);if(p)for(var n of p(t))C.call(t,n)&&M(e,n,t[n]);return e})({load:(e,t)=>A(void 0,null,(function*(){return yield I((()=>A(void 0,null,(function*(){try{E(yield o())}catch(o){null==c||c(o),n.setContent([e,t])}}))))})),startAutoLoad:(...e)=>A(void 0,[...e],(function*(e={},t={}){return yield z.stopAutoLoad().load(e,t),T=i(((e,t)=>A(void 0,null,(function*(){const n=null==t?void 0:t();yield I((()=>A(void 0,null,(function*(){var t;try{E(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==c||c(e)}}))))})))),z})),stopAutoLoad:()=>(T&&(u(T),T=void 0),z),isAutoLoading:()=>!l(T),save:e=>A(void 0,null,(function*(){return 1!=O&&(O=2,yield z.schedule((()=>A(void 0,null,(function*(){try{yield a(H,e)}catch(e){null==c||c(e)}O=0}))))),z})),startAutoSave:()=>A(void 0,null,(function*(){return yield z.stopAutoSave().save(),P=n.addDidFinishTransactionListener((()=>{const e=j();D(e)&&z.save((()=>e))})),z})),stopAutoSave:()=>(r(P,n.delListener),P=void 0,z),isAutoSaving:()=>!l(P),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(g(w,m),...e),yield A(void 0,null,(function*(){if(!g(S,m)){for(y(S,m,1);!l((e=g(w,m),L=e.shift()));)try{yield L()}catch(e){null==c||c(e)}y(S,m,0)}var e})),z})),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})},f);return s(z)})(a,(()=>E(void 0,null,(function*(){const e=yield F();return""!=e[0]?e:void 0}))),(()=>E(void 0,null,(function*(){i(null,null,1,a.getMergeableContentHashes())}))),(e=>R=e),(()=>R=void 0),z,!0,{startSync:()=>E(void 0,null,(function*(){return yield(yield N.startAutoLoad()).startAutoSave()})),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(f(),N.stopSync()),getSynchronizerStats:()=>({})});return N};export{z as createCustomSynchronizer};
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=Promise,o=Math.max,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=Object,i=e=>a.getPrototypeOf(e),u=a.keys,s=a.freeze,d=e=>(e=>!l(e)&&r(i(e),(e=>e==a.prototype||l(i(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),c=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),y=(e,t,n)=>l(n)?(c(e,t),e):null==e?void 0:e.set(t,n),h=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(g(e,t)):y(e,t,n()),g(e,t)};var f=Object.defineProperty,p=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const S=v(),w=v(),m=new globalThis.TextEncoder;var L=Math.pow;const T=L(2,36),P=L(2,30),O=L(2,24),x=L(2,18),H=L(2,12),j=L(2,6),D=e=>String.fromCharCode(48+(63&e)),I=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;var E=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const z=(a,i,u,f,L=1,z)=>{let R;const[V]=(e=>{let t=0,n=-1;const r=(e=>{let t=2166136261;var n;return n=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},m.encode(e).forEach(n),t>>>0})(e),a=e=>{const r=t,[a,i]=l(e)||""==e?[0,0]:[I(u=e,0)*T+I(u,1)*P+I(u,2)*O+I(u,3)*x+I(u,4)*H+I(u,5)*j+I(u,6),I(u,7)*x+I(u,8)*H+I(u,9)*j+I(u,10),I(u,11)*O+I(u,12)*x+I(u,13)*H+I(u,14)*j+I(u,15)];var u;t=o(r,a,Date.now()),n=t==r?t==a?o(n,i):n:t==a?i:-1};return[()=>{return a(),o=++n,l=r,D((e=t)/T)+D(e/P)+D(e/O)+D(e/x)+D(e/H)+D(e/j)+D(e)+D(o/x)+D(o/H)+D(o/j)+D(o)+D(l/O)+D(l/x)+D(l/H)+D(l/j)+D(l);var e,o,l},a]})(a.getId()),$=v();u(((e,t,n,o)=>{0==n?r(g($,t),(([t,n])=>l(t)||t==e?n(o,e):0)):1==n&&N.isAutoLoading()?F(e,o).then((e=>null==R?void 0:R(void 0,(()=>e)))):r(2==n&&N.isAutoSaving()?a.getMergeableContentHashes():3==n?a.getMergeableTableIdsDiff(o):4==n?a.getMergeableRowIdsDiff(o):5==n?a.getMergeableTablesChanges(o):6==n?a.getMergeableValuesChanges(o):void 0,(n=>{i(e,t,0,n)}))}));const k=(e,t,...o)=>E(void 0,[e,t,...o],(function*(e,t,o=""){return new n(((n,l)=>{const r=V(),a=setTimeout((()=>{c($,r),l(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*L);y($,r,[e,(e,t)=>{clearTimeout(a),c($,r),n([e,t])}]),i(e,r,t,o)}))})),F=(e=null,t)=>E(void 0,null,(function*(){l(t)&&([t,e]=yield k(e,2));const[n,[o,r]]=t,[,[i,u]]=a.getMergeableContentHashes(),s=["",[["",{}],["",{}],1]];return i!=o&&(s[0]=n,s[1][0]=(yield k(e,5,a.getMergeableCellHashes((yield k(e,4,a.getMergeableRowHashes((yield k(e,3,a.getMergeableTableHashes()))[0])))[0])))[0]),u!=r&&(s[0]=n,s[1][1]=(yield k(e,6,a.getMergeableValuesHashes()))[0]),s})),N=((n,o,a,i,u,c,v,f={},m=[])=>{let L,T,P,O=0;h(S,m,(()=>0)),h(w,m,(()=>[]));const[x,H,j,D]=((e,t)=>!e||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!d(e)||!d(t)])(v,n),I=e=>A(void 0,null,(function*(){return 2!=O&&(O=1,yield z.schedule((()=>A(void 0,null,(function*(){yield e(),O=0}))))),z})),E=o=>{var l;(x&&(l=null==o?void 0:o[0],e(l)==t)?1===(null==o?void 0:o[1][2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==o?void 0:o[2])?n.applyChanges:n.setContent)(o)},z=((e,t)=>{for(var n in t||(t={}))b.call(t,n)&&M(e,n,t[n]);if(p)for(var n of p(t))C.call(t,n)&&M(e,n,t[n]);return e})({load:(e,t)=>A(void 0,null,(function*(){return yield I((()=>A(void 0,null,(function*(){try{E(yield o())}catch(o){null==c||c(o),n.setContent([e,t])}}))))})),startAutoLoad:(...e)=>A(void 0,[...e],(function*(e={},t={}){return yield z.stopAutoLoad().load(e,t),T=i(((e,t)=>A(void 0,null,(function*(){const n=null==t?void 0:t();yield I((()=>A(void 0,null,(function*(){var t;try{E(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==c||c(e)}}))))})))),z})),stopAutoLoad:()=>(T&&(u(T),T=void 0),z),isAutoLoading:()=>!l(T),save:e=>A(void 0,null,(function*(){return 1!=O&&(O=2,yield z.schedule((()=>A(void 0,null,(function*(){try{yield a(H,e)}catch(e){null==c||c(e)}O=0}))))),z})),startAutoSave:()=>A(void 0,null,(function*(){return yield z.stopAutoSave().save(),P=n.addDidFinishTransactionListener((()=>{const e=j();D(e)&&z.save((()=>e))})),z})),stopAutoSave:()=>(r(P,n.delListener),P=void 0,z),isAutoSaving:()=>!l(P),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(g(w,m),...e),yield A(void 0,null,(function*(){if(!g(S,m)){for(y(S,m,1);!l((e=g(w,m),L=e.shift()));)try{yield L()}catch(e){null==c||c(e)}y(S,m,0)}var e})),z})),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})},f);return s(z)})(a,(()=>E(void 0,null,(function*(){const e=yield F();return""!=e[0]?e:void 0}))),(()=>E(void 0,null,(function*(){i(null,null,1,a.getMergeableContentHashes())}))),(e=>R=e),(()=>R=void 0),z,!0,{startSync:(e,t)=>E(void 0,null,(function*(){return yield(yield N.startAutoLoad(e,t)).startAutoSave()})),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(f(),N.stopSync()),getSynchronizerStats:()=>({})});return N};export{z as createCustomSynchronizer};
|
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),l=e(!0),o=e(0),s=e(e),r="type",a="default",i="Listener",d="Result",u="add",c="Has",g="Ids",v="Table",h=v+"s",f=v+g,b="Row",y=b+"Count",p=b+g,L="Sorted"+b+g,C="Cell",w=C+g,T="Value",I=T+"s",S=T+g,R=e=>t+e,M=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),V=Promise,E=Math.max,A=Math.min,H=isFinite,O=e=>null==e,x=(e,t,n)=>O(e)?null==n?void 0:n():t(e),D=e=>e==n||e==l,k=t=>e(t)==n,P=t=>e(t)==s,J=e=>Array.isArray(e),j=(e,t,n)=>e.slice(t,n),F=e=>e.length,Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),W=(e,t)=>F(e)===F(t)&&N(e,((e,n)=>t[n]===e)),$=(e,t)=>N(e,((n,l)=>0==l||t(e[l-1],n)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>U(e,((e,t)=>e+t),0),K=e=>0==F(e),U=(e,t,n)=>e.reduce(t,n),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),ne=ee.entries,le=ee.isFrozen,oe=e=>!O(e)&&x(te(e),(e=>e==ee.prototype||O(te(e))),(()=>!0)),se=ee.keys,re=ee.freeze,ae=(e=[])=>ee.fromEntries(e),ie=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ue=(e,t)=>B(ne(e),(([e,n])=>t(n,e))),ce=(e,t)=>q(ne(e),(([e,n])=>t(n,e))),ge=(e,t)=>ae(ce(e,((e,n)=>[n,t(e,n)]))),ve=e=>oe(e)&&0==(e=>F(se(e)))(e),he=(e,t,n)=>(ie(e,t)||(e[t]=n()),e[t]),fe=(e,t,n,l=0)=>O(e)||!oe(e)||!l&&ve(e)||le(e)?(null==n||n(),!1):(ce(e,((n,l)=>{t(n,l)||de(e,l)})),!!l||!ve(e)),be=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ye=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},pe=e=>O(e)||0==be(e),Le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Ce=e=>e.clear(),we=(e,t)=>null==e?void 0:e.forEach(t),Te=(e,t)=>null==e?void 0:e.delete(t),Ie=e=>new Map(e),Se=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Re=(e,t)=>null==e?void 0:e.get(t),Me=(e,t)=>we(e,((e,n)=>t(n,e))),me=(e,t,n)=>O(n)?(Te(e,t),e):null==e?void 0:e.set(t,n),Ve=(e,t,n,l)=>(ye(e,t)?null==l||l(Re(e,t)):me(e,t,n()),Re(e,t)),Ee=(e,t,n,l=me)=>(ce(t,((t,l)=>n(e,l,t))),Me(e,(n=>ie(t,n)?0:l(e,n))),e),Ae=(e,t,n,l)=>{const o={};return we(e,((e,s)=>{if(!(null==n?void 0:n(e,s))){const n=t?t(e,s):e;!(null==l?void 0:l(n))&&(o[s]=n)}})),o},He=(e,t,n)=>Ae(e,(e=>Ae(e,t,n)),pe,ve),Oe=(e,t,n)=>Ae(e,(e=>He(e,t,n)),pe,ve),xe=(e,t)=>{const n=Ie();return we(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},De=e=>xe(e,xe),ke=e=>xe(e,De),Pe=(e,t,n,l,o=0)=>x((n?Ve:Re)(e,t[o],o>F(t)-2?n:Ie),(s=>{if(o>F(t)-2)return(null==l?void 0:l(s))&&me(e,t[o]),s;const r=Pe(s,t,n,l,o+1);return pe(s)&&me(e,t[o]),r})),Je=t=>{const n=e(t);return D(n)||n==o&&H(t)?n:void 0},je=e=>null===e||!O(Je(e)),Fe=(e,t,n,l,o)=>O(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),Qe=(e,t,n)=>O(n)?e.delValue(t):e.setValue(t,n),ze=e=>new Set(J(e)||O(e)?e:[e]),Ne=(e,t)=>null==e?void 0:e.add(t),We=(e,t,n,l,o)=>{const s=e.hasRow,r=Ie(),a=Ie(),i=Ie(),d=Ie(),u=Ie(),c=Ie(),g=(t,n,...l)=>{const o=Ve(c,t,ze);return B(l,(t=>Ne(o,t)&&n&&e.callListener(t))),l},v=(t,...n)=>x(Re(c,t),(l=>{B(K(n)?Le(l):n,(t=>{e.delListener(t),Te(l,t)})),pe(l)&&me(c,t)})),h=(e,n)=>{me(r,e,n),ye(a,e)||(me(a,e,t()),me(d,e,Ie()),me(u,e,Ie()),o(i))},f=e=>{me(r,e),me(a,e),me(d,e),me(u,e),v(e),o(i)};return[()=>e,()=>Se(r),e=>Me(a,e),e=>ye(a,e),e=>Re(r,e),e=>Re(a,e),(e,t)=>me(a,e,t),h,(t,l,o,r,a)=>{h(t,l);const i=Ie(),c=Ie(),f=Re(d,t),b=Re(u,t),y=t=>{const o=n=>e.getCell(l,t,n),d=Re(f,t),u=s(l,t)?n(r(o,t)):void 0;if(d===u||J(d)&&J(u)&&W(d,u)||me(i,t,[d,u]),!O(a)){const e=Re(b,t),n=s(l,t)?a(o,t):void 0;e!=n&&me(c,t,n)}},p=e=>{o((()=>{we(i,(([,e],t)=>me(f,t,e))),we(c,((e,t)=>me(b,t,e)))}),i,c,f,b,e),Ce(i),Ce(c)};Me(f,y),e.hasTable(l)&&B(e.getRowIds(l),(e=>{ye(f,e)||y(e)})),p(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},f,e=>l(e,i),()=>Me(c,f),g,v]},$e=(e,n)=>k(e)?t=>t(e):null!=e?e:()=>null!=n?n:t,_e=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const o=n.get(l);return null==t||t(o),o}},Be=/^\d+$/,qe=()=>{const e=[];let n=0;return[l=>{var o;return null!=(o=l?Z(e):null)?o:t+n++},t=>{Be.test(t)&&F(e)<1e3&&X(e,t)}]},Ge=e=>{let n;const[l,o]=qe(),s=Ie();return[(o,r,a,i=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return me(s,u,[o,r,a,i,d]),Ne(Pe(r,null!=a?a:[t],ze),u),u},(e,l,...o)=>B(((e,n=[t])=>{const l=[],o=(e,t)=>t==F(n)?X(l,e):null===n[t]?we(e,(e=>o(e,t+1))):B([n[t],null],(n=>o(Re(e,n),t+1)));return o(e,0),l})(e,l),(e=>we(e,(e=>Re(s,e)[0](n,...null!=l?l:[],...o))))),e=>x(Re(s,e),(([,n,l])=>(Pe(n,null!=l?l:[t],void 0,(t=>(Te(t,e),pe(t)?1:0))),me(s,e),o(e),l))),e=>x(Re(s,e),(([e,,t=[],l,o])=>{const s=(...r)=>{var a,i;const d=F(r);d==F(t)?e(n,...r,...o(r)):O(t[d])?B(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,t[d])};s()}))]},Ke=_e((e=>{let n,l,o,s=100,r=Ie(),a=Ie(),i=1;const d=Ie(),u=Ie(),[c,g,v]=Ge((()=>k)),h=Ie(),f=Ie(),b=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=Re(h,n);we(l,((n,l)=>we(n,((n,o)=>we(n,((n,s)=>Fe(e,l,o,s,n[t]))))))),we(o,((n,l)=>Qe(e,l,n[t])))})),i=1},L=e=>{me(h,e),me(f,e),g(u,[e])},C=(e,t)=>B(((e,t)=>e.splice(0,t))(e,null!=t?t:F(e)),L),w=()=>C(b,F(b)-s),T=()=>x(n,(()=>{X(b,n),w(),C(y),n=void 0,o=1})),I=()=>{n=Y(b),o=1};let S,R;const M=(e="")=>(O(n)&&(n=t+l++,me(h,n,[r,a]),H(n,e),r=Ie(),a=Ie(),o=1),n),m=()=>{K(b)||(((e,...t)=>{e.unshift(...t)})(y,M()),p(0,n),n=Y(b),o=1)},V=()=>{K(y)||(X(b,n),n=Z(y),p(1,n),o=1)},E=()=>{o&&(g(d),o=0)},A=e=>{const t=M(e);return E(),t},H=(e,t)=>(D(e)&&Re(f,e)!==t&&(me(f,e,t),g(u,[e])),k),D=e=>ye(h,e),k={setSize:e=>(s=e,w(),k),addCheckpoint:A,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...b],n,[...y]],forEachCheckpoint:e=>Me(f,e),hasCheckpoint:D,getCheckpoint:e=>Re(f,e),goBackward:()=>(m(),E(),k),goForward:()=>(V(),E(),k),goTo:e=>{const t=z(b,e)?m:z(y,e)?V:null;for(;!O(t)&&e!=n;)t();return E(),k},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(v(e),k),clear:()=>(C(b),C(y),O(n)||L(n),n=void 0,l=0,A(),k),clearForward:()=>(K(y)||(C(y),g(d)),k),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(i){T();const e=Ve(r,t,Ie),a=Ve(e,n,Ie),i=Ve(a,l,(()=>[s,void 0]));i[1]=o,i[0]===o&&pe(me(a,l))&&pe(me(e,n))&&pe(me(r,t))&&I(),E()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){T();const e=Ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&pe(me(a,t))&&I(),E()}}))}};return re(k.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Xe=_e((e=>{const n=Ie(),l=Ie(),[o,s,r]=Ge((()=>L)),[a,i,d,u,c,g,v,,h,f,b,y]=We(e,Ie,(e=>O(e)?t:J(e)?q(e,R):R(e)),o,s),p=(t,n,l)=>{const o=c(t);we(l,((t,l)=>n(l,(n=>we(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},L={setIndexDefinition:(e,t,o,r,a,i=Ue)=>{const d=O(a)?void 0:([e],[t])=>a(e,t);return h(e,t,((t,o,a,u,c,h)=>{let f=0;const b=ze(),y=ze(),p=g(e);if(we(o,(([e,t],n)=>{const l=ze(e),o=ze(t);we(l,(e=>Te(o,e)?Te(l,e):0)),we(l,(e=>{Ne(b,e),x(Re(p,e),(t=>{Te(t,n),pe(t)&&(me(p,e),f=1)}))})),we(o,(e=>{Ne(b,e),ye(p,e)||(me(p,e,ze()),f=1),Ne(Re(p,e),n),O(r)||Ne(y,e)}))})),t(),pe(c)||(h?Me(p,(e=>Ne(y,e))):Me(a,(e=>x(Re(u,e),(e=>Ne(y,e))))),we(y,(e=>{const t=(t,n)=>i(Re(c,t),Re(c,n),e),n=[...Re(p,e)];$(n,t)||(me(p,e,ze(_(n,t))),Ne(b,e))}))),(f||h)&&!O(d)){const t=[...p];$(t,d)||(v(e,Ie(_(t,d))),f=1)}f&&s(n,[e]),we(b,(t=>s(l,[e,t])))}),$e(o),x(r,$e)),L},delIndexDefinition:e=>(f(e),L),getStore:a,getIndexIds:i,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,g(e)),hasIndex:u,hasSlice:(e,t)=>ye(g(e),t),getTableId:c,getSliceIds:e=>Se(g(e)),getSliceRowIds:(e,t)=>Le(Re(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>o(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>o(n,l,[e,t]),delListener:e=>(r(e),L),destroy:y,getListenerStats:()=>({})};return re(L)})),Ye=Ie([["avg",[(e,t)=>G(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=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["min",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:A(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ze=(e,t,n,l,o,s=!1)=>{if(pe(n))return;const[r,a,i,d]=o;return s||(s=O(e)),we(l,(([n,l])=>{s||(e=O(n)?null==a?void 0:a(e,l,t++):O(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=O(e)))})),s?r(Le(n),be(n)):e},et=_e((e=>{const n=Ie(),[l,o,s]=Ge((()=>y)),[r,a,i,d,u,c,g,,v,h,f,b]=We(e,Q,(e=>isNaN(e)||O(e)||!0===e||!1===e||e===t?void 0:1*e),l,o),y={setMetricDefinition:(e,t,l,s,r,a,i)=>{var d;const u=P(l)?[l,r,a,i]:null!=(d=Re(Ye,l))?d:Re(Ye,"sum");return v(e,t,((t,l,s,r,a,i)=>{const d=c(e),v=be(r);i||(i=O(d)),t();let h=Ze(d,v,r,l,u,i);H(h)||(h=void 0),h!=d&&(g(e,h),o(n,[e],h,d))}),$e(s,1)),y},delMetricDefinition:e=>(h(e),y),getStore:r,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:f,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(s(e),y),destroy:b,getListenerStats:()=>({})};return re(y)}));var tt=Object.defineProperty,nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,st=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rt=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const at=Ie(),it=Ie(),dt=(e,t,n,l,o,s,r,a={},i=[])=>{let d,u,c,g=0;Ve(at,i,(()=>0)),Ve(it,i,(()=>[]));const[v,h,f,b]=((e,t)=>!e||O(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!ve(e)||!ve(t)])(r,e),y=e=>rt(void 0,null,(function*(){return 2!=g&&(g=1,yield L.schedule((()=>rt(void 0,null,(function*(){yield e(),g=0}))))),L})),p=t=>{(v&&k(null==t?void 0:t[0])?1===(null==t?void 0:t[1][2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},L=((e,t)=>{for(var n in t||(t={}))lt.call(t,n)&&st(e,n,t[n]);if(nt)for(var n of nt(t))ot.call(t,n)&&st(e,n,t[n]);return e})({load:(n,l)=>rt(void 0,null,(function*(){return yield y((()=>rt(void 0,null,(function*(){try{p(yield t())}catch(t){null==s||s(t),e.setContent([n,l])}}))))})),startAutoLoad:(...e)=>rt(void 0,[...e],(function*(e={},n={}){return yield L.stopAutoLoad().load(e,n),u=l(((e,n)=>rt(void 0,null,(function*(){const l=null==n?void 0:n();yield y((()=>rt(void 0,null,(function*(){var n;try{p(null!=(n=null!=l?l:null==e?void 0:e())?n:yield t())}catch(e){null==s||s(e)}}))))})))),L})),stopAutoLoad:()=>(u&&(o(u),u=void 0),L),isAutoLoading:()=>!O(u),save:e=>rt(void 0,null,(function*(){return 1!=g&&(g=2,yield L.schedule((()=>rt(void 0,null,(function*(){try{yield n(h,e)}catch(e){null==s||s(e)}g=0}))))),L})),startAutoSave:()=>rt(void 0,null,(function*(){return yield L.stopAutoSave().save(),c=e.addDidFinishTransactionListener((()=>{const e=f();b(e)&&L.save((()=>e))})),L})),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),isAutoSaving:()=>!O(c),schedule:(...e)=>rt(void 0,null,(function*(){return X(Re(it,i),...e),yield rt(void 0,null,(function*(){if(!Re(at,i)){for(me(at,i,1);!O(d=Z(Re(it,i)));)try{yield d()}catch(e){null==s||s(e)}me(at,i,0)}})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})},a);return re(L)},ut=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return B(ut.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0};var gt=Math.pow;const vt=gt(2,36),ht=gt(2,30),ft=gt(2,24),bt=gt(2,18),yt=gt(2,12),pt=gt(2,6),Lt=e=>String.fromCharCode(48+(63&e)),Ct=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,wt=e=>{let t=0,n=-1;const l=ct(e),o=e=>{const l=t,[o,s]=O(e)||""==e?[0,0]:[Ct(r=e,0)*vt+Ct(r,1)*ht+Ct(r,2)*ft+Ct(r,3)*bt+Ct(r,4)*yt+Ct(r,5)*pt+Ct(r,6),Ct(r,7)*bt+Ct(r,8)*yt+Ct(r,9)*pt+Ct(r,10),Ct(r,11)*ft+Ct(r,12)*bt+Ct(r,13)*yt+Ct(r,14)*pt+Ct(r,15)];var r;t=E(l,o,Date.now()),n=t==l?t==o?E(n,s):n:t==o?s:-1};return[()=>{return o(),s=++n,r=l,Lt((e=t)/vt)+Lt(e/ht)+Lt(e/ft)+Lt(e/bt)+Lt(e/yt)+Lt(e/pt)+Lt(e)+Lt(s/bt)+Lt(s/yt)+Lt(s/pt)+Lt(s)+Lt(r/ft)+Lt(r/bt)+Lt(r/yt)+Lt(r/pt)+Lt(r);var e,s,r},o]};var Tt=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const It=(e,n,l,o,s=1,r)=>{let a;const[i]=wt(e.getId()),d=Ie();l(((t,l,o,s)=>{0==o?x(Re(d,l),(([e,n])=>O(e)||e==t?n(s,t):0)):1==o&&g.isAutoLoading()?c(t,s).then((e=>null==a?void 0:a(void 0,(()=>e)))):x(2==o&&g.isAutoSaving()?e.getMergeableContentHashes():3==o?e.getMergeableTableIdsDiff(s):4==o?e.getMergeableRowIdsDiff(s):5==o?e.getMergeableTablesChanges(s):6==o?e.getMergeableValuesChanges(s):void 0,(e=>{n(t,l,0,e)}))}));const u=(e,t,...l)=>Tt(void 0,[e,t,...l],(function*(e,t,l=""){return new V(((o,r)=>{const a=i(),u=setTimeout((()=>{Te(d,a),r(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*s);me(d,a,[e,(e,t)=>{clearTimeout(u),Te(d,a),o([e,t])}]),n(e,a,t,l)}))})),c=(n=null,l)=>Tt(void 0,null,(function*(){O(l)&&([l,n]=yield u(n,2));const[o,[s,r]]=l,[,[a,i]]=e.getMergeableContentHashes(),d=[t,[[t,{}],[t,{}],1]];return a!=s&&(d[0]=o,d[1][0]=(yield u(n,5,e.getMergeableCellHashes((yield u(n,4,e.getMergeableRowHashes((yield u(n,3,e.getMergeableTableHashes()))[0])))[0])))[0]),i!=r&&(d[0]=o,d[1][1]=(yield u(n,6,e.getMergeableValuesHashes()))[0]),d})),g=dt(e,(()=>Tt(void 0,null,(function*(){const e=yield c();return e[0]!=t?e:void 0}))),(()=>Tt(void 0,null,(function*(){n(null,null,1,e.getMergeableContentHashes())}))),(e=>a=e),(()=>a=void 0),r,!0,{startSync:()=>Tt(void 0,null,(function*(){return yield(yield g.startAutoLoad()).startAutoSave()})),stopSync:()=>g.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),g.stopSync()),getSynchronizerStats:()=>({})});return g};var St=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable;const mt=_e((e=>{const n=e.createStore,l=n(),o=n(),s=Ie(),{addListener:r,callListeners:a,delListener:c}=o,[g,h,f,T,I,,,S,,R,M,m,V,E]=We(e,(()=>!0),Q,r,a),A=(e,t,...n)=>B(n,(n=>Ne(Ve(Ve(s,t,Ie),e,ze),n))),H=e=>{x(Re(s,e),(e=>{Me(e,((e,t)=>we(t,(t=>e.delListener(t))))),Ce(e)})),B([o,l],(t=>t.delTable(e)))},D=(e,t,n)=>A(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(n,s,r)=>{S(n,s),H(n);const a=[],i=[[null,[s,null,null,[],Ie()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=P(e)?[F(a)+t,e]:[O(n)?e:n,t=>t(e,n)];return X(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=O(n)||P(t)?null:t,o=O(l)?t:n,s=[e,[e,l,P(o)?o:e=>e(o),[],Ie()]];return X(i,s),{as:e=>s[0]=e}},where:(e,t,n)=>X(d,P(e)?e:O(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,P(t)?[t,n,l,o]:null!=(s=Re(Ye,t))?s:[(e,t)=>t]]];return X(u,r),{as:e=>r[0]=e}},having:(e,t)=>X(c,P(e)?e:n=>n(e)===t)});const g=Ie(a);if(pe(g))return k;const v=Ie(i);Me(v,((e,[,t])=>x(Re(v,t),(({3:t})=>O(e)?0:X(t,e)))));const h=Ie(u);let f=l;if(pe(h)&&K(c))f=o;else{D(n,f,o);const e=Ie();Me(h,((t,[n,l])=>Ne(Ve(e,n,ze),[t,l])));const t=ze();Me(g,(n=>ye(e,n)?0:Ne(t,n)));const l=Ie(),s=(t,l,s,r)=>x(t,(([a,i,d,u])=>{Me(l,((t,[n])=>{const l=Ve(a,t,Ie),o=Re(l,s),i=r?void 0:n;if(o!==i){const n=ze([[o,i]]),r=be(l);me(l,s,i),we(Re(e,t),(([e,t])=>{const o=Ze(u[e],r,l,n,t);u[e]=O(Je(o))?null:o}))}})),pe(i)||!N(c,(e=>e((e=>u[e]))))?o.delRow(n,d):O(d)?t[2]=o.addRow(n,u):o.setRow(n,d,u)}));A(f,n,f.addRowListener(n,null,((o,r,a,i)=>{const d=[],u=[],c=Ie(),g=f.hasRow(n,a);let v=!g;we(t,(e=>{const[t,l,o]=i(n,a,e);X(d,l),X(u,o),v||(v=t)})),Me(e,(e=>{const[t,,l]=i(n,a,e);(v||t)&&me(c,e,[l])})),v&&s(Pe(l,d,void 0,(([,e])=>(Te(e,a),pe(e)))),c,a,1),g&&s(Pe(l,u,(()=>{const e={};return we(t,(t=>e[t]=f.getCell(n,a,t))),[Ie(),ze(),void 0,e]}),(([,e])=>{Ne(e,a)})),c,a)})))}D(n,e,f);const b=(t,l,o,r)=>{const a=t=>e.getCell(l,o,t);B(r,(l=>{var o;const[s,,r,i,d]=Re(v,l),u=null==r?void 0:r(a,t),[c,g]=null!=(o=Re(d,t))?o:[];u!=c&&(O(g)||E(n,g),me(d,t,O(u)?null:[u,...V(n,1,e.addRowListener(s,u,(()=>b(t,s,u,i))))]))})),(t=>{const l=(n,l)=>{var o,r,a;return e.getCell(...O(l)?[s,t,n]:n===s?[s,t,l]:[null==(o=Re(v,n))?void 0:o[0],null==(a=Re(null==(r=Re(v,n))?void 0:r[4],t))?void 0:a[0],l])};f.transaction((()=>N(d,(e=>e(l)))?Me(g,((e,o)=>Fe(f,n,t,e,o(l,t)))):f.delRow(n,t)))})(t)},{3:y}=Re(v,null);return f.transaction((()=>V(n,1,e.addRowListener(s,null,((t,l,o)=>{e.hasRow(s,o)?b(o,s,o,y):(f.delRow(n,o),we(v,(({4:e})=>x(Re(e,o),(([,t])=>{E(n,t),me(e,o)})))))}))))),k},delQueryDefinition:e=>(H(e),R(e),k),getStore:g,getQueryIds:h,forEachQuery:f,hasQuery:T,getTableId:I,addQueryIdsListener:e=>M((()=>e(k))),delListener:e=>(c(e),k),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Rt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&St)for(var l of St(e))t.indexOf(l)<0&&Mt.call(e,l)&&(n[l]=e[l]);return n})(o.getListenerStats(),["tables","tableIds","transaction"])};return ce({[v]:[1,1],[v+w]:[0,1],[y]:[0,1],[p]:[0,1],[L]:[0,5],[b]:[1,2],[w]:[0,2],[C]:[1,3]},(([e,t],n)=>{B(e?["get","has","forEach"]:["get"],(e=>k[e+d+n]=(...t)=>o[e+n](...t))),k[u+d+n+i]=(...e)=>o[u+n+i](...j(e,0,t),((n,...l)=>e[t](k,...l)),!0)})),re(k)})),Vt=_e((e=>{const n=Ie(),l=Ie(),o=Ie(),s=Ie(),[r,a,i]=Ge((()=>T)),[d,u,c,g,v,h,,,f,b,y,p]=We(e,(()=>[Ie(),Ie(),Ie(),Ie()]),(e=>O(e)?void 0:e+t),r,a),L=(e,t,n)=>x(h(e),(([l,,o])=>{if(!ye(o,t)){const s=ze();if(v(e)!=w(e))Ne(s,t);else{let e=t;for(;!O(e)&&!ye(s,e);)Ne(s,e),e=Re(l,e)}if(n)return s;me(o,t,s)}return Re(o,t)})),C=(e,t)=>x(h(e),(([,,e])=>me(e,t))),w=e=>Re(n,e),T={setRelationshipDefinition:(e,t,r,i)=>(me(n,e,r),f(e,t,((t,n)=>{const r=ze(),i=ze(),d=ze(),[u,c]=h(e);we(n,(([t,n],l)=>{O(t)||(Ne(i,t),x(Re(c,t),(e=>{Te(e,l),pe(e)&&me(c,t)}))),O(n)||(Ne(i,n),ye(c,n)||me(c,n,ze()),Ne(Re(c,n),l)),Ne(r,l),me(u,l,n),Me(Re(s,e),(t=>{ye(L(e,t),l)&&Ne(d,t)}))})),t(),we(r,(t=>a(l,[e,t]))),we(i,(t=>a(o,[e,t]))),we(d,(t=>{C(e,t),a(s,[e,t])}))}),$e(i)),T),delRelationshipDefinition:e=>(me(n,e),b(e),T),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return Re(null==(n=h(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Le(Re(null==(n=h(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>O(h(e))?[t]:Le(L(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),r(n,s,[e,t])),delListener:e=>{var t;return C(...null!=(t=i(e))?t:[]),T},destroy:p,getListenerStats:()=>({})};return re(T)})),Et=([e,t,n])=>[e,t,n],At=([e,t])=>[e,t],Ht=e=>e[2],Ot=(e,t)=>ct(e+":"+t),xt=(e,t,n)=>{e[2]=t>>>0,n>e[0]&&(e[0]=n)},Dt=e=>[e,ae()],kt=(e="")=>[e,Ie(),0],Pt=([e,t,n],l=Et)=>[e,Ae(t,l),n],Jt=(t,n)=>J(t)&&3==F(t)&&k(t[0])&&n(t[1])&&e(t[2])==o&&H(t[2]),jt=e=>[e,e],Ft=()=>[Ie(),Ie()],Qt=e=>[...e],zt=([e,t])=>e===t,Nt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),Wt=JSON.parse,$t=(e,t,n)=>me(e,t,Re(e,t)==-n?void 0:n),_t=()=>{let e,t,n=!1,l=!1,s=0,d=[];const g=Ie(),L=Ie(),M=Ie(),m=Ie(),V=Ie(),E=Ie(),A=Ie(),H=Ie(),k=Ie(),J=Ie(),F=Ie(),Q=Ie(),N=Ie(),$=Ie(),G=ze(),K=Ie(),U=Ie(),Y=Ie(),Z=Ie(),ee=Ft(),te=Ft(),ne=Ft(),le=Ft(),oe=Ft(),se=Ft(),ae=Ft(),ue=Ft(),ge=Ft(),he=Ft(),Le=Ft(),Pe=Ft(),je=Ft(),We=Ft(),$e=Ft(),_e=Ft(),Be=Ft(),Ke=Ft(),Xe=Ft(),Ye=Ft(),Ze=Ft(),et=Ft(),tt=Ie(),nt=Ft(),[lt,ot,st,rt]=Ge((()=>kn)),at=e=>{if(!fe(e,((e,t)=>z([r,a],t))))return!1;const t=e[r];return!(!D(t)&&t!=o||(Je(e[a])!=t&&de(e,a),0))},it=(t,n)=>(!e||ye(F,n)||Bt(n))&&fe(t,((e,t)=>dt(n,t,e)),(()=>Bt(n))),dt=(e,t,n,l)=>fe(l?n:vt(n,e,t),((l,o)=>x(ut(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Bt(e,t))),ut=(t,n,l,o)=>e?x(Re(Re(F,t),l),(e=>Je(o)!=e[r]?Bt(t,n,l,o,e[a]):o),(()=>Bt(t,n,l,o))):O(Je(o))?Bt(t,n,l,o):o,ct=(e,t)=>fe(t?e:ht(e),((t,n)=>x(gt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,n)=>t?x(Re(N,e),(t=>Je(n)!=t[r]?qt(e,n,t[a]):n),(()=>qt(e,n))):O(Je(n))?qt(e,n):n,vt=(e,t,n)=>(x(Re(Q,t),(([l,o])=>{we(l,((t,n)=>{ie(e,n)||(e[n]=t)})),we(o,(l=>{ie(e,l)||Bt(t,n,l)}))})),e),ht=e=>(t&&(we($,((t,n)=>{ie(e,n)||(e[n]=t)})),we(G,(t=>{ie(e,t)||qt(t)}))),e),ft=e=>Ee(F,e,((e,t,n)=>{const l=Ie(),o=ze();Ee(Ve(F,t,Ie),n,((e,t,n)=>{me(e,t,n),x(n[a],(e=>me(l,t,e)),(()=>Ne(o,t)))})),me(Q,t,[l,o])}),((e,t)=>{me(F,t),me(Q,t)})),bt=e=>Ee(N,e,((e,t,n)=>{me(N,t,n),x(n[a],(e=>me($,t,e)),(()=>Ne(G,t)))}),((e,t)=>{me(N,t),me($,t),Te(G,t)})),yt=e=>ve(e)?Mn():wn(e),pt=e=>Ee(Y,e,((e,t,n)=>Lt(t,n)),((e,t)=>Vt(t))),Lt=(e,t)=>Ee(Ve(Y,e,(()=>(Ot(e,1),me(K,e,qe()),me(U,e,Ie()),Ie()))),t,((t,n,l)=>Ct(e,t,n,l)),((t,n)=>Et(e,t,n))),Ct=(e,t,n,l,o)=>Ee(Ve(t,n,(()=>(xt(e,n,1),Ie()))),l,((t,l,o)=>wt(e,n,t,l,o)),((l,s)=>At(e,t,n,l,s,o))),wt=(e,t,n,l,o)=>{ye(n,l)||Dt(e,t,l,1);const s=Re(n,l);o!==s&&(kt(e,t,l,s,o),me(n,l,o))},Tt=(e,t,n,l,o)=>x(Re(t,n),(t=>wt(e,n,t,l,o)),(()=>Ct(e,t,n,vt({[l]:o},e,n)))),It=e=>ve(e)?En():Tn(e),St=e=>Ee(Z,e,((e,t,n)=>Rt(t,n)),((e,t)=>Ht(t))),Rt=(e,t)=>{ye(Z,e)||Pt(e,1);const n=Re(Z,e);t!==n&&(Jt(e,n,t),me(Z,e,t))},Mt=(e,t)=>{const[n]=Re(K,e),l=n(t);return ye(Re(Y,e),l)?Mt(e,t):l},mt=e=>{var t;return null!=(t=Re(Y,e))?t:Lt(e,{})},Vt=e=>Lt(e,{}),Et=(e,t,n)=>{const[,l]=Re(K,e);l(n),Ct(e,t,n,{},!0)},At=(e,t,n,l,o,s)=>{var r;const a=Re(null==(r=Re(Q,e))?void 0:r[0],o);if(!O(a)&&!s)return wt(e,n,l,o,a);const i=t=>{kt(e,n,t,Re(l,t)),Dt(e,n,t,-1),me(l,t)};O(a)?i(o):Me(l,i),pe(l)&&(xt(e,n,-1),pe(me(t,n))&&(Ot(e,-1),me(Y,e),me(K,e),me(U,e)))},Ht=e=>{const t=Re($,e);if(!O(t))return Rt(e,t);Jt(e,Re(Z,e)),Pt(e,-1),me(Z,e)},Ot=(e,t)=>$t(g,e,t),xt=(e,t,n)=>$t(Ve(m,e,Ie),t,n)&&me(M,e,Ve(M,e,(()=>0))+n),Dt=(e,t,n,l)=>{var o;const s=Re(U,e),r=null!=(o=Re(s,n))?o:0;(0==r&&1==l||1==r&&-1==l)&&$t(Ve(L,e,Ie),n,l),me(s,n,r!=-l?r+l:null),$t(Ve(Ve(V,e,Ie),t,Ie),n,l)},kt=(e,t,n,l,o)=>Ve(Ve(Ve(E,e,Ie),t,Ie),n,(()=>[l,0]))[1]=o,Pt=(e,t)=>$t(A,e,t),Jt=(e,t,n)=>Ve(H,e,(()=>[t,0]))[1]=n,Bt=(e,t,n,l,o)=>(X(Ve(Ve(Ve(k,e,Ie),t,Ie),n,(()=>[])),l),o),qt=(e,t,n)=>(X(Ve(J,e,(()=>[])),t),n),Gt=(e,t,n)=>x(Re(Re(Re(E,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...jt(un(e,t,n))])),Kt=e=>x(Re(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...jt(vn(e))])),Ut=e=>pe(k)||pe(_e[e])?0:we(e?ke(k):k,((t,n)=>we(t,((t,l)=>we(t,((t,o)=>ot(_e[e],[n,l,o],t))))))),Xt=e=>pe(J)||pe(Be[e])?0:we(e?xe(J):J,((t,n)=>ot(Be[e],[n],t))),Yt=(e,t,n,l)=>{if(!pe(e))return ot(t,l,(()=>Ae(e))),Me(e,((e,t)=>ot(n,[...null!=l?l:[],e],1==t))),1},Zt=e=>{const t=hn();t!=n&&ot(ee[e],void 0,t);const l=pe(he[e]),o=pe(je[e])&&pe(We[e])&&pe(ge[e])&&pe(Le[e])&&pe(se[e])&&pe(ae[e])&&pe(ue[e])&&l&&pe(ne[e])&&pe(le[e]),s=pe($e[e])&&pe(Pe[e])&&pe(oe[e])&&pe(te[e]);if(!o||!s){const t=e?[xe(g),De(L),xe(M),De(m),ke(V),ke(E)]:[g,L,M,m,V,E];if(!o){Yt(t[0],ne[e],le[e]),we(t[1],((t,n)=>Yt(t,se[e],ae[e],[n]))),we(t[2],((t,n)=>{0!=t&&ot(ue[e],[n],sn(n))}));const n=ze();we(t[3],((t,o)=>{Yt(t,ge[e],Le[e],[o])&&!l&&(ot(he[e],[o,null]),Ne(n,o))})),l||we(t[5],((t,l)=>{if(!ye(n,l)){const n=ze();we(t,(e=>we(e,(([t,l],o)=>l!==t?Ne(n,o):Te(e,o))))),we(n,(t=>ot(he[e],[l,t])))}})),we(t[4],((t,n)=>we(t,((t,l)=>Yt(t,je[e],We[e],[n,l])))))}if(!s){let n;we(t[5],((t,l)=>{let o;we(t,((t,s)=>{let r;we(t,(([t,a],i)=>{a!==t&&(ot($e[e],[l,s,i],a,t,Gt),n=o=r=1)})),r&&ot(Pe[e],[l,s],Gt)})),o&&ot(oe[e],[l],Gt)})),n&&ot(te[e],void 0,Gt)}}},en=e=>{const t=Ln();t!=l&&ot(Ke[e],void 0,t);const n=pe(Ye[e])&&pe(Ze[e]),o=pe(et[e])&&pe(Xe[e]);if(!n||!o){const t=e?[xe(A),xe(H)]:[A,H];if(n||Yt(t[0],Ye[e],Ze[e]),!o){let n;we(t[1],(([t,l],o)=>{l!==t&&(ot(et[e],[o],l,t,Kt),n=1)})),n&&ot(Xe[e],void 0,Kt)}}},tn=(e,...t)=>(On((()=>e(...q(t,R)))),kn),nn=()=>Oe(Y),ln=()=>Se(Y),on=e=>Se(Re(U,R(e))),sn=e=>be(Re(Y,R(e))),rn=e=>Se(Re(Y,R(e))),an=(e,t,n,l=0,o)=>{return q(j(_((s=Re(Y,R(e)),r=(e,n)=>[O(t)?n:Re(e,R(t)),n],q([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ue(e,t)*(n?-1:1))),l,O(o)?o:l+o),(([,e])=>e));var s,r,a},dn=(e,t)=>Se(Re(Re(Y,R(e)),R(t))),un=(e,t,n)=>Re(Re(Re(Y,R(e)),R(t)),R(n)),cn=()=>Ae(Z),gn=()=>Se(Z),vn=e=>Re(Z,R(e)),hn=()=>!pe(Y),fn=e=>ye(Y,R(e)),bn=(e,t)=>ye(Re(U,R(e)),R(t)),yn=(e,t)=>ye(Re(Y,R(e)),R(t)),pn=(e,t,n)=>ye(Re(Re(Y,R(e)),R(t)),R(n)),Ln=()=>!pe(Z),Cn=e=>ye(Z,R(e)),wn=e=>tn((()=>(e=>fe(e,it,Bt))(e)?pt(e):0)),Tn=e=>tn((()=>ct(e)?St(e):0)),In=e=>{try{yt(Wt(e))}catch(e){}return kn},Sn=t=>tn((()=>{if((e=fe(t,(e=>fe(e,at))))&&(ft(t),!pe(Y))){const e=nn();Mn(),wn(e)}})),Rn=e=>tn((()=>{if(t=(e=>fe(e,at))(e)){const n=cn();Hn(),En(),t=!0,bt(e),Tn(n)}})),Mn=()=>tn((()=>pt({}))),mn=e=>tn((e=>ye(Y,e)?Vt(e):0),e),Vn=(e,t)=>tn(((e,t)=>x(Re(Y,e),(n=>ye(n,t)?Et(e,n,t):0))),e,t),En=()=>tn((()=>St({}))),An=()=>tn((()=>{ft({}),e=!1})),Hn=()=>tn((()=>{bt({}),t=!1})),On=(e,t)=>{if(-1!=s){xn();const n=e();return Dn(t),n}},xn=()=>(-1!=s&&s++,1==s&&ot(tt,void 0),kn),Dn=e=>{var t,o;return s>0&&(s--,0==s&&(s=1,Ut(1),pe(E)||Zt(1),Xt(1),pe(H)||en(1),(null==e?void 0:e(kn))&&(we(E,((e,t)=>we(e,((e,n)=>we(e,(([e],l)=>Fe(kn,t,n,l,e))))))),Ce(E),we(H,(([e],t)=>Qe(kn,t,e))),Ce(H)),ot(nt[0],void 0),s=-1,Ut(0),pe(E)||Zt(0),Xt(0),pe(H)||en(0),null==(t=d[0])||t.call(d,kn),ot(nt[1],void 0),null==(o=d[1])||o.call(d,kn),s=0,n=hn(),l=Ln(),B([g,L,M,m,V,E,k,A,H,J],Ce))),kn},kn={getContent:()=>[nn(),cn()],getTables:nn,getTableIds:ln,getTable:e=>He(Re(Y,R(e))),getTableCellIds:on,getRowCount:sn,getRowIds:rn,getSortedRowIds:an,getRow:(e,t)=>Ae(Re(Re(Y,R(e)),R(t))),getCellIds:dn,getCell:un,getValues:cn,getValueIds:gn,getValue:vn,hasTables:hn,hasTable:fn,hasTableCell:bn,hasRow:yn,hasCell:pn,hasValues:Ln,hasValue:Cn,getTablesJson:()=>Nt(Y),getValuesJson:()=>Nt(Z),getJson:()=>Nt([Y,Z]),getTablesSchemaJson:()=>Nt(F),getValuesSchemaJson:()=>Nt(N),getSchemaJson:()=>Nt([F,N]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>tn((()=>{(ve(e)?Mn:wn)(e),(ve(t)?En:Tn)(t)})),setTables:wn,setTable:(e,t)=>tn((e=>it(t,e)?Lt(e,t):0),e),setRow:(e,t,n)=>tn(((e,t)=>dt(e,t,n)?Ct(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>On((()=>{let l;return dt(e,l,t)&&(e=R(e),Ct(e,mt(e),l=Mt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>tn(((e,t)=>{if(dt(e,t,n,1)){const l=mt(e);ce(n,((n,o)=>Tt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>tn(((e,t,n)=>x(ut(e,t,n,P(l)?l(un(e,t,n)):l),(l=>Tt(e,mt(e),t,n,l)))),e,t,n),setValues:Tn,setPartialValues:e=>tn((()=>ct(e,1)?ce(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>tn((e=>x(gt(e,P(t)?t(vn(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>tn((()=>{ce(e[0],((e,t)=>O(e)?mn(t):ce(e,((e,n)=>O(e)?Vn(t,n):ce(e,((e,l)=>Fe(kn,t,n,l,e))))))),ce(e[1],((e,t)=>Qe(kn,t,e)))})),setTablesJson:In,setValuesJson:e=>{try{It(Wt(e))}catch(e){}return kn},setJson:e=>tn((()=>{try{const[t,n]=Wt(e);yt(t),It(n)}catch(t){In(e)}})),setTablesSchema:Sn,setValuesSchema:Rn,setSchema:(e,t)=>tn((()=>{Sn(e),Rn(t)})),delTables:Mn,delTable:mn,delRow:Vn,delCell:(e,t,n,l)=>tn(((e,t,n)=>x(Re(Y,e),(o=>x(Re(o,t),(s=>ye(s,n)?At(e,o,t,s,n,l):0))))),e,t,n),delValues:En,delValue:e=>tn((e=>ye(Z,e)?Ht(e):0),e),delTablesSchema:An,delValuesSchema:Hn,delSchema:()=>tn((()=>{An(),Hn()})),transaction:On,startTransaction:xn,getTransactionChanges:()=>[Ae(E,((e,t)=>-1===Re(g,t)?void 0:Ae(e,((e,n)=>-1===Re(Re(m,t),n)?void 0:Ae(e,(([,e])=>e),(e=>zt(e)))),pe,ve)),pe,ve),Ae(H,(([,e])=>e),(e=>zt(e))),1],getTransactionLog:()=>[!pe(E),!pe(H),Oe(E,Qt,zt),Oe(k),Ae(H,Qt,zt),Ae(J),Ae(g),He(m),Oe(V),Ae(A)],finishTransaction:Dn,forEachTable:e=>we(Y,((t,n)=>e(n,(e=>we(t,((t,n)=>e(n,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,R(e)),t),forEachRow:(e,t)=>we(Re(Y,R(e)),((e,n)=>t(n,(t=>Me(e,t))))),forEachCell:(e,t,n)=>Me(Re(Re(Y,R(e)),R(t)),n),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=an(e,t,n,l,o);return lt((()=>{const r=an(e,t,n,l,o);W(r,a)||(a=r,s(kn,e,t,n,l,o,a))}),he[r?1:0],[e,t],[ln])},addStartTransactionListener:e=>lt(e,tt),addWillFinishTransactionListener:e=>lt(e,nt[0]),addDidFinishTransactionListener:e=>lt(e,nt[1]),callListener:e=>(rt(e),kn),delListener:e=>(st(e),kn),getListenerStats:()=>({}),createStore:_t,addListener:lt,callListeners:ot,setInternalListeners:(e,t)=>d=[e,t]};return ce({[c+h]:[0,ee,[],()=>[hn()]],[h]:[0,te],[f]:[0,ne],[c+v]:[1,le,[ln],e=>[fn(...e)]],[v]:[1,oe,[ln]],[v+w]:[1,se,[ln]],[c+v+C]:[2,ae,[ln,on],e=>[bn(...e)]],[y]:[1,ue,[ln]],[p]:[1,ge,[ln]],[c+b]:[2,Le,[ln,rn],e=>[yn(...e)]],[b]:[2,Pe,[ln,rn]],[w]:[2,je,[ln,rn]],[c+C]:[3,We,[ln,rn,dn],e=>[pn(...e)]],[C]:[3,$e,[ln,rn,dn],e=>jt(un(...e))],InvalidCell:[3,_e],[c+I]:[0,Ke,[],()=>[Ln()]],[I]:[0,Xe],[S]:[0,Ye],[c+T]:[1,Ze,[gn],e=>[Cn(...e)]],[T]:[1,et,[gn],e=>jt(vn(e[0]))],InvalidValue:[1,Be]},(([e,t,n,l],o)=>{kn[u+o+i]=(...o)=>lt(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),re(kn)},Bt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},qt=(e="")=>[e,[kt(e),kt(e)],0],Gt=e=>{let n,l,o=1,s=qt();const[r,a]=wt(e),i=_t(),d=e=>{const t=o;return o=0,e(),o=t,f},u=(e,t=0)=>{const n={},l={},[o,[[r,a,i],d],u]=e,[,[g,v]]=s,[h,f,b]=g;if(r){let e=t?i:b^(r>h?(h?ct(h):0)^ct(r):0);ue(a,(([l,o,s],r)=>{const a=Ve(f,r,kt),[i,d,u]=a;let g=t?s:u^(l>i?(i?ct(i):0)^ct(l):0);ue(o,((e,l)=>{const[o,s]=c(e,Ve(d,l,kt),he(he(n,r,ae),l,ae),t);g^=t?0:(o?Ot(l,o):0)^Ot(l,s)})),xt(a,g,l),e^=t?0:(u?Ot(r,u):0)^Ot(r,a[2])})),xt(g,e,r)}return c(d,v,l,t),xt(s,t?u:g[2]^v[2],o),[n,l,1]},c=(e,n,l,o)=>{const[s,r,a]=e,[i,d,u]=n;if(s){let e=o?a:u^(s>i?(i?ct(i):0)^ct(s):0);ue(r,(([n,s,r],a)=>{const i=Ve(d,a,(()=>[t,void 0,0])),[u,,c]=i;n>u&&(xt(i,o?r:ct(Nt(null!=s?s:null)+":"+n),n),i[1]=s,l[a]=s,e^=o?0:Ot(a,c)^Ot(a,i[2]))})),xt(n,e,s)}return[u,n[2]]},g=()=>[s[0],[Pt(s[1][0],(e=>Pt(e,(e=>Pt(e))))),Pt(s[1][1])],s[2]],v=()=>{if(O(l)){const[,,e,,l]=i.getTransactionLog(),o=ve(e)&&ve(l)?t:null!=n?n:n=r(),s=[o,[Dt(ve(e)?t:o),Dt(ve(l)?t:o),1]],[[,a],[,d]]=s[1];return ce(e,((e,t)=>{const[,n]=a[t]=Dt(o);ce(e,((e,t)=>{const[,l]=n[t]=Dt(o);ce(e,(([,e],t)=>l[t]=[o,e]))}))})),ce(l,(([,e],t)=>d[t]=[o,e])),s}return l},h=e=>d((()=>{a(e[0]),i.applyChanges(u(e))})),f={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[s[0],[s[1][0][2],s[1][1][2]]],getMergeableTableHashes:()=>Ae(s[1][0][1],Ht),getMergeableTableIdsDiff:e=>{const t=[];return Me(s[1][0][1],((n,[,,l])=>{l!==(null==e?void 0:e[n])&&X(t,n)})),t},getMergeableRowHashes:e=>ae(q(e,(e=>{var t;return[e,Ae(null==(t=Re(s[1][0][1],e))?void 0:t[1],Ht)]}))),getMergeableRowIdsDiff:e=>ge(e,((e,t)=>{var n;const l=[];return Me(null==(n=Re(s[1][0][1],t))?void 0:n[1],((t,[,,n])=>{n!==(null==e?void 0:e[t])&&X(l,t)})),l})),getMergeableCellHashes:e=>ge(e,((e,t)=>ae(q(e,(e=>{var n,l;return[e,Ae(null==(l=Re(null==(n=Re(s[1][0][1],t))?void 0:n[1],e))?void 0:l[1],Ht)]}))))),getMergeableTablesChanges:e=>{const[,[[t,n]]]=s,l={};return ue(e,((e,t)=>x(Re(n,t),(([n,o])=>{const s={};ue(e,((e,t)=>x(Re(o,t),(([n,l])=>{const o=Ae(l,At,(([,,t],n)=>t==(null==e?void 0:e[n])));ve(o)||(s[t]=[n,o])})))),ve(s)||(l[t]=[n,s])})))),[t,l]},getMergeableValuesHashes:()=>Ae(s[1][1][1],Ht),getMergeableValuesChanges:e=>[s[1][1][0],Ae(s[1][1][1],At,(([,,t],n)=>t==(null==e?void 0:e[n])))],setMergeableContent:e=>d((()=>(e=>Jt(e,(e=>J(e)&&2==F(e)&&Jt(e[0],(e=>fe(e,(e=>Jt(e,(e=>fe(e,(e=>Jt(e,(e=>fe(e,(e=>Jt(e,je)),void 0,1)))),void 0,1)))),void 0,1)))&&Jt(e[1],(e=>fe(e,(e=>Jt(e,je)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),s=qt(),a(e[0]),i.applyChanges(u(e,1))})):0)),getTransactionMergeableChanges:v,applyMergeableChanges:h,merge:e=>{const t=g(),n=e.getMergeableContent();return e.applyMergeableChanges(t),h(n)}};return i.setInternalListeners((()=>{o&&(l=v(),u(l))}),(()=>n=l=void 0)),ce(i,((e,t)=>f[t]=M(t,"set")||M(t,"del")||M(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):M(t,"add")&&m(t,"Listener")?(...n)=>{var l;const o=null!=(l=Bt[j(t,3,-8)])?l:0,s=n[o];return n[o]=(e,...t)=>s(f,...t),e(...n)}:e)),re(f)};export{Ke as createCheckpoints,dt as createCustomPersister,It as createCustomSynchronizer,Xe as createIndexes,Gt as createMergeableStore,et as createMetrics,mt as createQueries,Vt as createRelationships,_t as createStore,Ue as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),l=e(!0),o=e(0),s=e(e),r="type",a="default",i="Listener",d="Result",u="add",c="Has",g="Ids",v="Table",h=v+"s",f=v+g,b="Row",y=b+"Count",p=b+g,L="Sorted"+b+g,C="Cell",w=C+g,T="Value",I=T+"s",S=T+g,R=e=>t+e,M=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),V=Promise,E=Math.max,A=Math.min,H=isFinite,O=e=>null==e,x=(e,t,n)=>O(e)?null==n?void 0:n():t(e),D=e=>e==n||e==l,k=t=>e(t)==n,P=t=>e(t)==s,J=e=>Array.isArray(e),j=(e,t,n)=>e.slice(t,n),F=e=>e.length,Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),W=(e,t)=>F(e)===F(t)&&N(e,((e,n)=>t[n]===e)),$=(e,t)=>N(e,((n,l)=>0==l||t(e[l-1],n)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>U(e,((e,t)=>e+t),0),K=e=>0==F(e),U=(e,t,n)=>e.reduce(t,n),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),ne=ee.entries,le=ee.isFrozen,oe=e=>!O(e)&&x(te(e),(e=>e==ee.prototype||O(te(e))),(()=>!0)),se=ee.keys,re=ee.freeze,ae=(e=[])=>ee.fromEntries(e),ie=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ue=(e,t)=>B(ne(e),(([e,n])=>t(n,e))),ce=(e,t)=>q(ne(e),(([e,n])=>t(n,e))),ge=(e,t)=>ae(ce(e,((e,n)=>[n,t(e,n)]))),ve=e=>oe(e)&&0==(e=>F(se(e)))(e),he=(e,t,n)=>(ie(e,t)||(e[t]=n()),e[t]),fe=(e,t,n,l=0)=>O(e)||!oe(e)||!l&&ve(e)||le(e)?(null==n||n(),!1):(ce(e,((n,l)=>{t(n,l)||de(e,l)})),!!l||!ve(e)),be=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ye=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},pe=e=>O(e)||0==be(e),Le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Ce=e=>e.clear(),we=(e,t)=>null==e?void 0:e.forEach(t),Te=(e,t)=>null==e?void 0:e.delete(t),Ie=e=>new Map(e),Se=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Re=(e,t)=>null==e?void 0:e.get(t),Me=(e,t)=>we(e,((e,n)=>t(n,e))),me=(e,t,n)=>O(n)?(Te(e,t),e):null==e?void 0:e.set(t,n),Ve=(e,t,n,l)=>(ye(e,t)?null==l||l(Re(e,t)):me(e,t,n()),Re(e,t)),Ee=(e,t,n,l=me)=>(ce(t,((t,l)=>n(e,l,t))),Me(e,(n=>ie(t,n)?0:l(e,n))),e),Ae=(e,t,n,l)=>{const o={};return we(e,((e,s)=>{if(!(null==n?void 0:n(e,s))){const n=t?t(e,s):e;!(null==l?void 0:l(n))&&(o[s]=n)}})),o},He=(e,t,n)=>Ae(e,(e=>Ae(e,t,n)),pe,ve),Oe=(e,t,n)=>Ae(e,(e=>He(e,t,n)),pe,ve),xe=(e,t)=>{const n=Ie();return we(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},De=e=>xe(e,xe),ke=e=>xe(e,De),Pe=(e,t,n,l,o=0)=>x((n?Ve:Re)(e,t[o],o>F(t)-2?n:Ie),(s=>{if(o>F(t)-2)return(null==l?void 0:l(s))&&me(e,t[o]),s;const r=Pe(s,t,n,l,o+1);return pe(s)&&me(e,t[o]),r})),Je=t=>{const n=e(t);return D(n)||n==o&&H(t)?n:void 0},je=e=>null===e||!O(Je(e)),Fe=(e,t,n,l,o)=>O(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),Qe=(e,t,n)=>O(n)?e.delValue(t):e.setValue(t,n),ze=e=>new Set(J(e)||O(e)?e:[e]),Ne=(e,t)=>null==e?void 0:e.add(t),We=(e,t,n,l,o)=>{const s=e.hasRow,r=Ie(),a=Ie(),i=Ie(),d=Ie(),u=Ie(),c=Ie(),g=(t,n,...l)=>{const o=Ve(c,t,ze);return B(l,(t=>Ne(o,t)&&n&&e.callListener(t))),l},v=(t,...n)=>x(Re(c,t),(l=>{B(K(n)?Le(l):n,(t=>{e.delListener(t),Te(l,t)})),pe(l)&&me(c,t)})),h=(e,n)=>{me(r,e,n),ye(a,e)||(me(a,e,t()),me(d,e,Ie()),me(u,e,Ie()),o(i))},f=e=>{me(r,e),me(a,e),me(d,e),me(u,e),v(e),o(i)};return[()=>e,()=>Se(r),e=>Me(a,e),e=>ye(a,e),e=>Re(r,e),e=>Re(a,e),(e,t)=>me(a,e,t),h,(t,l,o,r,a)=>{h(t,l);const i=Ie(),c=Ie(),f=Re(d,t),b=Re(u,t),y=t=>{const o=n=>e.getCell(l,t,n),d=Re(f,t),u=s(l,t)?n(r(o,t)):void 0;if(d===u||J(d)&&J(u)&&W(d,u)||me(i,t,[d,u]),!O(a)){const e=Re(b,t),n=s(l,t)?a(o,t):void 0;e!=n&&me(c,t,n)}},p=e=>{o((()=>{we(i,(([,e],t)=>me(f,t,e))),we(c,((e,t)=>me(b,t,e)))}),i,c,f,b,e),Ce(i),Ce(c)};Me(f,y),e.hasTable(l)&&B(e.getRowIds(l),(e=>{ye(f,e)||y(e)})),p(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},f,e=>l(e,i),()=>Me(c,f),g,v]},$e=(e,n)=>k(e)?t=>t(e):null!=e?e:()=>null!=n?n:t,_e=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const o=n.get(l);return null==t||t(o),o}},Be=/^\d+$/,qe=()=>{const e=[];let n=0;return[l=>{var o;return null!=(o=l?Z(e):null)?o:t+n++},t=>{Be.test(t)&&F(e)<1e3&&X(e,t)}]},Ge=e=>{let n;const[l,o]=qe(),s=Ie();return[(o,r,a,i=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return me(s,u,[o,r,a,i,d]),Ne(Pe(r,null!=a?a:[t],ze),u),u},(e,l,...o)=>B(((e,n=[t])=>{const l=[],o=(e,t)=>t==F(n)?X(l,e):null===n[t]?we(e,(e=>o(e,t+1))):B([n[t],null],(n=>o(Re(e,n),t+1)));return o(e,0),l})(e,l),(e=>we(e,(e=>Re(s,e)[0](n,...null!=l?l:[],...o))))),e=>x(Re(s,e),(([,n,l])=>(Pe(n,null!=l?l:[t],void 0,(t=>(Te(t,e),pe(t)?1:0))),me(s,e),o(e),l))),e=>x(Re(s,e),(([e,,t=[],l,o])=>{const s=(...r)=>{var a,i;const d=F(r);d==F(t)?e(n,...r,...o(r)):O(t[d])?B(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,t[d])};s()}))]},Ke=_e((e=>{let n,l,o,s=100,r=Ie(),a=Ie(),i=1;const d=Ie(),u=Ie(),[c,g,v]=Ge((()=>k)),h=Ie(),f=Ie(),b=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=Re(h,n);we(l,((n,l)=>we(n,((n,o)=>we(n,((n,s)=>Fe(e,l,o,s,n[t]))))))),we(o,((n,l)=>Qe(e,l,n[t])))})),i=1},L=e=>{me(h,e),me(f,e),g(u,[e])},C=(e,t)=>B(((e,t)=>e.splice(0,t))(e,null!=t?t:F(e)),L),w=()=>C(b,F(b)-s),T=()=>x(n,(()=>{X(b,n),w(),C(y),n=void 0,o=1})),I=()=>{n=Y(b),o=1};let S,R;const M=(e="")=>(O(n)&&(n=t+l++,me(h,n,[r,a]),H(n,e),r=Ie(),a=Ie(),o=1),n),m=()=>{K(b)||(((e,...t)=>{e.unshift(...t)})(y,M()),p(0,n),n=Y(b),o=1)},V=()=>{K(y)||(X(b,n),n=Z(y),p(1,n),o=1)},E=()=>{o&&(g(d),o=0)},A=e=>{const t=M(e);return E(),t},H=(e,t)=>(D(e)&&Re(f,e)!==t&&(me(f,e,t),g(u,[e])),k),D=e=>ye(h,e),k={setSize:e=>(s=e,w(),k),addCheckpoint:A,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...b],n,[...y]],forEachCheckpoint:e=>Me(f,e),hasCheckpoint:D,getCheckpoint:e=>Re(f,e),goBackward:()=>(m(),E(),k),goForward:()=>(V(),E(),k),goTo:e=>{const t=z(b,e)?m:z(y,e)?V:null;for(;!O(t)&&e!=n;)t();return E(),k},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(v(e),k),clear:()=>(C(b),C(y),O(n)||L(n),n=void 0,l=0,A(),k),clearForward:()=>(K(y)||(C(y),g(d)),k),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(i){T();const e=Ve(r,t,Ie),a=Ve(e,n,Ie),i=Ve(a,l,(()=>[s,void 0]));i[1]=o,i[0]===o&&pe(me(a,l))&&pe(me(e,n))&&pe(me(r,t))&&I(),E()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){T();const e=Ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&pe(me(a,t))&&I(),E()}}))}};return re(k.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Xe=_e((e=>{const n=Ie(),l=Ie(),[o,s,r]=Ge((()=>L)),[a,i,d,u,c,g,v,,h,f,b,y]=We(e,Ie,(e=>O(e)?t:J(e)?q(e,R):R(e)),o,s),p=(t,n,l)=>{const o=c(t);we(l,((t,l)=>n(l,(n=>we(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},L={setIndexDefinition:(e,t,o,r,a,i=Ue)=>{const d=O(a)?void 0:([e],[t])=>a(e,t);return h(e,t,((t,o,a,u,c,h)=>{let f=0;const b=ze(),y=ze(),p=g(e);if(we(o,(([e,t],n)=>{const l=ze(e),o=ze(t);we(l,(e=>Te(o,e)?Te(l,e):0)),we(l,(e=>{Ne(b,e),x(Re(p,e),(t=>{Te(t,n),pe(t)&&(me(p,e),f=1)}))})),we(o,(e=>{Ne(b,e),ye(p,e)||(me(p,e,ze()),f=1),Ne(Re(p,e),n),O(r)||Ne(y,e)}))})),t(),pe(c)||(h?Me(p,(e=>Ne(y,e))):Me(a,(e=>x(Re(u,e),(e=>Ne(y,e))))),we(y,(e=>{const t=(t,n)=>i(Re(c,t),Re(c,n),e),n=[...Re(p,e)];$(n,t)||(me(p,e,ze(_(n,t))),Ne(b,e))}))),(f||h)&&!O(d)){const t=[...p];$(t,d)||(v(e,Ie(_(t,d))),f=1)}f&&s(n,[e]),we(b,(t=>s(l,[e,t])))}),$e(o),x(r,$e)),L},delIndexDefinition:e=>(f(e),L),getStore:a,getIndexIds:i,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,g(e)),hasIndex:u,hasSlice:(e,t)=>ye(g(e),t),getTableId:c,getSliceIds:e=>Se(g(e)),getSliceRowIds:(e,t)=>Le(Re(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>o(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>o(n,l,[e,t]),delListener:e=>(r(e),L),destroy:y,getListenerStats:()=>({})};return re(L)})),Ye=Ie([["avg",[(e,t)=>G(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=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["min",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:A(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ze=(e,t,n,l,o,s=!1)=>{if(pe(n))return;const[r,a,i,d]=o;return s||(s=O(e)),we(l,(([n,l])=>{s||(e=O(n)?null==a?void 0:a(e,l,t++):O(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=O(e)))})),s?r(Le(n),be(n)):e},et=_e((e=>{const n=Ie(),[l,o,s]=Ge((()=>y)),[r,a,i,d,u,c,g,,v,h,f,b]=We(e,Q,(e=>isNaN(e)||O(e)||!0===e||!1===e||e===t?void 0:1*e),l,o),y={setMetricDefinition:(e,t,l,s,r,a,i)=>{var d;const u=P(l)?[l,r,a,i]:null!=(d=Re(Ye,l))?d:Re(Ye,"sum");return v(e,t,((t,l,s,r,a,i)=>{const d=c(e),v=be(r);i||(i=O(d)),t();let h=Ze(d,v,r,l,u,i);H(h)||(h=void 0),h!=d&&(g(e,h),o(n,[e],h,d))}),$e(s,1)),y},delMetricDefinition:e=>(h(e),y),getStore:r,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:f,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(s(e),y),destroy:b,getListenerStats:()=>({})};return re(y)}));var tt=Object.defineProperty,nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,st=(e,t,n)=>t in e?tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rt=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const at=Ie(),it=Ie(),dt=(e,t,n,l,o,s,r,a={},i=[])=>{let d,u,c,g=0;Ve(at,i,(()=>0)),Ve(it,i,(()=>[]));const[v,h,f,b]=((e,t)=>!e||O(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!ve(e)||!ve(t)])(r,e),y=e=>rt(void 0,null,(function*(){return 2!=g&&(g=1,yield L.schedule((()=>rt(void 0,null,(function*(){yield e(),g=0}))))),L})),p=t=>{(v&&k(null==t?void 0:t[0])?1===(null==t?void 0:t[1][2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},L=((e,t)=>{for(var n in t||(t={}))lt.call(t,n)&&st(e,n,t[n]);if(nt)for(var n of nt(t))ot.call(t,n)&&st(e,n,t[n]);return e})({load:(n,l)=>rt(void 0,null,(function*(){return yield y((()=>rt(void 0,null,(function*(){try{p(yield t())}catch(t){null==s||s(t),e.setContent([n,l])}}))))})),startAutoLoad:(...e)=>rt(void 0,[...e],(function*(e={},n={}){return yield L.stopAutoLoad().load(e,n),u=l(((e,n)=>rt(void 0,null,(function*(){const l=null==n?void 0:n();yield y((()=>rt(void 0,null,(function*(){var n;try{p(null!=(n=null!=l?l:null==e?void 0:e())?n:yield t())}catch(e){null==s||s(e)}}))))})))),L})),stopAutoLoad:()=>(u&&(o(u),u=void 0),L),isAutoLoading:()=>!O(u),save:e=>rt(void 0,null,(function*(){return 1!=g&&(g=2,yield L.schedule((()=>rt(void 0,null,(function*(){try{yield n(h,e)}catch(e){null==s||s(e)}g=0}))))),L})),startAutoSave:()=>rt(void 0,null,(function*(){return yield L.stopAutoSave().save(),c=e.addDidFinishTransactionListener((()=>{const e=f();b(e)&&L.save((()=>e))})),L})),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),isAutoSaving:()=>!O(c),schedule:(...e)=>rt(void 0,null,(function*(){return X(Re(it,i),...e),yield rt(void 0,null,(function*(){if(!Re(at,i)){for(me(at,i,1);!O(d=Z(Re(it,i)));)try{yield d()}catch(e){null==s||s(e)}me(at,i,0)}})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})},a);return re(L)},ut=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return B(ut.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0};var gt=Math.pow;const vt=gt(2,36),ht=gt(2,30),ft=gt(2,24),bt=gt(2,18),yt=gt(2,12),pt=gt(2,6),Lt=e=>String.fromCharCode(48+(63&e)),Ct=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,wt=e=>{let t=0,n=-1;const l=ct(e),o=e=>{const l=t,[o,s]=O(e)||""==e?[0,0]:[Ct(r=e,0)*vt+Ct(r,1)*ht+Ct(r,2)*ft+Ct(r,3)*bt+Ct(r,4)*yt+Ct(r,5)*pt+Ct(r,6),Ct(r,7)*bt+Ct(r,8)*yt+Ct(r,9)*pt+Ct(r,10),Ct(r,11)*ft+Ct(r,12)*bt+Ct(r,13)*yt+Ct(r,14)*pt+Ct(r,15)];var r;t=E(l,o,Date.now()),n=t==l?t==o?E(n,s):n:t==o?s:-1};return[()=>{return o(),s=++n,r=l,Lt((e=t)/vt)+Lt(e/ht)+Lt(e/ft)+Lt(e/bt)+Lt(e/yt)+Lt(e/pt)+Lt(e)+Lt(s/bt)+Lt(s/yt)+Lt(s/pt)+Lt(s)+Lt(r/ft)+Lt(r/bt)+Lt(r/yt)+Lt(r/pt)+Lt(r);var e,s,r},o]};var Tt=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const It=(e,n,l,o,s=1,r)=>{let a;const[i]=wt(e.getId()),d=Ie();l(((t,l,o,s)=>{0==o?x(Re(d,l),(([e,n])=>O(e)||e==t?n(s,t):0)):1==o&&g.isAutoLoading()?c(t,s).then((e=>null==a?void 0:a(void 0,(()=>e)))):x(2==o&&g.isAutoSaving()?e.getMergeableContentHashes():3==o?e.getMergeableTableIdsDiff(s):4==o?e.getMergeableRowIdsDiff(s):5==o?e.getMergeableTablesChanges(s):6==o?e.getMergeableValuesChanges(s):void 0,(e=>{n(t,l,0,e)}))}));const u=(e,t,...l)=>Tt(void 0,[e,t,...l],(function*(e,t,l=""){return new V(((o,r)=>{const a=i(),u=setTimeout((()=>{Te(d,a),r(`No response from ${null!=e?e:"anyone"} to '${t}'`)}),1e3*s);me(d,a,[e,(e,t)=>{clearTimeout(u),Te(d,a),o([e,t])}]),n(e,a,t,l)}))})),c=(n=null,l)=>Tt(void 0,null,(function*(){O(l)&&([l,n]=yield u(n,2));const[o,[s,r]]=l,[,[a,i]]=e.getMergeableContentHashes(),d=[t,[[t,{}],[t,{}],1]];return a!=s&&(d[0]=o,d[1][0]=(yield u(n,5,e.getMergeableCellHashes((yield u(n,4,e.getMergeableRowHashes((yield u(n,3,e.getMergeableTableHashes()))[0])))[0])))[0]),i!=r&&(d[0]=o,d[1][1]=(yield u(n,6,e.getMergeableValuesHashes()))[0]),d})),g=dt(e,(()=>Tt(void 0,null,(function*(){const e=yield c();return e[0]!=t?e:void 0}))),(()=>Tt(void 0,null,(function*(){n(null,null,1,e.getMergeableContentHashes())}))),(e=>a=e),(()=>a=void 0),r,!0,{startSync:(e,t)=>Tt(void 0,null,(function*(){return yield(yield g.startAutoLoad(e,t)).startAutoSave()})),stopSync:()=>g.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),g.stopSync()),getSynchronizerStats:()=>({})});return g};var St=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable;const mt=_e((e=>{const n=e.createStore,l=n(),o=n(),s=Ie(),{addListener:r,callListeners:a,delListener:c}=o,[g,h,f,T,I,,,S,,R,M,m,V,E]=We(e,(()=>!0),Q,r,a),A=(e,t,...n)=>B(n,(n=>Ne(Ve(Ve(s,t,Ie),e,ze),n))),H=e=>{x(Re(s,e),(e=>{Me(e,((e,t)=>we(t,(t=>e.delListener(t))))),Ce(e)})),B([o,l],(t=>t.delTable(e)))},D=(e,t,n)=>A(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(n,s,r)=>{S(n,s),H(n);const a=[],i=[[null,[s,null,null,[],Ie()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=P(e)?[F(a)+t,e]:[O(n)?e:n,t=>t(e,n)];return X(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=O(n)||P(t)?null:t,o=O(l)?t:n,s=[e,[e,l,P(o)?o:e=>e(o),[],Ie()]];return X(i,s),{as:e=>s[0]=e}},where:(e,t,n)=>X(d,P(e)?e:O(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,P(t)?[t,n,l,o]:null!=(s=Re(Ye,t))?s:[(e,t)=>t]]];return X(u,r),{as:e=>r[0]=e}},having:(e,t)=>X(c,P(e)?e:n=>n(e)===t)});const g=Ie(a);if(pe(g))return k;const v=Ie(i);Me(v,((e,[,t])=>x(Re(v,t),(({3:t})=>O(e)?0:X(t,e)))));const h=Ie(u);let f=l;if(pe(h)&&K(c))f=o;else{D(n,f,o);const e=Ie();Me(h,((t,[n,l])=>Ne(Ve(e,n,ze),[t,l])));const t=ze();Me(g,(n=>ye(e,n)?0:Ne(t,n)));const l=Ie(),s=(t,l,s,r)=>x(t,(([a,i,d,u])=>{Me(l,((t,[n])=>{const l=Ve(a,t,Ie),o=Re(l,s),i=r?void 0:n;if(o!==i){const n=ze([[o,i]]),r=be(l);me(l,s,i),we(Re(e,t),(([e,t])=>{const o=Ze(u[e],r,l,n,t);u[e]=O(Je(o))?null:o}))}})),pe(i)||!N(c,(e=>e((e=>u[e]))))?o.delRow(n,d):O(d)?t[2]=o.addRow(n,u):o.setRow(n,d,u)}));A(f,n,f.addRowListener(n,null,((o,r,a,i)=>{const d=[],u=[],c=Ie(),g=f.hasRow(n,a);let v=!g;we(t,(e=>{const[t,l,o]=i(n,a,e);X(d,l),X(u,o),v||(v=t)})),Me(e,(e=>{const[t,,l]=i(n,a,e);(v||t)&&me(c,e,[l])})),v&&s(Pe(l,d,void 0,(([,e])=>(Te(e,a),pe(e)))),c,a,1),g&&s(Pe(l,u,(()=>{const e={};return we(t,(t=>e[t]=f.getCell(n,a,t))),[Ie(),ze(),void 0,e]}),(([,e])=>{Ne(e,a)})),c,a)})))}D(n,e,f);const b=(t,l,o,r)=>{const a=t=>e.getCell(l,o,t);B(r,(l=>{var o;const[s,,r,i,d]=Re(v,l),u=null==r?void 0:r(a,t),[c,g]=null!=(o=Re(d,t))?o:[];u!=c&&(O(g)||E(n,g),me(d,t,O(u)?null:[u,...V(n,1,e.addRowListener(s,u,(()=>b(t,s,u,i))))]))})),(t=>{const l=(n,l)=>{var o,r,a;return e.getCell(...O(l)?[s,t,n]:n===s?[s,t,l]:[null==(o=Re(v,n))?void 0:o[0],null==(a=Re(null==(r=Re(v,n))?void 0:r[4],t))?void 0:a[0],l])};f.transaction((()=>N(d,(e=>e(l)))?Me(g,((e,o)=>Fe(f,n,t,e,o(l,t)))):f.delRow(n,t)))})(t)},{3:y}=Re(v,null);return f.transaction((()=>V(n,1,e.addRowListener(s,null,((t,l,o)=>{e.hasRow(s,o)?b(o,s,o,y):(f.delRow(n,o),we(v,(({4:e})=>x(Re(e,o),(([,t])=>{E(n,t),me(e,o)})))))}))))),k},delQueryDefinition:e=>(H(e),R(e),k),getStore:g,getQueryIds:h,forEachQuery:f,hasQuery:T,getTableId:I,addQueryIdsListener:e=>M((()=>e(k))),delListener:e=>(c(e),k),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Rt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&St)for(var l of St(e))t.indexOf(l)<0&&Mt.call(e,l)&&(n[l]=e[l]);return n})(o.getListenerStats(),["tables","tableIds","transaction"])};return ce({[v]:[1,1],[v+w]:[0,1],[y]:[0,1],[p]:[0,1],[L]:[0,5],[b]:[1,2],[w]:[0,2],[C]:[1,3]},(([e,t],n)=>{B(e?["get","has","forEach"]:["get"],(e=>k[e+d+n]=(...t)=>o[e+n](...t))),k[u+d+n+i]=(...e)=>o[u+n+i](...j(e,0,t),((n,...l)=>e[t](k,...l)),!0)})),re(k)})),Vt=_e((e=>{const n=Ie(),l=Ie(),o=Ie(),s=Ie(),[r,a,i]=Ge((()=>T)),[d,u,c,g,v,h,,,f,b,y,p]=We(e,(()=>[Ie(),Ie(),Ie(),Ie()]),(e=>O(e)?void 0:e+t),r,a),L=(e,t,n)=>x(h(e),(([l,,o])=>{if(!ye(o,t)){const s=ze();if(v(e)!=w(e))Ne(s,t);else{let e=t;for(;!O(e)&&!ye(s,e);)Ne(s,e),e=Re(l,e)}if(n)return s;me(o,t,s)}return Re(o,t)})),C=(e,t)=>x(h(e),(([,,e])=>me(e,t))),w=e=>Re(n,e),T={setRelationshipDefinition:(e,t,r,i)=>(me(n,e,r),f(e,t,((t,n)=>{const r=ze(),i=ze(),d=ze(),[u,c]=h(e);we(n,(([t,n],l)=>{O(t)||(Ne(i,t),x(Re(c,t),(e=>{Te(e,l),pe(e)&&me(c,t)}))),O(n)||(Ne(i,n),ye(c,n)||me(c,n,ze()),Ne(Re(c,n),l)),Ne(r,l),me(u,l,n),Me(Re(s,e),(t=>{ye(L(e,t),l)&&Ne(d,t)}))})),t(),we(r,(t=>a(l,[e,t]))),we(i,(t=>a(o,[e,t]))),we(d,(t=>{C(e,t),a(s,[e,t])}))}),$e(i)),T),delRelationshipDefinition:e=>(me(n,e),b(e),T),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return Re(null==(n=h(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Le(Re(null==(n=h(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>O(h(e))?[t]:Le(L(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),r(n,s,[e,t])),delListener:e=>{var t;return C(...null!=(t=i(e))?t:[]),T},destroy:p,getListenerStats:()=>({})};return re(T)})),Et=([e,t,n])=>[e,t,n],At=([e,t])=>[e,t],Ht=e=>e[2],Ot=(e,t)=>ct(e+":"+t),xt=(e,t,n)=>{e[2]=t>>>0,n>e[0]&&(e[0]=n)},Dt=e=>[e,ae()],kt=(e="")=>[e,Ie(),0],Pt=([e,t,n],l=Et)=>[e,Ae(t,l),n],Jt=(t,n)=>J(t)&&3==F(t)&&k(t[0])&&n(t[1])&&e(t[2])==o&&H(t[2]),jt=e=>[e,e],Ft=()=>[Ie(),Ie()],Qt=e=>[...e],zt=([e,t])=>e===t,Nt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),Wt=JSON.parse,$t=(e,t,n)=>me(e,t,Re(e,t)==-n?void 0:n),_t=()=>{let e,t,n=!1,l=!1,s=0,d=[];const g=Ie(),L=Ie(),M=Ie(),m=Ie(),V=Ie(),E=Ie(),A=Ie(),H=Ie(),k=Ie(),J=Ie(),F=Ie(),Q=Ie(),N=Ie(),$=Ie(),G=ze(),K=Ie(),U=Ie(),Y=Ie(),Z=Ie(),ee=Ft(),te=Ft(),ne=Ft(),le=Ft(),oe=Ft(),se=Ft(),ae=Ft(),ue=Ft(),ge=Ft(),he=Ft(),Le=Ft(),Pe=Ft(),je=Ft(),We=Ft(),$e=Ft(),_e=Ft(),Be=Ft(),Ke=Ft(),Xe=Ft(),Ye=Ft(),Ze=Ft(),et=Ft(),tt=Ie(),nt=Ft(),[lt,ot,st,rt]=Ge((()=>kn)),at=e=>{if(!fe(e,((e,t)=>z([r,a],t))))return!1;const t=e[r];return!(!D(t)&&t!=o||(Je(e[a])!=t&&de(e,a),0))},it=(t,n)=>(!e||ye(F,n)||Bt(n))&&fe(t,((e,t)=>dt(n,t,e)),(()=>Bt(n))),dt=(e,t,n,l)=>fe(l?n:vt(n,e,t),((l,o)=>x(ut(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Bt(e,t))),ut=(t,n,l,o)=>e?x(Re(Re(F,t),l),(e=>Je(o)!=e[r]?Bt(t,n,l,o,e[a]):o),(()=>Bt(t,n,l,o))):O(Je(o))?Bt(t,n,l,o):o,ct=(e,t)=>fe(t?e:ht(e),((t,n)=>x(gt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,n)=>t?x(Re(N,e),(t=>Je(n)!=t[r]?qt(e,n,t[a]):n),(()=>qt(e,n))):O(Je(n))?qt(e,n):n,vt=(e,t,n)=>(x(Re(Q,t),(([l,o])=>{we(l,((t,n)=>{ie(e,n)||(e[n]=t)})),we(o,(l=>{ie(e,l)||Bt(t,n,l)}))})),e),ht=e=>(t&&(we($,((t,n)=>{ie(e,n)||(e[n]=t)})),we(G,(t=>{ie(e,t)||qt(t)}))),e),ft=e=>Ee(F,e,((e,t,n)=>{const l=Ie(),o=ze();Ee(Ve(F,t,Ie),n,((e,t,n)=>{me(e,t,n),x(n[a],(e=>me(l,t,e)),(()=>Ne(o,t)))})),me(Q,t,[l,o])}),((e,t)=>{me(F,t),me(Q,t)})),bt=e=>Ee(N,e,((e,t,n)=>{me(N,t,n),x(n[a],(e=>me($,t,e)),(()=>Ne(G,t)))}),((e,t)=>{me(N,t),me($,t),Te(G,t)})),yt=e=>ve(e)?Mn():wn(e),pt=e=>Ee(Y,e,((e,t,n)=>Lt(t,n)),((e,t)=>Vt(t))),Lt=(e,t)=>Ee(Ve(Y,e,(()=>(Ot(e,1),me(K,e,qe()),me(U,e,Ie()),Ie()))),t,((t,n,l)=>Ct(e,t,n,l)),((t,n)=>Et(e,t,n))),Ct=(e,t,n,l,o)=>Ee(Ve(t,n,(()=>(xt(e,n,1),Ie()))),l,((t,l,o)=>wt(e,n,t,l,o)),((l,s)=>At(e,t,n,l,s,o))),wt=(e,t,n,l,o)=>{ye(n,l)||Dt(e,t,l,1);const s=Re(n,l);o!==s&&(kt(e,t,l,s,o),me(n,l,o))},Tt=(e,t,n,l,o)=>x(Re(t,n),(t=>wt(e,n,t,l,o)),(()=>Ct(e,t,n,vt({[l]:o},e,n)))),It=e=>ve(e)?En():Tn(e),St=e=>Ee(Z,e,((e,t,n)=>Rt(t,n)),((e,t)=>Ht(t))),Rt=(e,t)=>{ye(Z,e)||Pt(e,1);const n=Re(Z,e);t!==n&&(Jt(e,n,t),me(Z,e,t))},Mt=(e,t)=>{const[n]=Re(K,e),l=n(t);return ye(Re(Y,e),l)?Mt(e,t):l},mt=e=>{var t;return null!=(t=Re(Y,e))?t:Lt(e,{})},Vt=e=>Lt(e,{}),Et=(e,t,n)=>{const[,l]=Re(K,e);l(n),Ct(e,t,n,{},!0)},At=(e,t,n,l,o,s)=>{var r;const a=Re(null==(r=Re(Q,e))?void 0:r[0],o);if(!O(a)&&!s)return wt(e,n,l,o,a);const i=t=>{kt(e,n,t,Re(l,t)),Dt(e,n,t,-1),me(l,t)};O(a)?i(o):Me(l,i),pe(l)&&(xt(e,n,-1),pe(me(t,n))&&(Ot(e,-1),me(Y,e),me(K,e),me(U,e)))},Ht=e=>{const t=Re($,e);if(!O(t))return Rt(e,t);Jt(e,Re(Z,e)),Pt(e,-1),me(Z,e)},Ot=(e,t)=>$t(g,e,t),xt=(e,t,n)=>$t(Ve(m,e,Ie),t,n)&&me(M,e,Ve(M,e,(()=>0))+n),Dt=(e,t,n,l)=>{var o;const s=Re(U,e),r=null!=(o=Re(s,n))?o:0;(0==r&&1==l||1==r&&-1==l)&&$t(Ve(L,e,Ie),n,l),me(s,n,r!=-l?r+l:null),$t(Ve(Ve(V,e,Ie),t,Ie),n,l)},kt=(e,t,n,l,o)=>Ve(Ve(Ve(E,e,Ie),t,Ie),n,(()=>[l,0]))[1]=o,Pt=(e,t)=>$t(A,e,t),Jt=(e,t,n)=>Ve(H,e,(()=>[t,0]))[1]=n,Bt=(e,t,n,l,o)=>(X(Ve(Ve(Ve(k,e,Ie),t,Ie),n,(()=>[])),l),o),qt=(e,t,n)=>(X(Ve(J,e,(()=>[])),t),n),Gt=(e,t,n)=>x(Re(Re(Re(E,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...jt(un(e,t,n))])),Kt=e=>x(Re(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...jt(vn(e))])),Ut=e=>pe(k)||pe(_e[e])?0:we(e?ke(k):k,((t,n)=>we(t,((t,l)=>we(t,((t,o)=>ot(_e[e],[n,l,o],t))))))),Xt=e=>pe(J)||pe(Be[e])?0:we(e?xe(J):J,((t,n)=>ot(Be[e],[n],t))),Yt=(e,t,n,l)=>{if(!pe(e))return ot(t,l,(()=>Ae(e))),Me(e,((e,t)=>ot(n,[...null!=l?l:[],e],1==t))),1},Zt=e=>{const t=hn();t!=n&&ot(ee[e],void 0,t);const l=pe(he[e]),o=pe(je[e])&&pe(We[e])&&pe(ge[e])&&pe(Le[e])&&pe(se[e])&&pe(ae[e])&&pe(ue[e])&&l&&pe(ne[e])&&pe(le[e]),s=pe($e[e])&&pe(Pe[e])&&pe(oe[e])&&pe(te[e]);if(!o||!s){const t=e?[xe(g),De(L),xe(M),De(m),ke(V),ke(E)]:[g,L,M,m,V,E];if(!o){Yt(t[0],ne[e],le[e]),we(t[1],((t,n)=>Yt(t,se[e],ae[e],[n]))),we(t[2],((t,n)=>{0!=t&&ot(ue[e],[n],sn(n))}));const n=ze();we(t[3],((t,o)=>{Yt(t,ge[e],Le[e],[o])&&!l&&(ot(he[e],[o,null]),Ne(n,o))})),l||we(t[5],((t,l)=>{if(!ye(n,l)){const n=ze();we(t,(e=>we(e,(([t,l],o)=>l!==t?Ne(n,o):Te(e,o))))),we(n,(t=>ot(he[e],[l,t])))}})),we(t[4],((t,n)=>we(t,((t,l)=>Yt(t,je[e],We[e],[n,l])))))}if(!s){let n;we(t[5],((t,l)=>{let o;we(t,((t,s)=>{let r;we(t,(([t,a],i)=>{a!==t&&(ot($e[e],[l,s,i],a,t,Gt),n=o=r=1)})),r&&ot(Pe[e],[l,s],Gt)})),o&&ot(oe[e],[l],Gt)})),n&&ot(te[e],void 0,Gt)}}},en=e=>{const t=Ln();t!=l&&ot(Ke[e],void 0,t);const n=pe(Ye[e])&&pe(Ze[e]),o=pe(et[e])&&pe(Xe[e]);if(!n||!o){const t=e?[xe(A),xe(H)]:[A,H];if(n||Yt(t[0],Ye[e],Ze[e]),!o){let n;we(t[1],(([t,l],o)=>{l!==t&&(ot(et[e],[o],l,t,Kt),n=1)})),n&&ot(Xe[e],void 0,Kt)}}},tn=(e,...t)=>(On((()=>e(...q(t,R)))),kn),nn=()=>Oe(Y),ln=()=>Se(Y),on=e=>Se(Re(U,R(e))),sn=e=>be(Re(Y,R(e))),rn=e=>Se(Re(Y,R(e))),an=(e,t,n,l=0,o)=>{return q(j(_((s=Re(Y,R(e)),r=(e,n)=>[O(t)?n:Re(e,R(t)),n],q([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ue(e,t)*(n?-1:1))),l,O(o)?o:l+o),(([,e])=>e));var s,r,a},dn=(e,t)=>Se(Re(Re(Y,R(e)),R(t))),un=(e,t,n)=>Re(Re(Re(Y,R(e)),R(t)),R(n)),cn=()=>Ae(Z),gn=()=>Se(Z),vn=e=>Re(Z,R(e)),hn=()=>!pe(Y),fn=e=>ye(Y,R(e)),bn=(e,t)=>ye(Re(U,R(e)),R(t)),yn=(e,t)=>ye(Re(Y,R(e)),R(t)),pn=(e,t,n)=>ye(Re(Re(Y,R(e)),R(t)),R(n)),Ln=()=>!pe(Z),Cn=e=>ye(Z,R(e)),wn=e=>tn((()=>(e=>fe(e,it,Bt))(e)?pt(e):0)),Tn=e=>tn((()=>ct(e)?St(e):0)),In=e=>{try{yt(Wt(e))}catch(e){}return kn},Sn=t=>tn((()=>{if((e=fe(t,(e=>fe(e,at))))&&(ft(t),!pe(Y))){const e=nn();Mn(),wn(e)}})),Rn=e=>tn((()=>{if(t=(e=>fe(e,at))(e)){const n=cn();Hn(),En(),t=!0,bt(e),Tn(n)}})),Mn=()=>tn((()=>pt({}))),mn=e=>tn((e=>ye(Y,e)?Vt(e):0),e),Vn=(e,t)=>tn(((e,t)=>x(Re(Y,e),(n=>ye(n,t)?Et(e,n,t):0))),e,t),En=()=>tn((()=>St({}))),An=()=>tn((()=>{ft({}),e=!1})),Hn=()=>tn((()=>{bt({}),t=!1})),On=(e,t)=>{if(-1!=s){xn();const n=e();return Dn(t),n}},xn=()=>(-1!=s&&s++,1==s&&ot(tt,void 0),kn),Dn=e=>{var t,o;return s>0&&(s--,0==s&&(s=1,Ut(1),pe(E)||Zt(1),Xt(1),pe(H)||en(1),(null==e?void 0:e(kn))&&(we(E,((e,t)=>we(e,((e,n)=>we(e,(([e],l)=>Fe(kn,t,n,l,e))))))),Ce(E),we(H,(([e],t)=>Qe(kn,t,e))),Ce(H)),ot(nt[0],void 0),s=-1,Ut(0),pe(E)||Zt(0),Xt(0),pe(H)||en(0),null==(t=d[0])||t.call(d,kn),ot(nt[1],void 0),null==(o=d[1])||o.call(d,kn),s=0,n=hn(),l=Ln(),B([g,L,M,m,V,E,k,A,H,J],Ce))),kn},kn={getContent:()=>[nn(),cn()],getTables:nn,getTableIds:ln,getTable:e=>He(Re(Y,R(e))),getTableCellIds:on,getRowCount:sn,getRowIds:rn,getSortedRowIds:an,getRow:(e,t)=>Ae(Re(Re(Y,R(e)),R(t))),getCellIds:dn,getCell:un,getValues:cn,getValueIds:gn,getValue:vn,hasTables:hn,hasTable:fn,hasTableCell:bn,hasRow:yn,hasCell:pn,hasValues:Ln,hasValue:Cn,getTablesJson:()=>Nt(Y),getValuesJson:()=>Nt(Z),getJson:()=>Nt([Y,Z]),getTablesSchemaJson:()=>Nt(F),getValuesSchemaJson:()=>Nt(N),getSchemaJson:()=>Nt([F,N]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>tn((()=>{(ve(e)?Mn:wn)(e),(ve(t)?En:Tn)(t)})),setTables:wn,setTable:(e,t)=>tn((e=>it(t,e)?Lt(e,t):0),e),setRow:(e,t,n)=>tn(((e,t)=>dt(e,t,n)?Ct(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>On((()=>{let l;return dt(e,l,t)&&(e=R(e),Ct(e,mt(e),l=Mt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>tn(((e,t)=>{if(dt(e,t,n,1)){const l=mt(e);ce(n,((n,o)=>Tt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>tn(((e,t,n)=>x(ut(e,t,n,P(l)?l(un(e,t,n)):l),(l=>Tt(e,mt(e),t,n,l)))),e,t,n),setValues:Tn,setPartialValues:e=>tn((()=>ct(e,1)?ce(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>tn((e=>x(gt(e,P(t)?t(vn(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>tn((()=>{ce(e[0],((e,t)=>O(e)?mn(t):ce(e,((e,n)=>O(e)?Vn(t,n):ce(e,((e,l)=>Fe(kn,t,n,l,e))))))),ce(e[1],((e,t)=>Qe(kn,t,e)))})),setTablesJson:In,setValuesJson:e=>{try{It(Wt(e))}catch(e){}return kn},setJson:e=>tn((()=>{try{const[t,n]=Wt(e);yt(t),It(n)}catch(t){In(e)}})),setTablesSchema:Sn,setValuesSchema:Rn,setSchema:(e,t)=>tn((()=>{Sn(e),Rn(t)})),delTables:Mn,delTable:mn,delRow:Vn,delCell:(e,t,n,l)=>tn(((e,t,n)=>x(Re(Y,e),(o=>x(Re(o,t),(s=>ye(s,n)?At(e,o,t,s,n,l):0))))),e,t,n),delValues:En,delValue:e=>tn((e=>ye(Z,e)?Ht(e):0),e),delTablesSchema:An,delValuesSchema:Hn,delSchema:()=>tn((()=>{An(),Hn()})),transaction:On,startTransaction:xn,getTransactionChanges:()=>[Ae(E,((e,t)=>-1===Re(g,t)?void 0:Ae(e,((e,n)=>-1===Re(Re(m,t),n)?void 0:Ae(e,(([,e])=>e),(e=>zt(e)))),pe,ve)),pe,ve),Ae(H,(([,e])=>e),(e=>zt(e))),1],getTransactionLog:()=>[!pe(E),!pe(H),Oe(E,Qt,zt),Oe(k),Ae(H,Qt,zt),Ae(J),Ae(g),He(m),Oe(V),Ae(A)],finishTransaction:Dn,forEachTable:e=>we(Y,((t,n)=>e(n,(e=>we(t,((t,n)=>e(n,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,R(e)),t),forEachRow:(e,t)=>we(Re(Y,R(e)),((e,n)=>t(n,(t=>Me(e,t))))),forEachCell:(e,t,n)=>Me(Re(Re(Y,R(e)),R(t)),n),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=an(e,t,n,l,o);return lt((()=>{const r=an(e,t,n,l,o);W(r,a)||(a=r,s(kn,e,t,n,l,o,a))}),he[r?1:0],[e,t],[ln])},addStartTransactionListener:e=>lt(e,tt),addWillFinishTransactionListener:e=>lt(e,nt[0]),addDidFinishTransactionListener:e=>lt(e,nt[1]),callListener:e=>(rt(e),kn),delListener:e=>(st(e),kn),getListenerStats:()=>({}),createStore:_t,addListener:lt,callListeners:ot,setInternalListeners:(e,t)=>d=[e,t]};return ce({[c+h]:[0,ee,[],()=>[hn()]],[h]:[0,te],[f]:[0,ne],[c+v]:[1,le,[ln],e=>[fn(...e)]],[v]:[1,oe,[ln]],[v+w]:[1,se,[ln]],[c+v+C]:[2,ae,[ln,on],e=>[bn(...e)]],[y]:[1,ue,[ln]],[p]:[1,ge,[ln]],[c+b]:[2,Le,[ln,rn],e=>[yn(...e)]],[b]:[2,Pe,[ln,rn]],[w]:[2,je,[ln,rn]],[c+C]:[3,We,[ln,rn,dn],e=>[pn(...e)]],[C]:[3,$e,[ln,rn,dn],e=>jt(un(...e))],InvalidCell:[3,_e],[c+I]:[0,Ke,[],()=>[Ln()]],[I]:[0,Xe],[S]:[0,Ye],[c+T]:[1,Ze,[gn],e=>[Cn(...e)]],[T]:[1,et,[gn],e=>jt(vn(e[0]))],InvalidValue:[1,Be]},(([e,t,n,l],o)=>{kn[u+o+i]=(...o)=>lt(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),re(kn)},Bt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},qt=(e="")=>[e,[kt(e),kt(e)],0],Gt=e=>{let n,l,o=1,s=qt();const[r,a]=wt(e),i=_t(),d=e=>{const t=o;return o=0,e(),o=t,f},u=(e,t=0)=>{const n={},l={},[o,[[r,a,i],d],u]=e,[,[g,v]]=s,[h,f,b]=g;if(r){let e=t?i:b^(r>h?(h?ct(h):0)^ct(r):0);ue(a,(([l,o,s],r)=>{const a=Ve(f,r,kt),[i,d,u]=a;let g=t?s:u^(l>i?(i?ct(i):0)^ct(l):0);ue(o,((e,l)=>{const[o,s]=c(e,Ve(d,l,kt),he(he(n,r,ae),l,ae),t);g^=t?0:(o?Ot(l,o):0)^Ot(l,s)})),xt(a,g,l),e^=t?0:(u?Ot(r,u):0)^Ot(r,a[2])})),xt(g,e,r)}return c(d,v,l,t),xt(s,t?u:g[2]^v[2],o),[n,l,1]},c=(e,n,l,o)=>{const[s,r,a]=e,[i,d,u]=n;if(s){let e=o?a:u^(s>i?(i?ct(i):0)^ct(s):0);ue(r,(([n,s,r],a)=>{const i=Ve(d,a,(()=>[t,void 0,0])),[u,,c]=i;n>u&&(xt(i,o?r:ct(Nt(null!=s?s:null)+":"+n),n),i[1]=s,l[a]=s,e^=o?0:Ot(a,c)^Ot(a,i[2]))})),xt(n,e,s)}return[u,n[2]]},g=()=>[s[0],[Pt(s[1][0],(e=>Pt(e,(e=>Pt(e))))),Pt(s[1][1])],s[2]],v=()=>{if(O(l)){const[,,e,,l]=i.getTransactionLog(),o=ve(e)&&ve(l)?t:null!=n?n:n=r(),s=[o,[Dt(ve(e)?t:o),Dt(ve(l)?t:o),1]],[[,a],[,d]]=s[1];return ce(e,((e,t)=>{const[,n]=a[t]=Dt(o);ce(e,((e,t)=>{const[,l]=n[t]=Dt(o);ce(e,(([,e],t)=>l[t]=[o,e]))}))})),ce(l,(([,e],t)=>d[t]=[o,e])),s}return l},h=e=>d((()=>{a(e[0]),i.applyChanges(u(e))})),f={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[s[0],[s[1][0][2],s[1][1][2]]],getMergeableTableHashes:()=>Ae(s[1][0][1],Ht),getMergeableTableIdsDiff:e=>{const t=[];return Me(s[1][0][1],((n,[,,l])=>{l!==(null==e?void 0:e[n])&&X(t,n)})),t},getMergeableRowHashes:e=>ae(q(e,(e=>{var t;return[e,Ae(null==(t=Re(s[1][0][1],e))?void 0:t[1],Ht)]}))),getMergeableRowIdsDiff:e=>ge(e,((e,t)=>{var n;const l=[];return Me(null==(n=Re(s[1][0][1],t))?void 0:n[1],((t,[,,n])=>{n!==(null==e?void 0:e[t])&&X(l,t)})),l})),getMergeableCellHashes:e=>ge(e,((e,t)=>ae(q(e,(e=>{var n,l;return[e,Ae(null==(l=Re(null==(n=Re(s[1][0][1],t))?void 0:n[1],e))?void 0:l[1],Ht)]}))))),getMergeableTablesChanges:e=>{const[,[[t,n]]]=s,l={};return ue(e,((e,t)=>x(Re(n,t),(([n,o])=>{const s={};ue(e,((e,t)=>x(Re(o,t),(([n,l])=>{const o=Ae(l,At,(([,,t],n)=>t==(null==e?void 0:e[n])));ve(o)||(s[t]=[n,o])})))),ve(s)||(l[t]=[n,s])})))),[t,l]},getMergeableValuesHashes:()=>Ae(s[1][1][1],Ht),getMergeableValuesChanges:e=>[s[1][1][0],Ae(s[1][1][1],At,(([,,t],n)=>t==(null==e?void 0:e[n])))],setMergeableContent:e=>d((()=>(e=>Jt(e,(e=>J(e)&&2==F(e)&&Jt(e[0],(e=>fe(e,(e=>Jt(e,(e=>fe(e,(e=>Jt(e,(e=>fe(e,(e=>Jt(e,je)),void 0,1)))),void 0,1)))),void 0,1)))&&Jt(e[1],(e=>fe(e,(e=>Jt(e,je)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),s=qt(),a(e[0]),i.applyChanges(u(e,1))})):0)),getTransactionMergeableChanges:v,applyMergeableChanges:h,merge:e=>{const t=g(),n=e.getMergeableContent();return e.applyMergeableChanges(t),h(n)}};return i.setInternalListeners((()=>{o&&(l=v(),u(l))}),(()=>n=l=void 0)),ce(i,((e,t)=>f[t]=M(t,"set")||M(t,"del")||M(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):M(t,"add")&&m(t,"Listener")?(...n)=>{var l;const o=null!=(l=Bt[j(t,3,-8)])?l:0,s=n[o];return n[o]=(e,...t)=>s(f,...t),e(...n)}:e)),re(f)};export{Ke as createCheckpoints,dt as createCustomPersister,It as createCustomSynchronizer,Xe as createIndexes,Gt as createMergeableStore,et as createMetrics,mt as createQueries,Vt as createRelationships,_t as createStore,Ue as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),d=e=>new Map(e),h=(e,t)=>e?.get(t),y=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(h(e,t)):y(e,t,a()),h(e,t)},v=d(),p=d(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),m=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,H=d(),D=(r,c)=>{const i=""+Math.random();return((r,c,i,H,D=1,x)=>{let E;const[I]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[m(i=e,0)*C+m(i,1)*M+m(i,2)*A+m(i,3)*S+m(i,4)*f+m(i,5)*L+m(i,6),m(i,7)*S+m(i,8)*f+m(i,9)*L+m(i,10),m(i,11)*A+m(i,12)*S+m(i,13)*f+m(i,14)*L+m(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),z=d();i(((e,t,a,s)=>{0==a?o(h(z,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&R.isAutoLoading()?P(e,s).then((e=>E?.(void 0,(()=>e)))):o(2==a&&R.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const O=async(e,t,s="")=>new a(((a,n)=>{const o=I(),r=setTimeout((()=>{u(z,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);y(z,o,[e,(e,t)=>{clearTimeout(r),u(z,o),a([e,t])}]),c(e,o,t,s)})),P=async(e=null,t)=>{n(t)&&([t,e]=await O(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await O(e,5,r.getMergeableCellHashes((await O(e,4,r.getMergeableRowHashes((await O(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await O(e,6,r.getMergeableValuesHashes()))[0]),g},R=((a,s,r,c,i,u,d,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,m,H]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t)])(d,a),D=async e=>(2!=f&&(f=1,await E.schedule((async()=>{await e(),f=0}))),E),x=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},E={load:async(e,t)=>await D((async()=>{try{x(await s())}catch(s){u?.(s),a.setContent([e,t])}})),startAutoLoad:async(e={},t={})=>(await E.stopAutoLoad().load(e,t),A=c((async(e,t)=>{const a=t?.();await D((async()=>{try{x(a??e?.()??await s())}catch(e){u?.(e)}}))})),E),stopAutoLoad:()=>(A&&(i(A),A=void 0),E),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await E.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=m();H(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(o(S,a.delListener),S=void 0,E),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(h(p,C),...e),await(async()=>{if(!h(v,C)){for(y(v,C,1);!n((e=h(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}y(v,C,0)}var e})(),E),getStore:()=>a,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(E)})(r,(async()=>{const e=await P();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>E=e),(()=>E=void 0),x,!0,{startSync:async()=>await(await R.startAutoLoad()).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(H(),R.stopSync()),getSynchronizerStats:()=>({})});return R})(r,((e,t,a,s)=>{var o;n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>{e?.forEach(t)})(H,((e,t)=>o(t,e)))):h(H,e)?.(i,t,a,s)}),(e=>{y(H,i,e)}),(()=>{u(H,i)}),.001,c)};export{D as createLocalSynchronizer};
|
|
1
|
+
const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),d=e=>new Map(e),h=(e,t)=>e?.get(t),y=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(h(e,t)):y(e,t,a()),h(e,t)},v=d(),p=d(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),m=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,H=d(),D=(r,c)=>{const i=""+Math.random();return((r,c,i,H,D=1,x)=>{let E;const[I]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[m(i=e,0)*C+m(i,1)*M+m(i,2)*A+m(i,3)*S+m(i,4)*f+m(i,5)*L+m(i,6),m(i,7)*S+m(i,8)*f+m(i,9)*L+m(i,10),m(i,11)*A+m(i,12)*S+m(i,13)*f+m(i,14)*L+m(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),z=d();i(((e,t,a,s)=>{0==a?o(h(z,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&R.isAutoLoading()?P(e,s).then((e=>E?.(void 0,(()=>e)))):o(2==a&&R.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const O=async(e,t,s="")=>new a(((a,n)=>{const o=I(),r=setTimeout((()=>{u(z,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);y(z,o,[e,(e,t)=>{clearTimeout(r),u(z,o),a([e,t])}]),c(e,o,t,s)})),P=async(e=null,t)=>{n(t)&&([t,e]=await O(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await O(e,5,r.getMergeableCellHashes((await O(e,4,r.getMergeableRowHashes((await O(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await O(e,6,r.getMergeableValuesHashes()))[0]),g},R=((a,s,r,c,i,u,d,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,m,H]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t)])(d,a),D=async e=>(2!=f&&(f=1,await E.schedule((async()=>{await e(),f=0}))),E),x=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},E={load:async(e,t)=>await D((async()=>{try{x(await s())}catch(s){u?.(s),a.setContent([e,t])}})),startAutoLoad:async(e={},t={})=>(await E.stopAutoLoad().load(e,t),A=c((async(e,t)=>{const a=t?.();await D((async()=>{try{x(a??e?.()??await s())}catch(e){u?.(e)}}))})),E),stopAutoLoad:()=>(A&&(i(A),A=void 0),E),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await E.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=m();H(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(o(S,a.delListener),S=void 0,E),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(h(p,C),...e),await(async()=>{if(!h(v,C)){for(y(v,C,1);!n((e=h(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}y(v,C,0)}var e})(),E),getStore:()=>a,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(E)})(r,(async()=>{const e=await P();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>E=e),(()=>E=void 0),x,!0,{startSync:async(e,t)=>await(await R.startAutoLoad(e,t)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(H(),R.stopSync()),getSynchronizerStats:()=>({})});return R})(r,((e,t,a,s)=>{var o;n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>{e?.forEach(t)})(H,((e,t)=>o(t,e)))):h(H,e)?.(i,t,a,s)}),(e=>{y(H,i,e)}),(()=>{u(H,i)}),.001,c)};export{D as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",a=e(t),s=Promise,n=Math.max,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t,a)=>e.slice(t,a),c=e=>new s(e),g=Object,l=e=>g.getPrototypeOf(e),
|
|
1
|
+
const e=e=>typeof e,t="",a=e(t),s=Promise,n=Math.max,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t,a)=>e.slice(t,a),c=e=>new s(e),g=Object,l=e=>g.getPrototypeOf(e),d=g.keys,u=g.freeze,y=e=>(e=>!o(e)&&r(l(e),(e=>e==g.prototype||o(l(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),h=JSON.parse,w=(e,t)=>e?.delete(t),p=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>o(a)?(w(e,t),e):e?.set(t,a),S=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(v(e,t)):b(e,t,a()),v(e,t)},f=p(),C=p(),M=new globalThis.TextEncoder,A=2**36,L=2**30,T=2**24,m=2**18,H=4096,O=64,E=e=>String.fromCharCode(48+(63&e)),x=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,D=async(s,l,d,D)=>{let N;const I=(e,t)=>l.addEventListener(e,t),P=((s,i,g,l,d=1,h)=>{let D;const[N]=(e=>{let t=0,a=-1;const s=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},M.encode(e).forEach(a),t>>>0})(e),r=e=>{const s=t,[r,i]=o(e)||""==e?[0,0]:[x(c=e,0)*A+x(c,1)*L+x(c,2)*T+x(c,3)*m+x(c,4)*H+x(c,5)*O+x(c,6),x(c,7)*m+x(c,8)*H+x(c,9)*O+x(c,10),x(c,11)*T+x(c,12)*m+x(c,13)*H+x(c,14)*O+x(c,15)];var c;t=n(s,r,Date.now()),a=t==s?t==r?n(a,i):a:t==r?i:-1};return[()=>{return r(),n=++a,o=s,E((e=t)/A)+E(e/L)+E(e/T)+E(e/m)+E(e/H)+E(e/O)+E(e)+E(n/m)+E(n/H)+E(n/O)+E(n)+E(o/T)+E(o/m)+E(o/H)+E(o/O)+E(o);var e,n,o},r]})(s.getId()),I=p();g(((e,t,a,n)=>{0==a?r(v(I,t),(([t,a])=>o(t)||t==e?a(n,e):0)):1==a&&J.isAutoLoading()?z(e,n).then((e=>D?.(void 0,(()=>e)))):r(2==a&&J.isAutoSaving()?s.getMergeableContentHashes():3==a?s.getMergeableTableIdsDiff(n):4==a?s.getMergeableRowIdsDiff(n):5==a?s.getMergeableTablesChanges(n):6==a?s.getMergeableValuesChanges(n):void 0,(a=>{i(e,t,0,a)}))}));const P=async(e,t,a="")=>c(((s,n)=>{const o=N(),r=setTimeout((()=>{w(I,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*d);b(I,o,[e,(e,t)=>{clearTimeout(r),w(I,o),s([e,t])}]),i(e,o,t,a)})),z=async(e=null,a)=>{o(a)&&([a,e]=await P(e,2));const[n,[r,i]]=a,[,[c,g]]=s.getMergeableContentHashes(),l=[t,[[t,{}],[t,{}],1]];return c!=r&&(l[0]=n,l[1][0]=(await P(e,5,s.getMergeableCellHashes((await P(e,4,s.getMergeableRowHashes((await P(e,3,s.getMergeableTableHashes()))[0])))[0])))[0]),g!=i&&(l[0]=n,l[1][1]=(await P(e,6,s.getMergeableValuesHashes()))[0]),l},J=((t,s,n,i,c,g,l,d={},h=[])=>{let w,p,M,A=0;S(f,h,(()=>0)),S(C,h,(()=>[]));const[L,T,m,H]=((e,t)=>!e||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!y(e)||!y(t)])(l,t),O=async e=>(2!=A&&(A=1,await x.schedule((async()=>{await e(),A=0}))),x),E=s=>{var n;(L&&(n=s?.[0],e(n)==a)?1===s?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===s?.[2]?t.applyChanges:t.setContent)(s)},x={load:async(e,a)=>await O((async()=>{try{E(await s())}catch(s){g?.(s),t.setContent([e,a])}})),startAutoLoad:async(e={},t={})=>(await x.stopAutoLoad().load(e,t),p=i((async(e,t)=>{const a=t?.();await O((async()=>{try{E(a??e?.()??await s())}catch(e){g?.(e)}}))})),x),stopAutoLoad:()=>(p&&(c(p),p=void 0),x),isAutoLoading:()=>!o(p),save:async e=>(1!=A&&(A=2,await x.schedule((async()=>{try{await n(T,e)}catch(e){g?.(e)}A=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),M=t.addDidFinishTransactionListener((()=>{const e=m();H(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(r(M,t.delListener),M=void 0,x),isAutoSaving:()=>!o(M),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(C,h),...e),await(async()=>{if(!v(f,h)){for(b(f,h,1);!o((e=v(C,h),w=e.shift()));)try{await w()}catch(e){g?.(e)}b(f,h,0)}var e})(),x),getStore:()=>t,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...d};return u(x)})(s,(async()=>{const e=await z();return e[0]!=t?e:void 0}),(async()=>{i(null,null,1,s.getMergeableContentHashes())}),(e=>D=e),(()=>D=void 0),h,!0,{startSync:async(e,t)=>await(await J.startAutoLoad(e,t)).startAutoSave(),stopSync:()=>J.stopAutoLoad().stopAutoSave(),destroy:()=>(l(),J.stopSync()),getSynchronizerStats:()=>({})});return J})(s,((e,...a)=>{l.send((e??t)+"\n"+JSON.stringify(a,((e,t)=>t instanceof Map?g.fromEntries([...t]):t)))}),(e=>{N=e}),(()=>{l.close()}),d,D);return I("message",(({data:e})=>{if(!o(N)){const t=e.toString("utf8").indexOf("\n");-1!==t&&N(i(e,0,t),...h(i(e,t+1)))}})),c(((e,t)=>{l.readyState!=l.OPEN?(I("error",t),I("open",(()=>e(P)))):e(P)}))};export{D as createWsSynchronizer};
|
|
Binary file
|
package/lib/synchronizers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):h(e,t,a()),d(e,t)},v=y(),p=y(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),H=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,m=(r,c,i,m,D=1,x)=>{let I;const[z]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[H(i=e,0)*C+H(i,1)*M+H(i,2)*A+H(i,3)*S+H(i,4)*f+H(i,5)*L+H(i,6),H(i,7)*S+H(i,8)*f+H(i,9)*L+H(i,10),H(i,11)*A+H(i,12)*S+H(i,13)*f+H(i,14)*L+H(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),E=y();i(((e,t,a,s)=>{0==a?o(d(E,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&R.isAutoLoading()?P(e,s).then((e=>I?.(void 0,(()=>e)))):o(2==a&&R.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const O=async(e,t,s="")=>new a(((a,n)=>{const o=z(),r=setTimeout((()=>{u(E,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);h(E,o,[e,(e,t)=>{clearTimeout(r),u(E,o),a([e,t])}]),c(e,o,t,s)})),P=async(e=null,t)=>{n(t)&&([t,e]=await O(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await O(e,5,r.getMergeableCellHashes((await O(e,4,r.getMergeableRowHashes((await O(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await O(e,6,r.getMergeableValuesHashes()))[0]),g},R=((a,s,r,c,i,u,y,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,H,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t)])(y,a),D=async e=>(2!=f&&(f=1,await I.schedule((async()=>{await e(),f=0}))),I),x=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},I={load:async(e,t)=>await D((async()=>{try{x(await s())}catch(s){u?.(s),a.setContent([e,t])}})),startAutoLoad:async(e={},t={})=>(await I.stopAutoLoad().load(e,t),A=c((async(e,t)=>{const a=t?.();await D((async()=>{try{x(a??e?.()??await s())}catch(e){u?.(e)}}))})),I),stopAutoLoad:()=>(A&&(i(A),A=void 0),I),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await I.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=H();m(e)&&I.save((()=>e))})),I),stopAutoSave:()=>(o(S,a.delListener),S=void 0,I),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(p,C),...e),await(async()=>{if(!d(v,C)){for(h(v,C,1);!n((e=d(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}h(v,C,0)}var e})(),I),getStore:()=>a,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(I)})(r,(async()=>{const e=await P();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>I=e),(()=>I=void 0),x,!0,{startSync:async()=>await(await R.startAutoLoad()).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(m(),R.stopSync()),getSynchronizerStats:()=>({})});return R};export{m as createCustomSynchronizer};
|
|
1
|
+
const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):h(e,t,a()),d(e,t)},v=y(),p=y(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),H=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,m=(r,c,i,m,D=1,x)=>{let I;const[z]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[H(i=e,0)*C+H(i,1)*M+H(i,2)*A+H(i,3)*S+H(i,4)*f+H(i,5)*L+H(i,6),H(i,7)*S+H(i,8)*f+H(i,9)*L+H(i,10),H(i,11)*A+H(i,12)*S+H(i,13)*f+H(i,14)*L+H(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),E=y();i(((e,t,a,s)=>{0==a?o(d(E,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&R.isAutoLoading()?P(e,s).then((e=>I?.(void 0,(()=>e)))):o(2==a&&R.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const O=async(e,t,s="")=>new a(((a,n)=>{const o=z(),r=setTimeout((()=>{u(E,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);h(E,o,[e,(e,t)=>{clearTimeout(r),u(E,o),a([e,t])}]),c(e,o,t,s)})),P=async(e=null,t)=>{n(t)&&([t,e]=await O(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await O(e,5,r.getMergeableCellHashes((await O(e,4,r.getMergeableRowHashes((await O(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await O(e,6,r.getMergeableValuesHashes()))[0]),g},R=((a,s,r,c,i,u,y,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,H,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t)])(y,a),D=async e=>(2!=f&&(f=1,await I.schedule((async()=>{await e(),f=0}))),I),x=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},I={load:async(e,t)=>await D((async()=>{try{x(await s())}catch(s){u?.(s),a.setContent([e,t])}})),startAutoLoad:async(e={},t={})=>(await I.stopAutoLoad().load(e,t),A=c((async(e,t)=>{const a=t?.();await D((async()=>{try{x(a??e?.()??await s())}catch(e){u?.(e)}}))})),I),stopAutoLoad:()=>(A&&(i(A),A=void 0),I),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await I.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=H();m(e)&&I.save((()=>e))})),I),stopAutoSave:()=>(o(S,a.delListener),S=void 0,I),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(p,C),...e),await(async()=>{if(!d(v,C)){for(h(v,C,1);!n((e=d(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}h(v,C,0)}var e})(),I),getStore:()=>a,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(I)})(r,(async()=>{const e=await P();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>I=e),(()=>I=void 0),x,!0,{startSync:async(e,t)=>await(await R.startAutoLoad(e,t)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(m(),R.stopSync()),getSynchronizerStats:()=>({})});return R};export{m as createCustomSynchronizer};
|
package/lib/synchronizers.js.gz
CHANGED
|
Binary file
|