@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,410 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RxMigrationState = void 0;
|
|
7
|
+
var _rxjs = require("rxjs");
|
|
8
|
+
var _rxError = require("../../rx-error.js");
|
|
9
|
+
var _migrationHelpers = require("./migration-helpers.js");
|
|
10
|
+
var _index = require("../utils/index.js");
|
|
11
|
+
var _rxStorageHelper = require("../../rx-storage-helper.js");
|
|
12
|
+
var _broadcastChannel = require("broadcast-channel");
|
|
13
|
+
var _index2 = require("../../replication-protocol/index.js");
|
|
14
|
+
var _overwritable = require("../../overwritable.js");
|
|
15
|
+
var _rxDatabaseInternalStore = require("../../rx-database-internal-store.js");
|
|
16
|
+
var _rxQueryHelper = require("../../rx-query-helper.js");
|
|
17
|
+
var RxMigrationState = exports.RxMigrationState = /*#__PURE__*/function () {
|
|
18
|
+
/**
|
|
19
|
+
* Contains ALL replication states
|
|
20
|
+
* that are ever used in this migration state.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
function RxMigrationState(collection, migrationStrategies, statusDocKey = [collection.name, 'v', collection.schema.version].join('-')) {
|
|
24
|
+
this.started = false;
|
|
25
|
+
this.replicationStates = new Set();
|
|
26
|
+
this.canceled = false;
|
|
27
|
+
this.updateStatusHandlers = [];
|
|
28
|
+
this.updateStatusQueue = _index.PROMISE_RESOLVE_TRUE;
|
|
29
|
+
this.collection = collection;
|
|
30
|
+
this.migrationStrategies = migrationStrategies;
|
|
31
|
+
this.statusDocKey = statusDocKey;
|
|
32
|
+
this.database = collection.database;
|
|
33
|
+
this.oldCollectionMeta = (0, _migrationHelpers.getOldCollectionMeta)(this);
|
|
34
|
+
this.mustMigrate = (0, _migrationHelpers.mustMigrate)(this);
|
|
35
|
+
this.statusDocId = (0, _rxDatabaseInternalStore.getPrimaryKeyOfInternalDocument)(this.statusDocKey, _rxDatabaseInternalStore.INTERNAL_CONTEXT_MIGRATION_STATUS);
|
|
36
|
+
(0, _migrationHelpers.addMigrationStateToDatabase)(this);
|
|
37
|
+
this.$ = (0, _rxStorageHelper.observeSingle)(this.database.internalStore, this.statusDocId).pipe((0, _rxjs.filter)(d => !!d), (0, _rxjs.map)(d => (0, _index.ensureNotFalsy)(d).data), (0, _rxjs.shareReplay)(_index.RXJS_SHARE_REPLAY_DEFAULTS));
|
|
38
|
+
}
|
|
39
|
+
var _proto = RxMigrationState.prototype;
|
|
40
|
+
_proto.getStatus = function getStatus() {
|
|
41
|
+
return (0, _rxjs.firstValueFrom)(this.$);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Starts the migration.
|
|
46
|
+
* Returns void so that people to not get the idea to await
|
|
47
|
+
* this function.
|
|
48
|
+
* Instead use migratePromise() if you want to await
|
|
49
|
+
* the migration. This ensures it works even if the migration
|
|
50
|
+
* is run on a different browser tab.
|
|
51
|
+
*/;
|
|
52
|
+
_proto.startMigration = async function startMigration(batchSize = _migrationHelpers.MIGRATION_DEFAULT_BATCH_SIZE) {
|
|
53
|
+
var must = await this.mustMigrate;
|
|
54
|
+
if (!must) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (this.started) {
|
|
58
|
+
throw (0, _rxError.newRxError)('DM1');
|
|
59
|
+
}
|
|
60
|
+
this.started = true;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* To ensure that multiple tabs do not migrate the same collection,
|
|
64
|
+
* we use a new broadcastChannel/leaderElector for each collection.
|
|
65
|
+
* This is required because collections can be added dynamically and
|
|
66
|
+
* not all tabs might know about this collection.
|
|
67
|
+
*/
|
|
68
|
+
if (this.database.multiInstance) {
|
|
69
|
+
this.broadcastChannel = new _broadcastChannel.BroadcastChannel(['rx-migration-state', this.database.name, this.collection.name, this.collection.schema.version].join('|'));
|
|
70
|
+
var leaderElector = (0, _broadcastChannel.createLeaderElection)(this.broadcastChannel);
|
|
71
|
+
await leaderElector.awaitLeadership();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Instead of writing a custom migration protocol,
|
|
76
|
+
* we do a push-only replication from the old collection data to the new one.
|
|
77
|
+
* This also ensure that restarting the replication works without problems.
|
|
78
|
+
*/
|
|
79
|
+
var oldCollectionMeta = await this.oldCollectionMeta;
|
|
80
|
+
var oldStorageInstance = await this.database.storage.createStorageInstance({
|
|
81
|
+
databaseName: this.database.name,
|
|
82
|
+
collectionName: this.collection.name,
|
|
83
|
+
databaseInstanceToken: this.database.token,
|
|
84
|
+
multiInstance: this.database.multiInstance,
|
|
85
|
+
options: {},
|
|
86
|
+
schema: (0, _index.ensureNotFalsy)(oldCollectionMeta).data.schema,
|
|
87
|
+
password: this.database.password,
|
|
88
|
+
devMode: _overwritable.overwritable.isDevMode()
|
|
89
|
+
});
|
|
90
|
+
var connectedInstances = await this.getConnectedStorageInstances();
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Initially write the migration status into a meta document.
|
|
94
|
+
*/
|
|
95
|
+
var totalCount = await this.countAllDocuments([oldStorageInstance].concat(connectedInstances.map(r => r.oldStorage)));
|
|
96
|
+
await this.updateStatus(s => {
|
|
97
|
+
s.count.total = totalCount;
|
|
98
|
+
return s;
|
|
99
|
+
});
|
|
100
|
+
try {
|
|
101
|
+
/**
|
|
102
|
+
* First migrate the connected storages,
|
|
103
|
+
* afterwards migrate the normal collection.
|
|
104
|
+
*/
|
|
105
|
+
await Promise.all(connectedInstances.map(async connectedInstance => {
|
|
106
|
+
await (0, _rxDatabaseInternalStore.addConnectedStorageToCollection)(this.collection, connectedInstance.newStorage.collectionName, connectedInstance.newStorage.schema);
|
|
107
|
+
await this.migrateStorage(connectedInstance.oldStorage, connectedInstance.newStorage, batchSize);
|
|
108
|
+
await connectedInstance.newStorage.close();
|
|
109
|
+
}));
|
|
110
|
+
await this.migrateStorage(oldStorageInstance,
|
|
111
|
+
/**
|
|
112
|
+
* Use the originalStorageInstance here
|
|
113
|
+
* so that the _meta.lwt time keeps the same
|
|
114
|
+
* and our replication checkpoints still point to the
|
|
115
|
+
* correct checkpoint.
|
|
116
|
+
*/
|
|
117
|
+
this.collection.storageInstance.originalStorageInstance, batchSize);
|
|
118
|
+
} catch (err) {
|
|
119
|
+
await oldStorageInstance.close();
|
|
120
|
+
await this.updateStatus(s => {
|
|
121
|
+
s.status = 'ERROR';
|
|
122
|
+
s.error = (0, _index.errorToPlainJson)(err);
|
|
123
|
+
return s;
|
|
124
|
+
});
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Remove old collection meta doc with retry on conflict.
|
|
130
|
+
* The _rev of the meta doc may have changed since we fetched it
|
|
131
|
+
* at the start of migration (due to updateStatus() calls),
|
|
132
|
+
* so we re-fetch before each deletion attempt.
|
|
133
|
+
* @link https://github.com/pubkey/rxdb/issues/7791
|
|
134
|
+
*/
|
|
135
|
+
while (true) {
|
|
136
|
+
var currentMeta = await (0, _migrationHelpers.getOldCollectionMeta)(this);
|
|
137
|
+
if (!currentMeta) {
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
await (0, _rxStorageHelper.writeSingle)(this.database.internalStore, {
|
|
142
|
+
previous: currentMeta,
|
|
143
|
+
document: Object.assign({}, currentMeta, {
|
|
144
|
+
_deleted: true
|
|
145
|
+
})
|
|
146
|
+
}, 'rx-migration-remove-collection-meta');
|
|
147
|
+
break;
|
|
148
|
+
} catch (error) {
|
|
149
|
+
var isConflict = (0, _rxError.isBulkWriteConflictError)(error);
|
|
150
|
+
if (isConflict && !!isConflict.documentInDb._deleted) {
|
|
151
|
+
break;
|
|
152
|
+
} else if (isConflict) {
|
|
153
|
+
continue;
|
|
154
|
+
} else {
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
await this.updateStatus(s => {
|
|
160
|
+
s.status = 'DONE';
|
|
161
|
+
return s;
|
|
162
|
+
});
|
|
163
|
+
if (this.broadcastChannel) {
|
|
164
|
+
await this.broadcastChannel.close();
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
_proto.updateStatus = function updateStatus(handler) {
|
|
168
|
+
this.updateStatusHandlers.push(handler);
|
|
169
|
+
this.updateStatusQueue = this.updateStatusQueue.then(async () => {
|
|
170
|
+
if (this.updateStatusHandlers.length === 0) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
// re-run until no conflict
|
|
174
|
+
var useHandlers = this.updateStatusHandlers;
|
|
175
|
+
this.updateStatusHandlers = [];
|
|
176
|
+
while (true) {
|
|
177
|
+
var previous = await (0, _rxStorageHelper.getSingleDocument)(this.database.internalStore, this.statusDocId);
|
|
178
|
+
var newDoc = (0, _index.clone)(previous);
|
|
179
|
+
if (!previous) {
|
|
180
|
+
newDoc = {
|
|
181
|
+
id: this.statusDocId,
|
|
182
|
+
key: this.statusDocKey,
|
|
183
|
+
context: _rxDatabaseInternalStore.INTERNAL_CONTEXT_MIGRATION_STATUS,
|
|
184
|
+
data: {
|
|
185
|
+
collectionName: this.collection.name,
|
|
186
|
+
status: 'RUNNING',
|
|
187
|
+
count: {
|
|
188
|
+
total: 0,
|
|
189
|
+
handled: 0,
|
|
190
|
+
percent: 0
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
_deleted: false,
|
|
194
|
+
_meta: (0, _index.getDefaultRxDocumentMeta)(),
|
|
195
|
+
_rev: (0, _index.getDefaultRevision)(),
|
|
196
|
+
_attachments: {}
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
var status = (0, _index.ensureNotFalsy)(newDoc).data;
|
|
200
|
+
for (var oneHandler of useHandlers) {
|
|
201
|
+
status = oneHandler(status);
|
|
202
|
+
}
|
|
203
|
+
status.count.percent = Math.round(status.count.handled / status.count.total * 100);
|
|
204
|
+
if (newDoc && previous && (0, _index.deepEqual)(newDoc.data, previous.data)) {
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
try {
|
|
208
|
+
await (0, _rxStorageHelper.writeSingle)(this.database.internalStore, {
|
|
209
|
+
previous,
|
|
210
|
+
document: (0, _index.ensureNotFalsy)(newDoc)
|
|
211
|
+
}, _rxDatabaseInternalStore.INTERNAL_CONTEXT_MIGRATION_STATUS);
|
|
212
|
+
|
|
213
|
+
// write successful
|
|
214
|
+
break;
|
|
215
|
+
} catch (err) {
|
|
216
|
+
// ignore conflicts
|
|
217
|
+
if (!(0, _rxError.isBulkWriteConflictError)(err)) {
|
|
218
|
+
throw err;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
return this.updateStatusQueue;
|
|
224
|
+
};
|
|
225
|
+
_proto.migrateStorage = async function migrateStorage(oldStorage, newStorage, batchSize) {
|
|
226
|
+
this.collection.onClose.push(() => this.cancel());
|
|
227
|
+
this.database.onClose.push(() => this.cancel());
|
|
228
|
+
var replicationMetaStorageInstance = await this.database.storage.createStorageInstance({
|
|
229
|
+
databaseName: this.database.name,
|
|
230
|
+
collectionName: 'rx-migration-state-meta-' + oldStorage.collectionName + '-' + oldStorage.schema.version,
|
|
231
|
+
databaseInstanceToken: this.database.token,
|
|
232
|
+
multiInstance: this.database.multiInstance,
|
|
233
|
+
options: {},
|
|
234
|
+
schema: (0, _index2.getRxReplicationMetaInstanceSchema)(oldStorage.schema, (0, _rxStorageHelper.hasEncryption)(oldStorage.schema)),
|
|
235
|
+
password: this.database.password,
|
|
236
|
+
devMode: _overwritable.overwritable.isDevMode()
|
|
237
|
+
});
|
|
238
|
+
var replicationHandlerBase = (0, _index2.rxStorageInstanceToReplicationHandler)(newStorage,
|
|
239
|
+
/**
|
|
240
|
+
* Ignore push-conflicts.
|
|
241
|
+
* If this happens we drop the 'old' document state.
|
|
242
|
+
*/
|
|
243
|
+
_index2.defaultConflictHandler, this.database.token, true);
|
|
244
|
+
var replicationState = (0, _index2.replicateRxStorageInstance)({
|
|
245
|
+
keepMeta: true,
|
|
246
|
+
skipStoringPullMeta: false,
|
|
247
|
+
identifier: ['rx-migration-state', oldStorage.collectionName, oldStorage.schema.version, this.collection.schema.version].join('-'),
|
|
248
|
+
replicationHandler: {
|
|
249
|
+
masterChangesSince() {
|
|
250
|
+
return Promise.resolve({
|
|
251
|
+
checkpoint: null,
|
|
252
|
+
documents: []
|
|
253
|
+
});
|
|
254
|
+
},
|
|
255
|
+
masterWrite: async rows => {
|
|
256
|
+
var migratedRows = await Promise.all(rows.map(async row => {
|
|
257
|
+
var newDocData = row.newDocumentState;
|
|
258
|
+
if (newStorage.schema.title === _index2.META_INSTANCE_SCHEMA_TITLE) {
|
|
259
|
+
newDocData = row.newDocumentState.docData;
|
|
260
|
+
if (row.newDocumentState.isCheckpoint === '1') {
|
|
261
|
+
return {
|
|
262
|
+
assumedMasterState: undefined,
|
|
263
|
+
newDocumentState: row.newDocumentState
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
var migratedDocData = await (0, _migrationHelpers.migrateDocumentData)(this.collection, oldStorage.schema.version, newDocData);
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* The migration strategy can return null
|
|
271
|
+
* which means the document must be deleted during migration.
|
|
272
|
+
*/
|
|
273
|
+
if (migratedDocData === null) {
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
var newRow = {
|
|
277
|
+
// drop the assumed master state, we do not have to care about conflicts here.
|
|
278
|
+
assumedMasterState: undefined,
|
|
279
|
+
newDocumentState: newStorage.schema.title === _index2.META_INSTANCE_SCHEMA_TITLE ? Object.assign({}, row.newDocumentState, {
|
|
280
|
+
docData: migratedDocData
|
|
281
|
+
}) : migratedDocData
|
|
282
|
+
};
|
|
283
|
+
return newRow;
|
|
284
|
+
}));
|
|
285
|
+
|
|
286
|
+
// filter out the documents where the migration strategy returned null
|
|
287
|
+
migratedRows = migratedRows.filter(row => !!row && !!row.newDocumentState);
|
|
288
|
+
var result = await replicationHandlerBase.masterWrite(migratedRows);
|
|
289
|
+
return result;
|
|
290
|
+
},
|
|
291
|
+
masterChangeStream$: new _rxjs.Subject().asObservable()
|
|
292
|
+
},
|
|
293
|
+
forkInstance: oldStorage,
|
|
294
|
+
metaInstance: replicationMetaStorageInstance,
|
|
295
|
+
pushBatchSize: batchSize,
|
|
296
|
+
pullBatchSize: 0,
|
|
297
|
+
conflictHandler: _index2.defaultConflictHandler,
|
|
298
|
+
hashFunction: this.database.hashFunction
|
|
299
|
+
});
|
|
300
|
+
this.replicationStates.add(replicationState);
|
|
301
|
+
var hasError = false;
|
|
302
|
+
replicationState.events.error.subscribe(err => hasError = err);
|
|
303
|
+
|
|
304
|
+
// update replication status on each change
|
|
305
|
+
replicationState.events.processed.up.subscribe(() => {
|
|
306
|
+
this.updateStatus(status => {
|
|
307
|
+
status.count.handled = status.count.handled + 1;
|
|
308
|
+
return status;
|
|
309
|
+
});
|
|
310
|
+
});
|
|
311
|
+
await (0, _index2.awaitRxStorageReplicationFirstInSync)(replicationState);
|
|
312
|
+
await (0, _index2.awaitRxStorageReplicationInSync)(replicationState);
|
|
313
|
+
await this.updateStatusQueue;
|
|
314
|
+
if (hasError) {
|
|
315
|
+
await (0, _index2.cancelRxStorageReplication)(replicationState);
|
|
316
|
+
await replicationMetaStorageInstance.close();
|
|
317
|
+
throw hasError;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// cleanup old storages
|
|
321
|
+
await Promise.all([oldStorage.remove(), replicationMetaStorageInstance.remove()]);
|
|
322
|
+
await (0, _index2.cancelRxStorageReplication)(replicationState);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Stops the migration.
|
|
327
|
+
* Mostly used in tests to simulate what happens
|
|
328
|
+
* when the user reloads the page during a migration.
|
|
329
|
+
*/;
|
|
330
|
+
_proto.cancel = async function cancel() {
|
|
331
|
+
this.canceled = true;
|
|
332
|
+
await Promise.all(Array.from(this.replicationStates.values()).map(state => (0, _index2.cancelRxStorageReplication)(state)));
|
|
333
|
+
if (this.broadcastChannel) {
|
|
334
|
+
await this.broadcastChannel.close();
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
_proto.countAllDocuments = async function countAllDocuments(storageInstances) {
|
|
338
|
+
var ret = 0;
|
|
339
|
+
await Promise.all(storageInstances.map(async instance => {
|
|
340
|
+
var preparedQuery = (0, _rxQueryHelper.prepareQuery)(instance.schema, (0, _rxQueryHelper.normalizeMangoQuery)(instance.schema, {
|
|
341
|
+
selector: {}
|
|
342
|
+
}));
|
|
343
|
+
var countResult = await instance.count(preparedQuery);
|
|
344
|
+
ret += countResult.count;
|
|
345
|
+
}));
|
|
346
|
+
return ret;
|
|
347
|
+
};
|
|
348
|
+
_proto.getConnectedStorageInstances = async function getConnectedStorageInstances() {
|
|
349
|
+
var oldCollectionMeta = (0, _index.ensureNotFalsy)(await this.oldCollectionMeta);
|
|
350
|
+
var ret = [];
|
|
351
|
+
await Promise.all(await Promise.all(oldCollectionMeta.data.connectedStorages.map(async connectedStorage => {
|
|
352
|
+
// atm we can only migrate replication states.
|
|
353
|
+
if (connectedStorage.schema.title !== _index2.META_INSTANCE_SCHEMA_TITLE) {
|
|
354
|
+
throw new Error('unknown migration handling for schema');
|
|
355
|
+
}
|
|
356
|
+
var newSchema = (0, _index2.getRxReplicationMetaInstanceSchema)((0, _index.clone)(this.collection.schema.jsonSchema), (0, _rxStorageHelper.hasEncryption)(connectedStorage.schema));
|
|
357
|
+
newSchema.version = this.collection.schema.version;
|
|
358
|
+
var [oldStorage, newStorage] = await Promise.all([this.database.storage.createStorageInstance({
|
|
359
|
+
databaseInstanceToken: this.database.token,
|
|
360
|
+
databaseName: this.database.name,
|
|
361
|
+
devMode: _overwritable.overwritable.isDevMode(),
|
|
362
|
+
multiInstance: this.database.multiInstance,
|
|
363
|
+
options: {},
|
|
364
|
+
schema: connectedStorage.schema,
|
|
365
|
+
password: this.database.password,
|
|
366
|
+
collectionName: connectedStorage.collectionName
|
|
367
|
+
}), this.database.storage.createStorageInstance({
|
|
368
|
+
databaseInstanceToken: this.database.token,
|
|
369
|
+
databaseName: this.database.name,
|
|
370
|
+
devMode: _overwritable.overwritable.isDevMode(),
|
|
371
|
+
multiInstance: this.database.multiInstance,
|
|
372
|
+
options: {},
|
|
373
|
+
schema: newSchema,
|
|
374
|
+
password: this.database.password,
|
|
375
|
+
collectionName: connectedStorage.collectionName
|
|
376
|
+
})]);
|
|
377
|
+
ret.push({
|
|
378
|
+
oldStorage,
|
|
379
|
+
newStorage
|
|
380
|
+
});
|
|
381
|
+
})));
|
|
382
|
+
return ret;
|
|
383
|
+
};
|
|
384
|
+
_proto.migratePromise = async function migratePromise(batchSize) {
|
|
385
|
+
this.startMigration(batchSize).catch(() => {});
|
|
386
|
+
var must = await this.mustMigrate;
|
|
387
|
+
if (!must) {
|
|
388
|
+
return {
|
|
389
|
+
status: 'DONE',
|
|
390
|
+
collectionName: this.collection.name,
|
|
391
|
+
count: {
|
|
392
|
+
handled: 0,
|
|
393
|
+
percent: 0,
|
|
394
|
+
total: 0
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
var result = await Promise.race([(0, _rxjs.firstValueFrom)(this.$.pipe((0, _rxjs.filter)(d => d.status === 'DONE'))), (0, _rxjs.firstValueFrom)(this.$.pipe((0, _rxjs.filter)(d => d.status === 'ERROR')))]);
|
|
399
|
+
if (result.status === 'ERROR') {
|
|
400
|
+
throw (0, _rxError.newRxError)('DM4', {
|
|
401
|
+
collection: this.collection.name,
|
|
402
|
+
error: result.error
|
|
403
|
+
});
|
|
404
|
+
} else {
|
|
405
|
+
return result;
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
return RxMigrationState;
|
|
409
|
+
}();
|
|
410
|
+
//# sourceMappingURL=rx-migration-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-migration-state.js","names":["_rxjs","require","_rxError","_migrationHelpers","_index","_rxStorageHelper","_broadcastChannel","_index2","_overwritable","_rxDatabaseInternalStore","_rxQueryHelper","RxMigrationState","exports","collection","migrationStrategies","statusDocKey","name","schema","version","join","started","replicationStates","Set","canceled","updateStatusHandlers","updateStatusQueue","PROMISE_RESOLVE_TRUE","database","oldCollectionMeta","getOldCollectionMeta","mustMigrate","statusDocId","getPrimaryKeyOfInternalDocument","INTERNAL_CONTEXT_MIGRATION_STATUS","addMigrationStateToDatabase","$","observeSingle","internalStore","pipe","filter","d","map","ensureNotFalsy","data","shareReplay","RXJS_SHARE_REPLAY_DEFAULTS","_proto","prototype","getStatus","firstValueFrom","startMigration","batchSize","MIGRATION_DEFAULT_BATCH_SIZE","must","newRxError","multiInstance","broadcastChannel","BroadcastChannel","leaderElector","createLeaderElection","awaitLeadership","oldStorageInstance","storage","createStorageInstance","databaseName","collectionName","databaseInstanceToken","token","options","password","devMode","overwritable","isDevMode","connectedInstances","getConnectedStorageInstances","totalCount","countAllDocuments","concat","r","oldStorage","updateStatus","s","count","total","Promise","all","connectedInstance","addConnectedStorageToCollection","newStorage","migrateStorage","close","storageInstance","originalStorageInstance","err","status","error","errorToPlainJson","currentMeta","writeSingle","previous","document","Object","assign","_deleted","isConflict","isBulkWriteConflictError","documentInDb","handler","push","then","length","useHandlers","getSingleDocument","newDoc","clone","id","key","context","handled","percent","_meta","getDefaultRxDocumentMeta","_rev","getDefaultRevision","_attachments","oneHandler","Math","round","deepEqual","onClose","cancel","replicationMetaStorageInstance","getRxReplicationMetaInstanceSchema","hasEncryption","replicationHandlerBase","rxStorageInstanceToReplicationHandler","defaultConflictHandler","replicationState","replicateRxStorageInstance","keepMeta","skipStoringPullMeta","identifier","replicationHandler","masterChangesSince","resolve","checkpoint","documents","masterWrite","rows","migratedRows","row","newDocData","newDocumentState","title","META_INSTANCE_SCHEMA_TITLE","docData","isCheckpoint","assumedMasterState","undefined","migratedDocData","migrateDocumentData","newRow","result","masterChangeStream$","Subject","asObservable","forkInstance","metaInstance","pushBatchSize","pullBatchSize","conflictHandler","hashFunction","add","hasError","events","subscribe","processed","up","awaitRxStorageReplicationFirstInSync","awaitRxStorageReplicationInSync","cancelRxStorageReplication","remove","Array","from","values","state","storageInstances","ret","instance","preparedQuery","prepareQuery","normalizeMangoQuery","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,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.migrateCollection = migrateCollection;
|
|
7
|
+
exports.migrateStorage = migrateStorage;
|
|
8
|
+
var _index = require("../../index.js");
|
|
9
|
+
/**
|
|
10
|
+
* Migrates collections of RxDB version A and puts them
|
|
11
|
+
* into a RxDatabase that is created with version B.
|
|
12
|
+
* This function only works from the previous major version upwards.
|
|
13
|
+
* Do not use it to migrate like rxdb v9 to v14.
|
|
14
|
+
*/
|
|
15
|
+
async function migrateStorage(params) {
|
|
16
|
+
var collections = Object.values(params.database.collections);
|
|
17
|
+
var batchSize = params.batchSize ? params.batchSize : 10;
|
|
18
|
+
if (params.parallel) {
|
|
19
|
+
await Promise.all(collections.map(collection => migrateCollection(collection, params.oldDatabaseName, params.oldStorage, batchSize, params.afterMigrateBatch, params.logFunction)));
|
|
20
|
+
} else {
|
|
21
|
+
for (var collection of collections) {
|
|
22
|
+
await migrateCollection(collection, params.oldDatabaseName, params.oldStorage, batchSize, params.afterMigrateBatch, params.logFunction);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async function migrateCollection(collection, oldDatabaseName, oldStorage, batchSize, afterMigrateBatch,
|
|
27
|
+
// to log each step, pass console.log.bind(console) here.
|
|
28
|
+
logFunction) {
|
|
29
|
+
function log(message) {
|
|
30
|
+
if (logFunction) {
|
|
31
|
+
logFunction('migrateCollection(' + collection.name + ')' + message);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
log('start migrateCollection()');
|
|
35
|
+
var schema = collection.schema.jsonSchema;
|
|
36
|
+
var primaryPath = collection.schema.primaryPath;
|
|
37
|
+
var oldDatabaseInstanceToken = (0, _index.randomToken)(10);
|
|
38
|
+
var oldStorageInstance = await oldStorage.createStorageInstance({
|
|
39
|
+
databaseName: oldDatabaseName,
|
|
40
|
+
collectionName: collection.name,
|
|
41
|
+
multiInstance: false,
|
|
42
|
+
options: {},
|
|
43
|
+
schema: schema,
|
|
44
|
+
databaseInstanceToken: oldDatabaseInstanceToken,
|
|
45
|
+
devMode: false
|
|
46
|
+
});
|
|
47
|
+
var plainQuery = {
|
|
48
|
+
selector: {
|
|
49
|
+
_deleted: {
|
|
50
|
+
$eq: false
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
limit: batchSize,
|
|
54
|
+
sort: [{
|
|
55
|
+
[primaryPath]: 'asc'
|
|
56
|
+
}],
|
|
57
|
+
skip: 0
|
|
58
|
+
};
|
|
59
|
+
var preparedQuery = (0, _index.prepareQuery)(schema, plainQuery);
|
|
60
|
+
var _loop = async function () {
|
|
61
|
+
log('loop once');
|
|
62
|
+
/**
|
|
63
|
+
* Get a batch of documents
|
|
64
|
+
*/
|
|
65
|
+
var queryResult = await oldStorageInstance.query(preparedQuery);
|
|
66
|
+
var docs = queryResult.documents;
|
|
67
|
+
if (docs.length === 0) {
|
|
68
|
+
/**
|
|
69
|
+
* No more documents to migrate
|
|
70
|
+
*/
|
|
71
|
+
log('migration of collection done');
|
|
72
|
+
await oldStorageInstance.remove();
|
|
73
|
+
return {
|
|
74
|
+
v: void 0
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
var docsNonMutated = (0, _index.clone)(docs);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Get attachments
|
|
81
|
+
* if defined in the schema.
|
|
82
|
+
*/
|
|
83
|
+
if (schema.attachments) {
|
|
84
|
+
await Promise.all(docs.map(async doc => {
|
|
85
|
+
var docId = doc[primaryPath];
|
|
86
|
+
await Promise.all(Object.entries(doc._attachments).map(async ([attachmentId, attachmentMeta]) => {
|
|
87
|
+
var attachmentBlob = await oldStorageInstance.getAttachmentData(docId, attachmentId, attachmentMeta.digest);
|
|
88
|
+
doc._attachments[attachmentId] = {
|
|
89
|
+
data: attachmentBlob,
|
|
90
|
+
digest: attachmentMeta.digest,
|
|
91
|
+
length: attachmentBlob.size,
|
|
92
|
+
type: attachmentMeta.type
|
|
93
|
+
};
|
|
94
|
+
}));
|
|
95
|
+
}));
|
|
96
|
+
log('got attachments');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Insert the documents to the new storage
|
|
101
|
+
*/
|
|
102
|
+
var insertToNewWriteRows = docs.map(document => {
|
|
103
|
+
return {
|
|
104
|
+
document
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
var writeToNewResult = await collection.storageInstance.bulkWrite(insertToNewWriteRows, 'migrate-storage');
|
|
108
|
+
log('written batch to new storage');
|
|
109
|
+
|
|
110
|
+
// TODO we should throw on non-conflict errors here.
|
|
111
|
+
// if (Object.keys(writeToNewResult.error).length > 0) {
|
|
112
|
+
// throw new Error('could not write to new storage');
|
|
113
|
+
// }
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Remove the docs from the old storage
|
|
117
|
+
*/
|
|
118
|
+
var writeToOldRows = docs.map((_doc, idx) => {
|
|
119
|
+
var previous = docsNonMutated[idx];
|
|
120
|
+
if (!previous._meta) {
|
|
121
|
+
previous._meta = {
|
|
122
|
+
lwt: new Date().getTime()
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
var newDoc = (0, _index.clone)(previous);
|
|
126
|
+
newDoc._deleted = true;
|
|
127
|
+
if (!newDoc._meta) {
|
|
128
|
+
newDoc._meta = {
|
|
129
|
+
lwt: new Date().getTime()
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
newDoc._meta.lwt = new Date().getTime() + 1;
|
|
133
|
+
newDoc._rev = (0, _index.createRevision)(oldDatabaseInstanceToken, previous);
|
|
134
|
+
return {
|
|
135
|
+
previous,
|
|
136
|
+
document: newDoc
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
try {
|
|
140
|
+
var writeToOldResult = await oldStorageInstance.bulkWrite(writeToOldRows, 'migrate-between-rxdb-versions');
|
|
141
|
+
if (Object.keys(writeToOldResult.error).length > 0) {
|
|
142
|
+
console.dir({
|
|
143
|
+
writeToOldRows,
|
|
144
|
+
errors: writeToOldResult.error
|
|
145
|
+
});
|
|
146
|
+
throw new Error('got error while deleting migrated documents on the old storage');
|
|
147
|
+
}
|
|
148
|
+
} catch (err) {
|
|
149
|
+
log('could not delete on old instance');
|
|
150
|
+
console.dir(err);
|
|
151
|
+
throw err;
|
|
152
|
+
}
|
|
153
|
+
log('deleted batch on old storage');
|
|
154
|
+
await oldStorageInstance.cleanup(0);
|
|
155
|
+
|
|
156
|
+
// run the handler if provided
|
|
157
|
+
if (afterMigrateBatch) {
|
|
158
|
+
await afterMigrateBatch({
|
|
159
|
+
databaseName: collection.database.name,
|
|
160
|
+
collectionName: collection.name,
|
|
161
|
+
oldDatabaseName,
|
|
162
|
+
insertToNewWriteRows,
|
|
163
|
+
writeToNewResult
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
_ret;
|
|
168
|
+
while (true) {
|
|
169
|
+
_ret = await _loop();
|
|
170
|
+
if (_ret) return _ret.v;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=index.js.map
|