@connecttomahdi/rxdb 17.0.0-beta.17
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/AGENTS.md +54 -0
- package/CHANGELOG.md +2469 -0
- package/CLAUDE.md +63 -0
- package/LICENSE.txt +201 -0
- package/README.md +263 -0
- package/babel.config.js +58 -0
- package/dist/cjs/change-event-buffer.js +146 -0
- package/dist/cjs/change-event-buffer.js.map +1 -0
- package/dist/cjs/custom-index.js +284 -0
- package/dist/cjs/custom-index.js.map +1 -0
- package/dist/cjs/doc-cache.js +231 -0
- package/dist/cjs/doc-cache.js.map +1 -0
- package/dist/cjs/event-reduce.js +102 -0
- package/dist/cjs/event-reduce.js.map +1 -0
- package/dist/cjs/hooks.js +131 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/incremental-write.js +169 -0
- package/dist/cjs/incremental-write.js.map +1 -0
- package/dist/cjs/index.js +270 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/overwritable.js +39 -0
- package/dist/cjs/overwritable.js.map +1 -0
- package/dist/cjs/plugin-helpers.js +223 -0
- package/dist/cjs/plugin-helpers.js.map +1 -0
- package/dist/cjs/plugin.js +94 -0
- package/dist/cjs/plugin.js.map +1 -0
- package/dist/cjs/plugins/attachments/attachments-utils.js +49 -0
- package/dist/cjs/plugins/attachments/attachments-utils.js.map +1 -0
- package/dist/cjs/plugins/attachments/index.js +237 -0
- package/dist/cjs/plugins/attachments/index.js.map +1 -0
- package/dist/cjs/plugins/attachments-compression/index.js +143 -0
- package/dist/cjs/plugins/attachments-compression/index.js.map +1 -0
- package/dist/cjs/plugins/backup/file-util.js +102 -0
- package/dist/cjs/plugins/backup/file-util.js.map +1 -0
- package/dist/cjs/plugins/backup/index.js +206 -0
- package/dist/cjs/plugins/backup/index.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup-helper.js +17 -0
- package/dist/cjs/plugins/cleanup/cleanup-helper.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup-state.js +83 -0
- package/dist/cjs/plugins/cleanup/cleanup-state.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup.js +116 -0
- package/dist/cjs/plugins/cleanup/cleanup.js.map +1 -0
- package/dist/cjs/plugins/cleanup/index.js +64 -0
- package/dist/cjs/plugins/cleanup/index.js.map +1 -0
- package/dist/cjs/plugins/crdt/index.js +392 -0
- package/dist/cjs/plugins/crdt/index.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-document.js +158 -0
- package/dist/cjs/plugins/dev-mode/check-document.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-migration-strategies.js +43 -0
- package/dist/cjs/plugins/dev-mode/check-migration-strategies.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-orm.js +53 -0
- package/dist/cjs/plugins/dev-mode/check-orm.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-query.js +183 -0
- package/dist/cjs/plugins/dev-mode/check-query.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-schema.js +487 -0
- package/dist/cjs/plugins/dev-mode/check-schema.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/dev-mode-tracking.js +93 -0
- package/dist/cjs/plugins/dev-mode/dev-mode-tracking.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/entity-properties.js +56 -0
- package/dist/cjs/plugins/dev-mode/entity-properties.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/error-messages.js +1295 -0
- package/dist/cjs/plugins/dev-mode/error-messages.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/index.js +195 -0
- package/dist/cjs/plugins/dev-mode/index.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/unallowed-properties.js +88 -0
- package/dist/cjs/plugins/dev-mode/unallowed-properties.js.map +1 -0
- package/dist/cjs/plugins/electron/electron-helper.js +9 -0
- package/dist/cjs/plugins/electron/electron-helper.js.map +1 -0
- package/dist/cjs/plugins/electron/index.js +39 -0
- package/dist/cjs/plugins/electron/index.js.map +1 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-main.js +45 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-main.js.map +1 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-renderer.js +37 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-renderer.js.map +1 -0
- package/dist/cjs/plugins/encryption-crypto-js/index.js +165 -0
- package/dist/cjs/plugins/encryption-crypto-js/index.js.map +1 -0
- package/dist/cjs/plugins/flutter/index.js +62 -0
- package/dist/cjs/plugins/flutter/index.js.map +1 -0
- package/dist/cjs/plugins/json-dump/index.js +94 -0
- package/dist/cjs/plugins/json-dump/index.js.map +1 -0
- package/dist/cjs/plugins/key-compression/index.js +136 -0
- package/dist/cjs/plugins/key-compression/index.js.map +1 -0
- package/dist/cjs/plugins/leader-election/index.js +107 -0
- package/dist/cjs/plugins/leader-election/index.js.map +1 -0
- package/dist/cjs/plugins/local-documents/index.js +109 -0
- package/dist/cjs/plugins/local-documents/index.js.map +1 -0
- package/dist/cjs/plugins/local-documents/local-documents-helper.js +78 -0
- package/dist/cjs/plugins/local-documents/local-documents-helper.js.map +1 -0
- package/dist/cjs/plugins/local-documents/local-documents.js +107 -0
- package/dist/cjs/plugins/local-documents/local-documents.js.map +1 -0
- package/dist/cjs/plugins/local-documents/rx-local-document.js +257 -0
- package/dist/cjs/plugins/local-documents/rx-local-document.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/index.js +84 -0
- package/dist/cjs/plugins/migration-schema/index.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/migration-helpers.js +116 -0
- package/dist/cjs/plugins/migration-schema/migration-helpers.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/migration-types.js +2 -0
- package/dist/cjs/plugins/migration-schema/migration-types.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/rx-migration-state.js +410 -0
- package/dist/cjs/plugins/migration-schema/rx-migration-state.js.map +1 -0
- package/dist/cjs/plugins/migration-storage/index.js +173 -0
- package/dist/cjs/plugins/migration-storage/index.js.map +1 -0
- package/dist/cjs/plugins/pipeline/flagged-functions.js +129 -0
- package/dist/cjs/plugins/pipeline/flagged-functions.js.map +1 -0
- package/dist/cjs/plugins/pipeline/index.js +43 -0
- package/dist/cjs/plugins/pipeline/index.js.map +1 -0
- package/dist/cjs/plugins/pipeline/rx-pipeline.js +219 -0
- package/dist/cjs/plugins/pipeline/rx-pipeline.js.map +1 -0
- package/dist/cjs/plugins/pipeline/types.js +2 -0
- package/dist/cjs/plugins/pipeline/types.js.map +1 -0
- package/dist/cjs/plugins/query-builder/index.js +70 -0
- package/dist/cjs/plugins/query-builder/index.js.map +1 -0
- package/dist/cjs/plugins/query-builder/mquery/mquery-utils.js +40 -0
- package/dist/cjs/plugins/query-builder/mquery/mquery-utils.js.map +1 -0
- package/dist/cjs/plugins/query-builder/mquery/nosql-query-builder.js +488 -0
- package/dist/cjs/plugins/query-builder/mquery/nosql-query-builder.js.map +1 -0
- package/dist/cjs/plugins/react/database-context.js +15 -0
- package/dist/cjs/plugins/react/database-context.js.map +1 -0
- package/dist/cjs/plugins/react/database-provider.js +41 -0
- package/dist/cjs/plugins/react/database-provider.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/index.js +50 -0
- package/dist/cjs/plugins/react/hooks/index.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-live-rx-query.js +27 -0
- package/dist/cjs/plugins/react/hooks/use-live-rx-query.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-collection.js +39 -0
- package/dist/cjs/plugins/react/hooks/use-rx-collection.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-database.js +24 -0
- package/dist/cjs/plugins/react/hooks/use-rx-database.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-query.js +99 -0
- package/dist/cjs/plugins/react/hooks/use-rx-query.js.map +1 -0
- package/dist/cjs/plugins/react/index.js +28 -0
- package/dist/cjs/plugins/react/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-angular/index.js +30 -0
- package/dist/cjs/plugins/reactivity-angular/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-preact-signals/index.js +67 -0
- package/dist/cjs/plugins/reactivity-preact-signals/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-vue/index.js +32 -0
- package/dist/cjs/plugins/reactivity-vue/index.js.map +1 -0
- package/dist/cjs/plugins/replication/index.js +487 -0
- package/dist/cjs/plugins/replication/index.js.map +1 -0
- package/dist/cjs/plugins/replication/replication-helper.js +97 -0
- package/dist/cjs/plugins/replication/replication-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-helpers.js +33 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-helpers.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-types.js +2 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-types.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/index.js +176 -0
- package/dist/cjs/plugins/replication-appwrite/index.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-helper.js +77 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-types.js +2 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-types.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/index.js +287 -0
- package/dist/cjs/plugins/replication-couchdb/index.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/firestore-helper.js +61 -0
- package/dist/cjs/plugins/replication-firestore/firestore-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/firestore-types.js +2 -0
- package/dist/cjs/plugins/replication-firestore/firestore-types.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/index.js +266 -0
- package/dist/cjs/plugins/replication-firestore/index.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/document-handling.js +150 -0
- package/dist/cjs/plugins/replication-google-drive/document-handling.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/downstream.js +73 -0
- package/dist/cjs/plugins/replication-google-drive/downstream.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-helper.js +349 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-types.js +2 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-types.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/index.js +233 -0
- package/dist/cjs/plugins/replication-google-drive/index.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/init.js +76 -0
- package/dist/cjs/plugins/replication-google-drive/init.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/multipart.js +74 -0
- package/dist/cjs/plugins/replication-google-drive/multipart.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/signaling.js +262 -0
- package/dist/cjs/plugins/replication-google-drive/signaling.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/transaction.js +134 -0
- package/dist/cjs/plugins/replication-google-drive/transaction.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/upstream.js +182 -0
- package/dist/cjs/plugins/replication-google-drive/upstream.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/graphql-schema-from-rx-schema.js +235 -0
- package/dist/cjs/plugins/replication-graphql/graphql-schema-from-rx-schema.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/graphql-websocket.js +43 -0
- package/dist/cjs/plugins/replication-graphql/graphql-websocket.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/helper.js +29 -0
- package/dist/cjs/plugins/replication-graphql/helper.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/index.js +215 -0
- package/dist/cjs/plugins/replication-graphql/index.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/query-builder-from-rx-schema.js +141 -0
- package/dist/cjs/plugins/replication-graphql/query-builder-from-rx-schema.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/document-handling.js +187 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/document-handling.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/downstream.js +78 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/downstream.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/index.js +222 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/index.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/init.js +76 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/init.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js +273 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js +2 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/signaling.js +235 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/signaling.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/transaction.js +138 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/transaction.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/upstream.js +190 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/upstream.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/index.js +229 -0
- package/dist/cjs/plugins/replication-mongodb/index.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-checkpoint.js +140 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-checkpoint.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-helper.js +53 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-types.js +2 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-types.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/index.js +232 -0
- package/dist/cjs/plugins/replication-nats/index.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/nats-helper.js +13 -0
- package/dist/cjs/plugins/replication-nats/nats-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/nats-types.js +2 -0
- package/dist/cjs/plugins/replication-nats/nats-types.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/helper.js +42 -0
- package/dist/cjs/plugins/replication-supabase/helper.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/index.js +239 -0
- package/dist/cjs/plugins/replication-supabase/index.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/types.js +2 -0
- package/dist/cjs/plugins/replication-supabase/types.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-p2pcf.js +79 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-p2pcf.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-simple-peer.js +199 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-simple-peer.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-webtorrent.js +137 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-webtorrent.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/index.js +260 -0
- package/dist/cjs/plugins/replication-webrtc/index.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/signaling-server.js +151 -0
- package/dist/cjs/plugins/replication-webrtc/signaling-server.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-helper.js +32 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-types.js +2 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-types.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/index.js +39 -0
- package/dist/cjs/plugins/replication-websocket/index.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-client.js +133 -0
- package/dist/cjs/plugins/replication-websocket/websocket-client.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-server.js +108 -0
- package/dist/cjs/plugins/replication-websocket/websocket-server.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-types.js +2 -0
- package/dist/cjs/plugins/replication-websocket/websocket-types.js.map +1 -0
- package/dist/cjs/plugins/state/helpers.js +81 -0
- package/dist/cjs/plugins/state/helpers.js.map +1 -0
- package/dist/cjs/plugins/state/index.js +42 -0
- package/dist/cjs/plugins/state/index.js.map +1 -0
- package/dist/cjs/plugins/state/rx-state.js +293 -0
- package/dist/cjs/plugins/state/rx-state.js.map +1 -0
- package/dist/cjs/plugins/state/types.js +2 -0
- package/dist/cjs/plugins/state/types.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-helper.js +49 -0
- package/dist/cjs/plugins/storage-denokv/denokv-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-query.js +99 -0
- package/dist/cjs/plugins/storage-denokv/denokv-query.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-types.js +2 -0
- package/dist/cjs/plugins/storage-denokv/denokv-types.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/index.js +31 -0
- package/dist/cjs/plugins/storage-denokv/index.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/rx-storage-instance-denokv.js +332 -0
- package/dist/cjs/plugins/storage-denokv/rx-storage-instance-denokv.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/dexie-helper.js +259 -0
- package/dist/cjs/plugins/storage-dexie/dexie-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/dexie-query.js +178 -0
- package/dist/cjs/plugins/storage-dexie/dexie-query.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/index.js +50 -0
- package/dist/cjs/plugins/storage-dexie/index.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-dexie.js +46 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-dexie.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-instance-dexie.js +229 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-instance-dexie.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-helpers.js +13 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-query.js +96 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-query.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-types.js +2 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-types.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/index.js +62 -0
- package/dist/cjs/plugins/storage-foundationdb/index.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js +309 -0
- package/dist/cjs/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/index.js +45 -0
- package/dist/cjs/plugins/storage-localstorage/index.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/localstorage-mock.js +38 -0
- package/dist/cjs/plugins/storage-localstorage/localstorage-mock.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/rx-storage-instance-localstorage.js +443 -0
- package/dist/cjs/plugins/storage-localstorage/rx-storage-instance-localstorage.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/binary-search-bounds.js +113 -0
- package/dist/cjs/plugins/storage-memory/binary-search-bounds.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/index.js +91 -0
- package/dist/cjs/plugins/storage-memory/index.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-helper.js +177 -0
- package/dist/cjs/plugins/storage-memory/memory-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-indexes.js +28 -0
- package/dist/cjs/plugins/storage-memory/memory-indexes.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-types.js +2 -0
- package/dist/cjs/plugins/storage-memory/memory-types.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/rx-storage-instance-memory.js +371 -0
- package/dist/cjs/plugins/storage-memory/rx-storage-instance-memory.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/index.js +50 -0
- package/dist/cjs/plugins/storage-mongodb/index.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-helper.js +97 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-types.js +2 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-types.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-instance-mongodb.js +324 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-instance-mongodb.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-mongodb.js +29 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-mongodb.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/index.js +61 -0
- package/dist/cjs/plugins/storage-remote/index.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/message-channel-cache.js +52 -0
- package/dist/cjs/plugins/storage-remote/message-channel-cache.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/remote.js +217 -0
- package/dist/cjs/plugins/storage-remote/remote.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/rx-storage-remote.js +199 -0
- package/dist/cjs/plugins/storage-remote/rx-storage-remote.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-helpers.js +25 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-types.js +2 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-types.js.map +1 -0
- package/dist/cjs/plugins/storage-remote-websocket/index.js +183 -0
- package/dist/cjs/plugins/storage-remote-websocket/index.js.map +1 -0
- package/dist/cjs/plugins/storage-remote-websocket/types.js +2 -0
- package/dist/cjs/plugins/storage-remote-websocket/types.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/index.js +84 -0
- package/dist/cjs/plugins/storage-sqlite/index.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-basics-helpers.js +530 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-basics-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-helpers.js +203 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-storage-instance.js +291 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-storage-instance.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-types.js +2 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-types.js.map +1 -0
- package/dist/cjs/plugins/test-utils/config.js +120 -0
- package/dist/cjs/plugins/test-utils/config.js.map +1 -0
- package/dist/cjs/plugins/test-utils/humans-collection.js +420 -0
- package/dist/cjs/plugins/test-utils/humans-collection.js.map +1 -0
- package/dist/cjs/plugins/test-utils/index.js +130 -0
- package/dist/cjs/plugins/test-utils/index.js.map +1 -0
- package/dist/cjs/plugins/test-utils/performance.js +275 -0
- package/dist/cjs/plugins/test-utils/performance.js.map +1 -0
- package/dist/cjs/plugins/test-utils/replication-base-test-suite.js +179 -0
- package/dist/cjs/plugins/test-utils/replication-base-test-suite.js.map +1 -0
- package/dist/cjs/plugins/test-utils/replication.js +54 -0
- package/dist/cjs/plugins/test-utils/replication.js.map +1 -0
- package/dist/cjs/plugins/test-utils/revisions.js +11 -0
- package/dist/cjs/plugins/test-utils/revisions.js.map +1 -0
- package/dist/cjs/plugins/test-utils/schema-objects.js +315 -0
- package/dist/cjs/plugins/test-utils/schema-objects.js.map +1 -0
- package/dist/cjs/plugins/test-utils/schemas.js +1254 -0
- package/dist/cjs/plugins/test-utils/schemas.js.map +1 -0
- package/dist/cjs/plugins/test-utils/test-util.js +72 -0
- package/dist/cjs/plugins/test-utils/test-util.js.map +1 -0
- package/dist/cjs/plugins/update/index.js +45 -0
- package/dist/cjs/plugins/update/index.js.map +1 -0
- package/dist/cjs/plugins/update/mingo-updater.js +20 -0
- package/dist/cjs/plugins/update/mingo-updater.js.map +1 -0
- package/dist/cjs/plugins/utils/index.js +226 -0
- package/dist/cjs/plugins/utils/index.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-array.js +150 -0
- package/dist/cjs/plugins/utils/utils-array.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-base64.js +57 -0
- package/dist/cjs/plugins/utils/utils-base64.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-blob.js +62 -0
- package/dist/cjs/plugins/utils/utils-blob.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-document.js +100 -0
- package/dist/cjs/plugins/utils/utils-document.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-error.js +42 -0
- package/dist/cjs/plugins/utils/utils-error.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-global.js +12 -0
- package/dist/cjs/plugins/utils/utils-global.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-hash.js +59 -0
- package/dist/cjs/plugins/utils/utils-hash.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-map.js +25 -0
- package/dist/cjs/plugins/utils/utils-map.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-number.js +16 -0
- package/dist/cjs/plugins/utils/utils-number.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object-deep-equal.js +42 -0
- package/dist/cjs/plugins/utils/utils-object-deep-equal.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object-dot-prop.js +306 -0
- package/dist/cjs/plugins/utils/utils-object-dot-prop.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object.js +245 -0
- package/dist/cjs/plugins/utils/utils-object.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-other.js +69 -0
- package/dist/cjs/plugins/utils/utils-other.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-premium.js +37 -0
- package/dist/cjs/plugins/utils/utils-premium.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-promise.js +149 -0
- package/dist/cjs/plugins/utils/utils-promise.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-regex.js +9 -0
- package/dist/cjs/plugins/utils/utils-regex.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-revision.js +60 -0
- package/dist/cjs/plugins/utils/utils-revision.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.js +11 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.template.js +11 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.template.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-string.js +97 -0
- package/dist/cjs/plugins/utils/utils-string.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-time.js +42 -0
- package/dist/cjs/plugins/utils/utils-time.js.map +1 -0
- package/dist/cjs/plugins/validate-ajv/index.js +53 -0
- package/dist/cjs/plugins/validate-ajv/index.js.map +1 -0
- package/dist/cjs/plugins/validate-is-my-json-valid/index.js +29 -0
- package/dist/cjs/plugins/validate-is-my-json-valid/index.js.map +1 -0
- package/dist/cjs/plugins/validate-z-schema/index.js +58 -0
- package/dist/cjs/plugins/validate-z-schema/index.js.map +1 -0
- package/dist/cjs/plugins/vector/helper.js +2 -0
- package/dist/cjs/plugins/vector/helper.js.map +1 -0
- package/dist/cjs/plugins/vector/index.js +17 -0
- package/dist/cjs/plugins/vector/index.js.map +1 -0
- package/dist/cjs/plugins/vector/types.js +2 -0
- package/dist/cjs/plugins/vector/types.js.map +1 -0
- package/dist/cjs/plugins/vector/vector-distance.js +38 -0
- package/dist/cjs/plugins/vector/vector-distance.js.map +1 -0
- package/dist/cjs/plugins/webmcp/index.js +28 -0
- package/dist/cjs/plugins/webmcp/index.js.map +1 -0
- package/dist/cjs/plugins/webmcp/nosql-query-schema.js +360 -0
- package/dist/cjs/plugins/webmcp/nosql-query-schema.js.map +1 -0
- package/dist/cjs/plugins/webmcp/webmcp.js +315 -0
- package/dist/cjs/plugins/webmcp/webmcp.js.map +1 -0
- package/dist/cjs/query-cache.js +110 -0
- package/dist/cjs/query-cache.js.map +1 -0
- package/dist/cjs/query-planner.js +307 -0
- package/dist/cjs/query-planner.js.map +1 -0
- package/dist/cjs/replication-protocol/checkpoint.js +103 -0
- package/dist/cjs/replication-protocol/checkpoint.js.map +1 -0
- package/dist/cjs/replication-protocol/conflicts.js +36 -0
- package/dist/cjs/replication-protocol/conflicts.js.map +1 -0
- package/dist/cjs/replication-protocol/default-conflict-handler.js +39 -0
- package/dist/cjs/replication-protocol/default-conflict-handler.js.map +1 -0
- package/dist/cjs/replication-protocol/downstream.js +339 -0
- package/dist/cjs/replication-protocol/downstream.js.map +1 -0
- package/dist/cjs/replication-protocol/helper.js +58 -0
- package/dist/cjs/replication-protocol/helper.js.map +1 -0
- package/dist/cjs/replication-protocol/index.js +314 -0
- package/dist/cjs/replication-protocol/index.js.map +1 -0
- package/dist/cjs/replication-protocol/meta-instance.js +130 -0
- package/dist/cjs/replication-protocol/meta-instance.js.map +1 -0
- package/dist/cjs/replication-protocol/upstream.js +384 -0
- package/dist/cjs/replication-protocol/upstream.js.map +1 -0
- package/dist/cjs/rx-change-event.js +112 -0
- package/dist/cjs/rx-change-event.js.map +1 -0
- package/dist/cjs/rx-collection-helper.js +205 -0
- package/dist/cjs/rx-collection-helper.js.map +1 -0
- package/dist/cjs/rx-collection.js +931 -0
- package/dist/cjs/rx-collection.js.map +1 -0
- package/dist/cjs/rx-database-internal-store.js +283 -0
- package/dist/cjs/rx-database-internal-store.js.map +1 -0
- package/dist/cjs/rx-database.js +682 -0
- package/dist/cjs/rx-database.js.map +1 -0
- package/dist/cjs/rx-document-prototype-merge.js +87 -0
- package/dist/cjs/rx-document-prototype-merge.js.map +1 -0
- package/dist/cjs/rx-document.js +404 -0
- package/dist/cjs/rx-document.js.map +1 -0
- package/dist/cjs/rx-error.js +167 -0
- package/dist/cjs/rx-error.js.map +1 -0
- package/dist/cjs/rx-query-helper.js +277 -0
- package/dist/cjs/rx-query-helper.js.map +1 -0
- package/dist/cjs/rx-query-mingo.js +60 -0
- package/dist/cjs/rx-query-mingo.js.map +1 -0
- package/dist/cjs/rx-query-single-result.js +105 -0
- package/dist/cjs/rx-query-single-result.js.map +1 -0
- package/dist/cjs/rx-query.js +703 -0
- package/dist/cjs/rx-query.js.map +1 -0
- package/dist/cjs/rx-schema-helper.js +333 -0
- package/dist/cjs/rx-schema-helper.js.map +1 -0
- package/dist/cjs/rx-schema.js +189 -0
- package/dist/cjs/rx-schema.js.map +1 -0
- package/dist/cjs/rx-storage-helper.js +808 -0
- package/dist/cjs/rx-storage-helper.js.map +1 -0
- package/dist/cjs/rx-storage-multiinstance.js +121 -0
- package/dist/cjs/rx-storage-multiinstance.js.map +1 -0
- package/dist/cjs/types/conflict-handling.d.js +2 -0
- package/dist/cjs/types/conflict-handling.d.js.map +1 -0
- package/dist/cjs/types/couchdb.d.js +2 -0
- package/dist/cjs/types/couchdb.d.js.map +1 -0
- package/dist/cjs/types/index.d.js +2 -0
- package/dist/cjs/types/index.d.js.map +1 -0
- package/dist/cjs/types/modules/index.d.js +2 -0
- package/dist/cjs/types/modules/index.d.js.map +1 -0
- package/dist/cjs/types/modules/mocha.parallel.d.js +2 -0
- package/dist/cjs/types/modules/mocha.parallel.d.js.map +1 -0
- package/dist/cjs/types/plugins/backup.d.js +2 -0
- package/dist/cjs/types/plugins/backup.d.js.map +1 -0
- package/dist/cjs/types/plugins/cleanup.d.js +2 -0
- package/dist/cjs/types/plugins/cleanup.d.js.map +1 -0
- package/dist/cjs/types/plugins/crdt.d.js +2 -0
- package/dist/cjs/types/plugins/crdt.d.js.map +1 -0
- package/dist/cjs/types/plugins/dexie.d.js +2 -0
- package/dist/cjs/types/plugins/dexie.d.js.map +1 -0
- package/dist/cjs/types/plugins/local-documents.d.js +2 -0
- package/dist/cjs/types/plugins/local-documents.d.js.map +1 -0
- package/dist/cjs/types/plugins/migration.d.js +2 -0
- package/dist/cjs/types/plugins/migration.d.js.map +1 -0
- package/dist/cjs/types/plugins/reactivity.d.js +2 -0
- package/dist/cjs/types/plugins/reactivity.d.js.map +1 -0
- package/dist/cjs/types/plugins/replication-graphql.d.js +2 -0
- package/dist/cjs/types/plugins/replication-graphql.d.js.map +1 -0
- package/dist/cjs/types/plugins/replication.d.js +2 -0
- package/dist/cjs/types/plugins/replication.d.js.map +1 -0
- package/dist/cjs/types/plugins/state.d.js +2 -0
- package/dist/cjs/types/plugins/state.d.js.map +1 -0
- package/dist/cjs/types/plugins/update.d.js +2 -0
- package/dist/cjs/types/plugins/update.d.js.map +1 -0
- package/dist/cjs/types/plugins/webmcp.d.js +2 -0
- package/dist/cjs/types/plugins/webmcp.d.js.map +1 -0
- package/dist/cjs/types/query-planner.d.js +2 -0
- package/dist/cjs/types/query-planner.d.js.map +1 -0
- package/dist/cjs/types/replication-protocol.d.js +2 -0
- package/dist/cjs/types/replication-protocol.d.js.map +1 -0
- package/dist/cjs/types/rx-attachment.d.js +2 -0
- package/dist/cjs/types/rx-attachment.d.js.map +1 -0
- package/dist/cjs/types/rx-change-event.d.js +2 -0
- package/dist/cjs/types/rx-change-event.d.js.map +1 -0
- package/dist/cjs/types/rx-collection.d.js +2 -0
- package/dist/cjs/types/rx-collection.d.js.map +1 -0
- package/dist/cjs/types/rx-database-internal-store.d.js +2 -0
- package/dist/cjs/types/rx-database-internal-store.d.js.map +1 -0
- package/dist/cjs/types/rx-database.d.js +2 -0
- package/dist/cjs/types/rx-database.d.js.map +1 -0
- package/dist/cjs/types/rx-document.d.js +2 -0
- package/dist/cjs/types/rx-document.d.js.map +1 -0
- package/dist/cjs/types/rx-error.d.js +2 -0
- package/dist/cjs/types/rx-error.d.js.map +1 -0
- package/dist/cjs/types/rx-plugin.d.js +2 -0
- package/dist/cjs/types/rx-plugin.d.js.map +1 -0
- package/dist/cjs/types/rx-query.d.js +2 -0
- package/dist/cjs/types/rx-query.d.js.map +1 -0
- package/dist/cjs/types/rx-schema.d.js +2 -0
- package/dist/cjs/types/rx-schema.d.js.map +1 -0
- package/dist/cjs/types/rx-storage.d.js +2 -0
- package/dist/cjs/types/rx-storage.d.js.map +1 -0
- package/dist/cjs/types/rx-storage.interface.d.js +2 -0
- package/dist/cjs/types/rx-storage.interface.d.js.map +1 -0
- package/dist/cjs/types/util.d.js +2 -0
- package/dist/cjs/types/util.d.js.map +1 -0
- package/dist/esm/change-event-buffer.js +141 -0
- package/dist/esm/change-event-buffer.js.map +1 -0
- package/dist/esm/custom-index.js +271 -0
- package/dist/esm/custom-index.js.map +1 -0
- package/dist/esm/doc-cache.js +227 -0
- package/dist/esm/doc-cache.js.map +1 -0
- package/dist/esm/event-reduce.js +93 -0
- package/dist/esm/event-reduce.js.map +1 -0
- package/dist/esm/hooks.js +122 -0
- package/dist/esm/hooks.js.map +1 -0
- package/dist/esm/incremental-write.js +161 -0
- package/dist/esm/incremental-write.js.map +1 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/overwritable.js +33 -0
- package/dist/esm/overwritable.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/plugin-helpers.js +217 -0
- package/dist/esm/plugin-helpers.js.map +1 -0
- package/dist/esm/plugin.js +88 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/esm/plugins/attachments/attachments-utils.js +41 -0
- package/dist/esm/plugins/attachments/attachments-utils.js.map +1 -0
- package/dist/esm/plugins/attachments/index.js +202 -0
- package/dist/esm/plugins/attachments/index.js.map +1 -0
- package/dist/esm/plugins/attachments-compression/index.js +134 -0
- package/dist/esm/plugins/attachments-compression/index.js.map +1 -0
- package/dist/esm/plugins/backup/file-util.js +87 -0
- package/dist/esm/plugins/backup/file-util.js.map +1 -0
- package/dist/esm/plugins/backup/index.js +183 -0
- package/dist/esm/plugins/backup/index.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup-helper.js +11 -0
- package/dist/esm/plugins/cleanup/cleanup-helper.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup-state.js +75 -0
- package/dist/esm/plugins/cleanup/cleanup-state.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup.js +108 -0
- package/dist/esm/plugins/cleanup/cleanup.js.map +1 -0
- package/dist/esm/plugins/cleanup/index.js +35 -0
- package/dist/esm/plugins/cleanup/index.js.map +1 -0
- package/dist/esm/plugins/crdt/index.js +378 -0
- package/dist/esm/plugins/crdt/index.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-document.js +150 -0
- package/dist/esm/plugins/dev-mode/check-document.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-migration-strategies.js +38 -0
- package/dist/esm/plugins/dev-mode/check-migration-strategies.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-orm.js +47 -0
- package/dist/esm/plugins/dev-mode/check-orm.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-query.js +174 -0
- package/dist/esm/plugins/dev-mode/check-query.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-schema.js +478 -0
- package/dist/esm/plugins/dev-mode/check-schema.js.map +1 -0
- package/dist/esm/plugins/dev-mode/dev-mode-tracking.js +87 -0
- package/dist/esm/plugins/dev-mode/dev-mode-tracking.js.map +1 -0
- package/dist/esm/plugins/dev-mode/entity-properties.js +49 -0
- package/dist/esm/plugins/dev-mode/entity-properties.js.map +1 -0
- package/dist/esm/plugins/dev-mode/error-messages.js +1289 -0
- package/dist/esm/plugins/dev-mode/error-messages.js.map +1 -0
- package/dist/esm/plugins/dev-mode/index.js +151 -0
- package/dist/esm/plugins/dev-mode/index.js.map +1 -0
- package/dist/esm/plugins/dev-mode/unallowed-properties.js +81 -0
- package/dist/esm/plugins/dev-mode/unallowed-properties.js.map +1 -0
- package/dist/esm/plugins/electron/electron-helper.js +3 -0
- package/dist/esm/plugins/electron/electron-helper.js.map +1 -0
- package/dist/esm/plugins/electron/index.js +4 -0
- package/dist/esm/plugins/electron/index.js.map +1 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-main.js +39 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-main.js.map +1 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-renderer.js +31 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-renderer.js.map +1 -0
- package/dist/esm/plugins/encryption-crypto-js/index.js +154 -0
- package/dist/esm/plugins/encryption-crypto-js/index.js.map +1 -0
- package/dist/esm/plugins/flutter/index.js +55 -0
- package/dist/esm/plugins/flutter/index.js.map +1 -0
- package/dist/esm/plugins/json-dump/index.js +87 -0
- package/dist/esm/plugins/json-dump/index.js.map +1 -0
- package/dist/esm/plugins/key-compression/index.js +127 -0
- package/dist/esm/plugins/key-compression/index.js.map +1 -0
- package/dist/esm/plugins/leader-election/index.js +95 -0
- package/dist/esm/plugins/leader-election/index.js.map +1 -0
- package/dist/esm/plugins/local-documents/index.js +70 -0
- package/dist/esm/plugins/local-documents/index.js.map +1 -0
- package/dist/esm/plugins/local-documents/local-documents-helper.js +67 -0
- package/dist/esm/plugins/local-documents/local-documents-helper.js.map +1 -0
- package/dist/esm/plugins/local-documents/local-documents.js +99 -0
- package/dist/esm/plugins/local-documents/local-documents.js.map +1 -0
- package/dist/esm/plugins/local-documents/rx-local-document.js +248 -0
- package/dist/esm/plugins/local-documents/rx-local-document.js.map +1 -0
- package/dist/esm/plugins/migration-schema/index.js +42 -0
- package/dist/esm/plugins/migration-schema/index.js.map +1 -0
- package/dist/esm/plugins/migration-schema/migration-helpers.js +103 -0
- package/dist/esm/plugins/migration-schema/migration-helpers.js.map +1 -0
- package/dist/esm/plugins/migration-schema/migration-types.js +3 -0
- package/dist/esm/plugins/migration-schema/migration-types.js.map +1 -0
- package/dist/esm/plugins/migration-schema/rx-migration-state.js +404 -0
- package/dist/esm/plugins/migration-schema/rx-migration-state.js.map +1 -0
- package/dist/esm/plugins/migration-storage/index.js +166 -0
- package/dist/esm/plugins/migration-storage/index.js.map +1 -0
- package/dist/esm/plugins/pipeline/flagged-functions.js +122 -0
- package/dist/esm/plugins/pipeline/flagged-functions.js.map +1 -0
- package/dist/esm/plugins/pipeline/index.js +13 -0
- package/dist/esm/plugins/pipeline/index.js.map +1 -0
- package/dist/esm/plugins/pipeline/rx-pipeline.js +210 -0
- package/dist/esm/plugins/pipeline/rx-pipeline.js.map +1 -0
- package/dist/esm/plugins/pipeline/types.js +3 -0
- package/dist/esm/plugins/pipeline/types.js.map +1 -0
- package/dist/esm/plugins/query-builder/index.js +48 -0
- package/dist/esm/plugins/query-builder/index.js.map +1 -0
- package/dist/esm/plugins/query-builder/mquery/mquery-utils.js +33 -0
- package/dist/esm/plugins/query-builder/mquery/mquery-utils.js.map +1 -0
- package/dist/esm/plugins/query-builder/mquery/nosql-query-builder.js +478 -0
- package/dist/esm/plugins/query-builder/mquery/nosql-query-builder.js.map +1 -0
- package/dist/esm/plugins/react/database-context.js +8 -0
- package/dist/esm/plugins/react/database-context.js.map +1 -0
- package/dist/esm/plugins/react/database-provider.js +34 -0
- package/dist/esm/plugins/react/database-provider.js.map +1 -0
- package/dist/esm/plugins/react/hooks/index.js +5 -0
- package/dist/esm/plugins/react/hooks/index.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-live-rx-query.js +22 -0
- package/dist/esm/plugins/react/hooks/use-live-rx-query.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-collection.js +34 -0
- package/dist/esm/plugins/react/hooks/use-rx-collection.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-database.js +19 -0
- package/dist/esm/plugins/react/hooks/use-rx-database.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-query.js +92 -0
- package/dist/esm/plugins/react/hooks/use-rx-query.js.map +1 -0
- package/dist/esm/plugins/react/index.js +3 -0
- package/dist/esm/plugins/react/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-angular/index.js +25 -0
- package/dist/esm/plugins/reactivity-angular/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-preact-signals/index.js +62 -0
- package/dist/esm/plugins/reactivity-preact-signals/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-vue/index.js +27 -0
- package/dist/esm/plugins/reactivity-vue/index.js.map +1 -0
- package/dist/esm/plugins/replication/index.js +479 -0
- package/dist/esm/plugins/replication/index.js.map +1 -0
- package/dist/esm/plugins/replication/replication-helper.js +86 -0
- package/dist/esm/plugins/replication/replication-helper.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-helpers.js +26 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-helpers.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-types.js +3 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-types.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/index.js +168 -0
- package/dist/esm/plugins/replication-appwrite/index.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-helper.js +65 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-helper.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-types.js +3 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-types.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/index.js +254 -0
- package/dist/esm/plugins/replication-couchdb/index.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/firestore-helper.js +49 -0
- package/dist/esm/plugins/replication-firestore/firestore-helper.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/firestore-types.js +3 -0
- package/dist/esm/plugins/replication-firestore/firestore-types.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/index.js +233 -0
- package/dist/esm/plugins/replication-firestore/index.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/document-handling.js +140 -0
- package/dist/esm/plugins/replication-google-drive/document-handling.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/downstream.js +66 -0
- package/dist/esm/plugins/replication-google-drive/downstream.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-helper.js +331 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-helper.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-types.js +3 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-types.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/index.js +126 -0
- package/dist/esm/plugins/replication-google-drive/index.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/init.js +70 -0
- package/dist/esm/plugins/replication-google-drive/init.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/multipart.js +67 -0
- package/dist/esm/plugins/replication-google-drive/multipart.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/signaling.js +253 -0
- package/dist/esm/plugins/replication-google-drive/signaling.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/transaction.js +123 -0
- package/dist/esm/plugins/replication-google-drive/transaction.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/upstream.js +171 -0
- package/dist/esm/plugins/replication-google-drive/upstream.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/graphql-schema-from-rx-schema.js +228 -0
- package/dist/esm/plugins/replication-graphql/graphql-schema-from-rx-schema.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/graphql-websocket.js +35 -0
- package/dist/esm/plugins/replication-graphql/graphql-websocket.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/helper.js +21 -0
- package/dist/esm/plugins/replication-graphql/helper.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/index.js +161 -0
- package/dist/esm/plugins/replication-graphql/index.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/query-builder-from-rx-schema.js +133 -0
- package/dist/esm/plugins/replication-graphql/query-builder-from-rx-schema.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/document-handling.js +178 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/document-handling.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/downstream.js +71 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/downstream.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/index.js +126 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/index.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/init.js +70 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/init.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js +258 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js +3 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/signaling.js +226 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/signaling.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/transaction.js +127 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/transaction.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/upstream.js +179 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/upstream.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/index.js +197 -0
- package/dist/esm/plugins/replication-mongodb/index.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-checkpoint.js +131 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-checkpoint.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-helper.js +45 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-helper.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-types.js +3 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-types.js.map +1 -0
- package/dist/esm/plugins/replication-nats/index.js +199 -0
- package/dist/esm/plugins/replication-nats/index.js.map +1 -0
- package/dist/esm/plugins/replication-nats/nats-helper.js +7 -0
- package/dist/esm/plugins/replication-nats/nats-helper.js.map +1 -0
- package/dist/esm/plugins/replication-nats/nats-types.js +3 -0
- package/dist/esm/plugins/replication-nats/nats-types.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/helper.js +35 -0
- package/dist/esm/plugins/replication-supabase/helper.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/index.js +231 -0
- package/dist/esm/plugins/replication-supabase/index.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/types.js +3 -0
- package/dist/esm/plugins/replication-supabase/types.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-p2pcf.js +78 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-p2pcf.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-simple-peer.js +192 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-simple-peer.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-webtorrent.js +136 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-webtorrent.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/index.js +207 -0
- package/dist/esm/plugins/replication-webrtc/index.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/signaling-server.js +144 -0
- package/dist/esm/plugins/replication-webrtc/signaling-server.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-helper.js +26 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-helper.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-types.js +3 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-types.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/index.js +4 -0
- package/dist/esm/plugins/replication-websocket/index.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-client.js +125 -0
- package/dist/esm/plugins/replication-websocket/websocket-client.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-server.js +100 -0
- package/dist/esm/plugins/replication-websocket/websocket-server.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-types.js +3 -0
- package/dist/esm/plugins/replication-websocket/websocket-types.js.map +1 -0
- package/dist/esm/plugins/state/helpers.js +73 -0
- package/dist/esm/plugins/state/helpers.js.map +1 -0
- package/dist/esm/plugins/state/index.js +20 -0
- package/dist/esm/plugins/state/index.js.map +1 -0
- package/dist/esm/plugins/state/rx-state.js +285 -0
- package/dist/esm/plugins/state/rx-state.js.map +1 -0
- package/dist/esm/plugins/state/types.js +3 -0
- package/dist/esm/plugins/state/types.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-helper.js +40 -0
- package/dist/esm/plugins/storage-denokv/denokv-helper.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-query.js +93 -0
- package/dist/esm/plugins/storage-denokv/denokv-query.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-types.js +3 -0
- package/dist/esm/plugins/storage-denokv/denokv-types.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/index.js +24 -0
- package/dist/esm/plugins/storage-denokv/index.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/rx-storage-instance-denokv.js +325 -0
- package/dist/esm/plugins/storage-denokv/rx-storage-instance-denokv.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/dexie-helper.js +241 -0
- package/dist/esm/plugins/storage-dexie/dexie-helper.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/dexie-query.js +169 -0
- package/dist/esm/plugins/storage-dexie/dexie-query.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/index.js +5 -0
- package/dist/esm/plugins/storage-dexie/index.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-dexie.js +39 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-dexie.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-instance-dexie.js +222 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-instance-dexie.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-helpers.js +6 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-query.js +90 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-query.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-types.js +3 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-types.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/index.js +31 -0
- package/dist/esm/plugins/storage-foundationdb/index.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js +302 -0
- package/dist/esm/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/index.js +23 -0
- package/dist/esm/plugins/storage-localstorage/index.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/localstorage-mock.js +33 -0
- package/dist/esm/plugins/storage-localstorage/localstorage-mock.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/rx-storage-instance-localstorage.js +432 -0
- package/dist/esm/plugins/storage-localstorage/rx-storage-instance-localstorage.js.map +1 -0
- package/dist/esm/plugins/storage-memory/binary-search-bounds.js +103 -0
- package/dist/esm/plugins/storage-memory/binary-search-bounds.js.map +1 -0
- package/dist/esm/plugins/storage-memory/index.js +29 -0
- package/dist/esm/plugins/storage-memory/index.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-helper.js +165 -0
- package/dist/esm/plugins/storage-memory/memory-helper.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-indexes.js +21 -0
- package/dist/esm/plugins/storage-memory/memory-indexes.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-types.js +3 -0
- package/dist/esm/plugins/storage-memory/memory-types.js.map +1 -0
- package/dist/esm/plugins/storage-memory/rx-storage-instance-memory.js +364 -0
- package/dist/esm/plugins/storage-memory/rx-storage-instance-memory.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/index.js +5 -0
- package/dist/esm/plugins/storage-mongodb/index.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-helper.js +85 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-helper.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-types.js +3 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-types.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-instance-mongodb.js +316 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-instance-mongodb.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-mongodb.js +22 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-mongodb.js.map +1 -0
- package/dist/esm/plugins/storage-remote/index.js +6 -0
- package/dist/esm/plugins/storage-remote/index.js.map +1 -0
- package/dist/esm/plugins/storage-remote/message-channel-cache.js +44 -0
- package/dist/esm/plugins/storage-remote/message-channel-cache.js.map +1 -0
- package/dist/esm/plugins/storage-remote/remote.js +212 -0
- package/dist/esm/plugins/storage-remote/remote.js.map +1 -0
- package/dist/esm/plugins/storage-remote/rx-storage-remote.js +193 -0
- package/dist/esm/plugins/storage-remote/rx-storage-remote.js.map +1 -0
- package/dist/esm/plugins/storage-remote/storage-remote-helpers.js +18 -0
- package/dist/esm/plugins/storage-remote/storage-remote-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-remote/storage-remote-types.js +3 -0
- package/dist/esm/plugins/storage-remote/storage-remote-types.js.map +1 -0
- package/dist/esm/plugins/storage-remote-websocket/index.js +161 -0
- package/dist/esm/plugins/storage-remote-websocket/index.js.map +1 -0
- package/dist/esm/plugins/storage-remote-websocket/types.js +3 -0
- package/dist/esm/plugins/storage-remote-websocket/types.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/index.js +31 -0
- package/dist/esm/plugins/storage-sqlite/index.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-basics-helpers.js +510 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-basics-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-helpers.js +187 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-storage-instance.js +283 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-storage-instance.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-types.js +3 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-types.js.map +1 -0
- package/dist/esm/plugins/test-utils/config.js +104 -0
- package/dist/esm/plugins/test-utils/config.js.map +1 -0
- package/dist/esm/plugins/test-utils/humans-collection.js +397 -0
- package/dist/esm/plugins/test-utils/humans-collection.js.map +1 -0
- package/dist/esm/plugins/test-utils/index.js +22 -0
- package/dist/esm/plugins/test-utils/index.js.map +1 -0
- package/dist/esm/plugins/test-utils/performance.js +267 -0
- package/dist/esm/plugins/test-utils/performance.js.map +1 -0
- package/dist/esm/plugins/test-utils/replication-base-test-suite.js +170 -0
- package/dist/esm/plugins/test-utils/replication-base-test-suite.js.map +1 -0
- package/dist/esm/plugins/test-utils/replication.js +46 -0
- package/dist/esm/plugins/test-utils/replication.js.map +1 -0
- package/dist/esm/plugins/test-utils/revisions.js +5 -0
- package/dist/esm/plugins/test-utils/revisions.js.map +1 -0
- package/dist/esm/plugins/test-utils/schema-objects.js +283 -0
- package/dist/esm/plugins/test-utils/schema-objects.js.map +1 -0
- package/dist/esm/plugins/test-utils/schemas.js +1244 -0
- package/dist/esm/plugins/test-utils/schemas.js.map +1 -0
- package/dist/esm/plugins/test-utils/test-util.js +62 -0
- package/dist/esm/plugins/test-utils/test-util.js.map +1 -0
- package/dist/esm/plugins/update/index.js +35 -0
- package/dist/esm/plugins/update/index.js.map +1 -0
- package/dist/esm/plugins/update/mingo-updater.js +13 -0
- package/dist/esm/plugins/update/mingo-updater.js.map +1 -0
- package/dist/esm/plugins/utils/index.js +21 -0
- package/dist/esm/plugins/utils/index.js.map +1 -0
- package/dist/esm/plugins/utils/utils-array.js +130 -0
- package/dist/esm/plugins/utils/utils-array.js.map +1 -0
- package/dist/esm/plugins/utils/utils-base64.js +48 -0
- package/dist/esm/plugins/utils/utils-base64.js.map +1 -0
- package/dist/esm/plugins/utils/utils-blob.js +54 -0
- package/dist/esm/plugins/utils/utils-blob.js.map +1 -0
- package/dist/esm/plugins/utils/utils-document.js +87 -0
- package/dist/esm/plugins/utils/utils-document.js.map +1 -0
- package/dist/esm/plugins/utils/utils-error.js +36 -0
- package/dist/esm/plugins/utils/utils-error.js.map +1 -0
- package/dist/esm/plugins/utils/utils-global.js +6 -0
- package/dist/esm/plugins/utils/utils-global.js.map +1 -0
- package/dist/esm/plugins/utils/utils-hash.js +51 -0
- package/dist/esm/plugins/utils/utils-hash.js.map +1 -0
- package/dist/esm/plugins/utils/utils-map.js +18 -0
- package/dist/esm/plugins/utils/utils-map.js.map +1 -0
- package/dist/esm/plugins/utils/utils-number.js +10 -0
- package/dist/esm/plugins/utils/utils-number.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object-deep-equal.js +36 -0
- package/dist/esm/plugins/utils/utils-object-deep-equal.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object-dot-prop.js +296 -0
- package/dist/esm/plugins/utils/utils-object-dot-prop.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object.js +228 -0
- package/dist/esm/plugins/utils/utils-object.js.map +1 -0
- package/dist/esm/plugins/utils/utils-other.js +58 -0
- package/dist/esm/plugins/utils/utils-other.js.map +1 -0
- package/dist/esm/plugins/utils/utils-premium.js +30 -0
- package/dist/esm/plugins/utils/utils-premium.js.map +1 -0
- package/dist/esm/plugins/utils/utils-promise.js +134 -0
- package/dist/esm/plugins/utils/utils-promise.js.map +1 -0
- package/dist/esm/plugins/utils/utils-regex.js +3 -0
- package/dist/esm/plugins/utils/utils-regex.js.map +1 -0
- package/dist/esm/plugins/utils/utils-revision.js +53 -0
- package/dist/esm/plugins/utils/utils-revision.js.map +1 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.js +5 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.js.map +1 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.template.js +5 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.template.js.map +1 -0
- package/dist/esm/plugins/utils/utils-string.js +83 -0
- package/dist/esm/plugins/utils/utils-string.js.map +1 -0
- package/dist/esm/plugins/utils/utils-time.js +36 -0
- package/dist/esm/plugins/utils/utils-time.js.map +1 -0
- package/dist/esm/plugins/validate-ajv/index.js +43 -0
- package/dist/esm/plugins/validate-ajv/index.js.map +1 -0
- package/dist/esm/plugins/validate-is-my-json-valid/index.js +20 -0
- package/dist/esm/plugins/validate-is-my-json-valid/index.js.map +1 -0
- package/dist/esm/plugins/validate-z-schema/index.js +47 -0
- package/dist/esm/plugins/validate-z-schema/index.js.map +1 -0
- package/dist/esm/plugins/vector/helper.js +2 -0
- package/dist/esm/plugins/vector/helper.js.map +1 -0
- package/dist/esm/plugins/vector/index.js +2 -0
- package/dist/esm/plugins/vector/index.js.map +1 -0
- package/dist/esm/plugins/vector/types.js +3 -0
- package/dist/esm/plugins/vector/types.js.map +1 -0
- package/dist/esm/plugins/vector/vector-distance.js +29 -0
- package/dist/esm/plugins/vector/vector-distance.js.map +1 -0
- package/dist/esm/plugins/webmcp/index.js +3 -0
- package/dist/esm/plugins/webmcp/index.js.map +1 -0
- package/dist/esm/plugins/webmcp/nosql-query-schema.js +354 -0
- package/dist/esm/plugins/webmcp/nosql-query-schema.js.map +1 -0
- package/dist/esm/plugins/webmcp/webmcp.js +307 -0
- package/dist/esm/plugins/webmcp/webmcp.js.map +1 -0
- package/dist/esm/query-cache.js +99 -0
- package/dist/esm/query-cache.js.map +1 -0
- package/dist/esm/query-planner.js +297 -0
- package/dist/esm/query-planner.js.map +1 -0
- package/dist/esm/replication-protocol/checkpoint.js +95 -0
- package/dist/esm/replication-protocol/checkpoint.js.map +1 -0
- package/dist/esm/replication-protocol/conflicts.js +31 -0
- package/dist/esm/replication-protocol/conflicts.js.map +1 -0
- package/dist/esm/replication-protocol/default-conflict-handler.js +33 -0
- package/dist/esm/replication-protocol/default-conflict-handler.js.map +1 -0
- package/dist/esm/replication-protocol/downstream.js +334 -0
- package/dist/esm/replication-protocol/downstream.js.map +1 -0
- package/dist/esm/replication-protocol/helper.js +49 -0
- package/dist/esm/replication-protocol/helper.js.map +1 -0
- package/dist/esm/replication-protocol/index.js +221 -0
- package/dist/esm/replication-protocol/index.js.map +1 -0
- package/dist/esm/replication-protocol/meta-instance.js +121 -0
- package/dist/esm/replication-protocol/meta-instance.js.map +1 -0
- package/dist/esm/replication-protocol/upstream.js +379 -0
- package/dist/esm/replication-protocol/upstream.js.map +1 -0
- package/dist/esm/rx-change-event.js +103 -0
- package/dist/esm/rx-change-event.js.map +1 -0
- package/dist/esm/rx-collection-helper.js +196 -0
- package/dist/esm/rx-collection-helper.js.map +1 -0
- package/dist/esm/rx-collection.js +923 -0
- package/dist/esm/rx-collection.js.map +1 -0
- package/dist/esm/rx-database-internal-store.js +270 -0
- package/dist/esm/rx-database-internal-store.js.map +1 -0
- package/dist/esm/rx-database.js +670 -0
- package/dist/esm/rx-database.js.map +1 -0
- package/dist/esm/rx-document-prototype-merge.js +78 -0
- package/dist/esm/rx-document-prototype-merge.js.map +1 -0
- package/dist/esm/rx-document.js +394 -0
- package/dist/esm/rx-document.js.map +1 -0
- package/dist/esm/rx-error.js +153 -0
- package/dist/esm/rx-error.js.map +1 -0
- package/dist/esm/rx-query-helper.js +268 -0
- package/dist/esm/rx-query-helper.js.map +1 -0
- package/dist/esm/rx-query-mingo.js +54 -0
- package/dist/esm/rx-query-mingo.js.map +1 -0
- package/dist/esm/rx-query-single-result.js +98 -0
- package/dist/esm/rx-query-single-result.js.map +1 -0
- package/dist/esm/rx-query.js +690 -0
- package/dist/esm/rx-query.js.map +1 -0
- package/dist/esm/rx-schema-helper.js +316 -0
- package/dist/esm/rx-schema-helper.js.map +1 -0
- package/dist/esm/rx-schema.js +177 -0
- package/dist/esm/rx-schema.js.map +1 -0
- package/dist/esm/rx-storage-helper.js +785 -0
- package/dist/esm/rx-storage-helper.js.map +1 -0
- package/dist/esm/rx-storage-multiinstance.js +113 -0
- package/dist/esm/rx-storage-multiinstance.js.map +1 -0
- package/dist/esm/types/conflict-handling.d.js +3 -0
- package/dist/esm/types/conflict-handling.d.js.map +1 -0
- package/dist/esm/types/couchdb.d.js +3 -0
- package/dist/esm/types/couchdb.d.js.map +1 -0
- package/dist/esm/types/index.d.js +2 -0
- package/dist/esm/types/index.d.js.map +1 -0
- package/dist/esm/types/modules/index.d.js +2 -0
- package/dist/esm/types/modules/index.d.js.map +1 -0
- package/dist/esm/types/modules/mocha.parallel.d.js +2 -0
- package/dist/esm/types/modules/mocha.parallel.d.js.map +1 -0
- package/dist/esm/types/plugins/backup.d.js +3 -0
- package/dist/esm/types/plugins/backup.d.js.map +1 -0
- package/dist/esm/types/plugins/cleanup.d.js +3 -0
- package/dist/esm/types/plugins/cleanup.d.js.map +1 -0
- package/dist/esm/types/plugins/crdt.d.js +3 -0
- package/dist/esm/types/plugins/crdt.d.js.map +1 -0
- package/dist/esm/types/plugins/dexie.d.js +3 -0
- package/dist/esm/types/plugins/dexie.d.js.map +1 -0
- package/dist/esm/types/plugins/local-documents.d.js +3 -0
- package/dist/esm/types/plugins/local-documents.d.js.map +1 -0
- package/dist/esm/types/plugins/migration.d.js +3 -0
- package/dist/esm/types/plugins/migration.d.js.map +1 -0
- package/dist/esm/types/plugins/reactivity.d.js +3 -0
- package/dist/esm/types/plugins/reactivity.d.js.map +1 -0
- package/dist/esm/types/plugins/replication-graphql.d.js +3 -0
- package/dist/esm/types/plugins/replication-graphql.d.js.map +1 -0
- package/dist/esm/types/plugins/replication.d.js +3 -0
- package/dist/esm/types/plugins/replication.d.js.map +1 -0
- package/dist/esm/types/plugins/state.d.js +3 -0
- package/dist/esm/types/plugins/state.d.js.map +1 -0
- package/dist/esm/types/plugins/update.d.js +3 -0
- package/dist/esm/types/plugins/update.d.js.map +1 -0
- package/dist/esm/types/plugins/webmcp.d.js +3 -0
- package/dist/esm/types/plugins/webmcp.d.js.map +1 -0
- package/dist/esm/types/query-planner.d.js +3 -0
- package/dist/esm/types/query-planner.d.js.map +1 -0
- package/dist/esm/types/replication-protocol.d.js +3 -0
- package/dist/esm/types/replication-protocol.d.js.map +1 -0
- package/dist/esm/types/rx-attachment.d.js +3 -0
- package/dist/esm/types/rx-attachment.d.js.map +1 -0
- package/dist/esm/types/rx-change-event.d.js +3 -0
- package/dist/esm/types/rx-change-event.d.js.map +1 -0
- package/dist/esm/types/rx-collection.d.js +3 -0
- package/dist/esm/types/rx-collection.d.js.map +1 -0
- package/dist/esm/types/rx-database-internal-store.d.js +3 -0
- package/dist/esm/types/rx-database-internal-store.d.js.map +1 -0
- package/dist/esm/types/rx-database.d.js +3 -0
- package/dist/esm/types/rx-database.d.js.map +1 -0
- package/dist/esm/types/rx-document.d.js +3 -0
- package/dist/esm/types/rx-document.d.js.map +1 -0
- package/dist/esm/types/rx-error.d.js +3 -0
- package/dist/esm/types/rx-error.d.js.map +1 -0
- package/dist/esm/types/rx-plugin.d.js +3 -0
- package/dist/esm/types/rx-plugin.d.js.map +1 -0
- package/dist/esm/types/rx-query.d.js +3 -0
- package/dist/esm/types/rx-query.d.js.map +1 -0
- package/dist/esm/types/rx-schema.d.js +3 -0
- package/dist/esm/types/rx-schema.d.js.map +1 -0
- package/dist/esm/types/rx-storage.d.js +3 -0
- package/dist/esm/types/rx-storage.d.js.map +1 -0
- package/dist/esm/types/rx-storage.interface.d.js +3 -0
- package/dist/esm/types/rx-storage.interface.d.js.map +1 -0
- package/dist/esm/types/util.d.js +3 -0
- package/dist/esm/types/util.d.js.map +1 -0
- package/dist/types/change-event-buffer.d.ts +50 -0
- package/dist/types/custom-index.d.ts +58 -0
- package/dist/types/doc-cache.d.ts +96 -0
- package/dist/types/event-reduce.d.ts +15 -0
- package/dist/types/hooks.d.ts +109 -0
- package/dist/types/incremental-write.d.ts +29 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/overwritable.d.ts +26 -0
- package/dist/types/plugin-helpers.d.ts +30 -0
- package/dist/types/plugin.d.ts +6 -0
- package/dist/types/plugins/attachments/attachments-utils.d.ts +10 -0
- package/dist/types/plugins/attachments/index.d.ts +42 -0
- package/dist/types/plugins/attachments-compression/index.d.ts +38 -0
- package/dist/types/plugins/backup/file-util.d.ts +17 -0
- package/dist/types/plugins/backup/index.d.ts +37 -0
- package/dist/types/plugins/cleanup/cleanup-helper.d.ts +2 -0
- package/dist/types/plugins/cleanup/cleanup-state.d.ts +7 -0
- package/dist/types/plugins/cleanup/cleanup.d.ts +8 -0
- package/dist/types/plugins/cleanup/index.d.ts +4 -0
- package/dist/types/plugins/crdt/index.d.ts +12 -0
- package/dist/types/plugins/dev-mode/check-document.d.ts +9 -0
- package/dist/types/plugins/dev-mode/check-migration-strategies.d.ts +6 -0
- package/dist/types/plugins/dev-mode/check-orm.d.ts +7 -0
- package/dist/types/plugins/dev-mode/check-query.d.ts +21 -0
- package/dist/types/plugins/dev-mode/check-schema.d.ts +18 -0
- package/dist/types/plugins/dev-mode/dev-mode-tracking.d.ts +4 -0
- package/dist/types/plugins/dev-mode/entity-properties.d.ts +3 -0
- package/dist/types/plugins/dev-mode/error-messages.d.ts +1230 -0
- package/dist/types/plugins/dev-mode/index.d.ts +19 -0
- package/dist/types/plugins/dev-mode/unallowed-properties.d.ts +20 -0
- package/dist/types/plugins/electron/electron-helper.d.ts +2 -0
- package/dist/types/plugins/electron/index.d.ts +3 -0
- package/dist/types/plugins/electron/rx-storage-ipc-main.d.ts +10 -0
- package/dist/types/plugins/electron/rx-storage-ipc-renderer.d.ts +13 -0
- package/dist/types/plugins/encryption-crypto-js/index.d.ts +10 -0
- package/dist/types/plugins/flutter/index.d.ts +11 -0
- package/dist/types/plugins/json-dump/index.d.ts +2 -0
- package/dist/types/plugins/key-compression/index.d.ts +18 -0
- package/dist/types/plugins/leader-election/index.d.ts +25 -0
- package/dist/types/plugins/local-documents/index.d.ts +6 -0
- package/dist/types/plugins/local-documents/local-documents-helper.d.ts +9 -0
- package/dist/types/plugins/local-documents/local-documents.d.ts +14 -0
- package/dist/types/plugins/local-documents/rx-local-document.d.ts +11 -0
- package/dist/types/plugins/migration-schema/index.d.ts +8 -0
- package/dist/types/plugins/migration-schema/migration-helpers.d.ts +29 -0
- package/dist/types/plugins/migration-schema/migration-types.d.ts +33 -0
- package/dist/types/plugins/migration-schema/rx-migration-state.d.ts +50 -0
- package/dist/types/plugins/migration-storage/index.d.ts +32 -0
- package/dist/types/plugins/pipeline/flagged-functions.d.ts +69 -0
- package/dist/types/plugins/pipeline/index.d.ts +5 -0
- package/dist/types/plugins/pipeline/rx-pipeline.d.ts +37 -0
- package/dist/types/plugins/pipeline/types.d.ts +17 -0
- package/dist/types/plugins/query-builder/index.d.ts +5 -0
- package/dist/types/plugins/query-builder/mquery/mquery-utils.d.ts +12 -0
- package/dist/types/plugins/query-builder/mquery/nosql-query-builder.d.ts +165 -0
- package/dist/types/plugins/react/database-context.d.ts +4 -0
- package/dist/types/plugins/react/database-provider.d.ts +24 -0
- package/dist/types/plugins/react/hooks/index.d.ts +4 -0
- package/dist/types/plugins/react/hooks/use-live-rx-query.d.ts +11 -0
- package/dist/types/plugins/react/hooks/use-rx-collection.d.ts +10 -0
- package/dist/types/plugins/react/hooks/use-rx-database.d.ts +9 -0
- package/dist/types/plugins/react/hooks/use-rx-query.d.ts +24 -0
- package/dist/types/plugins/react/index.d.ts +2 -0
- package/dist/types/plugins/reactivity-angular/index.d.ts +16 -0
- package/dist/types/plugins/reactivity-preact-signals/index.d.ts +27 -0
- package/dist/types/plugins/reactivity-vue/index.d.ts +17 -0
- package/dist/types/plugins/replication/index.d.ts +84 -0
- package/dist/types/plugins/replication/replication-helper.d.ts +23 -0
- package/dist/types/plugins/replication-appwrite/appwrite-helpers.d.ts +3 -0
- package/dist/types/plugins/replication-appwrite/appwrite-types.d.ts +16 -0
- package/dist/types/plugins/replication-appwrite/index.d.ts +14 -0
- package/dist/types/plugins/replication-couchdb/couchdb-helper.d.ts +19 -0
- package/dist/types/plugins/replication-couchdb/couchdb-types.d.ts +22 -0
- package/dist/types/plugins/replication-couchdb/index.d.ts +18 -0
- package/dist/types/plugins/replication-firestore/firestore-helper.d.ts +10 -0
- package/dist/types/plugins/replication-firestore/firestore-types.d.ts +46 -0
- package/dist/types/plugins/replication-firestore/index.d.ts +17 -0
- package/dist/types/plugins/replication-google-drive/document-handling.d.ts +13 -0
- package/dist/types/plugins/replication-google-drive/downstream.d.ts +10 -0
- package/dist/types/plugins/replication-google-drive/google-drive-helper.d.ts +35 -0
- package/dist/types/plugins/replication-google-drive/google-drive-types.d.ts +67 -0
- package/dist/types/plugins/replication-google-drive/index.d.ts +39 -0
- package/dist/types/plugins/replication-google-drive/init.d.ts +29 -0
- package/dist/types/plugins/replication-google-drive/multipart.d.ts +10 -0
- package/dist/types/plugins/replication-google-drive/signaling.d.ts +41 -0
- package/dist/types/plugins/replication-google-drive/transaction.d.ts +22 -0
- package/dist/types/plugins/replication-google-drive/upstream.d.ts +24 -0
- package/dist/types/plugins/replication-graphql/graphql-schema-from-rx-schema.d.ts +51 -0
- package/dist/types/plugins/replication-graphql/graphql-websocket.d.ts +12 -0
- package/dist/types/plugins/replication-graphql/helper.d.ts +15 -0
- package/dist/types/plugins/replication-graphql/index.d.ts +26 -0
- package/dist/types/plugins/replication-graphql/query-builder-from-rx-schema.d.ts +5 -0
- package/dist/types/plugins/replication-microsoft-onedrive/document-handling.d.ts +14 -0
- package/dist/types/plugins/replication-microsoft-onedrive/downstream.d.ts +10 -0
- package/dist/types/plugins/replication-microsoft-onedrive/index.d.ts +38 -0
- package/dist/types/plugins/replication-microsoft-onedrive/init.d.ts +29 -0
- package/dist/types/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.d.ts +30 -0
- package/dist/types/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.d.ts +71 -0
- package/dist/types/plugins/replication-microsoft-onedrive/signaling.d.ts +41 -0
- package/dist/types/plugins/replication-microsoft-onedrive/transaction.d.ts +22 -0
- package/dist/types/plugins/replication-microsoft-onedrive/upstream.d.ts +25 -0
- package/dist/types/plugins/replication-mongodb/index.d.ts +22 -0
- package/dist/types/plugins/replication-mongodb/mongodb-checkpoint.d.ts +15 -0
- package/dist/types/plugins/replication-mongodb/mongodb-helper.d.ts +13 -0
- package/dist/types/plugins/replication-mongodb/mongodb-types.d.ts +33 -0
- package/dist/types/plugins/replication-nats/index.d.ts +16 -0
- package/dist/types/plugins/replication-nats/nats-helper.d.ts +2 -0
- package/dist/types/plugins/replication-nats/nats-types.d.ts +21 -0
- package/dist/types/plugins/replication-supabase/helper.d.ts +5 -0
- package/dist/types/plugins/replication-supabase/index.d.ts +14 -0
- package/dist/types/plugins/replication-supabase/types.d.ts +28 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-p2pcf.d.ts +0 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-simple-peer.d.ts +57 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-webtorrent.d.ts +0 -0
- package/dist/types/plugins/replication-webrtc/index.d.ts +27 -0
- package/dist/types/plugins/replication-webrtc/signaling-server.d.ts +17 -0
- package/dist/types/plugins/replication-webrtc/webrtc-helper.d.ts +16 -0
- package/dist/types/plugins/replication-webrtc/webrtc-types.d.ts +51 -0
- package/dist/types/plugins/replication-websocket/index.d.ts +3 -0
- package/dist/types/plugins/replication-websocket/websocket-client.d.ts +13 -0
- package/dist/types/plugins/replication-websocket/websocket-server.d.ts +6 -0
- package/dist/types/plugins/replication-websocket/websocket-types.d.ts +32 -0
- package/dist/types/plugins/state/helpers.d.ts +10 -0
- package/dist/types/plugins/state/index.d.ts +4 -0
- package/dist/types/plugins/state/rx-state.d.ts +46 -0
- package/dist/types/plugins/state/types.d.ts +28 -0
- package/dist/types/plugins/storage-denokv/denokv-helper.d.ts +16 -0
- package/dist/types/plugins/storage-denokv/denokv-query.d.ts +3 -0
- package/dist/types/plugins/storage-denokv/denokv-types.d.ts +17 -0
- package/dist/types/plugins/storage-denokv/index.d.ts +11 -0
- package/dist/types/plugins/storage-denokv/rx-storage-instance-denokv.d.ts +41 -0
- package/dist/types/plugins/storage-dexie/dexie-helper.d.ts +40 -0
- package/dist/types/plugins/storage-dexie/dexie-query.d.ts +9 -0
- package/dist/types/plugins/storage-dexie/index.d.ts +4 -0
- package/dist/types/plugins/storage-dexie/rx-storage-dexie.d.ts +11 -0
- package/dist/types/plugins/storage-dexie/rx-storage-instance-dexie.d.ts +29 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-helpers.d.ts +3 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-query.d.ts +3 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-types.d.ts +46 -0
- package/dist/types/plugins/storage-foundationdb/index.d.ts +4 -0
- package/dist/types/plugins/storage-foundationdb/rx-storage-instance-foundationdb.d.ts +26 -0
- package/dist/types/plugins/storage-localstorage/index.d.ts +11 -0
- package/dist/types/plugins/storage-localstorage/localstorage-mock.d.ts +1 -0
- package/dist/types/plugins/storage-localstorage/rx-storage-instance-localstorage.d.ts +84 -0
- package/dist/types/plugins/storage-memory/binary-search-bounds.d.ts +14 -0
- package/dist/types/plugins/storage-memory/index.d.ts +7 -0
- package/dist/types/plugins/storage-memory/memory-helper.d.ts +22 -0
- package/dist/types/plugins/storage-memory/memory-indexes.d.ts +4 -0
- package/dist/types/plugins/storage-memory/memory-types.d.ts +72 -0
- package/dist/types/plugins/storage-memory/rx-storage-instance-memory.d.ts +47 -0
- package/dist/types/plugins/storage-mongodb/index.d.ts +4 -0
- package/dist/types/plugins/storage-mongodb/mongodb-helper.d.ts +22 -0
- package/dist/types/plugins/storage-mongodb/mongodb-types.d.ts +21 -0
- package/dist/types/plugins/storage-mongodb/rx-storage-instance-mongodb.d.ts +52 -0
- package/dist/types/plugins/storage-mongodb/rx-storage-mongodb.d.ts +11 -0
- package/dist/types/plugins/storage-remote/index.d.ts +5 -0
- package/dist/types/plugins/storage-remote/message-channel-cache.d.ts +13 -0
- package/dist/types/plugins/storage-remote/remote.d.ts +6 -0
- package/dist/types/plugins/storage-remote/rx-storage-remote.d.ts +43 -0
- package/dist/types/plugins/storage-remote/storage-remote-helpers.d.ts +4 -0
- package/dist/types/plugins/storage-remote/storage-remote-types.d.ts +88 -0
- package/dist/types/plugins/storage-remote-websocket/index.d.ts +4 -0
- package/dist/types/plugins/storage-remote-websocket/types.d.ts +24 -0
- package/dist/types/plugins/storage-sqlite/index.d.ts +15 -0
- package/dist/types/plugins/storage-sqlite/sqlite-basics-helpers.d.ts +53 -0
- package/dist/types/plugins/storage-sqlite/sqlite-helpers.d.ts +48 -0
- package/dist/types/plugins/storage-sqlite/sqlite-storage-instance.d.ts +38 -0
- package/dist/types/plugins/storage-sqlite/sqlite-types.d.ts +116 -0
- package/dist/types/plugins/test-utils/config.d.ts +16 -0
- package/dist/types/plugins/test-utils/humans-collection.d.ts +26 -0
- package/dist/types/plugins/test-utils/index.d.ts +20 -0
- package/dist/types/plugins/test-utils/performance.d.ts +68 -0
- package/dist/types/plugins/test-utils/replication-base-test-suite.d.ts +66 -0
- package/dist/types/plugins/test-utils/replication.d.ts +10 -0
- package/dist/types/plugins/test-utils/revisions.d.ts +4 -0
- package/dist/types/plugins/test-utils/schema-objects.d.ts +219 -0
- package/dist/types/plugins/test-utils/schemas.d.ts +356 -0
- package/dist/types/plugins/test-utils/test-util.d.ts +10 -0
- package/dist/types/plugins/update/index.d.ts +5 -0
- package/dist/types/plugins/update/mingo-updater.d.ts +2 -0
- package/dist/types/plugins/utils/index.d.ts +20 -0
- package/dist/types/plugins/utils/utils-array.d.ts +40 -0
- package/dist/types/plugins/utils/utils-base64.d.ts +15 -0
- package/dist/types/plugins/utils/utils-blob.d.ts +12 -0
- package/dist/types/plugins/utils/utils-document.d.ts +26 -0
- package/dist/types/plugins/utils/utils-error.d.ts +8 -0
- package/dist/types/plugins/utils/utils-global.d.ts +5 -0
- package/dist/types/plugins/utils/utils-hash.d.ts +4 -0
- package/dist/types/plugins/utils/utils-map.d.ts +2 -0
- package/dist/types/plugins/utils/utils-number.d.ts +7 -0
- package/dist/types/plugins/utils/utils-object-deep-equal.d.ts +7 -0
- package/dist/types/plugins/utils/utils-object-dot-prop.d.ts +14 -0
- package/dist/types/plugins/utils/utils-object.d.ts +61 -0
- package/dist/types/plugins/utils/utils-other.d.ts +20 -0
- package/dist/types/plugins/utils/utils-premium.d.ts +10 -0
- package/dist/types/plugins/utils/utils-promise.d.ts +43 -0
- package/dist/types/plugins/utils/utils-regex.d.ts +2 -0
- package/dist/types/plugins/utils/utils-revision.d.ts +22 -0
- package/dist/types/plugins/utils/utils-rxdb-version.d.ts +4 -0
- package/dist/types/plugins/utils/utils-rxdb-version.template.d.ts +4 -0
- package/dist/types/plugins/utils/utils-string.d.ts +35 -0
- package/dist/types/plugins/utils/utils-time.d.ts +5 -0
- package/dist/types/plugins/validate-ajv/index.d.ts +13 -0
- package/dist/types/plugins/validate-is-my-json-valid/index.d.ts +5 -0
- package/dist/types/plugins/validate-z-schema/index.d.ts +13 -0
- package/dist/types/plugins/vector/helper.d.ts +0 -0
- package/dist/types/plugins/vector/index.d.ts +2 -0
- package/dist/types/plugins/vector/types.d.ts +1 -0
- package/dist/types/plugins/vector/vector-distance.d.ts +13 -0
- package/dist/types/plugins/webmcp/index.d.ts +2 -0
- package/dist/types/plugins/webmcp/nosql-query-schema.d.ts +549 -0
- package/dist/types/plugins/webmcp/webmcp.d.ts +12 -0
- package/dist/types/query-cache.d.ts +35 -0
- package/dist/types/query-planner.d.ts +30 -0
- package/dist/types/replication-protocol/checkpoint.d.ts +8 -0
- package/dist/types/replication-protocol/conflicts.d.ts +10 -0
- package/dist/types/replication-protocol/default-conflict-handler.d.ts +2 -0
- package/dist/types/replication-protocol/downstream.d.ts +10 -0
- package/dist/types/replication-protocol/helper.d.ts +5 -0
- package/dist/types/replication-protocol/index.d.ts +30 -0
- package/dist/types/replication-protocol/meta-instance.d.ts +12 -0
- package/dist/types/replication-protocol/upstream.d.ts +10 -0
- package/dist/types/rx-change-event.d.ts +20 -0
- package/dist/types/rx-collection-helper.d.ts +41 -0
- package/dist/types/rx-collection.d.ts +185 -0
- package/dist/types/rx-database-internal-store.d.ts +37 -0
- package/dist/types/rx-database.d.ts +213 -0
- package/dist/types/rx-document-prototype-merge.d.ts +24 -0
- package/dist/types/rx-document.d.ts +274 -0
- package/dist/types/rx-error.d.ts +37 -0
- package/dist/types/rx-query-helper.d.ts +31 -0
- package/dist/types/rx-query-mingo.d.ts +10 -0
- package/dist/types/rx-query-single-result.d.ts +31 -0
- package/dist/types/rx-query.d.ts +153 -0
- package/dist/types/rx-schema-helper.d.ts +57 -0
- package/dist/types/rx-schema.d.ts +43 -0
- package/dist/types/rx-storage-helper.d.ts +111 -0
- package/dist/types/rx-storage-multiinstance.d.ts +51 -0
- package/dist/types/types/conflict-handling.d.ts +48 -0
- package/dist/types/types/couchdb.d.ts +293 -0
- package/dist/types/types/index.d.ts +32 -0
- package/dist/types/types/modules/index.d.ts +0 -0
- package/dist/types/types/modules/mocha.parallel.d.ts +1 -0
- package/dist/types/types/plugins/backup.d.ts +35 -0
- package/dist/types/types/plugins/cleanup.d.ts +38 -0
- package/dist/types/types/plugins/crdt.d.ts +76 -0
- package/dist/types/types/plugins/dexie.d.ts +30 -0
- package/dist/types/types/plugins/local-documents.d.ts +49 -0
- package/dist/types/types/plugins/migration.d.ts +14 -0
- package/dist/types/types/plugins/reactivity.d.ts +40 -0
- package/dist/types/types/plugins/replication-graphql.d.ts +98 -0
- package/dist/types/types/plugins/replication.d.ts +175 -0
- package/dist/types/types/plugins/state.d.ts +4 -0
- package/dist/types/types/plugins/update.d.ts +23 -0
- package/dist/types/types/plugins/webmcp.d.ts +40 -0
- package/dist/types/types/query-planner.d.ts +47 -0
- package/dist/types/types/replication-protocol.d.ts +296 -0
- package/dist/types/types/rx-attachment.d.ts +46 -0
- package/dist/types/types/rx-change-event.d.ts +85 -0
- package/dist/types/types/rx-collection.d.ts +117 -0
- package/dist/types/types/rx-database-internal-store.d.ts +54 -0
- package/dist/types/types/rx-database.d.ts +124 -0
- package/dist/types/types/rx-document.d.ts +160 -0
- package/dist/types/types/rx-error.d.ts +222 -0
- package/dist/types/types/rx-plugin.d.ts +167 -0
- package/dist/types/types/rx-query.d.ts +144 -0
- package/dist/types/types/rx-schema.d.ts +209 -0
- package/dist/types/types/rx-storage.d.ts +347 -0
- package/dist/types/types/rx-storage.interface.d.ts +312 -0
- package/dist/types/types/util.d.ts +180 -0
- package/eslint.config.mjs +514 -0
- package/package.json +729 -0
- package/plugins/attachments/index.cjs +2 -0
- package/plugins/attachments/index.d.cts +1 -0
- package/plugins/attachments/index.d.mts +1 -0
- package/plugins/attachments/index.mjs +1 -0
- package/plugins/attachments/index.ts +1 -0
- package/plugins/attachments/package.json +18 -0
- package/plugins/attachments-compression/index.cjs +2 -0
- package/plugins/attachments-compression/index.d.cts +1 -0
- package/plugins/attachments-compression/index.d.mts +1 -0
- package/plugins/attachments-compression/index.mjs +1 -0
- package/plugins/attachments-compression/index.ts +1 -0
- package/plugins/attachments-compression/package.json +18 -0
- package/plugins/backup/index.cjs +2 -0
- package/plugins/backup/index.d.cts +1 -0
- package/plugins/backup/index.d.mts +1 -0
- package/plugins/backup/index.mjs +1 -0
- package/plugins/backup/index.ts +1 -0
- package/plugins/backup/package.json +18 -0
- package/plugins/cleanup/index.cjs +2 -0
- package/plugins/cleanup/index.d.cts +1 -0
- package/plugins/cleanup/index.d.mts +1 -0
- package/plugins/cleanup/index.mjs +1 -0
- package/plugins/cleanup/index.ts +1 -0
- package/plugins/cleanup/package.json +18 -0
- package/plugins/core/index.cjs +2 -0
- package/plugins/core/index.d.cts +1 -0
- package/plugins/core/index.d.mts +1 -0
- package/plugins/core/index.mjs +1 -0
- package/plugins/core/index.ts +1 -0
- package/plugins/core/package.json +18 -0
- package/plugins/crdt/index.cjs +2 -0
- package/plugins/crdt/index.d.cts +1 -0
- package/plugins/crdt/index.d.mts +1 -0
- package/plugins/crdt/index.mjs +1 -0
- package/plugins/crdt/index.ts +1 -0
- package/plugins/crdt/package.json +18 -0
- package/plugins/dev-mode/index.cjs +2 -0
- package/plugins/dev-mode/index.d.cts +1 -0
- package/plugins/dev-mode/index.d.mts +1 -0
- package/plugins/dev-mode/index.mjs +1 -0
- package/plugins/dev-mode/index.ts +1 -0
- package/plugins/dev-mode/package.json +18 -0
- package/plugins/electron/index.cjs +2 -0
- package/plugins/electron/index.d.cts +1 -0
- package/plugins/electron/index.d.mts +1 -0
- package/plugins/electron/index.mjs +1 -0
- package/plugins/electron/index.ts +1 -0
- package/plugins/electron/package.json +18 -0
- package/plugins/encryption-crypto-js/index.cjs +2 -0
- package/plugins/encryption-crypto-js/index.d.cts +1 -0
- package/plugins/encryption-crypto-js/index.d.mts +1 -0
- package/plugins/encryption-crypto-js/index.mjs +1 -0
- package/plugins/encryption-crypto-js/index.ts +1 -0
- package/plugins/encryption-crypto-js/package.json +18 -0
- package/plugins/flutter/index.cjs +2 -0
- package/plugins/flutter/index.d.cts +1 -0
- package/plugins/flutter/index.d.mts +1 -0
- package/plugins/flutter/index.mjs +1 -0
- package/plugins/flutter/index.ts +1 -0
- package/plugins/flutter/package.json +18 -0
- package/plugins/json-dump/index.cjs +2 -0
- package/plugins/json-dump/index.d.cts +1 -0
- package/plugins/json-dump/index.d.mts +1 -0
- package/plugins/json-dump/index.mjs +1 -0
- package/plugins/json-dump/index.ts +1 -0
- package/plugins/json-dump/package.json +18 -0
- package/plugins/key-compression/index.cjs +2 -0
- package/plugins/key-compression/index.d.cts +1 -0
- package/plugins/key-compression/index.d.mts +1 -0
- package/plugins/key-compression/index.mjs +1 -0
- package/plugins/key-compression/index.ts +1 -0
- package/plugins/key-compression/package.json +18 -0
- package/plugins/leader-election/index.cjs +2 -0
- package/plugins/leader-election/index.d.cts +1 -0
- package/plugins/leader-election/index.d.mts +1 -0
- package/plugins/leader-election/index.mjs +1 -0
- package/plugins/leader-election/index.ts +1 -0
- package/plugins/leader-election/package.json +18 -0
- package/plugins/local-documents/index.cjs +2 -0
- package/plugins/local-documents/index.d.cts +1 -0
- package/plugins/local-documents/index.d.mts +1 -0
- package/plugins/local-documents/index.mjs +1 -0
- package/plugins/local-documents/index.ts +1 -0
- package/plugins/local-documents/package.json +18 -0
- package/plugins/migration-schema/index.cjs +2 -0
- package/plugins/migration-schema/index.d.cts +1 -0
- package/plugins/migration-schema/index.d.mts +1 -0
- package/plugins/migration-schema/index.mjs +1 -0
- package/plugins/migration-schema/index.ts +1 -0
- package/plugins/migration-schema/package.json +18 -0
- package/plugins/migration-storage/index.cjs +2 -0
- package/plugins/migration-storage/index.d.cts +1 -0
- package/plugins/migration-storage/index.d.mts +1 -0
- package/plugins/migration-storage/index.mjs +1 -0
- package/plugins/migration-storage/index.ts +1 -0
- package/plugins/migration-storage/package.json +18 -0
- package/plugins/pipeline/index.cjs +2 -0
- package/plugins/pipeline/index.d.cts +1 -0
- package/plugins/pipeline/index.d.mts +1 -0
- package/plugins/pipeline/index.mjs +1 -0
- package/plugins/pipeline/index.ts +1 -0
- package/plugins/pipeline/package.json +18 -0
- package/plugins/query-builder/index.cjs +2 -0
- package/plugins/query-builder/index.d.cts +1 -0
- package/plugins/query-builder/index.d.mts +1 -0
- package/plugins/query-builder/index.mjs +1 -0
- package/plugins/query-builder/index.ts +1 -0
- package/plugins/query-builder/package.json +18 -0
- package/plugins/react/index.cjs +2 -0
- package/plugins/react/index.d.cts +1 -0
- package/plugins/react/index.d.mts +1 -0
- package/plugins/react/index.mjs +1 -0
- package/plugins/react/index.ts +1 -0
- package/plugins/react/package.json +18 -0
- package/plugins/reactivity-angular/index.cjs +2 -0
- package/plugins/reactivity-angular/index.d.cts +1 -0
- package/plugins/reactivity-angular/index.d.mts +1 -0
- package/plugins/reactivity-angular/index.mjs +1 -0
- package/plugins/reactivity-angular/index.ts +1 -0
- package/plugins/reactivity-angular/package.json +18 -0
- package/plugins/reactivity-preact-signals/index.cjs +2 -0
- package/plugins/reactivity-preact-signals/index.d.cts +1 -0
- package/plugins/reactivity-preact-signals/index.d.mts +1 -0
- package/plugins/reactivity-preact-signals/index.mjs +1 -0
- package/plugins/reactivity-preact-signals/index.ts +1 -0
- package/plugins/reactivity-preact-signals/package.json +18 -0
- package/plugins/reactivity-vue/index.cjs +2 -0
- package/plugins/reactivity-vue/index.d.cts +1 -0
- package/plugins/reactivity-vue/index.d.mts +1 -0
- package/plugins/reactivity-vue/index.mjs +1 -0
- package/plugins/reactivity-vue/index.ts +1 -0
- package/plugins/reactivity-vue/package.json +18 -0
- package/plugins/replication/index.cjs +2 -0
- package/plugins/replication/index.d.cts +1 -0
- package/plugins/replication/index.d.mts +1 -0
- package/plugins/replication/index.mjs +1 -0
- package/plugins/replication/index.ts +1 -0
- package/plugins/replication/package.json +18 -0
- package/plugins/replication-appwrite/index.cjs +2 -0
- package/plugins/replication-appwrite/index.d.cts +1 -0
- package/plugins/replication-appwrite/index.d.mts +1 -0
- package/plugins/replication-appwrite/index.mjs +1 -0
- package/plugins/replication-appwrite/index.ts +1 -0
- package/plugins/replication-appwrite/package.json +18 -0
- package/plugins/replication-couchdb/index.cjs +2 -0
- package/plugins/replication-couchdb/index.d.cts +1 -0
- package/plugins/replication-couchdb/index.d.mts +1 -0
- package/plugins/replication-couchdb/index.mjs +1 -0
- package/plugins/replication-couchdb/index.ts +1 -0
- package/plugins/replication-couchdb/package.json +18 -0
- package/plugins/replication-firestore/index.cjs +2 -0
- package/plugins/replication-firestore/index.d.cts +1 -0
- package/plugins/replication-firestore/index.d.mts +1 -0
- package/plugins/replication-firestore/index.mjs +1 -0
- package/plugins/replication-firestore/index.ts +1 -0
- package/plugins/replication-firestore/package.json +18 -0
- package/plugins/replication-google-drive/index.cjs +2 -0
- package/plugins/replication-google-drive/index.d.cts +1 -0
- package/plugins/replication-google-drive/index.d.mts +1 -0
- package/plugins/replication-google-drive/index.mjs +1 -0
- package/plugins/replication-google-drive/index.ts +1 -0
- package/plugins/replication-google-drive/package.json +18 -0
- package/plugins/replication-graphql/index.cjs +2 -0
- package/plugins/replication-graphql/index.d.cts +1 -0
- package/plugins/replication-graphql/index.d.mts +1 -0
- package/plugins/replication-graphql/index.mjs +1 -0
- package/plugins/replication-graphql/index.ts +1 -0
- package/plugins/replication-graphql/package.json +18 -0
- package/plugins/replication-microsoft-onedrive/index.cjs +2 -0
- package/plugins/replication-microsoft-onedrive/index.d.cts +1 -0
- package/plugins/replication-microsoft-onedrive/index.d.mts +1 -0
- package/plugins/replication-microsoft-onedrive/index.mjs +1 -0
- package/plugins/replication-microsoft-onedrive/index.ts +1 -0
- package/plugins/replication-microsoft-onedrive/package.json +18 -0
- package/plugins/replication-mongodb/index.cjs +2 -0
- package/plugins/replication-mongodb/index.d.cts +1 -0
- package/plugins/replication-mongodb/index.d.mts +1 -0
- package/plugins/replication-mongodb/index.mjs +1 -0
- package/plugins/replication-mongodb/index.ts +1 -0
- package/plugins/replication-mongodb/package.json +18 -0
- package/plugins/replication-nats/index.cjs +2 -0
- package/plugins/replication-nats/index.d.cts +1 -0
- package/plugins/replication-nats/index.d.mts +1 -0
- package/plugins/replication-nats/index.mjs +1 -0
- package/plugins/replication-nats/index.ts +1 -0
- package/plugins/replication-nats/package.json +18 -0
- package/plugins/replication-supabase/index.cjs +2 -0
- package/plugins/replication-supabase/index.d.cts +1 -0
- package/plugins/replication-supabase/index.d.mts +1 -0
- package/plugins/replication-supabase/index.mjs +1 -0
- package/plugins/replication-supabase/index.ts +1 -0
- package/plugins/replication-supabase/package.json +18 -0
- package/plugins/replication-webrtc/index.cjs +2 -0
- package/plugins/replication-webrtc/index.d.cts +1 -0
- package/plugins/replication-webrtc/index.d.mts +1 -0
- package/plugins/replication-webrtc/index.mjs +1 -0
- package/plugins/replication-webrtc/index.ts +1 -0
- package/plugins/replication-webrtc/package.json +18 -0
- package/plugins/replication-websocket/index.cjs +2 -0
- package/plugins/replication-websocket/index.d.cts +1 -0
- package/plugins/replication-websocket/index.d.mts +1 -0
- package/plugins/replication-websocket/index.mjs +1 -0
- package/plugins/replication-websocket/index.ts +1 -0
- package/plugins/replication-websocket/package.json +18 -0
- package/plugins/state/index.cjs +2 -0
- package/plugins/state/index.d.cts +1 -0
- package/plugins/state/index.d.mts +1 -0
- package/plugins/state/index.mjs +1 -0
- package/plugins/state/index.ts +1 -0
- package/plugins/state/package.json +18 -0
- package/plugins/storage-denokv/index.cjs +2 -0
- package/plugins/storage-denokv/index.d.cts +1 -0
- package/plugins/storage-denokv/index.d.mts +1 -0
- package/plugins/storage-denokv/index.mjs +1 -0
- package/plugins/storage-denokv/index.ts +1 -0
- package/plugins/storage-denokv/package.json +18 -0
- package/plugins/storage-dexie/index.cjs +2 -0
- package/plugins/storage-dexie/index.d.cts +1 -0
- package/plugins/storage-dexie/index.d.mts +1 -0
- package/plugins/storage-dexie/index.mjs +1 -0
- package/plugins/storage-dexie/index.ts +1 -0
- package/plugins/storage-dexie/package.json +18 -0
- package/plugins/storage-foundationdb/index.cjs +2 -0
- package/plugins/storage-foundationdb/index.d.cts +1 -0
- package/plugins/storage-foundationdb/index.d.mts +1 -0
- package/plugins/storage-foundationdb/index.mjs +1 -0
- package/plugins/storage-foundationdb/index.ts +1 -0
- package/plugins/storage-foundationdb/package.json +18 -0
- package/plugins/storage-localstorage/index.cjs +2 -0
- package/plugins/storage-localstorage/index.d.cts +1 -0
- package/plugins/storage-localstorage/index.d.mts +1 -0
- package/plugins/storage-localstorage/index.mjs +1 -0
- package/plugins/storage-localstorage/index.ts +1 -0
- package/plugins/storage-localstorage/package.json +18 -0
- package/plugins/storage-memory/index.cjs +2 -0
- package/plugins/storage-memory/index.d.cts +1 -0
- package/plugins/storage-memory/index.d.mts +1 -0
- package/plugins/storage-memory/index.mjs +1 -0
- package/plugins/storage-memory/index.ts +1 -0
- package/plugins/storage-memory/package.json +18 -0
- package/plugins/storage-mongodb/index.cjs +2 -0
- package/plugins/storage-mongodb/index.d.cts +1 -0
- package/plugins/storage-mongodb/index.d.mts +1 -0
- package/plugins/storage-mongodb/index.mjs +1 -0
- package/plugins/storage-mongodb/index.ts +1 -0
- package/plugins/storage-mongodb/package.json +18 -0
- package/plugins/storage-remote/index.cjs +2 -0
- package/plugins/storage-remote/index.d.cts +1 -0
- package/plugins/storage-remote/index.d.mts +1 -0
- package/plugins/storage-remote/index.mjs +1 -0
- package/plugins/storage-remote/index.ts +1 -0
- package/plugins/storage-remote/package.json +18 -0
- package/plugins/storage-remote-websocket/index.cjs +2 -0
- package/plugins/storage-remote-websocket/index.d.cts +1 -0
- package/plugins/storage-remote-websocket/index.d.mts +1 -0
- package/plugins/storage-remote-websocket/index.mjs +1 -0
- package/plugins/storage-remote-websocket/index.ts +1 -0
- package/plugins/storage-remote-websocket/package.json +18 -0
- package/plugins/storage-sqlite/index.cjs +2 -0
- package/plugins/storage-sqlite/index.d.cts +1 -0
- package/plugins/storage-sqlite/index.d.mts +1 -0
- package/plugins/storage-sqlite/index.mjs +1 -0
- package/plugins/storage-sqlite/index.ts +1 -0
- package/plugins/storage-sqlite/package.json +18 -0
- package/plugins/test-utils/index.cjs +2 -0
- package/plugins/test-utils/index.d.cts +1 -0
- package/plugins/test-utils/index.d.mts +1 -0
- package/plugins/test-utils/index.mjs +1 -0
- package/plugins/test-utils/index.ts +1 -0
- package/plugins/test-utils/package.json +18 -0
- package/plugins/update/index.cjs +2 -0
- package/plugins/update/index.d.cts +1 -0
- package/plugins/update/index.d.mts +1 -0
- package/plugins/update/index.mjs +1 -0
- package/plugins/update/index.ts +1 -0
- package/plugins/update/package.json +18 -0
- package/plugins/utils/index.cjs +2 -0
- package/plugins/utils/index.d.cts +1 -0
- package/plugins/utils/index.d.mts +1 -0
- package/plugins/utils/index.mjs +1 -0
- package/plugins/utils/index.ts +1 -0
- package/plugins/utils/package.json +18 -0
- package/plugins/validate-ajv/index.cjs +2 -0
- package/plugins/validate-ajv/index.d.cts +1 -0
- package/plugins/validate-ajv/index.d.mts +1 -0
- package/plugins/validate-ajv/index.mjs +1 -0
- package/plugins/validate-ajv/index.ts +1 -0
- package/plugins/validate-ajv/package.json +18 -0
- package/plugins/validate-is-my-json-valid/index.cjs +2 -0
- package/plugins/validate-is-my-json-valid/index.d.cts +1 -0
- package/plugins/validate-is-my-json-valid/index.d.mts +1 -0
- package/plugins/validate-is-my-json-valid/index.mjs +1 -0
- package/plugins/validate-is-my-json-valid/index.ts +1 -0
- package/plugins/validate-is-my-json-valid/package.json +18 -0
- package/plugins/validate-z-schema/index.cjs +2 -0
- package/plugins/validate-z-schema/index.d.cts +1 -0
- package/plugins/validate-z-schema/index.d.mts +1 -0
- package/plugins/validate-z-schema/index.mjs +1 -0
- package/plugins/validate-z-schema/index.ts +1 -0
- package/plugins/validate-z-schema/package.json +18 -0
- package/plugins/vector/index.cjs +2 -0
- package/plugins/vector/index.d.cts +1 -0
- package/plugins/vector/index.d.mts +1 -0
- package/plugins/vector/index.mjs +1 -0
- package/plugins/vector/index.ts +1 -0
- package/plugins/vector/package.json +18 -0
- package/plugins/webmcp/index.cjs +2 -0
- package/plugins/webmcp/index.d.cts +1 -0
- package/plugins/webmcp/index.d.mts +1 -0
- package/plugins/webmcp/index.mjs +1 -0
- package/plugins/webmcp/index.ts +1 -0
- package/plugins/webmcp/package.json +18 -0
- package/scripts/acme-challenge/.gittouch +0 -0
- package/scripts/ai-context-generator.mjs +63 -0
- package/scripts/cloud-signaling-script.sh +6 -0
- package/scripts/docs-remove-time.mjs +55 -0
- package/scripts/fix-types.mjs +23 -0
- package/scripts/generate-all-headers.ts +102 -0
- package/scripts/generate-error-messages.mjs +41 -0
- package/scripts/generate-header.ts +226 -0
- package/scripts/generate-plugins-package-json.mjs +133 -0
- package/scripts/install-foundationdb.sh +14 -0
- package/scripts/module_package.json +1 -0
- package/scripts/module_package_no_side.json +1 -0
- package/scripts/postinstall.js +33 -0
- package/scripts/profile.mjs +31 -0
- package/scripts/set-version.mjs +162 -0
- package/scripts/start-cloud-signaling-server.mjs +120 -0
- package/scripts/transpile.mjs +229 -0
- package/scripts/update-version-variable.mjs +49 -0
- package/src/change-event-buffer.ts +171 -0
- package/src/custom-index.ts +376 -0
- package/src/doc-cache.ts +294 -0
- package/src/event-reduce.ts +159 -0
- package/src/hooks.ts +128 -0
- package/src/incremental-write.ts +227 -0
- package/src/index.ts +30 -0
- package/src/overwritable.ts +41 -0
- package/src/plugin-helpers.ts +319 -0
- package/src/plugin.ts +113 -0
- package/src/plugins/attachments/attachments-utils.ts +84 -0
- package/src/plugins/attachments/index.ts +316 -0
- package/src/plugins/attachments-compression/index.ts +221 -0
- package/src/plugins/backup/file-util.ts +132 -0
- package/src/plugins/backup/index.ts +281 -0
- package/src/plugins/cleanup/cleanup-helper.ts +11 -0
- package/src/plugins/cleanup/cleanup-state.ts +92 -0
- package/src/plugins/cleanup/cleanup.ts +140 -0
- package/src/plugins/cleanup/index.ts +45 -0
- package/src/plugins/crdt/index.ts +505 -0
- package/src/plugins/dev-mode/check-document.ts +176 -0
- package/src/plugins/dev-mode/check-migration-strategies.ts +53 -0
- package/src/plugins/dev-mode/check-orm.ts +65 -0
- package/src/plugins/dev-mode/check-query.ts +231 -0
- package/src/plugins/dev-mode/check-schema.ts +564 -0
- package/src/plugins/dev-mode/dev-mode-tracking.ts +125 -0
- package/src/plugins/dev-mode/entity-properties.ts +56 -0
- package/src/plugins/dev-mode/error-messages.ts +1331 -0
- package/src/plugins/dev-mode/index.ts +203 -0
- package/src/plugins/dev-mode/unallowed-properties.ts +96 -0
- package/src/plugins/electron/electron-helper.ts +2 -0
- package/src/plugins/electron/index.ts +3 -0
- package/src/plugins/electron/rx-storage-ipc-main.ts +58 -0
- package/src/plugins/electron/rx-storage-ipc-renderer.ts +62 -0
- package/src/plugins/encryption-crypto-js/index.ts +220 -0
- package/src/plugins/flutter/dart/analysis_options.yaml +30 -0
- package/src/plugins/flutter/dart/example/rxdb_example.dart +6 -0
- package/src/plugins/flutter/dart/lib/rxdb.dart +7 -0
- package/src/plugins/flutter/dart/lib/src/rxdb_base.dart +332 -0
- package/src/plugins/flutter/dart/pubspec.yaml +15 -0
- package/src/plugins/flutter/index.ts +65 -0
- package/src/plugins/json-dump/index.ts +146 -0
- package/src/plugins/key-compression/index.ts +238 -0
- package/src/plugins/leader-election/index.ts +129 -0
- package/src/plugins/local-documents/index.ts +95 -0
- package/src/plugins/local-documents/local-documents-helper.ts +103 -0
- package/src/plugins/local-documents/local-documents.ts +146 -0
- package/src/plugins/local-documents/rx-local-document.ts +388 -0
- package/src/plugins/migration-schema/index.ts +75 -0
- package/src/plugins/migration-schema/migration-helpers.ts +162 -0
- package/src/plugins/migration-schema/migration-types.ts +42 -0
- package/src/plugins/migration-schema/rx-migration-state.ts +632 -0
- package/src/plugins/migration-storage/index.ts +255 -0
- package/src/plugins/pipeline/flagged-functions.ts +131 -0
- package/src/plugins/pipeline/index.ts +18 -0
- package/src/plugins/pipeline/rx-pipeline.ts +303 -0
- package/src/plugins/pipeline/types.ts +28 -0
- package/src/plugins/query-builder/index.ts +81 -0
- package/src/plugins/query-builder/mquery/README.md +5 -0
- package/src/plugins/query-builder/mquery/mquery-utils.ts +37 -0
- package/src/plugins/query-builder/mquery/nosql-query-builder.ts +578 -0
- package/src/plugins/react/database-context.ts +10 -0
- package/src/plugins/react/database-provider.tsx +38 -0
- package/src/plugins/react/hooks/index.ts +4 -0
- package/src/plugins/react/hooks/use-live-rx-query.ts +34 -0
- package/src/plugins/react/hooks/use-rx-collection.ts +73 -0
- package/src/plugins/react/hooks/use-rx-database.ts +35 -0
- package/src/plugins/react/hooks/use-rx-query.ts +168 -0
- package/src/plugins/react/index.ts +2 -0
- package/src/plugins/reactivity-angular/index.ts +32 -0
- package/src/plugins/reactivity-preact-signals/index.ts +85 -0
- package/src/plugins/reactivity-vue/index.ts +43 -0
- package/src/plugins/replication/index.ts +668 -0
- package/src/plugins/replication/replication-helper.ts +122 -0
- package/src/plugins/replication-appwrite/appwrite-helpers.ts +38 -0
- package/src/plugins/replication-appwrite/appwrite-types.ts +31 -0
- package/src/plugins/replication-appwrite/index.ts +269 -0
- package/src/plugins/replication-couchdb/couchdb-helper.ts +100 -0
- package/src/plugins/replication-couchdb/couchdb-types.ts +34 -0
- package/src/plugins/replication-couchdb/index.ts +341 -0
- package/src/plugins/replication-firestore/firestore-helper.ts +79 -0
- package/src/plugins/replication-firestore/firestore-types.ts +72 -0
- package/src/plugins/replication-firestore/index.ts +387 -0
- package/src/plugins/replication-google-drive/AGENTS.md +5 -0
- package/src/plugins/replication-google-drive/document-handling.ts +203 -0
- package/src/plugins/replication-google-drive/download-specs.sh +49 -0
- package/src/plugins/replication-google-drive/downstream.ts +118 -0
- package/src/plugins/replication-google-drive/google-drive-helper.ts +467 -0
- package/src/plugins/replication-google-drive/google-drive-types.ts +84 -0
- package/src/plugins/replication-google-drive/index.ts +221 -0
- package/src/plugins/replication-google-drive/init.ts +108 -0
- package/src/plugins/replication-google-drive/multipart.ts +86 -0
- package/src/plugins/replication-google-drive/signaling.ts +399 -0
- package/src/plugins/replication-google-drive/transaction.ts +222 -0
- package/src/plugins/replication-google-drive/upstream.ts +279 -0
- package/src/plugins/replication-graphql/graphql-schema-from-rx-schema.ts +337 -0
- package/src/plugins/replication-graphql/graphql-websocket.ts +56 -0
- package/src/plugins/replication-graphql/helper.ts +52 -0
- package/src/plugins/replication-graphql/index.ts +255 -0
- package/src/plugins/replication-graphql/query-builder-from-rx-schema.ts +195 -0
- package/src/plugins/replication-microsoft-onedrive/document-handling.ts +216 -0
- package/src/plugins/replication-microsoft-onedrive/downstream.ts +121 -0
- package/src/plugins/replication-microsoft-onedrive/index.ts +220 -0
- package/src/plugins/replication-microsoft-onedrive/init.ts +107 -0
- package/src/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.ts +355 -0
- package/src/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.ts +88 -0
- package/src/plugins/replication-microsoft-onedrive/signaling.ts +333 -0
- package/src/plugins/replication-microsoft-onedrive/transaction.ts +220 -0
- package/src/plugins/replication-microsoft-onedrive/upstream.ts +282 -0
- package/src/plugins/replication-mongodb/index.ts +275 -0
- package/src/plugins/replication-mongodb/mongodb-checkpoint.ts +184 -0
- package/src/plugins/replication-mongodb/mongodb-helper.ts +69 -0
- package/src/plugins/replication-mongodb/mongodb-types.ts +50 -0
- package/src/plugins/replication-nats/index.ts +289 -0
- package/src/plugins/replication-nats/nats-helper.ts +15 -0
- package/src/plugins/replication-nats/nats-types.ts +43 -0
- package/src/plugins/replication-supabase/helper.ts +63 -0
- package/src/plugins/replication-supabase/index.ts +308 -0
- package/src/plugins/replication-supabase/types.ts +47 -0
- package/src/plugins/replication-webrtc/connection-handler-p2pcf.ts +77 -0
- package/src/plugins/replication-webrtc/connection-handler-simple-peer.ts +302 -0
- package/src/plugins/replication-webrtc/connection-handler-webtorrent.ts +137 -0
- package/src/plugins/replication-webrtc/index.ts +307 -0
- package/src/plugins/replication-webrtc/signaling-server.ts +193 -0
- package/src/plugins/replication-webrtc/webrtc-helper.ts +55 -0
- package/src/plugins/replication-webrtc/webrtc-types.ts +91 -0
- package/src/plugins/replication-websocket/index.ts +3 -0
- package/src/plugins/replication-websocket/websocket-client.ts +187 -0
- package/src/plugins/replication-websocket/websocket-server.ts +135 -0
- package/src/plugins/replication-websocket/websocket-types.ts +47 -0
- package/src/plugins/state/helpers.ts +86 -0
- package/src/plugins/state/index.ts +40 -0
- package/src/plugins/state/rx-state.ts +386 -0
- package/src/plugins/state/types.ts +32 -0
- package/src/plugins/storage-denokv/denokv-helper.ts +46 -0
- package/src/plugins/storage-denokv/denokv-query.ts +135 -0
- package/src/plugins/storage-denokv/denokv-types.ts +19 -0
- package/src/plugins/storage-denokv/index.ts +37 -0
- package/src/plugins/storage-denokv/rx-storage-instance-denokv.ts +426 -0
- package/src/plugins/storage-dexie/dexie-helper.ts +302 -0
- package/src/plugins/storage-dexie/dexie-query.ts +252 -0
- package/src/plugins/storage-dexie/index.ts +4 -0
- package/src/plugins/storage-dexie/rx-storage-dexie.ts +62 -0
- package/src/plugins/storage-dexie/rx-storage-instance-dexie.ts +378 -0
- package/src/plugins/storage-foundationdb/foundationdb-helpers.ts +6 -0
- package/src/plugins/storage-foundationdb/foundationdb-query.ts +140 -0
- package/src/plugins/storage-foundationdb/foundationdb-types.ts +64 -0
- package/src/plugins/storage-foundationdb/index.ts +57 -0
- package/src/plugins/storage-foundationdb/rx-storage-instance-foundationdb.ts +449 -0
- package/src/plugins/storage-localstorage/index.ts +44 -0
- package/src/plugins/storage-localstorage/localstorage-mock.ts +32 -0
- package/src/plugins/storage-localstorage/rx-storage-instance-localstorage.ts +686 -0
- package/src/plugins/storage-memory/binary-search-bounds.ts +106 -0
- package/src/plugins/storage-memory/index.ts +52 -0
- package/src/plugins/storage-memory/memory-helper.ts +259 -0
- package/src/plugins/storage-memory/memory-indexes.ts +34 -0
- package/src/plugins/storage-memory/memory-types.ts +90 -0
- package/src/plugins/storage-memory/rx-storage-instance-memory.ts +609 -0
- package/src/plugins/storage-mongodb/index.ts +4 -0
- package/src/plugins/storage-mongodb/mongodb-helper.ts +119 -0
- package/src/plugins/storage-mongodb/mongodb-types.ts +32 -0
- package/src/plugins/storage-mongodb/rx-storage-instance-mongodb.ts +464 -0
- package/src/plugins/storage-mongodb/rx-storage-mongodb.ts +33 -0
- package/src/plugins/storage-remote/index.ts +5 -0
- package/src/plugins/storage-remote/message-channel-cache.ts +88 -0
- package/src/plugins/storage-remote/remote.ts +285 -0
- package/src/plugins/storage-remote/rx-storage-remote.ts +286 -0
- package/src/plugins/storage-remote/storage-remote-helpers.ts +33 -0
- package/src/plugins/storage-remote/storage-remote-types.ts +118 -0
- package/src/plugins/storage-remote-websocket/index.ts +218 -0
- package/src/plugins/storage-remote-websocket/types.ts +34 -0
- package/src/plugins/storage-sqlite/index.ts +64 -0
- package/src/plugins/storage-sqlite/sqlite-basics-helpers.ts +656 -0
- package/src/plugins/storage-sqlite/sqlite-helpers.ts +287 -0
- package/src/plugins/storage-sqlite/sqlite-storage-instance.ts +507 -0
- package/src/plugins/storage-sqlite/sqlite-types.ts +151 -0
- package/src/plugins/test-utils/config.ts +135 -0
- package/src/plugins/test-utils/humans-collection.ts +557 -0
- package/src/plugins/test-utils/index.ts +24 -0
- package/src/plugins/test-utils/performance.ts +344 -0
- package/src/plugins/test-utils/replication-base-test-suite.ts +236 -0
- package/src/plugins/test-utils/replication.ts +95 -0
- package/src/plugins/test-utils/revisions.ts +4 -0
- package/src/plugins/test-utils/schema-objects.ts +527 -0
- package/src/plugins/test-utils/schemas.ts +1391 -0
- package/src/plugins/test-utils/test-util.ts +85 -0
- package/src/plugins/update/index.ts +57 -0
- package/src/plugins/update/mingo-updater.ts +26 -0
- package/src/plugins/utils/index.ts +20 -0
- package/src/plugins/utils/utils-array.ts +152 -0
- package/src/plugins/utils/utils-base64.ts +49 -0
- package/src/plugins/utils/utils-blob.ts +65 -0
- package/src/plugins/utils/utils-document.ts +117 -0
- package/src/plugins/utils/utils-error.ts +53 -0
- package/src/plugins/utils/utils-global.ts +5 -0
- package/src/plugins/utils/utils-hash.ts +62 -0
- package/src/plugins/utils/utils-map.ts +23 -0
- package/src/plugins/utils/utils-number.ts +9 -0
- package/src/plugins/utils/utils-object-deep-equal.ts +46 -0
- package/src/plugins/utils/utils-object-dot-prop.ts +365 -0
- package/src/plugins/utils/utils-object.ts +272 -0
- package/src/plugins/utils/utils-other.ts +58 -0
- package/src/plugins/utils/utils-premium.ts +37 -0
- package/src/plugins/utils/utils-promise.ts +171 -0
- package/src/plugins/utils/utils-regex.ts +2 -0
- package/src/plugins/utils/utils-revision.ts +55 -0
- package/src/plugins/utils/utils-rxdb-version.template.ts +4 -0
- package/src/plugins/utils/utils-rxdb-version.ts +4 -0
- package/src/plugins/utils/utils-string.ts +91 -0
- package/src/plugins/utils/utils-time.ts +37 -0
- package/src/plugins/validate-ajv/index.ts +61 -0
- package/src/plugins/validate-is-my-json-valid/index.ts +30 -0
- package/src/plugins/validate-z-schema/index.ts +58 -0
- package/src/plugins/vector/helper.ts +0 -0
- package/src/plugins/vector/index.ts +2 -0
- package/src/plugins/vector/types.ts +1 -0
- package/src/plugins/vector/vector-distance.ts +34 -0
- package/src/plugins/webmcp/index.ts +2 -0
- package/src/plugins/webmcp/nosql-query-schema.ts +299 -0
- package/src/plugins/webmcp/webmcp.ts +319 -0
- package/src/query-cache.ts +139 -0
- package/src/query-planner.ts +386 -0
- package/src/replication-protocol/checkpoint.ts +154 -0
- package/src/replication-protocol/conflicts.ts +53 -0
- package/src/replication-protocol/default-conflict-handler.ts +43 -0
- package/src/replication-protocol/downstream.ts +550 -0
- package/src/replication-protocol/helper.ts +96 -0
- package/src/replication-protocol/index.ts +348 -0
- package/src/replication-protocol/meta-instance.ts +195 -0
- package/src/replication-protocol/upstream.ts +560 -0
- package/src/rx-change-event.ts +137 -0
- package/src/rx-collection-helper.ts +262 -0
- package/src/rx-collection.ts +1306 -0
- package/src/rx-database-internal-store.ts +402 -0
- package/src/rx-database.ts +919 -0
- package/src/rx-document-prototype-merge.ts +124 -0
- package/src/rx-document.ts +557 -0
- package/src/rx-error.ts +190 -0
- package/src/rx-query-helper.ts +317 -0
- package/src/rx-query-mingo.ts +87 -0
- package/src/rx-query-single-result.ts +110 -0
- package/src/rx-query.ts +887 -0
- package/src/rx-schema-helper.ts +391 -0
- package/src/rx-schema.ts +247 -0
- package/src/rx-storage-helper.ts +1050 -0
- package/src/rx-storage-multiinstance.ts +188 -0
- package/src/types/conflict-handling.d.ts +48 -0
- package/src/types/couchdb.d.ts +293 -0
- package/src/types/index.d.ts +32 -0
- package/src/types/modules/index.d.ts +0 -0
- package/src/types/modules/mocha.parallel.d.ts +1 -0
- package/src/types/plugins/backup.d.ts +35 -0
- package/src/types/plugins/cleanup.d.ts +38 -0
- package/src/types/plugins/crdt.d.ts +76 -0
- package/src/types/plugins/dexie.d.ts +30 -0
- package/src/types/plugins/local-documents.d.ts +49 -0
- package/src/types/plugins/migration.d.ts +14 -0
- package/src/types/plugins/reactivity.d.ts +40 -0
- package/src/types/plugins/replication-graphql.d.ts +98 -0
- package/src/types/plugins/replication.d.ts +175 -0
- package/src/types/plugins/state.d.ts +4 -0
- package/src/types/plugins/update.d.ts +23 -0
- package/src/types/plugins/webmcp.d.ts +40 -0
- package/src/types/query-planner.d.ts +47 -0
- package/src/types/replication-protocol.d.ts +296 -0
- package/src/types/rx-attachment.d.ts +46 -0
- package/src/types/rx-change-event.d.ts +85 -0
- package/src/types/rx-collection.d.ts +117 -0
- package/src/types/rx-database-internal-store.d.ts +54 -0
- package/src/types/rx-database.d.ts +124 -0
- package/src/types/rx-document.d.ts +160 -0
- package/src/types/rx-error.d.ts +222 -0
- package/src/types/rx-plugin.d.ts +167 -0
- package/src/types/rx-query.d.ts +144 -0
- package/src/types/rx-schema.d.ts +209 -0
- package/src/types/rx-storage.d.ts +347 -0
- package/src/types/rx-storage.interface.d.ts +312 -0
- package/src/types/util.d.ts +180 -0
- package/tsconfig.json +54 -0
- package/tsconfig.lint.json +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-migration-state.js","names":["Subject","filter","firstValueFrom","map","shareReplay","isBulkWriteConflictError","newRxError","MIGRATION_DEFAULT_BATCH_SIZE","addMigrationStateToDatabase","getOldCollectionMeta","migrateDocumentData","mustMigrate","PROMISE_RESOLVE_TRUE","RXJS_SHARE_REPLAY_DEFAULTS","clone","deepEqual","ensureNotFalsy","errorToPlainJson","getDefaultRevision","getDefaultRxDocumentMeta","getSingleDocument","hasEncryption","observeSingle","writeSingle","BroadcastChannel","createLeaderElection","META_INSTANCE_SCHEMA_TITLE","awaitRxStorageReplicationFirstInSync","awaitRxStorageReplicationInSync","cancelRxStorageReplication","defaultConflictHandler","getRxReplicationMetaInstanceSchema","replicateRxStorageInstance","rxStorageInstanceToReplicationHandler","overwritable","INTERNAL_CONTEXT_MIGRATION_STATUS","addConnectedStorageToCollection","getPrimaryKeyOfInternalDocument","normalizeMangoQuery","prepareQuery","RxMigrationState","collection","migrationStrategies","statusDocKey","name","schema","version","join","started","replicationStates","Set","canceled","updateStatusHandlers","updateStatusQueue","database","oldCollectionMeta","statusDocId","$","internalStore","pipe","d","data","_proto","prototype","getStatus","startMigration","batchSize","must","multiInstance","broadcastChannel","leaderElector","awaitLeadership","oldStorageInstance","storage","createStorageInstance","databaseName","collectionName","databaseInstanceToken","token","options","password","devMode","isDevMode","connectedInstances","getConnectedStorageInstances","totalCount","countAllDocuments","concat","r","oldStorage","updateStatus","s","count","total","Promise","all","connectedInstance","newStorage","migrateStorage","close","storageInstance","originalStorageInstance","err","status","error","currentMeta","previous","document","Object","assign","_deleted","isConflict","documentInDb","handler","push","then","length","useHandlers","newDoc","id","key","context","handled","percent","_meta","_rev","_attachments","oneHandler","Math","round","onClose","cancel","replicationMetaStorageInstance","replicationHandlerBase","replicationState","keepMeta","skipStoringPullMeta","identifier","replicationHandler","masterChangesSince","resolve","checkpoint","documents","masterWrite","rows","migratedRows","row","newDocData","newDocumentState","title","docData","isCheckpoint","assumedMasterState","undefined","migratedDocData","newRow","result","masterChangeStream$","asObservable","forkInstance","metaInstance","pushBatchSize","pullBatchSize","conflictHandler","hashFunction","add","hasError","events","subscribe","processed","up","remove","Array","from","values","state","storageInstances","ret","instance","preparedQuery","selector","countResult","connectedStorages","connectedStorage","Error","newSchema","jsonSchema","migratePromise","catch","race"],"sources":["../../../../src/plugins/migration-schema/rx-migration-state.ts"],"sourcesContent":["import {\r\n Observable,\r\n Subject,\r\n filter,\r\n firstValueFrom,\r\n map,\r\n shareReplay\r\n} from 'rxjs';\r\nimport {\r\n isBulkWriteConflictError,\r\n newRxError\r\n} from '../../rx-error.ts';\r\nimport type {\r\n InternalStoreCollectionDocType,\r\n NumberFunctionMap,\r\n RxCollection,\r\n RxDatabase,\r\n RxError,\r\n RxReplicationWriteToMasterRow,\r\n RxStorageInstance,\r\n RxStorageInstanceReplicationState,\r\n RxTypeError\r\n} from '../../types/index.d.ts';\r\nimport {\r\n MIGRATION_DEFAULT_BATCH_SIZE,\r\n addMigrationStateToDatabase,\r\n getOldCollectionMeta,\r\n migrateDocumentData,\r\n mustMigrate\r\n} from './migration-helpers.ts';\r\nimport {\r\n PROMISE_RESOLVE_TRUE,\r\n RXJS_SHARE_REPLAY_DEFAULTS,\r\n clone,\r\n deepEqual,\r\n ensureNotFalsy,\r\n errorToPlainJson,\r\n getDefaultRevision,\r\n getDefaultRxDocumentMeta,\r\n promiseWait\r\n} from '../utils/index.ts';\r\nimport type {\r\n MigrationStatusUpdate,\r\n RxMigrationStatus,\r\n RxMigrationStatusDocument\r\n} from './migration-types.ts';\r\nimport {\r\n getSingleDocument,\r\n hasEncryption,\r\n observeSingle,\r\n writeSingle\r\n} from '../../rx-storage-helper.ts';\r\nimport {\r\n BroadcastChannel,\r\n createLeaderElection\r\n} from 'broadcast-channel';\r\nimport {\r\n META_INSTANCE_SCHEMA_TITLE,\r\n awaitRxStorageReplicationFirstInSync,\r\n awaitRxStorageReplicationInSync,\r\n cancelRxStorageReplication,\r\n defaultConflictHandler,\r\n getRxReplicationMetaInstanceSchema,\r\n replicateRxStorageInstance,\r\n rxStorageInstanceToReplicationHandler\r\n} from '../../replication-protocol/index.ts';\r\nimport { overwritable } from '../../overwritable.ts';\r\nimport {\r\n INTERNAL_CONTEXT_MIGRATION_STATUS,\r\n addConnectedStorageToCollection,\r\n getPrimaryKeyOfInternalDocument\r\n} from '../../rx-database-internal-store.ts';\r\nimport { normalizeMangoQuery, prepareQuery } from '../../rx-query-helper.ts';\r\n\r\n\r\n\r\nexport class RxMigrationState {\r\n\r\n public database: RxDatabase;\r\n\r\n\r\n private started: boolean = false;\r\n public readonly oldCollectionMeta: ReturnType<typeof getOldCollectionMeta>;\r\n public readonly mustMigrate: ReturnType<typeof mustMigrate>;\r\n public readonly statusDocId: string;\r\n public readonly $: Observable<RxMigrationStatus>;\r\n\r\n /**\r\n * Contains ALL replication states\r\n * that are ever used in this migration state.\r\n */\r\n public replicationStates = new Set<RxStorageInstanceReplicationState<any>>();\r\n public canceled: boolean = false;\r\n public broadcastChannel?: BroadcastChannel;\r\n constructor(\r\n public readonly collection: RxCollection,\r\n public readonly migrationStrategies: NumberFunctionMap,\r\n public readonly statusDocKey = [\r\n collection.name,\r\n 'v',\r\n collection.schema.version\r\n ].join('-'),\r\n ) {\r\n this.database = collection.database;\r\n this.oldCollectionMeta = getOldCollectionMeta(this);\r\n this.mustMigrate = mustMigrate(this);\r\n this.statusDocId = getPrimaryKeyOfInternalDocument(\r\n this.statusDocKey,\r\n INTERNAL_CONTEXT_MIGRATION_STATUS\r\n );\r\n addMigrationStateToDatabase(this);\r\n\r\n this.$ = observeSingle<RxMigrationStatusDocument>(\r\n this.database.internalStore,\r\n this.statusDocId\r\n ).pipe(\r\n filter((d: RxMigrationStatusDocument | null) => !!d),\r\n map((d: RxMigrationStatusDocument | null) => ensureNotFalsy(d).data),\r\n shareReplay(RXJS_SHARE_REPLAY_DEFAULTS)\r\n );\r\n }\r\n\r\n getStatus() {\r\n return firstValueFrom(this.$);\r\n }\r\n\r\n\r\n /**\r\n * Starts the migration.\r\n * Returns void so that people to not get the idea to await\r\n * this function.\r\n * Instead use migratePromise() if you want to await\r\n * the migration. This ensures it works even if the migration\r\n * is run on a different browser tab.\r\n */\r\n async startMigration(batchSize: number = MIGRATION_DEFAULT_BATCH_SIZE): Promise<void> {\r\n const must = await this.mustMigrate;\r\n if (!must) {\r\n return;\r\n }\r\n if (this.started) {\r\n throw newRxError('DM1');\r\n }\r\n this.started = true;\r\n\r\n\r\n /**\r\n * To ensure that multiple tabs do not migrate the same collection,\r\n * we use a new broadcastChannel/leaderElector for each collection.\r\n * This is required because collections can be added dynamically and\r\n * not all tabs might know about this collection.\r\n */\r\n if (this.database.multiInstance) {\r\n this.broadcastChannel = new BroadcastChannel([\r\n 'rx-migration-state',\r\n this.database.name,\r\n this.collection.name,\r\n this.collection.schema.version\r\n ].join('|'));\r\n const leaderElector = createLeaderElection(this.broadcastChannel);\r\n await leaderElector.awaitLeadership();\r\n }\r\n\r\n /**\r\n * Instead of writing a custom migration protocol,\r\n * we do a push-only replication from the old collection data to the new one.\r\n * This also ensure that restarting the replication works without problems.\r\n */\r\n const oldCollectionMeta = await this.oldCollectionMeta;\r\n const oldStorageInstance = await this.database.storage.createStorageInstance({\r\n databaseName: this.database.name,\r\n collectionName: this.collection.name,\r\n databaseInstanceToken: this.database.token,\r\n multiInstance: this.database.multiInstance,\r\n options: {},\r\n schema: ensureNotFalsy(oldCollectionMeta).data.schema,\r\n password: this.database.password,\r\n devMode: overwritable.isDevMode()\r\n });\r\n\r\n\r\n const connectedInstances = await this.getConnectedStorageInstances();\r\n\r\n\r\n /**\r\n * Initially write the migration status into a meta document.\r\n */\r\n const totalCount = await this.countAllDocuments(\r\n [oldStorageInstance].concat(connectedInstances.map(r => r.oldStorage))\r\n );\r\n await this.updateStatus(s => {\r\n s.count.total = totalCount;\r\n return s;\r\n });\r\n\r\n\r\n try {\r\n /**\r\n * First migrate the connected storages,\r\n * afterwards migrate the normal collection.\r\n */\r\n await Promise.all(\r\n connectedInstances.map(async (connectedInstance) => {\r\n await addConnectedStorageToCollection(\r\n this.collection,\r\n connectedInstance.newStorage.collectionName,\r\n connectedInstance.newStorage.schema\r\n );\r\n await this.migrateStorage(\r\n connectedInstance.oldStorage,\r\n connectedInstance.newStorage,\r\n batchSize\r\n );\r\n await connectedInstance.newStorage.close();\r\n })\r\n );\r\n\r\n await this.migrateStorage(\r\n oldStorageInstance,\r\n /**\r\n * Use the originalStorageInstance here\r\n * so that the _meta.lwt time keeps the same\r\n * and our replication checkpoints still point to the\r\n * correct checkpoint.\r\n */\r\n this.collection.storageInstance.originalStorageInstance,\r\n batchSize\r\n );\r\n } catch (err) {\r\n await oldStorageInstance.close();\r\n await this.updateStatus(s => {\r\n s.status = 'ERROR';\r\n s.error = errorToPlainJson(err as Error);\r\n return s;\r\n });\r\n return;\r\n }\r\n\r\n /**\r\n * Remove old collection meta doc with retry on conflict.\r\n * The _rev of the meta doc may have changed since we fetched it\r\n * at the start of migration (due to updateStatus() calls),\r\n * so we re-fetch before each deletion attempt.\r\n * @link https://github.com/pubkey/rxdb/issues/7791\r\n */\r\n while (true) {\r\n const currentMeta = await getOldCollectionMeta(this);\r\n if (!currentMeta) {\r\n break;\r\n }\r\n try {\r\n await writeSingle(\r\n this.database.internalStore,\r\n {\r\n previous: currentMeta,\r\n document: Object.assign(\r\n {},\r\n currentMeta,\r\n {\r\n _deleted: true\r\n }\r\n )\r\n },\r\n 'rx-migration-remove-collection-meta'\r\n );\r\n break;\r\n } catch (error) {\r\n const isConflict = isBulkWriteConflictError<InternalStoreCollectionDocType>(error);\r\n if (isConflict && !!isConflict.documentInDb._deleted) {\r\n break;\r\n } else if (isConflict) {\r\n continue;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n }\r\n\r\n await this.updateStatus(s => {\r\n s.status = 'DONE';\r\n return s;\r\n });\r\n if (this.broadcastChannel) {\r\n await this.broadcastChannel.close();\r\n }\r\n }\r\n\r\n public updateStatusHandlers: MigrationStatusUpdate[] = [];\r\n public updateStatusQueue: Promise<any> = PROMISE_RESOLVE_TRUE;\r\n public updateStatus(\r\n handler: MigrationStatusUpdate\r\n ) {\r\n this.updateStatusHandlers.push(handler);\r\n this.updateStatusQueue = this.updateStatusQueue.then(async () => {\r\n if (this.updateStatusHandlers.length === 0) {\r\n return;\r\n }\r\n // re-run until no conflict\r\n const useHandlers = this.updateStatusHandlers;\r\n this.updateStatusHandlers = [];\r\n while (true) {\r\n const previous = await getSingleDocument<RxMigrationStatusDocument>(\r\n this.database.internalStore,\r\n this.statusDocId\r\n );\r\n let newDoc = clone(previous);\r\n if (!previous) {\r\n newDoc = {\r\n id: this.statusDocId,\r\n key: this.statusDocKey,\r\n context: INTERNAL_CONTEXT_MIGRATION_STATUS,\r\n data: {\r\n collectionName: this.collection.name,\r\n status: 'RUNNING',\r\n count: {\r\n total: 0,\r\n handled: 0,\r\n percent: 0\r\n }\r\n },\r\n _deleted: false,\r\n _meta: getDefaultRxDocumentMeta(),\r\n _rev: getDefaultRevision(),\r\n _attachments: {}\r\n };\r\n }\r\n\r\n let status = ensureNotFalsy(newDoc).data;\r\n for (const oneHandler of useHandlers) {\r\n status = oneHandler(status);\r\n }\r\n status.count.percent = Math.round((status.count.handled / status.count.total) * 100);\r\n\r\n if (\r\n newDoc && previous &&\r\n deepEqual(newDoc.data, previous.data)\r\n ) {\r\n break;\r\n }\r\n\r\n\r\n try {\r\n await writeSingle<RxMigrationStatusDocument>(\r\n this.database.internalStore,\r\n {\r\n previous,\r\n document: ensureNotFalsy(newDoc)\r\n },\r\n INTERNAL_CONTEXT_MIGRATION_STATUS\r\n );\r\n\r\n // write successful\r\n break;\r\n } catch (err) {\r\n // ignore conflicts\r\n if (!isBulkWriteConflictError(err)) {\r\n throw err;\r\n }\r\n }\r\n }\r\n });\r\n return this.updateStatusQueue;\r\n }\r\n\r\n\r\n public async migrateStorage(\r\n oldStorage: RxStorageInstance<any, any, any>,\r\n newStorage: RxStorageInstance<any, any, any>,\r\n batchSize: number\r\n ) {\r\n\r\n this.collection.onClose.push(() => this.cancel());\r\n this.database.onClose.push(() => this.cancel());\r\n const replicationMetaStorageInstance = await this.database.storage.createStorageInstance({\r\n databaseName: this.database.name,\r\n collectionName: 'rx-migration-state-meta-' + oldStorage.collectionName + '-' + oldStorage.schema.version,\r\n databaseInstanceToken: this.database.token,\r\n multiInstance: this.database.multiInstance,\r\n options: {},\r\n schema: getRxReplicationMetaInstanceSchema(oldStorage.schema, hasEncryption(oldStorage.schema)),\r\n password: this.database.password,\r\n devMode: overwritable.isDevMode()\r\n });\r\n\r\n const replicationHandlerBase = rxStorageInstanceToReplicationHandler(\r\n newStorage,\r\n /**\r\n * Ignore push-conflicts.\r\n * If this happens we drop the 'old' document state.\r\n */\r\n defaultConflictHandler,\r\n this.database.token,\r\n true\r\n );\r\n\r\n const replicationState = replicateRxStorageInstance({\r\n keepMeta: true,\r\n skipStoringPullMeta: false,\r\n identifier: [\r\n 'rx-migration-state',\r\n oldStorage.collectionName,\r\n oldStorage.schema.version,\r\n this.collection.schema.version\r\n ].join('-'),\r\n replicationHandler: {\r\n masterChangesSince() {\r\n return Promise.resolve({\r\n checkpoint: null,\r\n documents: []\r\n });\r\n },\r\n masterWrite: async (rows) => {\r\n let migratedRows = await Promise.all(\r\n rows\r\n .map(async (row) => {\r\n let newDocData = row.newDocumentState;\r\n if (newStorage.schema.title === META_INSTANCE_SCHEMA_TITLE) {\r\n newDocData = row.newDocumentState.docData;\r\n if (row.newDocumentState.isCheckpoint === '1') {\r\n return {\r\n assumedMasterState: undefined,\r\n newDocumentState: row.newDocumentState\r\n };\r\n }\r\n }\r\n const migratedDocData: RxReplicationWriteToMasterRow<any> = await migrateDocumentData(\r\n this.collection,\r\n oldStorage.schema.version,\r\n newDocData\r\n );\r\n\r\n /**\r\n * The migration strategy can return null\r\n * which means the document must be deleted during migration.\r\n */\r\n if (migratedDocData === null) {\r\n return null;\r\n }\r\n\r\n const newRow: RxReplicationWriteToMasterRow<any> = {\r\n // drop the assumed master state, we do not have to care about conflicts here.\r\n assumedMasterState: undefined,\r\n newDocumentState: newStorage.schema.title === META_INSTANCE_SCHEMA_TITLE\r\n ? Object.assign({}, row.newDocumentState, { docData: migratedDocData })\r\n : migratedDocData\r\n };\r\n\r\n return newRow;\r\n })\r\n );\r\n\r\n // filter out the documents where the migration strategy returned null\r\n migratedRows = migratedRows.filter(row => !!row && !!row.newDocumentState);\r\n\r\n const result = await replicationHandlerBase.masterWrite(migratedRows as any);\r\n return result;\r\n },\r\n masterChangeStream$: new Subject<any>().asObservable()\r\n },\r\n forkInstance: oldStorage,\r\n metaInstance: replicationMetaStorageInstance,\r\n pushBatchSize: batchSize,\r\n pullBatchSize: 0,\r\n conflictHandler: defaultConflictHandler,\r\n hashFunction: this.database.hashFunction\r\n });\r\n this.replicationStates.add(replicationState);\r\n\r\n let hasError: RxError | RxTypeError | false = false;\r\n replicationState.events.error.subscribe((err: RxError | RxTypeError) => hasError = err);\r\n\r\n // update replication status on each change\r\n replicationState.events.processed.up.subscribe(() => {\r\n this.updateStatus(status => {\r\n status.count.handled = status.count.handled + 1;\r\n return status;\r\n });\r\n });\r\n\r\n await awaitRxStorageReplicationFirstInSync(replicationState);\r\n await awaitRxStorageReplicationInSync(replicationState);\r\n\r\n await this.updateStatusQueue;\r\n if (hasError) {\r\n await cancelRxStorageReplication(replicationState);\r\n await replicationMetaStorageInstance.close();\r\n throw hasError;\r\n }\r\n\r\n // cleanup old storages\r\n await Promise.all([\r\n oldStorage.remove(),\r\n replicationMetaStorageInstance.remove()\r\n ]);\r\n\r\n await cancelRxStorageReplication(replicationState);\r\n }\r\n\r\n /**\r\n * Stops the migration.\r\n * Mostly used in tests to simulate what happens\r\n * when the user reloads the page during a migration.\r\n */\r\n public async cancel() {\r\n this.canceled = true;\r\n await Promise.all(\r\n Array.from(this.replicationStates.values())\r\n .map(state => cancelRxStorageReplication(state))\r\n );\r\n if (this.broadcastChannel) {\r\n await this.broadcastChannel.close();\r\n }\r\n }\r\n\r\n public async countAllDocuments(\r\n storageInstances: RxStorageInstance<any, any, any>[]\r\n ): Promise<number> {\r\n let ret = 0;\r\n await Promise.all(\r\n storageInstances.map(async (instance) => {\r\n\r\n const preparedQuery = prepareQuery(\r\n instance.schema,\r\n normalizeMangoQuery(\r\n instance.schema,\r\n {\r\n selector: {}\r\n }\r\n )\r\n );\r\n const countResult = await instance.count(preparedQuery);\r\n ret += countResult.count;\r\n })\r\n );\r\n return ret;\r\n }\r\n\r\n public async getConnectedStorageInstances() {\r\n const oldCollectionMeta = ensureNotFalsy(await this.oldCollectionMeta);\r\n const ret: {\r\n oldStorage: RxStorageInstance<any, any, any>;\r\n newStorage: RxStorageInstance<any, any, any>;\r\n }[] = [];\r\n\r\n await Promise.all(\r\n await Promise.all(\r\n oldCollectionMeta\r\n .data\r\n .connectedStorages\r\n .map(async (connectedStorage) => {\r\n\r\n // atm we can only migrate replication states.\r\n if (connectedStorage.schema.title !== META_INSTANCE_SCHEMA_TITLE) {\r\n throw new Error('unknown migration handling for schema');\r\n }\r\n\r\n const newSchema = getRxReplicationMetaInstanceSchema(\r\n clone(this.collection.schema.jsonSchema),\r\n hasEncryption(connectedStorage.schema)\r\n );\r\n newSchema.version = this.collection.schema.version;\r\n const [oldStorage, newStorage] = await Promise.all([\r\n this.database.storage.createStorageInstance({\r\n databaseInstanceToken: this.database.token,\r\n databaseName: this.database.name,\r\n devMode: overwritable.isDevMode(),\r\n multiInstance: this.database.multiInstance,\r\n options: {},\r\n schema: connectedStorage.schema,\r\n password: this.database.password,\r\n collectionName: connectedStorage.collectionName\r\n }),\r\n this.database.storage.createStorageInstance({\r\n databaseInstanceToken: this.database.token,\r\n databaseName: this.database.name,\r\n devMode: overwritable.isDevMode(),\r\n multiInstance: this.database.multiInstance,\r\n options: {},\r\n schema: newSchema,\r\n password: this.database.password,\r\n collectionName: connectedStorage.collectionName\r\n })\r\n ]);\r\n ret.push({ oldStorage, newStorage });\r\n })\r\n )\r\n );\r\n\r\n return ret;\r\n }\r\n\r\n\r\n\r\n async migratePromise(batchSize?: number): Promise<RxMigrationStatus> {\r\n this.startMigration(batchSize).catch(() => { });\r\n const must = await this.mustMigrate;\r\n if (!must) {\r\n return {\r\n status: 'DONE',\r\n collectionName: this.collection.name,\r\n count: {\r\n handled: 0,\r\n percent: 0,\r\n total: 0\r\n }\r\n };\r\n }\r\n\r\n const result = await Promise.race([\r\n firstValueFrom(\r\n this.$.pipe(\r\n filter((d: RxMigrationStatus) => d.status === 'DONE')\r\n )\r\n ),\r\n firstValueFrom(\r\n this.$.pipe(\r\n filter((d: RxMigrationStatus) => d.status === 'ERROR')\r\n )\r\n )\r\n ]);\r\n\r\n if (result.status === 'ERROR') {\r\n throw newRxError('DM4', {\r\n collection: this.collection.name,\r\n error: result.error\r\n });\r\n } else {\r\n return result;\r\n }\r\n\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { createRevision, clone, randomToken, prepareQuery } from "../../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Migrates collections of RxDB version A and puts them
|
|
4
|
+
* into a RxDatabase that is created with version B.
|
|
5
|
+
* This function only works from the previous major version upwards.
|
|
6
|
+
* Do not use it to migrate like rxdb v9 to v14.
|
|
7
|
+
*/
|
|
8
|
+
export async function migrateStorage(params) {
|
|
9
|
+
var collections = Object.values(params.database.collections);
|
|
10
|
+
var batchSize = params.batchSize ? params.batchSize : 10;
|
|
11
|
+
if (params.parallel) {
|
|
12
|
+
await Promise.all(collections.map(collection => migrateCollection(collection, params.oldDatabaseName, params.oldStorage, batchSize, params.afterMigrateBatch, params.logFunction)));
|
|
13
|
+
} else {
|
|
14
|
+
for (var collection of collections) {
|
|
15
|
+
await migrateCollection(collection, params.oldDatabaseName, params.oldStorage, batchSize, params.afterMigrateBatch, params.logFunction);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function migrateCollection(collection, oldDatabaseName, oldStorage, batchSize, afterMigrateBatch,
|
|
20
|
+
// to log each step, pass console.log.bind(console) here.
|
|
21
|
+
logFunction) {
|
|
22
|
+
function log(message) {
|
|
23
|
+
if (logFunction) {
|
|
24
|
+
logFunction('migrateCollection(' + collection.name + ')' + message);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
log('start migrateCollection()');
|
|
28
|
+
var schema = collection.schema.jsonSchema;
|
|
29
|
+
var primaryPath = collection.schema.primaryPath;
|
|
30
|
+
var oldDatabaseInstanceToken = randomToken(10);
|
|
31
|
+
var oldStorageInstance = await oldStorage.createStorageInstance({
|
|
32
|
+
databaseName: oldDatabaseName,
|
|
33
|
+
collectionName: collection.name,
|
|
34
|
+
multiInstance: false,
|
|
35
|
+
options: {},
|
|
36
|
+
schema: schema,
|
|
37
|
+
databaseInstanceToken: oldDatabaseInstanceToken,
|
|
38
|
+
devMode: false
|
|
39
|
+
});
|
|
40
|
+
var plainQuery = {
|
|
41
|
+
selector: {
|
|
42
|
+
_deleted: {
|
|
43
|
+
$eq: false
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
limit: batchSize,
|
|
47
|
+
sort: [{
|
|
48
|
+
[primaryPath]: 'asc'
|
|
49
|
+
}],
|
|
50
|
+
skip: 0
|
|
51
|
+
};
|
|
52
|
+
var preparedQuery = prepareQuery(schema, plainQuery);
|
|
53
|
+
var _loop = async function () {
|
|
54
|
+
log('loop once');
|
|
55
|
+
/**
|
|
56
|
+
* Get a batch of documents
|
|
57
|
+
*/
|
|
58
|
+
var queryResult = await oldStorageInstance.query(preparedQuery);
|
|
59
|
+
var docs = queryResult.documents;
|
|
60
|
+
if (docs.length === 0) {
|
|
61
|
+
/**
|
|
62
|
+
* No more documents to migrate
|
|
63
|
+
*/
|
|
64
|
+
log('migration of collection done');
|
|
65
|
+
await oldStorageInstance.remove();
|
|
66
|
+
return {
|
|
67
|
+
v: void 0
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
var docsNonMutated = clone(docs);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Get attachments
|
|
74
|
+
* if defined in the schema.
|
|
75
|
+
*/
|
|
76
|
+
if (schema.attachments) {
|
|
77
|
+
await Promise.all(docs.map(async doc => {
|
|
78
|
+
var docId = doc[primaryPath];
|
|
79
|
+
await Promise.all(Object.entries(doc._attachments).map(async ([attachmentId, attachmentMeta]) => {
|
|
80
|
+
var attachmentBlob = await oldStorageInstance.getAttachmentData(docId, attachmentId, attachmentMeta.digest);
|
|
81
|
+
doc._attachments[attachmentId] = {
|
|
82
|
+
data: attachmentBlob,
|
|
83
|
+
digest: attachmentMeta.digest,
|
|
84
|
+
length: attachmentBlob.size,
|
|
85
|
+
type: attachmentMeta.type
|
|
86
|
+
};
|
|
87
|
+
}));
|
|
88
|
+
}));
|
|
89
|
+
log('got attachments');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Insert the documents to the new storage
|
|
94
|
+
*/
|
|
95
|
+
var insertToNewWriteRows = docs.map(document => {
|
|
96
|
+
return {
|
|
97
|
+
document
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
var writeToNewResult = await collection.storageInstance.bulkWrite(insertToNewWriteRows, 'migrate-storage');
|
|
101
|
+
log('written batch to new storage');
|
|
102
|
+
|
|
103
|
+
// TODO we should throw on non-conflict errors here.
|
|
104
|
+
// if (Object.keys(writeToNewResult.error).length > 0) {
|
|
105
|
+
// throw new Error('could not write to new storage');
|
|
106
|
+
// }
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Remove the docs from the old storage
|
|
110
|
+
*/
|
|
111
|
+
var writeToOldRows = docs.map((_doc, idx) => {
|
|
112
|
+
var previous = docsNonMutated[idx];
|
|
113
|
+
if (!previous._meta) {
|
|
114
|
+
previous._meta = {
|
|
115
|
+
lwt: new Date().getTime()
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
var newDoc = clone(previous);
|
|
119
|
+
newDoc._deleted = true;
|
|
120
|
+
if (!newDoc._meta) {
|
|
121
|
+
newDoc._meta = {
|
|
122
|
+
lwt: new Date().getTime()
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
newDoc._meta.lwt = new Date().getTime() + 1;
|
|
126
|
+
newDoc._rev = createRevision(oldDatabaseInstanceToken, previous);
|
|
127
|
+
return {
|
|
128
|
+
previous,
|
|
129
|
+
document: newDoc
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
try {
|
|
133
|
+
var writeToOldResult = await oldStorageInstance.bulkWrite(writeToOldRows, 'migrate-between-rxdb-versions');
|
|
134
|
+
if (Object.keys(writeToOldResult.error).length > 0) {
|
|
135
|
+
console.dir({
|
|
136
|
+
writeToOldRows,
|
|
137
|
+
errors: writeToOldResult.error
|
|
138
|
+
});
|
|
139
|
+
throw new Error('got error while deleting migrated documents on the old storage');
|
|
140
|
+
}
|
|
141
|
+
} catch (err) {
|
|
142
|
+
log('could not delete on old instance');
|
|
143
|
+
console.dir(err);
|
|
144
|
+
throw err;
|
|
145
|
+
}
|
|
146
|
+
log('deleted batch on old storage');
|
|
147
|
+
await oldStorageInstance.cleanup(0);
|
|
148
|
+
|
|
149
|
+
// run the handler if provided
|
|
150
|
+
if (afterMigrateBatch) {
|
|
151
|
+
await afterMigrateBatch({
|
|
152
|
+
databaseName: collection.database.name,
|
|
153
|
+
collectionName: collection.name,
|
|
154
|
+
oldDatabaseName,
|
|
155
|
+
insertToNewWriteRows,
|
|
156
|
+
writeToNewResult
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
_ret;
|
|
161
|
+
while (true) {
|
|
162
|
+
_ret = await _loop();
|
|
163
|
+
if (_ret) return _ret.v;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createRevision","clone","randomToken","prepareQuery","migrateStorage","params","collections","Object","values","database","batchSize","parallel","Promise","all","map","collection","migrateCollection","oldDatabaseName","oldStorage","afterMigrateBatch","logFunction","log","message","name","schema","jsonSchema","primaryPath","oldDatabaseInstanceToken","oldStorageInstance","createStorageInstance","databaseName","collectionName","multiInstance","options","databaseInstanceToken","devMode","plainQuery","selector","_deleted","$eq","limit","sort","skip","preparedQuery","_loop","queryResult","query","docs","documents","length","remove","v","docsNonMutated","attachments","doc","docId","entries","_attachments","attachmentId","attachmentMeta","attachmentBlob","getAttachmentData","digest","data","size","type","insertToNewWriteRows","document","writeToNewResult","storageInstance","bulkWrite","writeToOldRows","_doc","idx","previous","_meta","lwt","Date","getTime","newDoc","_rev","writeToOldResult","keys","error","console","dir","errors","Error","err","cleanup","_ret"],"sources":["../../../../src/plugins/migration-storage/index.ts"],"sourcesContent":["import {\r\n RxDatabase,\r\n RxCollection,\r\n createRevision,\r\n clone,\r\n BulkWriteRow,\r\n RxStorageBulkWriteResponse,\r\n randomToken,\r\n RxStorage,\r\n prepareQuery,\r\n PreparedQuery,\r\n FilledMangoQuery\r\n} from '../../index.ts';\r\n\r\nexport type RxStorageOld<A, B> = RxStorage<A, B> | any;\r\n\r\nexport type AfterMigrateBatchHandlerInput = {\r\n databaseName: string;\r\n collectionName: string;\r\n oldDatabaseName: string;\r\n insertToNewWriteRows: BulkWriteRow<any>[];\r\n writeToNewResult: RxStorageBulkWriteResponse<any>;\r\n};\r\nexport type AfterMigrateBatchHandler = (\r\n input: AfterMigrateBatchHandlerInput\r\n) => any | Promise<any>;\r\n\r\n\r\nexport type MigrateStorageParams = {\r\n database: RxDatabase;\r\n /**\r\n * Using the migration plugin requires you\r\n * to rename your new old database.\r\n * The original name of the v11 database must be provided here.\r\n */\r\n oldDatabaseName: string;\r\n oldStorage: RxStorageOld<any, any>;\r\n batchSize?: number;\r\n parallel?: boolean;\r\n afterMigrateBatch?: AfterMigrateBatchHandler;\r\n // to log each step, pass console.log.bind(console) here.\r\n logFunction?: (message: string) => void;\r\n}\r\n\r\n/**\r\n * Migrates collections of RxDB version A and puts them\r\n * into a RxDatabase that is created with version B.\r\n * This function only works from the previous major version upwards.\r\n * Do not use it to migrate like rxdb v9 to v14.\r\n */\r\nexport async function migrateStorage(\r\n params: MigrateStorageParams\r\n): Promise<void> {\r\n const collections = Object.values(params.database.collections);\r\n const batchSize = params.batchSize ? params.batchSize : 10;\r\n if (params.parallel) {\r\n await Promise.all(\r\n collections.map(collection => migrateCollection(\r\n collection,\r\n params.oldDatabaseName,\r\n params.oldStorage,\r\n batchSize,\r\n params.afterMigrateBatch,\r\n params.logFunction\r\n ))\r\n );\r\n } else {\r\n for (const collection of collections) {\r\n await migrateCollection(\r\n collection,\r\n params.oldDatabaseName,\r\n params.oldStorage,\r\n batchSize,\r\n params.afterMigrateBatch,\r\n params.logFunction\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport async function migrateCollection<RxDocType>(\r\n collection: RxCollection<RxDocType>,\r\n oldDatabaseName: string,\r\n oldStorage: RxStorageOld<any, any>,\r\n batchSize: number,\r\n afterMigrateBatch?: AfterMigrateBatchHandler,\r\n // to log each step, pass console.log.bind(console) here.\r\n logFunction?: (message: string) => void\r\n) {\r\n function log(message: string) {\r\n if (logFunction) {\r\n logFunction('migrateCollection(' + collection.name + ')' + message);\r\n }\r\n }\r\n log('start migrateCollection()');\r\n let schema = collection.schema.jsonSchema;\r\n const primaryPath = collection.schema.primaryPath;\r\n const oldDatabaseInstanceToken = randomToken(10);\r\n\r\n const oldStorageInstance = await oldStorage.createStorageInstance({\r\n databaseName: oldDatabaseName,\r\n collectionName: collection.name,\r\n multiInstance: false,\r\n options: {},\r\n schema: schema,\r\n databaseInstanceToken: oldDatabaseInstanceToken,\r\n devMode: false\r\n });\r\n\r\n\r\n const plainQuery: FilledMangoQuery<RxDocType> = {\r\n selector: {\r\n _deleted: {\r\n $eq: false\r\n }\r\n } as any,\r\n limit: batchSize,\r\n sort: [{ [primaryPath]: 'asc' } as any],\r\n skip: 0\r\n };\r\n\r\n const preparedQuery = prepareQuery(\r\n schema,\r\n plainQuery\r\n );\r\n\r\n while (true) {\r\n log('loop once');\r\n /**\r\n * Get a batch of documents\r\n */\r\n const queryResult = await oldStorageInstance.query(preparedQuery);\r\n const docs = queryResult.documents;\r\n if (docs.length === 0) {\r\n /**\r\n * No more documents to migrate\r\n */\r\n log('migration of collection done');\r\n await oldStorageInstance.remove();\r\n return;\r\n }\r\n\r\n const docsNonMutated = clone(docs);\r\n\r\n /**\r\n * Get attachments\r\n * if defined in the schema.\r\n */\r\n if (schema.attachments) {\r\n await Promise.all(\r\n docs.map(async (doc: any) => {\r\n const docId: string = (doc as any)[primaryPath];\r\n await Promise.all(\r\n Object.entries(doc._attachments).map(async ([attachmentId, attachmentMeta]) => {\r\n const attachmentBlob = await oldStorageInstance.getAttachmentData(\r\n docId,\r\n attachmentId,\r\n (attachmentMeta as any).digest\r\n );\r\n (doc as any)._attachments[attachmentId] = {\r\n data: attachmentBlob,\r\n digest: (attachmentMeta as any).digest,\r\n length: attachmentBlob.size,\r\n type: (attachmentMeta as any).type\r\n }\r\n })\r\n );\r\n })\r\n );\r\n log('got attachments');\r\n }\r\n\r\n /**\r\n * Insert the documents to the new storage\r\n */\r\n const insertToNewWriteRows: BulkWriteRow<any>[] = docs.map((document: any) => {\r\n return { document };\r\n });\r\n const writeToNewResult: RxStorageBulkWriteResponse<any> = await collection.storageInstance.bulkWrite(\r\n insertToNewWriteRows,\r\n 'migrate-storage'\r\n );\r\n log('written batch to new storage');\r\n\r\n // TODO we should throw on non-conflict errors here.\r\n // if (Object.keys(writeToNewResult.error).length > 0) {\r\n // throw new Error('could not write to new storage');\r\n // }\r\n\r\n /**\r\n * Remove the docs from the old storage\r\n */\r\n const writeToOldRows = docs.map((_doc: any, idx: number) => {\r\n const previous = docsNonMutated[idx];\r\n if (!previous._meta) {\r\n previous._meta = {\r\n lwt: new Date().getTime()\r\n };\r\n }\r\n\r\n const newDoc: typeof previous = clone(previous);\r\n newDoc._deleted = true;\r\n if (!newDoc._meta) {\r\n newDoc._meta = {\r\n lwt: new Date().getTime()\r\n };\r\n }\r\n newDoc._meta.lwt = new Date().getTime() + 1;\r\n newDoc._rev = createRevision(\r\n oldDatabaseInstanceToken,\r\n previous\r\n );\r\n\r\n return {\r\n previous,\r\n document: newDoc,\r\n }\r\n });\r\n try {\r\n const writeToOldResult = await oldStorageInstance.bulkWrite(\r\n writeToOldRows,\r\n 'migrate-between-rxdb-versions'\r\n );\r\n if (Object.keys(writeToOldResult.error).length > 0) {\r\n console.dir({\r\n writeToOldRows,\r\n errors: writeToOldResult.error\r\n });\r\n throw new Error('got error while deleting migrated documents on the old storage');\r\n }\r\n } catch (err) {\r\n log('could not delete on old instance');\r\n console.dir(err);\r\n throw err;\r\n }\r\n log('deleted batch on old storage');\r\n await oldStorageInstance.cleanup(0);\r\n\r\n // run the handler if provided\r\n if (afterMigrateBatch) {\r\n await afterMigrateBatch({\r\n databaseName: collection.database.name,\r\n collectionName: collection.name,\r\n oldDatabaseName,\r\n insertToNewWriteRows,\r\n writeToNewResult\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { ensureNotFalsy } from "../utils/index.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This is the most hacky thing we do in RxDB.
|
|
5
|
+
* When a pipeline "transaction" is running,
|
|
6
|
+
* we have to make all calls to the collection from the outside
|
|
7
|
+
* wait while still make it possible to run reads and writes
|
|
8
|
+
* from inside the transaction.
|
|
9
|
+
*
|
|
10
|
+
* We can decide where the call came from by checking the stack `new Error().stack`
|
|
11
|
+
* for a random "flag".
|
|
12
|
+
* But creating random flagged functions requires eval which we should not use.
|
|
13
|
+
* Instead we have a list of some flagged functions here
|
|
14
|
+
* that can be used and checked for in the stacktrace.
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
* When doing this with eval() instead it would look like:
|
|
18
|
+
* ```ts
|
|
19
|
+
* eval(`
|
|
20
|
+
* async function ${this.secretFunctionName}(docs){ const x = await _this.handler(docs); return x; }
|
|
21
|
+
* o.${this.secretFunctionName} = ${this.secretFunctionName};
|
|
22
|
+
* `);
|
|
23
|
+
* await o[this.secretFunctionName](rxDocuments);
|
|
24
|
+
*
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
async function rx_pipeline_fn_1_(fn) {
|
|
28
|
+
return await fn();
|
|
29
|
+
}
|
|
30
|
+
async function rx_pipeline_fn_2_(fn) {
|
|
31
|
+
return await fn();
|
|
32
|
+
}
|
|
33
|
+
async function rx_pipeline_fn_3_(fn) {
|
|
34
|
+
return await fn();
|
|
35
|
+
}
|
|
36
|
+
async function rx_pipeline_fn_4_(fn) {
|
|
37
|
+
return await fn();
|
|
38
|
+
}
|
|
39
|
+
async function rx_pipeline_fn_5_(fn) {
|
|
40
|
+
return await fn();
|
|
41
|
+
}
|
|
42
|
+
async function rx_pipeline_fn_6_(fn) {
|
|
43
|
+
return await fn();
|
|
44
|
+
}
|
|
45
|
+
async function rx_pipeline_fn_7_(fn) {
|
|
46
|
+
return await fn();
|
|
47
|
+
}
|
|
48
|
+
async function rx_pipeline_fn_8_(fn) {
|
|
49
|
+
return await fn();
|
|
50
|
+
}
|
|
51
|
+
async function rx_pipeline_fn_9_(fn) {
|
|
52
|
+
return await fn();
|
|
53
|
+
}
|
|
54
|
+
async function rx_pipeline_fn_10_(fn) {
|
|
55
|
+
return await fn();
|
|
56
|
+
}
|
|
57
|
+
async function rx_pipeline_fn_11_(fn) {
|
|
58
|
+
return await fn();
|
|
59
|
+
}
|
|
60
|
+
async function rx_pipeline_fn_12_(fn) {
|
|
61
|
+
return await fn();
|
|
62
|
+
}
|
|
63
|
+
async function rx_pipeline_fn_13_(fn) {
|
|
64
|
+
return await fn();
|
|
65
|
+
}
|
|
66
|
+
async function rx_pipeline_fn_14_(fn) {
|
|
67
|
+
return await fn();
|
|
68
|
+
}
|
|
69
|
+
async function rx_pipeline_fn_15_(fn) {
|
|
70
|
+
return await fn();
|
|
71
|
+
}
|
|
72
|
+
async function rx_pipeline_fn_16_(fn) {
|
|
73
|
+
return await fn();
|
|
74
|
+
}
|
|
75
|
+
async function rx_pipeline_fn_17_(fn) {
|
|
76
|
+
return await fn();
|
|
77
|
+
}
|
|
78
|
+
async function rx_pipeline_fn_18_(fn) {
|
|
79
|
+
return await fn();
|
|
80
|
+
}
|
|
81
|
+
async function rx_pipeline_fn_19_(fn) {
|
|
82
|
+
return await fn();
|
|
83
|
+
}
|
|
84
|
+
async function rx_pipeline_fn_20_(fn) {
|
|
85
|
+
return await fn();
|
|
86
|
+
}
|
|
87
|
+
export var FLAGGED_FUNCTIONS = {
|
|
88
|
+
rx_pipeline_fn_1_,
|
|
89
|
+
rx_pipeline_fn_2_,
|
|
90
|
+
rx_pipeline_fn_3_,
|
|
91
|
+
rx_pipeline_fn_4_,
|
|
92
|
+
rx_pipeline_fn_5_,
|
|
93
|
+
rx_pipeline_fn_6_,
|
|
94
|
+
rx_pipeline_fn_7_,
|
|
95
|
+
rx_pipeline_fn_8_,
|
|
96
|
+
rx_pipeline_fn_9_,
|
|
97
|
+
rx_pipeline_fn_10_,
|
|
98
|
+
rx_pipeline_fn_11_,
|
|
99
|
+
rx_pipeline_fn_12_,
|
|
100
|
+
rx_pipeline_fn_13_,
|
|
101
|
+
rx_pipeline_fn_14_,
|
|
102
|
+
rx_pipeline_fn_15_,
|
|
103
|
+
rx_pipeline_fn_16_,
|
|
104
|
+
rx_pipeline_fn_17_,
|
|
105
|
+
rx_pipeline_fn_18_,
|
|
106
|
+
rx_pipeline_fn_19_,
|
|
107
|
+
rx_pipeline_fn_20_
|
|
108
|
+
};
|
|
109
|
+
var ids = Object.keys(FLAGGED_FUNCTIONS);
|
|
110
|
+
export function blockFlaggedFunctionKey() {
|
|
111
|
+
/**
|
|
112
|
+
* If this happens and we have no more flagged keys left
|
|
113
|
+
* it means that more pipeline handlers are running in parallel.
|
|
114
|
+
* To fix this, add more functions.
|
|
115
|
+
*/
|
|
116
|
+
var id = ensureNotFalsy(ids.pop(), 'no flagged keys left');
|
|
117
|
+
return id;
|
|
118
|
+
}
|
|
119
|
+
export function releaseFlaggedFunctionKey(key) {
|
|
120
|
+
ids.push(key);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=flagged-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flagged-functions.js","names":["ensureNotFalsy","rx_pipeline_fn_1_","fn","rx_pipeline_fn_2_","rx_pipeline_fn_3_","rx_pipeline_fn_4_","rx_pipeline_fn_5_","rx_pipeline_fn_6_","rx_pipeline_fn_7_","rx_pipeline_fn_8_","rx_pipeline_fn_9_","rx_pipeline_fn_10_","rx_pipeline_fn_11_","rx_pipeline_fn_12_","rx_pipeline_fn_13_","rx_pipeline_fn_14_","rx_pipeline_fn_15_","rx_pipeline_fn_16_","rx_pipeline_fn_17_","rx_pipeline_fn_18_","rx_pipeline_fn_19_","rx_pipeline_fn_20_","FLAGGED_FUNCTIONS","ids","Object","keys","blockFlaggedFunctionKey","id","pop","releaseFlaggedFunctionKey","key","push"],"sources":["../../../../src/plugins/pipeline/flagged-functions.ts"],"sourcesContent":["import { ensureNotFalsy } from '../utils/index.ts';\r\n\r\n/**\r\n * This is the most hacky thing we do in RxDB.\r\n * When a pipeline \"transaction\" is running,\r\n * we have to make all calls to the collection from the outside\r\n * wait while still make it possible to run reads and writes\r\n * from inside the transaction.\r\n * \r\n * We can decide where the call came from by checking the stack `new Error().stack`\r\n * for a random \"flag\".\r\n * But creating random flagged functions requires eval which we should not use.\r\n * Instead we have a list of some flagged functions here\r\n * that can be used and checked for in the stacktrace.\r\n * \r\n * \r\n * When doing this with eval() instead it would look like:\r\n * ```ts\r\n * eval(`\r\n * async function ${this.secretFunctionName}(docs){ const x = await _this.handler(docs); return x; }\r\n * o.${this.secretFunctionName} = ${this.secretFunctionName};\r\n * `);\r\n * await o[this.secretFunctionName](rxDocuments);\r\n * \r\n * ```\r\n */\r\nasync function rx_pipeline_fn_1_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_2_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_3_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_4_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_5_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_6_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_7_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_8_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_9_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_10_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_11_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_12_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_13_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_14_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_15_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_16_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_17_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_18_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_19_(fn: any) {\r\n return await fn();\r\n}\r\nasync function rx_pipeline_fn_20_(fn: any) {\r\n return await fn();\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport const FLAGGED_FUNCTIONS = {\r\n rx_pipeline_fn_1_,\r\n rx_pipeline_fn_2_,\r\n rx_pipeline_fn_3_,\r\n rx_pipeline_fn_4_,\r\n rx_pipeline_fn_5_,\r\n rx_pipeline_fn_6_,\r\n rx_pipeline_fn_7_,\r\n rx_pipeline_fn_8_,\r\n rx_pipeline_fn_9_,\r\n rx_pipeline_fn_10_,\r\n rx_pipeline_fn_11_,\r\n rx_pipeline_fn_12_,\r\n rx_pipeline_fn_13_,\r\n rx_pipeline_fn_14_,\r\n rx_pipeline_fn_15_,\r\n rx_pipeline_fn_16_,\r\n rx_pipeline_fn_17_,\r\n rx_pipeline_fn_18_,\r\n rx_pipeline_fn_19_,\r\n rx_pipeline_fn_20_,\r\n} as const;\r\n\r\n\r\n\r\nconst ids: (keyof typeof FLAGGED_FUNCTIONS)[] = Object.keys(FLAGGED_FUNCTIONS) as any;\r\n\r\nexport function blockFlaggedFunctionKey(): keyof typeof FLAGGED_FUNCTIONS {\r\n /**\r\n * If this happens and we have no more flagged keys left\r\n * it means that more pipeline handlers are running in parallel.\r\n * To fix this, add more functions.\r\n */\r\n const id = ensureNotFalsy(ids.pop(), 'no flagged keys left');\r\n return id;\r\n}\r\n\r\nexport function releaseFlaggedFunctionKey(key: keyof typeof FLAGGED_FUNCTIONS) {\r\n ids.push(key);\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { addPipeline } from "./rx-pipeline.js";
|
|
2
|
+
export * from "./flagged-functions.js";
|
|
3
|
+
export * from "./rx-pipeline.js";
|
|
4
|
+
export var RxDBPipelinePlugin = {
|
|
5
|
+
name: 'pipeline',
|
|
6
|
+
rxdb: true,
|
|
7
|
+
prototypes: {
|
|
8
|
+
RxCollection(proto) {
|
|
9
|
+
proto.addPipeline = addPipeline;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["addPipeline","RxDBPipelinePlugin","name","rxdb","prototypes","RxCollection","proto"],"sources":["../../../../src/plugins/pipeline/index.ts"],"sourcesContent":["import type {\r\n RxPlugin\r\n} from '../../types/index.d.ts';\r\nimport { addPipeline } from './rx-pipeline.ts';\r\n\r\nexport type * from './types.ts';\r\nexport * from './flagged-functions.ts';\r\nexport * from './rx-pipeline.ts';\r\n\r\nexport const RxDBPipelinePlugin: RxPlugin = {\r\n name: 'pipeline',\r\n rxdb: true,\r\n prototypes: {\r\n RxCollection(proto: any) {\r\n proto.addPipeline = addPipeline;\r\n }\r\n }\r\n};\r\n"],"mappings":"AAGA,SAASA,WAAW,QAAQ,kBAAkB;AAG9C,cAAc,wBAAwB;AACtC,cAAc,kBAAkB;AAEhC,OAAO,IAAMC,kBAA4B,GAAG;EACxCC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,IAAI;EACVC,UAAU,EAAE;IACRC,YAAYA,CAACC,KAAU,EAAE;MACrBA,KAAK,CAACN,WAAW,GAAGA,WAAW;IACnC;EACJ;AACJ,CAAC","ignoreList":[]}
|