tinybase 6.2.0-beta.0 → 6.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/common/index.d.ts +124 -0
- package/@types/common/with-schemas/index.d.ts +124 -0
- package/@types/index.d.ts +1 -1
- package/@types/mergeable-store/index.d.ts +2 -14
- package/@types/mergeable-store/with-schemas/index.d.ts +2 -14
- package/@types/omni/index.d.ts +54 -0
- package/@types/omni/with-schemas/index.d.ts +54 -0
- package/@types/persisters/index.d.ts +2 -2
- package/@types/persisters/with-schemas/index.d.ts +2 -2
- package/@types/relationships/index.d.ts +2 -2
- package/@types/relationships/with-schemas/index.d.ts +2 -2
- package/@types/store/index.d.ts +1 -1
- package/@types/store/with-schemas/index.d.ts +1 -1
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +1 -1
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +1 -1
- package/@types/ui-react/index.d.ts +455 -7
- package/@types/ui-react/with-schemas/index.d.ts +5 -3
- package/@types/with-schemas/index.d.ts +1 -1
- package/common/index.js +108 -4
- package/common/with-schemas/index.js +108 -4
- package/index.js +107 -86
- package/mergeable-store/index.js +73 -54
- package/mergeable-store/with-schemas/index.js +73 -54
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -0
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -0
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +8413 -0
- package/omni/with-schemas/index.js +8413 -0
- package/package.json +474 -438
- package/readme.md +13 -13
- package/releases.md +28 -28
- package/synchronizers/index.js +0 -1
- package/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
- package/synchronizers/synchronizer-local/index.js +0 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
- package/synchronizers/synchronizer-ws-client/index.js +0 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
- package/synchronizers/synchronizer-ws-server/index.js +0 -1
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
- package/synchronizers/with-schemas/index.js +0 -1
- package/with-schemas/index.js +107 -86
|
@@ -249,13 +249,10 @@ const DECODE = /* @__PURE__ */ mapNew(
|
|
|
249
249
|
);
|
|
250
250
|
const encode = (num) => ENCODE[num & MASK6];
|
|
251
251
|
const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
|
|
252
|
-
|
|
253
252
|
const getRandomValues = GLOBAL.crypto
|
|
254
253
|
? (array) => GLOBAL.crypto.getRandomValues(array)
|
|
255
254
|
: /* istanbul ignore next */
|
|
256
255
|
(array) => arrayMap(array, () => mathFloor(math.random() * 256));
|
|
257
|
-
const defaultSorter = (sortKey1, sortKey2) =>
|
|
258
|
-
(sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
|
|
259
256
|
const getUniqueId = (length = 16) =>
|
|
260
257
|
arrayReduce(
|
|
261
258
|
getRandomValues(new Uint8Array(length)),
|
|
@@ -269,67 +266,79 @@ const SHIFT24 = 2 ** 24;
|
|
|
269
266
|
const SHIFT18 = 2 ** 18;
|
|
270
267
|
const SHIFT12 = 2 ** 12;
|
|
271
268
|
const SHIFT6 = 2 ** 6;
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
encode(counter24 / SHIFT6) +
|
|
283
|
-
encode(counter24);
|
|
284
|
-
const decodeTimeAndCounter = (hlc16) => [
|
|
285
|
-
decode(hlc16, 0) * SHIFT36 +
|
|
286
|
-
decode(hlc16, 1) * SHIFT30 +
|
|
287
|
-
decode(hlc16, 2) * SHIFT24 +
|
|
288
|
-
decode(hlc16, 3) * SHIFT18 +
|
|
289
|
-
decode(hlc16, 4) * SHIFT12 +
|
|
290
|
-
decode(hlc16, 5) * SHIFT6 +
|
|
291
|
-
decode(hlc16, 6),
|
|
292
|
-
decode(hlc16, 7) * SHIFT18 +
|
|
293
|
-
decode(hlc16, 8) * SHIFT12 +
|
|
294
|
-
decode(hlc16, 9) * SHIFT6 +
|
|
295
|
-
decode(hlc16, 10),
|
|
296
|
-
];
|
|
269
|
+
const getClientIdFromUniqueId = (uniqueId) => {
|
|
270
|
+
const clientHash30 = getHash(uniqueId);
|
|
271
|
+
return (
|
|
272
|
+
encode(clientHash30 / SHIFT24) +
|
|
273
|
+
encode(clientHash30 / SHIFT18) +
|
|
274
|
+
encode(clientHash30 / SHIFT12) +
|
|
275
|
+
encode(clientHash30 / SHIFT6) +
|
|
276
|
+
encode(clientHash30)
|
|
277
|
+
);
|
|
278
|
+
};
|
|
297
279
|
const getHlcFunctions = (uniqueId, getNow = Date.now) => {
|
|
298
|
-
let
|
|
280
|
+
let lastLogicalTime = 0;
|
|
299
281
|
let lastCounter = -1;
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
(uniqueId2) => {
|
|
303
|
-
const clientHash30 = getHash(uniqueId2);
|
|
304
|
-
return (
|
|
305
|
-
encode(clientHash30 / SHIFT24) +
|
|
306
|
-
encode(clientHash30 / SHIFT18) +
|
|
307
|
-
encode(clientHash30 / SHIFT12) +
|
|
308
|
-
encode(clientHash30 / SHIFT6) +
|
|
309
|
-
encode(clientHash30)
|
|
310
|
-
);
|
|
311
|
-
},
|
|
312
|
-
() => getUniqueId(5),
|
|
282
|
+
const thisClientId = ifNotUndefined(uniqueId, getClientIdFromUniqueId, () =>
|
|
283
|
+
getUniqueId(5),
|
|
313
284
|
);
|
|
314
|
-
const
|
|
285
|
+
const getNextHlc = () => {
|
|
315
286
|
seenHlc();
|
|
316
|
-
return
|
|
287
|
+
return encodeHlc(lastLogicalTime, ++lastCounter);
|
|
317
288
|
};
|
|
318
289
|
const seenHlc = (hlc) => {
|
|
319
|
-
const previousLogicalTime =
|
|
290
|
+
const previousLogicalTime = lastLogicalTime;
|
|
320
291
|
const [remoteLogicalTime, remoteCounter] =
|
|
321
|
-
isUndefined(hlc) || hlc == '' ? [0, 0] :
|
|
322
|
-
|
|
292
|
+
isUndefined(hlc) || hlc == '' ? [0, 0] : decodeHlc(hlc);
|
|
293
|
+
lastLogicalTime = mathMax(previousLogicalTime, remoteLogicalTime, getNow());
|
|
323
294
|
lastCounter =
|
|
324
|
-
|
|
325
|
-
?
|
|
295
|
+
lastLogicalTime == previousLogicalTime
|
|
296
|
+
? lastLogicalTime == remoteLogicalTime
|
|
326
297
|
? mathMax(lastCounter, remoteCounter)
|
|
327
298
|
: lastCounter
|
|
328
|
-
:
|
|
299
|
+
: lastLogicalTime == remoteLogicalTime
|
|
329
300
|
? remoteCounter
|
|
330
301
|
: -1;
|
|
331
302
|
};
|
|
332
|
-
|
|
303
|
+
const encodeHlc = (logicalTime42, counter24, clientId) =>
|
|
304
|
+
encode(logicalTime42 / SHIFT36) +
|
|
305
|
+
encode(logicalTime42 / SHIFT30) +
|
|
306
|
+
encode(logicalTime42 / SHIFT24) +
|
|
307
|
+
encode(logicalTime42 / SHIFT18) +
|
|
308
|
+
encode(logicalTime42 / SHIFT12) +
|
|
309
|
+
encode(logicalTime42 / SHIFT6) +
|
|
310
|
+
encode(logicalTime42) +
|
|
311
|
+
encode(counter24 / SHIFT18) +
|
|
312
|
+
encode(counter24 / SHIFT12) +
|
|
313
|
+
encode(counter24 / SHIFT6) +
|
|
314
|
+
encode(counter24) +
|
|
315
|
+
(isUndefined(clientId) ? thisClientId : getClientIdFromUniqueId(clientId));
|
|
316
|
+
const decodeHlc = (hlc16) => [
|
|
317
|
+
decode(hlc16, 0) * SHIFT36 +
|
|
318
|
+
decode(hlc16, 1) * SHIFT30 +
|
|
319
|
+
decode(hlc16, 2) * SHIFT24 +
|
|
320
|
+
decode(hlc16, 3) * SHIFT18 +
|
|
321
|
+
decode(hlc16, 4) * SHIFT12 +
|
|
322
|
+
decode(hlc16, 5) * SHIFT6 +
|
|
323
|
+
decode(hlc16, 6),
|
|
324
|
+
decode(hlc16, 7) * SHIFT18 +
|
|
325
|
+
decode(hlc16, 8) * SHIFT12 +
|
|
326
|
+
decode(hlc16, 9) * SHIFT6 +
|
|
327
|
+
decode(hlc16, 10),
|
|
328
|
+
hlc16.slice(11),
|
|
329
|
+
];
|
|
330
|
+
const getLastLogicalTime = () => lastLogicalTime;
|
|
331
|
+
const getLastCounter = () => lastCounter;
|
|
332
|
+
const getClientId = () => thisClientId;
|
|
333
|
+
return [
|
|
334
|
+
getNextHlc,
|
|
335
|
+
seenHlc,
|
|
336
|
+
encodeHlc,
|
|
337
|
+
decodeHlc,
|
|
338
|
+
getLastLogicalTime,
|
|
339
|
+
getLastCounter,
|
|
340
|
+
getClientId,
|
|
341
|
+
];
|
|
333
342
|
};
|
|
334
343
|
|
|
335
344
|
const jsonString = JSON.stringify;
|
|
@@ -380,6 +389,9 @@ const stampValidate = (stamp, validateThing) =>
|
|
|
380
389
|
isFiniteNumber(stamp[2]) &&
|
|
381
390
|
validateThing(stamp[0]);
|
|
382
391
|
|
|
392
|
+
const defaultSorter = (sortKey1, sortKey2) =>
|
|
393
|
+
(sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
|
|
394
|
+
|
|
383
395
|
const INTEGER = /^\d+$/;
|
|
384
396
|
const getPoolFunctions = () => {
|
|
385
397
|
const pool = [];
|
|
@@ -1889,7 +1901,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
1889
1901
|
let defaultingContent = 0;
|
|
1890
1902
|
const touchedCells = mapNew();
|
|
1891
1903
|
const touchedValues = setNew();
|
|
1892
|
-
const [
|
|
1904
|
+
const [getNextHlc, seenHlc] = getHlcFunctions(uniqueId, getNow);
|
|
1893
1905
|
const store = createStore();
|
|
1894
1906
|
const disableListeningToRawStoreChanges = (actions) => {
|
|
1895
1907
|
const wasListening = listeningToRawStoreChanges;
|
|
@@ -2024,7 +2036,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2024
2036
|
{
|
|
2025
2037
|
[cellId]: [
|
|
2026
2038
|
newCell,
|
|
2027
|
-
defaultingContent ? EMPTY_STRING :
|
|
2039
|
+
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
2028
2040
|
],
|
|
2029
2041
|
},
|
|
2030
2042
|
],
|
|
@@ -2042,7 +2054,14 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2042
2054
|
if (listeningToRawStoreChanges) {
|
|
2043
2055
|
mergeContentOrChanges([
|
|
2044
2056
|
[{}],
|
|
2045
|
-
[
|
|
2057
|
+
[
|
|
2058
|
+
{
|
|
2059
|
+
[valueId]: [
|
|
2060
|
+
newValue,
|
|
2061
|
+
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
2062
|
+
],
|
|
2063
|
+
},
|
|
2064
|
+
],
|
|
2046
2065
|
1,
|
|
2047
2066
|
]);
|
|
2048
2067
|
}
|
package/min/common/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const r=(r,
|
|
1
|
+
const r=(r,e="",t)=>r.split(e,t),e=globalThis,t=Math,n=t.max,o=t.floor,a=r=>null==r,c=(r,e)=>r.map(e),l=r=>new Map(r),s=r("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),u=l(c(s,((r,e)=>[r,e]))),p=r=>s[63&r],d=(r,e)=>{return t=u,n=r[e],t?.get(n)??0;var t,n},i=e.crypto?r=>e.crypto.getRandomValues(r):r=>c(r,(()=>o(256*t.random()))),m=(r=16)=>{return e=(r,e)=>r+p(e),i(new Uint8Array(r)).reduce(e,"");var e},v=new e.TextEncoder,w=2**36,g=2**30,h=2**24,x=2**18,y=4096,f=r=>{const e=(r=>{let e=2166136261;var t;return t=r=>{e^=r,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)},v.encode(r).forEach(t),e>>>0})(r);return p(e/h)+p(e/x)+p(e/y)+p(e/64)+p(e)},E=(r,e=Date.now)=>{let t=0,o=-1;const c=(s=f,u=()=>m(5),a(l=r)?u?.():s(l));var l,s,u;const i=r=>{const c=t,[l,s]=a(r)||""==r?[0,0]:E(r);t=n(c,l,e()),o=t==c?t==l?n(o,s):o:t==l?s:-1},v=(r,e,t)=>p(r/w)+p(r/g)+p(r/h)+p(r/x)+p(r/y)+p(r/64)+p(r)+p(e/x)+p(e/y)+p(e/64)+p(e)+(a(t)?c:f(t)),E=r=>[d(r,0)*w+d(r,1)*g+d(r,2)*h+d(r,3)*x+d(r,4)*y+64*d(r,5)+d(r,6),d(r,7)*x+d(r,8)*y+64*d(r,9)+d(r,10),r.slice(11)];return[()=>(i(),v(t,++o)),i,v,E,()=>t,()=>o,()=>c]},M=(r,e)=>(r??0)<(e??0)?-1:1;export{M as defaultSorter,E as getHlcFunctions,i as getRandomValues,m as getUniqueId};
|
package/min/common/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const r=(r,
|
|
1
|
+
const r=(r,e="",t)=>r.split(e,t),e=globalThis,t=Math,n=t.max,o=t.floor,a=r=>null==r,c=(r,e)=>r.map(e),l=r=>new Map(r),s=r("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),u=l(c(s,((r,e)=>[r,e]))),p=r=>s[63&r],d=(r,e)=>{return t=u,n=r[e],t?.get(n)??0;var t,n},i=e.crypto?r=>e.crypto.getRandomValues(r):r=>c(r,(()=>o(256*t.random()))),m=(r=16)=>{return e=(r,e)=>r+p(e),i(new Uint8Array(r)).reduce(e,"");var e},v=new e.TextEncoder,w=2**36,g=2**30,h=2**24,x=2**18,y=4096,f=r=>{const e=(r=>{let e=2166136261;var t;return t=r=>{e^=r,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)},v.encode(r).forEach(t),e>>>0})(r);return p(e/h)+p(e/x)+p(e/y)+p(e/64)+p(e)},E=(r,e=Date.now)=>{let t=0,o=-1;const c=(s=f,u=()=>m(5),a(l=r)?u?.():s(l));var l,s,u;const i=r=>{const c=t,[l,s]=a(r)||""==r?[0,0]:E(r);t=n(c,l,e()),o=t==c?t==l?n(o,s):o:t==l?s:-1},v=(r,e,t)=>p(r/w)+p(r/g)+p(r/h)+p(r/x)+p(r/y)+p(r/64)+p(r)+p(e/x)+p(e/y)+p(e/64)+p(e)+(a(t)?c:f(t)),E=r=>[d(r,0)*w+d(r,1)*g+d(r,2)*h+d(r,3)*x+d(r,4)*y+64*d(r,5)+d(r,6),d(r,7)*x+d(r,8)*y+64*d(r,9)+d(r,10),r.slice(11)];return[()=>(i(),v(t,++o)),i,v,E,()=>t,()=>o,()=>c]},M=(r,e)=>(r??0)<(e??0)?-1:1;export{M as defaultSorter,E as getHlcFunctions,i as getRandomValues,m as getUniqueId};
|
|
Binary file
|
package/min/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),o=e(e),a="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",w=b+"Count",L=b+g,C="Sorted"+b+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==o,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,((e,s)=>t[s]===e)),K=(e,t)=>q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,((e,t)=>e+t),0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),le=e=>e.shift(),oe=t=>{const s=e(t);return z(s)||s==l&&x(t)?s:void 0},ae=e=>F(e)||!F(oe(e)),re=(e,t,s,n,l)=>F(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(be(t),((t,s)=>t+e(s)),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==ce(e),be=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.entries,pe=Re.isFrozen,Se=e=>!F(e)&&Q(Te(e),(e=>e==Re.prototype||F(Te(e))),(()=>!0)),ye=Re.keys,Ve=Re.freeze,me=(e=[])=>Re.fromEntries(e),Me=(e,t)=>t in e,Ee=(e,t)=>(delete e[t],e),ke=(e,t)=>Y(ve(e),(([e,s])=>t(s,e))),De=(e,t)=>me(((e,t)=>Z(ve(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),He=e=>Se(e)&&0==(e=>P(ye(e)))(e),Je=(e,t,s)=>(Me(e,t)||(e[t]=s()),e[t]),xe=(e,t,s,n=0)=>F(e)||!Se(e)||!n&&He(e)||pe(e)?(s?.(),!1):(ke(e,((s,n)=>{t(s,n)||Ee(e,n)})),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,((e,s)=>t(s,e))),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,((t,n)=>s(e,n,t))),Ne(e,(s=>Me(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const l={};return Le(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(l[o]=s)}})),l},je=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),Ie,He),_e=(e,t,s)=>Pe(e,(e=>je(e,t,s)),Ie,He),Be=(e,t)=>{const s=Fe();return Le(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,l=0)=>Q((s?We:ze)(e,t[l],l>P(t)-2?s:Fe),(o=>{if(l>P(t)-2)return n?.(o)&&Oe(e,t[l]),o;const a=Ge(o,t,s,n,l+1);return Ie(o)&&Oe(e,t[l]),a})),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,l)=>{const o=e.hasRow,a=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const l=We(u,t,Ke);return Y(n,(t=>Xe(l,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(ze(u,t),(n=>{Y(ee(s)?be(n):s,(t=>{e.delListener(t),Ce(n,t)})),Ie(n)&&Oe(u,t)})),f=(e,s)=>{Oe(a,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),l(i))},I=e=>{Oe(a,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),l(i)};return[()=>e,()=>Qe(a),e=>Ne(r,e),e=>fe(r,e),e=>ze(a,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,l,a,r)=>{f(t,n);const i=Fe(),u=Fe(),I=ze(d,t),b=ze(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=ze(I,t),c=o(n,t)?s(a(l,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(b,t),s=o(n,t)?r(l,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{l((()=>{Le(i,(([,e],t)=>Oe(I,t,e))),Le(u,((e,t)=>Oe(b,t,e)))}),i,u,I,b,e),we(i),we(u)};Ne(I,w),e.hasTable(n)&&Y(e.getRowIds(n),(e=>{fe(I,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},I,e=>n(e,i),()=>Ne(u,I),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?le(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,l]=tt(),o=Fe();return[(l,a,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(o,c,[l,a,r,i,d]),Xe(Ge(a,r??[t],Ke),c),c},(e,n,...l)=>Y(((e,s=[t])=>{const n=[],l=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,(e=>l(e,t+1))):Y([s[t],null],(s=>l(ze(e,s),t+1)));return l(e,0),n})(e,n),(e=>Le(e,(e=>ze(o,e)[0](s,...n??[],...l))))),e=>Q(ze(o,e),(([,s,n])=>(Ge(s,n??[t],void 0,(t=>(Ce(t,e),Ie(t)?1:0))),Oe(o,e),l(e),n))),e=>Q(ze(o,e),(([e,,t=[],n,l])=>{const o=(...a)=>{const r=P(a);r==P(t)?e(s,...a,...l(a)):F(t[r])?Y(n[r]?.(...a)??[],(e=>o(...a,e))):o(...a,t[r])};o()}))]},nt=$e((e=>{let s,n,l,o=100,a=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st((()=>J)),f=Fe(),I=Fe(),b=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,l]=ze(f,s);Le(n,((s,n)=>Le(s,((s,l)=>Le(s,((s,o)=>re(e,n,l,o,s[t]))))))),Le(l,((s,n)=>ie(e,n,s[t])))})),i=1},C=e=>{Oe(f,e),Oe(I,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(b,P(b)-o),v=()=>Q(s,(()=>{se(b,s),T(),R(w),s=void 0,l=1})),p=()=>{s=ne(b),l=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[a,r]),D(s,e),a=Fe(),r=Fe(),l=1),s),m=()=>{ee(b)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(b),l=1)},M=()=>{ee(w)||(se(b,s),s=le(w),L(1,s),l=1)},E=()=>{l&&(g(d),l=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(I,e)!==t&&(Oe(I,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(o=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ne(I,e),hasCheckpoint:H,getCheckpoint:e=>ze(I,e),goBackward:()=>(m(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=U(b,e)?m:U(w,e)?M:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(b),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,l,o)=>{if(i){v();const e=We(a,t,Fe),r=We(e,s,Fe),i=We(r,n,(()=>[o,void 0]));i[1]=l,i[0]===l&&Ie(Oe(r,n))&&Ie(Oe(e,s))&&Ie(Oe(a,t))&&p(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){v();const e=We(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Ie(Oe(r,t))&&p(),E()}}))}};return Ve(J.clear())}),(e=>e._registerListeners())),lt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=Fe(Z(lt,((e,t)=>[e,t]))),at=e=>lt[63&e],rt=(e,t)=>ze(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,(()=>J(256*k.random()))),dt=(e,t)=>(e??0)<(t??0)?-1:1,ct=(e=16)=>te(it(new Uint8Array(e)),((e,t)=>e+at(t)),""),ut=$e((e=>{const s=Fe(),n=Fe(),[l,o,a]=st((()=>C)),[r,i,d,c,u,g,h,,f,I,b,w]=Ye(e,Fe,(e=>F(e)?t:W(e)?Z(e,y):y(e)),l,o),L=(t,s,n)=>{const l=u(t);Le(n,((t,n)=>s(n,(s=>Le(t,(t=>s(t,(s=>e.forEachCell(l,t,s)))))))))},C={setIndexDefinition:(e,t,l,a,r,i=dt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,((t,l,r,c,u,f)=>{let I=0;const b=Ke(),w=Ke(),L=g(e);if(Le(l,(([e,t],s)=>{const n=Ke(e),l=Ke(t);Le(n,(e=>Ce(l,e)?Ce(n,e):0)),Le(n,(e=>{Xe(b,e),Q(ze(L,e),(t=>{Ce(t,s),Ie(t)&&(Oe(L,e),I=1)}))})),Le(l,(e=>{Xe(b,e),fe(L,e)||(Oe(L,e,Ke()),I=1),Xe(ze(L,e),s),F(a)||Xe(w,e)}))})),t(),Ie(u)||(f?Ne(L,(e=>Xe(w,e))):Ne(r,(e=>Q(ze(c,e),(e=>Y(W(e)?e:[e],(e=>Xe(w,e))))))),Le(w,(e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(b,e))}))),(I||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),I=1)}I&&o(s,[e]),Le(b,(t=>o(n,[e,t])))}),Ze(l),Q(a,Ze)),C},delIndexDefinition:e=>(I(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>be(ze(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(a(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)})),gt=new E.TextEncoder,ht=e=>{let t=2166136261;return Y(gt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ft=2**36,It=2**30,bt=2**24,wt=2**18,Lt=4096,Ct=JSON.stringify,Rt=JSON.parse,Tt=e=>Ct(e,((e,t)=>t instanceof Map?Re.fromEntries([...t]):t)),vt=([e,t])=>St(e,t),pt=([e,t,s])=>[e,t,s],St=(e,t)=>t?[e,t]:[e],yt=(e,t,s)=>[e,t,s],Vt=e=>e[2],mt=(e,t)=>ht(e+":"+t),Mt=(e,t)=>t>e?(e?ht(e):0)^ht(t):0,Et=(e,t)=>((e??"")>(t??"")?e:t)??"",kt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Dt=(e=t)=>St(me(),e),Ht=(e=t)=>[Fe(),e,0],Jt=([e,t,s],n=pt)=>[Pe(e,n),t,s],xt=([e,t],s=vt)=>St(Pe(e,s),t),Ft=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==l&&x(t[2])&&s(t[0]),Qt=e=>[e,e],zt=(e,t=ue)=>t(e[0])+t(e[1]),Nt=()=>[Fe(),Fe()],Ot=e=>[...e],Wt=([e,t])=>e===t,At=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),Pt=()=>{let e,t,s=!1,n=!1,o=0,d=[];const g=Fe(),C=Fe(),V=Fe(),m=Fe(),M=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Nt(),ne=Nt(),le=Nt(),ae=Nt(),de=Nt(),be=Nt(),Re=Nt(),Te=Nt(),ve=Nt(),pe=Nt(),ye=Nt(),me=Nt(),ke=Nt(),Je=Nt(),Ge=Nt(),Ye=Nt(),Ze=Nt(),$e=Nt(),et=Nt(),nt=Nt(),lt=Nt(),ot=Nt(),at=Fe(),rt=Nt(),[it,ct,ut,gt]=st((()=>Ps)),ht=e=>{if(!xe(e,((e,t)=>U([a,r],t))))return!1;const t=e[a];return!(!z(t)&&t!=l||(oe(e[r])!=t&&Ee(e,r),0))},ft=W,It=(t,s)=>(!e||fe(x,s)||$t(s))&&xe(t,((e,t)=>bt(s,t,e)),(()=>$t(s))),bt=(e,t,s,n)=>xe(n?s:vt(s,e,t),((n,l)=>Q(wt(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>$t(e,t))),wt=(t,s,n,l)=>e?Q(ze(ze(x,t),n),(e=>oe(l)!=e[a]?$t(t,s,n,l,e[r]):l),(()=>$t(t,s,n,l))):F(oe(l))?$t(t,s,n,l):l,Lt=(e,t)=>xe(t?e:pt(e),((t,s)=>Q(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>es())),Ct=(e,s)=>t?Q(ze(P,e),(t=>oe(s)!=t[a]?es(e,s,t[r]):s),(()=>es(e,s))):F(oe(s))?es(e,s):s,vt=(e,t,s)=>(Q(ze(N,t),(([n,l])=>{Le(n,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(l,(n=>{Me(e,n)||$t(t,s,n)}))})),e),pt=e=>(t&&(Le(j,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(_,(t=>{Me(e,t)||es(t)}))),e),St=e=>Ae(x,e,((e,t,s)=>{const n=Fe(),l=Ke();Ae(We(x,t,Fe),s,((e,t,s)=>{Oe(e,t,s),Q(s[r],(e=>Oe(n,t,e)),(()=>Xe(l,t)))})),Oe(N,t,[n,l])}),((e,t)=>{Oe(x,t),Oe(N,t)})),yt=e=>Ae(P,e,((e,t,s)=>{Oe(P,t,s),Q(s[r],(e=>Oe(j,t,e)),(()=>Xe(_,t)))}),((e,t)=>{Oe(P,t),Oe(j,t),Ce(_,t)})),Vt=e=>He(e)?Js():Ms(e),mt=e=>Ae($,e,((e,t,s)=>Mt(t,s)),((e,t)=>jt(t))),Mt=(e,t)=>Ae(We($,e,(()=>(qt(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe()))),t,((t,s,n)=>Et(e,t,s,n)),((t,s)=>_t(e,t,s))),Et=(e,t,s,n,l)=>Ae(We(t,s,(()=>(Gt(e,s,1),Fe()))),n,((t,n,l)=>kt(e,s,t,n,l)),((n,o)=>Bt(e,t,s,n,o,l))),kt=(e,t,s,n,l)=>{fe(s,n)||Kt(e,t,n,1);const o=ze(s,n);l!==o&&(Xt(e,t,n,o,l),Oe(s,n,l))},Dt=(e,t,s,n,l)=>Q(ze(t,s),(t=>kt(e,s,t,n,l)),(()=>Et(e,t,s,vt({[n]:l},e,s)))),Ht=e=>He(e)?Qs():Es(e),Jt=e=>Ae(ee,e,((e,t,s)=>xt(t,s)),((e,t)=>Ut(t))),xt=(e,t)=>{fe(ee,e)||Yt(e,1);const s=ze(ee,e);t!==s&&(Zt(e,s,t),Oe(ee,e,t))},Ft=e=>ze($,e)??Mt(e,{}),jt=e=>Mt(e,{}),_t=(e,t,s)=>{const[,n]=ze(q,e);n(s),Et(e,t,s,{},!0)},Bt=(e,t,s,n,l,o)=>{const a=ze(ze(N,e)?.[0],l);if(!F(a)&&!o)return kt(e,s,n,l,a);const r=t=>{Xt(e,s,t,ze(n,t)),Kt(e,s,t,-1),Oe(n,t)};F(a)?r(l):Ne(n,r),Ie(n)&&(Gt(e,s,-1),Ie(Oe(t,s))&&(qt(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Ut=e=>{const t=ze(j,e);if(!F(t))return xt(e,t);Zt(e,ze(ee,e)),Yt(e,-1),Oe(ee,e)},qt=(e,t)=>At(g,e,t),Gt=(e,t,s)=>At(We(m,e,Fe),t,s)&&Oe(V,e,We(V,e,(()=>0))+s),Kt=(e,t,s,n)=>{const l=ze(K,e),o=ze(l,s)??0;(0==o&&1==n||1==o&&-1==n)&&At(We(C,e,Fe),s,n),Oe(l,s,o!=-n?o+n:null),At(We(We(M,e,Fe),t,Fe),s,n)},Xt=(e,t,s,n,l)=>{We(We(We(E,e,Fe),t,Fe),s,(()=>[n,0]))[1]=l,d[3]?.(e,t,s,l)},Yt=(e,t)=>At(k,e,t),Zt=(e,t,s)=>{We(D,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},$t=(e,t,s,n,l)=>(se(We(We(We(H,e,Fe),t,Fe),s,(()=>[])),n),l),es=(e,t,s)=>(se(We(J,e,(()=>[])),t),s),ts=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(ws(e,t,s))])),ss=e=>Q(ze(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(Rs(e))])),ns=e=>Ie(H)||Ie(Ye[e])?0:Le(e?qe(H):H,((t,s)=>Le(t,((t,n)=>Le(t,((t,l)=>ct(Ye[e],[s,n,l],t))))))),ls=e=>Ie(J)||Ie(Ze[e])?0:Le(e?Be(J):J,((t,s)=>ct(Ze[e],[s],t))),os=(e,t,s,n)=>{if(!Ie(e))return ct(t,n,(()=>Pe(e))),Ne(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},as=e=>{const t=Ts();t!=s&&ct(te[e],void 0,t);const n=Ie(pe[e]),l=Ie(ke[e])&&Ie(Je[e])&&Ie(ve[e])&&Ie(ye[e])&&Ie(be[e])&&Ie(Re[e])&&Ie(Te[e])&&n&&Ie(le[e])&&Ie(ae[e]),o=Ie(Ge[e])&&Ie(me[e])&&Ie(de[e])&&Ie(ne[e]);if(!l||!o){const t=e?[Be(g),Ue(C),Be(V),Ue(m),qe(M),qe(E)]:[g,C,V,m,M,E];if(!l){os(t[0],le[e],ae[e]),Le(t[1],((t,s)=>os(t,be[e],Re[e],[s]))),Le(t[2],((t,s)=>{0!=t&&ct(Te[e],[s],hs(s))}));const s=Ke();Le(t[3],((t,l)=>{os(t,ve[e],ye[e],[l])&&!n&&(ct(pe[e],[l,null]),Xe(s,l))})),n||Le(t[5],((t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,(e=>Le(e,(([t,n],l)=>n!==t?Xe(s,l):Ce(e,l))))),Le(s,(t=>ct(pe[e],[n,t])))}})),Le(t[4],((t,s)=>Le(t,((t,n)=>os(t,ke[e],Je[e],[s,n])))))}if(!o){let s;Le(t[5],((t,n)=>{let l;Le(t,((t,o)=>{let a;Le(t,(([t,r],i)=>{r!==t&&(ct(Ge[e],[n,o,i],r,t,ts),s=l=a=1)})),a&&ct(me[e],[n,o],ts)})),l&&ct(de[e],[n],ts)})),s&&ct(ne[e],void 0,ts)}}},rs=e=>{const t=Vs();t!=n&&ct($e[e],void 0,t);const s=Ie(nt[e])&&Ie(lt[e]),l=Ie(ot[e])&&Ie(et[e]);if(!s||!l){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],nt[e],lt[e]),!l){let s;Le(t[1],(([t,n],l)=>{n!==t&&(ct(ot[e],[l],n,t,ss),s=1)})),s&&ct(et[e],void 0,ss)}}},is=(e,...t)=>(Os((()=>e(...Z(t,y)))),Ps),ds=(e,t,s,n,l)=>{let o=Is(e,t,...s);return it((()=>{const l=Is(e,t,...s);G(l,o)||(o=l,n(Ps,e,t,...s,o))}),pe[l?1:0],[e,t],[us])},cs=()=>_e($),us=()=>Qe($),gs=e=>Qe(ze(K,y(e))),hs=e=>ce(ze($,y(e))),fs=e=>Qe(ze($,y(e))),Is=(e,t,s,n=0,l)=>{return Se(e)?Is(e.tableId,e.cellId,e.descending,e.offset,e.limit):Z(A(X((o=ze($,y(e)),a=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>dt(e,t)*(s?-1:1))),n,F(l)?l:n+l),(([,e])=>e));var o,a},bs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),ws=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Ls=()=>Pe(ee),Cs=()=>Qe(ee),Rs=e=>ze(ee,y(e)),Ts=()=>!Ie($),vs=e=>fe($,y(e)),ps=(e,t)=>fe(ze(K,y(e)),y(t)),Ss=(e,t)=>fe(ze($,y(e)),y(t)),ys=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Vs=()=>!Ie(ee),ms=e=>fe(ee,y(e)),Ms=e=>is((()=>(e=>xe(e,It,$t))(e)?mt(e):0)),Es=e=>is((()=>Lt(e)?Jt(e):0)),ks=e=>(B((()=>Vt(Rt(e)))),Ps),Ds=t=>is((()=>{if((e=xe(t,(e=>xe(e,ht))))&&(St(t),!Ie($))){const e=cs();Js(),Ms(e)}})),Hs=e=>is((()=>{if(t=(e=>xe(e,ht))(e)){const s=Ls();Ns(),Qs(),t=!0,yt(e),Es(s)}})),Js=()=>is((()=>mt({}))),xs=e=>is((e=>fe($,e)?jt(e):0),e),Fs=(e,t)=>is(((e,t)=>Q(ze($,e),(s=>fe(s,t)?_t(e,s,t):0))),e,t),Qs=()=>is((()=>Jt({}))),zs=()=>is((()=>{St({}),e=!1})),Ns=()=>is((()=>{yt({}),t=!1})),Os=(e,t)=>{if(-1!=o){Ws();const s=e();return As(t),s}},Ws=()=>(-1!=o&&o++,1==o&&(d[0]?.(),ct(at)),Ps),As=e=>(o>0&&(o--,0==o&&(o=1,ns(1),Ie(E)||as(1),ls(1),Ie(D)||rs(1),e?.(Ps)&&(Le(E,((e,t)=>Le(e,((e,s)=>Le(e,(([e],n)=>re(Ps,t,s,n,e))))))),we(E),Le(D,(([e],t)=>ie(Ps,t,e))),we(D)),ct(rt[0],void 0),o=-1,ns(0),Ie(E)||as(0),ls(0),Ie(D)||rs(0),d[1]?.(),ct(rt[1],void 0),d[2]?.(),o=0,s=Ts(),n=Vs(),Y([g,C,V,m,M,E,H,k,D,J],we))),Ps),Ps={getContent:()=>[cs(),Ls()],getTables:cs,getTableIds:us,getTable:e=>je(ze($,y(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:fs,getSortedRowIds:Is,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:bs,getCell:ws,getValues:Ls,getValueIds:Cs,getValue:Rs,hasTables:Ts,hasTable:vs,hasTableCell:ps,hasRow:Ss,hasCell:ys,hasValues:Vs,hasValue:ms,getTablesJson:()=>Tt($),getValuesJson:()=>Tt(ee),getJson:()=>Tt([$,ee]),getTablesSchemaJson:()=>Tt(x),getValuesSchemaJson:()=>Tt(P),getSchemaJson:()=>Tt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>is((()=>{const t=O(e)?e():e;ft(t)&&(([e,t])=>{(He(e)?Js:Ms)(e),(He(t)?Qs:Es)(t)})(t)})),setTables:Ms,setTable:(e,t)=>is((e=>It(t,e)?Mt(e,t):0),e),setRow:(e,t,s)=>is(((e,t)=>bt(e,t,s)?Et(e,Ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return bt(e,n,t)&&(e=y(e),Et(e,Ft(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>is(((e,t)=>{if(bt(e,t,s,1)){const n=Ft(e);De(s,((s,l)=>Dt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>is(((e,t,s)=>Q(wt(e,t,s,O(n)?n(ws(e,t,s)):n),(n=>Dt(e,Ft(e),t,s,n)))),e,t,s),setValues:Es,setPartialValues:e=>is((()=>Lt(e,1)?De(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>is((e=>Q(Ct(e,O(t)?t(Rs(e)):t),(t=>xt(e,t)))),e),applyChanges:e=>is((()=>{De(e[0],((e,t)=>F(e)?xs(t):De(e,((e,s)=>F(e)?Fs(t,s):De(e,((e,n)=>re(Ps,t,s,n,e))))))),De(e[1],((e,t)=>ie(Ps,t,e)))})),setTablesJson:ks,setValuesJson:e=>(B((()=>Ht(Rt(e)))),Ps),setJson:e=>is((()=>B((()=>{const[t,s]=Rt(e);Vt(t),Ht(s)}),(()=>ks(e))))),setTablesSchema:Ds,setValuesSchema:Hs,setSchema:(e,t)=>is((()=>{Ds(e),Hs(t)})),delTables:Js,delTable:xs,delRow:Fs,delCell:(e,t,s,n)=>is(((e,t,s)=>Q(ze($,e),(l=>Q(ze(l,t),(o=>fe(o,s)?Bt(e,l,t,o,s,n):0))))),e,t,s),delValues:Qs,delValue:e=>is((e=>fe(ee,e)?Ut(e):0),e),delTablesSchema:zs,delValuesSchema:Ns,delSchema:()=>is((()=>{zs(),Ns()})),transaction:Os,startTransaction:Ws,getTransactionChanges:()=>[Pe(E,((e,t)=>-1===ze(g,t)?void 0:Pe(e,((e,s)=>-1===ze(ze(m,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Wt(e)))),Ie,He)),Ie,He),Pe(D,(([,e])=>e),(e=>Wt(e))),1],getTransactionLog:()=>[!Ie(E),!Ie(D),_e(E,Ot,Wt),_e(H),Pe(D,Ot,Wt),Pe(J),Pe(g),je(m),_e(M),Pe(k)],finishTransaction:As,forEachTable:e=>Le($,((t,s)=>e(s,(e=>Le(t,((t,s)=>e(s,(e=>Ne(t,e))))))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),((e,s)=>t(s,(t=>Ne(e,t))))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,l,o,a)=>Se(e)?ds(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ds(e,t,[s,n,l],o,a),addStartTransactionListener:e=>it(e,at),addWillFinishTransactionListener:e=>it(e,rt[0]),addDidFinishTransactionListener:e=>it(e,rt[1]),callListener:e=>(gt(e),Ps),delListener:e=>(ut(e),Ps),getListenerStats:()=>({hasTables:zt(te),tables:zt(ne),tableIds:zt(le),hasTable:zt(ae),table:zt(de),tableCellIds:zt(be),hasTableCell:zt(Re,ge),rowCount:zt(Te),rowIds:zt(ve),sortedRowIds:zt(pe),hasRow:zt(ye,ge),row:zt(me,ge),cellIds:zt(ke,ge),hasCell:zt(Je,he),cell:zt(Ge,he),invalidCell:zt(Ye,he),hasValues:zt($e),values:zt(et),valueIds:zt(nt),hasValue:zt(lt),value:zt(ot),invalidValue:zt(Ze),transaction:ue(at)+zt(rt)}),isMergeable:()=>!1,createStore:Pt,addListener:it,callListeners:ct,setInternalListeners:(e,t,s,n,l)=>d=[e,t,s,n,l]};return De({[u+f]:[0,te,[],()=>[Ts()]],[f]:[0,ne],[I]:[0,le],[u+h]:[1,ae,[us],e=>[vs(...e)]],[h]:[1,de,[us]],[h+T]:[1,be,[us]],[u+h+R]:[2,Re,[us,gs],e=>[ps(...e)]],[w]:[1,Te,[us]],[L]:[1,ve,[us]],[u+b]:[2,ye,[us,fs],e=>[Ss(...e)]],[b]:[2,me,[us,fs]],[T]:[2,ke,[us,fs]],[u+R]:[3,Je,[us,fs,bs],e=>[ys(...e)]],[R]:[3,Ge,[us,fs,bs],e=>Qt(ws(...e))],InvalidCell:[3,Ye],[u+p]:[0,$e,[],()=>[Vs()]],[p]:[0,et],[S]:[0,nt],[u+v]:[1,lt,[Cs],e=>[ms(...e)]],[v]:[1,ot,[Cs],e=>Qt(Rs(e[0]))],InvalidValue:[1,Ze]},(([e,t,s,n],l)=>{Ps[c+l+i]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?A(l,0,e):void 0,s,n)})),Ve(Ps)},jt={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},_t=(e=t)=>[Ht(e),Ht(e)],Bt=(e,s)=>{let n=1,l=_t(),o=0;const a=Fe(),r=Ke(),[d,u]=((e,t=Date.now)=>{let s=0,n=-1;const l=Q(e,(e=>{const t=ht(e);return at(t/bt)+at(t/wt)+at(t/Lt)+at(t/64)+at(t)}),(()=>ct(5))),o=e=>{const l=s,[o,a]=F(e)||""==e?[0,0]:[rt(r=e,0)*ft+rt(r,1)*It+rt(r,2)*bt+rt(r,3)*wt+rt(r,4)*Lt+64*rt(r,5)+rt(r,6),rt(r,7)*wt+rt(r,8)*Lt+64*rt(r,9)+rt(r,10)];var r;s=D(l,o,t()),n=s==l?s==o?D(n,a):n:s==o?a:-1};return[()=>{return o(),t=++n,at((e=s)/ft)+at(e/It)+at(e/bt)+at(e/wt)+at(e/Lt)+at(e/64)+at(e)+at(t/wt)+at(t/Lt)+at(t/64)+at(t)+l;var e,t},o]})(e,s),g=Pt(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},o={},[[a,r=t,i=0],d]=e,[c,g]=l,[h,f,b]=c;let w=s?i:b,L=r;ke(a,(([e,l=t,o=0],a)=>{const r=We(h,a,Ht),[i,d,c]=r;let u=s?o:c,g=l;ke(e,((e,t)=>{const[l,o,r]=I(e,We(i,t,Ht),Je(Je(n,a,me),t,me),s);u^=s?0:(o?mt(t,o):0)^mt(t,r),g=Et(g,l)})),u^=s?0:Mt(d,l),kt(r,l,u),w^=s?0:(c?mt(a,c):0)^mt(a,r[2]),L=Et(L,g)})),w^=s?0:Mt(f,r),kt(c,r,w);const[C]=I(d,g,o,s);return u(Et(L,C)),[n,o,1]},I=(e,s,n,l)=>{const[o,a=t,r=0]=e,[i,d,c]=s;let u=a,g=l?r:c;return ke(o,(([e,s=t,o=0],a)=>{const r=We(i,a,(()=>[void 0,t,0])),[,d,c]=r;(!d||s>d)&&(kt(r,s,l?o:ht(Tt(e??null)+":"+s)),r[0]=e,n[a]=e,g^=l?0:mt(a,c)^mt(a,r[2]),u=Et(u,s))})),g^=l?0:Mt(d,a),kt(s,a,g),[u,c,s[2]]},b=_,w=_,L=()=>[Jt(l[0],(e=>Jt(e,(e=>Jt(e))))),Jt(l[1])],C=e=>h((()=>g.applyChanges(f(e)))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Pe(l[0][0],Vt),getMergeableTableDiff:e=>{const t=Dt(l[0][1]),s={};return Ne(l[0][0],((n,[l,o,a])=>Me(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=xt([l,o],(e=>xt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n,,l])=>l!=e?Ne(n,((e,[,,n])=>Je(t,s,me)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Dt(l[0][1]),s={};return ke(e,((e,n)=>Ne(ze(l[0][0],n)?.[0],((l,[o,a,r])=>Me(e,l)?r!==e[l]?Je(s,n,me)[l]=r:0:Je(t[0],n,Dt)[0][l]=xt([o,a]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n])=>ke(e,((e,l)=>Q(ze(n,l),(([n,,o])=>o!==e?Ne(n,((e,[,,n])=>Je(Je(t,s,me),l,me)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return ke(e,((e,s)=>ke(e,((e,l)=>Q(ze(t,s),(([t,o])=>Q(ze(t,l),(([t,a])=>Ne(t,((t,[r,i,d])=>d!==e[t]?Je(Je(n,s,(()=>Dt(o)))[0],l,(()=>Dt(a)))[0][t]=[r,i]:0)))))))))),St(n,s)},getMergeableValueHashes:()=>Pe(l[1][0],Vt),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Pe(t,vt,(([,,t],s)=>t==e?.[s]));return St(n,s)},setMergeableContent:e=>h((()=>(e=>W(e)&&2==P(e)&&Ft(e[0],(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,ae)),void 0,1)))),void 0,1)))),void 0,1)))&&Ft(e[1],(e=>xe(e,(e=>Ft(e,ae)),void 0,1))))(e)?g.transaction((()=>{g.delTables().delValues(),l=_t(),g.applyChanges(f(e,1))})):0)),setDefaultContent:e=>(g.transaction((()=>{o=1,g.setContent(e),o=0})),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,i,d]]=l,c=e?yt:St,u={};Le(a,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const o={};Le(e,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const a={};Le(e,(e=>{Q(ze(t,e),(([t,s,n])=>a[e]=c(t,s,n)))})),o[s]=c(a,n,l)})))),u[s]=c(o,n,l)}))));const g={};return Le(r,(e=>Q(ze(o,e),(([t,s,n])=>g[e]=c(t,s,n))))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(b,w,(()=>{we(a),we(r)}),((e,s,l,r)=>{Xe(We(We(a,e,Fe),s,Ke),l),n&&f([[{[e]:[{[s]:[{[l]:[r,o?t:d()]}]}]}],[{}],1])}),((e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,o?t:d()]}],1])})),De(g,((e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&m(t,i)?(...s)=>{const n=jt[A(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),Ve(R)},Ut=Fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),qt=(e,t,s,n,l,o=!1)=>{if(Ie(s))return;const[a,r,i,d]=l;return o||=F(e),Le(n,(([s,n])=>{o||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=F(e))})),o?a(be(s),ce(s)):e},Gt=$e((e=>{const s=Fe(),[n,l,o]=st((()=>w)),[a,r,i,d,c,u,g,,h,f,I,b]=Ye(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e),n,l),w={setMetricDefinition:(e,t,n,o,a,r,i)=>{const d=O(n)?[n,a,r,i]:ze(Ut,n)??ze(Ut,"sum");return h(e,t,((t,n,o,a,r,i)=>{const c=u(e),h=ce(a);i||=F(c),t();let f=qt(c,h,a,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))}),Ze(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:a,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:ue(s)})};return Ve(w)})),Kt=$e((e=>{const s=e.createStore,n=s(),l=s(),o=Fe(),{addListener:a,callListeners:r,delListener:u}=l,[g,f,I,v,p,,,S,,y,V,m,M,E]=Ye(e,(()=>!0),j,a,r),k=(e,t,...s)=>Y(s,(s=>Xe(We(We(o,t,Fe),e,Ke),s))),D=e=>{Q(ze(o,e),(e=>{Ne(e,((e,t)=>Le(t,(t=>e.delListener(t))))),we(e)})),Y([l,n],(t=>t.delTable(e)))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,o,a)=>{S(s,o),D(s);const r=[],i=[[null,[o,null,null,[],Fe()]]],d=[],c=[],u=[];a({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,l=F(n)?t:s,o=[e,[e,n,O(l)?l:e=>e(l),[],Fe()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const o=[e,[e,O(t)?[t,s,n,l]:ze(Ut,t)??[(e,t)=>t]]];return se(c,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(Ie(g))return J;const h=Fe(i);Ne(h,((e,[,t])=>Q(ze(h,t),(({3:t})=>F(e)?0:se(t,e)))));const f=Fe(c);let I=n;if(Ie(f)&&ee(u))I=l;else{H(s,I,l);const e=Fe();Ne(f,((t,[s,n])=>Xe(We(e,s,Ke),[t,n])));const t=Ke();Ne(g,(s=>fe(e,s)?0:Xe(t,s)));const n=Fe(),o=(t,n,o,a)=>Q(t,(([r,i,d,c])=>{Ne(n,((t,[s])=>{const n=We(r,t,Fe),l=ze(n,o),i=a?void 0:s;if(l!==i){const s=Ke([[l,i]]),a=ce(n);Oe(n,o,i),Le(ze(e,t),(([e,t])=>{const l=qt(c[e],a,n,s,t);c[e]=F(oe(l))?null:l}))}})),Ie(i)||!q(u,(e=>e((e=>c[e]))))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)}));k(I,s,I.addRowListener(s,null,((l,a,r,i)=>{const d=[],c=[],u=Fe(),g=I.hasRow(s,r);let h=!g;Le(t,(e=>{const[t,n,l]=i(s,r,e);se(d,n),se(c,l),h||=t})),Ne(e,(e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])})),h&&o(Ge(n,d,void 0,(([,e])=>(Ce(e,r),Ie(e)))),u,r,1),g&&o(Ge(n,c,(()=>{const e={};return Le(t,(t=>e[t]=I.getCell(s,r,t))),[Fe(),Ke(),void 0,e]}),(([,e])=>{Xe(e,r)})),u,r)})))}H(s,e,I);const b=(t,n,l,a)=>{const r=t=>e.getCell(n,l,t);Y(a,(n=>{const[l,,o,a,i]=ze(h,n),d=o?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...M(s,1,e.addRowListener(l,d,(()=>b(t,l,d,a))))]))})),(t=>{const n=(s,n)=>e.getCell(...F(n)?[o,t,s]:s===o?[o,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);I.transaction((()=>q(d,(e=>e(n)))?Ne(g,((e,l)=>re(I,s,t,e,l(n,t)))):I.delRow(s,t)))})(t)},{3:w}=ze(h,null);return I.transaction((()=>M(s,1,e.addRowListener(o,null,((t,n,l)=>{e.hasRow(o,l)?b(l,o,l,w):(I.delRow(s,l),Le(h,(({4:e})=>Q(ze(e,l),(([,t])=>{E(s,t),Oe(e,l)})))))}))))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V((()=>e(J))),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[b]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>l[e+s](...t))),J[c+d+s+i]=(...e)=>l[c+s+i](...A(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),Ve(J)})),Xt=$e((e=>{const s=Fe(),n=Fe(),l=Fe(),o=Fe(),[a,r,i]=st((()=>v)),[d,c,u,g,h,f,,,I,b,w,L]=Ye(e,(()=>[Fe(),Fe(),Fe(),Fe()]),(e=>F(e)?void 0:e+t),a,r),C=(e,t,s)=>Q(f(e),(([n,,l])=>{if(!fe(l,t)){const o=Ke();if(h(e)!=T(e))Xe(o,t);else{let e=t;for(;!F(e)&&!fe(o,e);)Xe(o,e),e=ze(n,e)}if(s)return o;Oe(l,t,o)}return ze(l,t)})),R=(e,t)=>Q(f(e),(([,,e])=>Oe(e,t))),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,a,i)=>(Oe(s,e,a),I(e,t,((t,s)=>{const a=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,(([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),(e=>{Ce(e,n),Ie(e)&&Oe(u,t)}))),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(a,n),Oe(c,n,s),Ne(ze(o,e),(t=>{fe(C(e,t),n)&&Xe(d,t)}))})),t(),Le(a,(t=>r(n,[e,t]))),Le(i,(t=>r(l,[e,t]))),Le(d,(t=>{R(e,t),r(o,[e,t])}))}),Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),b(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:be(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(l),linkedRowIds:ge(o)})};return Ve(v)}));export{nt as createCheckpoints,ut as createIndexes,Bt as createMergeableStore,Gt as createMetrics,Kt as createQueries,Xt as createRelationships,Pt as createStore,dt as defaultSorter,ct as getUniqueId};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),o=e(e),a="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",w=b+"Count",L=b+g,C="Sorted"+b+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==o,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,((e,s)=>t[s]===e)),K=(e,t)=>q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,((e,t)=>e+t),0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),le=e=>e.shift(),oe=t=>{const s=e(t);return z(s)||s==l&&x(t)?s:void 0},ae=e=>F(e)||!F(oe(e)),re=(e,t,s,n,l)=>F(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(be(t),((t,s)=>t+e(s)),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==ce(e),be=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.entries,pe=Re.isFrozen,Se=e=>!F(e)&&Q(Te(e),(e=>e==Re.prototype||F(Te(e))),(()=>!0)),ye=Re.keys,Ve=Re.freeze,me=(e=[])=>Re.fromEntries(e),Me=(e,t)=>t in e,Ee=(e,t)=>(delete e[t],e),ke=(e,t)=>Y(ve(e),(([e,s])=>t(s,e))),De=(e,t)=>me(((e,t)=>Z(ve(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),He=e=>Se(e)&&0==(e=>P(ye(e)))(e),Je=(e,t,s)=>(Me(e,t)||(e[t]=s()),e[t]),xe=(e,t,s,n=0)=>F(e)||!Se(e)||!n&&He(e)||pe(e)?(s?.(),!1):(ke(e,((s,n)=>{t(s,n)||Ee(e,n)})),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,((e,s)=>t(s,e))),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,((t,n)=>s(e,n,t))),Ne(e,(s=>Me(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const l={};return Le(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(l[o]=s)}})),l},je=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),Ie,He),_e=(e,t,s)=>Pe(e,(e=>je(e,t,s)),Ie,He),Be=(e,t)=>{const s=Fe();return Le(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,l=0)=>Q((s?We:ze)(e,t[l],l>P(t)-2?s:Fe),(o=>{if(l>P(t)-2)return n?.(o)&&Oe(e,t[l]),o;const a=Ge(o,t,s,n,l+1);return Ie(o)&&Oe(e,t[l]),a})),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,l)=>{const o=e.hasRow,a=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const l=We(u,t,Ke);return Y(n,(t=>Xe(l,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(ze(u,t),(n=>{Y(ee(s)?be(n):s,(t=>{e.delListener(t),Ce(n,t)})),Ie(n)&&Oe(u,t)})),f=(e,s)=>{Oe(a,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),l(i))},I=e=>{Oe(a,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),l(i)};return[()=>e,()=>Qe(a),e=>Ne(r,e),e=>fe(r,e),e=>ze(a,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,l,a,r)=>{f(t,n);const i=Fe(),u=Fe(),I=ze(d,t),b=ze(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=ze(I,t),c=o(n,t)?s(a(l,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(b,t),s=o(n,t)?r(l,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{l((()=>{Le(i,(([,e],t)=>Oe(I,t,e))),Le(u,((e,t)=>Oe(b,t,e)))}),i,u,I,b,e),we(i),we(u)};Ne(I,w),e.hasTable(n)&&Y(e.getRowIds(n),(e=>{fe(I,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},I,e=>n(e,i),()=>Ne(u,I),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?le(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,l]=tt(),o=Fe();return[(l,a,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(o,c,[l,a,r,i,d]),Xe(Ge(a,r??[t],Ke),c),c},(e,n,...l)=>Y(((e,s=[t])=>{const n=[],l=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,(e=>l(e,t+1))):Y([s[t],null],(s=>l(ze(e,s),t+1)));return l(e,0),n})(e,n),(e=>Le(e,(e=>ze(o,e)[0](s,...n??[],...l))))),e=>Q(ze(o,e),(([,s,n])=>(Ge(s,n??[t],void 0,(t=>(Ce(t,e),Ie(t)?1:0))),Oe(o,e),l(e),n))),e=>Q(ze(o,e),(([e,,t=[],n,l])=>{const o=(...a)=>{const r=P(a);r==P(t)?e(s,...a,...l(a)):F(t[r])?Y(n[r]?.(...a)??[],(e=>o(...a,e))):o(...a,t[r])};o()}))]},nt=$e((e=>{let s,n,l,o=100,a=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st((()=>J)),f=Fe(),I=Fe(),b=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,l]=ze(f,s);Le(n,((s,n)=>Le(s,((s,l)=>Le(s,((s,o)=>re(e,n,l,o,s[t]))))))),Le(l,((s,n)=>ie(e,n,s[t])))})),i=1},C=e=>{Oe(f,e),Oe(I,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(b,P(b)-o),v=()=>Q(s,(()=>{se(b,s),T(),R(w),s=void 0,l=1})),p=()=>{s=ne(b),l=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[a,r]),D(s,e),a=Fe(),r=Fe(),l=1),s),m=()=>{ee(b)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(b),l=1)},M=()=>{ee(w)||(se(b,s),s=le(w),L(1,s),l=1)},E=()=>{l&&(g(d),l=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(I,e)!==t&&(Oe(I,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(o=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ne(I,e),hasCheckpoint:H,getCheckpoint:e=>ze(I,e),goBackward:()=>(m(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=U(b,e)?m:U(w,e)?M:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(b),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,l,o)=>{if(i){v();const e=We(a,t,Fe),r=We(e,s,Fe),i=We(r,n,(()=>[o,void 0]));i[1]=l,i[0]===l&&Ie(Oe(r,n))&&Ie(Oe(e,s))&&Ie(Oe(a,t))&&p(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){v();const e=We(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Ie(Oe(r,t))&&p(),E()}}))}};return Ve(J.clear())}),(e=>e._registerListeners())),lt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=Fe(Z(lt,((e,t)=>[e,t]))),at=e=>lt[63&e],rt=(e,t)=>ze(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,(()=>J(256*k.random()))),dt=(e=16)=>te(it(new Uint8Array(e)),((e,t)=>e+at(t)),""),ct=new E.TextEncoder,ut=e=>{let t=2166136261;return Y(ct.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},gt=2**36,ht=2**30,ft=2**24,It=2**18,bt=4096,wt=e=>{const t=ut(e);return at(t/ft)+at(t/It)+at(t/bt)+at(t/64)+at(t)},Lt=(e,t=Date.now)=>{let s=0,n=-1;const l=Q(e,wt,(()=>dt(5))),o=e=>{const l=s,[o,a]=F(e)||""==e?[0,0]:r(e);s=D(l,o,t()),n=s==l?s==o?D(n,a):n:s==o?a:-1},a=(e,t,s)=>at(e/gt)+at(e/ht)+at(e/ft)+at(e/It)+at(e/bt)+at(e/64)+at(e)+at(t/It)+at(t/bt)+at(t/64)+at(t)+(F(s)?l:wt(s)),r=e=>[rt(e,0)*gt+rt(e,1)*ht+rt(e,2)*ft+rt(e,3)*It+rt(e,4)*bt+64*rt(e,5)+rt(e,6),rt(e,7)*It+rt(e,8)*bt+64*rt(e,9)+rt(e,10),e.slice(11)];return[()=>(o(),a(s,++n)),o,a,r,()=>s,()=>n,()=>l]},Ct=(e,t)=>(e??0)<(t??0)?-1:1,Rt=$e((e=>{const s=Fe(),n=Fe(),[l,o,a]=st((()=>C)),[r,i,d,c,u,g,h,,f,I,b,w]=Ye(e,Fe,(e=>F(e)?t:W(e)?Z(e,y):y(e)),l,o),L=(t,s,n)=>{const l=u(t);Le(n,((t,n)=>s(n,(s=>Le(t,(t=>s(t,(s=>e.forEachCell(l,t,s)))))))))},C={setIndexDefinition:(e,t,l,a,r,i=Ct)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,((t,l,r,c,u,f)=>{let I=0;const b=Ke(),w=Ke(),L=g(e);if(Le(l,(([e,t],s)=>{const n=Ke(e),l=Ke(t);Le(n,(e=>Ce(l,e)?Ce(n,e):0)),Le(n,(e=>{Xe(b,e),Q(ze(L,e),(t=>{Ce(t,s),Ie(t)&&(Oe(L,e),I=1)}))})),Le(l,(e=>{Xe(b,e),fe(L,e)||(Oe(L,e,Ke()),I=1),Xe(ze(L,e),s),F(a)||Xe(w,e)}))})),t(),Ie(u)||(f?Ne(L,(e=>Xe(w,e))):Ne(r,(e=>Q(ze(c,e),(e=>Y(W(e)?e:[e],(e=>Xe(w,e))))))),Le(w,(e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(b,e))}))),(I||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),I=1)}I&&o(s,[e]),Le(b,(t=>o(n,[e,t])))}),Ze(l),Q(a,Ze)),C},delIndexDefinition:e=>(I(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>be(ze(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(a(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)})),Tt=JSON.stringify,vt=JSON.parse,pt=e=>Tt(e,((e,t)=>t instanceof Map?Re.fromEntries([...t]):t)),St=([e,t])=>Vt(e,t),yt=([e,t,s])=>[e,t,s],Vt=(e,t)=>t?[e,t]:[e],mt=(e,t,s)=>[e,t,s],Mt=e=>e[2],Et=(e,t)=>ut(e+":"+t),kt=(e,t)=>t>e?(e?ut(e):0)^ut(t):0,Dt=(e,t)=>((e??"")>(t??"")?e:t)??"",Ht=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Jt=(e=t)=>Vt(me(),e),xt=(e=t)=>[Fe(),e,0],Ft=([e,t,s],n=yt)=>[Pe(e,n),t,s],Qt=([e,t],s=St)=>Vt(Pe(e,s),t),zt=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==l&&x(t[2])&&s(t[0]),Nt=e=>[e,e],Ot=(e,t=ue)=>t(e[0])+t(e[1]),Wt=()=>[Fe(),Fe()],At=e=>[...e],Pt=([e,t])=>e===t,jt=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),_t=()=>{let e,t,s=!1,n=!1,o=0,d=[];const g=Fe(),C=Fe(),V=Fe(),m=Fe(),M=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Wt(),ne=Wt(),le=Wt(),ae=Wt(),de=Wt(),be=Wt(),Re=Wt(),Te=Wt(),ve=Wt(),pe=Wt(),ye=Wt(),me=Wt(),ke=Wt(),Je=Wt(),Ge=Wt(),Ye=Wt(),Ze=Wt(),$e=Wt(),et=Wt(),nt=Wt(),lt=Wt(),ot=Wt(),at=Fe(),rt=Wt(),[it,dt,ct,ut]=st((()=>Ps)),gt=e=>{if(!xe(e,((e,t)=>U([a,r],t))))return!1;const t=e[a];return!(!z(t)&&t!=l||(oe(e[r])!=t&&Ee(e,r),0))},ht=W,ft=(t,s)=>(!e||fe(x,s)||$t(s))&&xe(t,((e,t)=>It(s,t,e)),(()=>$t(s))),It=(e,t,s,n)=>xe(n?s:Rt(s,e,t),((n,l)=>Q(bt(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>$t(e,t))),bt=(t,s,n,l)=>e?Q(ze(ze(x,t),n),(e=>oe(l)!=e[a]?$t(t,s,n,l,e[r]):l),(()=>$t(t,s,n,l))):F(oe(l))?$t(t,s,n,l):l,wt=(e,t)=>xe(t?e:Tt(e),((t,s)=>Q(Lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>es())),Lt=(e,s)=>t?Q(ze(P,e),(t=>oe(s)!=t[a]?es(e,s,t[r]):s),(()=>es(e,s))):F(oe(s))?es(e,s):s,Rt=(e,t,s)=>(Q(ze(N,t),(([n,l])=>{Le(n,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(l,(n=>{Me(e,n)||$t(t,s,n)}))})),e),Tt=e=>(t&&(Le(j,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(_,(t=>{Me(e,t)||es(t)}))),e),St=e=>Ae(x,e,((e,t,s)=>{const n=Fe(),l=Ke();Ae(We(x,t,Fe),s,((e,t,s)=>{Oe(e,t,s),Q(s[r],(e=>Oe(n,t,e)),(()=>Xe(l,t)))})),Oe(N,t,[n,l])}),((e,t)=>{Oe(x,t),Oe(N,t)})),yt=e=>Ae(P,e,((e,t,s)=>{Oe(P,t,s),Q(s[r],(e=>Oe(j,t,e)),(()=>Xe(_,t)))}),((e,t)=>{Oe(P,t),Oe(j,t),Ce(_,t)})),Vt=e=>He(e)?Js():Ms(e),mt=e=>Ae($,e,((e,t,s)=>Mt(t,s)),((e,t)=>Qt(t))),Mt=(e,t)=>Ae(We($,e,(()=>(qt(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe()))),t,((t,s,n)=>Et(e,t,s,n)),((t,s)=>zt(e,t,s))),Et=(e,t,s,n,l)=>Ae(We(t,s,(()=>(Gt(e,s,1),Fe()))),n,((t,n,l)=>kt(e,s,t,n,l)),((n,o)=>Bt(e,t,s,n,o,l))),kt=(e,t,s,n,l)=>{fe(s,n)||Kt(e,t,n,1);const o=ze(s,n);l!==o&&(Xt(e,t,n,o,l),Oe(s,n,l))},Dt=(e,t,s,n,l)=>Q(ze(t,s),(t=>kt(e,s,t,n,l)),(()=>Et(e,t,s,Rt({[n]:l},e,s)))),Ht=e=>He(e)?Qs():Es(e),Jt=e=>Ae(ee,e,((e,t,s)=>xt(t,s)),((e,t)=>Ut(t))),xt=(e,t)=>{fe(ee,e)||Yt(e,1);const s=ze(ee,e);t!==s&&(Zt(e,s,t),Oe(ee,e,t))},Ft=e=>ze($,e)??Mt(e,{}),Qt=e=>Mt(e,{}),zt=(e,t,s)=>{const[,n]=ze(q,e);n(s),Et(e,t,s,{},!0)},Bt=(e,t,s,n,l,o)=>{const a=ze(ze(N,e)?.[0],l);if(!F(a)&&!o)return kt(e,s,n,l,a);const r=t=>{Xt(e,s,t,ze(n,t)),Kt(e,s,t,-1),Oe(n,t)};F(a)?r(l):Ne(n,r),Ie(n)&&(Gt(e,s,-1),Ie(Oe(t,s))&&(qt(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Ut=e=>{const t=ze(j,e);if(!F(t))return xt(e,t);Zt(e,ze(ee,e)),Yt(e,-1),Oe(ee,e)},qt=(e,t)=>jt(g,e,t),Gt=(e,t,s)=>jt(We(m,e,Fe),t,s)&&Oe(V,e,We(V,e,(()=>0))+s),Kt=(e,t,s,n)=>{const l=ze(K,e),o=ze(l,s)??0;(0==o&&1==n||1==o&&-1==n)&&jt(We(C,e,Fe),s,n),Oe(l,s,o!=-n?o+n:null),jt(We(We(M,e,Fe),t,Fe),s,n)},Xt=(e,t,s,n,l)=>{We(We(We(E,e,Fe),t,Fe),s,(()=>[n,0]))[1]=l,d[3]?.(e,t,s,l)},Yt=(e,t)=>jt(k,e,t),Zt=(e,t,s)=>{We(D,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},$t=(e,t,s,n,l)=>(se(We(We(We(H,e,Fe),t,Fe),s,(()=>[])),n),l),es=(e,t,s)=>(se(We(J,e,(()=>[])),t),s),ts=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Nt(ws(e,t,s))])),ss=e=>Q(ze(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Nt(Rs(e))])),ns=e=>Ie(H)||Ie(Ye[e])?0:Le(e?qe(H):H,((t,s)=>Le(t,((t,n)=>Le(t,((t,l)=>dt(Ye[e],[s,n,l],t))))))),ls=e=>Ie(J)||Ie(Ze[e])?0:Le(e?Be(J):J,((t,s)=>dt(Ze[e],[s],t))),os=(e,t,s,n)=>{if(!Ie(e))return dt(t,n,(()=>Pe(e))),Ne(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},as=e=>{const t=Ts();t!=s&&dt(te[e],void 0,t);const n=Ie(pe[e]),l=Ie(ke[e])&&Ie(Je[e])&&Ie(ve[e])&&Ie(ye[e])&&Ie(be[e])&&Ie(Re[e])&&Ie(Te[e])&&n&&Ie(le[e])&&Ie(ae[e]),o=Ie(Ge[e])&&Ie(me[e])&&Ie(de[e])&&Ie(ne[e]);if(!l||!o){const t=e?[Be(g),Ue(C),Be(V),Ue(m),qe(M),qe(E)]:[g,C,V,m,M,E];if(!l){os(t[0],le[e],ae[e]),Le(t[1],((t,s)=>os(t,be[e],Re[e],[s]))),Le(t[2],((t,s)=>{0!=t&&dt(Te[e],[s],hs(s))}));const s=Ke();Le(t[3],((t,l)=>{os(t,ve[e],ye[e],[l])&&!n&&(dt(pe[e],[l,null]),Xe(s,l))})),n||Le(t[5],((t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,(e=>Le(e,(([t,n],l)=>n!==t?Xe(s,l):Ce(e,l))))),Le(s,(t=>dt(pe[e],[n,t])))}})),Le(t[4],((t,s)=>Le(t,((t,n)=>os(t,ke[e],Je[e],[s,n])))))}if(!o){let s;Le(t[5],((t,n)=>{let l;Le(t,((t,o)=>{let a;Le(t,(([t,r],i)=>{r!==t&&(dt(Ge[e],[n,o,i],r,t,ts),s=l=a=1)})),a&&dt(me[e],[n,o],ts)})),l&&dt(de[e],[n],ts)})),s&&dt(ne[e],void 0,ts)}}},rs=e=>{const t=Vs();t!=n&&dt($e[e],void 0,t);const s=Ie(nt[e])&&Ie(lt[e]),l=Ie(ot[e])&&Ie(et[e]);if(!s||!l){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],nt[e],lt[e]),!l){let s;Le(t[1],(([t,n],l)=>{n!==t&&(dt(ot[e],[l],n,t,ss),s=1)})),s&&dt(et[e],void 0,ss)}}},is=(e,...t)=>(Os((()=>e(...Z(t,y)))),Ps),ds=(e,t,s,n,l)=>{let o=Is(e,t,...s);return it((()=>{const l=Is(e,t,...s);G(l,o)||(o=l,n(Ps,e,t,...s,o))}),pe[l?1:0],[e,t],[us])},cs=()=>_e($),us=()=>Qe($),gs=e=>Qe(ze(K,y(e))),hs=e=>ce(ze($,y(e))),fs=e=>Qe(ze($,y(e))),Is=(e,t,s,n=0,l)=>{return Se(e)?Is(e.tableId,e.cellId,e.descending,e.offset,e.limit):Z(A(X((o=ze($,y(e)),a=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>Ct(e,t)*(s?-1:1))),n,F(l)?l:n+l),(([,e])=>e));var o,a},bs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),ws=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Ls=()=>Pe(ee),Cs=()=>Qe(ee),Rs=e=>ze(ee,y(e)),Ts=()=>!Ie($),vs=e=>fe($,y(e)),ps=(e,t)=>fe(ze(K,y(e)),y(t)),Ss=(e,t)=>fe(ze($,y(e)),y(t)),ys=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Vs=()=>!Ie(ee),ms=e=>fe(ee,y(e)),Ms=e=>is((()=>(e=>xe(e,ft,$t))(e)?mt(e):0)),Es=e=>is((()=>wt(e)?Jt(e):0)),ks=e=>(B((()=>Vt(vt(e)))),Ps),Ds=t=>is((()=>{if((e=xe(t,(e=>xe(e,gt))))&&(St(t),!Ie($))){const e=cs();Js(),Ms(e)}})),Hs=e=>is((()=>{if(t=(e=>xe(e,gt))(e)){const s=Ls();Ns(),Qs(),t=!0,yt(e),Es(s)}})),Js=()=>is((()=>mt({}))),xs=e=>is((e=>fe($,e)?Qt(e):0),e),Fs=(e,t)=>is(((e,t)=>Q(ze($,e),(s=>fe(s,t)?zt(e,s,t):0))),e,t),Qs=()=>is((()=>Jt({}))),zs=()=>is((()=>{St({}),e=!1})),Ns=()=>is((()=>{yt({}),t=!1})),Os=(e,t)=>{if(-1!=o){Ws();const s=e();return As(t),s}},Ws=()=>(-1!=o&&o++,1==o&&(d[0]?.(),dt(at)),Ps),As=e=>(o>0&&(o--,0==o&&(o=1,ns(1),Ie(E)||as(1),ls(1),Ie(D)||rs(1),e?.(Ps)&&(Le(E,((e,t)=>Le(e,((e,s)=>Le(e,(([e],n)=>re(Ps,t,s,n,e))))))),we(E),Le(D,(([e],t)=>ie(Ps,t,e))),we(D)),dt(rt[0],void 0),o=-1,ns(0),Ie(E)||as(0),ls(0),Ie(D)||rs(0),d[1]?.(),dt(rt[1],void 0),d[2]?.(),o=0,s=Ts(),n=Vs(),Y([g,C,V,m,M,E,H,k,D,J],we))),Ps),Ps={getContent:()=>[cs(),Ls()],getTables:cs,getTableIds:us,getTable:e=>je(ze($,y(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:fs,getSortedRowIds:Is,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:bs,getCell:ws,getValues:Ls,getValueIds:Cs,getValue:Rs,hasTables:Ts,hasTable:vs,hasTableCell:ps,hasRow:Ss,hasCell:ys,hasValues:Vs,hasValue:ms,getTablesJson:()=>pt($),getValuesJson:()=>pt(ee),getJson:()=>pt([$,ee]),getTablesSchemaJson:()=>pt(x),getValuesSchemaJson:()=>pt(P),getSchemaJson:()=>pt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>is((()=>{const t=O(e)?e():e;ht(t)&&(([e,t])=>{(He(e)?Js:Ms)(e),(He(t)?Qs:Es)(t)})(t)})),setTables:Ms,setTable:(e,t)=>is((e=>ft(t,e)?Mt(e,t):0),e),setRow:(e,t,s)=>is(((e,t)=>It(e,t,s)?Et(e,Ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return It(e,n,t)&&(e=y(e),Et(e,Ft(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>is(((e,t)=>{if(It(e,t,s,1)){const n=Ft(e);De(s,((s,l)=>Dt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>is(((e,t,s)=>Q(bt(e,t,s,O(n)?n(ws(e,t,s)):n),(n=>Dt(e,Ft(e),t,s,n)))),e,t,s),setValues:Es,setPartialValues:e=>is((()=>wt(e,1)?De(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>is((e=>Q(Lt(e,O(t)?t(Rs(e)):t),(t=>xt(e,t)))),e),applyChanges:e=>is((()=>{De(e[0],((e,t)=>F(e)?xs(t):De(e,((e,s)=>F(e)?Fs(t,s):De(e,((e,n)=>re(Ps,t,s,n,e))))))),De(e[1],((e,t)=>ie(Ps,t,e)))})),setTablesJson:ks,setValuesJson:e=>(B((()=>Ht(vt(e)))),Ps),setJson:e=>is((()=>B((()=>{const[t,s]=vt(e);Vt(t),Ht(s)}),(()=>ks(e))))),setTablesSchema:Ds,setValuesSchema:Hs,setSchema:(e,t)=>is((()=>{Ds(e),Hs(t)})),delTables:Js,delTable:xs,delRow:Fs,delCell:(e,t,s,n)=>is(((e,t,s)=>Q(ze($,e),(l=>Q(ze(l,t),(o=>fe(o,s)?Bt(e,l,t,o,s,n):0))))),e,t,s),delValues:Qs,delValue:e=>is((e=>fe(ee,e)?Ut(e):0),e),delTablesSchema:zs,delValuesSchema:Ns,delSchema:()=>is((()=>{zs(),Ns()})),transaction:Os,startTransaction:Ws,getTransactionChanges:()=>[Pe(E,((e,t)=>-1===ze(g,t)?void 0:Pe(e,((e,s)=>-1===ze(ze(m,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Pt(e)))),Ie,He)),Ie,He),Pe(D,(([,e])=>e),(e=>Pt(e))),1],getTransactionLog:()=>[!Ie(E),!Ie(D),_e(E,At,Pt),_e(H),Pe(D,At,Pt),Pe(J),Pe(g),je(m),_e(M),Pe(k)],finishTransaction:As,forEachTable:e=>Le($,((t,s)=>e(s,(e=>Le(t,((t,s)=>e(s,(e=>Ne(t,e))))))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),((e,s)=>t(s,(t=>Ne(e,t))))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,l,o,a)=>Se(e)?ds(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ds(e,t,[s,n,l],o,a),addStartTransactionListener:e=>it(e,at),addWillFinishTransactionListener:e=>it(e,rt[0]),addDidFinishTransactionListener:e=>it(e,rt[1]),callListener:e=>(ut(e),Ps),delListener:e=>(ct(e),Ps),getListenerStats:()=>({hasTables:Ot(te),tables:Ot(ne),tableIds:Ot(le),hasTable:Ot(ae),table:Ot(de),tableCellIds:Ot(be),hasTableCell:Ot(Re,ge),rowCount:Ot(Te),rowIds:Ot(ve),sortedRowIds:Ot(pe),hasRow:Ot(ye,ge),row:Ot(me,ge),cellIds:Ot(ke,ge),hasCell:Ot(Je,he),cell:Ot(Ge,he),invalidCell:Ot(Ye,he),hasValues:Ot($e),values:Ot(et),valueIds:Ot(nt),hasValue:Ot(lt),value:Ot(ot),invalidValue:Ot(Ze),transaction:ue(at)+Ot(rt)}),isMergeable:()=>!1,createStore:_t,addListener:it,callListeners:dt,setInternalListeners:(e,t,s,n,l)=>d=[e,t,s,n,l]};return De({[u+f]:[0,te,[],()=>[Ts()]],[f]:[0,ne],[I]:[0,le],[u+h]:[1,ae,[us],e=>[vs(...e)]],[h]:[1,de,[us]],[h+T]:[1,be,[us]],[u+h+R]:[2,Re,[us,gs],e=>[ps(...e)]],[w]:[1,Te,[us]],[L]:[1,ve,[us]],[u+b]:[2,ye,[us,fs],e=>[Ss(...e)]],[b]:[2,me,[us,fs]],[T]:[2,ke,[us,fs]],[u+R]:[3,Je,[us,fs,bs],e=>[ys(...e)]],[R]:[3,Ge,[us,fs,bs],e=>Nt(ws(...e))],InvalidCell:[3,Ye],[u+p]:[0,$e,[],()=>[Vs()]],[p]:[0,et],[S]:[0,nt],[u+v]:[1,lt,[Cs],e=>[ms(...e)]],[v]:[1,ot,[Cs],e=>Nt(Rs(e[0]))],InvalidValue:[1,Ze]},(([e,t,s,n],l)=>{Ps[c+l+i]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?A(l,0,e):void 0,s,n)})),Ve(Ps)},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},Ut=(e=t)=>[xt(e),xt(e)],qt=(e,s)=>{let n=1,l=Ut(),o=0;const a=Fe(),r=Ke(),[d,u]=Lt(e,s),g=_t(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},o={},[[a,r=t,i=0],d]=e,[c,g]=l,[h,f,b]=c;let w=s?i:b,L=r;ke(a,(([e,l=t,o=0],a)=>{const r=We(h,a,xt),[i,d,c]=r;let u=s?o:c,g=l;ke(e,((e,t)=>{const[l,o,r]=I(e,We(i,t,xt),Je(Je(n,a,me),t,me),s);u^=s?0:(o?Et(t,o):0)^Et(t,r),g=Dt(g,l)})),u^=s?0:kt(d,l),Ht(r,l,u),w^=s?0:(c?Et(a,c):0)^Et(a,r[2]),L=Dt(L,g)})),w^=s?0:kt(f,r),Ht(c,r,w);const[C]=I(d,g,o,s);return u(Dt(L,C)),[n,o,1]},I=(e,s,n,l)=>{const[o,a=t,r=0]=e,[i,d,c]=s;let u=a,g=l?r:c;return ke(o,(([e,s=t,o=0],a)=>{const r=We(i,a,(()=>[void 0,t,0])),[,d,c]=r;(!d||s>d)&&(Ht(r,s,l?o:ut(pt(e??null)+":"+s)),r[0]=e,n[a]=e,g^=l?0:Et(a,c)^Et(a,r[2]),u=Dt(u,s))})),g^=l?0:kt(d,a),Ht(s,a,g),[u,c,s[2]]},b=_,w=_,L=()=>[Ft(l[0],(e=>Ft(e,(e=>Ft(e))))),Ft(l[1])],C=e=>h((()=>g.applyChanges(f(e)))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Pe(l[0][0],Mt),getMergeableTableDiff:e=>{const t=Jt(l[0][1]),s={};return Ne(l[0][0],((n,[l,o,a])=>Me(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=Qt([l,o],(e=>Qt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n,,l])=>l!=e?Ne(n,((e,[,,n])=>Je(t,s,me)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Jt(l[0][1]),s={};return ke(e,((e,n)=>Ne(ze(l[0][0],n)?.[0],((l,[o,a,r])=>Me(e,l)?r!==e[l]?Je(s,n,me)[l]=r:0:Je(t[0],n,Jt)[0][l]=Qt([o,a]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n])=>ke(e,((e,l)=>Q(ze(n,l),(([n,,o])=>o!==e?Ne(n,((e,[,,n])=>Je(Je(t,s,me),l,me)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return ke(e,((e,s)=>ke(e,((e,l)=>Q(ze(t,s),(([t,o])=>Q(ze(t,l),(([t,a])=>Ne(t,((t,[r,i,d])=>d!==e[t]?Je(Je(n,s,(()=>Jt(o)))[0],l,(()=>Jt(a)))[0][t]=[r,i]:0)))))))))),Vt(n,s)},getMergeableValueHashes:()=>Pe(l[1][0],Mt),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Pe(t,St,(([,,t],s)=>t==e?.[s]));return Vt(n,s)},setMergeableContent:e=>h((()=>(e=>W(e)&&2==P(e)&&zt(e[0],(e=>xe(e,(e=>zt(e,(e=>xe(e,(e=>zt(e,(e=>xe(e,(e=>zt(e,ae)),void 0,1)))),void 0,1)))),void 0,1)))&&zt(e[1],(e=>xe(e,(e=>zt(e,ae)),void 0,1))))(e)?g.transaction((()=>{g.delTables().delValues(),l=Ut(),g.applyChanges(f(e,1))})):0)),setDefaultContent:e=>(g.transaction((()=>{o=1,g.setContent(e),o=0})),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,i,d]]=l,c=e?mt:Vt,u={};Le(a,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const o={};Le(e,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const a={};Le(e,(e=>{Q(ze(t,e),(([t,s,n])=>a[e]=c(t,s,n)))})),o[s]=c(a,n,l)})))),u[s]=c(o,n,l)}))));const g={};return Le(r,(e=>Q(ze(o,e),(([t,s,n])=>g[e]=c(t,s,n))))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(b,w,(()=>{we(a),we(r)}),((e,s,l,r)=>{Xe(We(We(a,e,Fe),s,Ke),l),n&&f([[{[e]:[{[s]:[{[l]:[r,o?t:d()]}]}]}],[{}],1])}),((e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,o?t:d()]}],1])})),De(g,((e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&m(t,i)?(...s)=>{const n=Bt[A(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),Ve(R)},Gt=Fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Kt=(e,t,s,n,l,o=!1)=>{if(Ie(s))return;const[a,r,i,d]=l;return o||=F(e),Le(n,(([s,n])=>{o||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=F(e))})),o?a(be(s),ce(s)):e},Xt=$e((e=>{const s=Fe(),[n,l,o]=st((()=>w)),[a,r,i,d,c,u,g,,h,f,I,b]=Ye(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e),n,l),w={setMetricDefinition:(e,t,n,o,a,r,i)=>{const d=O(n)?[n,a,r,i]:ze(Gt,n)??ze(Gt,"sum");return h(e,t,((t,n,o,a,r,i)=>{const c=u(e),h=ce(a);i||=F(c),t();let f=Kt(c,h,a,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))}),Ze(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:a,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:ue(s)})};return Ve(w)})),Yt=$e((e=>{const s=e.createStore,n=s(),l=s(),o=Fe(),{addListener:a,callListeners:r,delListener:u}=l,[g,f,I,v,p,,,S,,y,V,m,M,E]=Ye(e,(()=>!0),j,a,r),k=(e,t,...s)=>Y(s,(s=>Xe(We(We(o,t,Fe),e,Ke),s))),D=e=>{Q(ze(o,e),(e=>{Ne(e,((e,t)=>Le(t,(t=>e.delListener(t))))),we(e)})),Y([l,n],(t=>t.delTable(e)))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,o,a)=>{S(s,o),D(s);const r=[],i=[[null,[o,null,null,[],Fe()]]],d=[],c=[],u=[];a({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,l=F(n)?t:s,o=[e,[e,n,O(l)?l:e=>e(l),[],Fe()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const o=[e,[e,O(t)?[t,s,n,l]:ze(Gt,t)??[(e,t)=>t]]];return se(c,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(Ie(g))return J;const h=Fe(i);Ne(h,((e,[,t])=>Q(ze(h,t),(({3:t})=>F(e)?0:se(t,e)))));const f=Fe(c);let I=n;if(Ie(f)&&ee(u))I=l;else{H(s,I,l);const e=Fe();Ne(f,((t,[s,n])=>Xe(We(e,s,Ke),[t,n])));const t=Ke();Ne(g,(s=>fe(e,s)?0:Xe(t,s)));const n=Fe(),o=(t,n,o,a)=>Q(t,(([r,i,d,c])=>{Ne(n,((t,[s])=>{const n=We(r,t,Fe),l=ze(n,o),i=a?void 0:s;if(l!==i){const s=Ke([[l,i]]),a=ce(n);Oe(n,o,i),Le(ze(e,t),(([e,t])=>{const l=Kt(c[e],a,n,s,t);c[e]=F(oe(l))?null:l}))}})),Ie(i)||!q(u,(e=>e((e=>c[e]))))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)}));k(I,s,I.addRowListener(s,null,((l,a,r,i)=>{const d=[],c=[],u=Fe(),g=I.hasRow(s,r);let h=!g;Le(t,(e=>{const[t,n,l]=i(s,r,e);se(d,n),se(c,l),h||=t})),Ne(e,(e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])})),h&&o(Ge(n,d,void 0,(([,e])=>(Ce(e,r),Ie(e)))),u,r,1),g&&o(Ge(n,c,(()=>{const e={};return Le(t,(t=>e[t]=I.getCell(s,r,t))),[Fe(),Ke(),void 0,e]}),(([,e])=>{Xe(e,r)})),u,r)})))}H(s,e,I);const b=(t,n,l,a)=>{const r=t=>e.getCell(n,l,t);Y(a,(n=>{const[l,,o,a,i]=ze(h,n),d=o?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...M(s,1,e.addRowListener(l,d,(()=>b(t,l,d,a))))]))})),(t=>{const n=(s,n)=>e.getCell(...F(n)?[o,t,s]:s===o?[o,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);I.transaction((()=>q(d,(e=>e(n)))?Ne(g,((e,l)=>re(I,s,t,e,l(n,t)))):I.delRow(s,t)))})(t)},{3:w}=ze(h,null);return I.transaction((()=>M(s,1,e.addRowListener(o,null,((t,n,l)=>{e.hasRow(o,l)?b(l,o,l,w):(I.delRow(s,l),Le(h,(({4:e})=>Q(ze(e,l),(([,t])=>{E(s,t),Oe(e,l)})))))}))))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V((()=>e(J))),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[b]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>l[e+s](...t))),J[c+d+s+i]=(...e)=>l[c+s+i](...A(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),Ve(J)})),Zt=$e((e=>{const s=Fe(),n=Fe(),l=Fe(),o=Fe(),[a,r,i]=st((()=>v)),[d,c,u,g,h,f,,,I,b,w,L]=Ye(e,(()=>[Fe(),Fe(),Fe(),Fe()]),(e=>F(e)?void 0:e+t),a,r),C=(e,t,s)=>Q(f(e),(([n,,l])=>{if(!fe(l,t)){const o=Ke();if(h(e)!=T(e))Xe(o,t);else{let e=t;for(;!F(e)&&!fe(o,e);)Xe(o,e),e=ze(n,e)}if(s)return o;Oe(l,t,o)}return ze(l,t)})),R=(e,t)=>Q(f(e),(([,,e])=>Oe(e,t))),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,a,i)=>(Oe(s,e,a),I(e,t,((t,s)=>{const a=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,(([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),(e=>{Ce(e,n),Ie(e)&&Oe(u,t)}))),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(a,n),Oe(c,n,s),Ne(ze(o,e),(t=>{fe(C(e,t),n)&&Xe(d,t)}))})),t(),Le(a,(t=>r(n,[e,t]))),Le(i,(t=>r(l,[e,t]))),Le(d,(t=>{R(e,t),r(o,[e,t])}))}),Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),b(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:be(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(l),linkedRowIds:ge(o)})};return Ve(v)}));export{nt as createCheckpoints,Rt as createIndexes,qt as createMergeableStore,Xt as createMetrics,Yt as createQueries,Zt as createRelationships,_t as createStore,Ct as defaultSorter,Lt as getHlcFunctions,it as getRandomValues,dt as getUniqueId};
|
package/min/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),lt=(e,t)=>t>e?(e?re(e):0)^re(t):0,at=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[pe(),e,0],ct=([e,t,s],l=$e)=>[He(e,l),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),ft=()=>[pe(),pe()],Ct=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Xe(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=ft(),Te=ft(),Ve=ft(),ze=ft(),Ae=ft(),Pe=ft(),We=ft(),ke=ft(),Ne=ft(),je=ft(),Ue=ft(),qe=ft(),Be=ft(),Ge=ft(),Ze=ft(),$e=ft(),_e=ft(),et=ft(),tt=ft(),st=ft(),lt=ft(),at=ft(),nt=pe(),rt=ft(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=gt(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},Vt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Xe();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ye(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,gt()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>vt(y,e,t),Bt=(e,t,s)=>vt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&vt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),vt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>vt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ze[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Xe();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ye(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Xe();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ye(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ze[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Ke(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ge),getJson:()=>Qe([de,ge]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;Vt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Ke(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Ke(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Ct,Tt),Ee(N),He(P,Ct,Tt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:bt(be),tables:bt(Te),tableIds:bt(Ve),hasTable:bt(ze),table:bt(Ae),tableCellIds:bt(Pe),hasTableCell:bt(We,Z),rowCount:bt(ke),rowIds:bt(Ne),sortedRowIds:bt(je),hasRow:bt(Ue,Z),row:bt(qe,Z),cellIds:bt(Be,Z),hasCell:bt(Ge,$),cell:bt(Ze,$),invalidCell:bt($e,$),hasValues:bt(et),values:bt(tt),valueIds:bt(st),hasValue:bt(lt),value:bt(at),invalidValue:bt(_e),transaction:Y(nt)+bt(rt)}),isMergeable:()=>!1,createStore:wt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ze,[cs,us,hs],e=>ht(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ht(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},Vt={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},It=(e=t)=>[ot(e),ot(e)],pt=(e,s)=>{let l=1,a=It(),n=0;const r=pe(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1};return[()=>{return n(),t=++l,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+a;var e,t},n]})(e,s),u=wt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ot),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ot),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=at(g,a)})),u^=s?0:lt(i,a),nt(o,a,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=at(v,g)})),T^=s?0:lt(f,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(at(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,a?n:re(Qe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:st(r,d)^st(r,o[2]),u=at(u,s))})),g^=a?0:lt(i,r),nt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[ct(a[0],(e=>ct(e,(e=>ct(e))))),ct(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],tt),getMergeableTableDiff:e=>{const t=rt(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=it([a,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=rt(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,rt)[0][a]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>rt(n)))[0],a,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(l,s)},getMergeableValueHashes:()=>He(a[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>Ie(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=It(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?et:_e,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ye(Se(Se(r,e,pe),s,Xe),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=Vt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{pt as createMergeableStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)},Ke=JSON.stringify,Qe=JSON.parse,Xe=e=>Ke(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Ye=e=>new Set(x(e)||E(e)?e:[e]),Ze=(e,t)=>e?.add(t),$e=([e,t])=>et(e,t),_e=([e,t,s])=>[e,t,s],et=(e,t)=>t?[e,t]:[e],tt=(e,t,s)=>[e,t,s],st=e=>e[2],lt=(e,t)=>re(e+":"+t),at=(e,t)=>t>e?(e?re(e):0)^re(t):0,nt=(e,t)=>((e??"")>(t??"")?e:t)??"",rt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ot=(e=t)=>et(be(),e),ct=(e=t)=>[pe(),e,0],it=([e,t,s],l=_e)=>[He(e,l),t,s],dt=([e,t],s=$e)=>et(He(e,s),t),ut=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},gt=/^\d+$/,ht=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{gt.test(t)&&A(e)<1e3&&K(e,t)}]},bt=e=>[e,e],ft=(e,t=Y)=>t(e[0])+t(e[1]),Ct=()=>[pe(),pe()],Tt=e=>[...e],vt=([e,t])=>e===t,wt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),Vt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Ye(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=Ct(),Te=Ct(),Ve=Ct(),ze=Ct(),Ae=Ct(),Pe=Ct(),We=Ct(),ke=Ct(),Ne=Ct(),je=Ct(),Ue=Ct(),qe=Ct(),Be=Ct(),Ge=Ct(),Ke=Ct(),$e=Ct(),_e=Ct(),et=Ct(),tt=Ct(),st=Ct(),lt=Ct(),at=Ct(),nt=pe(),rt=Ct(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=ht(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ze(xe(n,r??[t],Ye),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},gt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Ye();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ze(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ze(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,ht()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>wt(y,e,t),Bt=(e,t,s)=>wt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&wt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),wt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>wt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...bt(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...bt(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ke[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Ye();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ze(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Ye();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ze(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ke[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Qe(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Xe(de),getValuesJson:()=>Xe(ge),getJson:()=>Xe([de,ge]),getTablesSchemaJson:()=>Xe(Q),getValuesSchemaJson:()=>Xe(ne),getSchemaJson:()=>Xe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;gt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Qe(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Qe(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>vt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>vt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Tt,vt),Ee(N),He(P,Tt,vt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:ft(be),tables:ft(Te),tableIds:ft(Ve),hasTable:ft(ze),table:ft(Ae),tableCellIds:ft(Pe),hasTableCell:ft(We,Z),rowCount:ft(ke),rowIds:ft(Ne),sortedRowIds:ft(je),hasRow:ft(Ue,Z),row:ft(qe,Z),cellIds:ft(Be,Z),hasCell:ft(Ge,$),cell:ft(Ke,$),invalidCell:ft($e,$),hasValues:ft(et),values:ft(tt),valueIds:ft(st),hasValue:ft(lt),value:ft(at),invalidValue:ft(_e),transaction:Y(nt)+ft(rt)}),isMergeable:()=>!1,createStore:Vt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ke,[cs,us,hs],e=>bt(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>bt(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},It={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},pt=(e=t)=>[ct(e),ct(e)],Rt=(e,s)=>{let l=1,a=pt(),n=0;const r=pe(),o=Ye(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,Ge,(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:o(e);s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1},r=(e,t,s)=>Pe(e/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+(E(s)?a:Ge(s)),o=e=>[We(e,0)*Ne+We(e,1)*je+We(e,2)*Ue+We(e,3)*qe+We(e,4)*Be+64*We(e,5)+We(e,6),We(e,7)*qe+We(e,8)*Be+64*We(e,9)+We(e,10),e.slice(11)];return[()=>(n(),r(s,++l)),n,r,o,()=>s,()=>l,()=>a]})(e,s),u=Vt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ct),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ct),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?lt(t,n):0)^lt(t,o),g=nt(g,a)})),u^=s?0:at(i,a),rt(o,a,u),T^=s?0:(d?lt(r,d):0)^lt(r,o[2]),v=nt(v,g)})),T^=s?0:at(f,o),rt(u,o,T);const[w]=b(i,g,n,s);return d(nt(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(rt(o,s,a?n:re(Xe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:lt(r,d)^lt(r,o[2]),u=nt(u,s))})),g^=a?0:at(i,r),rt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[it(a[0],(e=>it(e,(e=>it(e))))),it(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],st),getMergeableTableDiff:e=>{const t=ot(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=dt([a,n],(e=>dt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=ot(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,ot)[0][a]=dt([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>ot(n)))[0],a,(()=>ot(r)))[0][t]=[o,c]:0)))))))))),et(l,s)},getMergeableValueHashes:()=>He(a[1][0],st),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,$e,(([,,t],s)=>t==e?.[s]));return et(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&ut(e[0],(e=>Ie(e,(e=>ut(e,(e=>Ie(e,(e=>ut(e,(e=>Ie(e,(e=>ut(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&ut(e[1],(e=>Ie(e,(e=>ut(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=pt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?tt:et,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ze(Se(Se(r,e,pe),s,Ye),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ze(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=It[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{Rt as createMergeableStore};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),lt=(e,t)=>t>e?(e?re(e):0)^re(t):0,at=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[pe(),e,0],ct=([e,t,s],l=$e)=>[He(e,l),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),ft=()=>[pe(),pe()],Ct=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Xe(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=ft(),Te=ft(),Ve=ft(),ze=ft(),Ae=ft(),Pe=ft(),We=ft(),ke=ft(),Ne=ft(),je=ft(),Ue=ft(),qe=ft(),Be=ft(),Ge=ft(),Ze=ft(),$e=ft(),_e=ft(),et=ft(),tt=ft(),st=ft(),lt=ft(),at=ft(),nt=pe(),rt=ft(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=gt(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},Vt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Xe();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ye(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,gt()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>vt(y,e,t),Bt=(e,t,s)=>vt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&vt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),vt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>vt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ze[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Xe();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ye(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Xe();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ye(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ze[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Ke(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ge),getJson:()=>Qe([de,ge]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;Vt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Ke(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Ke(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Ct,Tt),Ee(N),He(P,Ct,Tt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:bt(be),tables:bt(Te),tableIds:bt(Ve),hasTable:bt(ze),table:bt(Ae),tableCellIds:bt(Pe),hasTableCell:bt(We,Z),rowCount:bt(ke),rowIds:bt(Ne),sortedRowIds:bt(je),hasRow:bt(Ue,Z),row:bt(qe,Z),cellIds:bt(Be,Z),hasCell:bt(Ge,$),cell:bt(Ze,$),invalidCell:bt($e,$),hasValues:bt(et),values:bt(tt),valueIds:bt(st),hasValue:bt(lt),value:bt(at),invalidValue:bt(_e),transaction:Y(nt)+bt(rt)}),isMergeable:()=>!1,createStore:wt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ze,[cs,us,hs],e=>ht(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ht(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},Vt={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},It=(e=t)=>[ot(e),ot(e)],pt=(e,s)=>{let l=1,a=It(),n=0;const r=pe(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1};return[()=>{return n(),t=++l,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+a;var e,t},n]})(e,s),u=wt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ot),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ot),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=at(g,a)})),u^=s?0:lt(i,a),nt(o,a,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=at(v,g)})),T^=s?0:lt(f,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(at(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,a?n:re(Qe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:st(r,d)^st(r,o[2]),u=at(u,s))})),g^=a?0:lt(i,r),nt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[ct(a[0],(e=>ct(e,(e=>ct(e))))),ct(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],tt),getMergeableTableDiff:e=>{const t=rt(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=it([a,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=rt(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,rt)[0][a]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>rt(n)))[0],a,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(l,s)},getMergeableValueHashes:()=>He(a[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>Ie(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=It(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?et:_e,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ye(Se(Se(r,e,pe),s,Xe),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=Vt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{pt as createMergeableStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)},Ke=JSON.stringify,Qe=JSON.parse,Xe=e=>Ke(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Ye=e=>new Set(x(e)||E(e)?e:[e]),Ze=(e,t)=>e?.add(t),$e=([e,t])=>et(e,t),_e=([e,t,s])=>[e,t,s],et=(e,t)=>t?[e,t]:[e],tt=(e,t,s)=>[e,t,s],st=e=>e[2],lt=(e,t)=>re(e+":"+t),at=(e,t)=>t>e?(e?re(e):0)^re(t):0,nt=(e,t)=>((e??"")>(t??"")?e:t)??"",rt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ot=(e=t)=>et(be(),e),ct=(e=t)=>[pe(),e,0],it=([e,t,s],l=_e)=>[He(e,l),t,s],dt=([e,t],s=$e)=>et(He(e,s),t),ut=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},gt=/^\d+$/,ht=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{gt.test(t)&&A(e)<1e3&&K(e,t)}]},bt=e=>[e,e],ft=(e,t=Y)=>t(e[0])+t(e[1]),Ct=()=>[pe(),pe()],Tt=e=>[...e],vt=([e,t])=>e===t,wt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),Vt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Ye(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=Ct(),Te=Ct(),Ve=Ct(),ze=Ct(),Ae=Ct(),Pe=Ct(),We=Ct(),ke=Ct(),Ne=Ct(),je=Ct(),Ue=Ct(),qe=Ct(),Be=Ct(),Ge=Ct(),Ke=Ct(),$e=Ct(),_e=Ct(),et=Ct(),tt=Ct(),st=Ct(),lt=Ct(),at=Ct(),nt=pe(),rt=Ct(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=ht(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ze(xe(n,r??[t],Ye),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},gt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Ye();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ze(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ze(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,ht()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>wt(y,e,t),Bt=(e,t,s)=>wt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&wt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),wt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>wt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...bt(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...bt(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ke[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Ye();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ze(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Ye();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ze(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ke[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Qe(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Xe(de),getValuesJson:()=>Xe(ge),getJson:()=>Xe([de,ge]),getTablesSchemaJson:()=>Xe(Q),getValuesSchemaJson:()=>Xe(ne),getSchemaJson:()=>Xe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;gt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Qe(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Qe(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>vt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>vt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Tt,vt),Ee(N),He(P,Tt,vt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:ft(be),tables:ft(Te),tableIds:ft(Ve),hasTable:ft(ze),table:ft(Ae),tableCellIds:ft(Pe),hasTableCell:ft(We,Z),rowCount:ft(ke),rowIds:ft(Ne),sortedRowIds:ft(je),hasRow:ft(Ue,Z),row:ft(qe,Z),cellIds:ft(Be,Z),hasCell:ft(Ge,$),cell:ft(Ke,$),invalidCell:ft($e,$),hasValues:ft(et),values:ft(tt),valueIds:ft(st),hasValue:ft(lt),value:ft(at),invalidValue:ft(_e),transaction:Y(nt)+ft(rt)}),isMergeable:()=>!1,createStore:Vt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ke,[cs,us,hs],e=>bt(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>bt(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},It={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},pt=(e=t)=>[ct(e),ct(e)],Rt=(e,s)=>{let l=1,a=pt(),n=0;const r=pe(),o=Ye(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,Ge,(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:o(e);s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1},r=(e,t,s)=>Pe(e/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+(E(s)?a:Ge(s)),o=e=>[We(e,0)*Ne+We(e,1)*je+We(e,2)*Ue+We(e,3)*qe+We(e,4)*Be+64*We(e,5)+We(e,6),We(e,7)*qe+We(e,8)*Be+64*We(e,9)+We(e,10),e.slice(11)];return[()=>(n(),r(s,++l)),n,r,o,()=>s,()=>l,()=>a]})(e,s),u=Vt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ct),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ct),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?lt(t,n):0)^lt(t,o),g=nt(g,a)})),u^=s?0:at(i,a),rt(o,a,u),T^=s?0:(d?lt(r,d):0)^lt(r,o[2]),v=nt(v,g)})),T^=s?0:at(f,o),rt(u,o,T);const[w]=b(i,g,n,s);return d(nt(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(rt(o,s,a?n:re(Xe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:lt(r,d)^lt(r,o[2]),u=nt(u,s))})),g^=a?0:at(i,r),rt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[it(a[0],(e=>it(e,(e=>it(e))))),it(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],st),getMergeableTableDiff:e=>{const t=ot(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=dt([a,n],(e=>dt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=ot(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,ot)[0][a]=dt([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>ot(n)))[0],a,(()=>ot(r)))[0][t]=[o,c]:0)))))))))),et(l,s)},getMergeableValueHashes:()=>He(a[1][0],st),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,$e,(([,,t],s)=>t==e?.[s]));return et(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&ut(e[0],(e=>Ie(e,(e=>ut(e,(e=>Ie(e,(e=>ut(e,(e=>Ie(e,(e=>ut(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&ut(e[1],(e=>Ie(e,(e=>ut(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=pt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?tt:et,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ze(Se(Se(r,e,pe),s,Ye),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ze(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=It[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{Rt as createMergeableStore};
|
|
Binary file
|