tinybase 6.0.0-beta.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/_internal/queries/with-schemas/index.d.cts +6 -6
- package/@types/_internal/queries/with-schemas/index.d.ts +6 -6
- package/@types/_internal/store/with-schemas/index.d.cts +1 -1
- package/@types/_internal/store/with-schemas/index.d.ts +1 -1
- package/@types/_internal/ui-react/with-schemas/index.d.cts +13 -13
- package/@types/_internal/ui-react/with-schemas/index.d.ts +13 -13
- package/@types/checkpoints/index.d.cts +0 -1
- package/@types/checkpoints/index.d.ts +0 -1
- package/@types/checkpoints/with-schemas/index.d.cts +0 -1
- package/@types/checkpoints/with-schemas/index.d.ts +0 -1
- package/@types/indexes/index.d.cts +1 -2
- package/@types/indexes/index.d.ts +1 -2
- package/@types/indexes/with-schemas/index.d.cts +6 -7
- package/@types/indexes/with-schemas/index.d.ts +6 -7
- package/@types/mergeable-store/index.d.cts +1 -2
- package/@types/mergeable-store/index.d.ts +1 -2
- package/@types/mergeable-store/with-schemas/index.d.cts +1 -2
- package/@types/mergeable-store/with-schemas/index.d.ts +1 -2
- package/@types/metrics/index.d.cts +1 -2
- package/@types/metrics/index.d.ts +1 -2
- package/@types/metrics/with-schemas/index.d.cts +1 -2
- package/@types/metrics/with-schemas/index.d.ts +1 -2
- package/@types/persisters/index.d.cts +22 -23
- package/@types/persisters/index.d.ts +22 -23
- package/@types/persisters/persister-automerge/index.d.cts +6 -7
- package/@types/persisters/persister-automerge/index.d.ts +6 -7
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-browser/index.d.cts +5 -6
- package/@types/persisters/persister-browser/index.d.ts +5 -6
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +7 -8
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +7 -8
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-durable-object-storage/index.d.cts +5 -6
- package/@types/persisters/persister-durable-object-storage/index.d.ts +5 -6
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +5 -6
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +5 -6
- package/@types/persisters/persister-electric-sql/index.d.cts +7 -8
- package/@types/persisters/persister-electric-sql/index.d.ts +7 -8
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-expo-sqlite/index.d.cts +8 -9
- package/@types/persisters/persister-expo-sqlite/index.d.ts +8 -9
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-file/index.d.cts +3 -4
- package/@types/persisters/persister-file/index.d.ts +3 -4
- package/@types/persisters/persister-file/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -4
- package/@types/persisters/persister-indexed-db/index.d.cts +3 -4
- package/@types/persisters/persister-indexed-db/index.d.ts +3 -4
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +2 -3
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -3
- package/@types/persisters/persister-libsql/index.d.cts +4 -5
- package/@types/persisters/persister-libsql/index.d.ts +4 -5
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +7 -8
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -8
- package/@types/persisters/persister-partykit-client/index.d.cts +4 -5
- package/@types/persisters/persister-partykit-client/index.d.ts +4 -5
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -4
- package/@types/persisters/persister-partykit-server/index.d.cts +1 -2
- package/@types/persisters/persister-partykit-server/index.d.ts +1 -2
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +1 -2
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +1 -2
- package/@types/persisters/persister-pglite/index.d.cts +5 -6
- package/@types/persisters/persister-pglite/index.d.ts +5 -6
- package/@types/persisters/persister-pglite/with-schemas/index.d.cts +8 -9
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +8 -9
- package/@types/persisters/persister-postgres/index.d.cts +8 -9
- package/@types/persisters/persister-postgres/index.d.ts +8 -9
- package/@types/persisters/persister-postgres/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-powersync/index.d.cts +7 -8
- package/@types/persisters/persister-powersync/index.d.ts +7 -8
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +10 -11
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +10 -11
- package/@types/persisters/persister-remote/index.d.cts +3 -4
- package/@types/persisters/persister-remote/index.d.ts +3 -4
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +2 -3
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -3
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +7 -8
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +7 -8
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +11 -12
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +11 -12
- package/@types/persisters/persister-sqlite3/index.d.cts +5 -6
- package/@types/persisters/persister-sqlite3/index.d.ts +5 -6
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +8 -9
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +8 -9
- package/@types/persisters/persister-yjs/index.d.cts +4 -5
- package/@types/persisters/persister-yjs/index.d.ts +4 -5
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +3 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -4
- package/@types/persisters/with-schemas/index.d.cts +26 -27
- package/@types/persisters/with-schemas/index.d.ts +26 -27
- package/@types/queries/index.d.cts +1 -2
- package/@types/queries/index.d.ts +1 -2
- package/@types/queries/with-schemas/index.d.cts +10 -11
- package/@types/queries/with-schemas/index.d.ts +10 -11
- package/@types/relationships/index.d.cts +25 -2
- package/@types/relationships/index.d.ts +25 -2
- package/@types/relationships/with-schemas/index.d.cts +25 -2
- package/@types/relationships/with-schemas/index.d.ts +25 -2
- package/@types/store/index.d.cts +1 -2
- package/@types/store/index.d.ts +1 -2
- package/@types/store/with-schemas/index.d.cts +0 -1
- package/@types/store/with-schemas/index.d.ts +0 -1
- package/@types/synchronizers/index.d.cts +6 -7
- package/@types/synchronizers/index.d.ts +6 -7
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +3 -4
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -4
- package/@types/synchronizers/synchronizer-local/index.d.cts +2 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -3
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +5 -6
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -6
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +29 -30
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +29 -30
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +33 -34
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +33 -34
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +8 -9
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +8 -9
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.cts +4 -5
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +4 -5
- package/@types/synchronizers/with-schemas/index.d.cts +10 -11
- package/@types/synchronizers/with-schemas/index.d.ts +10 -11
- package/@types/ui-react/index.d.cts +489 -490
- package/@types/ui-react/index.d.ts +489 -490
- package/@types/ui-react/with-schemas/index.d.cts +494 -495
- package/@types/ui-react/with-schemas/index.d.ts +494 -495
- package/@types/ui-react-dom/index.d.cts +39 -40
- package/@types/ui-react-dom/index.d.ts +39 -40
- package/@types/ui-react-dom/with-schemas/index.d.cts +39 -40
- package/@types/ui-react-dom/with-schemas/index.d.ts +39 -40
- package/@types/ui-react-inspector/index.d.cts +2 -3
- package/@types/ui-react-inspector/index.d.ts +2 -3
- package/@types/ui-react-inspector/with-schemas/index.d.cts +41 -42
- package/@types/ui-react-inspector/with-schemas/index.d.ts +41 -42
- package/checkpoints/index.js +9 -9
- package/checkpoints/with-schemas/index.js +9 -9
- package/index.js +110 -110
- package/indexes/index.js +3 -3
- package/indexes/with-schemas/index.js +3 -3
- package/mergeable-store/index.js +150 -150
- package/mergeable-store/with-schemas/index.js +150 -150
- package/metrics/index.js +3 -3
- package/metrics/with-schemas/index.js +3 -3
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +6 -6
- package/persisters/index.js +120 -120
- package/persisters/persister-automerge/index.js +8 -8
- package/persisters/persister-automerge/with-schemas/index.js +8 -8
- package/persisters/persister-browser/index.js +8 -8
- package/persisters/persister-browser/with-schemas/index.js +8 -8
- package/persisters/persister-cr-sqlite-wasm/index.js +119 -119
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +119 -119
- package/persisters/persister-durable-object-storage/index.js +12 -12
- package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -12
- package/persisters/persister-electric-sql/index.js +119 -119
- package/persisters/persister-electric-sql/with-schemas/index.js +119 -119
- package/persisters/persister-expo-sqlite/index.js +119 -119
- package/persisters/persister-expo-sqlite/with-schemas/index.js +119 -119
- package/persisters/persister-file/index.js +10 -10
- package/persisters/persister-file/with-schemas/index.js +10 -10
- package/persisters/persister-indexed-db/index.js +8 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +8 -8
- package/persisters/persister-libsql/index.js +119 -119
- package/persisters/persister-libsql/with-schemas/index.js +119 -119
- package/persisters/persister-partykit-client/index.js +23 -23
- package/persisters/persister-partykit-client/with-schemas/index.js +23 -23
- package/persisters/persister-partykit-server/index.js +13 -9
- package/persisters/persister-partykit-server/with-schemas/index.js +13 -9
- package/persisters/persister-pglite/index.js +128 -128
- package/persisters/persister-pglite/with-schemas/index.js +128 -128
- package/persisters/persister-postgres/index.js +128 -128
- package/persisters/persister-postgres/with-schemas/index.js +128 -128
- package/persisters/persister-powersync/index.js +119 -119
- package/persisters/persister-powersync/with-schemas/index.js +119 -119
- package/persisters/persister-remote/index.js +8 -8
- package/persisters/persister-remote/with-schemas/index.js +8 -8
- package/persisters/persister-sqlite-wasm/index.js +119 -119
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +119 -119
- package/persisters/persister-sqlite3/index.js +119 -119
- package/persisters/persister-sqlite3/with-schemas/index.js +119 -119
- package/persisters/persister-yjs/index.js +14 -14
- package/persisters/persister-yjs/with-schemas/index.js +14 -14
- package/persisters/with-schemas/index.js +120 -120
- package/queries/index.js +16 -16
- package/queries/with-schemas/index.js +16 -16
- package/readme.md +13 -32
- package/relationships/index.js +3 -3
- package/relationships/with-schemas/index.js +3 -3
- package/releases.md +35 -34
- package/store/index.js +43 -43
- package/store/with-schemas/index.js +43 -43
- package/synchronizers/index.js +31 -31
- package/synchronizers/synchronizer-broadcast-channel/index.js +31 -31
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +31 -31
- package/synchronizers/synchronizer-local/index.js +31 -31
- package/synchronizers/synchronizer-local/with-schemas/index.js +31 -31
- package/synchronizers/synchronizer-ws-client/index.js +25 -25
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -25
- package/synchronizers/synchronizer-ws-server/index.js +65 -65
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +65 -65
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +25 -25
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +25 -25
- package/synchronizers/synchronizer-ws-server-simple/index.js +3 -3
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +3 -3
- package/synchronizers/with-schemas/index.js +31 -31
- package/ui-react/index.js +31 -34
- package/ui-react/with-schemas/index.js +31 -34
- package/ui-react-dom/index.js +24 -24
- package/ui-react-dom/with-schemas/index.js +24 -24
- package/ui-react-inspector/index.js +3066 -3067
- package/ui-react-inspector/with-schemas/index.js +3066 -3067
- package/with-schemas/index.js +110 -110
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,e="",a=t(e),s="message",n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=e=>t(e)==a,i=t=>Array.isArray(t),c=t=>t.length,d=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),l=(t,...e)=>t.push(...e),u=t=>t.shift(),g=Object,h=t=>g.getPrototypeOf(t),p=g.keys,v=g.freeze,w=t=>(t=>!n(t)&&o(h(t),(t=>t==g.prototype||n(h(t))),(()=>!0)))(t)&&0==(t=>c(p(t)))(t),f=JSON.stringify,S=JSON.parse,C=t=>f(t,((t,e)=>e instanceof Map?g.fromEntries([...e]):e)),A=
|
|
1
|
+
const t=t=>typeof t,e="",a=t(e),s="message",n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=e=>t(e)==a,i=t=>Array.isArray(t),c=t=>t.length,d=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),l=(t,...e)=>t.push(...e),u=t=>t.shift(),g=Object,h=t=>g.getPrototypeOf(t),p=g.keys,v=g.freeze,w=t=>(t=>!n(t)&&o(h(t),(t=>t==g.prototype||n(h(t))),(()=>!0)))(t)&&0==(t=>c(p(t)))(t),f=JSON.stringify,S=JSON.parse,C=t=>f(t,((t,e)=>e instanceof Map?g.fromEntries([...e]):e)),A=t=>n(t)||0==(t=>t?.size??0)(t),L=(t,e)=>t?.forEach(e),b=(t,e)=>t?.delete(e),m=t=>new Map(t),M=(t,e)=>t?.get(e),P=(t,e,a)=>n(a)?(b(t,e),t):t?.set(e,a),E=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(M(t,e)):P(t,e,a()),M(t,e)},O=(t,e,a,s,n=0)=>o((a?E:M)(t,e[n],n>c(e)-2?a:m),(o=>{if(n>c(e)-2)return s?.(o)&&P(t,e[n]),o;const r=O(o,e,a,s,n+1);return A(o)&&P(t,e[n]),r})),T=/^\d+$/,j=t=>new Set(i(t)||n(t)?t:[t]),k=m(),x=m(),z=(t,a,s,r,g,h,p,f={},S=0,C=[])=>{let z,D,J,N=0,F=0,U=0;E(k,C,(()=>0)),E(x,C,(()=>[]));const W=m(),[$,q,B,G,H]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!w(t)||!w(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:d("Store type not supported by this Persister"))(p,t,S),[I,K,Q]=(()=>{let t;const[a,s]=(()=>{const t=[];let a=0;return[s=>(s?u(t):null)??e+a++,e=>{T.test(e)&&c(t)<1e3&&l(t,e)}]})(),r=m();return[(s,n,o,i=[],c=()=>[])=>{t??=et;const d=a(1);var y,l;return P(r,d,[s,n,o,i,c]),y=O(n,o??[e],j),l=d,y?.add(l),d},(a,s,...n)=>y(((t,a=[e])=>{const s=[],n=(t,e)=>e==c(a)?l(s,t):null===a[e]?L(t,(t=>n(t,e+1))):y([a[e],null],(a=>n(M(t,a),e+1)));return n(t,0),s})(a,s),(e=>L(e,(e=>M(r,e)[0](t,...s??[],...n))))),t=>o(M(r,t),(([,a,n])=>(O(a,n??[e],void 0,(e=>(b(e,t),A(e)?1:0))),P(r,t),s(t),n))),e=>o(M(r,e),(([e,,a=[],s,o])=>{const r=(...i)=>{const d=c(i);d==c(a)?e(t,...i,...o(i)):n(a[d])?y(s[d]?.(...i)??[],(t=>r(...i,t))):r(...i,a[d])};r()}))]})(),R=t=>{t!=N&&(N=t,K(W,void 0,N))},V=e=>{($&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=N&&(R(1),F++,await tt((async()=>{try{const e=await a();i(e)?V(e):t?H(t):d("Content is not an array: "+e)}catch(e){h?.(e),t&&H(t)}R(0)}))),et),Y=()=>(D&&(g(D),D=void 0),et),Z=async t=>(1!=N&&(R(2),U++,await tt((async()=>{try{await s(q,t)}catch(t){h?.(t)}R(0)}))),et),_=()=>(J&&(t.delListener(J),J=void 0),et),tt=async(...t)=>(l(M(x,C),...t),await(async()=>{if(!M(k,C)){for(P(k,C,1);!n(z=u(M(x,C)));)try{await z()}catch(t){h?.(t)}P(k,C,0)}})(),et),et={load:X,startAutoLoad:async t=>{Y(),await X(t);try{D=await r((async(t,e)=>{e||t?2!=N&&(R(1),F++,V(e??t),R(0)):await X()}))}catch(t){h?.(t)}return et},stopAutoLoad:Y,isAutoLoading:()=>!n(D),save:Z,startAutoSave:async()=>(_(),await Z(),J=t.addDidFinishTransactionListener((()=>{const t=B();G(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!n(J),getStatus:()=>N,addStatusListener:t=>I(t,W),delListener:e=>(Q(e),t),schedule:tt,getStore:()=>t,destroy:()=>(M(x,C).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:F,saves:U}),...f};return v(et)},D="/store",J=(t,a,n,i)=>{const{host:d,room:y}=a.partySocketOptions,{storeProtocol:l="https",storePath:u=D,messagePrefix:g=e}={...r(n)?{storeProtocol:n}:n},h=l+"://"+d+"/parties/"+a.name+"/"+y+u,p=async t=>await(await fetch(h,{...t?{method:"PUT",body:C(t)}:{},mode:"cors",cache:"no-store"})).json();return z(t,(async()=>await p()),(async(t,e)=>{var s;e?a.send(g+"s"+(r(s=e)?s:C(s))):await p(t())}),(t=>{const e=e=>o(((t,e)=>{const a=c(t);return((t,e)=>t.startsWith(e))(e,t)?[e[a],S((s=e,n=a+1,s.slice(n,void 0)))]:void 0;var s,n})(g,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(s,e),e}),(t=>{a.removeEventListener(s,t)}),i,1,{getConnection:()=>a})};export{J as createPartyKitPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t=
|
|
1
|
+
const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),o=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>i.all(a),y=(a,t)=>a.map(t),g=(a,...t)=>a.push(...t),h=Object,f=h.entries,u=(a=[])=>h.fromEntries(a),p=(a,t)=>y(f(a),(([a,e])=>t(e,a))),S=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),d=JSON.stringify,P=JSON.parse,m=a=>d(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),x=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),D="/store",R=(t,s,n)=>t+s+(a(n)==e?n:m(n)),b=(a,t,e)=>{const s=l(a);return n(t,a)?[t[s],(e?P:String)(o(t,s+1))]:void 0},C="hasStore",T=u(y(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),v=async(a,e=t)=>!!await a.get(e+C),O=async(a,e=t)=>{const n={},i={};return x(await a.list(),((a,t)=>c(b(e,a),(([a,e])=>{if(a==s){const[a,s,i]=P("["+e+"]");S(S(n,a,u),s,u)[i]=t}else"v"==a&&(i[e]=t)})))),[n,i]},V=async(a,e,s)=>a.party.broadcast(R(a.config.messagePrefix??t,"s",e),s),E=async(a,e,i,c)=>{const o=a.party.storage,y=a.config.storagePrefix??t,h={[y+C]:1},f=[],u=[];await w(p(e[0],(async(t,e)=>r(t)?!i&&await a.canDelTable(e,c)&&((a,...t)=>a.unshift(...t))(u,H(y,s,e)):await a.canSetTable(e,i,c)&&await w(p(t,(async(t,n)=>r(t)?!i&&await a.canDelRow(e,n,c)&&g(u,H(y,s,e,n)):await a.canSetRow(e,n,i,c)&&await w(p(t,(async(t,l)=>{const w=[e,n,l],u=H(y,s,...w);r(t)?!i&&await a.canDelCell(...w,c)&&g(f,u):await a.canSetCell(...w,t,i,c,await o.get(u))&&(h[u]=t)}))))))))),await w(p(e[1],(async(t,e)=>{const s=y+"v"+e;r(t)?!i&&await a.canDelValue(e,c)&&g(f,s):await a.canSetValue(e,t,i,c,await o.get(s))&&(h[s]=t)}))),0!=l(u)&&x(await o.list(),(a=>u.every((t=>!n(a,t)||g(f,a)&&0)))),await o.delete(f),await o.put(h)},H=(a,t,...e)=>R(a,t,o(m(e),1,-1)),M=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class A{constructor(a){this.party=a,this.config.storePath??=D,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=T}config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=D,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await v(e,n),i=await a.text();return"PUT"==a.method?s?M(this,205):(await E(this,P(i),!0,a),M(this,201)):M(this,200,s?m(await O(e,n)):t)}return M(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await c(b(s,a,1),(async([a,t])=>{"s"==a&&await v(this.party.storage,n)&&(await E(this,t,!1,e),V(this,t,[e.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{A as TinyBasePartyKitServer,V as broadcastChanges,v as hasStoreInStorage,O as loadStoreFromStorage};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t=
|
|
1
|
+
const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),o=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>i.all(a),y=(a,t)=>a.map(t),g=(a,...t)=>a.push(...t),h=Object,f=h.entries,u=(a=[])=>h.fromEntries(a),p=(a,t)=>y(f(a),(([a,e])=>t(e,a))),S=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),d=JSON.stringify,P=JSON.parse,m=a=>d(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),x=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),D="/store",R=(t,s,n)=>t+s+(a(n)==e?n:m(n)),b=(a,t,e)=>{const s=l(a);return n(t,a)?[t[s],(e?P:String)(o(t,s+1))]:void 0},C="hasStore",T=u(y(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),v=async(a,e=t)=>!!await a.get(e+C),O=async(a,e=t)=>{const n={},i={};return x(await a.list(),((a,t)=>c(b(e,a),(([a,e])=>{if(a==s){const[a,s,i]=P("["+e+"]");S(S(n,a,u),s,u)[i]=t}else"v"==a&&(i[e]=t)})))),[n,i]},V=async(a,e,s)=>a.party.broadcast(R(a.config.messagePrefix??t,"s",e),s),E=async(a,e,i,c)=>{const o=a.party.storage,y=a.config.storagePrefix??t,h={[y+C]:1},f=[],u=[];await w(p(e[0],(async(t,e)=>r(t)?!i&&await a.canDelTable(e,c)&&((a,...t)=>a.unshift(...t))(u,H(y,s,e)):await a.canSetTable(e,i,c)&&await w(p(t,(async(t,n)=>r(t)?!i&&await a.canDelRow(e,n,c)&&g(u,H(y,s,e,n)):await a.canSetRow(e,n,i,c)&&await w(p(t,(async(t,l)=>{const w=[e,n,l],u=H(y,s,...w);r(t)?!i&&await a.canDelCell(...w,c)&&g(f,u):await a.canSetCell(...w,t,i,c,await o.get(u))&&(h[u]=t)}))))))))),await w(p(e[1],(async(t,e)=>{const s=y+"v"+e;r(t)?!i&&await a.canDelValue(e,c)&&g(f,s):await a.canSetValue(e,t,i,c,await o.get(s))&&(h[s]=t)}))),0!=l(u)&&x(await o.list(),(a=>u.every((t=>!n(a,t)||g(f,a)&&0)))),await o.delete(f),await o.put(h)},H=(a,t,...e)=>R(a,t,o(m(e),1,-1)),M=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class A{constructor(a){this.party=a,this.config.storePath??=D,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=T}config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=D,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await v(e,n),i=await a.text();return"PUT"==a.method?s?M(this,205):(await E(this,P(i),!0,a),M(this,201)):M(this,200,s?m(await O(e,n)):t)}return M(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await c(b(s,a,1),(async([a,t])=>{"s"==a&&await v(this.party.storage,n)&&(await E(this,t,!1,e),V(this,t,[e.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{A as TinyBasePartyKitServer,V as broadcastChanges,v as hasStoreInStorage,O as loadStoreFromStorage};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,o=(a,t,e)=>i(a)?e?.():t(a),r=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},d=(a,t)=>a.forEach(t),u=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,o=(a,t,e)=>i(a)?e?.():t(a),r=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},d=(a,t)=>a.forEach(t),u=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,C=a=>i(a)||0==(a=>a?.size??0)(a),O=a=>[...a?.values()??[]],L=(a,t)=>a?.forEach(t),$=(a,t)=>a?.delete(t),v=Object,I=a=>v.getPrototypeOf(a),S=v.entries,m=v.keys,_=v.freeze,h=(a=[])=>v.fromEntries(a),f=(...a)=>v.assign({},...a),b=(a,t)=>(delete a[t],a),D=(a,t)=>T(S(a),(([a,e])=>t(e,a))),P=(a,t)=>h(D(a,((a,e)=>[e,t(a,e)]))),U=a=>v.values(a),F=a=>l(m(a)),M=a=>(a=>!i(a)&&o(I(a),(a=>a==v.prototype||i(I(a))),(()=>!0)))(a)&&0==F(a),G=JSON.stringify,B=JSON.parse,j="_",x="_id",X="SELECT",Y="WHERE",q="TABLE",H="ALTER "+q,W="DELETE FROM",k=X+"*FROM",z=a=>`"${a.replace(/"/g,'""')}"`,J=(a,t=[1])=>u(T(a,(()=>"$"+t[0]++)),e),K=a=>new Map(a),V=(a,t)=>a?.get(t),Q=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Z=(a,t,e)=>i(e)?($(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(p(a,t)?n?.(V(a,t)):Z(a,t,e()),V(a,t)),ta=(a,t,e,n,s=0)=>o((e?aa:V)(a,t[s],s>l(t)-2?e:K),(i=>{if(s>l(t)-2)return n?.(i)&&Z(a,t[s]),i;const o=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),o})),ea=a=>new Set(c(a)||i(a)?a:[a]),na=(a,t)=>a?.add(t),sa="ColumnName",ia="store",oa="json",ra=ia+"TableName",ca=ia+"Id"+sa,Ea=ia+sa,la="autoLoadIntervalSeconds",wa="rowId"+sa,ya="tableId",da="tableName",ua="deleteEmptyColumns",Ta="deleteEmptyTable",Ra={mode:oa,[la]:1},Aa={load:0,save:0,[da]:t+"_values"},Na=(a,t,e,n,s)=>{const o=K();return P(a,((a,c)=>{const l=E(U(f(t,r(a)?{[e]:a}:a)),0,F(t));i(l[0])||n(c,l[0])||(s(c,l[0]),Z(o,c,l))})),o},ga=/^\d+$/,pa=K(),Ca=K(),Oa=(a,t,e,n,s,r,E,w={},u=0,T=[])=>{let R,A,p,O=0,v=0,I=0;aa(pa,T,(()=>0)),aa(Ca,T,(()=>[]));const S=K(),[m,h,f,b,D]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:y("Store type not supported by this Persister"))(E,a,u),[P,U,F]=(()=>{let a;const[t,e]=(()=>{const a=[];let t=0;return[e=>(e?g(a):null)??""+t++,t=>{ga.test(t)&&l(a)<1e3&&N(a,t)}]})(),n=K();return[(e,s,i,o=[],r=()=>[])=>{a??=H;const c=t(1);return Z(n,c,[e,s,i,o,r]),na(ta(s,i??[""],ea),c),c},(t,e,...s)=>d(((a,t=[""])=>{const e=[],n=(a,s)=>s==l(t)?N(e,a):null===t[s]?L(a,(a=>n(a,s+1))):d([t[s],null],(t=>n(V(a,t),s+1)));return n(a,0),e})(t,e),(t=>L(t,(t=>V(n,t)[0](a,...e??[],...s))))),a=>o(V(n,a),(([,t,s])=>(ta(t,s??[""],void 0,(t=>($(t,a),C(t)?1:0))),Z(n,a),e(a),s))),t=>o(V(n,t),(([t,,e=[],n,s])=>{const o=(...r)=>{const c=l(r);c==l(e)?t(a,...r,...s(r)):i(e[c])?d(n[c]?.(...r)??[],(a=>o(...r,a))):o(...r,e[c])};o()}))]})(),G=a=>{a!=O&&(O=a,U(S,void 0,O))},B=t=>{(m&&c(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},j=async a=>(2!=O&&(G(1),v++,await q((async()=>{try{const e=await t();c(e)?B(e):a?D(a):y("Content is not an array: "+e)}catch(t){r?.(t),a&&D(a)}G(0)}))),H),x=()=>(A&&(s(A),A=void 0),H),X=async a=>(1!=O&&(G(2),I++,await q((async()=>{try{await e(h,a)}catch(a){r?.(a)}G(0)}))),H),Y=()=>(p&&(a.delListener(p),p=void 0),H),q=async(...a)=>(N(V(Ca,T),...a),await(async()=>{if(!V(pa,T)){for(Z(pa,T,1);!i(R=g(V(Ca,T)));)try{await R()}catch(a){r?.(a)}Z(pa,T,0)}})(),H),H={load:j,startAutoLoad:async a=>{x(),await j(a);try{A=await n((async(a,t)=>{t||a?2!=O&&(G(1),v++,B(t??a),G(0)):await j()}))}catch(a){r?.(a)}return H},stopAutoLoad:x,isAutoLoading:()=>!i(A),save:X,startAutoSave:async()=>(Y(),await X(),p=a.addDidFinishTransactionListener((()=>{const a=f();b(a)&&X(a)})),H),stopAutoSave:Y,isAutoSaving:()=>!i(p),getStatus:()=>O,addStatusListener:a=>P(a,S),delListener:t=>(F(t),a),schedule:q,getStore:()=>a,destroy:()=>(V(Ca,T).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:v,saves:I}),...w};return _(H)},La=(a,t,n,s,o,r=$a,c,E)=>{const l=K();return[async()=>{l.clear(),T(await n(a,t),(({tn:a,cn:t})=>na(aa(l,a,ea),t)))},async(t,e)=>((a,t)=>p(V(l,a),t))(t,e)?h(A(T(await a(k+z(t)),(a=>[a[e],E?P(b(a,e),E):b(a,e)])),(([a,t])=>!i(a)&&!M(t)))):{},async(t,n,s,E,y,d=!1)=>{const g=ea();P(s??{},(a=>T(m(a??{}),(a=>na(g,a)))));const C=O(g);if(!d&&y&&R(C)&&p(l,t))return await a("DROP "+q+z(t)),void Z(l,t);const L=V(l,t),v=ea(O(L));if(R(C)||(p(l,t)?await w(T([n,...C],(async(e,s)=>{$(v,e)||(await a(H+z(t)+"ADD"+z(e)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+z(t)+`(${z(n)})`),na(L,e))}))):(await a("CREATE "+q+z(t)+`(${z(n)}${o} PRIMARY KEY${u(T(C,(a=>e+z(a)+o)))});`),Z(l,t,ea([n,...C])))),await w([...!d&&E?T(O(v),(async e=>{e!=n&&(await a(H+z(t)+"DROP"+z(e)),$(L,e))})):[]]),d)i(s)?await a(W+z(t)+Y+" true"):await w(D(s,(async(e,s)=>{i(e)?await a(W+z(t)+Y+z(n)+"=$1",[s]):R(C)||await r(a,t,n,m(e),{[s]:c?T(U(e),c):U(e)},L)})));else if(R(C))p(l,t)&&await a(W+z(t)+Y+" true");else{const e=A(O(V(l,t)),(a=>a!=n)),i={},o=[];P(s??{},((a,t)=>{i[t]=T(e,(t=>c?c(a?.[t]):a?.[t])),N(o,t)})),await r(a,t,n,e,i),await a(W+z(t)+Y+z(n)+`NOT IN(${J(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},$a=async(a,t,n,s,i)=>{const o=[1];await a("INSERT INTO"+z(t)+"("+((...a)=>u(T(a,z),e))(n,...s)+")VALUES"+u(D(i,(a=>"($"+o[0]+++","+J(a,o)+")")),e)+"ON CONFLICT("+z(n)+")DO UPDATE SET"+u(T(s,(a=>z(a)+"=excluded."+z(a))),e),D(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},va=(a,t,e,n,s,i,o,[r,c,E],l,w,y,d,u,T)=>{const[R,A,N,g]=La(t,l,w,s,u,T),p=Oa(a,(async()=>await g((async()=>{return await R(),a=(await A(r,c))[j]?.[E]??"null",B(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await R(),await N(r,c,{[j]:{[E]:(t=a()??null,G(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>y,destroy:()=>(p.stopAutoLoad().stopAutoSave(),i(),p)},0,y);return p},Ia=(a,t,e,n,s,o,r,[c,E,[l,y,d]],u,T,R,N,g,p,C,O)=>{const[L,$,v,I]=La(t,u,T,s,g,p,C,O),S=async(a,t)=>await w(Q(E,(async([e,n,s,i],o)=>{t&&!(o in a)||await v(e,n,a[o],s,i,t)}))),m=async(a,t)=>y?await v(d,x,{[j]:a},!0,!0,t):null,_=Oa(a,(async()=>await I((async()=>{await L();const a=await(async()=>h(A(await w(Q(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await $(d,x))[j]:{})();return M(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await L(),i(t)){const[t,e]=a();await S(t),await m(e)}else await S(t[0],!0),await m(t[1],!0)}))),e,n,s,r,{[N]:()=>R,destroy:()=>(_.stopAutoLoad().stopAutoSave(),o(),_)},0,R);return _},Sa=t,ma=/^([cd]:)(.+)/,_a=t+"_data",ha=t+"_table",fa=async(a,e,n,s,i)=>((a,e,n,s,i,c,l,y,d,u,R="getDb")=>{const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,c),[N,,g,C]=(a=>{const e=(a=>f(Ra,r(a)?{[ra]:a}:a??{}))(a),n=e[la];if(e.mode==oa){const a=e[ra]??t;return[1,n,[a,e[ca]??x,e[Ea]??ia],ea(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=E(U(f(Aa,o)),0,F(Aa)),l=c[2],w=ea(l),y=ea(l);return[0,n,[Na(s,{[ya]:null,[wa]:x},ya,(a=>p(y,a)),(a=>na(w,a))),Na(i,{[da]:null,[wa]:x,[ua]:0,[Ta]:0},da,((a,t)=>p(y,t)),((a,t)=>na(w,t))),c],w]})(e),L=async a=>{await A(`CREATE OR REPLACE TRIGGER ${z(_a+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${z(a)} EXECUTE FUNCTION ${_a}()`)};return(N?va:Ia)(a,A,(async a=>{await A(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Sa}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await A(`CREATE EVENT TRIGGER ${ha} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ha}();`)}catch{}return await A(`CREATE OR REPLACE FUNCTION ${_a}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Sa}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await w(T(O(C),(async a=>{await A(`CREATE TABLE IF NOT EXISTS ${z(a)}("_id"text PRIMARY KEY)`),await L(a)}))),await s(Sa,(async t=>{return await o((e=t,n=ma,e?.match(n)),(async([,t,e])=>{p(C,e)&&("c:"==t&&await L(e),a())}));var e,n}))}),i,l,y,d,g,O(C),(async(a,t)=>await a(`${X} table_name tn,column_name cn FROM information_schema.columns ${Y} table_schema='public'AND table_name IN(${J(t)})`,t)),u,R,"text",void 0,(a=>G(a)),(a=>B(a)))})(a,n,(async(a,t=[])=>(await e.query(a,t)).rows),(async(a,t)=>await e.listen(a,t)),(async a=>{try{await a()}catch(a){i?.(a)}}),s,i,(()=>0),3,e,"getPglite");export{fa as createPglitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,o=(a,t,e)=>i(a)?e?.():t(a),r=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},d=(a,t)=>a.forEach(t),u=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,o=(a,t,e)=>i(a)?e?.():t(a),r=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},d=(a,t)=>a.forEach(t),u=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,C=a=>i(a)||0==(a=>a?.size??0)(a),O=a=>[...a?.values()??[]],L=(a,t)=>a?.forEach(t),$=(a,t)=>a?.delete(t),v=Object,I=a=>v.getPrototypeOf(a),S=v.entries,m=v.keys,_=v.freeze,h=(a=[])=>v.fromEntries(a),f=(...a)=>v.assign({},...a),b=(a,t)=>(delete a[t],a),D=(a,t)=>T(S(a),(([a,e])=>t(e,a))),P=(a,t)=>h(D(a,((a,e)=>[e,t(a,e)]))),U=a=>v.values(a),F=a=>l(m(a)),M=a=>(a=>!i(a)&&o(I(a),(a=>a==v.prototype||i(I(a))),(()=>!0)))(a)&&0==F(a),G=JSON.stringify,B=JSON.parse,j="_",x="_id",X="SELECT",Y="WHERE",q="TABLE",H="ALTER "+q,W="DELETE FROM",k=X+"*FROM",z=a=>`"${a.replace(/"/g,'""')}"`,J=(a,t=[1])=>u(T(a,(()=>"$"+t[0]++)),e),K=a=>new Map(a),V=(a,t)=>a?.get(t),Q=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Z=(a,t,e)=>i(e)?($(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(p(a,t)?n?.(V(a,t)):Z(a,t,e()),V(a,t)),ta=(a,t,e,n,s=0)=>o((e?aa:V)(a,t[s],s>l(t)-2?e:K),(i=>{if(s>l(t)-2)return n?.(i)&&Z(a,t[s]),i;const o=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),o})),ea=a=>new Set(c(a)||i(a)?a:[a]),na=(a,t)=>a?.add(t),sa="ColumnName",ia="store",oa="json",ra=ia+"TableName",ca=ia+"Id"+sa,Ea=ia+sa,la="autoLoadIntervalSeconds",wa="rowId"+sa,ya="tableId",da="tableName",ua="deleteEmptyColumns",Ta="deleteEmptyTable",Ra={mode:oa,[la]:1},Aa={load:0,save:0,[da]:t+"_values"},Na=(a,t,e,n,s)=>{const o=K();return P(a,((a,c)=>{const l=E(U(f(t,r(a)?{[e]:a}:a)),0,F(t));i(l[0])||n(c,l[0])||(s(c,l[0]),Z(o,c,l))})),o},ga=/^\d+$/,pa=K(),Ca=K(),Oa=(a,t,e,n,s,r,E,w={},u=0,T=[])=>{let R,A,p,O=0,v=0,I=0;aa(pa,T,(()=>0)),aa(Ca,T,(()=>[]));const S=K(),[m,h,f,b,D]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:y("Store type not supported by this Persister"))(E,a,u),[P,U,F]=(()=>{let a;const[t,e]=(()=>{const a=[];let t=0;return[e=>(e?g(a):null)??""+t++,t=>{ga.test(t)&&l(a)<1e3&&N(a,t)}]})(),n=K();return[(e,s,i,o=[],r=()=>[])=>{a??=H;const c=t(1);return Z(n,c,[e,s,i,o,r]),na(ta(s,i??[""],ea),c),c},(t,e,...s)=>d(((a,t=[""])=>{const e=[],n=(a,s)=>s==l(t)?N(e,a):null===t[s]?L(a,(a=>n(a,s+1))):d([t[s],null],(t=>n(V(a,t),s+1)));return n(a,0),e})(t,e),(t=>L(t,(t=>V(n,t)[0](a,...e??[],...s))))),a=>o(V(n,a),(([,t,s])=>(ta(t,s??[""],void 0,(t=>($(t,a),C(t)?1:0))),Z(n,a),e(a),s))),t=>o(V(n,t),(([t,,e=[],n,s])=>{const o=(...r)=>{const c=l(r);c==l(e)?t(a,...r,...s(r)):i(e[c])?d(n[c]?.(...r)??[],(a=>o(...r,a))):o(...r,e[c])};o()}))]})(),G=a=>{a!=O&&(O=a,U(S,void 0,O))},B=t=>{(m&&c(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},j=async a=>(2!=O&&(G(1),v++,await q((async()=>{try{const e=await t();c(e)?B(e):a?D(a):y("Content is not an array: "+e)}catch(t){r?.(t),a&&D(a)}G(0)}))),H),x=()=>(A&&(s(A),A=void 0),H),X=async a=>(1!=O&&(G(2),I++,await q((async()=>{try{await e(h,a)}catch(a){r?.(a)}G(0)}))),H),Y=()=>(p&&(a.delListener(p),p=void 0),H),q=async(...a)=>(N(V(Ca,T),...a),await(async()=>{if(!V(pa,T)){for(Z(pa,T,1);!i(R=g(V(Ca,T)));)try{await R()}catch(a){r?.(a)}Z(pa,T,0)}})(),H),H={load:j,startAutoLoad:async a=>{x(),await j(a);try{A=await n((async(a,t)=>{t||a?2!=O&&(G(1),v++,B(t??a),G(0)):await j()}))}catch(a){r?.(a)}return H},stopAutoLoad:x,isAutoLoading:()=>!i(A),save:X,startAutoSave:async()=>(Y(),await X(),p=a.addDidFinishTransactionListener((()=>{const a=f();b(a)&&X(a)})),H),stopAutoSave:Y,isAutoSaving:()=>!i(p),getStatus:()=>O,addStatusListener:a=>P(a,S),delListener:t=>(F(t),a),schedule:q,getStore:()=>a,destroy:()=>(V(Ca,T).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:v,saves:I}),...w};return _(H)},La=(a,t,n,s,o,r=$a,c,E)=>{const l=K();return[async()=>{l.clear(),T(await n(a,t),(({tn:a,cn:t})=>na(aa(l,a,ea),t)))},async(t,e)=>((a,t)=>p(V(l,a),t))(t,e)?h(A(T(await a(k+z(t)),(a=>[a[e],E?P(b(a,e),E):b(a,e)])),(([a,t])=>!i(a)&&!M(t)))):{},async(t,n,s,E,y,d=!1)=>{const g=ea();P(s??{},(a=>T(m(a??{}),(a=>na(g,a)))));const C=O(g);if(!d&&y&&R(C)&&p(l,t))return await a("DROP "+q+z(t)),void Z(l,t);const L=V(l,t),v=ea(O(L));if(R(C)||(p(l,t)?await w(T([n,...C],(async(e,s)=>{$(v,e)||(await a(H+z(t)+"ADD"+z(e)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+z(t)+`(${z(n)})`),na(L,e))}))):(await a("CREATE "+q+z(t)+`(${z(n)}${o} PRIMARY KEY${u(T(C,(a=>e+z(a)+o)))});`),Z(l,t,ea([n,...C])))),await w([...!d&&E?T(O(v),(async e=>{e!=n&&(await a(H+z(t)+"DROP"+z(e)),$(L,e))})):[]]),d)i(s)?await a(W+z(t)+Y+" true"):await w(D(s,(async(e,s)=>{i(e)?await a(W+z(t)+Y+z(n)+"=$1",[s]):R(C)||await r(a,t,n,m(e),{[s]:c?T(U(e),c):U(e)},L)})));else if(R(C))p(l,t)&&await a(W+z(t)+Y+" true");else{const e=A(O(V(l,t)),(a=>a!=n)),i={},o=[];P(s??{},((a,t)=>{i[t]=T(e,(t=>c?c(a?.[t]):a?.[t])),N(o,t)})),await r(a,t,n,e,i),await a(W+z(t)+Y+z(n)+`NOT IN(${J(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},$a=async(a,t,n,s,i)=>{const o=[1];await a("INSERT INTO"+z(t)+"("+((...a)=>u(T(a,z),e))(n,...s)+")VALUES"+u(D(i,(a=>"($"+o[0]+++","+J(a,o)+")")),e)+"ON CONFLICT("+z(n)+")DO UPDATE SET"+u(T(s,(a=>z(a)+"=excluded."+z(a))),e),D(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},va=(a,t,e,n,s,i,o,[r,c,E],l,w,y,d,u,T)=>{const[R,A,N,g]=La(t,l,w,s,u,T),p=Oa(a,(async()=>await g((async()=>{return await R(),a=(await A(r,c))[j]?.[E]??"null",B(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await R(),await N(r,c,{[j]:{[E]:(t=a()??null,G(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>y,destroy:()=>(p.stopAutoLoad().stopAutoSave(),i(),p)},0,y);return p},Ia=(a,t,e,n,s,o,r,[c,E,[l,y,d]],u,T,R,N,g,p,C,O)=>{const[L,$,v,I]=La(t,u,T,s,g,p,C,O),S=async(a,t)=>await w(Q(E,(async([e,n,s,i],o)=>{t&&!(o in a)||await v(e,n,a[o],s,i,t)}))),m=async(a,t)=>y?await v(d,x,{[j]:a},!0,!0,t):null,_=Oa(a,(async()=>await I((async()=>{await L();const a=await(async()=>h(A(await w(Q(c,(async([a,t],e)=>[a,await $(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await $(d,x))[j]:{})();return M(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await L(),i(t)){const[t,e]=a();await S(t),await m(e)}else await S(t[0],!0),await m(t[1],!0)}))),e,n,s,r,{[N]:()=>R,destroy:()=>(_.stopAutoLoad().stopAutoSave(),o(),_)},0,R);return _},Sa=t,ma=/^([cd]:)(.+)/,_a=t+"_data",ha=t+"_table",fa=async(a,e,n,s,i)=>((a,e,n,s,i,c,l,y,d,u,R="getDb")=>{const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,c),[N,,g,C]=(a=>{const e=(a=>f(Ra,r(a)?{[ra]:a}:a??{}))(a),n=e[la];if(e.mode==oa){const a=e[ra]??t;return[1,n,[a,e[ca]??x,e[Ea]??ia],ea(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=E(U(f(Aa,o)),0,F(Aa)),l=c[2],w=ea(l),y=ea(l);return[0,n,[Na(s,{[ya]:null,[wa]:x},ya,(a=>p(y,a)),(a=>na(w,a))),Na(i,{[da]:null,[wa]:x,[ua]:0,[Ta]:0},da,((a,t)=>p(y,t)),((a,t)=>na(w,t))),c],w]})(e),L=async a=>{await A(`CREATE OR REPLACE TRIGGER ${z(_a+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${z(a)} EXECUTE FUNCTION ${_a}()`)};return(N?va:Ia)(a,A,(async a=>{await A(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Sa}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await A(`CREATE EVENT TRIGGER ${ha} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ha}();`)}catch{}return await A(`CREATE OR REPLACE FUNCTION ${_a}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Sa}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await w(T(O(C),(async a=>{await A(`CREATE TABLE IF NOT EXISTS ${z(a)}("_id"text PRIMARY KEY)`),await L(a)}))),await s(Sa,(async t=>{return await o((e=t,n=ma,e?.match(n)),(async([,t,e])=>{p(C,e)&&("c:"==t&&await L(e),a())}));var e,n}))}),i,l,y,d,g,O(C),(async(a,t)=>await a(`${X} table_name tn,column_name cn FROM information_schema.columns ${Y} table_schema='public'AND table_name IN(${J(t)})`,t)),u,R,"text",void 0,(a=>G(a)),(a=>B(a)))})(a,n,(async(a,t=[])=>(await e.query(a,t)).rows),(async(a,t)=>await e.listen(a,t)),(async a=>{try{await a()}catch(a){i?.(a)}}),s,i,(()=>0),3,e,"getPglite");export{fa as createPglitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,r=(a,t,e)=>i(a)?e?.():t(a),o=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},u=(a,t)=>a.forEach(t),d=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,r=(a,t,e)=>i(a)?e?.():t(a),o=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},u=(a,t)=>a.forEach(t),d=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,C=a=>i(a)||0==(a=>a?.size??0)(a),O=a=>[...a?.values()??[]],L=(a,t)=>a?.forEach(t),v=(a,t)=>a?.delete(t),$=Object,S=a=>$.getPrototypeOf(a),I=$.entries,m=$.keys,_=$.freeze,h=(a=[])=>$.fromEntries(a),f=(...a)=>$.assign({},...a),b=(a,t)=>(delete a[t],a),D=(a,t)=>T(I(a),(([a,e])=>t(e,a))),P=(a,t)=>h(D(a,((a,e)=>[e,t(a,e)]))),U=a=>$.values(a),F=a=>l(m(a)),M=a=>(a=>!i(a)&&r(S(a),(a=>a==$.prototype||i(S(a))),(()=>!0)))(a)&&0==F(a),G=JSON.stringify,B=JSON.parse,j="_",x="_id",X="SELECT",Y="WHERE",q="TABLE",H="ALTER "+q,W="DELETE FROM",k=X+"*FROM",z=a=>`"${a.replace(/"/g,'""')}"`,J=(a,t=[1])=>d(T(a,(()=>"$"+t[0]++)),e),K=a=>new Map(a),V=(a,t)=>a?.get(t),Q=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Z=(a,t,e)=>i(e)?(v(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(p(a,t)?n?.(V(a,t)):Z(a,t,e()),V(a,t)),ta=(a,t,e,n,s=0)=>r((e?aa:V)(a,t[s],s>l(t)-2?e:K),(i=>{if(s>l(t)-2)return n?.(i)&&Z(a,t[s]),i;const r=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),r})),ea=a=>new Set(c(a)||i(a)?a:[a]),na=(a,t)=>a?.add(t),sa="ColumnName",ia="store",ra="json",oa=ia+"TableName",ca=ia+"Id"+sa,Ea=ia+sa,la="autoLoadIntervalSeconds",wa="rowId"+sa,ya="tableId",ua="tableName",da="deleteEmptyColumns",Ta="deleteEmptyTable",Ra={mode:ra,[la]:1},Aa={load:0,save:0,[ua]:t+"_values"},Na=(a,t,e,n,s)=>{const r=K();return P(a,((a,c)=>{const l=E(U(f(t,o(a)?{[e]:a}:a)),0,F(t));i(l[0])||n(c,l[0])||(s(c,l[0]),Z(r,c,l))})),r},ga=/^\d+$/,pa=K(),Ca=K(),Oa=(a,t,e,n,s,o,E,w={},d=0,T=[])=>{let R,A,p,O=0,$=0,S=0;aa(pa,T,(()=>0)),aa(Ca,T,(()=>[]));const I=K(),[m,h,f,b,D]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:y("Store type not supported by this Persister"))(E,a,d),[P,U,F]=(()=>{let a;const[t,e]=(()=>{const a=[];let t=0;return[e=>(e?g(a):null)??""+t++,t=>{ga.test(t)&&l(a)<1e3&&N(a,t)}]})(),n=K();return[(e,s,i,r=[],o=()=>[])=>{a??=H;const c=t(1);return Z(n,c,[e,s,i,r,o]),na(ta(s,i??[""],ea),c),c},(t,e,...s)=>u(((a,t=[""])=>{const e=[],n=(a,s)=>s==l(t)?N(e,a):null===t[s]?L(a,(a=>n(a,s+1))):u([t[s],null],(t=>n(V(a,t),s+1)));return n(a,0),e})(t,e),(t=>L(t,(t=>V(n,t)[0](a,...e??[],...s))))),a=>r(V(n,a),(([,t,s])=>(ta(t,s??[""],void 0,(t=>(v(t,a),C(t)?1:0))),Z(n,a),e(a),s))),t=>r(V(n,t),(([t,,e=[],n,s])=>{const r=(...o)=>{const c=l(o);c==l(e)?t(a,...o,...s(o)):i(e[c])?u(n[c]?.(...o)??[],(a=>r(...o,a))):r(...o,e[c])};r()}))]})(),G=a=>{a!=O&&(O=a,U(I,void 0,O))},B=t=>{(m&&c(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},j=async a=>(2!=O&&(G(1),$++,await q((async()=>{try{const e=await t();c(e)?B(e):a?D(a):y("Content is not an array: "+e)}catch(t){o?.(t),a&&D(a)}G(0)}))),H),x=()=>(A&&(s(A),A=void 0),H),X=async a=>(1!=O&&(G(2),S++,await q((async()=>{try{await e(h,a)}catch(a){o?.(a)}G(0)}))),H),Y=()=>(p&&(a.delListener(p),p=void 0),H),q=async(...a)=>(N(V(Ca,T),...a),await(async()=>{if(!V(pa,T)){for(Z(pa,T,1);!i(R=g(V(Ca,T)));)try{await R()}catch(a){o?.(a)}Z(pa,T,0)}})(),H),H={load:j,startAutoLoad:async a=>{x(),await j(a);try{A=await n((async(a,t)=>{t||a?2!=O&&(G(1),$++,B(t??a),G(0)):await j()}))}catch(a){o?.(a)}return H},stopAutoLoad:x,isAutoLoading:()=>!i(A),save:X,startAutoSave:async()=>(Y(),await X(),p=a.addDidFinishTransactionListener((()=>{const a=f();b(a)&&X(a)})),H),stopAutoSave:Y,isAutoSaving:()=>!i(p),getStatus:()=>O,addStatusListener:a=>P(a,I),delListener:t=>(F(t),a),schedule:q,getStore:()=>a,destroy:()=>(V(Ca,T).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:$,saves:S}),...w};return _(H)},La=(a,t,n,s,r,o=va,c,E)=>{const l=K();return[async()=>{l.clear(),T(await n(a,t),(({tn:a,cn:t})=>na(aa(l,a,ea),t)))},async(t,e)=>((a,t)=>p(V(l,a),t))(t,e)?h(A(T(await a(k+z(t)),(a=>[a[e],E?P(b(a,e),E):b(a,e)])),(([a,t])=>!i(a)&&!M(t)))):{},async(t,n,s,E,y,u=!1)=>{const g=ea();P(s??{},(a=>T(m(a??{}),(a=>na(g,a)))));const C=O(g);if(!u&&y&&R(C)&&p(l,t))return await a("DROP "+q+z(t)),void Z(l,t);const L=V(l,t),$=ea(O(L));if(R(C)||(p(l,t)?await w(T([n,...C],(async(e,s)=>{v($,e)||(await a(H+z(t)+"ADD"+z(e)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+z(t)+`(${z(n)})`),na(L,e))}))):(await a("CREATE "+q+z(t)+`(${z(n)}${r} PRIMARY KEY${d(T(C,(a=>e+z(a)+r)))});`),Z(l,t,ea([n,...C])))),await w([...!u&&E?T(O($),(async e=>{e!=n&&(await a(H+z(t)+"DROP"+z(e)),v(L,e))})):[]]),u)i(s)?await a(W+z(t)+Y+" true"):await w(D(s,(async(e,s)=>{i(e)?await a(W+z(t)+Y+z(n)+"=$1",[s]):R(C)||await o(a,t,n,m(e),{[s]:c?T(U(e),c):U(e)},L)})));else if(R(C))p(l,t)&&await a(W+z(t)+Y+" true");else{const e=A(O(V(l,t)),(a=>a!=n)),i={},r=[];P(s??{},((a,t)=>{i[t]=T(e,(t=>c?c(a?.[t]):a?.[t])),N(r,t)})),await o(a,t,n,e,i),await a(W+z(t)+Y+z(n)+`NOT IN(${J(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,n,s,i)=>{const r=[1];await a("INSERT INTO"+z(t)+"("+((...a)=>d(T(a,z),e))(n,...s)+")VALUES"+d(D(i,(a=>"($"+r[0]+++","+J(a,r)+")")),e)+"ON CONFLICT("+z(n)+")DO UPDATE SET"+d(T(s,(a=>z(a)+"=excluded."+z(a))),e),D(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},$a=(a,t,e,n,s,i,r,[o,c,E],l,w,y,u,d,T)=>{const[R,A,N,g]=La(t,l,w,s,d,T),p=Oa(a,(async()=>await g((async()=>{return await R(),a=(await A(o,c))[j]?.[E]??"null",B(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await R(),await N(o,c,{[j]:{[E]:(t=a()??null,G(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[u]:()=>y,destroy:()=>(p.stopAutoLoad().stopAutoSave(),i(),p)},0,y);return p},Sa=(a,t,e,n,s,r,o,[c,E,[l,y,u]],d,T,R,N,g,p,C,O)=>{const[L,v,$,S]=La(t,d,T,s,g,p,C,O),I=async(a,t)=>await w(Q(E,(async([e,n,s,i],r)=>{t&&!(r in a)||await $(e,n,a[r],s,i,t)}))),m=async(a,t)=>y?await $(u,x,{[j]:a},!0,!0,t):null,_=Oa(a,(async()=>await S((async()=>{await L();const a=await(async()=>h(A(await w(Q(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await v(u,x))[j]:{})();return M(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await L(),i(t)){const[t,e]=a();await I(t),await m(e)}else await I(t[0],!0),await m(t[1],!0)}))),e,n,s,o,{[N]:()=>R,destroy:()=>(_.stopAutoLoad().stopAutoSave(),r(),_)},0,R);return _},Ia=t,ma=/^([cd]:)(.+)/,_a=t+"_data",ha=t+"_table",fa=async(a,e,n,s,i)=>{const c=await(e.reserve?.());return((a,e,n,s,i,c,l,y,u,d,R="getDb")=>{const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,c),[N,,g,C]=(a=>{const e=(a=>f(Ra,o(a)?{[oa]:a}:a??{}))(a),n=e[la];if(e.mode==ra){const a=e[oa]??t;return[1,n,[a,e[ca]??x,e[Ea]??ia],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=E(U(f(Aa,r)),0,F(Aa)),l=c[2],w=ea(l),y=ea(l);return[0,n,[Na(s,{[ya]:null,[wa]:x},ya,(a=>p(y,a)),(a=>na(w,a))),Na(i,{[ua]:null,[wa]:x,[da]:0,[Ta]:0},ua,((a,t)=>p(y,t)),((a,t)=>na(w,t))),c],w]})(e),L=async a=>{await A(`CREATE OR REPLACE TRIGGER ${z(_a+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${z(a)} EXECUTE FUNCTION ${_a}()`)};return(N?$a:Sa)(a,A,(async a=>{await A(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ia}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await A(`CREATE EVENT TRIGGER ${ha} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ha}();`)}catch{}return await A(`CREATE OR REPLACE FUNCTION ${_a}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ia}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await w(T(O(C),(async a=>{await A(`CREATE TABLE IF NOT EXISTS ${z(a)}("_id"text PRIMARY KEY)`),await L(a)}))),await s(Ia,(async t=>{return await r((e=t,n=ma,e?.match(n)),(async([,t,e])=>{p(C,e)&&("c:"==t&&await L(e),a())}));var e,n}))}),i,l,y,u,g,O(C),(async(a,t)=>await a(`${X} table_name tn,column_name cn FROM information_schema.columns ${Y} table_schema='public'AND table_name IN(${J(t)})`,t)),d,R,"text",void 0,(a=>G(a)),(a=>B(a)))})(a,n,c?.unsafe,(async(a,t)=>e.listen(a,t)),(async a=>{try{await a.unlisten()}catch(a){i?.(a)}}),s,i,(()=>c?.release?.()),3,e,"getSql")};export{fa as createPostgresPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,r=(a,t,e)=>i(a)?e?.():t(a),o=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},u=(a,t)=>a.forEach(t),d=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=a=>null==a,r=(a,t,e)=>i(a)?e?.():t(a),o=t=>a(t)==n,c=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),l=a=>a.length,w=async a=>s.all(a),y=a=>{throw Error(a)},u=(a,t)=>a.forEach(t),d=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==l(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),g=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,C=a=>i(a)||0==(a=>a?.size??0)(a),O=a=>[...a?.values()??[]],L=(a,t)=>a?.forEach(t),v=(a,t)=>a?.delete(t),$=Object,S=a=>$.getPrototypeOf(a),I=$.entries,m=$.keys,_=$.freeze,h=(a=[])=>$.fromEntries(a),f=(...a)=>$.assign({},...a),b=(a,t)=>(delete a[t],a),D=(a,t)=>T(I(a),(([a,e])=>t(e,a))),P=(a,t)=>h(D(a,((a,e)=>[e,t(a,e)]))),U=a=>$.values(a),F=a=>l(m(a)),M=a=>(a=>!i(a)&&r(S(a),(a=>a==$.prototype||i(S(a))),(()=>!0)))(a)&&0==F(a),G=JSON.stringify,B=JSON.parse,j="_",x="_id",X="SELECT",Y="WHERE",q="TABLE",H="ALTER "+q,W="DELETE FROM",k=X+"*FROM",z=a=>`"${a.replace(/"/g,'""')}"`,J=(a,t=[1])=>d(T(a,(()=>"$"+t[0]++)),e),K=a=>new Map(a),V=(a,t)=>a?.get(t),Q=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Z=(a,t,e)=>i(e)?(v(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(p(a,t)?n?.(V(a,t)):Z(a,t,e()),V(a,t)),ta=(a,t,e,n,s=0)=>r((e?aa:V)(a,t[s],s>l(t)-2?e:K),(i=>{if(s>l(t)-2)return n?.(i)&&Z(a,t[s]),i;const r=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),r})),ea=a=>new Set(c(a)||i(a)?a:[a]),na=(a,t)=>a?.add(t),sa="ColumnName",ia="store",ra="json",oa=ia+"TableName",ca=ia+"Id"+sa,Ea=ia+sa,la="autoLoadIntervalSeconds",wa="rowId"+sa,ya="tableId",ua="tableName",da="deleteEmptyColumns",Ta="deleteEmptyTable",Ra={mode:ra,[la]:1},Aa={load:0,save:0,[ua]:t+"_values"},Na=(a,t,e,n,s)=>{const r=K();return P(a,((a,c)=>{const l=E(U(f(t,o(a)?{[e]:a}:a)),0,F(t));i(l[0])||n(c,l[0])||(s(c,l[0]),Z(r,c,l))})),r},ga=/^\d+$/,pa=K(),Ca=K(),Oa=(a,t,e,n,s,o,E,w={},d=0,T=[])=>{let R,A,p,O=0,$=0,S=0;aa(pa,T,(()=>0)),aa(Ca,T,(()=>[]));const I=K(),[m,h,f,b,D]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:y("Store type not supported by this Persister"))(E,a,d),[P,U,F]=(()=>{let a;const[t,e]=(()=>{const a=[];let t=0;return[e=>(e?g(a):null)??""+t++,t=>{ga.test(t)&&l(a)<1e3&&N(a,t)}]})(),n=K();return[(e,s,i,r=[],o=()=>[])=>{a??=H;const c=t(1);return Z(n,c,[e,s,i,r,o]),na(ta(s,i??[""],ea),c),c},(t,e,...s)=>u(((a,t=[""])=>{const e=[],n=(a,s)=>s==l(t)?N(e,a):null===t[s]?L(a,(a=>n(a,s+1))):u([t[s],null],(t=>n(V(a,t),s+1)));return n(a,0),e})(t,e),(t=>L(t,(t=>V(n,t)[0](a,...e??[],...s))))),a=>r(V(n,a),(([,t,s])=>(ta(t,s??[""],void 0,(t=>(v(t,a),C(t)?1:0))),Z(n,a),e(a),s))),t=>r(V(n,t),(([t,,e=[],n,s])=>{const r=(...o)=>{const c=l(o);c==l(e)?t(a,...o,...s(o)):i(e[c])?u(n[c]?.(...o)??[],(a=>r(...o,a))):r(...o,e[c])};r()}))]})(),G=a=>{a!=O&&(O=a,U(I,void 0,O))},B=t=>{(m&&c(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},j=async a=>(2!=O&&(G(1),$++,await q((async()=>{try{const e=await t();c(e)?B(e):a?D(a):y("Content is not an array: "+e)}catch(t){o?.(t),a&&D(a)}G(0)}))),H),x=()=>(A&&(s(A),A=void 0),H),X=async a=>(1!=O&&(G(2),S++,await q((async()=>{try{await e(h,a)}catch(a){o?.(a)}G(0)}))),H),Y=()=>(p&&(a.delListener(p),p=void 0),H),q=async(...a)=>(N(V(Ca,T),...a),await(async()=>{if(!V(pa,T)){for(Z(pa,T,1);!i(R=g(V(Ca,T)));)try{await R()}catch(a){o?.(a)}Z(pa,T,0)}})(),H),H={load:j,startAutoLoad:async a=>{x(),await j(a);try{A=await n((async(a,t)=>{t||a?2!=O&&(G(1),$++,B(t??a),G(0)):await j()}))}catch(a){o?.(a)}return H},stopAutoLoad:x,isAutoLoading:()=>!i(A),save:X,startAutoSave:async()=>(Y(),await X(),p=a.addDidFinishTransactionListener((()=>{const a=f();b(a)&&X(a)})),H),stopAutoSave:Y,isAutoSaving:()=>!i(p),getStatus:()=>O,addStatusListener:a=>P(a,I),delListener:t=>(F(t),a),schedule:q,getStore:()=>a,destroy:()=>(V(Ca,T).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:$,saves:S}),...w};return _(H)},La=(a,t,n,s,r,o=va,c,E)=>{const l=K();return[async()=>{l.clear(),T(await n(a,t),(({tn:a,cn:t})=>na(aa(l,a,ea),t)))},async(t,e)=>((a,t)=>p(V(l,a),t))(t,e)?h(A(T(await a(k+z(t)),(a=>[a[e],E?P(b(a,e),E):b(a,e)])),(([a,t])=>!i(a)&&!M(t)))):{},async(t,n,s,E,y,u=!1)=>{const g=ea();P(s??{},(a=>T(m(a??{}),(a=>na(g,a)))));const C=O(g);if(!u&&y&&R(C)&&p(l,t))return await a("DROP "+q+z(t)),void Z(l,t);const L=V(l,t),$=ea(O(L));if(R(C)||(p(l,t)?await w(T([n,...C],(async(e,s)=>{v($,e)||(await a(H+z(t)+"ADD"+z(e)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+z(t)+`(${z(n)})`),na(L,e))}))):(await a("CREATE "+q+z(t)+`(${z(n)}${r} PRIMARY KEY${d(T(C,(a=>e+z(a)+r)))});`),Z(l,t,ea([n,...C])))),await w([...!u&&E?T(O($),(async e=>{e!=n&&(await a(H+z(t)+"DROP"+z(e)),v(L,e))})):[]]),u)i(s)?await a(W+z(t)+Y+" true"):await w(D(s,(async(e,s)=>{i(e)?await a(W+z(t)+Y+z(n)+"=$1",[s]):R(C)||await o(a,t,n,m(e),{[s]:c?T(U(e),c):U(e)},L)})));else if(R(C))p(l,t)&&await a(W+z(t)+Y+" true");else{const e=A(O(V(l,t)),(a=>a!=n)),i={},r=[];P(s??{},((a,t)=>{i[t]=T(e,(t=>c?c(a?.[t]):a?.[t])),N(r,t)})),await o(a,t,n,e,i),await a(W+z(t)+Y+z(n)+`NOT IN(${J(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,n,s,i)=>{const r=[1];await a("INSERT INTO"+z(t)+"("+((...a)=>d(T(a,z),e))(n,...s)+")VALUES"+d(D(i,(a=>"($"+r[0]+++","+J(a,r)+")")),e)+"ON CONFLICT("+z(n)+")DO UPDATE SET"+d(T(s,(a=>z(a)+"=excluded."+z(a))),e),D(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},$a=(a,t,e,n,s,i,r,[o,c,E],l,w,y,u,d,T)=>{const[R,A,N,g]=La(t,l,w,s,d,T),p=Oa(a,(async()=>await g((async()=>{return await R(),a=(await A(o,c))[j]?.[E]??"null",B(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await R(),await N(o,c,{[j]:{[E]:(t=a()??null,G(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[u]:()=>y,destroy:()=>(p.stopAutoLoad().stopAutoSave(),i(),p)},0,y);return p},Sa=(a,t,e,n,s,r,o,[c,E,[l,y,u]],d,T,R,N,g,p,C,O)=>{const[L,v,$,S]=La(t,d,T,s,g,p,C,O),I=async(a,t)=>await w(Q(E,(async([e,n,s,i],r)=>{t&&!(r in a)||await $(e,n,a[r],s,i,t)}))),m=async(a,t)=>y?await $(u,x,{[j]:a},!0,!0,t):null,_=Oa(a,(async()=>await S((async()=>{await L();const a=await(async()=>h(A(await w(Q(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await v(u,x))[j]:{})();return M(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await L(),i(t)){const[t,e]=a();await I(t),await m(e)}else await I(t[0],!0),await m(t[1],!0)}))),e,n,s,o,{[N]:()=>R,destroy:()=>(_.stopAutoLoad().stopAutoSave(),r(),_)},0,R);return _},Ia=t,ma=/^([cd]:)(.+)/,_a=t+"_data",ha=t+"_table",fa=async(a,e,n,s,i)=>{const c=await(e.reserve?.());return((a,e,n,s,i,c,l,y,u,d,R="getDb")=>{const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,c),[N,,g,C]=(a=>{const e=(a=>f(Ra,o(a)?{[oa]:a}:a??{}))(a),n=e[la];if(e.mode==ra){const a=e[oa]??t;return[1,n,[a,e[ca]??x,e[Ea]??ia],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=E(U(f(Aa,r)),0,F(Aa)),l=c[2],w=ea(l),y=ea(l);return[0,n,[Na(s,{[ya]:null,[wa]:x},ya,(a=>p(y,a)),(a=>na(w,a))),Na(i,{[ua]:null,[wa]:x,[da]:0,[Ta]:0},ua,((a,t)=>p(y,t)),((a,t)=>na(w,t))),c],w]})(e),L=async a=>{await A(`CREATE OR REPLACE TRIGGER ${z(_a+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${z(a)} EXECUTE FUNCTION ${_a}()`)};return(N?$a:Sa)(a,A,(async a=>{await A(`CREATE OR REPLACE FUNCTION ${ha}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ia}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await A(`CREATE EVENT TRIGGER ${ha} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ha}();`)}catch{}return await A(`CREATE OR REPLACE FUNCTION ${_a}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ia}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await w(T(O(C),(async a=>{await A(`CREATE TABLE IF NOT EXISTS ${z(a)}("_id"text PRIMARY KEY)`),await L(a)}))),await s(Ia,(async t=>{return await r((e=t,n=ma,e?.match(n)),(async([,t,e])=>{p(C,e)&&("c:"==t&&await L(e),a())}));var e,n}))}),i,l,y,u,g,O(C),(async(a,t)=>await a(`${X} table_name tn,column_name cn FROM information_schema.columns ${Y} table_schema='public'AND table_name IN(${J(t)})`,t)),d,R,"text",void 0,(a=>G(a)),(a=>B(a)))})(a,n,c?.unsafe,(async(a,t)=>e.listen(a,t)),(async a=>{try{await a.unlisten()}catch(a){i?.(a)}}),s,i,(()=>c?.release?.()),3,e,"getSql")};export{fa as createPostgresPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),o=Promise,r=clearInterval,i=a=>null==a,c=(a,t,e)=>i(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),f=a=>a.shift(),m=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),o=Promise,r=clearInterval,i=a=>null==a,c=(a,t,e)=>i(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),f=a=>a.shift(),m=(a,t)=>a?.has(t)??!1,S=a=>i(a)||0==(a=>a?.size??0)(a),T=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),$=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),I=O.entries,L=O.keys,R=O.freeze,D=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),_=(a,t)=>(delete a[t],a),P=(a,t)=>p(I(a),(([a,e])=>t(e,a))),F=(a,t)=>D(P(a,((a,e)=>[e,t(a,e)]))),U=a=>O.values(a),j=a=>u(L(a)),x=a=>(a=>!i(a)&&c(b(a),(a=>a==O.prototype||i(b(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Set(w(a)||i(a)?a:[a]),H=(a,t)=>a?.add(t),J="_",Y="_id",k="SELECT",z="WHERE",G="TABLE",V="ALTER "+G,W="DELETE FROM",K=k+"*FROM",Q="pragma_",X="data_version",q="schema_version",Z="pragma_table_",aa=a=>`"${a.replace(/"/g,'""')}"`,ta=(...a)=>g(p(a,aa),n),ea=(a,t=[1])=>g(p(a,(()=>"$"+t[0]++)),n),na=a=>new Map(a),sa=(a,t)=>a?.get(t),oa=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),ra=(a,t,e)=>i(e)?($(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(m(a,t)?n?.(sa(a,t)):ra(a,t,e()),sa(a,t)),ca=(a,t,e,n,s=0)=>c((e?ia:sa)(a,t[s],s>u(t)-2?e:na),(o=>{if(s>u(t)-2)return n?.(o)&&ra(a,t[s]),o;const r=ca(o,t,e,n,s+1);return S(o)&&ra(a,t[s]),r})),la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,Ea=wa+la,va="autoLoadIntervalSeconds",ga="rowId"+la,pa="tableId",Aa="tableName",ha="deleteEmptyColumns",Na="deleteEmptyTable",fa={mode:ya,[va]:1},ma={load:0,save:0,[Aa]:t+"_values"},Sa=(a,t,e,n,s)=>{const o=na();return F(a,((a,r)=>{const c=y(U(M(t,l(a)?{[e]:a}:a)),0,j(t));i(c[0])||n(r,c[0])||(s(r,c[0]),ra(o,r,c))})),o},Ta=JSON.stringify,Ca=JSON.parse,$a=/^\d+$/,Oa=na(),ba=na(),Ia=(a,t,n,s,o,r,l,y={},d=0,g=[])=>{let p,A,h,m=0,T=0,O=0;ia(Oa,g,(()=>0)),ia(ba,g,(()=>[]));const b=na(),[I,L,D,M,_]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!x(a)||!x(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:E("Store type not supported by this Persister"))(l,a,d),[P,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{$a.test(t)&&u(a)<1e3&&N(a,t)}]})(),s=na();return[(n,o,r,i=[],c=()=>[])=>{a??=W;const l=t(1);return ra(s,l,[n,o,r,i,c]),H(ca(o,r??[e],B),l),l},(t,n,...o)=>v(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?N(n,a):null===t[e]?C(a,(a=>s(a,e+1))):v([t[e],null],(t=>s(sa(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>sa(s,t)[0](a,...n??[],...o))))),a=>c(sa(s,a),(([,t,o])=>(ca(t,o??[e],void 0,(t=>($(t,a),S(t)?1:0))),ra(s,a),n(a),o))),t=>c(sa(s,t),(([t,,e=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(e)?t(a,...r,...s(r)):i(e[c])?v(n[c]?.(...r)??[],(a=>o(...r,a))):o(...r,e[c])};o()}))]})(),j=a=>{a!=m&&(m=a,F(b,void 0,m))},J=t=>{(I&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async a=>(2!=m&&(j(1),T++,await V((async()=>{try{const e=await t();w(e)?J(e):a?_(a):E("Content is not an array: "+e)}catch(t){r?.(t),a&&_(a)}j(0)}))),W),k=()=>(A&&(o(A),A=void 0),W),z=async a=>(1!=m&&(j(2),O++,await V((async()=>{try{await n(L,a)}catch(a){r?.(a)}j(0)}))),W),G=()=>(h&&(a.delListener(h),h=void 0),W),V=async(...a)=>(N(sa(ba,g),...a),await(async()=>{if(!sa(Oa,g)){for(ra(Oa,g,1);!i(p=f(sa(ba,g)));)try{await p()}catch(a){r?.(a)}ra(Oa,g,0)}})(),W),W={load:Y,startAutoLoad:async a=>{k(),await Y(a);try{A=await s((async(a,t)=>{t||a?2!=m&&(j(1),T++,J(t??a),j(0)):await Y()}))}catch(a){r?.(a)}return W},stopAutoLoad:k,isAutoLoading:()=>!i(A),save:z,startAutoSave:async()=>(G(),await z(),h=a.addDidFinishTransactionListener((()=>{const a=D();M(a)&&z(a)})),W),stopAutoSave:G,isAutoSaving:()=>!i(h),getStatus:()=>m,addStatusListener:a=>P(a,b),delListener:t=>(U(t),a),schedule:V,getStore:()=>a,destroy:()=>(sa(ba,g).splice(0,void 0),k().stopAutoSave()),getStats:()=>({loads:T,saves:O}),...y};return R(W)},La=(a,t,e,s,o,r=Ra,c,l)=>{const w=na();return[async()=>{w.clear(),p(await e(a,t),(({tn:a,cn:t})=>H(ia(w,a,B),t)))},async(t,e)=>((a,t)=>m(sa(w,a),t))(t,e)?D(h(p(await a(K+aa(t)),(a=>[a[e],l?F(_(a,e),l):_(a,e)])),(([a,t])=>!i(a)&&!x(t)))):{},async(t,e,s,l,y,u=!1)=>{const E=B();F(s??{},(a=>p(L(a??{}),(a=>H(E,a)))));const v=T(E);if(!u&&y&&A(v)&&m(w,t))return await a("DROP "+G+aa(t)),void ra(w,t);const f=sa(w,t),S=B(T(f));if(A(v)||(m(w,t)?await d(p([e,...v],(async(n,s)=>{$(S,n)||(await a(V+aa(t)+"ADD"+aa(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+aa(t)+`(${aa(e)})`),H(f,n))}))):(await a("CREATE "+G+aa(t)+`(${aa(e)}${o} PRIMARY KEY${g(p(v,(a=>n+aa(a)+o)))});`),ra(w,t,B([e,...v])))),await d([...!u&&l?p(T(S),(async n=>{n!=e&&(await a(V+aa(t)+"DROP"+aa(n)),$(f,n))})):[]]),u)i(s)?await a(W+aa(t)+z+" true"):await d(P(s,(async(n,s)=>{i(n)?await a(W+aa(t)+z+aa(e)+"=$1",[s]):A(v)||await r(a,t,e,L(n),{[s]:c?p(U(n),c):U(n)},f)})));else if(A(v))m(w,t)&&await a(W+aa(t)+z+" true");else{const n=h(T(sa(w,t)),(a=>a!=e)),o={},i=[];F(s??{},((a,t)=>{o[t]=p(n,(t=>c?c(a?.[t]):a?.[t])),N(i,t)})),await r(a,t,e,n,o),await a(W+aa(t)+z+aa(e)+`NOT IN(${ea(i)})`,i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ra=async(a,t,e,s,o)=>{const r=[1];await a("INSERT INTO"+aa(t)+"("+ta(e,...s)+")VALUES"+g(P(o,(a=>"($"+r[0]+++","+ea(a,r)+")")),n)+"ON CONFLICT("+aa(e)+")DO UPDATE SET"+g(p(s,(a=>aa(a)+"=excluded."+aa(a))),n),P(o,((a,t)=>[t,...p(a,(a=>a??null))])).flat())},Da=(a,t,e,n,s,o,r,[i,c,l],w,y,u,d,E,v)=>{const[g,p,A,h]=La(t,w,y,s,E,v),N=Ia(a,(async()=>await h((async()=>{return await g(),a=(await p(i,c))[J]?.[l]??"null",Ca(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await g(),await A(i,c,{[J]:{[l]:(t=a()??null,Ta(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),o(),N)},0,u);return N},Ma=(a,t,e,n,s,o,r,[c,l,[w,y,u]],E,v,g,p,A,N,f,m)=>{const[S,T,C,$]=La(t,E,v,s,A,N,f,m),O=async(a,t)=>await d(oa(l,(async([e,n,s,o],r)=>{t&&!(r in a)||await C(e,n,a[r],s,o,t)}))),b=async(a,t)=>y?await C(u,Y,{[J]:a},!0,!0,t):null,I=Ia(a,(async()=>await $((async()=>{await S();const a=await(async()=>D(h(await d(oa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>w?(await T(u,Y))[J]:{})();return x(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await $((async()=>{if(await S(),i(t)){const[t,e]=a();await O(t),await b(e)}else await O(t[0],!0),await b(t[1],!0)}))),e,n,s,r,{[p]:()=>g,destroy:()=>(I.stopAutoLoad().stopAutoSave(),o(),I)},0,g);return I},_a=(a,n,s,o,i,c,w,u,d,E,v="getDb",g)=>{let p,A,h;const N=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,S,C,$]=(a=>{const e=(a=>M(fa,l(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==ya){const a=e[ua]??t;return[1,n,[a,e[da]??Y,e[Ea]??wa],B(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,i=y(U(M(ma,r)),0,j(ma)),c=i[2],w=B(c),u=B(c);return[0,n,[Sa(s,{[pa]:null,[ga]:Y},pa,(a=>m(u,a)),(a=>H(w,a))),Sa(o,{[Aa]:null,[ga]:Y,[ha]:0,[Na]:0},Aa,((a,t)=>m(u,t)),((a,t)=>H(w,t))),i],w]})(n);return(f?Da:Ma)(a,N,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await N(`${k} ${X} d,${q} s,TOTAL_CHANGES() c FROM ${Q}${X} JOIN ${Q}${q}`);t==p&&e==A&&n==h||(null!=p&&a(),p=t,A=e,h=n)}catch{}}),1e3*S),n=()=>{p=A=h=null,r(t)},s=o((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(s)}}),(a=>a()),w,u,d,C,T($),(async(a,t)=>await a(`${k} t.name tn,c.name cn FROM ${Z}list()t,${Z}info(t.name)c ${z} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ea(t)})ORDER BY t.name,c.name`,t)),E,v,e,g,(a=>!0===a?1:!1===a?0:a),void 0)},Pa=(a,t,e,n,s)=>{let o;return _a(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const a of n)o&&p(a.changedTables,o)})(),o=a,e}),(a=>{o=void 0,a.abort()}),n,s,(()=>0),1,t,"getPowerSync",Fa)},Fa=async(a,t,e,s,o,r)=>{const i=[1],c=B(s),l=r?h([...r],(a=>a!=e&&!m(c,a))):[];if(!A(l)){const n=L(o),s=D(p(await a("SELECT"+ta(e,...l)+"FROM"+aa(t)+"WHERE"+aa(e)+"IN("+ea(n)+")",n),(a=>[a[e],a])));v(n,(a=>N(o[a],...p(l,(t=>s?.[a]?.[t]??null)))))}await a("INSERT OR REPLACE INTO"+aa(t)+"("+ta(e,...s,...l)+")VALUES"+g(P(o,(a=>"($"+i[0]+++","+ea(a,i)+")")),n),P(o,((a,t)=>[t,...p(a,(a=>a??null))])).flat())};export{Pa as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),o=Promise,r=clearInterval,i=a=>null==a,c=(a,t,e)=>i(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),f=a=>a.shift(),m=
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),o=Promise,r=clearInterval,i=a=>null==a,c=(a,t,e)=>i(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),f=a=>a.shift(),m=(a,t)=>a?.has(t)??!1,S=a=>i(a)||0==(a=>a?.size??0)(a),T=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),$=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),I=O.entries,L=O.keys,R=O.freeze,D=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),_=(a,t)=>(delete a[t],a),P=(a,t)=>p(I(a),(([a,e])=>t(e,a))),F=(a,t)=>D(P(a,((a,e)=>[e,t(a,e)]))),U=a=>O.values(a),j=a=>u(L(a)),x=a=>(a=>!i(a)&&c(b(a),(a=>a==O.prototype||i(b(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Set(w(a)||i(a)?a:[a]),H=(a,t)=>a?.add(t),J="_",Y="_id",k="SELECT",z="WHERE",G="TABLE",V="ALTER "+G,W="DELETE FROM",K=k+"*FROM",Q="pragma_",X="data_version",q="schema_version",Z="pragma_table_",aa=a=>`"${a.replace(/"/g,'""')}"`,ta=(...a)=>g(p(a,aa),n),ea=(a,t=[1])=>g(p(a,(()=>"$"+t[0]++)),n),na=a=>new Map(a),sa=(a,t)=>a?.get(t),oa=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),ra=(a,t,e)=>i(e)?($(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(m(a,t)?n?.(sa(a,t)):ra(a,t,e()),sa(a,t)),ca=(a,t,e,n,s=0)=>c((e?ia:sa)(a,t[s],s>u(t)-2?e:na),(o=>{if(s>u(t)-2)return n?.(o)&&ra(a,t[s]),o;const r=ca(o,t,e,n,s+1);return S(o)&&ra(a,t[s]),r})),la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,Ea=wa+la,va="autoLoadIntervalSeconds",ga="rowId"+la,pa="tableId",Aa="tableName",ha="deleteEmptyColumns",Na="deleteEmptyTable",fa={mode:ya,[va]:1},ma={load:0,save:0,[Aa]:t+"_values"},Sa=(a,t,e,n,s)=>{const o=na();return F(a,((a,r)=>{const c=y(U(M(t,l(a)?{[e]:a}:a)),0,j(t));i(c[0])||n(r,c[0])||(s(r,c[0]),ra(o,r,c))})),o},Ta=JSON.stringify,Ca=JSON.parse,$a=/^\d+$/,Oa=na(),ba=na(),Ia=(a,t,n,s,o,r,l,y={},d=0,g=[])=>{let p,A,h,m=0,T=0,O=0;ia(Oa,g,(()=>0)),ia(ba,g,(()=>[]));const b=na(),[I,L,D,M,_]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!x(a)||!x(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:E("Store type not supported by this Persister"))(l,a,d),[P,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{$a.test(t)&&u(a)<1e3&&N(a,t)}]})(),s=na();return[(n,o,r,i=[],c=()=>[])=>{a??=W;const l=t(1);return ra(s,l,[n,o,r,i,c]),H(ca(o,r??[e],B),l),l},(t,n,...o)=>v(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?N(n,a):null===t[e]?C(a,(a=>s(a,e+1))):v([t[e],null],(t=>s(sa(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>sa(s,t)[0](a,...n??[],...o))))),a=>c(sa(s,a),(([,t,o])=>(ca(t,o??[e],void 0,(t=>($(t,a),S(t)?1:0))),ra(s,a),n(a),o))),t=>c(sa(s,t),(([t,,e=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(e)?t(a,...r,...s(r)):i(e[c])?v(n[c]?.(...r)??[],(a=>o(...r,a))):o(...r,e[c])};o()}))]})(),j=a=>{a!=m&&(m=a,F(b,void 0,m))},J=t=>{(I&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async a=>(2!=m&&(j(1),T++,await V((async()=>{try{const e=await t();w(e)?J(e):a?_(a):E("Content is not an array: "+e)}catch(t){r?.(t),a&&_(a)}j(0)}))),W),k=()=>(A&&(o(A),A=void 0),W),z=async a=>(1!=m&&(j(2),O++,await V((async()=>{try{await n(L,a)}catch(a){r?.(a)}j(0)}))),W),G=()=>(h&&(a.delListener(h),h=void 0),W),V=async(...a)=>(N(sa(ba,g),...a),await(async()=>{if(!sa(Oa,g)){for(ra(Oa,g,1);!i(p=f(sa(ba,g)));)try{await p()}catch(a){r?.(a)}ra(Oa,g,0)}})(),W),W={load:Y,startAutoLoad:async a=>{k(),await Y(a);try{A=await s((async(a,t)=>{t||a?2!=m&&(j(1),T++,J(t??a),j(0)):await Y()}))}catch(a){r?.(a)}return W},stopAutoLoad:k,isAutoLoading:()=>!i(A),save:z,startAutoSave:async()=>(G(),await z(),h=a.addDidFinishTransactionListener((()=>{const a=D();M(a)&&z(a)})),W),stopAutoSave:G,isAutoSaving:()=>!i(h),getStatus:()=>m,addStatusListener:a=>P(a,b),delListener:t=>(U(t),a),schedule:V,getStore:()=>a,destroy:()=>(sa(ba,g).splice(0,void 0),k().stopAutoSave()),getStats:()=>({loads:T,saves:O}),...y};return R(W)},La=(a,t,e,s,o,r=Ra,c,l)=>{const w=na();return[async()=>{w.clear(),p(await e(a,t),(({tn:a,cn:t})=>H(ia(w,a,B),t)))},async(t,e)=>((a,t)=>m(sa(w,a),t))(t,e)?D(h(p(await a(K+aa(t)),(a=>[a[e],l?F(_(a,e),l):_(a,e)])),(([a,t])=>!i(a)&&!x(t)))):{},async(t,e,s,l,y,u=!1)=>{const E=B();F(s??{},(a=>p(L(a??{}),(a=>H(E,a)))));const v=T(E);if(!u&&y&&A(v)&&m(w,t))return await a("DROP "+G+aa(t)),void ra(w,t);const f=sa(w,t),S=B(T(f));if(A(v)||(m(w,t)?await d(p([e,...v],(async(n,s)=>{$(S,n)||(await a(V+aa(t)+"ADD"+aa(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+aa(t)+`(${aa(e)})`),H(f,n))}))):(await a("CREATE "+G+aa(t)+`(${aa(e)}${o} PRIMARY KEY${g(p(v,(a=>n+aa(a)+o)))});`),ra(w,t,B([e,...v])))),await d([...!u&&l?p(T(S),(async n=>{n!=e&&(await a(V+aa(t)+"DROP"+aa(n)),$(f,n))})):[]]),u)i(s)?await a(W+aa(t)+z+" true"):await d(P(s,(async(n,s)=>{i(n)?await a(W+aa(t)+z+aa(e)+"=$1",[s]):A(v)||await r(a,t,e,L(n),{[s]:c?p(U(n),c):U(n)},f)})));else if(A(v))m(w,t)&&await a(W+aa(t)+z+" true");else{const n=h(T(sa(w,t)),(a=>a!=e)),o={},i=[];F(s??{},((a,t)=>{o[t]=p(n,(t=>c?c(a?.[t]):a?.[t])),N(i,t)})),await r(a,t,e,n,o),await a(W+aa(t)+z+aa(e)+`NOT IN(${ea(i)})`,i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ra=async(a,t,e,s,o)=>{const r=[1];await a("INSERT INTO"+aa(t)+"("+ta(e,...s)+")VALUES"+g(P(o,(a=>"($"+r[0]+++","+ea(a,r)+")")),n)+"ON CONFLICT("+aa(e)+")DO UPDATE SET"+g(p(s,(a=>aa(a)+"=excluded."+aa(a))),n),P(o,((a,t)=>[t,...p(a,(a=>a??null))])).flat())},Da=(a,t,e,n,s,o,r,[i,c,l],w,y,u,d,E,v)=>{const[g,p,A,h]=La(t,w,y,s,E,v),N=Ia(a,(async()=>await h((async()=>{return await g(),a=(await p(i,c))[J]?.[l]??"null",Ca(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await g(),await A(i,c,{[J]:{[l]:(t=a()??null,Ta(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),o(),N)},0,u);return N},Ma=(a,t,e,n,s,o,r,[c,l,[w,y,u]],E,v,g,p,A,N,f,m)=>{const[S,T,C,$]=La(t,E,v,s,A,N,f,m),O=async(a,t)=>await d(oa(l,(async([e,n,s,o],r)=>{t&&!(r in a)||await C(e,n,a[r],s,o,t)}))),b=async(a,t)=>y?await C(u,Y,{[J]:a},!0,!0,t):null,I=Ia(a,(async()=>await $((async()=>{await S();const a=await(async()=>D(h(await d(oa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>w?(await T(u,Y))[J]:{})();return x(a)&&i(t)?void 0:[a,t]}))),(async(a,t)=>await $((async()=>{if(await S(),i(t)){const[t,e]=a();await O(t),await b(e)}else await O(t[0],!0),await b(t[1],!0)}))),e,n,s,r,{[p]:()=>g,destroy:()=>(I.stopAutoLoad().stopAutoSave(),o(),I)},0,g);return I},_a=(a,n,s,o,i,c,w,u,d,E,v="getDb",g)=>{let p,A,h;const N=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,S,C,$]=(a=>{const e=(a=>M(fa,l(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==ya){const a=e[ua]??t;return[1,n,[a,e[da]??Y,e[Ea]??wa],B(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,i=y(U(M(ma,r)),0,j(ma)),c=i[2],w=B(c),u=B(c);return[0,n,[Sa(s,{[pa]:null,[ga]:Y},pa,(a=>m(u,a)),(a=>H(w,a))),Sa(o,{[Aa]:null,[ga]:Y,[ha]:0,[Na]:0},Aa,((a,t)=>m(u,t)),((a,t)=>H(w,t))),i],w]})(n);return(f?Da:Ma)(a,N,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await N(`${k} ${X} d,${q} s,TOTAL_CHANGES() c FROM ${Q}${X} JOIN ${Q}${q}`);t==p&&e==A&&n==h||(null!=p&&a(),p=t,A=e,h=n)}catch{}}),1e3*S),n=()=>{p=A=h=null,r(t)},s=o((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(s)}}),(a=>a()),w,u,d,C,T($),(async(a,t)=>await a(`${k} t.name tn,c.name cn FROM ${Z}list()t,${Z}info(t.name)c ${z} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ea(t)})ORDER BY t.name,c.name`,t)),E,v,e,g,(a=>!0===a?1:!1===a?0:a),void 0)},Pa=(a,t,e,n,s)=>{let o;return _a(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const a of n)o&&p(a.changedTables,o)})(),o=a,e}),(a=>{o=void 0,a.abort()}),n,s,(()=>0),1,t,"getPowerSync",Fa)},Fa=async(a,t,e,s,o,r)=>{const i=[1],c=B(s),l=r?h([...r],(a=>a!=e&&!m(c,a))):[];if(!A(l)){const n=L(o),s=D(p(await a("SELECT"+ta(e,...l)+"FROM"+aa(t)+"WHERE"+aa(e)+"IN("+ea(n)+")",n),(a=>[a[e],a])));v(n,(a=>N(o[a],...p(l,(t=>s?.[a]?.[t]??null)))))}await a("INSERT OR REPLACE INTO"+aa(t)+"("+ta(e,...s,...l)+")VALUES"+g(P(o,(a=>"($"+i[0]+++","+ea(a,i)+")")),n),P(o,((a,t)=>[t,...p(a,(a=>a??null))])).flat())};export{Pa as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>t.length,r=t=>{throw Error(t)},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),l=Object,y=t=>l.getPrototypeOf(t),d=l.keys,u=l.freeze,g=t=>(t=>!e(t)&&a(y(t),(t=>t==l.prototype||e(y(t))),(()=>!0)))(t)&&0==(t=>s(d(t)))(t),h=JSON.stringify,p=JSON.parse,w=t=>e(t)||0==(t=>t?.size??0)(t),v=(t,e)=>t?.forEach(e),f=(t,e)=>t?.delete(e),S=t=>new Map(t),C=(t,e)=>t?.get(e),A=(t,a,n)=>e(n)?(f(t,a),t):t?.set(a,n),b=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(C(t,e)):A(t,e,a()),C(t,e)},L=(t,e,n,r,o=0)=>a((n?b:C)(t,e[o],o>s(e)-2?n:S),(a=>{if(o>s(e)-2)return r?.(a)&&A(t,e[o]),a;const i=L(a,e,n,r,o+1);return w(a)&&A(t,e[o]),i})),M=t=>new Set(n(t)||e(t)?t:[t]),
|
|
1
|
+
const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>t.length,r=t=>{throw Error(t)},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),l=Object,y=t=>l.getPrototypeOf(t),d=l.keys,u=l.freeze,g=t=>(t=>!e(t)&&a(y(t),(t=>t==l.prototype||e(y(t))),(()=>!0)))(t)&&0==(t=>s(d(t)))(t),h=JSON.stringify,p=JSON.parse,w=t=>e(t)||0==(t=>t?.size??0)(t),v=(t,e)=>t?.forEach(e),f=(t,e)=>t?.delete(e),S=t=>new Map(t),C=(t,e)=>t?.get(e),A=(t,a,n)=>e(n)?(f(t,a),t):t?.set(a,n),b=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(C(t,e)):A(t,e,a()),C(t,e)},L=(t,e,n,r,o=0)=>a((n?b:C)(t,e[o],o>s(e)-2?n:S),(a=>{if(o>s(e)-2)return r?.(a)&&A(t,e[o]),a;const i=L(a,e,n,r,o+1);return w(a)&&A(t,e[o]),i})),M=/^\d+$/,E=t=>new Set(n(t)||e(t)?t:[t]),T=S(),O=S(),m=(t,l,y,d,h,p,m,D={},P=0,j=[])=>{let x,z,I,J=0,N=0,k=0;b(T,j,(()=>0)),b(O,j,(()=>[]));const F=S(),[H,U,$,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:r("Store type not supported by this Persister"))(m,t,P),[G,K,Q]=(()=>{let t;const[n,r]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{M.test(e)&&s(t)<1e3&&i(t,e)}]})(),l=S();return[(e,a,s,r=[],o=()=>[])=>{t??=tt;const i=n(1);var c,y;return A(l,i,[e,a,s,r,o]),c=L(a,s??[""],E),y=i,c?.add(y),i},(e,a,...n)=>o(((t,e=[""])=>{const a=[],n=(t,r)=>r==s(e)?i(a,t):null===e[r]?v(t,(t=>n(t,r+1))):o([e[r],null],(e=>n(C(t,e),r+1)));return n(t,0),a})(e,a),(e=>v(e,(e=>C(l,e)[0](t,...a??[],...n))))),t=>a(C(l,t),(([,e,a])=>(L(e,a??[""],void 0,(e=>(f(e,t),w(e)?1:0))),A(l,t),r(t),a))),n=>a(C(l,n),(([a,,n=[],r,i])=>{const c=(...l)=>{const y=s(l);y==s(n)?a(t,...l,...i(l)):e(n[y])?o(r[y]?.(...l)??[],(t=>c(...l,t))):c(...l,n[y])};c()}))]})(),R=t=>{t!=J&&(J=t,K(F,void 0,J))},V=e=>{(H&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=J&&(R(1),N++,await _((async()=>{try{const e=await l();n(e)?V(e):t?B(t):r("Content is not an array: "+e)}catch(e){p?.(e),t&&B(t)}R(0)}))),tt),X=()=>(z&&(h(z),z=void 0),tt),Y=async t=>(1!=J&&(R(2),k++,await _((async()=>{try{await y(U,t)}catch(t){p?.(t)}R(0)}))),tt),Z=()=>(I&&(t.delListener(I),I=void 0),tt),_=async(...t)=>(i(C(O,j),...t),await(async()=>{if(!C(T,j)){for(A(T,j,1);!e(x=c(C(O,j)));)try{await x()}catch(t){p?.(t)}A(T,j,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{z=await d((async(t,e)=>{e||t?2!=J&&(R(1),N++,V(e??t),R(0)):await W()}))}catch(t){p?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!e(z),save:Y,startAutoSave:async()=>(Z(),await Y(),I=t.addDidFinishTransactionListener((()=>{const t=$();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!e(I),getStatus:()=>J,addStatusListener:t=>G(t,F),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(C(O,j).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:N,saves:k}),...D};return u(tt)},D=t=>t.headers.get("ETag"),P=(a,n,s,r=5,o)=>{let i;return m(a,(async()=>{const t=await fetch(n);return i=D(t),p(await t.text())}),(async t=>{return await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),h(e,((t,e)=>e instanceof Map?l.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(n,{method:"HEAD"}),s=D(a);e(i)||e(s)||s==i||(i=s,t())}),1e3*r)),(e=>t(e)),o,1,{getUrls:()=>[n,s]})};export{P as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>t.length,r=t=>{throw Error(t)},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),l=Object,y=t=>l.getPrototypeOf(t),d=l.keys,u=l.freeze,g=t=>(t=>!e(t)&&a(y(t),(t=>t==l.prototype||e(y(t))),(()=>!0)))(t)&&0==(t=>s(d(t)))(t),h=JSON.stringify,p=JSON.parse,w=t=>e(t)||0==(t=>t?.size??0)(t),v=(t,e)=>t?.forEach(e),f=(t,e)=>t?.delete(e),S=t=>new Map(t),C=(t,e)=>t?.get(e),A=(t,a,n)=>e(n)?(f(t,a),t):t?.set(a,n),b=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(C(t,e)):A(t,e,a()),C(t,e)},L=(t,e,n,r,o=0)=>a((n?b:C)(t,e[o],o>s(e)-2?n:S),(a=>{if(o>s(e)-2)return r?.(a)&&A(t,e[o]),a;const i=L(a,e,n,r,o+1);return w(a)&&A(t,e[o]),i})),M=t=>new Set(n(t)||e(t)?t:[t]),
|
|
1
|
+
const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>t.length,r=t=>{throw Error(t)},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),l=Object,y=t=>l.getPrototypeOf(t),d=l.keys,u=l.freeze,g=t=>(t=>!e(t)&&a(y(t),(t=>t==l.prototype||e(y(t))),(()=>!0)))(t)&&0==(t=>s(d(t)))(t),h=JSON.stringify,p=JSON.parse,w=t=>e(t)||0==(t=>t?.size??0)(t),v=(t,e)=>t?.forEach(e),f=(t,e)=>t?.delete(e),S=t=>new Map(t),C=(t,e)=>t?.get(e),A=(t,a,n)=>e(n)?(f(t,a),t):t?.set(a,n),b=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(C(t,e)):A(t,e,a()),C(t,e)},L=(t,e,n,r,o=0)=>a((n?b:C)(t,e[o],o>s(e)-2?n:S),(a=>{if(o>s(e)-2)return r?.(a)&&A(t,e[o]),a;const i=L(a,e,n,r,o+1);return w(a)&&A(t,e[o]),i})),M=/^\d+$/,E=t=>new Set(n(t)||e(t)?t:[t]),T=S(),O=S(),m=(t,l,y,d,h,p,m,D={},P=0,j=[])=>{let x,z,I,J=0,N=0,k=0;b(T,j,(()=>0)),b(O,j,(()=>[]));const F=S(),[H,U,$,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:r("Store type not supported by this Persister"))(m,t,P),[G,K,Q]=(()=>{let t;const[n,r]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{M.test(e)&&s(t)<1e3&&i(t,e)}]})(),l=S();return[(e,a,s,r=[],o=()=>[])=>{t??=tt;const i=n(1);var c,y;return A(l,i,[e,a,s,r,o]),c=L(a,s??[""],E),y=i,c?.add(y),i},(e,a,...n)=>o(((t,e=[""])=>{const a=[],n=(t,r)=>r==s(e)?i(a,t):null===e[r]?v(t,(t=>n(t,r+1))):o([e[r],null],(e=>n(C(t,e),r+1)));return n(t,0),a})(e,a),(e=>v(e,(e=>C(l,e)[0](t,...a??[],...n))))),t=>a(C(l,t),(([,e,a])=>(L(e,a??[""],void 0,(e=>(f(e,t),w(e)?1:0))),A(l,t),r(t),a))),n=>a(C(l,n),(([a,,n=[],r,i])=>{const c=(...l)=>{const y=s(l);y==s(n)?a(t,...l,...i(l)):e(n[y])?o(r[y]?.(...l)??[],(t=>c(...l,t))):c(...l,n[y])};c()}))]})(),R=t=>{t!=J&&(J=t,K(F,void 0,J))},V=e=>{(H&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=J&&(R(1),N++,await _((async()=>{try{const e=await l();n(e)?V(e):t?B(t):r("Content is not an array: "+e)}catch(e){p?.(e),t&&B(t)}R(0)}))),tt),X=()=>(z&&(h(z),z=void 0),tt),Y=async t=>(1!=J&&(R(2),k++,await _((async()=>{try{await y(U,t)}catch(t){p?.(t)}R(0)}))),tt),Z=()=>(I&&(t.delListener(I),I=void 0),tt),_=async(...t)=>(i(C(O,j),...t),await(async()=>{if(!C(T,j)){for(A(T,j,1);!e(x=c(C(O,j)));)try{await x()}catch(t){p?.(t)}A(T,j,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{z=await d((async(t,e)=>{e||t?2!=J&&(R(1),N++,V(e??t),R(0)):await W()}))}catch(t){p?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!e(z),save:Y,startAutoSave:async()=>(Z(),await Y(),I=t.addDidFinishTransactionListener((()=>{const t=$();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!e(I),getStatus:()=>J,addStatusListener:t=>G(t,F),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(C(O,j).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:N,saves:k}),...D};return u(tt)},D=t=>t.headers.get("ETag"),P=(a,n,s,r=5,o)=>{let i;return m(a,(async()=>{const t=await fetch(n);return i=D(t),p(await t.text())}),(async t=>{return await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),h(e,((t,e)=>e instanceof Map?l.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(n,{method:"HEAD"}),s=D(a);e(i)||e(s)||s==i||(i=s,t())}),1e3*r)),(e=>t(e)),o,1,{getUrls:()=>[n,s]})};export{P as createRemotePersister};
|
|
Binary file
|