tinybase 5.0.0-beta.22 → 5.0.0-beta.24
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/mergeable-store/index.d.cts +77 -11
- package/@types/mergeable-store/index.d.ts +77 -11
- package/@types/mergeable-store/with-schemas/index.d.cts +96 -11
- package/@types/mergeable-store/with-schemas/index.d.ts +96 -11
- package/@types/persisters/index.d.cts +0 -1
- package/@types/persisters/index.d.ts +0 -1
- package/@types/persisters/persister-expo-sqlite/index.d.cts +36 -40
- package/@types/persisters/persister-expo-sqlite/index.d.ts +36 -40
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +36 -40
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +36 -40
- package/@types/persisters/with-schemas/index.d.cts +0 -1
- package/@types/persisters/with-schemas/index.d.ts +0 -1
- package/cjs/es6/index.cjs +3 -3
- package/cjs/es6/mergeable-store/index.cjs +2 -2
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +2 -2
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +7 -2
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +7 -2
- package/cjs/es6/synchronizers/index.cjs +1 -1
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/with-schemas/index.cjs +3 -3
- package/cjs/index.cjs +3 -3
- package/cjs/mergeable-store/index.cjs +2 -2
- package/cjs/mergeable-store/with-schemas/index.cjs +2 -2
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/index.cjs +1 -1
- package/cjs/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/persister-expo-sqlite/index.cjs +7 -3
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +7 -3
- package/cjs/synchronizers/index.cjs +1 -1
- package/cjs/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/with-schemas/index.cjs +3 -3
- package/es6/index.js +3 -3
- package/es6/mergeable-store/index.js +2 -2
- package/es6/mergeable-store/with-schemas/index.js +2 -2
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/mergeable-store/index.js +1 -1
- package/es6/min/mergeable-store/index.js.gz +0 -0
- package/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/persister-expo-sqlite/index.js +5 -2
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
- package/es6/synchronizers/index.js +1 -1
- package/es6/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/synchronizers/with-schemas/index.js +1 -1
- package/es6/with-schemas/index.js +3 -3
- package/index.js +3 -3
- package/mergeable-store/index.js +2 -2
- package/mergeable-store/with-schemas/index.js +2 -2
- 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/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/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/package.json +9 -112
- package/persisters/persister-expo-sqlite/index.js +5 -3
- package/persisters/persister-expo-sqlite/with-schemas/index.js +5 -3
- package/readme.md +2 -2
- package/releases.md +2 -2
- package/synchronizers/index.js +1 -1
- package/synchronizers/synchronizer-local/index.js +1 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/index.js +3 -3
- package/umd/es6/mergeable-store/index.js +2 -2
- package/umd/es6/mergeable-store/with-schemas/index.js +2 -2
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/index.js +1 -1
- package/umd/es6/min/mergeable-store/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/persister-expo-sqlite/index.js +12 -6
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +12 -6
- package/umd/es6/synchronizers/index.js +1 -1
- package/umd/es6/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/with-schemas/index.js +3 -3
- package/umd/index.js +3 -3
- package/umd/mergeable-store/index.js +2 -2
- package/umd/mergeable-store/with-schemas/index.js +2 -2
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/mergeable-store/index.js +1 -1
- package/umd/min/mergeable-store/index.js.gz +0 -0
- package/umd/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/persister-expo-sqlite/index.js +12 -7
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +12 -7
- package/umd/synchronizers/index.js +1 -1
- package/umd/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/synchronizers/with-schemas/index.js +1 -1
- package/umd/with-schemas/index.js +3 -3
- package/with-schemas/index.js +3 -3
- package/@types/persisters/persister-expo-sqlite-next/index.d.cts +0 -187
- package/@types/persisters/persister-expo-sqlite-next/index.d.ts +0 -187
- package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.cts +0 -206
- package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.ts +0 -206
- package/cjs/es6/min/persisters/persister-expo-sqlite-next/index.cjs +0 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs +0 -1253
- package/cjs/es6/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1253
- package/cjs/min/persisters/persister-expo-sqlite-next/index.cjs +0 -1
- package/cjs/min/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -1
- package/cjs/min/persisters/persister-expo-sqlite-next/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/persister-expo-sqlite-next/index.cjs +0 -926
- package/cjs/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +0 -926
- package/es6/min/persisters/persister-expo-sqlite-next/index.js +0 -1
- package/es6/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
- package/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
- package/es6/persisters/persister-expo-sqlite-next/index.js +0 -1251
- package/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1251
- package/min/persisters/persister-expo-sqlite-next/index.js +0 -1
- package/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
- package/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
- package/persisters/persister-expo-sqlite-next/index.js +0 -924
- package/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -924
- package/umd/es6/min/persisters/persister-expo-sqlite-next/index.js +0 -1
- package/umd/es6/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
- package/umd/es6/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/persister-expo-sqlite-next/index.js +0 -1293
- package/umd/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1293
- package/umd/min/persisters/persister-expo-sqlite-next/index.js +0 -1
- package/umd/min/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -1
- package/umd/min/persisters/persister-expo-sqlite-next/with-schemas/index.js.gz +0 -0
- package/umd/persisters/persister-expo-sqlite-next/index.js +0 -957
- package/umd/persisters/persister-expo-sqlite-next/with-schemas/index.js +0 -957
package/releases.md
CHANGED
|
@@ -60,7 +60,7 @@ synchronizer2.destroy();
|
|
|
60
60
|
server.destroy();
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
<p>This release includes two types of <a href="https://beta.tinybase.org/api/synchronizers/interfaces/synchronizer/synchronizer/"><code>Synchronizer</code></a>: the <a href="https://beta.tinybase.org/api/synchronizer-local/interfaces/synchronizer/localsynchronizer/"><code>LocalSynchronizer</code></a> (for demonstrating synchronization on a single local system), and more importantly the <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> (that uses WebSockets to communicate between different systems, shown above).</p><p>Notice that the <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> assumes that there exists a server that can forward requests to other <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> systems. This can be created using the <a href="https://beta.tinybase.org/api/synchronizer-ws-server/functions/creation/createwsserver/"><code>createWsServer</code></a> function that takes a WebSocketServer as also shown above.</p><h3 id="breaking-changes-in-v5-0">Breaking <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> in v5.0</h3><h4 id="module-file-structure">Module File Structure</h4><p>Previously, the distributed package contained a <code>lib</code> folder with both code and type definitions. In v5.0, they have been hoisted to the top level of the package so that less-capable bundlers can find the correct files.</p><p>If you previously had <code>/lib/</code> in your import paths, you should remove it. You also do not have to explicitly specify whether you need the <code>cjs</code> version of <a href="https://beta.tinybase.org/">TinyBase</a> - if you are using a <code>require</code> rather than an <code>import</code>, you will get it automatically.</p><p>Please read the comprehensive <a href="https://beta.tinybase.org/guides/the-basics/importing-tinybase/">Importing TinyBase</a> guide for more details of how to construct the correct import paths in v5.0.</p><h4 id="the-tinybase-inspector">The <a href="https://beta.tinybase.org/">TinyBase</a> Inspector</h4><p>Previously, the React-based inspector (then known as <code>StoreInspector</code>) resided in the debug version of the <a href="https://beta.tinybase.org/api/ui-react-dom/"><code>ui-react-dom</code></a> module. It now lives in its own <a href="https://beta.tinybase.org/api/ui-react-inspector/"><code>ui-react-inspector</code></a> module (so that it can be used against non-debug code) and has been renamed to Inspector.</p><p>Please update your imports and rename the component when used, accordingly. See the API documentation for details, or the <a href="https://beta.tinybase.org/demos/ui-components/inspector/"><inspector></inspector></a>demo, for example.</p><h4 id="api-changes">API <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a></h4><p>The following changes have been made to the existing <a href="https://beta.tinybase.org/">TinyBase</a> API for consistency. These are less common parts of the API but should straightforward to correct if you are using them.</p><p>In the type definitions:</p><ul><li>The GetTransactionChanges and GetTransactionLog types have been removed.</li><li>The TransactionChanges type has been renamed as the <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> type.</li><li>The <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> type now uses <code>undefined</code> instead of <code>null</code> to indicate a <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> or <a href="https://beta.tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a> that has been deleted or that was not present.</li><li>The <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/transactionlog/"><code>TransactionLog</code></a> type is now an array instead of a JavaScript object.</li></ul><p>In the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> interface:</p><ul><li>There is a new <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionchanges/"><code>getTransactionChanges</code></a> method and a new getTransactionLog method.</li><li>The setTransactionChanges method is renamed as the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/setter/applychanges/"><code>applyChanges</code></a> method.</li><li>A <a href="https://beta.tinybase.org/api/store/type-aliases/callback/dorollback/"><code>DoRollback</code></a> function no longer gets passed arguments. You can use the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionchanges/"><code>getTransactionChanges</code></a> method and <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionlog/"><code>getTransactionLog</code></a> method directly instead.</li><li>Similarly, a <a href="https://beta.tinybase.org/api/store/type-aliases/listener/transactionlistener/"><code>TransactionListener</code></a> function no longer gets passed arguments.</li></ul><p>In the <a href="https://beta.tinybase.org/api/persisters/"><code>persisters</code></a> module:</p><ul><li>The <a href="https://beta.tinybase.org/api/persisters/functions/creation/createcustompersister/"><code>createCustomPersister</code></a> function now takes a final optional boolean (<code>supportsMergeableStore</code>) to indicate that the <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a> can support <a href="https://beta.tinybase.org/api/mergeable-store/interfaces/mergeable/mergeablestore/"><code>MergeableStore</code></a> as well as <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> objects.</li><li>A <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a>'s <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/methods/load/load/"><code>load</code></a> method and <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/methods/load/startautoload/"><code>startAutoLoad</code></a> method now take a <a href="https://beta.tinybase.org/api/store/type-aliases/store/content/"><code>Content</code></a> object as one parameter, rather than <a href="https://beta.tinybase.org/api/store/type-aliases/store/tables/"><code>Tables</code></a> and <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> as two.</li><li>If you create a custom <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a>, the setPersisted method now receives changes made to a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> directly by reference, rather than via a callback. Similarly, the <a href="https://beta.tinybase.org/api/persisters/type-aliases/creation/persisterlistener/"><code>PersisterListener</code></a> you register in your addPersisterListener implementation now takes <a href="https://beta.tinybase.org/api/store/type-aliases/store/content/"><code>Content</code></a> and <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> objects directly rather than via a callback.</li><li>The broadcastTransactionChanges method in the <a href="https://beta.tinybase.org/api/persister-partykit-server/"><code>persister-partykit-server</code></a> module has been renamed to the broadcastChanges method.</li></ul><h2 id="v4-8">v4.8</h2><p>This release includes the new <a href="https://beta.tinybase.org/api/persister-powersync/"><code>persister-powersync</code></a> module, which provides a <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a> for <a href="https://www.powersync.com/">PowerSync's SQLite</a> database.</p><p>Much like the other SQLite persisters, use it by passing in a PowerSync instance to the <a href="https://beta.tinybase.org/api/persister-powersync/functions/creation/createpowersyncpersister/"><code>createPowerSyncPersister</code></a> function; something like:</p>
|
|
63
|
+
<p>This release includes two types of <a href="https://beta.tinybase.org/api/synchronizers/interfaces/synchronizer/synchronizer/"><code>Synchronizer</code></a>: the <a href="https://beta.tinybase.org/api/synchronizer-local/interfaces/synchronizer/localsynchronizer/"><code>LocalSynchronizer</code></a> (for demonstrating synchronization on a single local system), and more importantly the <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> (that uses WebSockets to communicate between different systems, shown above).</p><p>Notice that the <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> assumes that there exists a server that can forward requests to other <a href="https://beta.tinybase.org/api/synchronizer-ws-client/interfaces/synchronizer/wssynchronizer/"><code>WsSynchronizer</code></a> systems. This can be created using the <a href="https://beta.tinybase.org/api/synchronizer-ws-server/functions/creation/createwsserver/"><code>createWsServer</code></a> function that takes a WebSocketServer as also shown above.</p><h3 id="breaking-changes-in-v5-0">Breaking <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> in v5.0</h3><h4 id="module-file-structure">Module File Structure</h4><p>Previously, the distributed package contained a <code>lib</code> folder with both code and type definitions. In v5.0, they have been hoisted to the top level of the package so that less-capable bundlers can find the correct files.</p><p>If you previously had <code>/lib/</code> in your import paths, you should remove it. You also do not have to explicitly specify whether you need the <code>cjs</code> version of <a href="https://beta.tinybase.org/">TinyBase</a> - if you are using a <code>require</code> rather than an <code>import</code>, you will get it automatically.</p><p>The non-minified version of the code is now default and you need to be explicit with you <em>want</em> minified code. Previously you would add <code>/debug</code> to the import path to get non-minified code, but now you add <code>/min</code> to the import path to get <em>minified</em> code.</p><p>Please read the comprehensive <a href="https://beta.tinybase.org/guides/the-basics/importing-tinybase/">Importing TinyBase</a> guide for more details of how to construct the correct import paths in v5.0.</p><h4 id="expo-sqlite-persister">Expo SQLite <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a></h4><p>Previously the <a href="https://beta.tinybase.org/api/persister-expo-sqlite/"><code>persister-expo-sqlite</code></a> module supported expo-sqlite v13 and the persister-expo-sqlite-next module supported their modern 'next' package. In v5.0, the <a href="https://beta.tinybase.org/api/persister-expo-sqlite/"><code>persister-expo-sqlite</code></a> module only supports v14 and later, and the persister-expo-sqlite-next module has been removed.</p><h4 id="the-tinybase-inspector">The <a href="https://beta.tinybase.org/">TinyBase</a> Inspector</h4><p>Previously, the React-based inspector (then known as <code>StoreInspector</code>) resided in the debug version of the <a href="https://beta.tinybase.org/api/ui-react-dom/"><code>ui-react-dom</code></a> module. It now lives in its own <a href="https://beta.tinybase.org/api/ui-react-inspector/"><code>ui-react-inspector</code></a> module (so that it can be used against non-debug code) and has been renamed to Inspector.</p><p>Please update your imports and rename the component when used, accordingly. See the API documentation for details, or the <a href="https://beta.tinybase.org/demos/ui-components/inspector/"><inspector></inspector></a>demo, for example.</p><h4 id="api-changes">API <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a></h4><p>The following changes have been made to the existing <a href="https://beta.tinybase.org/">TinyBase</a> API for consistency. These are less common parts of the API but should straightforward to correct if you are using them.</p><p>In the type definitions:</p><ul><li>The GetTransactionChanges and GetTransactionLog types have been removed.</li><li>The TransactionChanges type has been renamed as the <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> type.</li><li>The <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> type now uses <code>undefined</code> instead of <code>null</code> to indicate a <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> or <a href="https://beta.tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a> that has been deleted or that was not present.</li><li>The <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/transactionlog/"><code>TransactionLog</code></a> type is now an array instead of a JavaScript object.</li></ul><p>In the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> interface:</p><ul><li>There is a new <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionchanges/"><code>getTransactionChanges</code></a> method and a new getTransactionLog method.</li><li>The setTransactionChanges method is renamed as the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/setter/applychanges/"><code>applyChanges</code></a> method.</li><li>A <a href="https://beta.tinybase.org/api/store/type-aliases/callback/dorollback/"><code>DoRollback</code></a> function no longer gets passed arguments. You can use the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionchanges/"><code>getTransactionChanges</code></a> method and <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/transaction/gettransactionlog/"><code>getTransactionLog</code></a> method directly instead.</li><li>Similarly, a <a href="https://beta.tinybase.org/api/store/type-aliases/listener/transactionlistener/"><code>TransactionListener</code></a> function no longer gets passed arguments.</li></ul><p>In the <a href="https://beta.tinybase.org/api/persisters/"><code>persisters</code></a> module:</p><ul><li>The <a href="https://beta.tinybase.org/api/persisters/functions/creation/createcustompersister/"><code>createCustomPersister</code></a> function now takes a final optional boolean (<code>supportsMergeableStore</code>) to indicate that the <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a> can support <a href="https://beta.tinybase.org/api/mergeable-store/interfaces/mergeable/mergeablestore/"><code>MergeableStore</code></a> as well as <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> objects.</li><li>A <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a>'s <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/methods/load/load/"><code>load</code></a> method and <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/methods/load/startautoload/"><code>startAutoLoad</code></a> method now take a <a href="https://beta.tinybase.org/api/store/type-aliases/store/content/"><code>Content</code></a> object as one parameter, rather than <a href="https://beta.tinybase.org/api/store/type-aliases/store/tables/"><code>Tables</code></a> and <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> as two.</li><li>If you create a custom <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a>, the setPersisted method now receives changes made to a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> directly by reference, rather than via a callback. Similarly, the <a href="https://beta.tinybase.org/api/persisters/type-aliases/creation/persisterlistener/"><code>PersisterListener</code></a> you register in your addPersisterListener implementation now takes <a href="https://beta.tinybase.org/api/store/type-aliases/store/content/"><code>Content</code></a> and <a href="https://beta.tinybase.org/api/store/type-aliases/transaction/changes/"><code>Changes</code></a> objects directly rather than via a callback.</li><li>The broadcastTransactionChanges method in the <a href="https://beta.tinybase.org/api/persister-partykit-server/"><code>persister-partykit-server</code></a> module has been renamed to the broadcastChanges method.</li></ul><h2 id="v4-8">v4.8</h2><p>This release includes the new <a href="https://beta.tinybase.org/api/persister-powersync/"><code>persister-powersync</code></a> module, which provides a <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a> for <a href="https://www.powersync.com/">PowerSync's SQLite</a> database.</p><p>Much like the other SQLite persisters, use it by passing in a PowerSync instance to the <a href="https://beta.tinybase.org/api/persister-powersync/functions/creation/createpowersyncpersister/"><code>createPowerSyncPersister</code></a> function; something like:</p>
|
|
64
64
|
|
|
65
65
|
```js yolo
|
|
66
66
|
const powerSync = usePowerSync();
|
|
@@ -102,7 +102,7 @@ const persister = createElectricSqlPersister(store, electric, {
|
|
|
102
102
|
});
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
<p>This release is accompanied by a <a href="https://github.com/tinyplex/tinybase-ts-react-electricsql">template project</a> to get started quickly with this integration. Enjoy!</p><h2 id="v4-5">v4.5</h2><p>This release includes the new
|
|
105
|
+
<p>This release is accompanied by a <a href="https://github.com/tinyplex/tinybase-ts-react-electricsql">template project</a> to get started quickly with this integration. Enjoy!</p><h2 id="v4-5">v4.5</h2><p>This release includes the new persister-expo-sqlite-next module, which provides a <a href="https://beta.tinybase.org/api/persisters/interfaces/persister/persister/"><code>Persister</code></a> for the modern version of Expo's <a href="https://docs.expo.dev/versions/latest/sdk/sqlite">SQLite</a> library, designated 'next' as of November 2023. This API should be used if you are installing the <code>expo-sqlite/next</code> module.</p><p>Note that <a href="https://beta.tinybase.org/">TinyBase</a> support for the legacy version of Expo-SQLite (<code>expo-sqlite</code>) is still available in the <a href="https://beta.tinybase.org/api/persister-expo-sqlite/"><code>persister-expo-sqlite</code></a> module.</p><p>NB as of <a href="https://beta.tinybase.org/">TinyBase</a> v5.0, this is now the default and legacy support has been removed.</p><p>Thank you to Expo for providing this functionality!</p><h2 id="v4-4">v4.4</h2><p>This relatively straightforward release adds a selection of new listeners to the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> object, and their respective hooks. These are for listening to changes in the 'existence' of entities rather than to their value. For example, the <a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhastablelistener/"><code>addHasTableListener</code></a> method will let you listen for the presence (or not) of a specific table.</p><p>The full set of new existence-listening methods and hooks to work with this is as follows:</p><div class="table"><table><thead><tr><th>Existence of:</th><th>Add Listener</th><th>Hook</th><th>Add Listener Hook</th></tr></thead><tbody><tr><td><a href="https://beta.tinybase.org/api/store/type-aliases/store/tables/"><code>Tables</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhastableslistener/"><code>addHasTablesListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastables/"><code>useHasTables</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastableslistener/"><code>useHasTablesListener</code></a></td></tr><tr><td>A <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhastablelistener/"><code>addHasTableListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastable/"><code>useHasTable</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastablelistener/"><code>useHasTableListener</code></a></td></tr><tr><td>A <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a> <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhastablecelllistener/"><code>addHasTableCellListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastablecell/"><code>useHasTableCell</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehastablecelllistener/"><code>useHasTableCellListener</code></a></td></tr><tr><td>A <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhasrowlistener/"><code>addHasRowListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasrow/"><code>useHasRow</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasrowlistener/"><code>useHasRowListener</code></a></td></tr><tr><td>A <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhascelllistener/"><code>addHasCellListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehascell/"><code>useHasCell</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehascelllistener/"><code>useHasCellListener</code></a></td></tr><tr><td><a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhasvalueslistener/"><code>addHasValuesListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasvalues/"><code>useHasValues</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasvalueslistener/"><code>useHasValuesListener</code></a></td></tr><tr><td>A <a href="https://beta.tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a></td><td><a href="https://beta.tinybase.org/api/store/interfaces/store/store/methods/listener/addhasvaluelistener/"><code>addHasValueListener</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasvalue/"><code>useHasValue</code></a></td><td><a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usehasvaluelistener/"><code>useHasValueListener</code></a></td></tr></tbody></table></div><p>These methods may become particularly important in future versions of <a href="https://beta.tinybase.org/">TinyBase</a> that support <code>null</code> as valid Cells and <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a>.</p><h2 id="v4-3">v4.3</h2><p>We're excited to announce <a href="https://beta.tinybase.org/">TinyBase</a> 4.3, which provides an integration with <a href="https://www.partykit.io/">PartyKit</a>, a cloud-based collaboration provider.</p><p>This allows you to enjoy the benefits of both a "local-first" architecture and a "sharing-first" platform. You can have structured data on the client with fast, reactive user experiences, but also benefit from cloud-based persistence and room-based collaboration.</p><p><img src="https://beta.tinybase.org/partykit.gif" alt="PartyKit" title="PartyKit"></p><p>This release includes two new modules:</p><ul><li>The <a href="https://beta.tinybase.org/api/persister-partykit-server/"><code>persister-partykit-server</code></a> module provides a server class for coordinating clients and persisting <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> data to the PartyKit cloud.</li><li>The <a href="https://beta.tinybase.org/api/persister-partykit-client/"><code>persister-partykit-client</code></a> module provides the API to create connections to the server and a binding to your <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</li></ul><p>A <a href="https://beta.tinybase.org/">TinyBase</a> server implementation on PartyKit can be as simple as this:</p>
|
|
106
106
|
|
|
107
107
|
```js yolo
|
|
108
108
|
import {TinyBasePartyKitServer} from 'tinybase/persisters/persister-partykit-server';
|
package/synchronizers/index.js
CHANGED
package/umd/es6/index.js
CHANGED
|
@@ -1729,7 +1729,7 @@
|
|
|
1729
1729
|
: (yield request(
|
|
1730
1730
|
otherClientId,
|
|
1731
1731
|
GET_VALUE_DIFF,
|
|
1732
|
-
store.
|
|
1732
|
+
store.getMergeableValueHashes(),
|
|
1733
1733
|
))[0],
|
|
1734
1734
|
1,
|
|
1735
1735
|
];
|
|
@@ -4295,7 +4295,7 @@
|
|
|
4295
4295
|
);
|
|
4296
4296
|
return newStamp(tablesObj, tablesTime);
|
|
4297
4297
|
};
|
|
4298
|
-
const
|
|
4298
|
+
const getMergeableValueHashes = () =>
|
|
4299
4299
|
mapToObj(contentStampMap[1][0], getStampHash);
|
|
4300
4300
|
const getMergeableValueDiff = (relativeTo) => {
|
|
4301
4301
|
const [, [valueStampMaps, valuesTime]] = contentStampMap;
|
|
@@ -4385,7 +4385,7 @@
|
|
|
4385
4385
|
getMergeableRowDiff,
|
|
4386
4386
|
getMergeableCellHashes,
|
|
4387
4387
|
getMergeableCellDiff,
|
|
4388
|
-
|
|
4388
|
+
getMergeableValueHashes,
|
|
4389
4389
|
getMergeableValueDiff,
|
|
4390
4390
|
setMergeableContent,
|
|
4391
4391
|
setDefaultContent,
|
|
@@ -2279,7 +2279,7 @@
|
|
|
2279
2279
|
);
|
|
2280
2280
|
return newStamp(tablesObj, tablesTime);
|
|
2281
2281
|
};
|
|
2282
|
-
const
|
|
2282
|
+
const getMergeableValueHashes = () =>
|
|
2283
2283
|
mapToObj(contentStampMap[1][0], getStampHash);
|
|
2284
2284
|
const getMergeableValueDiff = (relativeTo) => {
|
|
2285
2285
|
const [, [valueStampMaps, valuesTime]] = contentStampMap;
|
|
@@ -2369,7 +2369,7 @@
|
|
|
2369
2369
|
getMergeableRowDiff,
|
|
2370
2370
|
getMergeableCellHashes,
|
|
2371
2371
|
getMergeableCellDiff,
|
|
2372
|
-
|
|
2372
|
+
getMergeableValueHashes,
|
|
2373
2373
|
getMergeableValueDiff,
|
|
2374
2374
|
setMergeableContent,
|
|
2375
2375
|
setDefaultContent,
|
|
@@ -2279,7 +2279,7 @@
|
|
|
2279
2279
|
);
|
|
2280
2280
|
return newStamp(tablesObj, tablesTime);
|
|
2281
2281
|
};
|
|
2282
|
-
const
|
|
2282
|
+
const getMergeableValueHashes = () =>
|
|
2283
2283
|
mapToObj(contentStampMap[1][0], getStampHash);
|
|
2284
2284
|
const getMergeableValueDiff = (relativeTo) => {
|
|
2285
2285
|
const [, [valueStampMaps, valuesTime]] = contentStampMap;
|
|
@@ -2369,7 +2369,7 @@
|
|
|
2369
2369
|
getMergeableRowDiff,
|
|
2370
2370
|
getMergeableCellHashes,
|
|
2371
2371
|
getMergeableCellDiff,
|
|
2372
|
-
|
|
2372
|
+
getMergeableValueHashes,
|
|
2373
2373
|
getMergeableValueDiff,
|
|
2374
2374
|
setMergeableContent,
|
|
2375
2375
|
setDefaultContent,
|
package/umd/es6/min/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),a="type",i="default",d="Listener",u="Result",c="add",g="Has",v="Ids",h="Table",f=h+"s",b=h+v,p="Row",y=p+"Count",w=p+v,C="Sorted"+p+v,L="Cell",I=L+v,T="Value",S=T+"s",R=T+v,M=e=>n+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),E=Promise,O=Math.max,D=Math.min,x=isFinite,H=e=>null==e,k=(e,t,n)=>H(e)?null==n?void 0:n():t(e),P=e=>e==l||e==r,A=e=>t(e)==l,j=e=>t(e)==o,J=e=>Array.isArray(e),F=(e,t,n)=>e.slice(t,n),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),_=(e,t)=>Q(e)===Q(t)&&W(e,((e,n)=>t[n]===e)),B=(e,t)=>W(e,((n,l)=>0==l||t(e[l-1],n)<=0)),U=(e,t)=>e.sort(t),$=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>X(e,((e,t)=>e+t),0),K=e=>0==Q(e),X=(e,t,n)=>e.reduce(t,n),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,ne=e=>te.getPrototypeOf(e),le=te.entries,re=te.isFrozen,se=e=>!H(e)&&k(ne(e),(e=>e==te.prototype||H(ne(e))),(()=>!0)),oe=te.keys,ae=te.freeze,ie=(e=[])=>te.fromEntries(e),de=(e,t)=>t in e,ue=(e,t)=>(delete e[t],e),ce=(e,t)=>$(le(e),(([e,n])=>t(n,e))),ge=(e,t)=>q(le(e),(([e,n])=>t(n,e))),ve=e=>se(e)&&0==(e=>Q(oe(e)))(e),he=(e,t,n)=>(de(e,t)||(e[t]=n()),e[t]),fe=(e,t,n,l=0)=>H(e)||!se(e)||!l&&ve(e)||re(e)?(null==n||n(),!1):(ge(e,((n,l)=>{t(n,l)||ue(e,l)})),!!l||!ve(e)),be=e=>t=>X(Te(t),((t,n)=>t+e(n)),0),pe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ye=be(pe),we=be(ye),Ce=be(we),Le=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},Ie=e=>H(e)||0==pe(e),Te=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Se=e=>e.clear(),Re=(e,t)=>null==e?void 0:e.forEach(t),Me=(e,t)=>null==e?void 0:e.delete(t),me=e=>new Map(e),Ve=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Ee=(e,t)=>null==e?void 0:e.get(t),Oe=(e,t)=>Re(e,((e,n)=>t(n,e))),De=(e,t,n)=>H(n)?(Me(e,t),e):null==e?void 0:e.set(t,n),xe=(e,t,n,l)=>(Le(e,t)?null==l||l(Ee(e,t)):De(e,t,n()),Ee(e,t)),He=(e,t,n,l=De)=>(ge(t,((t,l)=>n(e,l,t))),Oe(e,(n=>de(t,n)?0:l(e,n))),e),ke=(e,t,n,l)=>{const r={};return Re(e,((e,s)=>{if(!(null==n?void 0:n(e,s))){const n=t?t(e,s):e;!(null==l?void 0:l(n))&&(r[s]=n)}})),r},Pe=(e,t,n)=>ke(e,(e=>ke(e,t,n)),Ie,ve),Ae=(e,t,n)=>ke(e,(e=>Pe(e,t,n)),Ie,ve),je=(e,t)=>{const n=me();return Re(e,((e,l)=>{var r;return n.set(l,null!=(r=null==t?void 0:t(e))?r:e)})),n},Je=e=>je(e,je),Fe=e=>je(e,Je),Qe=(e,t,n,l,r=0)=>k((n?xe:Ee)(e,t[r],r>Q(t)-2?n:me),(s=>{if(r>Q(t)-2)return(null==l?void 0:l(s))&&De(e,t[r]),s;const o=Qe(s,t,n,l,r+1);return Ie(s)&&De(e,t[r]),o})),ze=e=>{const n=t(e);return P(n)||n==s&&x(e)?n:void 0},Ne=e=>H(e)||!H(ze(e)),We=(e,t,n,l,r)=>H(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r),_e=(e,t,n)=>H(n)?e.delValue(t):e.setValue(t,n),Be=e=>new Set(J(e)||H(e)?e:[e]),Ue=(e,t)=>null==e?void 0:e.add(t),$e=(e,t,n,l,r)=>{const s=e.hasRow,o=me(),a=me(),i=me(),d=me(),u=me(),c=me(),g=(t,n,...l)=>{const r=xe(c,t,Be);return $(l,(t=>Ue(r,t)&&n&&e.callListener(t))),l},v=(t,...n)=>k(Ee(c,t),(l=>{$(K(n)?Te(l):n,(t=>{e.delListener(t),Me(l,t)})),Ie(l)&&De(c,t)})),h=(e,n)=>{De(o,e,n),Le(a,e)||(De(a,e,t()),De(d,e,me()),De(u,e,me()),r(i))},f=e=>{De(o,e),De(a,e),De(d,e),De(u,e),v(e),r(i)};return[()=>e,()=>Ve(o),e=>Oe(a,e),e=>Le(a,e),e=>Ee(o,e),e=>Ee(a,e),(e,t)=>De(a,e,t),h,(t,l,r,o,a)=>{h(t,l);const i=me(),c=me(),f=Ee(d,t),b=Ee(u,t),p=t=>{const r=n=>e.getCell(l,t,n),d=Ee(f,t),u=s(l,t)?n(o(r,t)):void 0;if(d===u||J(d)&&J(u)&&_(d,u)||De(i,t,[d,u]),!H(a)){const e=Ee(b,t),n=s(l,t)?a(r,t):void 0;e!=n&&De(c,t,n)}},y=e=>{r((()=>{Re(i,(([,e],t)=>De(f,t,e))),Re(c,((e,t)=>De(b,t,e)))}),i,c,f,b,e),Se(i),Se(c)};Oe(f,p),e.hasTable(l)&&$(e.getRowIds(l),(e=>{Le(f,e)||p(e)})),y(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},f,e=>l(e,i),()=>Oe(c,f),g,v]},qe=(e,t)=>A(e)?t=>t(e):null!=e?e:()=>null!=t?t:n,Ge=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const r=n.get(l);return null==t||t(r),r}},Ke=/^\d+$/,Xe=()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?ee(e):null)?r:n+t++},t=>{Ke.test(t)&&Q(e)<1e3&&Y(e,t)}]},Ye=e=>{let t;const[l,r]=Xe(),s=me();return[(r,o,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return De(s,u,[r,o,a,i,d]),Ue(Qe(o,null!=a?a:[n],Be),u),u},(e,l,...r)=>$(((e,t=[n])=>{const l=[],r=(e,n)=>n==Q(t)?Y(l,e):null===t[n]?Re(e,(e=>r(e,n+1))):$([t[n],null],(t=>r(Ee(e,t),n+1)));return r(e,0),l})(e,l),(e=>Re(e,(e=>Ee(s,e)[0](t,...null!=l?l:[],...r))))),e=>k(Ee(s,e),(([,t,l])=>(Qe(t,null!=l?l:[n],void 0,(t=>(Me(t,e),Ie(t)?1:0))),De(s,e),r(e),l))),e=>k(Ee(s,e),(([e,,n=[],l,r])=>{const s=(...o)=>{var a,i;const d=Q(o);d==Q(n)?e(t,...o,...r(o)):H(n[d])?$(null!=(i=null==(a=l[d])?void 0:a.call(l,...o))?i:[],(e=>s(...o,e))):s(...o,n[d])};s()}))]},Ze=Ge((e=>{let t,l,r,s=100,o=me(),a=me(),i=1;const d=me(),u=me(),[c,g,v]=Ye((()=>P)),h=me(),f=me(),b=[],p=[],y=(t,n)=>{i=0,e.transaction((()=>{const[l,r]=Ee(h,n);Re(l,((n,l)=>Re(n,((n,r)=>Re(n,((n,s)=>We(e,l,r,s,n[t]))))))),Re(r,((n,l)=>_e(e,l,n[t])))})),i=1},w=e=>{De(h,e),De(f,e),g(u,[e])},C=(e,t)=>$(((e,t)=>e.splice(0,t))(e,null!=t?t:Q(e)),w),L=()=>C(b,Q(b)-s),I=()=>k(t,(()=>{Y(b,t),L(),C(p),t=void 0,r=1})),T=()=>{t=Z(b),r=1};let S,R;const M=(e=n)=>(H(t)&&(t=n+l++,De(h,t,[o,a]),D(t,e),o=me(),a=me(),r=1),t),m=()=>{K(b)||(((e,...t)=>{e.unshift(...t)})(p,M()),y(0,t),t=Z(b),r=1)},V=()=>{K(p)||(Y(b,t),t=ee(p),y(1,t),r=1)},E=()=>{r&&(g(d),r=0)},O=e=>{const t=M(e);return E(),t},D=(e,t)=>(x(e)&&Ee(f,e)!==t&&(De(f,e,t),g(u,[e])),P),x=e=>Le(h,e),P={setSize:e=>(s=e,L(),P),addCheckpoint:O,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],t,[...p]],forEachCheckpoint:e=>Oe(f,e),hasCheckpoint:x,getCheckpoint:e=>Ee(f,e),goBackward:()=>(m(),E(),P),goForward:()=>(V(),E(),P),goTo:e=>{const n=N(b,e)?m:N(p,e)?V:null;for(;!H(n)&&e!=t;)n();return E(),P},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(v(e),P),clear:()=>(C(b),C(p),H(t)||w(t),t=void 0,l=0,O(),P),clearForward:()=>(K(p)||(C(p),g(d)),P),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({checkpointIds:ye(d),checkpoint:ye(u)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,n,l,r,s)=>{if(i){I();const e=xe(o,t,me),a=xe(e,n,me),i=xe(a,l,(()=>[s,void 0]));i[1]=r,i[0]===r&&Ie(De(a,l))&&Ie(De(e,n))&&Ie(De(o,t))&&T(),E()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){I();const e=xe(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&Ie(De(a,t))&&T(),E()}}))}};return ae(P.clear())}),(e=>e._registerListeners())),et="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n),tt=me(q(et,((e,t)=>[e,t]))),nt=e=>et[63&e],lt=(e,t)=>{var n;return null!=(n=Ee(tt,e[t]))?n:0},rt=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,st=(e=16)=>X(crypto.getRandomValues(new Uint8Array(e)),((e,t)=>e+nt(t)),""),ot=Ge((e=>{const t=me(),l=me(),[r,s,o]=Ye((()=>w)),[a,i,d,u,c,g,v,,h,f,b,p]=$e(e,me,(e=>H(e)?n:J(e)?q(e,M):M(e)),r,s),y=(t,n,l)=>{const r=c(t);Re(l,((t,l)=>n(l,(n=>Re(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},w={setIndexDefinition:(e,n,r,o,a,i=rt)=>{const d=H(a)?void 0:([e],[t])=>a(e,t);return h(e,n,((n,r,a,u,c,h)=>{let f=0;const b=Be(),p=Be(),y=g(e);if(Re(r,(([e,t],n)=>{const l=Be(e),r=Be(t);Re(l,(e=>Me(r,e)?Me(l,e):0)),Re(l,(e=>{Ue(b,e),k(Ee(y,e),(t=>{Me(t,n),Ie(t)&&(De(y,e),f=1)}))})),Re(r,(e=>{Ue(b,e),Le(y,e)||(De(y,e,Be()),f=1),Ue(Ee(y,e),n),H(o)||Ue(p,e)}))})),n(),Ie(c)||(h?Oe(y,(e=>Ue(p,e))):Oe(a,(e=>k(Ee(u,e),(e=>Ue(p,e))))),Re(p,(e=>{const t=(t,n)=>i(Ee(c,t),Ee(c,n),e),n=[...Ee(y,e)];B(n,t)||(De(y,e,Be(U(n,t))),Ue(b,e))}))),(f||h)&&!H(d)){const t=[...y];B(t,d)||(v(e,me(U(t,d))),f=1)}f&&s(t,[e]),Re(b,(t=>s(l,[e,t])))}),qe(r),k(o,qe)),w},delIndexDefinition:e=>(f(e),w),getStore:a,getIndexIds:i,forEachIndex:e=>d(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,g(e)),hasIndex:u,hasSlice:(e,t)=>Le(g(e),t),getTableId:c,getSliceIds:e=>Ve(g(e)),getSliceRowIds:(e,t)=>Te(Ee(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,n)=>r(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>r(n,l,[e,t]),delListener:e=>(o(e),w),destroy:p,getListenerStats:()=>({sliceIds:ye(t),sliceRowIds:we(l)})};return ae(w)})),at=me([["avg",[(e,t)=>G(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>O(...e),(e,t)=>O(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:O(t,e)]],["min",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),it=(e,t,n,l,r,s=!1)=>{if(Ie(n))return;const[o,a,i,d]=r;return s||(s=H(e)),Re(l,(([n,l])=>{s||(e=H(n)?null==a?void 0:a(e,l,t++):H(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=H(e)))})),s?o(Te(n),pe(n)):e},dt=Ge((e=>{const t=me(),[l,r,s]=Ye((()=>p)),[o,a,i,d,u,c,g,,v,h,f,b]=$e(e,z,(e=>isNaN(e)||H(e)||!0===e||!1===e||e===n?void 0:1*e),l,r),p={setMetricDefinition:(e,n,l,s,o,a,i)=>{var d;const u=j(l)?[l,o,a,i]:null!=(d=Ee(at,l))?d:Ee(at,"sum");return v(e,n,((n,l,s,o,a,i)=>{const d=c(e),v=pe(o);i||(i=H(d)),n();let h=it(d,v,o,l,u,i);x(h)||(h=void 0),h!=d&&(g(e,h),r(t,[e],h,d))}),qe(s,1)),p},delMetricDefinition:e=>(h(e),p),getStore:o,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:f,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(s(e),p),destroy:b,getListenerStats:()=>({metric:ye(t)})};return ae(p)}));var ut=Object.defineProperty,ct=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ht=(e,t,n)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ft=(e,t,n)=>new Promise(((l,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())}));const bt=me(),pt=me(),yt=(e,t,n,l,r,s,o,a={},i=[])=>{let d,u,c,g=0,v=0,h=0;xe(bt,i,(()=>0)),xe(pt,i,(()=>[]));const[f,b,p,y,w]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ve(e)||!ve(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(o,e),C=t=>{(f&&J(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},L=e=>ft(void 0,null,(function*(){return 2!=g&&(g=1,v++,yield R((()=>ft(void 0,null,(function*(){try{C(yield t())}catch(t){null==s||s(t),e&&w(e)}g=0}))))),M})),I=()=>(u&&(r(u),u=void 0),M),T=e=>ft(void 0,null,(function*(){return 1!=g&&(g=2,h++,yield R((()=>ft(void 0,null,(function*(){try{yield n(b,e)}catch(e){null==s||s(e)}g=0}))))),M})),S=()=>(k(c,e.delListener),c=void 0,M),R=(...e)=>ft(void 0,null,(function*(){return Y(Ee(pt,i),...e),yield ft(void 0,null,(function*(){if(!Ee(bt,i)){for(De(bt,i,1);!H(d=ee(Ee(pt,i)));)try{yield d()}catch(e){null==s||s(e)}De(bt,i,0)}})),M})),M=((e,t)=>{for(var n in t||(t={}))gt.call(t,n)&&ht(e,n,t[n]);if(ct)for(var n of ct(t))vt.call(t,n)&&ht(e,n,t[n]);return e})({load:L,startAutoLoad:e=>ft(void 0,null,(function*(){return yield I().load(e),u=l(((e,t)=>ft(void 0,null,(function*(){t||e?2!=g&&(g=1,v++,C(null!=t?t:e),g=0):yield L()})))),M})),stopAutoLoad:I,isAutoLoading:()=>!H(u),save:T,startAutoSave:()=>ft(void 0,null,(function*(){return yield S().save(),c=e.addDidFinishTransactionListener((()=>{const e=p();y(e)&&T(e)})),M})),stopAutoSave:S,isAutoSaving:()=>!H(c),schedule:R,getStore:()=>e,destroy:()=>I().stopAutoSave(),getStats:()=>({loads:v,saves:h})},a);return ae(M)},wt=new globalThis.TextEncoder,Ct=e=>{let t=2166136261;return $(wt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},Lt=([e,t,n])=>[e,t,n],It=([e,t])=>Tt(e,t),Tt=(e,t)=>t?[e,t]:[e],St=e=>e[2],Rt=(e,t)=>Ct(e+":"+t),Mt=(e,t)=>t>e?(e?Ct(e):0)^Ct(t):0,mt=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},Vt=(e,t,n)=>{e[2]=t>>>0,n>e[1]&&(e[1]=n)},Et=(e=n)=>Tt(ie(),e),Ot=(e=n)=>[me(),e,0],Dt=([e,t,n],l=Lt)=>[ke(e,l),t,n],xt=([e,t],n=It)=>Tt(ke(e,n),t),Ht=(e,n)=>J(e)&&3==Q(e)&&A(e[1])&&t(e[2])==s&&x(e[2])&&n(e[0]);var kt=Object.defineProperty,Pt=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Jt=(e,t,n)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ft=(e,t,n)=>new Promise(((l,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())})),Qt=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable;const Wt=Ge((e=>{const t=e.createStore,l=t(),r=t(),s=me(),{addListener:o,callListeners:a,delListener:i}=r,[g,v,f,b,T,,,S,,R,M,m,V,E]=$e(e,(()=>!0),z,o,a),O=(e,t,...n)=>$(n,(n=>Ue(xe(xe(s,t,me),e,Be),n))),D=e=>{k(Ee(s,e),(e=>{Oe(e,((e,t)=>Re(t,(t=>e.delListener(t))))),Se(e)})),$([r,l],(t=>t.delTable(e)))},x=(e,t,n)=>O(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),P={setQueryDefinition:(t,s,o)=>{S(t,s),D(t);const a=[],i=[[null,[s,null,null,[],me()]]],d=[],u=[],c=[];o({select:(e,t)=>{const l=j(e)?[Q(a)+n,e]:[H(t)?e:t,n=>n(e,t)];return Y(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=H(n)||j(t)?null:t,r=H(l)?t:n,s=[e,[e,l,j(r)?r:e=>e(r),[],me()]];return Y(i,s),{as:e=>s[0]=e}},where:(e,t,n)=>Y(d,j(e)?e:H(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var s;const o=[e,[e,j(t)?[t,n,l,r]:null!=(s=Ee(at,t))?s:[(e,t)=>t]]];return Y(u,o),{as:e=>o[0]=e}},having:(e,t)=>Y(c,j(e)?e:n=>n(e)===t)});const g=me(a);if(Ie(g))return P;const v=me(i);Oe(v,((e,[,t])=>k(Ee(v,t),(({3:t})=>H(e)?0:Y(t,e)))));const h=me(u);let f=l;if(Ie(h)&&K(c))f=r;else{x(t,f,r);const e=me();Oe(h,((t,[n,l])=>Ue(xe(e,n,Be),[t,l])));const n=Be();Oe(g,(t=>Le(e,t)?0:Ue(n,t)));const l=me(),s=(n,l,s,o)=>k(n,(([a,i,d,u])=>{Oe(l,((t,[n])=>{const l=xe(a,t,me),r=Ee(l,s),i=o?void 0:n;if(r!==i){const n=Be([[r,i]]),o=pe(l);De(l,s,i),Re(Ee(e,t),(([e,t])=>{const r=it(u[e],o,l,n,t);u[e]=H(ze(r))?null:r}))}})),Ie(i)||!W(c,(e=>e((e=>u[e]))))?r.delRow(t,d):H(d)?n[2]=r.addRow(t,u):r.setRow(t,d,u)}));O(f,t,f.addRowListener(t,null,((r,o,a,i)=>{const d=[],u=[],c=me(),g=f.hasRow(t,a);let v=!g;Re(n,(e=>{const[n,l,r]=i(t,a,e);Y(d,l),Y(u,r),v||(v=n)})),Oe(e,(e=>{const[n,,l]=i(t,a,e);(v||n)&&De(c,e,[l])})),v&&s(Qe(l,d,void 0,(([,e])=>(Me(e,a),Ie(e)))),c,a,1),g&&s(Qe(l,u,(()=>{const e={};return Re(n,(n=>e[n]=f.getCell(t,a,n))),[me(),Be(),void 0,e]}),(([,e])=>{Ue(e,a)})),c,a)})))}x(t,e,f);const b=(n,l,r,o)=>{const a=t=>e.getCell(l,r,t);$(o,(l=>{var r;const[s,,o,i,d]=Ee(v,l),u=null==o?void 0:o(a,n),[c,g]=null!=(r=Ee(d,n))?r:[];u!=c&&(H(g)||E(t,g),De(d,n,H(u)?null:[u,...V(t,1,e.addRowListener(s,u,(()=>b(n,s,u,i))))]))})),(n=>{const l=(t,l)=>{var r,o,a;return e.getCell(...H(l)?[s,n,t]:t===s?[s,n,l]:[null==(r=Ee(v,t))?void 0:r[0],null==(a=Ee(null==(o=Ee(v,t))?void 0:o[4],n))?void 0:a[0],l])};f.transaction((()=>W(d,(e=>e(l)))?Oe(g,((e,r)=>We(f,t,n,e,r(l,n)))):f.delRow(t,n)))})(n)},{3:p}=Ee(v,null);return f.transaction((()=>V(t,1,e.addRowListener(s,null,((n,l,r)=>{e.hasRow(s,r)?b(r,s,r,p):(f.delRow(t,r),Re(v,(({4:e})=>k(Ee(e,r),(([,n])=>{E(t,n),De(e,r)})))))}))))),P},delQueryDefinition:e=>(D(e),R(e),P),getStore:g,getQueryIds:v,forEachQuery:f,hasQuery:b,getTableId:T,addQueryIdsListener:e=>M((()=>e(P))),delListener:e=>(i(e),P),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)zt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Qt)for(var l of Qt(e))t.indexOf(l)<0&&Nt.call(e,l)&&(n[l]=e[l]);return n})(r.getListenerStats(),["tables","tableIds","transaction"])};return ge({[h]:[1,1],[h+I]:[0,1],[y]:[0,1],[w]:[0,1],[C]:[0,5],[p]:[1,2],[I]:[0,2],[L]:[1,3]},(([e,t],n)=>{$(e?["get","has","forEach"]:["get"],(e=>P[e+u+n]=(...t)=>r[e+n](...t))),P[c+u+n+d]=(...e)=>r[c+n+d](...F(e,0,t),((n,...l)=>e[t](P,...l)),!0)})),ae(P)})),_t=Ge((e=>{const t=me(),l=me(),r=me(),s=me(),[o,a,i]=Ye((()=>I)),[d,u,c,g,v,h,,,f,b,p,y]=$e(e,(()=>[me(),me(),me(),me()]),(e=>H(e)?void 0:e+n),o,a),w=(e,t,n)=>k(h(e),(([l,,r])=>{if(!Le(r,t)){const s=Be();if(v(e)!=L(e))Ue(s,t);else{let e=t;for(;!H(e)&&!Le(s,e);)Ue(s,e),e=Ee(l,e)}if(n)return s;De(r,t,s)}return Ee(r,t)})),C=(e,t)=>k(h(e),(([,,e])=>De(e,t))),L=e=>Ee(t,e),I={setRelationshipDefinition:(e,n,o,i)=>(De(t,e,o),f(e,n,((t,n)=>{const o=Be(),i=Be(),d=Be(),[u,c]=h(e);Re(n,(([t,n],l)=>{H(t)||(Ue(i,t),k(Ee(c,t),(e=>{Me(e,l),Ie(e)&&De(c,t)}))),H(n)||(Ue(i,n),Le(c,n)||De(c,n,Be()),Ue(Ee(c,n),l)),Ue(o,l),De(u,l,n),Oe(Ee(s,e),(t=>{Le(w(e,t),l)&&Ue(d,t)}))})),t(),Re(o,(t=>a(l,[e,t]))),Re(i,(t=>a(r,[e,t]))),Re(d,(t=>{C(e,t),a(s,[e,t])}))}),qe(i)),I),delRelationshipDefinition:e=>(De(t,e),b(e),I),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:L,getRemoteRowId:(e,t)=>{var n;return Ee(null==(n=h(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Te(Ee(null==(n=h(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>H(h(e))?[t]:Te(w(e,t,!0)),addRelationshipIdsListener:p,addRemoteRowIdListener:(e,t,n)=>o(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>o(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(w(e,t),o(n,s,[e,t])),delListener:e=>{var t;return C(...null!=(t=i(e))?t:[]),I},destroy:y,getListenerStats:()=>({remoteRowId:we(l),localRowIds:we(r),linkedRowIds:we(s)})};return ae(I)})),Bt=e=>[e,e],Ut=(e,t=ye)=>t(e[0])+t(e[1]),$t=()=>[me(),me()],qt=e=>[...e],Gt=([e,t])=>e===t,Kt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Xt=JSON.parse,Yt=(e,t,n)=>De(e,t,Ee(e,t)==-n?void 0:n),Zt=()=>{let e,t,n=!1,l=!1,r=0,o=[];const u=me(),v=me(),C=me(),m=me(),V=me(),E=me(),O=me(),D=me(),x=me(),A=me(),J=me(),Q=me(),z=me(),W=me(),B=Be(),G=me(),K=me(),X=me(),Z=me(),ee=$t(),te=$t(),ne=$t(),le=$t(),re=$t(),se=$t(),oe=$t(),ie=$t(),ce=$t(),he=$t(),be=$t(),Te=$t(),Qe=$t(),Ne=$t(),$e=$t(),qe=$t(),Ge=$t(),Ke=$t(),Ze=$t(),et=$t(),tt=$t(),nt=$t(),lt=me(),st=$t(),[ot,at,it,dt]=Ye((()=>Fn)),ut=e=>{if(!fe(e,((e,t)=>N([a,i],t))))return!1;const t=e[a];return!(!P(t)&&t!=s||(ze(e[i])!=t&&ue(e,i),0))},ct=(t,n)=>(!e||Le(J,n)||zt(n))&&fe(t,((e,t)=>gt(n,t,e)),(()=>zt(n))),gt=(e,t,n,l)=>fe(l?n:bt(n,e,t),((l,r)=>k(vt(e,t,r,l),(e=>(n[r]=e,!0)),(()=>!1))),(()=>zt(e,t))),vt=(t,n,l,r)=>e?k(Ee(Ee(J,t),l),(e=>ze(r)!=e[a]?zt(t,n,l,r,e[i]):r),(()=>zt(t,n,l,r))):H(ze(r))?zt(t,n,l,r):r,ht=(e,t)=>fe(t?e:pt(e),((t,n)=>k(ft(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Nt())),ft=(e,n)=>t?k(Ee(z,e),(t=>ze(n)!=t[a]?Nt(e,n,t[i]):n),(()=>Nt(e,n))):H(ze(n))?Nt(e,n):n,bt=(e,t,n)=>(k(Ee(Q,t),(([l,r])=>{Re(l,((t,n)=>{de(e,n)||(e[n]=t)})),Re(r,(l=>{de(e,l)||zt(t,n,l)}))})),e),pt=e=>(t&&(Re(W,((t,n)=>{de(e,n)||(e[n]=t)})),Re(B,(t=>{de(e,t)||Nt(t)}))),e),yt=e=>He(J,e,((e,t,n)=>{const l=me(),r=Be();He(xe(J,t,me),n,((e,t,n)=>{De(e,t,n),k(n[i],(e=>De(l,t,e)),(()=>Ue(r,t)))})),De(Q,t,[l,r])}),((e,t)=>{De(J,t),De(Q,t)})),wt=e=>He(z,e,((e,t,n)=>{De(z,t,n),k(n[i],(e=>De(W,t,e)),(()=>Ue(B,t)))}),((e,t)=>{De(z,t),De(W,t),Me(B,t)})),Ct=e=>ve(e)?On():Rn(e),Lt=e=>He(X,e,((e,t,n)=>It(t,n)),((e,t)=>Dt(t))),It=(e,t)=>He(xe(X,e,(()=>(Pt(e,1),De(G,e,Xe()),De(K,e,me()),me()))),t,((t,n,l)=>Tt(e,t,n,l)),((t,n)=>xt(e,t,n))),Tt=(e,t,n,l,r)=>He(xe(t,n,(()=>(At(e,n,1),me()))),l,((t,l,r)=>St(e,n,t,l,r)),((l,s)=>Ht(e,t,n,l,s,r))),St=(e,t,n,l,r)=>{Le(n,l)||jt(e,t,l,1);const s=Ee(n,l);r!==s&&(Jt(e,t,l,s,r),De(n,l,r))},Rt=(e,t,n,l,r)=>k(Ee(t,n),(t=>St(e,n,t,l,r)),(()=>Tt(e,t,n,bt({[l]:r},e,n)))),Mt=e=>ve(e)?Hn():Mn(e),mt=e=>He(Z,e,((e,t,n)=>Vt(t,n)),((e,t)=>kt(t))),Vt=(e,t)=>{Le(Z,e)||Ft(e,1);const n=Ee(Z,e);t!==n&&(Qt(e,n,t),De(Z,e,t))},Et=(e,t)=>{const[n]=Ee(G,e),l=n(t);return Le(Ee(X,e),l)?Et(e,t):l},Ot=e=>{var t;return null!=(t=Ee(X,e))?t:It(e,{})},Dt=e=>It(e,{}),xt=(e,t,n)=>{const[,l]=Ee(G,e);l(n),Tt(e,t,n,{},!0)},Ht=(e,t,n,l,r,s)=>{var o;const a=Ee(null==(o=Ee(Q,e))?void 0:o[0],r);if(!H(a)&&!s)return St(e,n,l,r,a);const i=t=>{Jt(e,n,t,Ee(l,t)),jt(e,n,t,-1),De(l,t)};H(a)?i(r):Oe(l,i),Ie(l)&&(At(e,n,-1),Ie(De(t,n))&&(Pt(e,-1),De(X,e),De(G,e),De(K,e)))},kt=e=>{const t=Ee(W,e);if(!H(t))return Vt(e,t);Qt(e,Ee(Z,e)),Ft(e,-1),De(Z,e)},Pt=(e,t)=>Yt(u,e,t),At=(e,t,n)=>Yt(xe(m,e,me),t,n)&&De(C,e,xe(C,e,(()=>0))+n),jt=(e,t,n,l)=>{var r;const s=Ee(K,e),o=null!=(r=Ee(s,n))?r:0;(0==o&&1==l||1==o&&-1==l)&&Yt(xe(v,e,me),n,l),De(s,n,o!=-l?o+l:null),Yt(xe(xe(V,e,me),t,me),n,l)},Jt=(e,t,n,l,r)=>{var s;xe(xe(xe(E,e,me),t,me),n,(()=>[l,0]))[1]=r,null==(s=o[3])||s.call(o,e,t,n,r)},Ft=(e,t)=>Yt(O,e,t),Qt=(e,t,n)=>{var l;xe(D,e,(()=>[t,0]))[1]=n,null==(l=o[4])||l.call(o,e,n)},zt=(e,t,n,l,r)=>(Y(xe(xe(xe(x,e,me),t,me),n,(()=>[])),l),r),Nt=(e,t,n)=>(Y(xe(A,e,(()=>[])),t),n),Wt=(e,t,n)=>k(Ee(Ee(Ee(E,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Bt(hn(e,t,n))])),_t=e=>k(Ee(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Bt(pn(e))])),en=e=>Ie(x)||Ie(qe[e])?0:Re(e?Fe(x):x,((t,n)=>Re(t,((t,l)=>Re(t,((t,r)=>at(qe[e],[n,l,r],t))))))),tn=e=>Ie(A)||Ie(Ge[e])?0:Re(e?je(A):A,((t,n)=>at(Ge[e],[n],t))),nn=(e,t,n,l)=>{if(!Ie(e))return at(t,l,(()=>ke(e))),Oe(e,((e,t)=>at(n,[...null!=l?l:[],e],1==t))),1},ln=e=>{const t=yn();t!=n&&at(ee[e],void 0,t);const l=Ie(he[e]),r=Ie(Qe[e])&&Ie(Ne[e])&&Ie(ce[e])&&Ie(be[e])&&Ie(se[e])&&Ie(oe[e])&&Ie(ie[e])&&l&&Ie(ne[e])&&Ie(le[e]),s=Ie($e[e])&&Ie(Te[e])&&Ie(re[e])&&Ie(te[e]);if(!r||!s){const t=e?[je(u),Je(v),je(C),Je(m),Fe(V),Fe(E)]:[u,v,C,m,V,E];if(!r){nn(t[0],ne[e],le[e]),Re(t[1],((t,n)=>nn(t,se[e],oe[e],[n]))),Re(t[2],((t,n)=>{0!=t&&at(ie[e],[n],un(n))}));const n=Be();Re(t[3],((t,r)=>{nn(t,ce[e],be[e],[r])&&!l&&(at(he[e],[r,null]),Ue(n,r))})),l||Re(t[5],((t,l)=>{if(!Le(n,l)){const n=Be();Re(t,(e=>Re(e,(([t,l],r)=>l!==t?Ue(n,r):Me(e,r))))),Re(n,(t=>at(he[e],[l,t])))}})),Re(t[4],((t,n)=>Re(t,((t,l)=>nn(t,Qe[e],Ne[e],[n,l])))))}if(!s){let n;Re(t[5],((t,l)=>{let r;Re(t,((t,s)=>{let o;Re(t,(([t,a],i)=>{a!==t&&(at($e[e],[l,s,i],a,t,Wt),n=r=o=1)})),o&&at(Te[e],[l,s],Wt)})),r&&at(re[e],[l],Wt)})),n&&at(te[e],void 0,Wt)}}},rn=e=>{const t=Tn();t!=l&&at(Ke[e],void 0,t);const n=Ie(et[e])&&Ie(tt[e]),r=Ie(nt[e])&&Ie(Ze[e]);if(!n||!r){const t=e?[je(O),je(D)]:[O,D];if(n||nn(t[0],et[e],tt[e]),!r){let n;Re(t[1],(([t,l],r)=>{l!==t&&(at(nt[e],[r],l,t,_t),n=1)})),n&&at(Ze[e],void 0,_t)}}},sn=(e,...t)=>(An((()=>e(...q(t,M)))),Fn),on=()=>Ae(X),an=()=>Ve(X),dn=e=>Ve(Ee(K,M(e))),un=e=>pe(Ee(X,M(e))),cn=e=>Ve(Ee(X,M(e))),gn=(e,t,n,l=0,r)=>{return q(F(U((s=Ee(X,M(e)),o=(e,n)=>[H(t)?n:Ee(e,M(t)),n],q([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>o(t,e)))),(([e],[t])=>rt(e,t)*(n?-1:1))),l,H(r)?r:l+r),(([,e])=>e));var s,o,a},vn=(e,t)=>Ve(Ee(Ee(X,M(e)),M(t))),hn=(e,t,n)=>Ee(Ee(Ee(X,M(e)),M(t)),M(n)),fn=()=>ke(Z),bn=()=>Ve(Z),pn=e=>Ee(Z,M(e)),yn=()=>!Ie(X),wn=e=>Le(X,M(e)),Cn=(e,t)=>Le(Ee(K,M(e)),M(t)),Ln=(e,t)=>Le(Ee(X,M(e)),M(t)),In=(e,t,n)=>Le(Ee(Ee(X,M(e)),M(t)),M(n)),Tn=()=>!Ie(Z),Sn=e=>Le(Z,M(e)),Rn=e=>sn((()=>(e=>fe(e,ct,zt))(e)?Lt(e):0)),Mn=e=>sn((()=>ht(e)?mt(e):0)),mn=e=>{try{Ct(Xt(e))}catch(e){}return Fn},Vn=t=>sn((()=>{if((e=fe(t,(e=>fe(e,ut))))&&(yt(t),!Ie(X))){const e=on();On(),Rn(e)}})),En=e=>sn((()=>{if(t=(e=>fe(e,ut))(e)){const n=fn();Pn(),Hn(),t=!0,wt(e),Mn(n)}})),On=()=>sn((()=>Lt({}))),Dn=e=>sn((e=>Le(X,e)?Dt(e):0),e),xn=(e,t)=>sn(((e,t)=>k(Ee(X,e),(n=>Le(n,t)?xt(e,n,t):0))),e,t),Hn=()=>sn((()=>mt({}))),kn=()=>sn((()=>{yt({}),e=!1})),Pn=()=>sn((()=>{wt({}),t=!1})),An=(e,t)=>{if(-1!=r){jn();const n=e();return Jn(t),n}},jn=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=o[0])||e.call(o),at(lt)),Fn},Jn=e=>{var t,s;return r>0&&(r--,0==r&&(r=1,en(1),Ie(E)||ln(1),tn(1),Ie(D)||rn(1),(null==e?void 0:e(Fn))&&(Re(E,((e,t)=>Re(e,((e,n)=>Re(e,(([e],l)=>We(Fn,t,n,l,e))))))),Se(E),Re(D,(([e],t)=>_e(Fn,t,e))),Se(D)),at(st[0],void 0),r=-1,en(0),Ie(E)||ln(0),tn(0),Ie(D)||rn(0),null==(t=o[1])||t.call(o),at(st[1],void 0),null==(s=o[2])||s.call(o),r=0,n=yn(),l=Tn(),$([u,v,C,m,V,E,x,O,D,A],Se))),Fn},Fn={getContent:()=>[on(),fn()],getTables:on,getTableIds:an,getTable:e=>Pe(Ee(X,M(e))),getTableCellIds:dn,getRowCount:un,getRowIds:cn,getSortedRowIds:gn,getRow:(e,t)=>ke(Ee(Ee(X,M(e)),M(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:bn,getValue:pn,hasTables:yn,hasTable:wn,hasTableCell:Cn,hasRow:Ln,hasCell:In,hasValues:Tn,hasValue:Sn,getTablesJson:()=>Kt(X),getValuesJson:()=>Kt(Z),getJson:()=>Kt([X,Z]),getTablesSchemaJson:()=>Kt(J),getValuesSchemaJson:()=>Kt(z),getSchemaJson:()=>Kt([J,z]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>sn((()=>{(ve(e)?On:Rn)(e),(ve(t)?Hn:Mn)(t)})),setTables:Rn,setTable:(e,t)=>sn((e=>ct(t,e)?It(e,t):0),e),setRow:(e,t,n)=>sn(((e,t)=>gt(e,t,n)?Tt(e,Ot(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return gt(e,l,t)&&(e=M(e),Tt(e,Ot(e),l=Et(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>sn(((e,t)=>{if(gt(e,t,n,1)){const l=Ot(e);ge(n,((n,r)=>Rt(e,l,t,r,n)))}}),e,t),setCell:(e,t,n,l)=>sn(((e,t,n)=>k(vt(e,t,n,j(l)?l(hn(e,t,n)):l),(l=>Rt(e,Ot(e),t,n,l)))),e,t,n),setValues:Mn,setPartialValues:e=>sn((()=>ht(e,1)?ge(e,((e,t)=>Vt(t,e))):0)),setValue:(e,t)=>sn((e=>k(ft(e,j(t)?t(pn(e)):t),(t=>Vt(e,t)))),e),applyChanges:e=>sn((()=>{ge(e[0],((e,t)=>H(e)?Dn(t):ge(e,((e,n)=>H(e)?xn(t,n):ge(e,((e,l)=>We(Fn,t,n,l,e))))))),ge(e[1],((e,t)=>_e(Fn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Mt(Xt(e))}catch(e){}return Fn},setJson:e=>sn((()=>{try{const[t,n]=Xt(e);Ct(t),Mt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>sn((()=>{Vn(e),En(t)})),delTables:On,delTable:Dn,delRow:xn,delCell:(e,t,n,l)=>sn(((e,t,n)=>k(Ee(X,e),(r=>k(Ee(r,t),(s=>Le(s,n)?Ht(e,r,t,s,n,l):0))))),e,t,n),delValues:Hn,delValue:e=>sn((e=>Le(Z,e)?kt(e):0),e),delTablesSchema:kn,delValuesSchema:Pn,delSchema:()=>sn((()=>{kn(),Pn()})),transaction:An,startTransaction:jn,getTransactionChanges:()=>[ke(E,((e,t)=>-1===Ee(u,t)?void 0:ke(e,((e,n)=>-1===Ee(Ee(m,t),n)?void 0:ke(e,(([,e])=>e),(e=>Gt(e)))),Ie,ve)),Ie,ve),ke(D,(([,e])=>e),(e=>Gt(e))),1],getTransactionLog:()=>[!Ie(E),!Ie(D),Ae(E,qt,Gt),Ae(x),ke(D,qt,Gt),ke(A),ke(u),Pe(m),Ae(V),ke(O)],finishTransaction:Jn,forEachTable:e=>Re(X,((t,n)=>e(n,(e=>Re(t,((t,n)=>e(n,(e=>Oe(t,e))))))))),forEachTableCell:(e,t)=>Oe(Ee(K,M(e)),t),forEachRow:(e,t)=>Re(Ee(X,M(e)),((e,n)=>t(n,(t=>Oe(e,t))))),forEachCell:(e,t,n)=>Oe(Ee(Ee(X,M(e)),M(t)),n),forEachValue:e=>Oe(Z,e),addSortedRowIdsListener:(e,t,n,l,r,s,o)=>{let a=gn(e,t,n,l,r);return ot((()=>{const o=gn(e,t,n,l,r);_(o,a)||(a=o,s(Fn,e,t,n,l,r,a))}),he[o?1:0],[e,t],[an])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,st[0]),addDidFinishTransactionListener:e=>ot(e,st[1]),callListener:e=>(dt(e),Fn),delListener:e=>(it(e),Fn),getListenerStats:()=>({hasTables:Ut(ee),tables:Ut(te),tableIds:Ut(ne),hasTable:Ut(le),table:Ut(re),tableCellIds:Ut(se),hasTableCell:Ut(oe,we),rowCount:Ut(ie),rowIds:Ut(ce),sortedRowIds:Ut(he),hasRow:Ut(be,we),row:Ut(Te,we),cellIds:Ut(Qe,we),hasCell:Ut(Ne,Ce),cell:Ut($e,Ce),invalidCell:Ut(qe,Ce),hasValues:Ut(Ke),values:Ut(Ze),valueIds:Ut(et),hasValue:Ut(tt),value:Ut(nt),invalidValue:Ut(Ge),transaction:ye(lt)+Ut(st)}),isMergeable:()=>!1,createStore:Zt,addListener:ot,callListeners:at,setInternalListeners:(e,t,n,l,r)=>o=[e,t,n,l,r]};return ge({[g+f]:[0,ee,[],()=>[yn()]],[f]:[0,te],[b]:[0,ne],[g+h]:[1,le,[an],e=>[wn(...e)]],[h]:[1,re,[an]],[h+I]:[1,se,[an]],[g+h+L]:[2,oe,[an,dn],e=>[Cn(...e)]],[y]:[1,ie,[an]],[w]:[1,ce,[an]],[g+p]:[2,be,[an,cn],e=>[Ln(...e)]],[p]:[2,Te,[an,cn]],[I]:[2,Qe,[an,cn]],[g+L]:[3,Ne,[an,cn,vn],e=>[In(...e)]],[L]:[3,$e,[an,cn,vn],e=>Bt(hn(...e))],InvalidCell:[3,qe],[g+S]:[0,Ke,[],()=>[Tn()]],[S]:[0,Ze],[R]:[0,et],[g+T]:[1,tt,[bn],e=>[Sn(...e)]],[T]:[1,nt,[bn],e=>Bt(pn(e[0]))],InvalidValue:[1,Ge]},(([e,t,n,l],r)=>{Fn[c+r+d]=(...r)=>ot(r[e],t[r[e+1]?1:0],e>0?F(r,0,e):void 0,n,l)})),ae(Fn)};var en=Math.pow;const tn=en(2,36),nn=en(2,30),ln=en(2,24),rn=en(2,18),sn=en(2,12),on=en(2,6),an={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},dn=(e=n)=>[Ot(e),Ot(e)];e.createCheckpoints=Ze,e.createCustomPersister=yt,e.createCustomSynchronizer=(e,t,l,r,s,o,a={})=>{let i,d=0,u=0;const c=me();l(((n,l,r,s)=>{u++,0==r?k(Ee(c,l),(([e,t])=>H(e)||e==n?t(s,n):0)):2==r&&f.isAutoLoading()?h(n,s).then((e=>{null==i||i(void 0,e)})):3==r&&f.isAutoLoading()?null==i||i(void 0,s):k(1==r&&f.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(s):5==r?e.getMergeableRowDiff(s):6==r?e.getMergeableCellDiff(s):7==r?e.getMergeableValueDiff(s):void 0,(e=>{d++,t(n,l,0,e)}))}));const g=(e,l,...r)=>Ft(void 0,[e,l,...r],(function*(e,l,r=n){return new E(((n,o)=>{const a=st(),i=setTimeout((()=>{Me(c,a),o(`No response from ${null!=e?e:"anyone"} to '${l}'`)}),1e3*s);De(c,a,[e,(e,t)=>{clearTimeout(i),Me(c,a),n([e,t])}]),d++,t(e,a,l,r)}))})),v=(e,[t,n])=>{ce(t,(([t,n],l)=>{const r=he(e[0],l,Et);ce(t,(([e,t],n)=>{const l=he(r[0],n,Et);ce(e,(([e,t],n)=>l[0][n]=Tt(e,t))),l[1]=mt(l[1],t)})),r[1]=mt(r[1],n)})),e[1]=mt(e[1],n)},h=(t=null,n)=>Ft(void 0,null,(function*(){H(n)&&([n,t]=yield g(t,1));const[l,r]=n,[s,o]=e.getMergeableContentHashes();let a=Et();if(s!=l){const[n,l]=(yield g(t,4,e.getMergeableTableHashes()))[0];if(a=n,!ve(l)){const[n,r]=(yield g(t,5,e.getMergeableRowHashes(l)))[0];if(v(a,n),!ve(r)){const n=(yield g(t,6,e.getMergeableCellHashes(r)))[0];v(a,n)}}}return[a,o==r?Et():(yield g(t,7,e.getMergeableValuesHashes()))[0],1]})),f=yt(e,(()=>Ft(void 0,null,(function*(){const e=yield h();return ve(e[0][0])&&ve(e[1][0])?void 0:e}))),((n,l)=>Ft(void 0,null,(function*(){d++,l?t(null,null,3,l):t(null,null,2,e.getMergeableContentHashes())}))),(e=>i=e),(()=>i=void 0),o,2,((e,t)=>{for(var n in t||(t={}))At.call(t,n)&&Jt(e,n,t[n]);if(Pt)for(var n of Pt(t))jt.call(t,n)&&Jt(e,n,t[n]);return e})({startSync:e=>Ft(void 0,null,(function*(){return yield(yield f.startAutoLoad(e)).startAutoSave()})),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),f.stopSync()),getSynchronizerStats:()=>({sends:d,receives:u})},a));return f},e.createIndexes=ot,e.createMergeableStore=e=>{let t=1,l=dn(),r=0;const s=me(),o=Be(),[a,i]=(e=>{let t=0,n=-1;const l=k(e,(e=>{const t=Ct(e);return nt(t/ln)+nt(t/rn)+nt(t/sn)+nt(t/on)+nt(t)}),(()=>st(5))),r=e=>{var l;const r=t,[s,o]=H(e)||""==e?[0,0]:[lt(a=e,0)*tn+lt(a,1)*nn+lt(a,2)*ln+lt(a,3)*rn+lt(a,4)*sn+lt(a,5)*on+lt(a,6),lt(a,7)*rn+lt(a,8)*sn+lt(a,9)*on+lt(a,10)];var a;t=O(r,s,null!=(l=globalThis.HLC_TIME)?l:Date.now()),n=t==r?t==s?O(n,o):n:t==s?o:-1};return[()=>{return r(),s=++n,nt((e=t)/tn)+nt(e/nn)+nt(e/ln)+nt(e/rn)+nt(e/sn)+nt(e/on)+nt(e)+nt(s/rn)+nt(s/sn)+nt(s/on)+nt(s)+l;var e,s},r]})(e),d=Zt(),u=e=>{const n=t;return t=0,e(),t=n,f},c=(e,t=0)=>{const r={},s={},[[o,a=n,d=0],u]=e,[c,v]=l,[h,f,b]=c;let p=t?d:b,y=a;ce(o,(([e,l=n,s=0],o)=>{const a=xe(h,o,Ot),[i,d,u]=a;let c=t?s:u,v=l;ce(e,((e,n)=>{const[l,s,a]=g(e,xe(i,n,Ot),he(he(r,o,ie),n,ie),t);c^=t?0:(s?Rt(n,s):0)^Rt(n,a),v=mt(v,l)})),c^=t?0:Mt(d,l),Vt(a,c,l),p^=t?0:(u?Rt(o,u):0)^Rt(o,a[2]),y=mt(y,v)})),p^=t?0:Mt(f,a),Vt(c,p,a);const[w]=g(u,v,s,t);return i(mt(y,w)),[r,s,1]},g=(e,t,l,r)=>{const[s,o=n,a=0]=e,[i,d,u]=t;let c=o,g=r?a:u;return ce(s,(([e,t,s=0],o)=>{const a=xe(i,o,(()=>[void 0,n,0])),[,d,u]=a;(!d||t>d)&&(Vt(a,r?s:Ct(Kt(null!=e?e:null)+":"+t),t),a[0]=e,l[o]=e,g^=r?0:Rt(o,u)^Rt(o,a[2]),c=mt(c,t))})),g^=r?0:Mt(d,o),Vt(t,g,o),[c,u,t[2]]},v=()=>[Dt(l[0],(e=>Dt(e,(e=>Dt(e))))),Dt(l[1])],h=e=>u((()=>d.applyChanges(c(e)))),f={getMergeableContent:v,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>ke(l[0][0],St),getMergeableTableDiff:e=>{const t=Et(l[0][1]),n={};return Oe(l[0][0],((l,[r,s,o])=>de(e,l)?o!=e[l]?n[l]=o:0:t[0][l]=xt([r,s],(e=>xt(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return ce(e,((e,n)=>k(Ee(l[0][0],n),(([l,,r])=>r!=e?Oe(l,((e,[,,l])=>he(t,n,ie)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=Et(l[0][1]),n={};return ce(e,((e,r)=>{var s;return Oe(null==(s=Ee(l[0][0],r))?void 0:s[0],((l,[s,o,a])=>de(e,l)?a!==e[l]?he(n,r,ie)[l]=a:0:he(t[0],r,Et)[0][l]=xt([s,o])))})),[t,n]},getMergeableCellHashes:e=>{const t={};return ce(e,((e,n)=>k(Ee(l[0][0],n),(([l])=>ce(e,((e,r)=>k(Ee(l,r),(([l,,s])=>s!==e?Oe(l,((e,[,,l])=>he(he(t,n,ie),r,ie)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=l,r={};return ce(e,((e,n)=>ce(e,((e,l)=>k(Ee(t,n),(([t,s])=>k(Ee(t,l),(([t,o])=>Oe(t,((t,[a,i,d])=>d!==e[t]?he(he(r,n,(()=>Et(s)))[0],l,(()=>Et(o)))[0][t]=[a,i]:0)))))))))),Tt(r,n)},getMergeableValuesHashes:()=>ke(l[1][0],St),getMergeableValueDiff:e=>{const[,[t,n]]=l,r=ke(t,It,(([,,t],n)=>t==(null==e?void 0:e[n])));return Tt(r,n)},setMergeableContent:e=>u((()=>(e=>J(e)&&2==Q(e)&&Ht(e[0],(e=>fe(e,(e=>Ht(e,(e=>fe(e,(e=>Ht(e,(e=>fe(e,(e=>Ht(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Ht(e[1],(e=>fe(e,(e=>Ht(e,Ne)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),l=dn(),d.applyChanges(c(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{r=1,d.setContent(e),r=0})),f),getTransactionMergeableChanges:()=>{const[[e,t],[n,r]]=l,a={};Re(s,((t,n)=>k(Ee(e,n),(([e,l])=>{const r={};Re(t,((t,n)=>k(Ee(e,n),(([e,l])=>{const s={};Re(t,(t=>{k(Ee(e,t),(([e,n])=>s[t]=Tt(e,n)))})),r[n]=Tt(s,l)})))),a[n]=Tt(r,l)}))));const i={};return Re(o,(e=>k(Ee(n,e),(([t,n])=>i[e]=Tt(t,n))))),[Tt(a,t),Tt(i,r),1]},applyMergeableChanges:h,merge:e=>{const t=v(),n=e.getMergeableContent();return e.applyMergeableChanges(t),h(n)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{Se(s),Se(o)}),((e,l,o,i)=>{Ue(xe(xe(s,e,me),l,Be),o),t&&c([[{[e]:[{[l]:[{[o]:[i,r?n:a()]}]}]}],[{}],1])}),((e,l)=>{Ue(o,e),t&&c([[{}],[{[e]:[l,r?n:a()]}],1])})),ge(d,((e,t)=>f[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):m(t,"add")&&V(t,"Listener")?(...n)=>{var l;const r=null!=(l=an[F(t,3,-8)])?l:0,s=n[r];return n[r]=(e,...t)=>s(f,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),ae(f)},e.createMetrics=dt,e.createQueries=Wt,e.createRelationships=_t,e.createStore=Zt,e.defaultSorter=rt,e.getUniqueId=st},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),a="type",i="default",d="Listener",u="Result",c="add",g="Has",v="Ids",h="Table",f=h+"s",b=h+v,p="Row",y=p+"Count",w=p+v,C="Sorted"+p+v,L="Cell",I=L+v,T="Value",S=T+"s",R=T+v,M=e=>n+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),E=Promise,O=Math.max,D=Math.min,x=isFinite,H=e=>null==e,k=(e,t,n)=>H(e)?null==n?void 0:n():t(e),P=e=>e==l||e==r,A=e=>t(e)==l,j=e=>t(e)==o,J=e=>Array.isArray(e),F=(e,t,n)=>e.slice(t,n),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),_=(e,t)=>Q(e)===Q(t)&&W(e,((e,n)=>t[n]===e)),B=(e,t)=>W(e,((n,l)=>0==l||t(e[l-1],n)<=0)),U=(e,t)=>e.sort(t),$=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>X(e,((e,t)=>e+t),0),K=e=>0==Q(e),X=(e,t,n)=>e.reduce(t,n),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,ne=e=>te.getPrototypeOf(e),le=te.entries,re=te.isFrozen,se=e=>!H(e)&&k(ne(e),(e=>e==te.prototype||H(ne(e))),(()=>!0)),oe=te.keys,ae=te.freeze,ie=(e=[])=>te.fromEntries(e),de=(e,t)=>t in e,ue=(e,t)=>(delete e[t],e),ce=(e,t)=>$(le(e),(([e,n])=>t(n,e))),ge=(e,t)=>q(le(e),(([e,n])=>t(n,e))),ve=e=>se(e)&&0==(e=>Q(oe(e)))(e),he=(e,t,n)=>(de(e,t)||(e[t]=n()),e[t]),fe=(e,t,n,l=0)=>H(e)||!se(e)||!l&&ve(e)||re(e)?(null==n||n(),!1):(ge(e,((n,l)=>{t(n,l)||ue(e,l)})),!!l||!ve(e)),be=e=>t=>X(Te(t),((t,n)=>t+e(n)),0),pe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ye=be(pe),we=be(ye),Ce=be(we),Le=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},Ie=e=>H(e)||0==pe(e),Te=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Se=e=>e.clear(),Re=(e,t)=>null==e?void 0:e.forEach(t),Me=(e,t)=>null==e?void 0:e.delete(t),me=e=>new Map(e),Ve=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Ee=(e,t)=>null==e?void 0:e.get(t),Oe=(e,t)=>Re(e,((e,n)=>t(n,e))),De=(e,t,n)=>H(n)?(Me(e,t),e):null==e?void 0:e.set(t,n),xe=(e,t,n,l)=>(Le(e,t)?null==l||l(Ee(e,t)):De(e,t,n()),Ee(e,t)),He=(e,t,n,l=De)=>(ge(t,((t,l)=>n(e,l,t))),Oe(e,(n=>de(t,n)?0:l(e,n))),e),ke=(e,t,n,l)=>{const r={};return Re(e,((e,s)=>{if(!(null==n?void 0:n(e,s))){const n=t?t(e,s):e;!(null==l?void 0:l(n))&&(r[s]=n)}})),r},Pe=(e,t,n)=>ke(e,(e=>ke(e,t,n)),Ie,ve),Ae=(e,t,n)=>ke(e,(e=>Pe(e,t,n)),Ie,ve),je=(e,t)=>{const n=me();return Re(e,((e,l)=>{var r;return n.set(l,null!=(r=null==t?void 0:t(e))?r:e)})),n},Je=e=>je(e,je),Fe=e=>je(e,Je),Qe=(e,t,n,l,r=0)=>k((n?xe:Ee)(e,t[r],r>Q(t)-2?n:me),(s=>{if(r>Q(t)-2)return(null==l?void 0:l(s))&&De(e,t[r]),s;const o=Qe(s,t,n,l,r+1);return Ie(s)&&De(e,t[r]),o})),ze=e=>{const n=t(e);return P(n)||n==s&&x(e)?n:void 0},Ne=e=>H(e)||!H(ze(e)),We=(e,t,n,l,r)=>H(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r),_e=(e,t,n)=>H(n)?e.delValue(t):e.setValue(t,n),Be=e=>new Set(J(e)||H(e)?e:[e]),Ue=(e,t)=>null==e?void 0:e.add(t),$e=(e,t,n,l,r)=>{const s=e.hasRow,o=me(),a=me(),i=me(),d=me(),u=me(),c=me(),g=(t,n,...l)=>{const r=xe(c,t,Be);return $(l,(t=>Ue(r,t)&&n&&e.callListener(t))),l},v=(t,...n)=>k(Ee(c,t),(l=>{$(K(n)?Te(l):n,(t=>{e.delListener(t),Me(l,t)})),Ie(l)&&De(c,t)})),h=(e,n)=>{De(o,e,n),Le(a,e)||(De(a,e,t()),De(d,e,me()),De(u,e,me()),r(i))},f=e=>{De(o,e),De(a,e),De(d,e),De(u,e),v(e),r(i)};return[()=>e,()=>Ve(o),e=>Oe(a,e),e=>Le(a,e),e=>Ee(o,e),e=>Ee(a,e),(e,t)=>De(a,e,t),h,(t,l,r,o,a)=>{h(t,l);const i=me(),c=me(),f=Ee(d,t),b=Ee(u,t),p=t=>{const r=n=>e.getCell(l,t,n),d=Ee(f,t),u=s(l,t)?n(o(r,t)):void 0;if(d===u||J(d)&&J(u)&&_(d,u)||De(i,t,[d,u]),!H(a)){const e=Ee(b,t),n=s(l,t)?a(r,t):void 0;e!=n&&De(c,t,n)}},y=e=>{r((()=>{Re(i,(([,e],t)=>De(f,t,e))),Re(c,((e,t)=>De(b,t,e)))}),i,c,f,b,e),Se(i),Se(c)};Oe(f,p),e.hasTable(l)&&$(e.getRowIds(l),(e=>{Le(f,e)||p(e)})),y(!0),v(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},f,e=>l(e,i),()=>Oe(c,f),g,v]},qe=(e,t)=>A(e)?t=>t(e):null!=e?e:()=>null!=t?t:n,Ge=(e,t)=>{const n=new WeakMap;return l=>{n.has(l)||n.set(l,e(l));const r=n.get(l);return null==t||t(r),r}},Ke=/^\d+$/,Xe=()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?ee(e):null)?r:n+t++},t=>{Ke.test(t)&&Q(e)<1e3&&Y(e,t)}]},Ye=e=>{let t;const[l,r]=Xe(),s=me();return[(r,o,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return De(s,u,[r,o,a,i,d]),Ue(Qe(o,null!=a?a:[n],Be),u),u},(e,l,...r)=>$(((e,t=[n])=>{const l=[],r=(e,n)=>n==Q(t)?Y(l,e):null===t[n]?Re(e,(e=>r(e,n+1))):$([t[n],null],(t=>r(Ee(e,t),n+1)));return r(e,0),l})(e,l),(e=>Re(e,(e=>Ee(s,e)[0](t,...null!=l?l:[],...r))))),e=>k(Ee(s,e),(([,t,l])=>(Qe(t,null!=l?l:[n],void 0,(t=>(Me(t,e),Ie(t)?1:0))),De(s,e),r(e),l))),e=>k(Ee(s,e),(([e,,n=[],l,r])=>{const s=(...o)=>{var a,i;const d=Q(o);d==Q(n)?e(t,...o,...r(o)):H(n[d])?$(null!=(i=null==(a=l[d])?void 0:a.call(l,...o))?i:[],(e=>s(...o,e))):s(...o,n[d])};s()}))]},Ze=Ge((e=>{let t,l,r,s=100,o=me(),a=me(),i=1;const d=me(),u=me(),[c,g,v]=Ye((()=>P)),h=me(),f=me(),b=[],p=[],y=(t,n)=>{i=0,e.transaction((()=>{const[l,r]=Ee(h,n);Re(l,((n,l)=>Re(n,((n,r)=>Re(n,((n,s)=>We(e,l,r,s,n[t]))))))),Re(r,((n,l)=>_e(e,l,n[t])))})),i=1},w=e=>{De(h,e),De(f,e),g(u,[e])},C=(e,t)=>$(((e,t)=>e.splice(0,t))(e,null!=t?t:Q(e)),w),L=()=>C(b,Q(b)-s),I=()=>k(t,(()=>{Y(b,t),L(),C(p),t=void 0,r=1})),T=()=>{t=Z(b),r=1};let S,R;const M=(e=n)=>(H(t)&&(t=n+l++,De(h,t,[o,a]),D(t,e),o=me(),a=me(),r=1),t),m=()=>{K(b)||(((e,...t)=>{e.unshift(...t)})(p,M()),y(0,t),t=Z(b),r=1)},V=()=>{K(p)||(Y(b,t),t=ee(p),y(1,t),r=1)},E=()=>{r&&(g(d),r=0)},O=e=>{const t=M(e);return E(),t},D=(e,t)=>(x(e)&&Ee(f,e)!==t&&(De(f,e,t),g(u,[e])),P),x=e=>Le(h,e),P={setSize:e=>(s=e,L(),P),addCheckpoint:O,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],t,[...p]],forEachCheckpoint:e=>Oe(f,e),hasCheckpoint:x,getCheckpoint:e=>Ee(f,e),goBackward:()=>(m(),E(),P),goForward:()=>(V(),E(),P),goTo:e=>{const n=N(b,e)?m:N(p,e)?V:null;for(;!H(n)&&e!=t;)n();return E(),P},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(v(e),P),clear:()=>(C(b),C(p),H(t)||w(t),t=void 0,l=0,O(),P),clearForward:()=>(K(p)||(C(p),g(d)),P),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({checkpointIds:ye(d),checkpoint:ye(u)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,n,l,r,s)=>{if(i){I();const e=xe(o,t,me),a=xe(e,n,me),i=xe(a,l,(()=>[s,void 0]));i[1]=r,i[0]===r&&Ie(De(a,l))&&Ie(De(e,n))&&Ie(De(o,t))&&T(),E()}})),R=e.addValueListener(null,((e,t,n,l)=>{if(i){I();const e=xe(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&Ie(De(a,t))&&T(),E()}}))}};return ae(P.clear())}),(e=>e._registerListeners())),et="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n),tt=me(q(et,((e,t)=>[e,t]))),nt=e=>et[63&e],lt=(e,t)=>{var n;return null!=(n=Ee(tt,e[t]))?n:0},rt=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,st=(e=16)=>X(crypto.getRandomValues(new Uint8Array(e)),((e,t)=>e+nt(t)),""),ot=Ge((e=>{const t=me(),l=me(),[r,s,o]=Ye((()=>w)),[a,i,d,u,c,g,v,,h,f,b,p]=$e(e,me,(e=>H(e)?n:J(e)?q(e,M):M(e)),r,s),y=(t,n,l)=>{const r=c(t);Re(l,((t,l)=>n(l,(n=>Re(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},w={setIndexDefinition:(e,n,r,o,a,i=rt)=>{const d=H(a)?void 0:([e],[t])=>a(e,t);return h(e,n,((n,r,a,u,c,h)=>{let f=0;const b=Be(),p=Be(),y=g(e);if(Re(r,(([e,t],n)=>{const l=Be(e),r=Be(t);Re(l,(e=>Me(r,e)?Me(l,e):0)),Re(l,(e=>{Ue(b,e),k(Ee(y,e),(t=>{Me(t,n),Ie(t)&&(De(y,e),f=1)}))})),Re(r,(e=>{Ue(b,e),Le(y,e)||(De(y,e,Be()),f=1),Ue(Ee(y,e),n),H(o)||Ue(p,e)}))})),n(),Ie(c)||(h?Oe(y,(e=>Ue(p,e))):Oe(a,(e=>k(Ee(u,e),(e=>Ue(p,e))))),Re(p,(e=>{const t=(t,n)=>i(Ee(c,t),Ee(c,n),e),n=[...Ee(y,e)];B(n,t)||(De(y,e,Be(U(n,t))),Ue(b,e))}))),(f||h)&&!H(d)){const t=[...y];B(t,d)||(v(e,me(U(t,d))),f=1)}f&&s(t,[e]),Re(b,(t=>s(l,[e,t])))}),qe(r),k(o,qe)),w},delIndexDefinition:e=>(f(e),w),getStore:a,getIndexIds:i,forEachIndex:e=>d(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,g(e)),hasIndex:u,hasSlice:(e,t)=>Le(g(e),t),getTableId:c,getSliceIds:e=>Ve(g(e)),getSliceRowIds:(e,t)=>Te(Ee(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,n)=>r(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>r(n,l,[e,t]),delListener:e=>(o(e),w),destroy:p,getListenerStats:()=>({sliceIds:ye(t),sliceRowIds:we(l)})};return ae(w)})),at=me([["avg",[(e,t)=>G(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>O(...e),(e,t)=>O(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:O(t,e)]],["min",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),it=(e,t,n,l,r,s=!1)=>{if(Ie(n))return;const[o,a,i,d]=r;return s||(s=H(e)),Re(l,(([n,l])=>{s||(e=H(n)?null==a?void 0:a(e,l,t++):H(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=H(e)))})),s?o(Te(n),pe(n)):e},dt=Ge((e=>{const t=me(),[l,r,s]=Ye((()=>p)),[o,a,i,d,u,c,g,,v,h,f,b]=$e(e,z,(e=>isNaN(e)||H(e)||!0===e||!1===e||e===n?void 0:1*e),l,r),p={setMetricDefinition:(e,n,l,s,o,a,i)=>{var d;const u=j(l)?[l,o,a,i]:null!=(d=Ee(at,l))?d:Ee(at,"sum");return v(e,n,((n,l,s,o,a,i)=>{const d=c(e),v=pe(o);i||(i=H(d)),n();let h=it(d,v,o,l,u,i);x(h)||(h=void 0),h!=d&&(g(e,h),r(t,[e],h,d))}),qe(s,1)),p},delMetricDefinition:e=>(h(e),p),getStore:o,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:f,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(s(e),p),destroy:b,getListenerStats:()=>({metric:ye(t)})};return ae(p)}));var ut=Object.defineProperty,ct=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ht=(e,t,n)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ft=(e,t,n)=>new Promise(((l,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())}));const bt=me(),pt=me(),yt=(e,t,n,l,r,s,o,a={},i=[])=>{let d,u,c,g=0,v=0,h=0;xe(bt,i,(()=>0)),xe(pt,i,(()=>[]));const[f,b,p,y,w]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ve(e)||!ve(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ve(e)||!ve(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(o,e),C=t=>{(f&&J(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},L=e=>ft(void 0,null,(function*(){return 2!=g&&(g=1,v++,yield R((()=>ft(void 0,null,(function*(){try{C(yield t())}catch(t){null==s||s(t),e&&w(e)}g=0}))))),M})),I=()=>(u&&(r(u),u=void 0),M),T=e=>ft(void 0,null,(function*(){return 1!=g&&(g=2,h++,yield R((()=>ft(void 0,null,(function*(){try{yield n(b,e)}catch(e){null==s||s(e)}g=0}))))),M})),S=()=>(k(c,e.delListener),c=void 0,M),R=(...e)=>ft(void 0,null,(function*(){return Y(Ee(pt,i),...e),yield ft(void 0,null,(function*(){if(!Ee(bt,i)){for(De(bt,i,1);!H(d=ee(Ee(pt,i)));)try{yield d()}catch(e){null==s||s(e)}De(bt,i,0)}})),M})),M=((e,t)=>{for(var n in t||(t={}))gt.call(t,n)&&ht(e,n,t[n]);if(ct)for(var n of ct(t))vt.call(t,n)&&ht(e,n,t[n]);return e})({load:L,startAutoLoad:e=>ft(void 0,null,(function*(){return yield I().load(e),u=l(((e,t)=>ft(void 0,null,(function*(){t||e?2!=g&&(g=1,v++,C(null!=t?t:e),g=0):yield L()})))),M})),stopAutoLoad:I,isAutoLoading:()=>!H(u),save:T,startAutoSave:()=>ft(void 0,null,(function*(){return yield S().save(),c=e.addDidFinishTransactionListener((()=>{const e=p();y(e)&&T(e)})),M})),stopAutoSave:S,isAutoSaving:()=>!H(c),schedule:R,getStore:()=>e,destroy:()=>I().stopAutoSave(),getStats:()=>({loads:v,saves:h})},a);return ae(M)},wt=new globalThis.TextEncoder,Ct=e=>{let t=2166136261;return $(wt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},Lt=([e,t,n])=>[e,t,n],It=([e,t])=>Tt(e,t),Tt=(e,t)=>t?[e,t]:[e],St=e=>e[2],Rt=(e,t)=>Ct(e+":"+t),Mt=(e,t)=>t>e?(e?Ct(e):0)^Ct(t):0,mt=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},Vt=(e,t,n)=>{e[2]=t>>>0,n>e[1]&&(e[1]=n)},Et=(e=n)=>Tt(ie(),e),Ot=(e=n)=>[me(),e,0],Dt=([e,t,n],l=Lt)=>[ke(e,l),t,n],xt=([e,t],n=It)=>Tt(ke(e,n),t),Ht=(e,n)=>J(e)&&3==Q(e)&&A(e[1])&&t(e[2])==s&&x(e[2])&&n(e[0]);var kt=Object.defineProperty,Pt=Object.getOwnPropertySymbols,At=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Jt=(e,t,n)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ft=(e,t,n)=>new Promise(((l,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())})),Qt=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable;const Wt=Ge((e=>{const t=e.createStore,l=t(),r=t(),s=me(),{addListener:o,callListeners:a,delListener:i}=r,[g,v,f,b,T,,,S,,R,M,m,V,E]=$e(e,(()=>!0),z,o,a),O=(e,t,...n)=>$(n,(n=>Ue(xe(xe(s,t,me),e,Be),n))),D=e=>{k(Ee(s,e),(e=>{Oe(e,((e,t)=>Re(t,(t=>e.delListener(t))))),Se(e)})),$([r,l],(t=>t.delTable(e)))},x=(e,t,n)=>O(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),P={setQueryDefinition:(t,s,o)=>{S(t,s),D(t);const a=[],i=[[null,[s,null,null,[],me()]]],d=[],u=[],c=[];o({select:(e,t)=>{const l=j(e)?[Q(a)+n,e]:[H(t)?e:t,n=>n(e,t)];return Y(a,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=H(n)||j(t)?null:t,r=H(l)?t:n,s=[e,[e,l,j(r)?r:e=>e(r),[],me()]];return Y(i,s),{as:e=>s[0]=e}},where:(e,t,n)=>Y(d,j(e)?e:H(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var s;const o=[e,[e,j(t)?[t,n,l,r]:null!=(s=Ee(at,t))?s:[(e,t)=>t]]];return Y(u,o),{as:e=>o[0]=e}},having:(e,t)=>Y(c,j(e)?e:n=>n(e)===t)});const g=me(a);if(Ie(g))return P;const v=me(i);Oe(v,((e,[,t])=>k(Ee(v,t),(({3:t})=>H(e)?0:Y(t,e)))));const h=me(u);let f=l;if(Ie(h)&&K(c))f=r;else{x(t,f,r);const e=me();Oe(h,((t,[n,l])=>Ue(xe(e,n,Be),[t,l])));const n=Be();Oe(g,(t=>Le(e,t)?0:Ue(n,t)));const l=me(),s=(n,l,s,o)=>k(n,(([a,i,d,u])=>{Oe(l,((t,[n])=>{const l=xe(a,t,me),r=Ee(l,s),i=o?void 0:n;if(r!==i){const n=Be([[r,i]]),o=pe(l);De(l,s,i),Re(Ee(e,t),(([e,t])=>{const r=it(u[e],o,l,n,t);u[e]=H(ze(r))?null:r}))}})),Ie(i)||!W(c,(e=>e((e=>u[e]))))?r.delRow(t,d):H(d)?n[2]=r.addRow(t,u):r.setRow(t,d,u)}));O(f,t,f.addRowListener(t,null,((r,o,a,i)=>{const d=[],u=[],c=me(),g=f.hasRow(t,a);let v=!g;Re(n,(e=>{const[n,l,r]=i(t,a,e);Y(d,l),Y(u,r),v||(v=n)})),Oe(e,(e=>{const[n,,l]=i(t,a,e);(v||n)&&De(c,e,[l])})),v&&s(Qe(l,d,void 0,(([,e])=>(Me(e,a),Ie(e)))),c,a,1),g&&s(Qe(l,u,(()=>{const e={};return Re(n,(n=>e[n]=f.getCell(t,a,n))),[me(),Be(),void 0,e]}),(([,e])=>{Ue(e,a)})),c,a)})))}x(t,e,f);const b=(n,l,r,o)=>{const a=t=>e.getCell(l,r,t);$(o,(l=>{var r;const[s,,o,i,d]=Ee(v,l),u=null==o?void 0:o(a,n),[c,g]=null!=(r=Ee(d,n))?r:[];u!=c&&(H(g)||E(t,g),De(d,n,H(u)?null:[u,...V(t,1,e.addRowListener(s,u,(()=>b(n,s,u,i))))]))})),(n=>{const l=(t,l)=>{var r,o,a;return e.getCell(...H(l)?[s,n,t]:t===s?[s,n,l]:[null==(r=Ee(v,t))?void 0:r[0],null==(a=Ee(null==(o=Ee(v,t))?void 0:o[4],n))?void 0:a[0],l])};f.transaction((()=>W(d,(e=>e(l)))?Oe(g,((e,r)=>We(f,t,n,e,r(l,n)))):f.delRow(t,n)))})(n)},{3:p}=Ee(v,null);return f.transaction((()=>V(t,1,e.addRowListener(s,null,((n,l,r)=>{e.hasRow(s,r)?b(r,s,r,p):(f.delRow(t,r),Re(v,(({4:e})=>k(Ee(e,r),(([,n])=>{E(t,n),De(e,r)})))))}))))),P},delQueryDefinition:e=>(D(e),R(e),P),getStore:g,getQueryIds:v,forEachQuery:f,hasQuery:b,getTableId:T,addQueryIdsListener:e=>M((()=>e(P))),delListener:e=>(i(e),P),destroy:m,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)zt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Qt)for(var l of Qt(e))t.indexOf(l)<0&&Nt.call(e,l)&&(n[l]=e[l]);return n})(r.getListenerStats(),["tables","tableIds","transaction"])};return ge({[h]:[1,1],[h+I]:[0,1],[y]:[0,1],[w]:[0,1],[C]:[0,5],[p]:[1,2],[I]:[0,2],[L]:[1,3]},(([e,t],n)=>{$(e?["get","has","forEach"]:["get"],(e=>P[e+u+n]=(...t)=>r[e+n](...t))),P[c+u+n+d]=(...e)=>r[c+n+d](...F(e,0,t),((n,...l)=>e[t](P,...l)),!0)})),ae(P)})),_t=Ge((e=>{const t=me(),l=me(),r=me(),s=me(),[o,a,i]=Ye((()=>I)),[d,u,c,g,v,h,,,f,b,p,y]=$e(e,(()=>[me(),me(),me(),me()]),(e=>H(e)?void 0:e+n),o,a),w=(e,t,n)=>k(h(e),(([l,,r])=>{if(!Le(r,t)){const s=Be();if(v(e)!=L(e))Ue(s,t);else{let e=t;for(;!H(e)&&!Le(s,e);)Ue(s,e),e=Ee(l,e)}if(n)return s;De(r,t,s)}return Ee(r,t)})),C=(e,t)=>k(h(e),(([,,e])=>De(e,t))),L=e=>Ee(t,e),I={setRelationshipDefinition:(e,n,o,i)=>(De(t,e,o),f(e,n,((t,n)=>{const o=Be(),i=Be(),d=Be(),[u,c]=h(e);Re(n,(([t,n],l)=>{H(t)||(Ue(i,t),k(Ee(c,t),(e=>{Me(e,l),Ie(e)&&De(c,t)}))),H(n)||(Ue(i,n),Le(c,n)||De(c,n,Be()),Ue(Ee(c,n),l)),Ue(o,l),De(u,l,n),Oe(Ee(s,e),(t=>{Le(w(e,t),l)&&Ue(d,t)}))})),t(),Re(o,(t=>a(l,[e,t]))),Re(i,(t=>a(r,[e,t]))),Re(d,(t=>{C(e,t),a(s,[e,t])}))}),qe(i)),I),delRelationshipDefinition:e=>(De(t,e),b(e),I),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(v(n),t))))),hasRelationship:g,getLocalTableId:v,getRemoteTableId:L,getRemoteRowId:(e,t)=>{var n;return Ee(null==(n=h(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Te(Ee(null==(n=h(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>H(h(e))?[t]:Te(w(e,t,!0)),addRelationshipIdsListener:p,addRemoteRowIdListener:(e,t,n)=>o(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>o(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(w(e,t),o(n,s,[e,t])),delListener:e=>{var t;return C(...null!=(t=i(e))?t:[]),I},destroy:y,getListenerStats:()=>({remoteRowId:we(l),localRowIds:we(r),linkedRowIds:we(s)})};return ae(I)})),Bt=e=>[e,e],Ut=(e,t=ye)=>t(e[0])+t(e[1]),$t=()=>[me(),me()],qt=e=>[...e],Gt=([e,t])=>e===t,Kt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Xt=JSON.parse,Yt=(e,t,n)=>De(e,t,Ee(e,t)==-n?void 0:n),Zt=()=>{let e,t,n=!1,l=!1,r=0,o=[];const u=me(),v=me(),C=me(),m=me(),V=me(),E=me(),O=me(),D=me(),x=me(),A=me(),J=me(),Q=me(),z=me(),W=me(),B=Be(),G=me(),K=me(),X=me(),Z=me(),ee=$t(),te=$t(),ne=$t(),le=$t(),re=$t(),se=$t(),oe=$t(),ie=$t(),ce=$t(),he=$t(),be=$t(),Te=$t(),Qe=$t(),Ne=$t(),$e=$t(),qe=$t(),Ge=$t(),Ke=$t(),Ze=$t(),et=$t(),tt=$t(),nt=$t(),lt=me(),st=$t(),[ot,at,it,dt]=Ye((()=>Fn)),ut=e=>{if(!fe(e,((e,t)=>N([a,i],t))))return!1;const t=e[a];return!(!P(t)&&t!=s||(ze(e[i])!=t&&ue(e,i),0))},ct=(t,n)=>(!e||Le(J,n)||zt(n))&&fe(t,((e,t)=>gt(n,t,e)),(()=>zt(n))),gt=(e,t,n,l)=>fe(l?n:bt(n,e,t),((l,r)=>k(vt(e,t,r,l),(e=>(n[r]=e,!0)),(()=>!1))),(()=>zt(e,t))),vt=(t,n,l,r)=>e?k(Ee(Ee(J,t),l),(e=>ze(r)!=e[a]?zt(t,n,l,r,e[i]):r),(()=>zt(t,n,l,r))):H(ze(r))?zt(t,n,l,r):r,ht=(e,t)=>fe(t?e:pt(e),((t,n)=>k(ft(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Nt())),ft=(e,n)=>t?k(Ee(z,e),(t=>ze(n)!=t[a]?Nt(e,n,t[i]):n),(()=>Nt(e,n))):H(ze(n))?Nt(e,n):n,bt=(e,t,n)=>(k(Ee(Q,t),(([l,r])=>{Re(l,((t,n)=>{de(e,n)||(e[n]=t)})),Re(r,(l=>{de(e,l)||zt(t,n,l)}))})),e),pt=e=>(t&&(Re(W,((t,n)=>{de(e,n)||(e[n]=t)})),Re(B,(t=>{de(e,t)||Nt(t)}))),e),yt=e=>He(J,e,((e,t,n)=>{const l=me(),r=Be();He(xe(J,t,me),n,((e,t,n)=>{De(e,t,n),k(n[i],(e=>De(l,t,e)),(()=>Ue(r,t)))})),De(Q,t,[l,r])}),((e,t)=>{De(J,t),De(Q,t)})),wt=e=>He(z,e,((e,t,n)=>{De(z,t,n),k(n[i],(e=>De(W,t,e)),(()=>Ue(B,t)))}),((e,t)=>{De(z,t),De(W,t),Me(B,t)})),Ct=e=>ve(e)?On():Rn(e),Lt=e=>He(X,e,((e,t,n)=>It(t,n)),((e,t)=>Dt(t))),It=(e,t)=>He(xe(X,e,(()=>(Pt(e,1),De(G,e,Xe()),De(K,e,me()),me()))),t,((t,n,l)=>Tt(e,t,n,l)),((t,n)=>xt(e,t,n))),Tt=(e,t,n,l,r)=>He(xe(t,n,(()=>(At(e,n,1),me()))),l,((t,l,r)=>St(e,n,t,l,r)),((l,s)=>Ht(e,t,n,l,s,r))),St=(e,t,n,l,r)=>{Le(n,l)||jt(e,t,l,1);const s=Ee(n,l);r!==s&&(Jt(e,t,l,s,r),De(n,l,r))},Rt=(e,t,n,l,r)=>k(Ee(t,n),(t=>St(e,n,t,l,r)),(()=>Tt(e,t,n,bt({[l]:r},e,n)))),Mt=e=>ve(e)?Hn():Mn(e),mt=e=>He(Z,e,((e,t,n)=>Vt(t,n)),((e,t)=>kt(t))),Vt=(e,t)=>{Le(Z,e)||Ft(e,1);const n=Ee(Z,e);t!==n&&(Qt(e,n,t),De(Z,e,t))},Et=(e,t)=>{const[n]=Ee(G,e),l=n(t);return Le(Ee(X,e),l)?Et(e,t):l},Ot=e=>{var t;return null!=(t=Ee(X,e))?t:It(e,{})},Dt=e=>It(e,{}),xt=(e,t,n)=>{const[,l]=Ee(G,e);l(n),Tt(e,t,n,{},!0)},Ht=(e,t,n,l,r,s)=>{var o;const a=Ee(null==(o=Ee(Q,e))?void 0:o[0],r);if(!H(a)&&!s)return St(e,n,l,r,a);const i=t=>{Jt(e,n,t,Ee(l,t)),jt(e,n,t,-1),De(l,t)};H(a)?i(r):Oe(l,i),Ie(l)&&(At(e,n,-1),Ie(De(t,n))&&(Pt(e,-1),De(X,e),De(G,e),De(K,e)))},kt=e=>{const t=Ee(W,e);if(!H(t))return Vt(e,t);Qt(e,Ee(Z,e)),Ft(e,-1),De(Z,e)},Pt=(e,t)=>Yt(u,e,t),At=(e,t,n)=>Yt(xe(m,e,me),t,n)&&De(C,e,xe(C,e,(()=>0))+n),jt=(e,t,n,l)=>{var r;const s=Ee(K,e),o=null!=(r=Ee(s,n))?r:0;(0==o&&1==l||1==o&&-1==l)&&Yt(xe(v,e,me),n,l),De(s,n,o!=-l?o+l:null),Yt(xe(xe(V,e,me),t,me),n,l)},Jt=(e,t,n,l,r)=>{var s;xe(xe(xe(E,e,me),t,me),n,(()=>[l,0]))[1]=r,null==(s=o[3])||s.call(o,e,t,n,r)},Ft=(e,t)=>Yt(O,e,t),Qt=(e,t,n)=>{var l;xe(D,e,(()=>[t,0]))[1]=n,null==(l=o[4])||l.call(o,e,n)},zt=(e,t,n,l,r)=>(Y(xe(xe(xe(x,e,me),t,me),n,(()=>[])),l),r),Nt=(e,t,n)=>(Y(xe(A,e,(()=>[])),t),n),Wt=(e,t,n)=>k(Ee(Ee(Ee(E,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Bt(hn(e,t,n))])),_t=e=>k(Ee(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Bt(pn(e))])),en=e=>Ie(x)||Ie(qe[e])?0:Re(e?Fe(x):x,((t,n)=>Re(t,((t,l)=>Re(t,((t,r)=>at(qe[e],[n,l,r],t))))))),tn=e=>Ie(A)||Ie(Ge[e])?0:Re(e?je(A):A,((t,n)=>at(Ge[e],[n],t))),nn=(e,t,n,l)=>{if(!Ie(e))return at(t,l,(()=>ke(e))),Oe(e,((e,t)=>at(n,[...null!=l?l:[],e],1==t))),1},ln=e=>{const t=yn();t!=n&&at(ee[e],void 0,t);const l=Ie(he[e]),r=Ie(Qe[e])&&Ie(Ne[e])&&Ie(ce[e])&&Ie(be[e])&&Ie(se[e])&&Ie(oe[e])&&Ie(ie[e])&&l&&Ie(ne[e])&&Ie(le[e]),s=Ie($e[e])&&Ie(Te[e])&&Ie(re[e])&&Ie(te[e]);if(!r||!s){const t=e?[je(u),Je(v),je(C),Je(m),Fe(V),Fe(E)]:[u,v,C,m,V,E];if(!r){nn(t[0],ne[e],le[e]),Re(t[1],((t,n)=>nn(t,se[e],oe[e],[n]))),Re(t[2],((t,n)=>{0!=t&&at(ie[e],[n],un(n))}));const n=Be();Re(t[3],((t,r)=>{nn(t,ce[e],be[e],[r])&&!l&&(at(he[e],[r,null]),Ue(n,r))})),l||Re(t[5],((t,l)=>{if(!Le(n,l)){const n=Be();Re(t,(e=>Re(e,(([t,l],r)=>l!==t?Ue(n,r):Me(e,r))))),Re(n,(t=>at(he[e],[l,t])))}})),Re(t[4],((t,n)=>Re(t,((t,l)=>nn(t,Qe[e],Ne[e],[n,l])))))}if(!s){let n;Re(t[5],((t,l)=>{let r;Re(t,((t,s)=>{let o;Re(t,(([t,a],i)=>{a!==t&&(at($e[e],[l,s,i],a,t,Wt),n=r=o=1)})),o&&at(Te[e],[l,s],Wt)})),r&&at(re[e],[l],Wt)})),n&&at(te[e],void 0,Wt)}}},rn=e=>{const t=Tn();t!=l&&at(Ke[e],void 0,t);const n=Ie(et[e])&&Ie(tt[e]),r=Ie(nt[e])&&Ie(Ze[e]);if(!n||!r){const t=e?[je(O),je(D)]:[O,D];if(n||nn(t[0],et[e],tt[e]),!r){let n;Re(t[1],(([t,l],r)=>{l!==t&&(at(nt[e],[r],l,t,_t),n=1)})),n&&at(Ze[e],void 0,_t)}}},sn=(e,...t)=>(An((()=>e(...q(t,M)))),Fn),on=()=>Ae(X),an=()=>Ve(X),dn=e=>Ve(Ee(K,M(e))),un=e=>pe(Ee(X,M(e))),cn=e=>Ve(Ee(X,M(e))),gn=(e,t,n,l=0,r)=>{return q(F(U((s=Ee(X,M(e)),o=(e,n)=>[H(t)?n:Ee(e,M(t)),n],q([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>o(t,e)))),(([e],[t])=>rt(e,t)*(n?-1:1))),l,H(r)?r:l+r),(([,e])=>e));var s,o,a},vn=(e,t)=>Ve(Ee(Ee(X,M(e)),M(t))),hn=(e,t,n)=>Ee(Ee(Ee(X,M(e)),M(t)),M(n)),fn=()=>ke(Z),bn=()=>Ve(Z),pn=e=>Ee(Z,M(e)),yn=()=>!Ie(X),wn=e=>Le(X,M(e)),Cn=(e,t)=>Le(Ee(K,M(e)),M(t)),Ln=(e,t)=>Le(Ee(X,M(e)),M(t)),In=(e,t,n)=>Le(Ee(Ee(X,M(e)),M(t)),M(n)),Tn=()=>!Ie(Z),Sn=e=>Le(Z,M(e)),Rn=e=>sn((()=>(e=>fe(e,ct,zt))(e)?Lt(e):0)),Mn=e=>sn((()=>ht(e)?mt(e):0)),mn=e=>{try{Ct(Xt(e))}catch(e){}return Fn},Vn=t=>sn((()=>{if((e=fe(t,(e=>fe(e,ut))))&&(yt(t),!Ie(X))){const e=on();On(),Rn(e)}})),En=e=>sn((()=>{if(t=(e=>fe(e,ut))(e)){const n=fn();Pn(),Hn(),t=!0,wt(e),Mn(n)}})),On=()=>sn((()=>Lt({}))),Dn=e=>sn((e=>Le(X,e)?Dt(e):0),e),xn=(e,t)=>sn(((e,t)=>k(Ee(X,e),(n=>Le(n,t)?xt(e,n,t):0))),e,t),Hn=()=>sn((()=>mt({}))),kn=()=>sn((()=>{yt({}),e=!1})),Pn=()=>sn((()=>{wt({}),t=!1})),An=(e,t)=>{if(-1!=r){jn();const n=e();return Jn(t),n}},jn=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=o[0])||e.call(o),at(lt)),Fn},Jn=e=>{var t,s;return r>0&&(r--,0==r&&(r=1,en(1),Ie(E)||ln(1),tn(1),Ie(D)||rn(1),(null==e?void 0:e(Fn))&&(Re(E,((e,t)=>Re(e,((e,n)=>Re(e,(([e],l)=>We(Fn,t,n,l,e))))))),Se(E),Re(D,(([e],t)=>_e(Fn,t,e))),Se(D)),at(st[0],void 0),r=-1,en(0),Ie(E)||ln(0),tn(0),Ie(D)||rn(0),null==(t=o[1])||t.call(o),at(st[1],void 0),null==(s=o[2])||s.call(o),r=0,n=yn(),l=Tn(),$([u,v,C,m,V,E,x,O,D,A],Se))),Fn},Fn={getContent:()=>[on(),fn()],getTables:on,getTableIds:an,getTable:e=>Pe(Ee(X,M(e))),getTableCellIds:dn,getRowCount:un,getRowIds:cn,getSortedRowIds:gn,getRow:(e,t)=>ke(Ee(Ee(X,M(e)),M(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:bn,getValue:pn,hasTables:yn,hasTable:wn,hasTableCell:Cn,hasRow:Ln,hasCell:In,hasValues:Tn,hasValue:Sn,getTablesJson:()=>Kt(X),getValuesJson:()=>Kt(Z),getJson:()=>Kt([X,Z]),getTablesSchemaJson:()=>Kt(J),getValuesSchemaJson:()=>Kt(z),getSchemaJson:()=>Kt([J,z]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>sn((()=>{(ve(e)?On:Rn)(e),(ve(t)?Hn:Mn)(t)})),setTables:Rn,setTable:(e,t)=>sn((e=>ct(t,e)?It(e,t):0),e),setRow:(e,t,n)=>sn(((e,t)=>gt(e,t,n)?Tt(e,Ot(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return gt(e,l,t)&&(e=M(e),Tt(e,Ot(e),l=Et(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>sn(((e,t)=>{if(gt(e,t,n,1)){const l=Ot(e);ge(n,((n,r)=>Rt(e,l,t,r,n)))}}),e,t),setCell:(e,t,n,l)=>sn(((e,t,n)=>k(vt(e,t,n,j(l)?l(hn(e,t,n)):l),(l=>Rt(e,Ot(e),t,n,l)))),e,t,n),setValues:Mn,setPartialValues:e=>sn((()=>ht(e,1)?ge(e,((e,t)=>Vt(t,e))):0)),setValue:(e,t)=>sn((e=>k(ft(e,j(t)?t(pn(e)):t),(t=>Vt(e,t)))),e),applyChanges:e=>sn((()=>{ge(e[0],((e,t)=>H(e)?Dn(t):ge(e,((e,n)=>H(e)?xn(t,n):ge(e,((e,l)=>We(Fn,t,n,l,e))))))),ge(e[1],((e,t)=>_e(Fn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Mt(Xt(e))}catch(e){}return Fn},setJson:e=>sn((()=>{try{const[t,n]=Xt(e);Ct(t),Mt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>sn((()=>{Vn(e),En(t)})),delTables:On,delTable:Dn,delRow:xn,delCell:(e,t,n,l)=>sn(((e,t,n)=>k(Ee(X,e),(r=>k(Ee(r,t),(s=>Le(s,n)?Ht(e,r,t,s,n,l):0))))),e,t,n),delValues:Hn,delValue:e=>sn((e=>Le(Z,e)?kt(e):0),e),delTablesSchema:kn,delValuesSchema:Pn,delSchema:()=>sn((()=>{kn(),Pn()})),transaction:An,startTransaction:jn,getTransactionChanges:()=>[ke(E,((e,t)=>-1===Ee(u,t)?void 0:ke(e,((e,n)=>-1===Ee(Ee(m,t),n)?void 0:ke(e,(([,e])=>e),(e=>Gt(e)))),Ie,ve)),Ie,ve),ke(D,(([,e])=>e),(e=>Gt(e))),1],getTransactionLog:()=>[!Ie(E),!Ie(D),Ae(E,qt,Gt),Ae(x),ke(D,qt,Gt),ke(A),ke(u),Pe(m),Ae(V),ke(O)],finishTransaction:Jn,forEachTable:e=>Re(X,((t,n)=>e(n,(e=>Re(t,((t,n)=>e(n,(e=>Oe(t,e))))))))),forEachTableCell:(e,t)=>Oe(Ee(K,M(e)),t),forEachRow:(e,t)=>Re(Ee(X,M(e)),((e,n)=>t(n,(t=>Oe(e,t))))),forEachCell:(e,t,n)=>Oe(Ee(Ee(X,M(e)),M(t)),n),forEachValue:e=>Oe(Z,e),addSortedRowIdsListener:(e,t,n,l,r,s,o)=>{let a=gn(e,t,n,l,r);return ot((()=>{const o=gn(e,t,n,l,r);_(o,a)||(a=o,s(Fn,e,t,n,l,r,a))}),he[o?1:0],[e,t],[an])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,st[0]),addDidFinishTransactionListener:e=>ot(e,st[1]),callListener:e=>(dt(e),Fn),delListener:e=>(it(e),Fn),getListenerStats:()=>({hasTables:Ut(ee),tables:Ut(te),tableIds:Ut(ne),hasTable:Ut(le),table:Ut(re),tableCellIds:Ut(se),hasTableCell:Ut(oe,we),rowCount:Ut(ie),rowIds:Ut(ce),sortedRowIds:Ut(he),hasRow:Ut(be,we),row:Ut(Te,we),cellIds:Ut(Qe,we),hasCell:Ut(Ne,Ce),cell:Ut($e,Ce),invalidCell:Ut(qe,Ce),hasValues:Ut(Ke),values:Ut(Ze),valueIds:Ut(et),hasValue:Ut(tt),value:Ut(nt),invalidValue:Ut(Ge),transaction:ye(lt)+Ut(st)}),isMergeable:()=>!1,createStore:Zt,addListener:ot,callListeners:at,setInternalListeners:(e,t,n,l,r)=>o=[e,t,n,l,r]};return ge({[g+f]:[0,ee,[],()=>[yn()]],[f]:[0,te],[b]:[0,ne],[g+h]:[1,le,[an],e=>[wn(...e)]],[h]:[1,re,[an]],[h+I]:[1,se,[an]],[g+h+L]:[2,oe,[an,dn],e=>[Cn(...e)]],[y]:[1,ie,[an]],[w]:[1,ce,[an]],[g+p]:[2,be,[an,cn],e=>[Ln(...e)]],[p]:[2,Te,[an,cn]],[I]:[2,Qe,[an,cn]],[g+L]:[3,Ne,[an,cn,vn],e=>[In(...e)]],[L]:[3,$e,[an,cn,vn],e=>Bt(hn(...e))],InvalidCell:[3,qe],[g+S]:[0,Ke,[],()=>[Tn()]],[S]:[0,Ze],[R]:[0,et],[g+T]:[1,tt,[bn],e=>[Sn(...e)]],[T]:[1,nt,[bn],e=>Bt(pn(e[0]))],InvalidValue:[1,Ge]},(([e,t,n,l],r)=>{Fn[c+r+d]=(...r)=>ot(r[e],t[r[e+1]?1:0],e>0?F(r,0,e):void 0,n,l)})),ae(Fn)};var en=Math.pow;const tn=en(2,36),nn=en(2,30),ln=en(2,24),rn=en(2,18),sn=en(2,12),on=en(2,6),an={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},dn=(e=n)=>[Ot(e),Ot(e)];e.createCheckpoints=Ze,e.createCustomPersister=yt,e.createCustomSynchronizer=(e,t,l,r,s,o,a={})=>{let i,d=0,u=0;const c=me();l(((n,l,r,s)=>{u++,0==r?k(Ee(c,l),(([e,t])=>H(e)||e==n?t(s,n):0)):2==r&&f.isAutoLoading()?h(n,s).then((e=>{null==i||i(void 0,e)})):3==r&&f.isAutoLoading()?null==i||i(void 0,s):k(1==r&&f.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(s):5==r?e.getMergeableRowDiff(s):6==r?e.getMergeableCellDiff(s):7==r?e.getMergeableValueDiff(s):void 0,(e=>{d++,t(n,l,0,e)}))}));const g=(e,l,...r)=>Ft(void 0,[e,l,...r],(function*(e,l,r=n){return new E(((n,o)=>{const a=st(),i=setTimeout((()=>{Me(c,a),o(`No response from ${null!=e?e:"anyone"} to '${l}'`)}),1e3*s);De(c,a,[e,(e,t)=>{clearTimeout(i),Me(c,a),n([e,t])}]),d++,t(e,a,l,r)}))})),v=(e,[t,n])=>{ce(t,(([t,n],l)=>{const r=he(e[0],l,Et);ce(t,(([e,t],n)=>{const l=he(r[0],n,Et);ce(e,(([e,t],n)=>l[0][n]=Tt(e,t))),l[1]=mt(l[1],t)})),r[1]=mt(r[1],n)})),e[1]=mt(e[1],n)},h=(t=null,n)=>Ft(void 0,null,(function*(){H(n)&&([n,t]=yield g(t,1));const[l,r]=n,[s,o]=e.getMergeableContentHashes();let a=Et();if(s!=l){const[n,l]=(yield g(t,4,e.getMergeableTableHashes()))[0];if(a=n,!ve(l)){const[n,r]=(yield g(t,5,e.getMergeableRowHashes(l)))[0];if(v(a,n),!ve(r)){const n=(yield g(t,6,e.getMergeableCellHashes(r)))[0];v(a,n)}}}return[a,o==r?Et():(yield g(t,7,e.getMergeableValueHashes()))[0],1]})),f=yt(e,(()=>Ft(void 0,null,(function*(){const e=yield h();return ve(e[0][0])&&ve(e[1][0])?void 0:e}))),((n,l)=>Ft(void 0,null,(function*(){d++,l?t(null,null,3,l):t(null,null,2,e.getMergeableContentHashes())}))),(e=>i=e),(()=>i=void 0),o,2,((e,t)=>{for(var n in t||(t={}))At.call(t,n)&&Jt(e,n,t[n]);if(Pt)for(var n of Pt(t))jt.call(t,n)&&Jt(e,n,t[n]);return e})({startSync:e=>Ft(void 0,null,(function*(){return yield(yield f.startAutoLoad(e)).startAutoSave()})),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),f.stopSync()),getSynchronizerStats:()=>({sends:d,receives:u})},a));return f},e.createIndexes=ot,e.createMergeableStore=e=>{let t=1,l=dn(),r=0;const s=me(),o=Be(),[a,i]=(e=>{let t=0,n=-1;const l=k(e,(e=>{const t=Ct(e);return nt(t/ln)+nt(t/rn)+nt(t/sn)+nt(t/on)+nt(t)}),(()=>st(5))),r=e=>{var l;const r=t,[s,o]=H(e)||""==e?[0,0]:[lt(a=e,0)*tn+lt(a,1)*nn+lt(a,2)*ln+lt(a,3)*rn+lt(a,4)*sn+lt(a,5)*on+lt(a,6),lt(a,7)*rn+lt(a,8)*sn+lt(a,9)*on+lt(a,10)];var a;t=O(r,s,null!=(l=globalThis.HLC_TIME)?l:Date.now()),n=t==r?t==s?O(n,o):n:t==s?o:-1};return[()=>{return r(),s=++n,nt((e=t)/tn)+nt(e/nn)+nt(e/ln)+nt(e/rn)+nt(e/sn)+nt(e/on)+nt(e)+nt(s/rn)+nt(s/sn)+nt(s/on)+nt(s)+l;var e,s},r]})(e),d=Zt(),u=e=>{const n=t;return t=0,e(),t=n,f},c=(e,t=0)=>{const r={},s={},[[o,a=n,d=0],u]=e,[c,v]=l,[h,f,b]=c;let p=t?d:b,y=a;ce(o,(([e,l=n,s=0],o)=>{const a=xe(h,o,Ot),[i,d,u]=a;let c=t?s:u,v=l;ce(e,((e,n)=>{const[l,s,a]=g(e,xe(i,n,Ot),he(he(r,o,ie),n,ie),t);c^=t?0:(s?Rt(n,s):0)^Rt(n,a),v=mt(v,l)})),c^=t?0:Mt(d,l),Vt(a,c,l),p^=t?0:(u?Rt(o,u):0)^Rt(o,a[2]),y=mt(y,v)})),p^=t?0:Mt(f,a),Vt(c,p,a);const[w]=g(u,v,s,t);return i(mt(y,w)),[r,s,1]},g=(e,t,l,r)=>{const[s,o=n,a=0]=e,[i,d,u]=t;let c=o,g=r?a:u;return ce(s,(([e,t,s=0],o)=>{const a=xe(i,o,(()=>[void 0,n,0])),[,d,u]=a;(!d||t>d)&&(Vt(a,r?s:Ct(Kt(null!=e?e:null)+":"+t),t),a[0]=e,l[o]=e,g^=r?0:Rt(o,u)^Rt(o,a[2]),c=mt(c,t))})),g^=r?0:Mt(d,o),Vt(t,g,o),[c,u,t[2]]},v=()=>[Dt(l[0],(e=>Dt(e,(e=>Dt(e))))),Dt(l[1])],h=e=>u((()=>d.applyChanges(c(e)))),f={getMergeableContent:v,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>ke(l[0][0],St),getMergeableTableDiff:e=>{const t=Et(l[0][1]),n={};return Oe(l[0][0],((l,[r,s,o])=>de(e,l)?o!=e[l]?n[l]=o:0:t[0][l]=xt([r,s],(e=>xt(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return ce(e,((e,n)=>k(Ee(l[0][0],n),(([l,,r])=>r!=e?Oe(l,((e,[,,l])=>he(t,n,ie)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=Et(l[0][1]),n={};return ce(e,((e,r)=>{var s;return Oe(null==(s=Ee(l[0][0],r))?void 0:s[0],((l,[s,o,a])=>de(e,l)?a!==e[l]?he(n,r,ie)[l]=a:0:he(t[0],r,Et)[0][l]=xt([s,o])))})),[t,n]},getMergeableCellHashes:e=>{const t={};return ce(e,((e,n)=>k(Ee(l[0][0],n),(([l])=>ce(e,((e,r)=>k(Ee(l,r),(([l,,s])=>s!==e?Oe(l,((e,[,,l])=>he(he(t,n,ie),r,ie)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=l,r={};return ce(e,((e,n)=>ce(e,((e,l)=>k(Ee(t,n),(([t,s])=>k(Ee(t,l),(([t,o])=>Oe(t,((t,[a,i,d])=>d!==e[t]?he(he(r,n,(()=>Et(s)))[0],l,(()=>Et(o)))[0][t]=[a,i]:0)))))))))),Tt(r,n)},getMergeableValueHashes:()=>ke(l[1][0],St),getMergeableValueDiff:e=>{const[,[t,n]]=l,r=ke(t,It,(([,,t],n)=>t==(null==e?void 0:e[n])));return Tt(r,n)},setMergeableContent:e=>u((()=>(e=>J(e)&&2==Q(e)&&Ht(e[0],(e=>fe(e,(e=>Ht(e,(e=>fe(e,(e=>Ht(e,(e=>fe(e,(e=>Ht(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Ht(e[1],(e=>fe(e,(e=>Ht(e,Ne)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),l=dn(),d.applyChanges(c(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{r=1,d.setContent(e),r=0})),f),getTransactionMergeableChanges:()=>{const[[e,t],[n,r]]=l,a={};Re(s,((t,n)=>k(Ee(e,n),(([e,l])=>{const r={};Re(t,((t,n)=>k(Ee(e,n),(([e,l])=>{const s={};Re(t,(t=>{k(Ee(e,t),(([e,n])=>s[t]=Tt(e,n)))})),r[n]=Tt(s,l)})))),a[n]=Tt(r,l)}))));const i={};return Re(o,(e=>k(Ee(n,e),(([t,n])=>i[e]=Tt(t,n))))),[Tt(a,t),Tt(i,r),1]},applyMergeableChanges:h,merge:e=>{const t=v(),n=e.getMergeableContent();return e.applyMergeableChanges(t),h(n)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{Se(s),Se(o)}),((e,l,o,i)=>{Ue(xe(xe(s,e,me),l,Be),o),t&&c([[{[e]:[{[l]:[{[o]:[i,r?n:a()]}]}]}],[{}],1])}),((e,l)=>{Ue(o,e),t&&c([[{}],[{[e]:[l,r?n:a()]}],1])})),ge(d,((e,t)=>f[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):m(t,"add")&&V(t,"Listener")?(...n)=>{var l;const r=null!=(l=an[F(t,3,-8)])?l:0,s=n[r];return n[r]=(e,...t)=>s(f,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),ae(f)},e.createMetrics=dt,e.createQueries=Wt,e.createRelationships=_t,e.createStore=Zt,e.defaultSorter=rt,e.getUniqueId=st},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
package/umd/es6/min/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),a=l(!0),s=l(0),r=l(l),o="type",u="default",i="Has",c="Ids",d="Table",v=d+"s",g=d+c,h="Row",b=h+"Count",f=h+c,T="Cell",C=T+c,p="Value",V=p+"s",w=p+c,y=e=>t+e,I=(e,l)=>e.startsWith(l),M=(e,l)=>e.endsWith(l),R=Math.max,S=isFinite,m=e=>null==e,L=(e,l,t)=>m(e)?null==t?void 0:t():l(e),H=e=>e==n||e==a,E=e=>l(e)==r,J=e=>Array.isArray(e),D=(e,l,t)=>e.slice(l,t),x=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),z=(e,l,t)=>e.reduce(l,t),A=(e,...l)=>e.push(...l),P=Object,W=e=>P.getPrototypeOf(e),j=P.entries,k=P.isFrozen,N=e=>!m(e)&&L(W(e),(e=>e==P.prototype||m(W(e))),(()=>!0)),B=P.keys,U=P.freeze,_=(e=[])=>P.fromEntries(e),q=(e,l)=>l in e,G=(e,l)=>(delete e[l],e),K=(e,l)=>F(j(e),(([e,t])=>l(t,e))),Q=(e,l)=>O(j(e),(([e,t])=>l(t,e))),X=e=>N(e)&&0==(e=>x(B(e)))(e),Y=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),Z=(e,l,t,n=0)=>m(e)||!N(e)||!n&&X(e)||k(e)?(null==t||t(),!1):(Q(e,((t,n)=>{l(t,n)||G(e,n)})),!!n||!X(e)),$=e=>new Set(J(e)||m(e)?e:[e]),ee=(e,l)=>null==e?void 0:e.add(l),le=e=>l=>z(ue(l),((l,t)=>l+e(t)),0),te=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},ne=le(te),ae=le(ne),se=le(ae),re=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},oe=e=>m(e)||0==te(e),ue=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},ie=e=>e.clear(),ce=(e,l)=>null==e?void 0:e.forEach(l),de=(e,l)=>null==e?void 0:e.delete(l),ve=e=>new Map(e),ge=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},he=(e,l)=>null==e?void 0:e.get(l),be=(e,l)=>ce(e,((e,t)=>l(t,e))),fe=(e,l,t)=>m(t)?(de(e,l),e):null==e?void 0:e.set(l,t),Te=(e,l,t,n)=>(re(e,l)?null==n||n(he(e,l)):fe(e,l,t()),he(e,l)),Ce=(e,l,t,n=fe)=>(Q(l,((l,n)=>t(e,n,l))),be(e,(t=>q(l,t)?0:n(e,t))),e),pe=(e,l,t,n)=>{const a={};return ce(e,((e,s)=>{if(!(null==t?void 0:t(e,s))){const t=l?l(e,s):e;!(null==n?void 0:n(t))&&(a[s]=t)}})),a},Ve=(e,l,t)=>pe(e,(e=>pe(e,l,t)),oe,X),we=(e,l,t)=>pe(e,(e=>Ve(e,l,t)),oe,X),ye=(e,l)=>{const t=ve();return ce(e,((e,n)=>{var a;return t.set(n,null!=(a=null==l?void 0:l(e))?a:e)})),t},Ie=e=>ye(e,ye),Me=e=>ye(e,Ie),Re=(e,l,t,n,a=0)=>L((t?Te:he)(e,l[a],a>x(l)-2?t:ve),(s=>{if(a>x(l)-2)return(null==n?void 0:n(s))&&fe(e,l[a]),s;const r=Re(s,l,t,n,a+1);return oe(s)&&fe(e,l[a]),r})),Se=new globalThis.TextEncoder,me=e=>{let l=2166136261;return F(Se.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},Le=([e,l,t])=>[e,l,t],He=([e,l])=>Ee(e,l),Ee=(e,l)=>l?[e,l]:[e],Je=e=>e[2],De=(e,l)=>me(e+":"+l),xe=(e,l)=>l>e?(e?me(e):0)^me(l):0,Fe=(e,l)=>{var t;return null!=(t=(null!=e?e:"")>(null!=l?l:"")?e:l)?t:""},Oe=(e,l,t)=>{e[2]=l>>>0,t>e[1]&&(e[1]=t)},ze=(e=t)=>Ee(_(),e),Ae=(e=t)=>[ve(),e,0],Pe=([e,l,t],n=Le)=>[pe(e,n),l,t],We=([e,l],t=He)=>Ee(pe(e,t),l),je=(e,t)=>{return J(e)&&3==x(e)&&(a=e[1],l(a)==n)&&l(e[2])==s&&S(e[2])&&t(e[0]);var a},ke=/^\d+$/,Ne=()=>{const e=[];let l=0;return[n=>{var a;return null!=(a=n?e.shift():null)?a:t+l++},l=>{ke.test(l)&&x(e)<1e3&&A(e,l)}]},Be=e=>[e,e],Ue=(e,l=ne)=>l(e[0])+l(e[1]),_e=()=>[ve(),ve()],qe=e=>[...e],Ge=([e,l])=>e===l,Ke=e=>{const t=l(e);return H(t)||t==s&&S(e)?t:void 0},Qe=e=>m(e)||!m(Ke(e)),Xe=(e,l,t,n,a)=>m(a)?e.delCell(l,t,n,!0):e.setCell(l,t,n,a),Ye=(e,l,t)=>m(t)?e.delValue(l):e.setValue(l,t),Ze=e=>JSON.stringify(e,((e,l)=>l instanceof Map?P.fromEntries([...l]):l)),$e=JSON.parse,el="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),ll=ve(O(el,((e,l)=>[e,l]))),tl=e=>el[63&e],nl=(e,l)=>{var t;return null!=(t=he(ll,e[l]))?t:0},al=(e,l,t)=>fe(e,l,he(e,l)==-t?void 0:t),sl=()=>{let e,l,n=!1,a=!1,r=0,c=[];const I=ve(),M=ve(),R=ve(),S=ve(),J=ve(),z=ve(),P=ve(),W=ve(),j=ve(),k=ve(),N=ve(),B=ve(),_=ve(),K=ve(),Y=$(),le=ve(),ue=ve(),Se=ve(),me=ve(),Le=_e(),He=_e(),Ee=_e(),Je=_e(),De=_e(),xe=_e(),Fe=_e(),Oe=_e(),ze=_e(),Ae=_e(),Pe=_e(),We=_e(),je=_e(),ke=_e(),Qe=_e(),el=_e(),ll=_e(),tl=_e(),nl=_e(),rl=_e(),ol=_e(),ul=_e(),il=ve(),cl=_e(),[dl,vl,gl,hl]=(e=>{let l;const[n,a]=Ne(),s=ve();return[(e,a,r,o=[],u=(()=>[]))=>{null!=l||(l=Ft);const i=n(1);return fe(s,i,[e,a,r,o,u]),ee(Re(a,null!=r?r:[t],$),i),i},(e,n,...a)=>F(((e,l=[t])=>{const n=[],a=(e,t)=>t==x(l)?A(n,e):null===l[t]?ce(e,(e=>a(e,t+1))):F([l[t],null],(l=>a(he(e,l),t+1)));return a(e,0),n})(e,n),(e=>ce(e,(e=>he(s,e)[0](l,...null!=n?n:[],...a))))),e=>L(he(s,e),(([,l,n])=>(Re(l,null!=n?n:[t],void 0,(l=>(de(l,e),oe(l)?1:0))),fe(s,e),a(e),n))),e=>L(he(s,e),(([e,,t=[],n,a])=>{const s=(...r)=>{var o,u;const i=x(r);i==x(t)?e(l,...r,...a(r)):m(t[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>s(...r,e))):s(...r,t[i])};s()}))]})(),bl=e=>{if(!Z(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!H(l)&&l!=s||(Ke(e[u])!=l&&G(e,u),0))},fl=(l,t)=>(!e||re(N,t)||ql(t))&&Z(l,((e,l)=>Tl(t,l,e)),(()=>ql(t))),Tl=(e,l,t,n)=>Z(n?t:wl(t,e,l),((n,a)=>L(Cl(e,l,a,n),(e=>(t[a]=e,!0)),(()=>!1))),(()=>ql(e,l))),Cl=(l,t,n,a)=>e?L(he(he(N,l),n),(e=>Ke(a)!=e[o]?ql(l,t,n,a,e[u]):a),(()=>ql(l,t,n,a))):m(Ke(a))?ql(l,t,n,a):a,pl=(e,l)=>Z(l?e:yl(e),((l,t)=>L(Vl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>Gl())),Vl=(e,t)=>l?L(he(_,e),(l=>Ke(t)!=l[o]?Gl(e,t,l[u]):t),(()=>Gl(e,t))):m(Ke(t))?Gl(e,t):t,wl=(e,l,t)=>(L(he(B,l),(([n,a])=>{ce(n,((l,t)=>{q(e,t)||(e[t]=l)})),ce(a,(n=>{q(e,n)||ql(l,t,n)}))})),e),yl=e=>(l&&(ce(K,((l,t)=>{q(e,t)||(e[t]=l)})),ce(Y,(l=>{q(e,l)||Gl(l)}))),e),Il=e=>Ce(N,e,((e,l,t)=>{const n=ve(),a=$();Ce(Te(N,l,ve),t,((e,l,t)=>{fe(e,l,t),L(t[u],(e=>fe(n,l,e)),(()=>ee(a,l)))})),fe(B,l,[n,a])}),((e,l)=>{fe(N,l),fe(B,l)})),Ml=e=>Ce(_,e,((e,l,t)=>{fe(_,l,t),L(t[u],(e=>fe(K,l,e)),(()=>ee(Y,l)))}),((e,l)=>{fe(_,l),fe(K,l),de(Y,l)})),Rl=e=>X(e)?Rt():Vt(e),Sl=e=>Ce(Se,e,((e,l,t)=>ml(l,t)),((e,l)=>zl(l))),ml=(e,l)=>Ce(Te(Se,e,(()=>(jl(e,1),fe(le,e,Ne()),fe(ue,e,ve()),ve()))),l,((l,t,n)=>Ll(e,l,t,n)),((l,t)=>Al(e,l,t))),Ll=(e,l,t,n,a)=>Ce(Te(l,t,(()=>(kl(e,t,1),ve()))),n,((l,n,a)=>Hl(e,t,l,n,a)),((n,s)=>Pl(e,l,t,n,s,a))),Hl=(e,l,t,n,a)=>{re(t,n)||Nl(e,l,n,1);const s=he(t,n);a!==s&&(Bl(e,l,n,s,a),fe(t,n,a))},El=(e,l,t,n,a)=>L(he(l,t),(l=>Hl(e,t,l,n,a)),(()=>Ll(e,l,t,wl({[n]:a},e,t)))),Jl=e=>X(e)?Lt():wt(e),Dl=e=>Ce(me,e,((e,l,t)=>xl(l,t)),((e,l)=>Wl(l))),xl=(e,l)=>{re(me,e)||Ul(e,1);const t=he(me,e);l!==t&&(_l(e,t,l),fe(me,e,l))},Fl=(e,l)=>{const[t]=he(le,e),n=t(l);return re(he(Se,e),n)?Fl(e,l):n},Ol=e=>{var l;return null!=(l=he(Se,e))?l:ml(e,{})},zl=e=>ml(e,{}),Al=(e,l,t)=>{const[,n]=he(le,e);n(t),Ll(e,l,t,{},!0)},Pl=(e,l,t,n,a,s)=>{var r;const o=he(null==(r=he(B,e))?void 0:r[0],a);if(!m(o)&&!s)return Hl(e,t,n,a,o);const u=l=>{Bl(e,t,l,he(n,l)),Nl(e,t,l,-1),fe(n,l)};m(o)?u(a):be(n,u),oe(n)&&(kl(e,t,-1),oe(fe(l,t))&&(jl(e,-1),fe(Se,e),fe(le,e),fe(ue,e)))},Wl=e=>{const l=he(K,e);if(!m(l))return xl(e,l);_l(e,he(me,e)),Ul(e,-1),fe(me,e)},jl=(e,l)=>al(I,e,l),kl=(e,l,t)=>al(Te(S,e,ve),l,t)&&fe(R,e,Te(R,e,(()=>0))+t),Nl=(e,l,t,n)=>{var a;const s=he(ue,e),r=null!=(a=he(s,t))?a:0;(0==r&&1==n||1==r&&-1==n)&&al(Te(M,e,ve),t,n),fe(s,t,r!=-n?r+n:null),al(Te(Te(J,e,ve),l,ve),t,n)},Bl=(e,l,t,n,a)=>{var s;Te(Te(Te(z,e,ve),l,ve),t,(()=>[n,0]))[1]=a,null==(s=c[3])||s.call(c,e,l,t,a)},Ul=(e,l)=>al(P,e,l),_l=(e,l,t)=>{var n;Te(W,e,(()=>[l,0]))[1]=t,null==(n=c[4])||n.call(c,e,t)},ql=(e,l,t,n,a)=>(A(Te(Te(Te(j,e,ve),l,ve),t,(()=>[])),n),a),Gl=(e,l,t)=>(A(Te(k,e,(()=>[])),l),t),Kl=(e,l,t)=>L(he(he(he(z,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Be(it(e,l,t))])),Ql=e=>L(he(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Be(vt(e))])),Xl=e=>oe(j)||oe(el[e])?0:ce(e?Me(j):j,((l,t)=>ce(l,((l,n)=>ce(l,((l,a)=>vl(el[e],[t,n,a],l))))))),Yl=e=>oe(k)||oe(ll[e])?0:ce(e?ye(k):k,((l,t)=>vl(ll[e],[t],l))),Zl=(e,l,t,n)=>{if(!oe(e))return vl(l,n,(()=>pe(e))),be(e,((e,l)=>vl(t,[...null!=n?n:[],e],1==l))),1},$l=e=>{const l=gt();l!=n&&vl(Le[e],void 0,l);const t=oe(Ae[e]),a=oe(je[e])&&oe(ke[e])&&oe(ze[e])&&oe(Pe[e])&&oe(xe[e])&&oe(Fe[e])&&oe(Oe[e])&&t&&oe(Ee[e])&&oe(Je[e]),s=oe(Qe[e])&&oe(We[e])&&oe(De[e])&&oe(He[e]);if(!a||!s){const l=e?[ye(I),Ie(M),ye(R),Ie(S),Me(J),Me(z)]:[I,M,R,S,J,z];if(!a){Zl(l[0],Ee[e],Je[e]),ce(l[1],((l,t)=>Zl(l,xe[e],Fe[e],[t]))),ce(l[2],((l,t)=>{0!=l&&vl(Oe[e],[t],st(t))}));const n=$();ce(l[3],((l,a)=>{Zl(l,ze[e],Pe[e],[a])&&!t&&(vl(Ae[e],[a,null]),ee(n,a))})),t||ce(l[5],((l,t)=>{if(!re(n,t)){const n=$();ce(l,(e=>ce(e,(([l,t],a)=>t!==l?ee(n,a):de(e,a))))),ce(n,(l=>vl(Ae[e],[t,l])))}})),ce(l[4],((l,t)=>ce(l,((l,n)=>Zl(l,je[e],ke[e],[t,n])))))}if(!s){let t;ce(l[5],((l,n)=>{let a;ce(l,((l,s)=>{let r;ce(l,(([l,o],u)=>{o!==l&&(vl(Qe[e],[n,s,u],o,l,Kl),t=a=r=1)})),r&&vl(We[e],[n,s],Kl)})),a&&vl(De[e],[n],Kl)})),t&&vl(He[e],void 0,Kl)}}},et=e=>{const l=Ct();l!=a&&vl(tl[e],void 0,l);const t=oe(rl[e])&&oe(ol[e]),n=oe(ul[e])&&oe(nl[e]);if(!t||!n){const l=e?[ye(P),ye(W)]:[P,W];if(t||Zl(l[0],rl[e],ol[e]),!n){let t;ce(l[1],(([l,n],a)=>{n!==l&&(vl(ul[e],[a],n,l,Ql),t=1)})),t&&vl(nl[e],void 0,Ql)}}},lt=(e,...l)=>(Jt((()=>e(...O(l,y)))),Ft),tt=()=>we(Se),nt=()=>ge(Se),at=e=>ge(he(ue,y(e))),st=e=>te(he(Se,y(e))),rt=e=>ge(he(Se,y(e))),ot=(e,l,t,n=0,a)=>{return O(D((r=he(Se,y(e)),o=(e,t)=>[m(l)?t:he(e,y(l)),t],s=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(a=l)?a:0)?-1:1)*(t?-1:1);var n,a},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(s)),n,m(a)?a:n+a),(([,e])=>e));var s,r,o,u},ut=(e,l)=>ge(he(he(Se,y(e)),y(l))),it=(e,l,t)=>he(he(he(Se,y(e)),y(l)),y(t)),ct=()=>pe(me),dt=()=>ge(me),vt=e=>he(me,y(e)),gt=()=>!oe(Se),ht=e=>re(Se,y(e)),bt=(e,l)=>re(he(ue,y(e)),y(l)),ft=(e,l)=>re(he(Se,y(e)),y(l)),Tt=(e,l,t)=>re(he(he(Se,y(e)),y(l)),y(t)),Ct=()=>!oe(me),pt=e=>re(me,y(e)),Vt=e=>lt((()=>(e=>Z(e,fl,ql))(e)?Sl(e):0)),wt=e=>lt((()=>pl(e)?Dl(e):0)),yt=e=>{try{Rl($e(e))}catch(e){}return Ft},It=l=>lt((()=>{if((e=Z(l,(e=>Z(e,bl))))&&(Il(l),!oe(Se))){const e=tt();Rt(),Vt(e)}})),Mt=e=>lt((()=>{if(l=(e=>Z(e,bl))(e)){const t=ct();Et(),Lt(),l=!0,Ml(e),wt(t)}})),Rt=()=>lt((()=>Sl({}))),St=e=>lt((e=>re(Se,e)?zl(e):0),e),mt=(e,l)=>lt(((e,l)=>L(he(Se,e),(t=>re(t,l)?Al(e,t,l):0))),e,l),Lt=()=>lt((()=>Dl({}))),Ht=()=>lt((()=>{Il({}),e=!1})),Et=()=>lt((()=>{Ml({}),l=!1})),Jt=(e,l)=>{if(-1!=r){Dt();const t=e();return xt(l),t}},Dt=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=c[0])||e.call(c),vl(il)),Ft},xt=e=>{var l,t;return r>0&&(r--,0==r&&(r=1,Xl(1),oe(z)||$l(1),Yl(1),oe(W)||et(1),(null==e?void 0:e(Ft))&&(ce(z,((e,l)=>ce(e,((e,t)=>ce(e,(([e],n)=>Xe(Ft,l,t,n,e))))))),ie(z),ce(W,(([e],l)=>Ye(Ft,l,e))),ie(W)),vl(cl[0],void 0),r=-1,Xl(0),oe(z)||$l(0),Yl(0),oe(W)||et(0),null==(l=c[1])||l.call(c),vl(cl[1],void 0),null==(t=c[2])||t.call(c),r=0,n=gt(),a=Ct(),F([I,M,R,S,J,z,j,P,W,k],ie))),Ft},Ft={getContent:()=>[tt(),ct()],getTables:tt,getTableIds:nt,getTable:e=>Ve(he(Se,y(e))),getTableCellIds:at,getRowCount:st,getRowIds:rt,getSortedRowIds:ot,getRow:(e,l)=>pe(he(he(Se,y(e)),y(l))),getCellIds:ut,getCell:it,getValues:ct,getValueIds:dt,getValue:vt,hasTables:gt,hasTable:ht,hasTableCell:bt,hasRow:ft,hasCell:Tt,hasValues:Ct,hasValue:pt,getTablesJson:()=>Ze(Se),getValuesJson:()=>Ze(me),getJson:()=>Ze([Se,me]),getTablesSchemaJson:()=>Ze(N),getValuesSchemaJson:()=>Ze(_),getSchemaJson:()=>Ze([N,_]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>lt((()=>{(X(e)?Rt:Vt)(e),(X(l)?Lt:wt)(l)})),setTables:Vt,setTable:(e,l)=>lt((e=>fl(l,e)?ml(e,l):0),e),setRow:(e,l,t)=>lt(((e,l)=>Tl(e,l,t)?Ll(e,Ol(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Jt((()=>{let n;return Tl(e,n,l)&&(e=y(e),Ll(e,Ol(e),n=Fl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>lt(((e,l)=>{if(Tl(e,l,t,1)){const n=Ol(e);Q(t,((t,a)=>El(e,n,l,a,t)))}}),e,l),setCell:(e,l,t,n)=>lt(((e,l,t)=>L(Cl(e,l,t,E(n)?n(it(e,l,t)):n),(n=>El(e,Ol(e),l,t,n)))),e,l,t),setValues:wt,setPartialValues:e=>lt((()=>pl(e,1)?Q(e,((e,l)=>xl(l,e))):0)),setValue:(e,l)=>lt((e=>L(Vl(e,E(l)?l(vt(e)):l),(l=>xl(e,l)))),e),applyChanges:e=>lt((()=>{Q(e[0],((e,l)=>m(e)?St(l):Q(e,((e,t)=>m(e)?mt(l,t):Q(e,((e,n)=>Xe(Ft,l,t,n,e))))))),Q(e[1],((e,l)=>Ye(Ft,l,e)))})),setTablesJson:yt,setValuesJson:e=>{try{Jl($e(e))}catch(e){}return Ft},setJson:e=>lt((()=>{try{const[l,t]=$e(e);Rl(l),Jl(t)}catch(l){yt(e)}})),setTablesSchema:It,setValuesSchema:Mt,setSchema:(e,l)=>lt((()=>{It(e),Mt(l)})),delTables:Rt,delTable:St,delRow:mt,delCell:(e,l,t,n)=>lt(((e,l,t)=>L(he(Se,e),(a=>L(he(a,l),(s=>re(s,t)?Pl(e,a,l,s,t,n):0))))),e,l,t),delValues:Lt,delValue:e=>lt((e=>re(me,e)?Wl(e):0),e),delTablesSchema:Ht,delValuesSchema:Et,delSchema:()=>lt((()=>{Ht(),Et()})),transaction:Jt,startTransaction:Dt,getTransactionChanges:()=>[pe(z,((e,l)=>-1===he(I,l)?void 0:pe(e,((e,t)=>-1===he(he(S,l),t)?void 0:pe(e,(([,e])=>e),(e=>Ge(e)))),oe,X)),oe,X),pe(W,(([,e])=>e),(e=>Ge(e))),1],getTransactionLog:()=>[!oe(z),!oe(W),we(z,qe,Ge),we(j),pe(W,qe,Ge),pe(k),pe(I),Ve(S),we(J),pe(P)],finishTransaction:xt,forEachTable:e=>ce(Se,((l,t)=>e(t,(e=>ce(l,((l,t)=>e(t,(e=>be(l,e))))))))),forEachTableCell:(e,l)=>be(he(ue,y(e)),l),forEachRow:(e,l)=>ce(he(Se,y(e)),((e,t)=>l(t,(l=>be(e,l))))),forEachCell:(e,l,t)=>be(he(he(Se,y(e)),y(l)),t),forEachValue:e=>be(me,e),addSortedRowIdsListener:(e,l,t,n,a,s,r)=>{let o=ot(e,l,t,n,a);return dl((()=>{const r=ot(e,l,t,n,a);var u,i,c;i=o,x(u=r)===x(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,s(Ft,e,l,t,n,a,o))}),Ae[r?1:0],[e,l],[nt])},addStartTransactionListener:e=>dl(e,il),addWillFinishTransactionListener:e=>dl(e,cl[0]),addDidFinishTransactionListener:e=>dl(e,cl[1]),callListener:e=>(hl(e),Ft),delListener:e=>(gl(e),Ft),getListenerStats:()=>({hasTables:Ue(Le),tables:Ue(He),tableIds:Ue(Ee),hasTable:Ue(Je),table:Ue(De),tableCellIds:Ue(xe),hasTableCell:Ue(Fe,ae),rowCount:Ue(Oe),rowIds:Ue(ze),sortedRowIds:Ue(Ae),hasRow:Ue(Pe,ae),row:Ue(We,ae),cellIds:Ue(je,ae),hasCell:Ue(ke,se),cell:Ue(Qe,se),invalidCell:Ue(el,se),hasValues:Ue(tl),values:Ue(nl),valueIds:Ue(rl),hasValue:Ue(ol),value:Ue(ul),invalidValue:Ue(ll),transaction:ne(il)+Ue(cl)}),isMergeable:()=>!1,createStore:sl,addListener:dl,callListeners:vl,setInternalListeners:(e,l,t,n,a)=>c=[e,l,t,n,a]};return Q({[i+v]:[0,Le,[],()=>[gt()]],[v]:[0,He],[g]:[0,Ee],[i+d]:[1,Je,[nt],e=>[ht(...e)]],[d]:[1,De,[nt]],[d+C]:[1,xe,[nt]],[i+d+T]:[2,Fe,[nt,at],e=>[bt(...e)]],[b]:[1,Oe,[nt]],[f]:[1,ze,[nt]],[i+h]:[2,Pe,[nt,rt],e=>[ft(...e)]],[h]:[2,We,[nt,rt]],[C]:[2,je,[nt,rt]],[i+T]:[3,ke,[nt,rt,ut],e=>[Tt(...e)]],[T]:[3,Qe,[nt,rt,ut],e=>Be(it(...e))],InvalidCell:[3,el],[i+V]:[0,tl,[],()=>[Ct()]],[V]:[0,nl],[w]:[0,rl],[i+p]:[1,ol,[dt],e=>[pt(...e)]],[p]:[1,ul,[dt],e=>Be(vt(e[0]))],InvalidValue:[1,ll]},(([e,l,t,n],a)=>{Ft["add"+a+"Listener"]=(...a)=>dl(a[e],l[a[e+1]?1:0],e>0?D(a,0,e):void 0,t,n)})),U(Ft)};var rl=Math.pow;const ol=rl(2,36),ul=rl(2,30),il=rl(2,24),cl=rl(2,18),dl=rl(2,12),vl=rl(2,6),gl={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},hl=(e=t)=>[Ae(e),Ae(e)];e.createMergeableStore=e=>{let l=1,n=hl(),a=0;const s=ve(),r=$(),[o,u]=(e=>{let l=0,t=-1;const n=L(e,(e=>{const l=me(e);return tl(l/il)+tl(l/cl)+tl(l/dl)+tl(l/vl)+tl(l)}),(()=>((e=16)=>z(crypto.getRandomValues(new Uint8Array(e)),((e,l)=>e+tl(l)),""))(5))),a=e=>{var n;const a=l,[s,r]=m(e)||""==e?[0,0]:[nl(o=e,0)*ol+nl(o,1)*ul+nl(o,2)*il+nl(o,3)*cl+nl(o,4)*dl+nl(o,5)*vl+nl(o,6),nl(o,7)*cl+nl(o,8)*dl+nl(o,9)*vl+nl(o,10)];var o;l=R(a,s,null!=(n=globalThis.HLC_TIME)?n:Date.now()),t=l==a?l==s?R(t,r):t:l==s?r:-1};return[()=>{return a(),s=++t,tl((e=l)/ol)+tl(e/ul)+tl(e/il)+tl(e/cl)+tl(e/dl)+tl(e/vl)+tl(e)+tl(s/cl)+tl(s/dl)+tl(s/vl)+tl(s)+n;var e,s},a]})(e),i=sl(),c=e=>{const t=l;return l=0,e(),l=t,b},d=(e,l=0)=>{const a={},s={},[[r,o=t,i=0],c]=e,[d,g]=n,[h,b,f]=d;let T=l?i:f,C=o;K(r,(([e,n=t,s=0],r)=>{const o=Te(h,r,Ae),[u,i,c]=o;let d=l?s:c,g=n;K(e,((e,t)=>{const[n,s,o]=v(e,Te(u,t,Ae),Y(Y(a,r,_),t,_),l);d^=l?0:(s?De(t,s):0)^De(t,o),g=Fe(g,n)})),d^=l?0:xe(i,n),Oe(o,d,n),T^=l?0:(c?De(r,c):0)^De(r,o[2]),C=Fe(C,g)})),T^=l?0:xe(b,o),Oe(d,T,o);const[p]=v(c,g,s,l);return u(Fe(C,p)),[a,s,1]},v=(e,l,n,a)=>{const[s,r=t,o=0]=e,[u,i,c]=l;let d=r,v=a?o:c;return K(s,(([e,l,s=0],r)=>{const o=Te(u,r,(()=>[void 0,t,0])),[,i,c]=o;(!i||l>i)&&(Oe(o,a?s:me(Ze(null!=e?e:null)+":"+l),l),o[0]=e,n[r]=e,v^=a?0:De(r,c)^De(r,o[2]),d=Fe(d,l))})),v^=a?0:xe(i,r),Oe(l,v,r),[d,c,l[2]]},g=()=>[Pe(n[0],(e=>Pe(e,(e=>Pe(e))))),Pe(n[1])],h=e=>c((()=>i.applyChanges(d(e)))),b={getMergeableContent:g,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>pe(n[0][0],Je),getMergeableTableDiff:e=>{const l=ze(n[0][1]),t={};return be(n[0][0],((n,[a,s,r])=>q(e,n)?r!=e[n]?t[n]=r:0:l[0][n]=We([a,s],(e=>We(e))))),[l,t]},getMergeableRowHashes:e=>{const l={};return K(e,((e,t)=>L(he(n[0][0],t),(([n,,a])=>a!=e?be(n,((e,[,,n])=>Y(l,t,_)[e]=n)):0)))),l},getMergeableRowDiff:e=>{const l=ze(n[0][1]),t={};return K(e,((e,a)=>{var s;return be(null==(s=he(n[0][0],a))?void 0:s[0],((n,[s,r,o])=>q(e,n)?o!==e[n]?Y(t,a,_)[n]=o:0:Y(l[0],a,ze)[0][n]=We([s,r])))})),[l,t]},getMergeableCellHashes:e=>{const l={};return K(e,((e,t)=>L(he(n[0][0],t),(([n])=>K(e,((e,a)=>L(he(n,a),(([n,,s])=>s!==e?be(n,((e,[,,n])=>Y(Y(l,t,_),a,_)[e]=n)):0)))))))),l},getMergeableCellDiff:e=>{const[[l,t]]=n,a={};return K(e,((e,t)=>K(e,((e,n)=>L(he(l,t),(([l,s])=>L(he(l,n),(([l,r])=>be(l,((l,[o,u,i])=>i!==e[l]?Y(Y(a,t,(()=>ze(s)))[0],n,(()=>ze(r)))[0][l]=[o,u]:0)))))))))),Ee(a,t)},getMergeableValuesHashes:()=>pe(n[1][0],Je),getMergeableValueDiff:e=>{const[,[l,t]]=n,a=pe(l,He,(([,,l],t)=>l==(null==e?void 0:e[t])));return Ee(a,t)},setMergeableContent:e=>c((()=>(e=>J(e)&&2==x(e)&&je(e[0],(e=>Z(e,(e=>je(e,(e=>Z(e,(e=>je(e,(e=>Z(e,(e=>je(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&je(e[1],(e=>Z(e,(e=>je(e,Qe)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=hl(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,l],[t,a]]=n,o={};ce(s,((l,t)=>L(he(e,t),(([e,n])=>{const a={};ce(l,((l,t)=>L(he(e,t),(([e,n])=>{const s={};ce(l,(l=>{L(he(e,l),(([e,t])=>s[l]=Ee(e,t)))})),a[t]=Ee(s,n)})))),o[t]=Ee(a,n)}))));const u={};return ce(r,(e=>L(he(t,e),(([l,t])=>u[e]=Ee(l,t))))),[Ee(o,l),Ee(u,a),1]},applyMergeableChanges:h,merge:e=>{const l=g(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{ie(s),ie(r)}),((e,n,r,u)=>{ee(Te(Te(s,e,ve),n,$),r),l&&d([[{[e]:[{[n]:[{[r]:[u,a?t:o()]}]}]}],[{}],1])}),((e,n)=>{ee(r,e),l&&d([[{}],[{[e]:[n,a?t:o()]}],1])})),Q(i,((e,l)=>b[l]=I(l,"set")||I(l,"del")||I(l,"apply")||M(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):I(l,"add")&&M(l,"Listener")?(...t)=>{var n;const a=null!=(n=gl[D(l,3,-8)])?n:0,s=t[a];return t[a]=(e,...l)=>s(b,...l),e(...t)}:"isMergeable"==l?()=>!0:e)),U(b)}},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
|
|
1
|
+
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),a=l(!0),s=l(0),r=l(l),o="type",u="default",i="Has",c="Ids",d="Table",v=d+"s",g=d+c,h="Row",b=h+"Count",f=h+c,T="Cell",C=T+c,p="Value",V=p+"s",w=p+c,y=e=>t+e,I=(e,l)=>e.startsWith(l),M=(e,l)=>e.endsWith(l),R=Math.max,S=isFinite,m=e=>null==e,L=(e,l,t)=>m(e)?null==t?void 0:t():l(e),H=e=>e==n||e==a,E=e=>l(e)==r,J=e=>Array.isArray(e),D=(e,l,t)=>e.slice(l,t),x=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),z=(e,l,t)=>e.reduce(l,t),A=(e,...l)=>e.push(...l),P=Object,W=e=>P.getPrototypeOf(e),j=P.entries,k=P.isFrozen,N=e=>!m(e)&&L(W(e),(e=>e==P.prototype||m(W(e))),(()=>!0)),B=P.keys,U=P.freeze,_=(e=[])=>P.fromEntries(e),q=(e,l)=>l in e,G=(e,l)=>(delete e[l],e),K=(e,l)=>F(j(e),(([e,t])=>l(t,e))),Q=(e,l)=>O(j(e),(([e,t])=>l(t,e))),X=e=>N(e)&&0==(e=>x(B(e)))(e),Y=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),Z=(e,l,t,n=0)=>m(e)||!N(e)||!n&&X(e)||k(e)?(null==t||t(),!1):(Q(e,((t,n)=>{l(t,n)||G(e,n)})),!!n||!X(e)),$=e=>new Set(J(e)||m(e)?e:[e]),ee=(e,l)=>null==e?void 0:e.add(l),le=e=>l=>z(ue(l),((l,t)=>l+e(t)),0),te=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},ne=le(te),ae=le(ne),se=le(ae),re=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},oe=e=>m(e)||0==te(e),ue=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},ie=e=>e.clear(),ce=(e,l)=>null==e?void 0:e.forEach(l),de=(e,l)=>null==e?void 0:e.delete(l),ve=e=>new Map(e),ge=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},he=(e,l)=>null==e?void 0:e.get(l),be=(e,l)=>ce(e,((e,t)=>l(t,e))),fe=(e,l,t)=>m(t)?(de(e,l),e):null==e?void 0:e.set(l,t),Te=(e,l,t,n)=>(re(e,l)?null==n||n(he(e,l)):fe(e,l,t()),he(e,l)),Ce=(e,l,t,n=fe)=>(Q(l,((l,n)=>t(e,n,l))),be(e,(t=>q(l,t)?0:n(e,t))),e),pe=(e,l,t,n)=>{const a={};return ce(e,((e,s)=>{if(!(null==t?void 0:t(e,s))){const t=l?l(e,s):e;!(null==n?void 0:n(t))&&(a[s]=t)}})),a},Ve=(e,l,t)=>pe(e,(e=>pe(e,l,t)),oe,X),we=(e,l,t)=>pe(e,(e=>Ve(e,l,t)),oe,X),ye=(e,l)=>{const t=ve();return ce(e,((e,n)=>{var a;return t.set(n,null!=(a=null==l?void 0:l(e))?a:e)})),t},Ie=e=>ye(e,ye),Me=e=>ye(e,Ie),Re=(e,l,t,n,a=0)=>L((t?Te:he)(e,l[a],a>x(l)-2?t:ve),(s=>{if(a>x(l)-2)return(null==n?void 0:n(s))&&fe(e,l[a]),s;const r=Re(s,l,t,n,a+1);return oe(s)&&fe(e,l[a]),r})),Se=new globalThis.TextEncoder,me=e=>{let l=2166136261;return F(Se.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},Le=([e,l,t])=>[e,l,t],He=([e,l])=>Ee(e,l),Ee=(e,l)=>l?[e,l]:[e],Je=e=>e[2],De=(e,l)=>me(e+":"+l),xe=(e,l)=>l>e?(e?me(e):0)^me(l):0,Fe=(e,l)=>{var t;return null!=(t=(null!=e?e:"")>(null!=l?l:"")?e:l)?t:""},Oe=(e,l,t)=>{e[2]=l>>>0,t>e[1]&&(e[1]=t)},ze=(e=t)=>Ee(_(),e),Ae=(e=t)=>[ve(),e,0],Pe=([e,l,t],n=Le)=>[pe(e,n),l,t],We=([e,l],t=He)=>Ee(pe(e,t),l),je=(e,t)=>{return J(e)&&3==x(e)&&(a=e[1],l(a)==n)&&l(e[2])==s&&S(e[2])&&t(e[0]);var a},ke=/^\d+$/,Ne=()=>{const e=[];let l=0;return[n=>{var a;return null!=(a=n?e.shift():null)?a:t+l++},l=>{ke.test(l)&&x(e)<1e3&&A(e,l)}]},Be=e=>[e,e],Ue=(e,l=ne)=>l(e[0])+l(e[1]),_e=()=>[ve(),ve()],qe=e=>[...e],Ge=([e,l])=>e===l,Ke=e=>{const t=l(e);return H(t)||t==s&&S(e)?t:void 0},Qe=e=>m(e)||!m(Ke(e)),Xe=(e,l,t,n,a)=>m(a)?e.delCell(l,t,n,!0):e.setCell(l,t,n,a),Ye=(e,l,t)=>m(t)?e.delValue(l):e.setValue(l,t),Ze=e=>JSON.stringify(e,((e,l)=>l instanceof Map?P.fromEntries([...l]):l)),$e=JSON.parse,el="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),ll=ve(O(el,((e,l)=>[e,l]))),tl=e=>el[63&e],nl=(e,l)=>{var t;return null!=(t=he(ll,e[l]))?t:0},al=(e,l,t)=>fe(e,l,he(e,l)==-t?void 0:t),sl=()=>{let e,l,n=!1,a=!1,r=0,c=[];const I=ve(),M=ve(),R=ve(),S=ve(),J=ve(),z=ve(),P=ve(),W=ve(),j=ve(),k=ve(),N=ve(),B=ve(),_=ve(),K=ve(),Y=$(),le=ve(),ue=ve(),Se=ve(),me=ve(),Le=_e(),He=_e(),Ee=_e(),Je=_e(),De=_e(),xe=_e(),Fe=_e(),Oe=_e(),ze=_e(),Ae=_e(),Pe=_e(),We=_e(),je=_e(),ke=_e(),Qe=_e(),el=_e(),ll=_e(),tl=_e(),nl=_e(),rl=_e(),ol=_e(),ul=_e(),il=ve(),cl=_e(),[dl,vl,gl,hl]=(e=>{let l;const[n,a]=Ne(),s=ve();return[(e,a,r,o=[],u=(()=>[]))=>{null!=l||(l=Ft);const i=n(1);return fe(s,i,[e,a,r,o,u]),ee(Re(a,null!=r?r:[t],$),i),i},(e,n,...a)=>F(((e,l=[t])=>{const n=[],a=(e,t)=>t==x(l)?A(n,e):null===l[t]?ce(e,(e=>a(e,t+1))):F([l[t],null],(l=>a(he(e,l),t+1)));return a(e,0),n})(e,n),(e=>ce(e,(e=>he(s,e)[0](l,...null!=n?n:[],...a))))),e=>L(he(s,e),(([,l,n])=>(Re(l,null!=n?n:[t],void 0,(l=>(de(l,e),oe(l)?1:0))),fe(s,e),a(e),n))),e=>L(he(s,e),(([e,,t=[],n,a])=>{const s=(...r)=>{var o,u;const i=x(r);i==x(t)?e(l,...r,...a(r)):m(t[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>s(...r,e))):s(...r,t[i])};s()}))]})(),bl=e=>{if(!Z(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!H(l)&&l!=s||(Ke(e[u])!=l&&G(e,u),0))},fl=(l,t)=>(!e||re(N,t)||ql(t))&&Z(l,((e,l)=>Tl(t,l,e)),(()=>ql(t))),Tl=(e,l,t,n)=>Z(n?t:wl(t,e,l),((n,a)=>L(Cl(e,l,a,n),(e=>(t[a]=e,!0)),(()=>!1))),(()=>ql(e,l))),Cl=(l,t,n,a)=>e?L(he(he(N,l),n),(e=>Ke(a)!=e[o]?ql(l,t,n,a,e[u]):a),(()=>ql(l,t,n,a))):m(Ke(a))?ql(l,t,n,a):a,pl=(e,l)=>Z(l?e:yl(e),((l,t)=>L(Vl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>Gl())),Vl=(e,t)=>l?L(he(_,e),(l=>Ke(t)!=l[o]?Gl(e,t,l[u]):t),(()=>Gl(e,t))):m(Ke(t))?Gl(e,t):t,wl=(e,l,t)=>(L(he(B,l),(([n,a])=>{ce(n,((l,t)=>{q(e,t)||(e[t]=l)})),ce(a,(n=>{q(e,n)||ql(l,t,n)}))})),e),yl=e=>(l&&(ce(K,((l,t)=>{q(e,t)||(e[t]=l)})),ce(Y,(l=>{q(e,l)||Gl(l)}))),e),Il=e=>Ce(N,e,((e,l,t)=>{const n=ve(),a=$();Ce(Te(N,l,ve),t,((e,l,t)=>{fe(e,l,t),L(t[u],(e=>fe(n,l,e)),(()=>ee(a,l)))})),fe(B,l,[n,a])}),((e,l)=>{fe(N,l),fe(B,l)})),Ml=e=>Ce(_,e,((e,l,t)=>{fe(_,l,t),L(t[u],(e=>fe(K,l,e)),(()=>ee(Y,l)))}),((e,l)=>{fe(_,l),fe(K,l),de(Y,l)})),Rl=e=>X(e)?Rt():Vt(e),Sl=e=>Ce(Se,e,((e,l,t)=>ml(l,t)),((e,l)=>zl(l))),ml=(e,l)=>Ce(Te(Se,e,(()=>(jl(e,1),fe(le,e,Ne()),fe(ue,e,ve()),ve()))),l,((l,t,n)=>Ll(e,l,t,n)),((l,t)=>Al(e,l,t))),Ll=(e,l,t,n,a)=>Ce(Te(l,t,(()=>(kl(e,t,1),ve()))),n,((l,n,a)=>Hl(e,t,l,n,a)),((n,s)=>Pl(e,l,t,n,s,a))),Hl=(e,l,t,n,a)=>{re(t,n)||Nl(e,l,n,1);const s=he(t,n);a!==s&&(Bl(e,l,n,s,a),fe(t,n,a))},El=(e,l,t,n,a)=>L(he(l,t),(l=>Hl(e,t,l,n,a)),(()=>Ll(e,l,t,wl({[n]:a},e,t)))),Jl=e=>X(e)?Lt():wt(e),Dl=e=>Ce(me,e,((e,l,t)=>xl(l,t)),((e,l)=>Wl(l))),xl=(e,l)=>{re(me,e)||Ul(e,1);const t=he(me,e);l!==t&&(_l(e,t,l),fe(me,e,l))},Fl=(e,l)=>{const[t]=he(le,e),n=t(l);return re(he(Se,e),n)?Fl(e,l):n},Ol=e=>{var l;return null!=(l=he(Se,e))?l:ml(e,{})},zl=e=>ml(e,{}),Al=(e,l,t)=>{const[,n]=he(le,e);n(t),Ll(e,l,t,{},!0)},Pl=(e,l,t,n,a,s)=>{var r;const o=he(null==(r=he(B,e))?void 0:r[0],a);if(!m(o)&&!s)return Hl(e,t,n,a,o);const u=l=>{Bl(e,t,l,he(n,l)),Nl(e,t,l,-1),fe(n,l)};m(o)?u(a):be(n,u),oe(n)&&(kl(e,t,-1),oe(fe(l,t))&&(jl(e,-1),fe(Se,e),fe(le,e),fe(ue,e)))},Wl=e=>{const l=he(K,e);if(!m(l))return xl(e,l);_l(e,he(me,e)),Ul(e,-1),fe(me,e)},jl=(e,l)=>al(I,e,l),kl=(e,l,t)=>al(Te(S,e,ve),l,t)&&fe(R,e,Te(R,e,(()=>0))+t),Nl=(e,l,t,n)=>{var a;const s=he(ue,e),r=null!=(a=he(s,t))?a:0;(0==r&&1==n||1==r&&-1==n)&&al(Te(M,e,ve),t,n),fe(s,t,r!=-n?r+n:null),al(Te(Te(J,e,ve),l,ve),t,n)},Bl=(e,l,t,n,a)=>{var s;Te(Te(Te(z,e,ve),l,ve),t,(()=>[n,0]))[1]=a,null==(s=c[3])||s.call(c,e,l,t,a)},Ul=(e,l)=>al(P,e,l),_l=(e,l,t)=>{var n;Te(W,e,(()=>[l,0]))[1]=t,null==(n=c[4])||n.call(c,e,t)},ql=(e,l,t,n,a)=>(A(Te(Te(Te(j,e,ve),l,ve),t,(()=>[])),n),a),Gl=(e,l,t)=>(A(Te(k,e,(()=>[])),l),t),Kl=(e,l,t)=>L(he(he(he(z,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Be(it(e,l,t))])),Ql=e=>L(he(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Be(vt(e))])),Xl=e=>oe(j)||oe(el[e])?0:ce(e?Me(j):j,((l,t)=>ce(l,((l,n)=>ce(l,((l,a)=>vl(el[e],[t,n,a],l))))))),Yl=e=>oe(k)||oe(ll[e])?0:ce(e?ye(k):k,((l,t)=>vl(ll[e],[t],l))),Zl=(e,l,t,n)=>{if(!oe(e))return vl(l,n,(()=>pe(e))),be(e,((e,l)=>vl(t,[...null!=n?n:[],e],1==l))),1},$l=e=>{const l=gt();l!=n&&vl(Le[e],void 0,l);const t=oe(Ae[e]),a=oe(je[e])&&oe(ke[e])&&oe(ze[e])&&oe(Pe[e])&&oe(xe[e])&&oe(Fe[e])&&oe(Oe[e])&&t&&oe(Ee[e])&&oe(Je[e]),s=oe(Qe[e])&&oe(We[e])&&oe(De[e])&&oe(He[e]);if(!a||!s){const l=e?[ye(I),Ie(M),ye(R),Ie(S),Me(J),Me(z)]:[I,M,R,S,J,z];if(!a){Zl(l[0],Ee[e],Je[e]),ce(l[1],((l,t)=>Zl(l,xe[e],Fe[e],[t]))),ce(l[2],((l,t)=>{0!=l&&vl(Oe[e],[t],st(t))}));const n=$();ce(l[3],((l,a)=>{Zl(l,ze[e],Pe[e],[a])&&!t&&(vl(Ae[e],[a,null]),ee(n,a))})),t||ce(l[5],((l,t)=>{if(!re(n,t)){const n=$();ce(l,(e=>ce(e,(([l,t],a)=>t!==l?ee(n,a):de(e,a))))),ce(n,(l=>vl(Ae[e],[t,l])))}})),ce(l[4],((l,t)=>ce(l,((l,n)=>Zl(l,je[e],ke[e],[t,n])))))}if(!s){let t;ce(l[5],((l,n)=>{let a;ce(l,((l,s)=>{let r;ce(l,(([l,o],u)=>{o!==l&&(vl(Qe[e],[n,s,u],o,l,Kl),t=a=r=1)})),r&&vl(We[e],[n,s],Kl)})),a&&vl(De[e],[n],Kl)})),t&&vl(He[e],void 0,Kl)}}},et=e=>{const l=Ct();l!=a&&vl(tl[e],void 0,l);const t=oe(rl[e])&&oe(ol[e]),n=oe(ul[e])&&oe(nl[e]);if(!t||!n){const l=e?[ye(P),ye(W)]:[P,W];if(t||Zl(l[0],rl[e],ol[e]),!n){let t;ce(l[1],(([l,n],a)=>{n!==l&&(vl(ul[e],[a],n,l,Ql),t=1)})),t&&vl(nl[e],void 0,Ql)}}},lt=(e,...l)=>(Jt((()=>e(...O(l,y)))),Ft),tt=()=>we(Se),nt=()=>ge(Se),at=e=>ge(he(ue,y(e))),st=e=>te(he(Se,y(e))),rt=e=>ge(he(Se,y(e))),ot=(e,l,t,n=0,a)=>{return O(D((r=he(Se,y(e)),o=(e,t)=>[m(l)?t:he(e,y(l)),t],s=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(a=l)?a:0)?-1:1)*(t?-1:1);var n,a},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(s)),n,m(a)?a:n+a),(([,e])=>e));var s,r,o,u},ut=(e,l)=>ge(he(he(Se,y(e)),y(l))),it=(e,l,t)=>he(he(he(Se,y(e)),y(l)),y(t)),ct=()=>pe(me),dt=()=>ge(me),vt=e=>he(me,y(e)),gt=()=>!oe(Se),ht=e=>re(Se,y(e)),bt=(e,l)=>re(he(ue,y(e)),y(l)),ft=(e,l)=>re(he(Se,y(e)),y(l)),Tt=(e,l,t)=>re(he(he(Se,y(e)),y(l)),y(t)),Ct=()=>!oe(me),pt=e=>re(me,y(e)),Vt=e=>lt((()=>(e=>Z(e,fl,ql))(e)?Sl(e):0)),wt=e=>lt((()=>pl(e)?Dl(e):0)),yt=e=>{try{Rl($e(e))}catch(e){}return Ft},It=l=>lt((()=>{if((e=Z(l,(e=>Z(e,bl))))&&(Il(l),!oe(Se))){const e=tt();Rt(),Vt(e)}})),Mt=e=>lt((()=>{if(l=(e=>Z(e,bl))(e)){const t=ct();Et(),Lt(),l=!0,Ml(e),wt(t)}})),Rt=()=>lt((()=>Sl({}))),St=e=>lt((e=>re(Se,e)?zl(e):0),e),mt=(e,l)=>lt(((e,l)=>L(he(Se,e),(t=>re(t,l)?Al(e,t,l):0))),e,l),Lt=()=>lt((()=>Dl({}))),Ht=()=>lt((()=>{Il({}),e=!1})),Et=()=>lt((()=>{Ml({}),l=!1})),Jt=(e,l)=>{if(-1!=r){Dt();const t=e();return xt(l),t}},Dt=()=>{var e;return-1!=r&&r++,1==r&&(null==(e=c[0])||e.call(c),vl(il)),Ft},xt=e=>{var l,t;return r>0&&(r--,0==r&&(r=1,Xl(1),oe(z)||$l(1),Yl(1),oe(W)||et(1),(null==e?void 0:e(Ft))&&(ce(z,((e,l)=>ce(e,((e,t)=>ce(e,(([e],n)=>Xe(Ft,l,t,n,e))))))),ie(z),ce(W,(([e],l)=>Ye(Ft,l,e))),ie(W)),vl(cl[0],void 0),r=-1,Xl(0),oe(z)||$l(0),Yl(0),oe(W)||et(0),null==(l=c[1])||l.call(c),vl(cl[1],void 0),null==(t=c[2])||t.call(c),r=0,n=gt(),a=Ct(),F([I,M,R,S,J,z,j,P,W,k],ie))),Ft},Ft={getContent:()=>[tt(),ct()],getTables:tt,getTableIds:nt,getTable:e=>Ve(he(Se,y(e))),getTableCellIds:at,getRowCount:st,getRowIds:rt,getSortedRowIds:ot,getRow:(e,l)=>pe(he(he(Se,y(e)),y(l))),getCellIds:ut,getCell:it,getValues:ct,getValueIds:dt,getValue:vt,hasTables:gt,hasTable:ht,hasTableCell:bt,hasRow:ft,hasCell:Tt,hasValues:Ct,hasValue:pt,getTablesJson:()=>Ze(Se),getValuesJson:()=>Ze(me),getJson:()=>Ze([Se,me]),getTablesSchemaJson:()=>Ze(N),getValuesSchemaJson:()=>Ze(_),getSchemaJson:()=>Ze([N,_]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>lt((()=>{(X(e)?Rt:Vt)(e),(X(l)?Lt:wt)(l)})),setTables:Vt,setTable:(e,l)=>lt((e=>fl(l,e)?ml(e,l):0),e),setRow:(e,l,t)=>lt(((e,l)=>Tl(e,l,t)?Ll(e,Ol(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Jt((()=>{let n;return Tl(e,n,l)&&(e=y(e),Ll(e,Ol(e),n=Fl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>lt(((e,l)=>{if(Tl(e,l,t,1)){const n=Ol(e);Q(t,((t,a)=>El(e,n,l,a,t)))}}),e,l),setCell:(e,l,t,n)=>lt(((e,l,t)=>L(Cl(e,l,t,E(n)?n(it(e,l,t)):n),(n=>El(e,Ol(e),l,t,n)))),e,l,t),setValues:wt,setPartialValues:e=>lt((()=>pl(e,1)?Q(e,((e,l)=>xl(l,e))):0)),setValue:(e,l)=>lt((e=>L(Vl(e,E(l)?l(vt(e)):l),(l=>xl(e,l)))),e),applyChanges:e=>lt((()=>{Q(e[0],((e,l)=>m(e)?St(l):Q(e,((e,t)=>m(e)?mt(l,t):Q(e,((e,n)=>Xe(Ft,l,t,n,e))))))),Q(e[1],((e,l)=>Ye(Ft,l,e)))})),setTablesJson:yt,setValuesJson:e=>{try{Jl($e(e))}catch(e){}return Ft},setJson:e=>lt((()=>{try{const[l,t]=$e(e);Rl(l),Jl(t)}catch(l){yt(e)}})),setTablesSchema:It,setValuesSchema:Mt,setSchema:(e,l)=>lt((()=>{It(e),Mt(l)})),delTables:Rt,delTable:St,delRow:mt,delCell:(e,l,t,n)=>lt(((e,l,t)=>L(he(Se,e),(a=>L(he(a,l),(s=>re(s,t)?Pl(e,a,l,s,t,n):0))))),e,l,t),delValues:Lt,delValue:e=>lt((e=>re(me,e)?Wl(e):0),e),delTablesSchema:Ht,delValuesSchema:Et,delSchema:()=>lt((()=>{Ht(),Et()})),transaction:Jt,startTransaction:Dt,getTransactionChanges:()=>[pe(z,((e,l)=>-1===he(I,l)?void 0:pe(e,((e,t)=>-1===he(he(S,l),t)?void 0:pe(e,(([,e])=>e),(e=>Ge(e)))),oe,X)),oe,X),pe(W,(([,e])=>e),(e=>Ge(e))),1],getTransactionLog:()=>[!oe(z),!oe(W),we(z,qe,Ge),we(j),pe(W,qe,Ge),pe(k),pe(I),Ve(S),we(J),pe(P)],finishTransaction:xt,forEachTable:e=>ce(Se,((l,t)=>e(t,(e=>ce(l,((l,t)=>e(t,(e=>be(l,e))))))))),forEachTableCell:(e,l)=>be(he(ue,y(e)),l),forEachRow:(e,l)=>ce(he(Se,y(e)),((e,t)=>l(t,(l=>be(e,l))))),forEachCell:(e,l,t)=>be(he(he(Se,y(e)),y(l)),t),forEachValue:e=>be(me,e),addSortedRowIdsListener:(e,l,t,n,a,s,r)=>{let o=ot(e,l,t,n,a);return dl((()=>{const r=ot(e,l,t,n,a);var u,i,c;i=o,x(u=r)===x(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,s(Ft,e,l,t,n,a,o))}),Ae[r?1:0],[e,l],[nt])},addStartTransactionListener:e=>dl(e,il),addWillFinishTransactionListener:e=>dl(e,cl[0]),addDidFinishTransactionListener:e=>dl(e,cl[1]),callListener:e=>(hl(e),Ft),delListener:e=>(gl(e),Ft),getListenerStats:()=>({hasTables:Ue(Le),tables:Ue(He),tableIds:Ue(Ee),hasTable:Ue(Je),table:Ue(De),tableCellIds:Ue(xe),hasTableCell:Ue(Fe,ae),rowCount:Ue(Oe),rowIds:Ue(ze),sortedRowIds:Ue(Ae),hasRow:Ue(Pe,ae),row:Ue(We,ae),cellIds:Ue(je,ae),hasCell:Ue(ke,se),cell:Ue(Qe,se),invalidCell:Ue(el,se),hasValues:Ue(tl),values:Ue(nl),valueIds:Ue(rl),hasValue:Ue(ol),value:Ue(ul),invalidValue:Ue(ll),transaction:ne(il)+Ue(cl)}),isMergeable:()=>!1,createStore:sl,addListener:dl,callListeners:vl,setInternalListeners:(e,l,t,n,a)=>c=[e,l,t,n,a]};return Q({[i+v]:[0,Le,[],()=>[gt()]],[v]:[0,He],[g]:[0,Ee],[i+d]:[1,Je,[nt],e=>[ht(...e)]],[d]:[1,De,[nt]],[d+C]:[1,xe,[nt]],[i+d+T]:[2,Fe,[nt,at],e=>[bt(...e)]],[b]:[1,Oe,[nt]],[f]:[1,ze,[nt]],[i+h]:[2,Pe,[nt,rt],e=>[ft(...e)]],[h]:[2,We,[nt,rt]],[C]:[2,je,[nt,rt]],[i+T]:[3,ke,[nt,rt,ut],e=>[Tt(...e)]],[T]:[3,Qe,[nt,rt,ut],e=>Be(it(...e))],InvalidCell:[3,el],[i+V]:[0,tl,[],()=>[Ct()]],[V]:[0,nl],[w]:[0,rl],[i+p]:[1,ol,[dt],e=>[pt(...e)]],[p]:[1,ul,[dt],e=>Be(vt(e[0]))],InvalidValue:[1,ll]},(([e,l,t,n],a)=>{Ft["add"+a+"Listener"]=(...a)=>dl(a[e],l[a[e+1]?1:0],e>0?D(a,0,e):void 0,t,n)})),U(Ft)};var rl=Math.pow;const ol=rl(2,36),ul=rl(2,30),il=rl(2,24),cl=rl(2,18),dl=rl(2,12),vl=rl(2,6),gl={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},hl=(e=t)=>[Ae(e),Ae(e)];e.createMergeableStore=e=>{let l=1,n=hl(),a=0;const s=ve(),r=$(),[o,u]=(e=>{let l=0,t=-1;const n=L(e,(e=>{const l=me(e);return tl(l/il)+tl(l/cl)+tl(l/dl)+tl(l/vl)+tl(l)}),(()=>((e=16)=>z(crypto.getRandomValues(new Uint8Array(e)),((e,l)=>e+tl(l)),""))(5))),a=e=>{var n;const a=l,[s,r]=m(e)||""==e?[0,0]:[nl(o=e,0)*ol+nl(o,1)*ul+nl(o,2)*il+nl(o,3)*cl+nl(o,4)*dl+nl(o,5)*vl+nl(o,6),nl(o,7)*cl+nl(o,8)*dl+nl(o,9)*vl+nl(o,10)];var o;l=R(a,s,null!=(n=globalThis.HLC_TIME)?n:Date.now()),t=l==a?l==s?R(t,r):t:l==s?r:-1};return[()=>{return a(),s=++t,tl((e=l)/ol)+tl(e/ul)+tl(e/il)+tl(e/cl)+tl(e/dl)+tl(e/vl)+tl(e)+tl(s/cl)+tl(s/dl)+tl(s/vl)+tl(s)+n;var e,s},a]})(e),i=sl(),c=e=>{const t=l;return l=0,e(),l=t,b},d=(e,l=0)=>{const a={},s={},[[r,o=t,i=0],c]=e,[d,g]=n,[h,b,f]=d;let T=l?i:f,C=o;K(r,(([e,n=t,s=0],r)=>{const o=Te(h,r,Ae),[u,i,c]=o;let d=l?s:c,g=n;K(e,((e,t)=>{const[n,s,o]=v(e,Te(u,t,Ae),Y(Y(a,r,_),t,_),l);d^=l?0:(s?De(t,s):0)^De(t,o),g=Fe(g,n)})),d^=l?0:xe(i,n),Oe(o,d,n),T^=l?0:(c?De(r,c):0)^De(r,o[2]),C=Fe(C,g)})),T^=l?0:xe(b,o),Oe(d,T,o);const[p]=v(c,g,s,l);return u(Fe(C,p)),[a,s,1]},v=(e,l,n,a)=>{const[s,r=t,o=0]=e,[u,i,c]=l;let d=r,v=a?o:c;return K(s,(([e,l,s=0],r)=>{const o=Te(u,r,(()=>[void 0,t,0])),[,i,c]=o;(!i||l>i)&&(Oe(o,a?s:me(Ze(null!=e?e:null)+":"+l),l),o[0]=e,n[r]=e,v^=a?0:De(r,c)^De(r,o[2]),d=Fe(d,l))})),v^=a?0:xe(i,r),Oe(l,v,r),[d,c,l[2]]},g=()=>[Pe(n[0],(e=>Pe(e,(e=>Pe(e))))),Pe(n[1])],h=e=>c((()=>i.applyChanges(d(e)))),b={getMergeableContent:g,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>pe(n[0][0],Je),getMergeableTableDiff:e=>{const l=ze(n[0][1]),t={};return be(n[0][0],((n,[a,s,r])=>q(e,n)?r!=e[n]?t[n]=r:0:l[0][n]=We([a,s],(e=>We(e))))),[l,t]},getMergeableRowHashes:e=>{const l={};return K(e,((e,t)=>L(he(n[0][0],t),(([n,,a])=>a!=e?be(n,((e,[,,n])=>Y(l,t,_)[e]=n)):0)))),l},getMergeableRowDiff:e=>{const l=ze(n[0][1]),t={};return K(e,((e,a)=>{var s;return be(null==(s=he(n[0][0],a))?void 0:s[0],((n,[s,r,o])=>q(e,n)?o!==e[n]?Y(t,a,_)[n]=o:0:Y(l[0],a,ze)[0][n]=We([s,r])))})),[l,t]},getMergeableCellHashes:e=>{const l={};return K(e,((e,t)=>L(he(n[0][0],t),(([n])=>K(e,((e,a)=>L(he(n,a),(([n,,s])=>s!==e?be(n,((e,[,,n])=>Y(Y(l,t,_),a,_)[e]=n)):0)))))))),l},getMergeableCellDiff:e=>{const[[l,t]]=n,a={};return K(e,((e,t)=>K(e,((e,n)=>L(he(l,t),(([l,s])=>L(he(l,n),(([l,r])=>be(l,((l,[o,u,i])=>i!==e[l]?Y(Y(a,t,(()=>ze(s)))[0],n,(()=>ze(r)))[0][l]=[o,u]:0)))))))))),Ee(a,t)},getMergeableValueHashes:()=>pe(n[1][0],Je),getMergeableValueDiff:e=>{const[,[l,t]]=n,a=pe(l,He,(([,,l],t)=>l==(null==e?void 0:e[t])));return Ee(a,t)},setMergeableContent:e=>c((()=>(e=>J(e)&&2==x(e)&&je(e[0],(e=>Z(e,(e=>je(e,(e=>Z(e,(e=>je(e,(e=>Z(e,(e=>je(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&je(e[1],(e=>Z(e,(e=>je(e,Qe)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=hl(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,l],[t,a]]=n,o={};ce(s,((l,t)=>L(he(e,t),(([e,n])=>{const a={};ce(l,((l,t)=>L(he(e,t),(([e,n])=>{const s={};ce(l,(l=>{L(he(e,l),(([e,t])=>s[l]=Ee(e,t)))})),a[t]=Ee(s,n)})))),o[t]=Ee(a,n)}))));const u={};return ce(r,(e=>L(he(t,e),(([l,t])=>u[e]=Ee(l,t))))),[Ee(o,l),Ee(u,a),1]},applyMergeableChanges:h,merge:e=>{const l=g(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{ie(s),ie(r)}),((e,n,r,u)=>{ee(Te(Te(s,e,ve),n,$),r),l&&d([[{[e]:[{[n]:[{[r]:[u,a?t:o()]}]}]}],[{}],1])}),((e,n)=>{ee(r,e),l&&d([[{}],[{[e]:[n,a?t:o()]}],1])})),Q(i,((e,l)=>b[l]=I(l,"set")||I(l,"del")||I(l,"apply")||M(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):I(l,"add")&&M(l,"Listener")?(...t)=>{var n;const a=null!=(n=gl[D(l,3,-8)])?n:0,s=t[a];return t[a]=(e,...l)=>s(b,...l),e(...t)}:"isMergeable"==l?()=>!0:e)),U(b)}},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
|
|
Binary file
|