tinybase 4.0.0-beta.4 → 4.0.0-beta.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -0
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -0
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -0
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/{persister-automerge.js → persisters/persister-automerge.js} +58 -31
- package/lib/debug/{persister-browser.js → persisters/persister-browser.js} +49 -20
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +665 -0
- package/lib/debug/{persister-file.js → persisters/persister-file.js} +51 -25
- package/lib/debug/{persister-remote.js → persisters/persister-remote.js} +48 -19
- package/lib/debug/persisters/persister-sqlite-wasm.js +673 -0
- package/lib/debug/persisters/persister-sqlite3.js +676 -0
- package/lib/debug/{persister-yjs.js → persisters/persister-yjs.js} +49 -20
- package/lib/debug/persisters.js +47 -18
- package/lib/debug/store.js +79 -29
- package/lib/debug/tinybase.js +123 -46
- package/lib/debug/tools.js +121 -27
- package/lib/debug/ui-react.js +24 -0
- package/lib/es6/persisters/persister-automerge.js +1 -0
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -0
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -0
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -0
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -0
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -0
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -0
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -0
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -0
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -0
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -0
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -0
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +0 -27
- package/lib/types/common.d.ts +0 -9
- package/lib/types/indexes.d.ts +0 -26
- package/lib/types/metrics.d.ts +0 -23
- package/lib/types/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +95 -0
- package/lib/types/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +102 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +109 -0
- package/lib/types/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/persisters.d.ts +517 -27
- package/lib/types/queries.d.ts +52 -127
- package/lib/types/relationships.d.ts +0 -26
- package/lib/types/store.d.ts +347 -196
- package/lib/types/tinybase.d.ts +0 -1
- package/lib/types/tools.d.ts +15 -28
- package/lib/types/ui-react.d.ts +196 -181
- package/lib/types/with-schemas/checkpoints.d.ts +5 -32
- package/lib/types/with-schemas/common.d.ts +0 -9
- package/lib/types/with-schemas/indexes.d.ts +9 -35
- package/lib/types/with-schemas/metrics.d.ts +9 -32
- package/lib/types/with-schemas/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/with-schemas/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +105 -0
- package/lib/types/with-schemas/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/with-schemas/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +113 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +119 -0
- package/lib/types/with-schemas/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/with-schemas/persisters.d.ts +534 -29
- package/lib/types/with-schemas/queries.d.ts +61 -224
- package/lib/types/with-schemas/relationships.d.ts +9 -35
- package/lib/types/with-schemas/store.d.ts +488 -239
- package/lib/types/with-schemas/tinybase.d.ts +0 -1
- package/lib/types/with-schemas/tools.d.ts +19 -32
- package/lib/types/with-schemas/ui-react.d.ts +221 -186
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -0
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -0
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -0
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -0
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -0
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -0
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -0
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -0
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -0
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -0
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -0
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +39 -22
- package/readme.md +3 -3
- package/lib/cjs/persister-automerge.cjs +0 -1
- package/lib/cjs/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persister-browser.cjs +0 -1
- package/lib/cjs/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persister-file.cjs +0 -1
- package/lib/cjs/persister-file.cjs.gz +0 -0
- package/lib/cjs/persister-remote.cjs +0 -1
- package/lib/cjs/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persister-yjs.cjs +0 -1
- package/lib/cjs/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persister-automerge.cjs +0 -1
- package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persister-browser.cjs +0 -1
- package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persister-file.cjs +0 -1
- package/lib/cjs-es6/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persister-remote.cjs +0 -1
- package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persister-yjs.cjs +0 -1
- package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
- package/lib/es6/persister-automerge.js +0 -1
- package/lib/es6/persister-automerge.js.gz +0 -0
- package/lib/es6/persister-browser.js +0 -1
- package/lib/es6/persister-browser.js.gz +0 -0
- package/lib/es6/persister-file.js +0 -1
- package/lib/es6/persister-file.js.gz +0 -0
- package/lib/es6/persister-remote.js +0 -1
- package/lib/es6/persister-remote.js.gz +0 -0
- package/lib/es6/persister-yjs.js +0 -1
- package/lib/es6/persister-yjs.js.gz +0 -0
- package/lib/persister-automerge.js +0 -1
- package/lib/persister-automerge.js.gz +0 -0
- package/lib/persister-browser.js +0 -1
- package/lib/persister-browser.js.gz +0 -0
- package/lib/persister-file.js +0 -1
- package/lib/persister-file.js.gz +0 -0
- package/lib/persister-remote.js +0 -1
- package/lib/persister-remote.js.gz +0 -0
- package/lib/persister-yjs.js +0 -1
- package/lib/persister-yjs.js.gz +0 -0
- package/lib/umd/persister-automerge.js +0 -1
- package/lib/umd/persister-automerge.js.gz +0 -0
- package/lib/umd/persister-browser.js +0 -1
- package/lib/umd/persister-browser.js.gz +0 -0
- package/lib/umd/persister-file.js +0 -1
- package/lib/umd/persister-file.js.gz +0 -0
- package/lib/umd/persister-remote.js +0 -1
- package/lib/umd/persister-remote.js.gz +0 -0
- package/lib/umd/persister-yjs.js +0 -1
- package/lib/umd/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persister-automerge.js +0 -1
- package/lib/umd-es6/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persister-browser.js +0 -1
- package/lib/umd-es6/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persister-file.js +0 -1
- package/lib/umd-es6/persister-file.js.gz +0 -0
- package/lib/umd-es6/persister-remote.js +0 -1
- package/lib/umd-es6/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persister-yjs.js +0 -1
- package/lib/umd-es6/persister-yjs.js.gz +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.5.1",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": "github:tinyplex/tinybase",
|
|
6
6
|
"license": "MIT",
|
|
@@ -210,43 +210,47 @@
|
|
|
210
210
|
"publishPackage": "gulp publishPackage"
|
|
211
211
|
},
|
|
212
212
|
"devDependencies": {
|
|
213
|
-
"@automerge/automerge": "^2.0.
|
|
214
|
-
"@babel/cli": "^7.
|
|
215
|
-
"@babel/core": "^7.22.
|
|
216
|
-
"@babel/preset-env": "^7.22.
|
|
217
|
-
"@babel/preset-react": "^7.22.
|
|
218
|
-
"@babel/preset-typescript": "^7.
|
|
213
|
+
"@automerge/automerge": "^2.1.0-alpha.6",
|
|
214
|
+
"@babel/cli": "^7.22.5",
|
|
215
|
+
"@babel/core": "^7.22.5",
|
|
216
|
+
"@babel/preset-env": "^7.22.5",
|
|
217
|
+
"@babel/preset-react": "^7.22.5",
|
|
218
|
+
"@babel/preset-typescript": "^7.22.5",
|
|
219
219
|
"@rollup/plugin-replace": "^5.0.2",
|
|
220
220
|
"@rollup/plugin-terser": "^0.4.3",
|
|
221
|
+
"@sqlite.org/sqlite-wasm": "^3.42.0-build1",
|
|
221
222
|
"@types/asciichart": "^1.5.6",
|
|
222
223
|
"@types/expect-puppeteer": "^5.0.3",
|
|
223
224
|
"@types/http-server": "^0.12.1",
|
|
224
225
|
"@types/jest": "^29.5.2",
|
|
225
226
|
"@types/jest-environment-puppeteer": "^5.0.3",
|
|
226
227
|
"@types/less": "^3.0.3",
|
|
227
|
-
"@types/node": "^20.
|
|
228
|
+
"@types/node": "^20.3.1",
|
|
228
229
|
"@types/puppeteer": "^5.4.7",
|
|
229
|
-
"@types/react": "^18.2.
|
|
230
|
-
"@types/react-dom": "^18.2.
|
|
230
|
+
"@types/react": "^18.2.14",
|
|
231
|
+
"@types/react-dom": "^18.2.6",
|
|
231
232
|
"@types/react-test-renderer": "^18.0.0",
|
|
232
233
|
"@types/tmp": "^0.2.3",
|
|
233
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
234
|
-
"@typescript-eslint/parser": "^5.
|
|
234
|
+
"@typescript-eslint/eslint-plugin": "^5.60.0",
|
|
235
|
+
"@typescript-eslint/parser": "^5.60.0",
|
|
236
|
+
"@vlcn.io/crsqlite-wasm": "^0.13.0",
|
|
235
237
|
"asciichart": "^1.5.25",
|
|
236
|
-
"automerge-repo": "^0.0
|
|
238
|
+
"automerge-repo": "^0.1.0",
|
|
237
239
|
"babel-eslint": "^10.1.0",
|
|
238
240
|
"babel-jest": "^29.5.0",
|
|
241
|
+
"babel-plugin-transform-import-meta": "^2.2.0",
|
|
239
242
|
"babel-preset-minify": "^0.5.2",
|
|
240
243
|
"buffer-replace": "^1.0.0",
|
|
241
244
|
"country-flag-emoji-json": "^2.0.0",
|
|
242
245
|
"cspell": "^6.31.1",
|
|
243
|
-
"esbuild": "^0.
|
|
244
|
-
"eslint": "^8.
|
|
246
|
+
"esbuild": "^0.18.7",
|
|
247
|
+
"eslint": "^8.43.0",
|
|
245
248
|
"eslint-config-prettier": "^8.8.0",
|
|
246
|
-
"eslint-plugin-jest": "^27.2.
|
|
247
|
-
"eslint-plugin-jsdoc": "^46.2.
|
|
249
|
+
"eslint-plugin-jest": "^27.2.2",
|
|
250
|
+
"eslint-plugin-jsdoc": "^46.2.6",
|
|
248
251
|
"eslint-plugin-react": "^7.32.2",
|
|
249
252
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
253
|
+
"fake-indexeddb": "^4.0.1",
|
|
250
254
|
"gulp": "^4.0.2",
|
|
251
255
|
"gulp-gzip": "^1.4.2",
|
|
252
256
|
"http-server": "^14.1.1",
|
|
@@ -256,29 +260,39 @@
|
|
|
256
260
|
"jest-puppeteer": "^9.0.0",
|
|
257
261
|
"less": "^4.1.3",
|
|
258
262
|
"prettier": "^2.8.8",
|
|
259
|
-
"puppeteer": "^20.
|
|
263
|
+
"puppeteer": "^20.7.3",
|
|
260
264
|
"react": "^18.2.0",
|
|
261
265
|
"react-dom": "^18.2.0",
|
|
262
266
|
"react-test-renderer": "^18.2.0",
|
|
263
|
-
"rollup": "^3.
|
|
267
|
+
"rollup": "^3.25.1",
|
|
264
268
|
"rollup-plugin-esbuild": "^5.0.0",
|
|
265
269
|
"rollup-plugin-gzip": "^3.1.0",
|
|
266
270
|
"rollup-plugin-preserve-shebang": "^1.0.1",
|
|
267
271
|
"rollup-plugin-prettier": "^3.0.0",
|
|
272
|
+
"sqlite3": "^5.1.6",
|
|
268
273
|
"tinybase": "file:./",
|
|
269
|
-
"tinydocs": "^0.1.
|
|
274
|
+
"tinydocs": "^0.1.27",
|
|
270
275
|
"tmp": "^0.2.1",
|
|
271
|
-
"ts-unused-exports": "^9.0.
|
|
276
|
+
"ts-unused-exports": "^9.0.5",
|
|
272
277
|
"typescript": "5.1.3",
|
|
273
|
-
"yjs": "^13.6.
|
|
278
|
+
"yjs": "^13.6.5"
|
|
274
279
|
},
|
|
275
280
|
"peerDependencies": {
|
|
281
|
+
"@sqlite.org/sqlite-wasm": "^3.42.0-build1",
|
|
282
|
+
"@vlcn.io/crsqlite-wasm": "^0.13.0",
|
|
276
283
|
"automerge-repo": "^0.0.54",
|
|
277
284
|
"prettier": ">=2.0.0",
|
|
278
285
|
"react": ">=17.0.0",
|
|
286
|
+
"sqlite3": "^5.1.6",
|
|
279
287
|
"yjs": ">=13.6.0"
|
|
280
288
|
},
|
|
281
289
|
"peerDependenciesMeta": {
|
|
290
|
+
"@sqlite.org/sqlite-wasm": {
|
|
291
|
+
"optional": true
|
|
292
|
+
},
|
|
293
|
+
"@vlcn.io/crsqlite-wasm": {
|
|
294
|
+
"optional": true
|
|
295
|
+
},
|
|
282
296
|
"automerge-repo": {
|
|
283
297
|
"optional": true
|
|
284
298
|
},
|
|
@@ -288,6 +302,9 @@
|
|
|
288
302
|
"react": {
|
|
289
303
|
"optional": true
|
|
290
304
|
},
|
|
305
|
+
"sqlite3": {
|
|
306
|
+
"optional": true
|
|
307
|
+
},
|
|
291
308
|
"yjs": {
|
|
292
309
|
"optional": true
|
|
293
310
|
}
|
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Why sacrifice store features for bundle size? And why should the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p><em>TinyBase is a smart new way to structure your local app data:</em></p><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a
|
|
1
|
+
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Why sacrifice store features for bundle size? And why should the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p><em>TinyBase is a smart new way to structure your local app data:</em></p><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-and-values">schematization</a> to model it.</li><li><a href="#register-listeners-at-any-granularity">Flexibly reactive</a> to reconciled updates, so you only spend cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively.</li><li><a href="#create-indexes-for-fast-lookups">Indexing</a>, <a href="#define-metrics-and-aggregations">metrics</a>, <a href="#configure-relationships-between-tables">relationships</a> - and even an <a href="#use-checkpoints-for-an-easy-undo-stack">undo stack</a> for your app state.</li><li><a href="#type-definitions-orm-like-apis">Type definitions & ORM-like APIs</a> (<em>new!</em>), based on a schema or inference.</li><li>Easily <a href="#persist-to-storage-sqlite-or-crdts">sync your data</a> to storage, (<em>new!</em>) SQLite, or (<em>new!</em>) CRDTs.</li><li>Use idiomatic, optional, <a href="#call-hooks-to-bind-to-data">bindings to React</a> for a fully reactive UI.</li></ul><p><em>Tiny by name, tiny by nature</em>, TinyBase only costs <a href="#did-we-say-tiny">4.7kB - 8.9kB</a> when compressed, and has zero dependencies. And of course it's <a href="#well-tested-and-documented">well tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and <a href="https://github.com/tinyplex/tinybase">open source</a>. Other <a href="https://beta.tinybase.org/guides/faq/">FAQs</a>?</p></section><p><a id="new" href="https://beta.tinybase.org/guides/releases/#v4-0"><em>NEW!</em> v4.0β release</a></p><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h3 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h3><p><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></p></section><section><h3 id="excited-to-be-used-by">Excited to be used by:</h3><p><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a></p></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
const store = createStore()
|
|
@@ -100,7 +100,7 @@ console.log(store.getRow('pets', 'felix'));
|
|
|
100
100
|
store.delTablesSchema();
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
<section><h2 id="persist-
|
|
103
|
+
<section><h2 id="persist-to-storage-sqlite-or-crdts">Persist to storage, SQLite, or CRDTs.</h2><p>You can easily persist a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> between browser page reloads or sessions. You can also synchronize it with a web endpoint, or (if you're using TinyBase in an appropriate environment), load and save it to a file. <a href="https://beta.tinybase.org/guides/releases/#v4-0">New in v4.0</a>, you can bind <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">TinyBase to SQLite</a> via a range of modules, or to <a href="https://yjs.dev/">Yjs</a> or <a href="https://automerge.org/">Automerge</a> CRDT documents.</p><p>Read more about persisters in the <a href="https://beta.tinybase.org/guides/schemas-and-persistence/persisting-data/">Persisting Data</a> guide.</p></section>
|
|
104
104
|
|
|
105
105
|
```js
|
|
106
106
|
const persister = createSessionPersister(store, 'demo');
|
|
@@ -266,4 +266,4 @@ export const createShop: typeof createShopDecl = () => {
|
|
|
266
266
|
};
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>4.
|
|
269
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>4.7kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.9kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.4kB</em>, the auxiliary <a href="https://beta.tinybase.org/api/tools/"><code>tools</code></a> module is <em>10.3kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">store</a></th><td>4.7kB</td><td>11.1kB</td><td>47.8kB</td><td>212.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>14.9kB</td><td>29.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.7kB</td><td>16.7kB</td><td>33.8kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/relationships/">relationships</a></th><td>1.8kB</td><td>3.7kB</td><td>16.8kB</td><td>42.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/queries/">queries</a></th><td>2.7kB</td><td>5.5kB</td><td>25.0kB</td><td>112.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.1kB</td><td>12.5kB</td><td>33.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/persisters/">persisters</a></th><td>0.5kB</td><td>1.0kB</td><td>3.4kB</td><td>41.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>8.9kB</td><td>21.9kB</td><td>94.8kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,815</td><td>1,815</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,957</td><td>1,957</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>776</td><td>776</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>665</td><td>665</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">3,090</td></tr><tr><th class="right">Assertions</th><td colspan="3">14,334</td></tr></tbody></table></div><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a>, <a href="https://discord.com/invite/mGz3mevwP8">Discord</a>, and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/discussions">Discussions</a> and <a href="https://github.com/tinyplex/tinybase/issues">issues</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a>.</li><li><a href="https://beta.tinybase.org/guides/releases/">Release notes</a> for each version.</li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/4.0.0-beta.5.1">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://hachyderm.io/@jamesgpearce">me</a> in API design, minification, and documentation. It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=t=>t.length,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=s.keys,o=s.freeze,r=(t,e)=>a(t,(t=>t[e])),c=(t,a)=>!e(r(t,a)),i=(t,e)=>delete t[e],d=(t,e)=>((t,e)=>t.map(e))(s.entries(t),(([t,a])=>e(a,t))),u=e=>{return(t=>t instanceof s&&t.constructor==s)(e)&&(a=n(e),0==t(a));var a},v=(t,e)=>[t[e].t,t[e].v],y=(t,a,s,n)=>{const o=e(a)?t:((t,e,a)=>(c(t,e)||(t[e]={}),t[e]))(t,a);let r;return d(s,((t,e)=>{n(o,e,t)&&(r=1)})),d(o,((t,e)=>{c(s,e)||(i(o,e),r=1)})),!e(a)&&u(o)&&i(t,a),r};exports.createAutomergePersister=(s,c,l="tinybase")=>(c.change((t=>t[l]={})),((t,s,n,g,h)=>{let A,p,w=0,L=!1;const S=async t=>{2!=w&&(w=1,await t(),w=0)},f={load:async(e={},a={})=>(await S((async()=>{let n;try{n=await s()}catch{}t.setContent(n??[e,a])})),f),startAutoLoad:async(e={},a={})=>(f.stopAutoLoad(),await f.load(e,a),L=!0,p=(e=>{const a=({doc:e})=>(async(e,a)=>{await S((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await s())}catch{}}))})((()=>v(e,l)));return c.on("change",a),a})(),f),stopAutoLoad:()=>{return L&&(t=p,c.removeListener("change",t),p=void 0,L=!1),f;var t},save:async s=>(1!=w&&(w=2,await(async(t,s)=>{c.change((n=>((t,s,n,o)=>{((t,e)=>{u(t[e])&&(t[e]={t:{},v:{}})})(t,s);const[c,l]=v(t,s),g=()=>{h=1};let h=1;if(a(o?.(),(([t,s])=>{h=0,d(t,((t,s)=>h?0:e(t)?i(c,s):a(c[s],(s=>d(t,((t,n)=>h?0:e(t)?i(s,n):a(r(s,n),(a=>d(t,((t,s)=>e(t)?i(a,s):a[s]=t))),g)))),g))),d(s,((t,a)=>h?0:e(t)?i(l,a):l[a]=t))})),h){const[t,e]=n();y(c,void 0,t,((t,e,a)=>y(c,e,a,((t,e,a)=>y(t,e,a,((t,e,a)=>{if(r(t,e)!==a)return t[e]=a,1})))))),y(l,void 0,e,((t,e,a)=>{r(l,e)!==a&&(l[e]=a)}))}})(n,l,t,s)))})(t.getContent,s),w=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>f.save(e))),f),stopAutoSave:()=>(a(A,t.delListener),f),getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(f)})(s,(async()=>2==t(n(c.doc[l]))?v(c.doc,l):void 0)));
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=Object.freeze,e="storage",a=globalThis.window,s=(s,r,n)=>((s,o,i,c,u)=>{let d,v,y=0,l=!1;const S=async t=>{2!=y&&(y=1,await t(),y=0)},g={load:async(t={},e={})=>(await S((async()=>{let a;try{a=await o()}catch{}s.setContent(a??[t,e])})),g),startAutoLoad:async(t={},i={})=>(g.stopAutoLoad(),await g.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===n&&t.key===r&&(async(t,e)=>{await S((async()=>{if(e)s.setTransactionChanges(e());else try{s.setContent(t?.()??await o())}catch{}}))})((()=>JSON.parse(t.newValue)))};return a.addEventListener(e,i),i})(),g),stopAutoLoad:()=>{return l&&(t=v,a.removeEventListener(e,t),v=void 0,l=!1),g;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return n.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))));var e})(s.getContent),y=0),g),startAutoSave:async()=>(await g.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,e)=>g.save(e))),g),stopAutoSave:()=>{var t,e;return t=d,e=s.delListener,null==t||e(t),g},getStore:()=>s,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(s,(async()=>JSON.parse(n.getItem(r))));exports.createLocalPersister=(t,e)=>s(t,e,localStorage),exports.createSessionPersister=(t,e)=>s(t,e,sessionStorage);
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("fs/promises"),a=require("fs");const e="utf8",s=Object.freeze;exports.createFilePersister=(r,n)=>((r,o,i,c,u)=>{let y,d,v=0,l=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},p={load:async(t={},a={})=>(await w((async()=>{let e;try{e=await o()}catch{}r.setContent(e??[t,a])})),p),startAutoLoad:async(t={},e={})=>{return p.stopAutoLoad(),await p.load(t,e),l=!0,s=async(t,a)=>{await w((async()=>{if(a)r.setTransactionChanges(a());else try{r.setContent(t?.()??await o())}catch{}}))},d=a.watch(n,(()=>s())),p;var s},stopAutoLoad:()=>{return l&&(t=d,t?.close(),d=void 0,l=!1),p;var t},save:async a=>(1!=v&&(v=2,await(async a=>{try{await t.writeFile(n,(s=a(),JSON.stringify(s,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e)}catch{}var s})(r.getContent),v=0),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=r.addDidFinishTransactionListener(((t,a)=>p.save(a))),p),stopAutoSave:()=>{var t,a;return t=y,a=r.delListener,null==t||a(t),p},getStore:()=>r,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(p)})(r,(async()=>JSON.parse(await t.readFile(n,e))));
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag");exports.createRemotePersister=(s,n,r,o)=>{let c;return((s,i,d,u,y)=>{let v,l,p=0,w=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},A={load:async(t={},a={})=>(await h((async()=>{let e;try{e=await i()}catch{}s.setContent(e??[t,a])})),A),startAutoLoad:async(a={},r={})=>{return A.stopAutoLoad(),await A.load(a,r),w=!0,d=async(t,a)=>{await h((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(n,{method:"HEAD"}),s=e(a);t(c)||t(s)||s==c||(c=s,d())}),1e3*o),A;var d},stopAutoLoad:()=>(w&&(clearInterval(l),l=void 0,w=!1),A),save:async t=>(1!=p&&(p=2,await(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(s.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=s.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=s.delListener,t(a)||e(a),A},getStore:()=>s,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(s,(async()=>{const t=await fetch(n);return c=e(t),JSON.parse(await t.text())}))};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("yjs");const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=()=>({}),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),g=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),d="t",v="delete",p=t=>[t.get(d),t.get("v")],y=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c};exports.createYjsPersister=(o,i,h="tinybase")=>{const S=i.getMap(h);return((o,h,w,f,A)=>{let O,J,L=0,N=!1;const b=async t=>{2!=L&&(L=1,await t(),L=0)},z={load:async(t={},e={})=>(await b((async()=>{let a;try{a=await h()}catch{}o.setContent(a??[t,e])})),z),startAutoLoad:async(t={},s={})=>(z.stopAutoLoad(),await z.load(t,s),N=!0,J=(t=>{const s=t=>(async(t,e)=>{await b((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await h())}catch{}}))})(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=p(t),l={},y={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==d?n(a(t),(s=>{const o=g(l,s,c),i=r.get(s);n(a(t),(t=>{const a=g(o,t,c),s=i.get(t);u(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>u(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>u(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):u(e,((t,{action:e})=>y[t]=e==v?null:i.get(t)))))})(s),[l,y]})(S,t)));return S.observeDeep(s),s})(),z),stopAutoLoad:()=>{return N&&(t=J,S.unobserveDeep(t),J=void 0,N=!1),z;var t},save:async e=>(1!=L&&(L=2,await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(d,new t.Map),e.set("v",new t.Map))})(e);const[r,c]=p(e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>g?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>g?0:s(t)?c.delete(e):c.set(e,t)))})),g){const[t,e]=a();y(r,void 0,t,((t,e,a)=>y(r,e,a,((t,e,a)=>y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),y(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(S,e,a))))(o.getContent,e),L=0),z),startAutoSave:async()=>(await z.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>z.save(e))),z),stopAutoSave:()=>(n(O,o.delListener),z),getStore:()=>o,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(z)})(o,(async()=>S.size?[S.get(d).toJSON(),S.get("v").toJSON()]:void 0))};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=t=>t.length,e=t=>null==t,n=(t,n,o)=>e(t)?null==o?void 0:o():n(t),o=Object,r=o.keys,i=o.freeze,l=(t,e)=>n(t,(t=>t[e])),u=(t,n)=>!e(l(t,n)),a=(t,e)=>delete t[e],s=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,n])=>e(n,t))),c=e=>{return(t=>t instanceof o&&t.constructor==o)(e)&&(n=r(e),0==t(n));var n};var d=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(t,n,o,r)=>{const i=e(n)?t:((t,e,n)=>(u(t,e)||(t[e]={}),t[e]))(t,n);let l;return s(o,((t,e)=>{r(i,e,t)&&(l=1)})),s(i,((t,e)=>{u(o,e)||(a(i,e),l=1)})),!e(n)&&c(i)&&a(t,n),l};exports.createAutomergePersister=(o,u,f="tinybase")=>(u.change((t=>t[f]={})),((t,o,r,p,g)=>{let A,m,L=0,S=!1;const x=t=>d(void 0,null,(function*(){2!=L&&(L=1,yield t(),L=0)})),P={load:(...e)=>d(void 0,[...e],(function*(e={},n={}){return yield x((()=>d(void 0,null,(function*(){let r;try{r=yield o()}catch(t){}t.setContent(null!=r?r:[e,n])})))),P})),startAutoLoad:(...e)=>d(void 0,[...e],(function*(e={},n={}){return P.stopAutoLoad(),yield P.load(e,n),S=!0,m=(e=>{const n=({doc:e})=>{return n=()=>y(e,f),d(void 0,null,(function*(){yield x((()=>d(void 0,null,(function*(){var e;if(r)t.setTransactionChanges(r());else try{t.setContent(null!=(e=null==n?void 0:n())?e:yield o())}catch(t){}}))))}));var n,r};return u.on("change",n),n})(),P})),stopAutoLoad:()=>{return S&&(t=m,u.removeListener("change",t),m=void 0,S=!1),P;var t},save:o=>d(void 0,null,(function*(){return 1!=L&&(L=2,yield((t,o)=>v(void 0,null,(function*(){u.change((r=>((t,o,r,i)=>{((t,e)=>{c(t[e])&&(t[e]={t:{},v:{}})})(t,o);const[u,d]=y(t,o),v=()=>{f=1};let f=1;if(n(null==i?void 0:i(),(([t,o])=>{f=0,s(t,((t,o)=>f?0:e(t)?a(u,o):n(u[o],(o=>s(t,((t,r)=>f?0:e(t)?a(o,r):n(l(o,r),(n=>s(t,((t,o)=>e(t)?a(n,o):n[o]=t))),v)))),v))),s(o,((t,n)=>f?0:e(t)?a(d,n):d[n]=t))})),f){const[t,e]=r();h(u,void 0,t,((t,e,n)=>h(u,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(l(t,e)!==n)return t[e]=n,1})))))),h(d,void 0,e,((t,e,n)=>{l(d,e)!==n&&(d[e]=n)}))}})(r,f,t,o)))})))(t.getContent,o),L=0),P})),startAutoSave:()=>d(void 0,null,(function*(){return yield P.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>P.save(e))),P})),stopAutoSave:()=>(n(A,t.delListener),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(o,(()=>v(void 0,null,(function*(){return 2==t(r(u.doc[f]))?y(u.doc,f):void 0})))));
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=Object.freeze;var t=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,s);i((n=n.apply(e,t)).next())})),n=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,s);i((n=n.apply(e,t)).next())}));const o="storage",r=globalThis.window,a=(a,s,i)=>((a,l,u,v,d)=>{let c,y,p=0,f=!1;const h=e=>t(void 0,null,(function*(){2!=p&&(p=1,yield e(),p=0)})),S={load:(...e)=>t(void 0,[...e],(function*(e={},n={}){return yield h((()=>t(void 0,null,(function*(){let t;try{t=yield l()}catch(e){}a.setContent(null!=t?t:[e,n])})))),S})),startAutoLoad:(...e)=>t(void 0,[...e],(function*(e={},n={}){return S.stopAutoLoad(),yield S.load(e,n),f=!0,y=(e=>{const n=e=>{var n,o;e.storageArea===i&&e.key===s&&(n=()=>JSON.parse(e.newValue),t(void 0,null,(function*(){yield h((()=>t(void 0,null,(function*(){var e;if(o)a.setTransactionChanges(o());else try{a.setContent(null!=(e=null==n?void 0:n())?e:yield l())}catch(e){}}))))})))};return r.addEventListener(o,n),n})(),S})),stopAutoLoad:()=>{return f&&(e=y,r.removeEventListener(o,e),y=void 0,f=!1),S;var e},save:e=>t(void 0,null,(function*(){return 1!=p&&(p=2,yield(e=a.getContent,n(void 0,null,(function*(){return i.setItem(s,(t=e(),JSON.stringify(t,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))));var t}))),p=0),S;var e})),startAutoSave:()=>t(void 0,null,(function*(){return yield S.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((e,t)=>S.save(t))),S})),stopAutoSave:()=>{var e,t;return e=c,t=a.delListener,null==e||t(e),S},getStore:()=>a,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(S)})(a,(()=>n(void 0,null,(function*(){return JSON.parse(i.getItem(s))}))));exports.createLocalPersister=(e,t)=>a(e,t,localStorage),exports.createSessionPersister=(e,t)=>a(e,t,sessionStorage);
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("fs/promises"),t=require("fs");const n="utf8",r=Object.freeze;var o=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{a(n.next(e))}catch(e){o(e)}},l=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())})),i=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{a(n.next(e))}catch(e){o(e)}},l=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())}));exports.createFilePersister=(l,a)=>((l,u,s,d,v)=>{let c,y,f=0,h=!1;const p=e=>o(void 0,null,(function*(){2!=f&&(f=1,yield e(),f=0)})),A={load:(...e)=>o(void 0,[...e],(function*(e={},t={}){return yield p((()=>o(void 0,null,(function*(){let n;try{n=yield u()}catch(e){}l.setContent(null!=n?n:[e,t])})))),A})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return A.stopAutoLoad(),yield A.load(e,n),h=!0,r=(e,t)=>o(void 0,null,(function*(){yield p((()=>o(void 0,null,(function*(){var n;if(t)l.setTransactionChanges(t());else try{l.setContent(null!=(n=null==e?void 0:e())?n:yield u())}catch(e){}}))))})),y=t.watch(a,(()=>r())),A;var r})),stopAutoLoad:()=>{return h&&(null==(e=y)||e.close(),y=void 0,h=!1),A;var e},save:t=>o(void 0,null,(function*(){return 1!=f&&(f=2,yield(t=l.getContent,i(void 0,null,(function*(){try{yield e.writeFile(a,(r=t(),JSON.stringify(r,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),r={},[...t].reduce(n,r)):t;var n,r}))),n)}catch(e){}var r}))),f=0),A;var t})),startAutoSave:()=>o(void 0,null,(function*(){return yield A.stopAutoSave().save(),c=l.addDidFinishTransactionListener(((e,t)=>A.save(t))),A})),stopAutoSave:()=>{var e,t;return e=c,t=l.delListener,null==e||t(e),A},getStore:()=>l,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(A)})(l,(()=>i(void 0,null,(function*(){return JSON.parse(yield e.readFile(a,n))}))));
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())})),o=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())}));const r=t=>t.headers.get("ETag");exports.createRemotePersister=(l,a,i,u)=>{let s;return((l,d,c,v,y)=>{let h,f,p=0,A=!1;const S=t=>n(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(...t)=>n(void 0,[...t],(function*(t={},e={}){return yield S((()=>n(void 0,null,(function*(){let n;try{n=yield d()}catch(t){}l.setContent(null!=n?n:[t,e])})))),g})),startAutoLoad:(...e)=>n(void 0,[...e],(function*(e={},i={}){return g.stopAutoLoad(),yield g.load(e,i),A=!0,c=(t,e)=>n(void 0,null,(function*(){yield S((()=>n(void 0,null,(function*(){var n;if(e)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield d())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=r(e);t(s)||t(n)||n==s||(s=n,c())}))),1e3*u),g;var c})),stopAutoLoad:()=>(A&&(clearInterval(f),f=void 0,A=!1),g),save:t=>n(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=l.getContent,o(void 0,null,(function*(){return yield fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var e}))),p=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),h=l.addDidFinishTransactionListener(((t,e)=>g.save(e))),g})),stopAutoSave:()=>{var e,n;return e=h,n=l.delListener,!!t(e)||n(e),g},getStore:()=>l,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(l,(()=>o(void 0,null,(function*(){const t=yield fetch(a);return s=r(t),JSON.parse(yield t.text())}))))};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("yjs");const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,r=(t,e,n)=>o(t)?null==n?void 0:n():e(t),l=Object,i=l.freeze,s=()=>({}),a=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),u=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var d=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((n=n.apply(t,e)).next())}));const c=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var g=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((n=n.apply(t,e)).next())}));const h="t",p="delete",y=t=>[t.get(h),t.get("v")],f=(e,n,r,l)=>{var i;const s=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let v;return u(r,((t,e)=>{l(s,e,t)&&(v=1)})),s.forEach(((t,e)=>{a(r,e)||(s.delete(e),v=1)})),o(n)||s.size||e.delete(n),v};exports.createYjsPersister=(l,a,S="tinybase")=>{const A=a.getMap(S);return((l,S,w,O,J)=>{let L,N,m=0,x=!1;const P=t=>d(void 0,null,(function*(){2!=m&&(m=1,yield t(),m=0)})),b={load:(...t)=>d(void 0,[...t],(function*(t={},e={}){return yield P((()=>d(void 0,null,(function*(){let n;try{n=yield S()}catch(t){}l.setContent(null!=n?n:[t,e])})))),b})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},o={}){return b.stopAutoLoad(),yield b.load(t,o),x=!0,N=(t=>{const o=t=>{return o=void 0,i=()=>((t,o)=>{if(1==e(o)&&(l=o[0].path,0==e(l)))return[t.get("t").toJSON(),t.get("v").toJSON()];var l;const[i,a]=y(t),u={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?r(n(t),(o=>{const l=v(u,o,s),a=i.get(o);r(n(t),(t=>{const n=v(l,t,s),o=a.get(t);c(e,((t,{action:e})=>n[t]=e==p?null:o.get(t)))}),(()=>c(e,((t,{action:e})=>{var n;return l[t]=e==p?null:null==(n=a.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return u[t]=e==p?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==p?null:a.get(t)))))})(o),[u,d]})(A,t),d(void 0,null,(function*(){yield P((()=>d(void 0,null,(function*(){var t;if(i)l.setTransactionChanges(i());else try{l.setContent(null!=(t=null==o?void 0:o())?t:yield S())}catch(t){}}))))}));var o,i};return A.observeDeep(o),o})(),b})),stopAutoLoad:()=>{return x&&(t=N,A.unobserveDeep(t),N=void 0,x=!1),b;var t},save:e=>d(void 0,null,(function*(){return 1!=m&&(m=2,yield((e,n)=>g(void 0,null,(function*(){return a.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(h,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=y(e),a=()=>{v=1};let v=1;if(r(null==l?void 0:l(),(([t,e])=>{v=0,u(t,((t,e)=>v?0:o(t)?i.delete(e):r(i.get(e),(e=>u(t,((t,n)=>v?0:o(t)?e.delete(n):r(e.get(n),(e=>u(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),a)))),a))),u(e,((t,e)=>v?0:o(t)?s.delete(e):s.set(e,t)))})),v){const[t,e]=n();f(i,void 0,t,((t,e,n)=>f(i,e,n,((t,e,n)=>f(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),f(s,void 0,e,((t,e,n)=>{s.get(e)!==n&&s.set(e,n)}))}})(A,e,n)))})))(l.getContent,e),m=0),b})),startAutoSave:()=>d(void 0,null,(function*(){return yield b.stopAutoSave().save(),L=l.addDidFinishTransactionListener(((t,e)=>b.save(e))),b})),stopAutoSave:()=>(r(L,l.delListener),b),getStore:()=>l,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(l,(()=>g(void 0,null,(function*(){return A.size?[A.get(h).toJSON(),A.get("v").toJSON()]:void 0}))))};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=t=>t.length,e=t=>null==t,n=(t,n,o)=>e(t)?null==o?void 0:o():n(t),o=Object,r=o.keys,l=o.freeze,i=(t,e)=>n(t,(t=>t[e])),u=(t,n)=>!e(i(t,n)),a=(t,e)=>delete t[e],c=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,n])=>e(n,t))),d=e=>{return(t=>t instanceof o&&t.constructor==o)(e)&&(n=r(e),0==t(n));var n};var s=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(t,n,o,r)=>{const l=e(n)?t:((t,e,n)=>(u(t,e)||(t[e]={}),t[e]))(t,n);let i;return c(o,((t,e)=>{r(l,e,t)&&(i=1)})),c(l,((t,e)=>{u(o,e)||(a(l,e),i=1)})),!e(n)&&d(l)&&a(t,n),i},f=(o,u,f="tinybase")=>(u.change((t=>t[f]={})),((t,o,r,p,g)=>{let A,L,m=0,S=!1;const x=t=>s(void 0,null,(function*(){2!=m&&(m=1,yield t(),m=0)})),w={load:(...e)=>s(void 0,[...e],(function*(e={},n={}){return yield x((()=>s(void 0,null,(function*(){let r;try{r=yield o()}catch(t){}t.setContent(null!=r?r:[e,n])})))),w})),startAutoLoad:(...e)=>s(void 0,[...e],(function*(e={},n={}){return w.stopAutoLoad(),yield w.load(e,n),S=!0,L=(e=>{const n=({doc:e})=>{return n=()=>y(e,f),s(void 0,null,(function*(){yield x((()=>s(void 0,null,(function*(){var e;if(r)t.setTransactionChanges(r());else try{t.setContent(null!=(e=null==n?void 0:n())?e:yield o())}catch(t){}}))))}));var n,r};return u.on("change",n),n})(),w})),stopAutoLoad:()=>{return S&&(t=L,u.removeListener("change",t),L=void 0,S=!1),w;var t},save:o=>s(void 0,null,(function*(){return 1!=m&&(m=2,yield((t,o)=>v(void 0,null,(function*(){u.change((r=>((t,o,r,l)=>{((t,e)=>{d(t[e])&&(t[e]={t:{},v:{}})})(t,o);const[u,s]=y(t,o),v=()=>{f=1};let f=1;if(n(null==l?void 0:l(),(([t,o])=>{f=0,c(t,((t,o)=>f?0:e(t)?a(u,o):n(u[o],(o=>c(t,((t,r)=>f?0:e(t)?a(o,r):n(i(o,r),(n=>c(t,((t,o)=>e(t)?a(n,o):n[o]=t))),v)))),v))),c(o,((t,n)=>f?0:e(t)?a(s,n):s[n]=t))})),f){const[t,e]=r();h(u,void 0,t,((t,e,n)=>h(u,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(i(t,e)!==n)return t[e]=n,1})))))),h(s,void 0,e,((t,e,n)=>{i(s,e)!==n&&(s[e]=n)}))}})(r,f,t,o)))})))(t.getContent,o),m=0),w})),startAutoSave:()=>s(void 0,null,(function*(){return yield w.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>w.save(e))),w})),stopAutoSave:()=>(n(A,t.delListener),w),getStore:()=>t,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(w)})(o,(()=>v(void 0,null,(function*(){return 2==t(r(u.doc[f]))?y(u.doc,f):void 0})))));export{f as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=Object.freeze;var e=(t,e,n)=>new Promise(((o,r)=>{var a=t=>{try{i(n.next(t))}catch(t){r(t)}},l=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(a,l);i((n=n.apply(t,e)).next())})),n=(t,e,n)=>new Promise(((o,r)=>{var a=t=>{try{i(n.next(t))}catch(t){r(t)}},l=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(a,l);i((n=n.apply(t,e)).next())}));const o="storage",r=globalThis.window,a=(a,l,i)=>((a,u,s,v,d)=>{let c,y,f=0,p=!1;const h=t=>e(void 0,null,(function*(){2!=f&&(f=1,yield t(),f=0)})),g={load:(...t)=>e(void 0,[...t],(function*(t={},n={}){return yield h((()=>e(void 0,null,(function*(){let e;try{e=yield u()}catch(t){}a.setContent(null!=e?e:[t,n])})))),g})),startAutoLoad:(...t)=>e(void 0,[...t],(function*(t={},n={}){return g.stopAutoLoad(),yield g.load(t,n),p=!0,y=(t=>{const n=t=>{var n,o;t.storageArea===i&&t.key===l&&(n=()=>JSON.parse(t.newValue),e(void 0,null,(function*(){yield h((()=>e(void 0,null,(function*(){var t;if(o)a.setTransactionChanges(o());else try{a.setContent(null!=(t=null==n?void 0:n())?t:yield u())}catch(t){}}))))})))};return r.addEventListener(o,n),n})(),g})),stopAutoLoad:()=>{return p&&(t=y,r.removeEventListener(o,t),y=void 0,p=!1),g;var t},save:t=>e(void 0,null,(function*(){return 1!=f&&(f=2,yield(t=a.getContent,n(void 0,null,(function*(){return i.setItem(l,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))));var e}))),f=0),g;var t})),startAutoSave:()=>e(void 0,null,(function*(){return yield g.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((t,e)=>g.save(e))),g})),stopAutoSave:()=>{var t,e;return t=c,e=a.delListener,null==t||e(t),g},getStore:()=>a,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(a,(()=>n(void 0,null,(function*(){return JSON.parse(i.getItem(l))})))),l=(t,e)=>a(t,e,localStorage),i=(t,e)=>a(t,e,sessionStorage);export{l as createLocalPersister,i as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{readFile as t,writeFile as e}from"fs/promises";import{watch as n}from"fs";const o="utf8",r=Object.freeze;var l=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{a(n.next(t))}catch(t){r(t)}},i=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);a((n=n.apply(t,e)).next())})),i=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{a(n.next(t))}catch(t){r(t)}},i=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);a((n=n.apply(t,e)).next())}));const a=(a,u)=>((t,a,s,d,v)=>{let c,y,f=0,p=!1;const h=t=>l(void 0,null,(function*(){2!=f&&(f=1,yield t(),f=0)})),m={load:(...e)=>l(void 0,[...e],(function*(e={},n={}){return yield h((()=>l(void 0,null,(function*(){let o;try{o=yield a()}catch(t){}t.setContent(null!=o?o:[e,n])})))),m})),startAutoLoad:(...e)=>l(void 0,[...e],(function*(e={},o={}){return m.stopAutoLoad(),yield m.load(e,o),p=!0,r=(e,n)=>l(void 0,null,(function*(){yield h((()=>l(void 0,null,(function*(){var o;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield a())}catch(t){}}))))})),y=n(u,(()=>r())),m;var r})),stopAutoLoad:()=>{return p&&(null==(t=y)||t.close(),y=void 0,p=!1),m;var t},save:n=>l(void 0,null,(function*(){return 1!=f&&(f=2,yield(n=t.getContent,i(void 0,null,(function*(){try{yield e(u,(t=n(),JSON.stringify(t,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))),o)}catch(t){}var t}))),f=0),m;var n})),startAutoSave:()=>l(void 0,null,(function*(){return yield m.stopAutoSave().save(),c=t.addDidFinishTransactionListener(((t,e)=>m.save(e))),m})),stopAutoSave:()=>{var e,n;return e=c,n=t.delListener,null==e||n(e),m},getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(m)})(a,(()=>i(void 0,null,(function*(){return JSON.parse(yield t(u,o))}))));export{a as createFilePersister};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())})),o=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())}));const r=t=>t.headers.get("ETag"),l=(l,a,i,u)=>{let d;return((l,s,c,v,y)=>{let h,f,p=0,A=!1;const S=t=>n(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(...t)=>n(void 0,[...t],(function*(t={},e={}){return yield S((()=>n(void 0,null,(function*(){let n;try{n=yield s()}catch(t){}l.setContent(null!=n?n:[t,e])})))),g})),startAutoLoad:(...e)=>n(void 0,[...e],(function*(e={},i={}){return g.stopAutoLoad(),yield g.load(e,i),A=!0,c=(t,e)=>n(void 0,null,(function*(){yield S((()=>n(void 0,null,(function*(){var n;if(e)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield s())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=r(e);t(d)||t(n)||n==d||(d=n,c())}))),1e3*u),g;var c})),stopAutoLoad:()=>(A&&(clearInterval(f),f=void 0,A=!1),g),save:t=>n(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=l.getContent,o(void 0,null,(function*(){return yield fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var e}))),p=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),h=l.addDidFinishTransactionListener(((t,e)=>g.save(e))),g})),stopAutoSave:()=>{var e,n;return e=h,n=l.delListener,!!t(e)||n(e),g},getStore:()=>l,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(l,(()=>o(void 0,null,(function*(){const t=yield fetch(a);return d=r(t),JSON.parse(yield t.text())}))))};export{l as createRemotePersister};
|
|
Binary file
|
package/lib/es6/persister-yjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,r=(t,e,n)=>o(t)?null==n?void 0:n():e(t),l=Object,i=l.freeze,u=()=>({}),a=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),s=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var d=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const c=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var g=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const f="t",h="delete",y=t=>[t.get(f),t.get("v")],p=(e,n,r,l)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let v;return s(r,((t,e)=>{l(u,e,t)&&(v=1)})),u.forEach(((t,e)=>{a(r,e)||(u.delete(e),v=1)})),o(n)||u.size||e.delete(n),v},S=(l,a,S="tinybase")=>{const A=a.getMap(S);return((l,S,m,w,O)=>{let J,L,N=0,x=!1;const b=t=>d(void 0,null,(function*(){2!=N&&(N=1,yield t(),N=0)})),z={load:(...t)=>d(void 0,[...t],(function*(t={},e={}){return yield b((()=>d(void 0,null,(function*(){let n;try{n=yield S()}catch(t){}l.setContent(null!=n?n:[t,e])})))),z})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},o={}){return z.stopAutoLoad(),yield z.load(t,o),x=!0,L=(t=>{const o=t=>{return o=void 0,i=()=>((t,o)=>{if(1==e(o)&&(l=o[0].path,0==e(l)))return[t.get("t").toJSON(),t.get("v").toJSON()];var l;const[i,a]=y(t),s={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==f?r(n(t),(o=>{const l=v(s,o,u),a=i.get(o);r(n(t),(t=>{const n=v(l,t,u),o=a.get(t);c(e,((t,{action:e})=>n[t]=e==h?null:o.get(t)))}),(()=>c(e,((t,{action:e})=>{var n;return l[t]=e==h?null:null==(n=a.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return s[t]=e==h?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==h?null:a.get(t)))))})(o),[s,d]})(A,t),d(void 0,null,(function*(){yield b((()=>d(void 0,null,(function*(){var t;if(i)l.setTransactionChanges(i());else try{l.setContent(null!=(t=null==o?void 0:o())?t:yield S())}catch(t){}}))))}));var o,i};return A.observeDeep(o),o})(),z})),stopAutoLoad:()=>{return x&&(t=L,A.unobserveDeep(t),L=void 0,x=!1),z;var t},save:e=>d(void 0,null,(function*(){return 1!=N&&(N=2,yield((e,n)=>g(void 0,null,(function*(){return a.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(f,new t),e.set("v",new t))})(e);const[i,u]=y(e),a=()=>{v=1};let v=1;if(r(null==l?void 0:l(),(([t,e])=>{v=0,s(t,((t,e)=>v?0:o(t)?i.delete(e):r(i.get(e),(e=>s(t,((t,n)=>v?0:o(t)?e.delete(n):r(e.get(n),(e=>s(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),a)))),a))),s(e,((t,e)=>v?0:o(t)?u.delete(e):u.set(e,t)))})),v){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(A,e,n)))})))(l.getContent,e),N=0),z})),startAutoSave:()=>d(void 0,null,(function*(){return yield z.stopAutoSave().save(),J=l.addDidFinishTransactionListener(((t,e)=>z.save(e))),z})),stopAutoSave:()=>(r(J,l.delListener),z),getStore:()=>l,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(z)})(l,(()=>g(void 0,null,(function*(){return A.size?[A.get(f).toJSON(),A.get("v").toJSON()]:void 0}))))};export{S as createYjsPersister};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=t=>t.length,a=t=>null==t,e=(t,e,n)=>a(t)?n?.():e(t),n=Object,o=n.keys,s=n.freeze,c=(t,a)=>e(t,(t=>t[a])),r=(t,e)=>!a(c(t,e)),i=(t,a)=>delete t[a],d=(t,a)=>((t,a)=>t.map(a))(n.entries(t),(([t,e])=>a(e,t))),u=a=>{return(t=>t instanceof n&&t.constructor==n)(a)&&(e=o(a),0==t(e));var e},v=(t,a)=>[t[a].t,t[a].v],y=(t,e,n,o)=>{const s=a(e)?t:((t,a,e)=>(r(t,a)||(t[a]={}),t[a]))(t,e);let c;return d(n,((t,a)=>{o(s,a,t)&&(c=1)})),d(s,((t,a)=>{r(n,a)||(i(s,a),c=1)})),!a(e)&&u(s)&&i(t,e),c},l=(n,r,l="tinybase")=>(r.change((t=>t[l]={})),((t,n,o,g,h)=>{let p,w,A=0,L=!1;const S=async t=>{2!=A&&(A=1,await t(),A=0)},f={load:async(a={},e={})=>(await S((async()=>{let o;try{o=await n()}catch{}t.setContent(o??[a,e])})),f),startAutoLoad:async(a={},e={})=>(f.stopAutoLoad(),await f.load(a,e),L=!0,w=(a=>{const e=({doc:a})=>(async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))})((()=>v(a,l)));return r.on("change",e),e})(),f),stopAutoLoad:()=>{return L&&(t=w,r.removeListener("change",t),w=void 0,L=!1),f;var t},save:async n=>(1!=A&&(A=2,await(async(t,n)=>{r.change((o=>((t,n,o,s)=>{((t,a)=>{u(t[a])&&(t[a]={t:{},v:{}})})(t,n);const[r,l]=v(t,n),g=()=>{h=1};let h=1;if(e(s?.(),(([t,n])=>{h=0,d(t,((t,n)=>h?0:a(t)?i(r,n):e(r[n],(n=>d(t,((t,o)=>h?0:a(t)?i(n,o):e(c(n,o),(e=>d(t,((t,n)=>a(t)?i(e,n):e[n]=t))),g)))),g))),d(n,((t,e)=>h?0:a(t)?i(l,e):l[e]=t))})),h){const[t,a]=o();y(r,void 0,t,((t,a,e)=>y(r,a,e,((t,a,e)=>y(t,a,e,((t,a,e)=>{if(c(t,a)!==e)return t[a]=e,1})))))),y(l,void 0,a,((t,a,e)=>{c(l,a)!==e&&(l[a]=e)}))}})(o,l,t,n)))})(t.getContent,n),A=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,a)=>f.save(a))),f),stopAutoSave:()=>(e(p,t.delListener),f),getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(f)})(n,(async()=>2==t(o(r.doc[l]))?v(r.doc,l):void 0)));export{l as createAutomergePersister};
|
|
Binary file
|
package/lib/persister-browser.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=Object.freeze,a="storage",e=globalThis.window,s=(s,n,o)=>((s,r,i,c,u)=>{let d,v,y=0,l=!1;const g=async t=>{2!=y&&(y=1,await t(),y=0)},w={load:async(t={},a={})=>(await g((async()=>{let e;try{e=await r()}catch{}s.setContent(e??[t,a])})),w),startAutoLoad:async(t={},i={})=>(w.stopAutoLoad(),await w.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===o&&t.key===n&&(async(t,a)=>{await g((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await r())}catch{}}))})((()=>JSON.parse(t.newValue)))};return e.addEventListener(a,i),i})(),w),stopAutoLoad:()=>{return l&&(t=v,e.removeEventListener(a,t),v=void 0,l=!1),w;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return o.setItem(n,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(s.getContent),y=0),w),startAutoSave:async()=>(await w.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,a)=>w.save(a))),w),stopAutoSave:()=>{var t,a;return t=d,a=s.delListener,null==t||a(t),w},getStore:()=>s,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(w)})(s,(async()=>JSON.parse(o.getItem(n)))),n=(t,a)=>s(t,a,localStorage),o=(t,a)=>s(t,a,sessionStorage);export{n as createLocalPersister,o as createSessionPersister};
|
|
Binary file
|
package/lib/persister-file.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{readFile as t,writeFile as a}from"fs/promises";import{watch as e}from"fs";const s="utf8",o=Object.freeze,r=(r,n)=>((t,r,i,c,u)=>{let y,d,v=0,p=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},f={load:async(a={},e={})=>(await w((async()=>{let s;try{s=await r()}catch{}t.setContent(s??[a,e])})),f),startAutoLoad:async(a={},s={})=>{return f.stopAutoLoad(),await f.load(a,s),p=!0,o=async(a,e)=>{await w((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await r())}catch{}}))},d=e(n,(()=>o())),f;var o},stopAutoLoad:()=>{return p&&(t=d,t?.close(),d=void 0,p=!1),f;var t},save:async e=>(1!=v&&(v=2,await(async t=>{try{await a(n,(e=t(),JSON.stringify(e,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),s)}catch{}var e})(t.getContent),v=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,a)=>f.save(a))),f),stopAutoSave:()=>{var a,e;return a=y,e=t.delListener,null==a||e(a),f},getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(f)})(r,(async()=>JSON.parse(await t(n,s))));export{r as createFilePersister};
|
package/lib/persister-file.js.gz
DELETED
|
Binary file
|
package/lib/persister-remote.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag"),n=(n,s,o,r)=>{let c;return((n,i,d,u,y)=>{let v,l,p=0,w=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},A={load:async(t={},a={})=>(await h((async()=>{let e;try{e=await i()}catch{}n.setContent(e??[t,a])})),A),startAutoLoad:async(a={},o={})=>{return A.stopAutoLoad(),await A.load(a,o),w=!0,d=async(t,a)=>{await h((async()=>{if(a)n.setTransactionChanges(a());else try{n.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(s,{method:"HEAD"}),n=e(a);t(c)||t(n)||n==c||(c=n,d())}),1e3*r),A;var d},stopAutoLoad:()=>(w&&(clearInterval(l),l=void 0,w=!1),A),save:async t=>(1!=p&&(p=2,await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),n={},[...a].reduce(e,n)):a;var e,n})))});var a})(n.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=n.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=n.delListener,t(a)||e(a),A},getStore:()=>n,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(n,(async()=>{const t=await fetch(s);return c=e(t),JSON.parse(await t.text())}))};export{n as createRemotePersister};
|
|
Binary file
|
package/lib/persister-yjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=()=>({}),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),g=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),d=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),u="t",v="delete",y=t=>[t.get(u),t.get("v")],p=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c},h=(o,i,h="tinybase")=>{const S=i.getMap(h);return((o,h,w,f,A)=>{let O,J,L=0,N=!1;const b=async t=>{2!=L&&(L=1,await t(),L=0)},z={load:async(t={},e={})=>(await b((async()=>{let a;try{a=await h()}catch{}o.setContent(a??[t,e])})),z),startAutoLoad:async(t={},s={})=>(z.stopAutoLoad(),await z.load(t,s),N=!0,J=(t=>{const s=t=>(async(t,e)=>{await b((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await h())}catch{}}))})(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=y(t),l={},p={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==u?n(a(t),(s=>{const o=g(l,s,c),i=r.get(s);n(a(t),(t=>{const a=g(o,t,c),s=i.get(t);d(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>d(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>d(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):d(e,((t,{action:e})=>p[t]=e==v?null:i.get(t)))))})(s),[l,p]})(S,t)));return S.observeDeep(s),s})(),z),stopAutoLoad:()=>{return N&&(t=J,S.unobserveDeep(t),J=void 0,N=!1),z;var t},save:async e=>(1!=L&&(L=2,await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(u,new t),e.set("v",new t))})(e);const[r,c]=y(e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>g?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>g?0:s(t)?c.delete(e):c.set(e,t)))})),g){const[t,e]=a();p(r,void 0,t,((t,e,a)=>p(r,e,a,((t,e,a)=>p(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),p(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(S,e,a))))(o.getContent,e),L=0),z),startAutoSave:async()=>(await z.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>z.save(e))),z),stopAutoSave:()=>(n(O,o.delListener),z),getStore:()=>o,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(z)})(o,(async()=>S.size?[S.get(u).toJSON(),S.get("v").toJSON()]:void 0))};export{h as createYjsPersister};
|
package/lib/persister-yjs.js.gz
DELETED
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>t.length,a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),o=Object,s=o.keys,r=o.freeze,i=(t,e)=>n(t,(t=>t[e])),c=(t,e)=>!a(i(t,e)),d=(t,e)=>delete t[e],u=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),y=t=>{return(t=>t instanceof o&&t.constructor==o)(t)&&(a=s(t),0==e(a));var a},l=(t,e)=>[t[e].t,t[e].v],f=(t,e,n,o)=>{const s=a(e)?t:((t,e,a)=>(c(t,e)||(t[e]={}),t[e]))(t,e);let r;return u(n,((t,e)=>{o(s,e,t)&&(r=1)})),u(s,((t,e)=>{c(n,e)||(d(s,e),r=1)})),!a(e)&&y(s)&&d(t,e),r};t.createAutomergePersister=(t,o,c="tinybase")=>(o.change((t=>t[c]={})),((t,e,s,v,p)=>{let g,h,A=0,w=!1;const L=async t=>{2!=A&&(A=1,await t(),A=0)},m={load:async(a={},n={})=>(await L((async()=>{let o;try{o=await e()}catch{}t.setContent(o??[a,n])})),m),startAutoLoad:async(a={},n={})=>(m.stopAutoLoad(),await m.load(a,n),w=!0,h=(a=>{const n=({doc:a})=>(async(a,n)=>{await L((async()=>{if(n)t.setTransactionChanges(n());else try{t.setContent(a?.()??await e())}catch{}}))})((()=>l(a,c)));return o.on("change",n),n})(),m),stopAutoLoad:()=>{return w&&(t=h,o.removeListener("change",t),h=void 0,w=!1),m;var t},save:async e=>(1!=A&&(A=2,await(async(t,e)=>{o.change((o=>((t,e,o,s)=>{((t,e)=>{y(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[r,c]=l(t,e),v=()=>{p=1};let p=1;if(n(s?.(),(([t,e])=>{p=0,u(t,((t,e)=>p?0:a(t)?d(r,e):n(r[e],(e=>u(t,((t,o)=>p?0:a(t)?d(e,o):n(i(e,o),(e=>u(t,((t,n)=>a(t)?d(e,n):e[n]=t))),v)))),v))),u(e,((t,e)=>p?0:a(t)?d(c,e):c[e]=t))})),p){const[t,e]=o();f(r,void 0,t,((t,e,a)=>f(r,e,a,((t,e,a)=>f(t,e,a,((t,e,a)=>{if(i(t,e)!==a)return t[e]=a,1})))))),f(c,void 0,e,((t,e,a)=>{i(c,e)!==a&&(c[e]=a)}))}})(o,c,t,e)))})(t.getContent,e),A=0),m),startAutoSave:async()=>(await m.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,e)=>m.save(e))),m),stopAutoSave:()=>(n(g,t.delListener),m),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(m)})(t,(async()=>2==e(s(o.doc[c]))?l(o.doc,c):void 0)))},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=Object.freeze,a="storage",s=globalThis.window,n=(e,n,o)=>((e,r,i,c,d)=>{let u,l,y=0,f=!1;const p=async e=>{2!=y&&(y=1,await e(),y=0)},v={load:async(t={},a={})=>(await p((async()=>{let s;try{s=await r()}catch{}e.setContent(s??[t,a])})),v),startAutoLoad:async(t={},i={})=>(v.stopAutoLoad(),await v.load(t,i),f=!0,l=(t=>{const i=t=>{t.storageArea===o&&t.key===n&&(async(t,a)=>{await p((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await r())}catch{}}))})((()=>JSON.parse(t.newValue)))};return s.addEventListener(a,i),i})(),v),stopAutoLoad:()=>{return f&&(e=l,s.removeEventListener(a,e),l=void 0,f=!1),v;var e},save:async t=>(1!=y&&(y=2,await(async e=>{return o.setItem(n,(t=e(),JSON.stringify(t,((e,t)=>{return t instanceof Map?(a=(e,[t,a])=>(e[t]=a,e),s={},[...t].reduce(a,s)):t;var a,s}))));var t})(e.getContent),y=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,t)=>v.save(t))),v),stopAutoSave:()=>{var t,a;return t=u,a=e.delListener,null==t||a(t),v},getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(v)})(e,(async()=>JSON.parse(o.getItem(n))));e.createLocalPersister=(e,t)=>n(e,t,localStorage),e.createSessionPersister=(e,t)=>n(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e,a){"use strict";const s="utf8",r=Object.freeze;t.createFilePersister=(t,o)=>((t,n,i,c,u)=>{let d,f,y=0,l=!1;const p=async t=>{2!=y&&(y=1,await t(),y=0)},v={load:async(e={},a={})=>(await p((async()=>{let s;try{s=await n()}catch{}t.setContent(s??[e,a])})),v),startAutoLoad:async(e={},s={})=>{return v.stopAutoLoad(),await v.load(e,s),l=!0,r=async(e,a)=>{await p((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await n())}catch{}}))},f=a.watch(o,(()=>r())),v;var r},stopAutoLoad:()=>{return l&&(t=f,t?.close(),f=void 0,l=!1),v;var t},save:async a=>(1!=y&&(y=2,await(async t=>{try{await e.writeFile(o,(a=t(),JSON.stringify(a,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))),s)}catch{}var a})(t.getContent),y=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>v.save(e))),v),stopAutoSave:()=>{var e,a;return e=d,a=t.delListener,null==e||a(e),v},getStore:()=>t,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(v)})(t,(async()=>JSON.parse(await e.readFile(o,s))))},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("fs/promises"),require("fs")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterFile={},t["fs/promises"],t.fs);
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=Object.freeze,s=t=>t.headers.get("ETag");t.createRemotePersister=(t,n,o,r)=>{let i;return((t,c,d,u,y)=>{let f,l,p=0,v=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},w={load:async(e={},a={})=>(await h((async()=>{let s;try{s=await c()}catch{}t.setContent(s??[e,a])})),w),startAutoLoad:async(a={},o={})=>{return w.stopAutoLoad(),await w.load(a,o),v=!0,d=async(e,a)=>{await h((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await c())}catch{}}))},l=setInterval((async()=>{const t=await fetch(n,{method:"HEAD"}),a=s(t);e(i)||e(a)||a==i||(i=a,d())}),1e3*r),w;var d},stopAutoLoad:()=>(v&&(clearInterval(l),l=void 0,v=!1),w),save:async e=>(1!=p&&(p=2,await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s})))});var e})(t.getContent),p=0),w),startAutoSave:async()=>(await w.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>w.save(e))),w),stopAutoSave:()=>{var a,s;return a=f,s=t.delListener,e(a)||s(a),w},getStore:()=>t,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(w)})(t,(async()=>{const t=await fetch(n);return i=s(t),JSON.parse(await t.text())}))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
|
|
Binary file
|
package/lib/umd/persister-yjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e){"use strict";const s=t=>t.length,a=t=>t.shift(),n=t=>null==t,o=(t,e,s)=>n(t)?s?.():e(t),i=Object,r=i.freeze,c=()=>({}),d=(t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(i.entries(t),(([t,s])=>e(s,t))),u=(t,e,s)=>(d(t,e)||(t[e]=s()),t[e]),g=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),y="t",p="delete",f=t=>[t.get(y),t.get("v")],v=(t,s,a,o)=>{const i=n(s)?t:t.get(s)??t.set(s,new e.Map);let r;return l(a,((t,e)=>{o(i,e,t)&&(r=1)})),i.forEach(((t,e)=>{d(a,e)||(i.delete(e),r=1)})),n(s)||i.size||t.delete(s),r};t.createYjsPersister=(t,i,d="tinybase")=>{const h=i.getMap(d);return((t,d,S,w,A)=>{let b,j,O=0,J=!1;const L=async t=>{2!=O&&(O=1,await t(),O=0)},N={load:async(e={},s={})=>(await L((async()=>{let a;try{a=await d()}catch{}t.setContent(a??[e,s])})),N),startAutoLoad:async(e={},n={})=>(N.stopAutoLoad(),await N.load(e,n),J=!0,j=(e=>{const n=e=>(async(e,s)=>{await L((async()=>{if(s)t.setTransactionChanges(s());else try{t.setContent(e?.()??await d())}catch{}}))})(void 0,(()=>((t,e)=>{if(1==s(e)&&(n=e[0].path,0==s(n)))return[t.get("t").toJSON(),t.get("v").toJSON()];var n;const[i,r]=f(t),d={},l={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==y?o(a(t),(s=>{const n=u(d,s,c),r=i.get(s);o(a(t),(t=>{const s=u(n,t,c),a=r.get(t);g(e,((t,{action:e})=>s[t]=e==p?null:a.get(t)))}),(()=>g(e,((t,{action:e})=>n[t]=e==p?null:r.get(t)?.toJSON()))))}),(()=>g(e,((t,{action:e})=>d[t]=e==p?null:i.get(t)?.toJSON())))):g(e,((t,{action:e})=>l[t]=e==p?null:r.get(t)))))})(e),[d,l]})(h,e)));return h.observeDeep(n),n})(),N),stopAutoLoad:()=>{return J&&(t=j,h.unobserveDeep(t),j=void 0,J=!1),N;var t},save:async s=>(1!=O&&(O=2,await(async(t,s)=>i.transact((()=>((t,s,a)=>{(t=>{t.size||(t.set(y,new e.Map),t.set("v",new e.Map))})(t);const[i,r]=f(t),c=()=>{d=1};let d=1;if(o(a?.(),(([t,e])=>{d=0,l(t,((t,e)=>d?0:n(t)?i.delete(e):o(i.get(e),(e=>l(t,((t,s)=>d?0:n(t)?e.delete(s):o(e.get(s),(e=>l(t,((t,s)=>n(t)?e.delete(s):e.set(s,t)))),c)))),c))),l(e,((t,e)=>d?0:n(t)?r.delete(e):r.set(e,t)))})),d){const[t,e]=s();v(i,void 0,t,((t,e,s)=>v(i,e,s,((t,e,s)=>v(t,e,s,((t,e,s)=>{if(t.get(e)!==s)return t.set(e,s),1})))))),v(r,void 0,e,((t,e,s)=>{r.get(e)!==s&&r.set(e,s)}))}})(h,t,s))))(t.getContent,s),O=0),N),startAutoSave:async()=>(await N.stopAutoSave().save(),b=t.addDidFinishTransactionListener(((t,e)=>N.save(e))),N),stopAutoSave:()=>(o(b,t.delListener),N),getStore:()=>t,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(N)})(t,(async()=>h.size?[h.get(y).toJSON(),h.get("v").toJSON()]:void 0))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterYjs={},t.yjs);
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>e.length,n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),r=Object,i=r.keys,l=r.freeze,u=(e,t)=>o(e,(e=>e[t])),s=(e,t)=>!n(u(e,t)),a=(e,t)=>delete e[t],d=(e,t)=>((e,t)=>e.map(t))(r.entries(e),(([e,n])=>t(n,e))),c=e=>{return(e=>e instanceof r&&e.constructor==r)(e)&&(n=i(e),0==t(n));var n};var v=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{u(n.next(e))}catch(e){r(e)}},l=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())})),f=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{u(n.next(e))}catch(e){r(e)}},l=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())}));const y=(e,t)=>[e[t].t,e[t].v],h=(e,t,o,r)=>{const i=n(t)?e:((e,t,n)=>(s(e,t)||(e[t]={}),e[t]))(e,t);let l;return d(o,((e,t)=>{r(i,t,e)&&(l=1)})),d(i,((e,t)=>{s(o,t)||(a(i,t),l=1)})),!n(t)&&c(i)&&a(e,t),l};e.createAutomergePersister=(e,r,s="tinybase")=>(r.change((e=>e[s]={})),((e,t,i,p,g)=>{let m,A,x=0,L=!1;const P=e=>v(void 0,null,(function*(){2!=x&&(x=1,yield e(),x=0)})),S={load:(...n)=>v(void 0,[...n],(function*(n={},o={}){return yield P((()=>v(void 0,null,(function*(){let r;try{r=yield t()}catch(e){}e.setContent(null!=r?r:[n,o])})))),S})),startAutoLoad:(...n)=>v(void 0,[...n],(function*(n={},o={}){return S.stopAutoLoad(),yield S.load(n,o),L=!0,A=(n=>{const o=({doc:n})=>{return o=()=>y(n,s),v(void 0,null,(function*(){yield P((()=>v(void 0,null,(function*(){var n;if(r)e.setTransactionChanges(r());else try{e.setContent(null!=(n=null==o?void 0:o())?n:yield t())}catch(e){}}))))}));var o,r};return r.on("change",o),o})(),S})),stopAutoLoad:()=>{return L&&(e=A,r.removeListener("change",e),A=void 0,L=!1),S;var e},save:t=>v(void 0,null,(function*(){return 1!=x&&(x=2,yield((e,t)=>f(void 0,null,(function*(){r.change((r=>((e,t,r,i)=>{((e,t)=>{c(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[l,s]=y(e,t),v=()=>{f=1};let f=1;if(o(null==i?void 0:i(),(([e,t])=>{f=0,d(e,((e,t)=>f?0:n(e)?a(l,t):o(l[t],(t=>d(e,((e,r)=>f?0:n(e)?a(t,r):o(u(t,r),(t=>d(e,((e,o)=>n(e)?a(t,o):t[o]=e))),v)))),v))),d(t,((e,t)=>f?0:n(e)?a(s,t):s[t]=e))})),f){const[e,t]=r();h(l,void 0,e,((e,t,n)=>h(l,t,n,((e,t,n)=>h(e,t,n,((e,t,n)=>{if(u(e,t)!==n)return e[t]=n,1})))))),h(s,void 0,t,((e,t,n)=>{u(s,t)!==n&&(s[t]=n)}))}})(r,s,e,t)))})))(e.getContent,t),x=0),S})),startAutoSave:()=>v(void 0,null,(function*(){return yield S.stopAutoSave().save(),m=e.addDidFinishTransactionListener(((e,t)=>S.save(t))),S})),stopAutoSave:()=>(o(m,e.delListener),S),getStore:()=>e,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(S)})(e,(()=>f(void 0,null,(function*(){return 2==t(i(r.doc[s]))?y(r.doc,s):void 0})))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=Object.freeze;var n=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())})),o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())}));const r="storage",i=globalThis.window,a=(e,a,s)=>((e,l,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>n(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),g={load:(...t)=>n(void 0,[...t],(function*(t={},o={}){return yield h((()=>n(void 0,null,(function*(){let n;try{n=yield l()}catch(e){}e.setContent(null!=n?n:[t,o])})))),g})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},o={}){return g.stopAutoLoad(),yield g.load(t,o),p=!0,f=(t=>{const o=t=>{var o,r;t.storageArea===s&&t.key===a&&(o=()=>JSON.parse(t.newValue),n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var t;if(r)e.setTransactionChanges(r());else try{e.setContent(null!=(t=null==o?void 0:o())?t:yield l())}catch(e){}}))))})))};return i.addEventListener(r,o),o})(),g})),stopAutoLoad:()=>{return p&&(e=f,i.removeEventListener(r,e),f=void 0,p=!1),g;var e},save:t=>n(void 0,null,(function*(){return 1!=y&&(y=2,yield(t=e.getContent,o(void 0,null,(function*(){return s.setItem(a,(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))));var e}))),y=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>g.save(t))),g})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,null==t||n(t),g},getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(e,(()=>o(void 0,null,(function*(){return JSON.parse(s.getItem(a))}))));e.createLocalPersister=(e,t)=>a(e,t,localStorage),e.createSessionPersister=(e,t)=>a(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",r=Object.freeze;var i=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())})),l=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,s)=>((e,a,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>i(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),m={load:(...t)=>i(void 0,[...t],(function*(t={},n={}){return yield h((()=>i(void 0,null,(function*(){let o;try{o=yield a()}catch(e){}e.setContent(null!=o?o:[t,n])})))),m})),startAutoLoad:(...t)=>i(void 0,[...t],(function*(t={},o={}){return m.stopAutoLoad(),yield m.load(t,o),p=!0,r=(t,n)=>i(void 0,null,(function*(){yield h((()=>i(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield a())}catch(e){}}))))})),f=n.watch(s,(()=>r())),m;var r})),stopAutoLoad:()=>{return p&&(null==(e=f)||e.close(),f=void 0,p=!1),m;var e},save:n=>i(void 0,null,(function*(){return 1!=y&&(y=2,yield(n=e.getContent,l(void 0,null,(function*(){try{yield t.writeFile(s,(e=n(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))),o)}catch(e){}var e}))),y=0),m;var n})),startAutoSave:()=>i(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>m.save(t))),m})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,null==t||n(t),m},getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(m)})(e,(()=>l(void 0,null,(function*(){return JSON.parse(yield t.readFile(s,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs/promises"),require("fs")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e["fs/promises"],e.fs);
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=Object.freeze;var o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())})),r=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())}));const i=e=>e.headers.get("ETag");e.createRemotePersister=(e,l,a,s)=>{let d;return((e,u,c,v,f)=>{let y,h,p=0,m=!1;const g=e=>o(void 0,null,(function*(){2!=p&&(p=1,yield e(),p=0)})),A={load:(...t)=>o(void 0,[...t],(function*(t={},n={}){return yield g((()=>o(void 0,null,(function*(){let o;try{o=yield u()}catch(e){}e.setContent(null!=o?o:[t,n])})))),A})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},a={}){return A.stopAutoLoad(),yield A.load(n,a),m=!0,c=(t,n)=>o(void 0,null,(function*(){yield g((()=>o(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield u())}catch(e){}}))))})),h=setInterval((()=>r(void 0,null,(function*(){const e=yield fetch(l,{method:"HEAD"}),n=i(e);t(d)||t(n)||n==d||(d=n,c())}))),1e3*s),A;var c})),stopAutoLoad:()=>(m&&(clearInterval(h),h=void 0,m=!1),A),save:t=>o(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=e.getContent,r(void 0,null,(function*(){return yield fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o})))});var e}))),p=0),A;var t})),startAutoSave:()=>o(void 0,null,(function*(){return yield A.stopAutoSave().save(),y=e.addDidFinishTransactionListener(((e,t)=>A.save(t))),A})),stopAutoSave:()=>{var n,o;return n=y,o=e.delListener,!!t(n)||o(n),A},getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(A)})(e,(()=>r(void 0,null,(function*(){const e=yield fetch(l);return d=i(e),JSON.parse(yield e.text())}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=Object,s=i.freeze,a=()=>({}),u=(e,t)=>!r(((e,t)=>l(e,(e=>e[t])))(e,t)),d=(e,t)=>((e,t)=>e.map(t))(i.entries(e),(([e,n])=>t(n,e))),v=(e,t,n)=>(u(e,t)||(e[t]=n()),e[t]);var c=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const f=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var y=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const g="t",p="delete",h=e=>[e.get(g),e.get("v")],S=(e,n,o,l)=>{var i;const s=r(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let a;return d(o,((e,t)=>{l(s,t,e)&&(a=1)})),s.forEach(((e,t)=>{u(o,t)||(s.delete(t),a=1)})),r(n)||s.size||e.delete(n),a};e.createYjsPersister=(e,i,u="tinybase")=>{const A=i.getMap(u);return((e,u,b,j,m)=>{let w,x,O=0,J=!1;const L=e=>c(void 0,null,(function*(){2!=O&&(O=1,yield e(),O=0)})),N={load:(...t)=>c(void 0,[...t],(function*(t={},n={}){return yield L((()=>c(void 0,null,(function*(){let o;try{o=yield u()}catch(e){}e.setContent(null!=o?o:[t,n])})))),N})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},r={}){return N.stopAutoLoad(),yield N.load(t,r),J=!0,x=(t=>{const r=t=>{return r=void 0,i=()=>((e,t)=>{if(1==n(t)&&(r=t[0].path,0==n(r)))return[e.get("t").toJSON(),e.get("v").toJSON()];var r;const[i,s]=h(e),u={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==g?l(o(e),(n=>{const r=v(u,n,a),s=i.get(n);l(o(e),(e=>{const n=v(r,e,a),o=s.get(e);f(t,((e,{action:t})=>n[e]=t==p?null:o.get(e)))}),(()=>f(t,((e,{action:t})=>{var n;return r[e]=t==p?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>f(t,((e,{action:t})=>{var n;return u[e]=t==p?null:null==(n=i.get(e))?void 0:n.toJSON()})))):f(t,((e,{action:t})=>d[e]=t==p?null:s.get(e)))))})(t),[u,d]})(A,t),c(void 0,null,(function*(){yield L((()=>c(void 0,null,(function*(){var t;if(i)e.setTransactionChanges(i());else try{e.setContent(null!=(t=null==r?void 0:r())?t:yield u())}catch(e){}}))))}));var r,i};return A.observeDeep(r),r})(),N})),stopAutoLoad:()=>{return J&&(e=x,A.unobserveDeep(e),x=void 0,J=!1),N;var e},save:n=>c(void 0,null,(function*(){return 1!=O&&(O=2,yield((e,n)=>y(void 0,null,(function*(){return i.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=h(e),a=()=>{u=1};let u=1;if(l(null==o?void 0:o(),(([e,t])=>{u=0,d(e,((e,t)=>u?0:r(e)?i.delete(t):l(i.get(t),(t=>d(e,((e,n)=>u?0:r(e)?t.delete(n):l(t.get(n),(t=>d(e,((e,n)=>r(e)?t.delete(n):t.set(n,e)))),a)))),a))),d(t,((e,t)=>u?0:r(e)?s.delete(t):s.set(t,e)))})),u){const[e,t]=n();S(i,void 0,e,((e,t,n)=>S(i,t,n,((e,t,n)=>S(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),S(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(A,e,n)))})))(e.getContent,n),O=0),N})),startAutoSave:()=>c(void 0,null,(function*(){return yield N.stopAutoSave().save(),w=e.addDidFinishTransactionListener(((e,t)=>N.save(t))),N})),stopAutoSave:()=>(l(w,e.delListener),N),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(N)})(e,(()=>y(void 0,null,(function*(){return A.size?[A.get(g).toJSON(),A.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
|
|
Binary file
|