@connecttomahdi/rxdb 17.0.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +54 -0
- package/CHANGELOG.md +2469 -0
- package/CLAUDE.md +63 -0
- package/LICENSE.txt +201 -0
- package/README.md +263 -0
- package/babel.config.js +58 -0
- package/dist/cjs/change-event-buffer.js +146 -0
- package/dist/cjs/change-event-buffer.js.map +1 -0
- package/dist/cjs/custom-index.js +284 -0
- package/dist/cjs/custom-index.js.map +1 -0
- package/dist/cjs/doc-cache.js +231 -0
- package/dist/cjs/doc-cache.js.map +1 -0
- package/dist/cjs/event-reduce.js +102 -0
- package/dist/cjs/event-reduce.js.map +1 -0
- package/dist/cjs/hooks.js +131 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/incremental-write.js +169 -0
- package/dist/cjs/incremental-write.js.map +1 -0
- package/dist/cjs/index.js +270 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/overwritable.js +39 -0
- package/dist/cjs/overwritable.js.map +1 -0
- package/dist/cjs/plugin-helpers.js +223 -0
- package/dist/cjs/plugin-helpers.js.map +1 -0
- package/dist/cjs/plugin.js +94 -0
- package/dist/cjs/plugin.js.map +1 -0
- package/dist/cjs/plugins/attachments/attachments-utils.js +49 -0
- package/dist/cjs/plugins/attachments/attachments-utils.js.map +1 -0
- package/dist/cjs/plugins/attachments/index.js +237 -0
- package/dist/cjs/plugins/attachments/index.js.map +1 -0
- package/dist/cjs/plugins/attachments-compression/index.js +143 -0
- package/dist/cjs/plugins/attachments-compression/index.js.map +1 -0
- package/dist/cjs/plugins/backup/file-util.js +102 -0
- package/dist/cjs/plugins/backup/file-util.js.map +1 -0
- package/dist/cjs/plugins/backup/index.js +206 -0
- package/dist/cjs/plugins/backup/index.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup-helper.js +17 -0
- package/dist/cjs/plugins/cleanup/cleanup-helper.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup-state.js +83 -0
- package/dist/cjs/plugins/cleanup/cleanup-state.js.map +1 -0
- package/dist/cjs/plugins/cleanup/cleanup.js +116 -0
- package/dist/cjs/plugins/cleanup/cleanup.js.map +1 -0
- package/dist/cjs/plugins/cleanup/index.js +64 -0
- package/dist/cjs/plugins/cleanup/index.js.map +1 -0
- package/dist/cjs/plugins/crdt/index.js +392 -0
- package/dist/cjs/plugins/crdt/index.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-document.js +158 -0
- package/dist/cjs/plugins/dev-mode/check-document.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-migration-strategies.js +43 -0
- package/dist/cjs/plugins/dev-mode/check-migration-strategies.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-orm.js +53 -0
- package/dist/cjs/plugins/dev-mode/check-orm.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-query.js +183 -0
- package/dist/cjs/plugins/dev-mode/check-query.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/check-schema.js +487 -0
- package/dist/cjs/plugins/dev-mode/check-schema.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/dev-mode-tracking.js +93 -0
- package/dist/cjs/plugins/dev-mode/dev-mode-tracking.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/entity-properties.js +56 -0
- package/dist/cjs/plugins/dev-mode/entity-properties.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/error-messages.js +1295 -0
- package/dist/cjs/plugins/dev-mode/error-messages.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/index.js +195 -0
- package/dist/cjs/plugins/dev-mode/index.js.map +1 -0
- package/dist/cjs/plugins/dev-mode/unallowed-properties.js +88 -0
- package/dist/cjs/plugins/dev-mode/unallowed-properties.js.map +1 -0
- package/dist/cjs/plugins/electron/electron-helper.js +9 -0
- package/dist/cjs/plugins/electron/electron-helper.js.map +1 -0
- package/dist/cjs/plugins/electron/index.js +39 -0
- package/dist/cjs/plugins/electron/index.js.map +1 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-main.js +45 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-main.js.map +1 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-renderer.js +37 -0
- package/dist/cjs/plugins/electron/rx-storage-ipc-renderer.js.map +1 -0
- package/dist/cjs/plugins/encryption-crypto-js/index.js +165 -0
- package/dist/cjs/plugins/encryption-crypto-js/index.js.map +1 -0
- package/dist/cjs/plugins/flutter/index.js +62 -0
- package/dist/cjs/plugins/flutter/index.js.map +1 -0
- package/dist/cjs/plugins/json-dump/index.js +94 -0
- package/dist/cjs/plugins/json-dump/index.js.map +1 -0
- package/dist/cjs/plugins/key-compression/index.js +136 -0
- package/dist/cjs/plugins/key-compression/index.js.map +1 -0
- package/dist/cjs/plugins/leader-election/index.js +107 -0
- package/dist/cjs/plugins/leader-election/index.js.map +1 -0
- package/dist/cjs/plugins/local-documents/index.js +109 -0
- package/dist/cjs/plugins/local-documents/index.js.map +1 -0
- package/dist/cjs/plugins/local-documents/local-documents-helper.js +78 -0
- package/dist/cjs/plugins/local-documents/local-documents-helper.js.map +1 -0
- package/dist/cjs/plugins/local-documents/local-documents.js +107 -0
- package/dist/cjs/plugins/local-documents/local-documents.js.map +1 -0
- package/dist/cjs/plugins/local-documents/rx-local-document.js +257 -0
- package/dist/cjs/plugins/local-documents/rx-local-document.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/index.js +84 -0
- package/dist/cjs/plugins/migration-schema/index.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/migration-helpers.js +116 -0
- package/dist/cjs/plugins/migration-schema/migration-helpers.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/migration-types.js +2 -0
- package/dist/cjs/plugins/migration-schema/migration-types.js.map +1 -0
- package/dist/cjs/plugins/migration-schema/rx-migration-state.js +410 -0
- package/dist/cjs/plugins/migration-schema/rx-migration-state.js.map +1 -0
- package/dist/cjs/plugins/migration-storage/index.js +173 -0
- package/dist/cjs/plugins/migration-storage/index.js.map +1 -0
- package/dist/cjs/plugins/pipeline/flagged-functions.js +129 -0
- package/dist/cjs/plugins/pipeline/flagged-functions.js.map +1 -0
- package/dist/cjs/plugins/pipeline/index.js +43 -0
- package/dist/cjs/plugins/pipeline/index.js.map +1 -0
- package/dist/cjs/plugins/pipeline/rx-pipeline.js +219 -0
- package/dist/cjs/plugins/pipeline/rx-pipeline.js.map +1 -0
- package/dist/cjs/plugins/pipeline/types.js +2 -0
- package/dist/cjs/plugins/pipeline/types.js.map +1 -0
- package/dist/cjs/plugins/query-builder/index.js +70 -0
- package/dist/cjs/plugins/query-builder/index.js.map +1 -0
- package/dist/cjs/plugins/query-builder/mquery/mquery-utils.js +40 -0
- package/dist/cjs/plugins/query-builder/mquery/mquery-utils.js.map +1 -0
- package/dist/cjs/plugins/query-builder/mquery/nosql-query-builder.js +488 -0
- package/dist/cjs/plugins/query-builder/mquery/nosql-query-builder.js.map +1 -0
- package/dist/cjs/plugins/react/database-context.js +15 -0
- package/dist/cjs/plugins/react/database-context.js.map +1 -0
- package/dist/cjs/plugins/react/database-provider.js +41 -0
- package/dist/cjs/plugins/react/database-provider.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/index.js +50 -0
- package/dist/cjs/plugins/react/hooks/index.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-live-rx-query.js +27 -0
- package/dist/cjs/plugins/react/hooks/use-live-rx-query.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-collection.js +39 -0
- package/dist/cjs/plugins/react/hooks/use-rx-collection.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-database.js +24 -0
- package/dist/cjs/plugins/react/hooks/use-rx-database.js.map +1 -0
- package/dist/cjs/plugins/react/hooks/use-rx-query.js +99 -0
- package/dist/cjs/plugins/react/hooks/use-rx-query.js.map +1 -0
- package/dist/cjs/plugins/react/index.js +28 -0
- package/dist/cjs/plugins/react/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-angular/index.js +30 -0
- package/dist/cjs/plugins/reactivity-angular/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-preact-signals/index.js +67 -0
- package/dist/cjs/plugins/reactivity-preact-signals/index.js.map +1 -0
- package/dist/cjs/plugins/reactivity-vue/index.js +32 -0
- package/dist/cjs/plugins/reactivity-vue/index.js.map +1 -0
- package/dist/cjs/plugins/replication/index.js +487 -0
- package/dist/cjs/plugins/replication/index.js.map +1 -0
- package/dist/cjs/plugins/replication/replication-helper.js +97 -0
- package/dist/cjs/plugins/replication/replication-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-helpers.js +33 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-helpers.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-types.js +2 -0
- package/dist/cjs/plugins/replication-appwrite/appwrite-types.js.map +1 -0
- package/dist/cjs/plugins/replication-appwrite/index.js +176 -0
- package/dist/cjs/plugins/replication-appwrite/index.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-helper.js +77 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-types.js +2 -0
- package/dist/cjs/plugins/replication-couchdb/couchdb-types.js.map +1 -0
- package/dist/cjs/plugins/replication-couchdb/index.js +287 -0
- package/dist/cjs/plugins/replication-couchdb/index.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/firestore-helper.js +61 -0
- package/dist/cjs/plugins/replication-firestore/firestore-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/firestore-types.js +2 -0
- package/dist/cjs/plugins/replication-firestore/firestore-types.js.map +1 -0
- package/dist/cjs/plugins/replication-firestore/index.js +266 -0
- package/dist/cjs/plugins/replication-firestore/index.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/document-handling.js +150 -0
- package/dist/cjs/plugins/replication-google-drive/document-handling.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/downstream.js +73 -0
- package/dist/cjs/plugins/replication-google-drive/downstream.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-helper.js +349 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-types.js +2 -0
- package/dist/cjs/plugins/replication-google-drive/google-drive-types.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/index.js +233 -0
- package/dist/cjs/plugins/replication-google-drive/index.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/init.js +76 -0
- package/dist/cjs/plugins/replication-google-drive/init.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/multipart.js +74 -0
- package/dist/cjs/plugins/replication-google-drive/multipart.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/signaling.js +262 -0
- package/dist/cjs/plugins/replication-google-drive/signaling.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/transaction.js +134 -0
- package/dist/cjs/plugins/replication-google-drive/transaction.js.map +1 -0
- package/dist/cjs/plugins/replication-google-drive/upstream.js +182 -0
- package/dist/cjs/plugins/replication-google-drive/upstream.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/graphql-schema-from-rx-schema.js +235 -0
- package/dist/cjs/plugins/replication-graphql/graphql-schema-from-rx-schema.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/graphql-websocket.js +43 -0
- package/dist/cjs/plugins/replication-graphql/graphql-websocket.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/helper.js +29 -0
- package/dist/cjs/plugins/replication-graphql/helper.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/index.js +215 -0
- package/dist/cjs/plugins/replication-graphql/index.js.map +1 -0
- package/dist/cjs/plugins/replication-graphql/query-builder-from-rx-schema.js +141 -0
- package/dist/cjs/plugins/replication-graphql/query-builder-from-rx-schema.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/document-handling.js +187 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/document-handling.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/downstream.js +78 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/downstream.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/index.js +222 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/index.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/init.js +76 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/init.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js +273 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js +2 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/signaling.js +235 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/signaling.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/transaction.js +138 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/transaction.js.map +1 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/upstream.js +190 -0
- package/dist/cjs/plugins/replication-microsoft-onedrive/upstream.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/index.js +229 -0
- package/dist/cjs/plugins/replication-mongodb/index.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-checkpoint.js +140 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-checkpoint.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-helper.js +53 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-types.js +2 -0
- package/dist/cjs/plugins/replication-mongodb/mongodb-types.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/index.js +232 -0
- package/dist/cjs/plugins/replication-nats/index.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/nats-helper.js +13 -0
- package/dist/cjs/plugins/replication-nats/nats-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-nats/nats-types.js +2 -0
- package/dist/cjs/plugins/replication-nats/nats-types.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/helper.js +42 -0
- package/dist/cjs/plugins/replication-supabase/helper.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/index.js +239 -0
- package/dist/cjs/plugins/replication-supabase/index.js.map +1 -0
- package/dist/cjs/plugins/replication-supabase/types.js +2 -0
- package/dist/cjs/plugins/replication-supabase/types.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-p2pcf.js +79 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-p2pcf.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-simple-peer.js +199 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-simple-peer.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-webtorrent.js +137 -0
- package/dist/cjs/plugins/replication-webrtc/connection-handler-webtorrent.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/index.js +260 -0
- package/dist/cjs/plugins/replication-webrtc/index.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/signaling-server.js +151 -0
- package/dist/cjs/plugins/replication-webrtc/signaling-server.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-helper.js +32 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-helper.js.map +1 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-types.js +2 -0
- package/dist/cjs/plugins/replication-webrtc/webrtc-types.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/index.js +39 -0
- package/dist/cjs/plugins/replication-websocket/index.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-client.js +133 -0
- package/dist/cjs/plugins/replication-websocket/websocket-client.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-server.js +108 -0
- package/dist/cjs/plugins/replication-websocket/websocket-server.js.map +1 -0
- package/dist/cjs/plugins/replication-websocket/websocket-types.js +2 -0
- package/dist/cjs/plugins/replication-websocket/websocket-types.js.map +1 -0
- package/dist/cjs/plugins/state/helpers.js +81 -0
- package/dist/cjs/plugins/state/helpers.js.map +1 -0
- package/dist/cjs/plugins/state/index.js +42 -0
- package/dist/cjs/plugins/state/index.js.map +1 -0
- package/dist/cjs/plugins/state/rx-state.js +293 -0
- package/dist/cjs/plugins/state/rx-state.js.map +1 -0
- package/dist/cjs/plugins/state/types.js +2 -0
- package/dist/cjs/plugins/state/types.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-helper.js +49 -0
- package/dist/cjs/plugins/storage-denokv/denokv-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-query.js +99 -0
- package/dist/cjs/plugins/storage-denokv/denokv-query.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/denokv-types.js +2 -0
- package/dist/cjs/plugins/storage-denokv/denokv-types.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/index.js +31 -0
- package/dist/cjs/plugins/storage-denokv/index.js.map +1 -0
- package/dist/cjs/plugins/storage-denokv/rx-storage-instance-denokv.js +332 -0
- package/dist/cjs/plugins/storage-denokv/rx-storage-instance-denokv.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/dexie-helper.js +259 -0
- package/dist/cjs/plugins/storage-dexie/dexie-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/dexie-query.js +178 -0
- package/dist/cjs/plugins/storage-dexie/dexie-query.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/index.js +50 -0
- package/dist/cjs/plugins/storage-dexie/index.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-dexie.js +46 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-dexie.js.map +1 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-instance-dexie.js +229 -0
- package/dist/cjs/plugins/storage-dexie/rx-storage-instance-dexie.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-helpers.js +13 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-query.js +96 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-query.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-types.js +2 -0
- package/dist/cjs/plugins/storage-foundationdb/foundationdb-types.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/index.js +62 -0
- package/dist/cjs/plugins/storage-foundationdb/index.js.map +1 -0
- package/dist/cjs/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js +309 -0
- package/dist/cjs/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/index.js +45 -0
- package/dist/cjs/plugins/storage-localstorage/index.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/localstorage-mock.js +38 -0
- package/dist/cjs/plugins/storage-localstorage/localstorage-mock.js.map +1 -0
- package/dist/cjs/plugins/storage-localstorage/rx-storage-instance-localstorage.js +443 -0
- package/dist/cjs/plugins/storage-localstorage/rx-storage-instance-localstorage.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/binary-search-bounds.js +113 -0
- package/dist/cjs/plugins/storage-memory/binary-search-bounds.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/index.js +91 -0
- package/dist/cjs/plugins/storage-memory/index.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-helper.js +177 -0
- package/dist/cjs/plugins/storage-memory/memory-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-indexes.js +28 -0
- package/dist/cjs/plugins/storage-memory/memory-indexes.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/memory-types.js +2 -0
- package/dist/cjs/plugins/storage-memory/memory-types.js.map +1 -0
- package/dist/cjs/plugins/storage-memory/rx-storage-instance-memory.js +371 -0
- package/dist/cjs/plugins/storage-memory/rx-storage-instance-memory.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/index.js +50 -0
- package/dist/cjs/plugins/storage-mongodb/index.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-helper.js +97 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-helper.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-types.js +2 -0
- package/dist/cjs/plugins/storage-mongodb/mongodb-types.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-instance-mongodb.js +324 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-instance-mongodb.js.map +1 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-mongodb.js +29 -0
- package/dist/cjs/plugins/storage-mongodb/rx-storage-mongodb.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/index.js +61 -0
- package/dist/cjs/plugins/storage-remote/index.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/message-channel-cache.js +52 -0
- package/dist/cjs/plugins/storage-remote/message-channel-cache.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/remote.js +217 -0
- package/dist/cjs/plugins/storage-remote/remote.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/rx-storage-remote.js +199 -0
- package/dist/cjs/plugins/storage-remote/rx-storage-remote.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-helpers.js +25 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-types.js +2 -0
- package/dist/cjs/plugins/storage-remote/storage-remote-types.js.map +1 -0
- package/dist/cjs/plugins/storage-remote-websocket/index.js +183 -0
- package/dist/cjs/plugins/storage-remote-websocket/index.js.map +1 -0
- package/dist/cjs/plugins/storage-remote-websocket/types.js +2 -0
- package/dist/cjs/plugins/storage-remote-websocket/types.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/index.js +84 -0
- package/dist/cjs/plugins/storage-sqlite/index.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-basics-helpers.js +530 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-basics-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-helpers.js +203 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-helpers.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-storage-instance.js +291 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-storage-instance.js.map +1 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-types.js +2 -0
- package/dist/cjs/plugins/storage-sqlite/sqlite-types.js.map +1 -0
- package/dist/cjs/plugins/test-utils/config.js +120 -0
- package/dist/cjs/plugins/test-utils/config.js.map +1 -0
- package/dist/cjs/plugins/test-utils/humans-collection.js +420 -0
- package/dist/cjs/plugins/test-utils/humans-collection.js.map +1 -0
- package/dist/cjs/plugins/test-utils/index.js +130 -0
- package/dist/cjs/plugins/test-utils/index.js.map +1 -0
- package/dist/cjs/plugins/test-utils/performance.js +275 -0
- package/dist/cjs/plugins/test-utils/performance.js.map +1 -0
- package/dist/cjs/plugins/test-utils/replication-base-test-suite.js +179 -0
- package/dist/cjs/plugins/test-utils/replication-base-test-suite.js.map +1 -0
- package/dist/cjs/plugins/test-utils/replication.js +54 -0
- package/dist/cjs/plugins/test-utils/replication.js.map +1 -0
- package/dist/cjs/plugins/test-utils/revisions.js +11 -0
- package/dist/cjs/plugins/test-utils/revisions.js.map +1 -0
- package/dist/cjs/plugins/test-utils/schema-objects.js +315 -0
- package/dist/cjs/plugins/test-utils/schema-objects.js.map +1 -0
- package/dist/cjs/plugins/test-utils/schemas.js +1254 -0
- package/dist/cjs/plugins/test-utils/schemas.js.map +1 -0
- package/dist/cjs/plugins/test-utils/test-util.js +72 -0
- package/dist/cjs/plugins/test-utils/test-util.js.map +1 -0
- package/dist/cjs/plugins/update/index.js +45 -0
- package/dist/cjs/plugins/update/index.js.map +1 -0
- package/dist/cjs/plugins/update/mingo-updater.js +20 -0
- package/dist/cjs/plugins/update/mingo-updater.js.map +1 -0
- package/dist/cjs/plugins/utils/index.js +226 -0
- package/dist/cjs/plugins/utils/index.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-array.js +150 -0
- package/dist/cjs/plugins/utils/utils-array.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-base64.js +57 -0
- package/dist/cjs/plugins/utils/utils-base64.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-blob.js +62 -0
- package/dist/cjs/plugins/utils/utils-blob.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-document.js +100 -0
- package/dist/cjs/plugins/utils/utils-document.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-error.js +42 -0
- package/dist/cjs/plugins/utils/utils-error.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-global.js +12 -0
- package/dist/cjs/plugins/utils/utils-global.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-hash.js +59 -0
- package/dist/cjs/plugins/utils/utils-hash.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-map.js +25 -0
- package/dist/cjs/plugins/utils/utils-map.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-number.js +16 -0
- package/dist/cjs/plugins/utils/utils-number.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object-deep-equal.js +42 -0
- package/dist/cjs/plugins/utils/utils-object-deep-equal.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object-dot-prop.js +306 -0
- package/dist/cjs/plugins/utils/utils-object-dot-prop.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-object.js +245 -0
- package/dist/cjs/plugins/utils/utils-object.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-other.js +69 -0
- package/dist/cjs/plugins/utils/utils-other.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-premium.js +37 -0
- package/dist/cjs/plugins/utils/utils-premium.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-promise.js +149 -0
- package/dist/cjs/plugins/utils/utils-promise.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-regex.js +9 -0
- package/dist/cjs/plugins/utils/utils-regex.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-revision.js +60 -0
- package/dist/cjs/plugins/utils/utils-revision.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.js +11 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.template.js +11 -0
- package/dist/cjs/plugins/utils/utils-rxdb-version.template.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-string.js +97 -0
- package/dist/cjs/plugins/utils/utils-string.js.map +1 -0
- package/dist/cjs/plugins/utils/utils-time.js +42 -0
- package/dist/cjs/plugins/utils/utils-time.js.map +1 -0
- package/dist/cjs/plugins/validate-ajv/index.js +53 -0
- package/dist/cjs/plugins/validate-ajv/index.js.map +1 -0
- package/dist/cjs/plugins/validate-is-my-json-valid/index.js +29 -0
- package/dist/cjs/plugins/validate-is-my-json-valid/index.js.map +1 -0
- package/dist/cjs/plugins/validate-z-schema/index.js +58 -0
- package/dist/cjs/plugins/validate-z-schema/index.js.map +1 -0
- package/dist/cjs/plugins/vector/helper.js +2 -0
- package/dist/cjs/plugins/vector/helper.js.map +1 -0
- package/dist/cjs/plugins/vector/index.js +17 -0
- package/dist/cjs/plugins/vector/index.js.map +1 -0
- package/dist/cjs/plugins/vector/types.js +2 -0
- package/dist/cjs/plugins/vector/types.js.map +1 -0
- package/dist/cjs/plugins/vector/vector-distance.js +38 -0
- package/dist/cjs/plugins/vector/vector-distance.js.map +1 -0
- package/dist/cjs/plugins/webmcp/index.js +28 -0
- package/dist/cjs/plugins/webmcp/index.js.map +1 -0
- package/dist/cjs/plugins/webmcp/nosql-query-schema.js +360 -0
- package/dist/cjs/plugins/webmcp/nosql-query-schema.js.map +1 -0
- package/dist/cjs/plugins/webmcp/webmcp.js +315 -0
- package/dist/cjs/plugins/webmcp/webmcp.js.map +1 -0
- package/dist/cjs/query-cache.js +110 -0
- package/dist/cjs/query-cache.js.map +1 -0
- package/dist/cjs/query-planner.js +307 -0
- package/dist/cjs/query-planner.js.map +1 -0
- package/dist/cjs/replication-protocol/checkpoint.js +103 -0
- package/dist/cjs/replication-protocol/checkpoint.js.map +1 -0
- package/dist/cjs/replication-protocol/conflicts.js +36 -0
- package/dist/cjs/replication-protocol/conflicts.js.map +1 -0
- package/dist/cjs/replication-protocol/default-conflict-handler.js +39 -0
- package/dist/cjs/replication-protocol/default-conflict-handler.js.map +1 -0
- package/dist/cjs/replication-protocol/downstream.js +339 -0
- package/dist/cjs/replication-protocol/downstream.js.map +1 -0
- package/dist/cjs/replication-protocol/helper.js +58 -0
- package/dist/cjs/replication-protocol/helper.js.map +1 -0
- package/dist/cjs/replication-protocol/index.js +314 -0
- package/dist/cjs/replication-protocol/index.js.map +1 -0
- package/dist/cjs/replication-protocol/meta-instance.js +130 -0
- package/dist/cjs/replication-protocol/meta-instance.js.map +1 -0
- package/dist/cjs/replication-protocol/upstream.js +384 -0
- package/dist/cjs/replication-protocol/upstream.js.map +1 -0
- package/dist/cjs/rx-change-event.js +112 -0
- package/dist/cjs/rx-change-event.js.map +1 -0
- package/dist/cjs/rx-collection-helper.js +205 -0
- package/dist/cjs/rx-collection-helper.js.map +1 -0
- package/dist/cjs/rx-collection.js +931 -0
- package/dist/cjs/rx-collection.js.map +1 -0
- package/dist/cjs/rx-database-internal-store.js +283 -0
- package/dist/cjs/rx-database-internal-store.js.map +1 -0
- package/dist/cjs/rx-database.js +682 -0
- package/dist/cjs/rx-database.js.map +1 -0
- package/dist/cjs/rx-document-prototype-merge.js +87 -0
- package/dist/cjs/rx-document-prototype-merge.js.map +1 -0
- package/dist/cjs/rx-document.js +404 -0
- package/dist/cjs/rx-document.js.map +1 -0
- package/dist/cjs/rx-error.js +167 -0
- package/dist/cjs/rx-error.js.map +1 -0
- package/dist/cjs/rx-query-helper.js +277 -0
- package/dist/cjs/rx-query-helper.js.map +1 -0
- package/dist/cjs/rx-query-mingo.js +60 -0
- package/dist/cjs/rx-query-mingo.js.map +1 -0
- package/dist/cjs/rx-query-single-result.js +105 -0
- package/dist/cjs/rx-query-single-result.js.map +1 -0
- package/dist/cjs/rx-query.js +703 -0
- package/dist/cjs/rx-query.js.map +1 -0
- package/dist/cjs/rx-schema-helper.js +333 -0
- package/dist/cjs/rx-schema-helper.js.map +1 -0
- package/dist/cjs/rx-schema.js +189 -0
- package/dist/cjs/rx-schema.js.map +1 -0
- package/dist/cjs/rx-storage-helper.js +808 -0
- package/dist/cjs/rx-storage-helper.js.map +1 -0
- package/dist/cjs/rx-storage-multiinstance.js +121 -0
- package/dist/cjs/rx-storage-multiinstance.js.map +1 -0
- package/dist/cjs/types/conflict-handling.d.js +2 -0
- package/dist/cjs/types/conflict-handling.d.js.map +1 -0
- package/dist/cjs/types/couchdb.d.js +2 -0
- package/dist/cjs/types/couchdb.d.js.map +1 -0
- package/dist/cjs/types/index.d.js +2 -0
- package/dist/cjs/types/index.d.js.map +1 -0
- package/dist/cjs/types/modules/index.d.js +2 -0
- package/dist/cjs/types/modules/index.d.js.map +1 -0
- package/dist/cjs/types/modules/mocha.parallel.d.js +2 -0
- package/dist/cjs/types/modules/mocha.parallel.d.js.map +1 -0
- package/dist/cjs/types/plugins/backup.d.js +2 -0
- package/dist/cjs/types/plugins/backup.d.js.map +1 -0
- package/dist/cjs/types/plugins/cleanup.d.js +2 -0
- package/dist/cjs/types/plugins/cleanup.d.js.map +1 -0
- package/dist/cjs/types/plugins/crdt.d.js +2 -0
- package/dist/cjs/types/plugins/crdt.d.js.map +1 -0
- package/dist/cjs/types/plugins/dexie.d.js +2 -0
- package/dist/cjs/types/plugins/dexie.d.js.map +1 -0
- package/dist/cjs/types/plugins/local-documents.d.js +2 -0
- package/dist/cjs/types/plugins/local-documents.d.js.map +1 -0
- package/dist/cjs/types/plugins/migration.d.js +2 -0
- package/dist/cjs/types/plugins/migration.d.js.map +1 -0
- package/dist/cjs/types/plugins/reactivity.d.js +2 -0
- package/dist/cjs/types/plugins/reactivity.d.js.map +1 -0
- package/dist/cjs/types/plugins/replication-graphql.d.js +2 -0
- package/dist/cjs/types/plugins/replication-graphql.d.js.map +1 -0
- package/dist/cjs/types/plugins/replication.d.js +2 -0
- package/dist/cjs/types/plugins/replication.d.js.map +1 -0
- package/dist/cjs/types/plugins/state.d.js +2 -0
- package/dist/cjs/types/plugins/state.d.js.map +1 -0
- package/dist/cjs/types/plugins/update.d.js +2 -0
- package/dist/cjs/types/plugins/update.d.js.map +1 -0
- package/dist/cjs/types/plugins/webmcp.d.js +2 -0
- package/dist/cjs/types/plugins/webmcp.d.js.map +1 -0
- package/dist/cjs/types/query-planner.d.js +2 -0
- package/dist/cjs/types/query-planner.d.js.map +1 -0
- package/dist/cjs/types/replication-protocol.d.js +2 -0
- package/dist/cjs/types/replication-protocol.d.js.map +1 -0
- package/dist/cjs/types/rx-attachment.d.js +2 -0
- package/dist/cjs/types/rx-attachment.d.js.map +1 -0
- package/dist/cjs/types/rx-change-event.d.js +2 -0
- package/dist/cjs/types/rx-change-event.d.js.map +1 -0
- package/dist/cjs/types/rx-collection.d.js +2 -0
- package/dist/cjs/types/rx-collection.d.js.map +1 -0
- package/dist/cjs/types/rx-database-internal-store.d.js +2 -0
- package/dist/cjs/types/rx-database-internal-store.d.js.map +1 -0
- package/dist/cjs/types/rx-database.d.js +2 -0
- package/dist/cjs/types/rx-database.d.js.map +1 -0
- package/dist/cjs/types/rx-document.d.js +2 -0
- package/dist/cjs/types/rx-document.d.js.map +1 -0
- package/dist/cjs/types/rx-error.d.js +2 -0
- package/dist/cjs/types/rx-error.d.js.map +1 -0
- package/dist/cjs/types/rx-plugin.d.js +2 -0
- package/dist/cjs/types/rx-plugin.d.js.map +1 -0
- package/dist/cjs/types/rx-query.d.js +2 -0
- package/dist/cjs/types/rx-query.d.js.map +1 -0
- package/dist/cjs/types/rx-schema.d.js +2 -0
- package/dist/cjs/types/rx-schema.d.js.map +1 -0
- package/dist/cjs/types/rx-storage.d.js +2 -0
- package/dist/cjs/types/rx-storage.d.js.map +1 -0
- package/dist/cjs/types/rx-storage.interface.d.js +2 -0
- package/dist/cjs/types/rx-storage.interface.d.js.map +1 -0
- package/dist/cjs/types/util.d.js +2 -0
- package/dist/cjs/types/util.d.js.map +1 -0
- package/dist/esm/change-event-buffer.js +141 -0
- package/dist/esm/change-event-buffer.js.map +1 -0
- package/dist/esm/custom-index.js +271 -0
- package/dist/esm/custom-index.js.map +1 -0
- package/dist/esm/doc-cache.js +227 -0
- package/dist/esm/doc-cache.js.map +1 -0
- package/dist/esm/event-reduce.js +93 -0
- package/dist/esm/event-reduce.js.map +1 -0
- package/dist/esm/hooks.js +122 -0
- package/dist/esm/hooks.js.map +1 -0
- package/dist/esm/incremental-write.js +161 -0
- package/dist/esm/incremental-write.js.map +1 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/overwritable.js +33 -0
- package/dist/esm/overwritable.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/plugin-helpers.js +217 -0
- package/dist/esm/plugin-helpers.js.map +1 -0
- package/dist/esm/plugin.js +88 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/esm/plugins/attachments/attachments-utils.js +41 -0
- package/dist/esm/plugins/attachments/attachments-utils.js.map +1 -0
- package/dist/esm/plugins/attachments/index.js +202 -0
- package/dist/esm/plugins/attachments/index.js.map +1 -0
- package/dist/esm/plugins/attachments-compression/index.js +134 -0
- package/dist/esm/plugins/attachments-compression/index.js.map +1 -0
- package/dist/esm/plugins/backup/file-util.js +87 -0
- package/dist/esm/plugins/backup/file-util.js.map +1 -0
- package/dist/esm/plugins/backup/index.js +183 -0
- package/dist/esm/plugins/backup/index.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup-helper.js +11 -0
- package/dist/esm/plugins/cleanup/cleanup-helper.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup-state.js +75 -0
- package/dist/esm/plugins/cleanup/cleanup-state.js.map +1 -0
- package/dist/esm/plugins/cleanup/cleanup.js +108 -0
- package/dist/esm/plugins/cleanup/cleanup.js.map +1 -0
- package/dist/esm/plugins/cleanup/index.js +35 -0
- package/dist/esm/plugins/cleanup/index.js.map +1 -0
- package/dist/esm/plugins/crdt/index.js +378 -0
- package/dist/esm/plugins/crdt/index.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-document.js +150 -0
- package/dist/esm/plugins/dev-mode/check-document.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-migration-strategies.js +38 -0
- package/dist/esm/plugins/dev-mode/check-migration-strategies.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-orm.js +47 -0
- package/dist/esm/plugins/dev-mode/check-orm.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-query.js +174 -0
- package/dist/esm/plugins/dev-mode/check-query.js.map +1 -0
- package/dist/esm/plugins/dev-mode/check-schema.js +478 -0
- package/dist/esm/plugins/dev-mode/check-schema.js.map +1 -0
- package/dist/esm/plugins/dev-mode/dev-mode-tracking.js +87 -0
- package/dist/esm/plugins/dev-mode/dev-mode-tracking.js.map +1 -0
- package/dist/esm/plugins/dev-mode/entity-properties.js +49 -0
- package/dist/esm/plugins/dev-mode/entity-properties.js.map +1 -0
- package/dist/esm/plugins/dev-mode/error-messages.js +1289 -0
- package/dist/esm/plugins/dev-mode/error-messages.js.map +1 -0
- package/dist/esm/plugins/dev-mode/index.js +151 -0
- package/dist/esm/plugins/dev-mode/index.js.map +1 -0
- package/dist/esm/plugins/dev-mode/unallowed-properties.js +81 -0
- package/dist/esm/plugins/dev-mode/unallowed-properties.js.map +1 -0
- package/dist/esm/plugins/electron/electron-helper.js +3 -0
- package/dist/esm/plugins/electron/electron-helper.js.map +1 -0
- package/dist/esm/plugins/electron/index.js +4 -0
- package/dist/esm/plugins/electron/index.js.map +1 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-main.js +39 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-main.js.map +1 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-renderer.js +31 -0
- package/dist/esm/plugins/electron/rx-storage-ipc-renderer.js.map +1 -0
- package/dist/esm/plugins/encryption-crypto-js/index.js +154 -0
- package/dist/esm/plugins/encryption-crypto-js/index.js.map +1 -0
- package/dist/esm/plugins/flutter/index.js +55 -0
- package/dist/esm/plugins/flutter/index.js.map +1 -0
- package/dist/esm/plugins/json-dump/index.js +87 -0
- package/dist/esm/plugins/json-dump/index.js.map +1 -0
- package/dist/esm/plugins/key-compression/index.js +127 -0
- package/dist/esm/plugins/key-compression/index.js.map +1 -0
- package/dist/esm/plugins/leader-election/index.js +95 -0
- package/dist/esm/plugins/leader-election/index.js.map +1 -0
- package/dist/esm/plugins/local-documents/index.js +70 -0
- package/dist/esm/plugins/local-documents/index.js.map +1 -0
- package/dist/esm/plugins/local-documents/local-documents-helper.js +67 -0
- package/dist/esm/plugins/local-documents/local-documents-helper.js.map +1 -0
- package/dist/esm/plugins/local-documents/local-documents.js +99 -0
- package/dist/esm/plugins/local-documents/local-documents.js.map +1 -0
- package/dist/esm/plugins/local-documents/rx-local-document.js +248 -0
- package/dist/esm/plugins/local-documents/rx-local-document.js.map +1 -0
- package/dist/esm/plugins/migration-schema/index.js +42 -0
- package/dist/esm/plugins/migration-schema/index.js.map +1 -0
- package/dist/esm/plugins/migration-schema/migration-helpers.js +103 -0
- package/dist/esm/plugins/migration-schema/migration-helpers.js.map +1 -0
- package/dist/esm/plugins/migration-schema/migration-types.js +3 -0
- package/dist/esm/plugins/migration-schema/migration-types.js.map +1 -0
- package/dist/esm/plugins/migration-schema/rx-migration-state.js +404 -0
- package/dist/esm/plugins/migration-schema/rx-migration-state.js.map +1 -0
- package/dist/esm/plugins/migration-storage/index.js +166 -0
- package/dist/esm/plugins/migration-storage/index.js.map +1 -0
- package/dist/esm/plugins/pipeline/flagged-functions.js +122 -0
- package/dist/esm/plugins/pipeline/flagged-functions.js.map +1 -0
- package/dist/esm/plugins/pipeline/index.js +13 -0
- package/dist/esm/plugins/pipeline/index.js.map +1 -0
- package/dist/esm/plugins/pipeline/rx-pipeline.js +210 -0
- package/dist/esm/plugins/pipeline/rx-pipeline.js.map +1 -0
- package/dist/esm/plugins/pipeline/types.js +3 -0
- package/dist/esm/plugins/pipeline/types.js.map +1 -0
- package/dist/esm/plugins/query-builder/index.js +48 -0
- package/dist/esm/plugins/query-builder/index.js.map +1 -0
- package/dist/esm/plugins/query-builder/mquery/mquery-utils.js +33 -0
- package/dist/esm/plugins/query-builder/mquery/mquery-utils.js.map +1 -0
- package/dist/esm/plugins/query-builder/mquery/nosql-query-builder.js +478 -0
- package/dist/esm/plugins/query-builder/mquery/nosql-query-builder.js.map +1 -0
- package/dist/esm/plugins/react/database-context.js +8 -0
- package/dist/esm/plugins/react/database-context.js.map +1 -0
- package/dist/esm/plugins/react/database-provider.js +34 -0
- package/dist/esm/plugins/react/database-provider.js.map +1 -0
- package/dist/esm/plugins/react/hooks/index.js +5 -0
- package/dist/esm/plugins/react/hooks/index.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-live-rx-query.js +22 -0
- package/dist/esm/plugins/react/hooks/use-live-rx-query.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-collection.js +34 -0
- package/dist/esm/plugins/react/hooks/use-rx-collection.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-database.js +19 -0
- package/dist/esm/plugins/react/hooks/use-rx-database.js.map +1 -0
- package/dist/esm/plugins/react/hooks/use-rx-query.js +92 -0
- package/dist/esm/plugins/react/hooks/use-rx-query.js.map +1 -0
- package/dist/esm/plugins/react/index.js +3 -0
- package/dist/esm/plugins/react/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-angular/index.js +25 -0
- package/dist/esm/plugins/reactivity-angular/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-preact-signals/index.js +62 -0
- package/dist/esm/plugins/reactivity-preact-signals/index.js.map +1 -0
- package/dist/esm/plugins/reactivity-vue/index.js +27 -0
- package/dist/esm/plugins/reactivity-vue/index.js.map +1 -0
- package/dist/esm/plugins/replication/index.js +479 -0
- package/dist/esm/plugins/replication/index.js.map +1 -0
- package/dist/esm/plugins/replication/replication-helper.js +86 -0
- package/dist/esm/plugins/replication/replication-helper.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-helpers.js +26 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-helpers.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-types.js +3 -0
- package/dist/esm/plugins/replication-appwrite/appwrite-types.js.map +1 -0
- package/dist/esm/plugins/replication-appwrite/index.js +168 -0
- package/dist/esm/plugins/replication-appwrite/index.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-helper.js +65 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-helper.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-types.js +3 -0
- package/dist/esm/plugins/replication-couchdb/couchdb-types.js.map +1 -0
- package/dist/esm/plugins/replication-couchdb/index.js +254 -0
- package/dist/esm/plugins/replication-couchdb/index.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/firestore-helper.js +49 -0
- package/dist/esm/plugins/replication-firestore/firestore-helper.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/firestore-types.js +3 -0
- package/dist/esm/plugins/replication-firestore/firestore-types.js.map +1 -0
- package/dist/esm/plugins/replication-firestore/index.js +233 -0
- package/dist/esm/plugins/replication-firestore/index.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/document-handling.js +140 -0
- package/dist/esm/plugins/replication-google-drive/document-handling.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/downstream.js +66 -0
- package/dist/esm/plugins/replication-google-drive/downstream.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-helper.js +331 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-helper.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-types.js +3 -0
- package/dist/esm/plugins/replication-google-drive/google-drive-types.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/index.js +126 -0
- package/dist/esm/plugins/replication-google-drive/index.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/init.js +70 -0
- package/dist/esm/plugins/replication-google-drive/init.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/multipart.js +67 -0
- package/dist/esm/plugins/replication-google-drive/multipart.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/signaling.js +253 -0
- package/dist/esm/plugins/replication-google-drive/signaling.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/transaction.js +123 -0
- package/dist/esm/plugins/replication-google-drive/transaction.js.map +1 -0
- package/dist/esm/plugins/replication-google-drive/upstream.js +171 -0
- package/dist/esm/plugins/replication-google-drive/upstream.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/graphql-schema-from-rx-schema.js +228 -0
- package/dist/esm/plugins/replication-graphql/graphql-schema-from-rx-schema.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/graphql-websocket.js +35 -0
- package/dist/esm/plugins/replication-graphql/graphql-websocket.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/helper.js +21 -0
- package/dist/esm/plugins/replication-graphql/helper.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/index.js +161 -0
- package/dist/esm/plugins/replication-graphql/index.js.map +1 -0
- package/dist/esm/plugins/replication-graphql/query-builder-from-rx-schema.js +133 -0
- package/dist/esm/plugins/replication-graphql/query-builder-from-rx-schema.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/document-handling.js +178 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/document-handling.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/downstream.js +71 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/downstream.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/index.js +126 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/index.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/init.js +70 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/init.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js +258 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js +3 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/signaling.js +226 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/signaling.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/transaction.js +127 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/transaction.js.map +1 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/upstream.js +179 -0
- package/dist/esm/plugins/replication-microsoft-onedrive/upstream.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/index.js +197 -0
- package/dist/esm/plugins/replication-mongodb/index.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-checkpoint.js +131 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-checkpoint.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-helper.js +45 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-helper.js.map +1 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-types.js +3 -0
- package/dist/esm/plugins/replication-mongodb/mongodb-types.js.map +1 -0
- package/dist/esm/plugins/replication-nats/index.js +199 -0
- package/dist/esm/plugins/replication-nats/index.js.map +1 -0
- package/dist/esm/plugins/replication-nats/nats-helper.js +7 -0
- package/dist/esm/plugins/replication-nats/nats-helper.js.map +1 -0
- package/dist/esm/plugins/replication-nats/nats-types.js +3 -0
- package/dist/esm/plugins/replication-nats/nats-types.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/helper.js +35 -0
- package/dist/esm/plugins/replication-supabase/helper.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/index.js +231 -0
- package/dist/esm/plugins/replication-supabase/index.js.map +1 -0
- package/dist/esm/plugins/replication-supabase/types.js +3 -0
- package/dist/esm/plugins/replication-supabase/types.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-p2pcf.js +78 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-p2pcf.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-simple-peer.js +192 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-simple-peer.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-webtorrent.js +136 -0
- package/dist/esm/plugins/replication-webrtc/connection-handler-webtorrent.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/index.js +207 -0
- package/dist/esm/plugins/replication-webrtc/index.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/signaling-server.js +144 -0
- package/dist/esm/plugins/replication-webrtc/signaling-server.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-helper.js +26 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-helper.js.map +1 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-types.js +3 -0
- package/dist/esm/plugins/replication-webrtc/webrtc-types.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/index.js +4 -0
- package/dist/esm/plugins/replication-websocket/index.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-client.js +125 -0
- package/dist/esm/plugins/replication-websocket/websocket-client.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-server.js +100 -0
- package/dist/esm/plugins/replication-websocket/websocket-server.js.map +1 -0
- package/dist/esm/plugins/replication-websocket/websocket-types.js +3 -0
- package/dist/esm/plugins/replication-websocket/websocket-types.js.map +1 -0
- package/dist/esm/plugins/state/helpers.js +73 -0
- package/dist/esm/plugins/state/helpers.js.map +1 -0
- package/dist/esm/plugins/state/index.js +20 -0
- package/dist/esm/plugins/state/index.js.map +1 -0
- package/dist/esm/plugins/state/rx-state.js +285 -0
- package/dist/esm/plugins/state/rx-state.js.map +1 -0
- package/dist/esm/plugins/state/types.js +3 -0
- package/dist/esm/plugins/state/types.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-helper.js +40 -0
- package/dist/esm/plugins/storage-denokv/denokv-helper.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-query.js +93 -0
- package/dist/esm/plugins/storage-denokv/denokv-query.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/denokv-types.js +3 -0
- package/dist/esm/plugins/storage-denokv/denokv-types.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/index.js +24 -0
- package/dist/esm/plugins/storage-denokv/index.js.map +1 -0
- package/dist/esm/plugins/storage-denokv/rx-storage-instance-denokv.js +325 -0
- package/dist/esm/plugins/storage-denokv/rx-storage-instance-denokv.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/dexie-helper.js +241 -0
- package/dist/esm/plugins/storage-dexie/dexie-helper.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/dexie-query.js +169 -0
- package/dist/esm/plugins/storage-dexie/dexie-query.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/index.js +5 -0
- package/dist/esm/plugins/storage-dexie/index.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-dexie.js +39 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-dexie.js.map +1 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-instance-dexie.js +222 -0
- package/dist/esm/plugins/storage-dexie/rx-storage-instance-dexie.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-helpers.js +6 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-query.js +90 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-query.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-types.js +3 -0
- package/dist/esm/plugins/storage-foundationdb/foundationdb-types.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/index.js +31 -0
- package/dist/esm/plugins/storage-foundationdb/index.js.map +1 -0
- package/dist/esm/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js +302 -0
- package/dist/esm/plugins/storage-foundationdb/rx-storage-instance-foundationdb.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/index.js +23 -0
- package/dist/esm/plugins/storage-localstorage/index.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/localstorage-mock.js +33 -0
- package/dist/esm/plugins/storage-localstorage/localstorage-mock.js.map +1 -0
- package/dist/esm/plugins/storage-localstorage/rx-storage-instance-localstorage.js +432 -0
- package/dist/esm/plugins/storage-localstorage/rx-storage-instance-localstorage.js.map +1 -0
- package/dist/esm/plugins/storage-memory/binary-search-bounds.js +103 -0
- package/dist/esm/plugins/storage-memory/binary-search-bounds.js.map +1 -0
- package/dist/esm/plugins/storage-memory/index.js +29 -0
- package/dist/esm/plugins/storage-memory/index.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-helper.js +165 -0
- package/dist/esm/plugins/storage-memory/memory-helper.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-indexes.js +21 -0
- package/dist/esm/plugins/storage-memory/memory-indexes.js.map +1 -0
- package/dist/esm/plugins/storage-memory/memory-types.js +3 -0
- package/dist/esm/plugins/storage-memory/memory-types.js.map +1 -0
- package/dist/esm/plugins/storage-memory/rx-storage-instance-memory.js +364 -0
- package/dist/esm/plugins/storage-memory/rx-storage-instance-memory.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/index.js +5 -0
- package/dist/esm/plugins/storage-mongodb/index.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-helper.js +85 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-helper.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-types.js +3 -0
- package/dist/esm/plugins/storage-mongodb/mongodb-types.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-instance-mongodb.js +316 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-instance-mongodb.js.map +1 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-mongodb.js +22 -0
- package/dist/esm/plugins/storage-mongodb/rx-storage-mongodb.js.map +1 -0
- package/dist/esm/plugins/storage-remote/index.js +6 -0
- package/dist/esm/plugins/storage-remote/index.js.map +1 -0
- package/dist/esm/plugins/storage-remote/message-channel-cache.js +44 -0
- package/dist/esm/plugins/storage-remote/message-channel-cache.js.map +1 -0
- package/dist/esm/plugins/storage-remote/remote.js +212 -0
- package/dist/esm/plugins/storage-remote/remote.js.map +1 -0
- package/dist/esm/plugins/storage-remote/rx-storage-remote.js +193 -0
- package/dist/esm/plugins/storage-remote/rx-storage-remote.js.map +1 -0
- package/dist/esm/plugins/storage-remote/storage-remote-helpers.js +18 -0
- package/dist/esm/plugins/storage-remote/storage-remote-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-remote/storage-remote-types.js +3 -0
- package/dist/esm/plugins/storage-remote/storage-remote-types.js.map +1 -0
- package/dist/esm/plugins/storage-remote-websocket/index.js +161 -0
- package/dist/esm/plugins/storage-remote-websocket/index.js.map +1 -0
- package/dist/esm/plugins/storage-remote-websocket/types.js +3 -0
- package/dist/esm/plugins/storage-remote-websocket/types.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/index.js +31 -0
- package/dist/esm/plugins/storage-sqlite/index.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-basics-helpers.js +510 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-basics-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-helpers.js +187 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-helpers.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-storage-instance.js +283 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-storage-instance.js.map +1 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-types.js +3 -0
- package/dist/esm/plugins/storage-sqlite/sqlite-types.js.map +1 -0
- package/dist/esm/plugins/test-utils/config.js +104 -0
- package/dist/esm/plugins/test-utils/config.js.map +1 -0
- package/dist/esm/plugins/test-utils/humans-collection.js +397 -0
- package/dist/esm/plugins/test-utils/humans-collection.js.map +1 -0
- package/dist/esm/plugins/test-utils/index.js +22 -0
- package/dist/esm/plugins/test-utils/index.js.map +1 -0
- package/dist/esm/plugins/test-utils/performance.js +267 -0
- package/dist/esm/plugins/test-utils/performance.js.map +1 -0
- package/dist/esm/plugins/test-utils/replication-base-test-suite.js +170 -0
- package/dist/esm/plugins/test-utils/replication-base-test-suite.js.map +1 -0
- package/dist/esm/plugins/test-utils/replication.js +46 -0
- package/dist/esm/plugins/test-utils/replication.js.map +1 -0
- package/dist/esm/plugins/test-utils/revisions.js +5 -0
- package/dist/esm/plugins/test-utils/revisions.js.map +1 -0
- package/dist/esm/plugins/test-utils/schema-objects.js +283 -0
- package/dist/esm/plugins/test-utils/schema-objects.js.map +1 -0
- package/dist/esm/plugins/test-utils/schemas.js +1244 -0
- package/dist/esm/plugins/test-utils/schemas.js.map +1 -0
- package/dist/esm/plugins/test-utils/test-util.js +62 -0
- package/dist/esm/plugins/test-utils/test-util.js.map +1 -0
- package/dist/esm/plugins/update/index.js +35 -0
- package/dist/esm/plugins/update/index.js.map +1 -0
- package/dist/esm/plugins/update/mingo-updater.js +13 -0
- package/dist/esm/plugins/update/mingo-updater.js.map +1 -0
- package/dist/esm/plugins/utils/index.js +21 -0
- package/dist/esm/plugins/utils/index.js.map +1 -0
- package/dist/esm/plugins/utils/utils-array.js +130 -0
- package/dist/esm/plugins/utils/utils-array.js.map +1 -0
- package/dist/esm/plugins/utils/utils-base64.js +48 -0
- package/dist/esm/plugins/utils/utils-base64.js.map +1 -0
- package/dist/esm/plugins/utils/utils-blob.js +54 -0
- package/dist/esm/plugins/utils/utils-blob.js.map +1 -0
- package/dist/esm/plugins/utils/utils-document.js +87 -0
- package/dist/esm/plugins/utils/utils-document.js.map +1 -0
- package/dist/esm/plugins/utils/utils-error.js +36 -0
- package/dist/esm/plugins/utils/utils-error.js.map +1 -0
- package/dist/esm/plugins/utils/utils-global.js +6 -0
- package/dist/esm/plugins/utils/utils-global.js.map +1 -0
- package/dist/esm/plugins/utils/utils-hash.js +51 -0
- package/dist/esm/plugins/utils/utils-hash.js.map +1 -0
- package/dist/esm/plugins/utils/utils-map.js +18 -0
- package/dist/esm/plugins/utils/utils-map.js.map +1 -0
- package/dist/esm/plugins/utils/utils-number.js +10 -0
- package/dist/esm/plugins/utils/utils-number.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object-deep-equal.js +36 -0
- package/dist/esm/plugins/utils/utils-object-deep-equal.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object-dot-prop.js +296 -0
- package/dist/esm/plugins/utils/utils-object-dot-prop.js.map +1 -0
- package/dist/esm/plugins/utils/utils-object.js +228 -0
- package/dist/esm/plugins/utils/utils-object.js.map +1 -0
- package/dist/esm/plugins/utils/utils-other.js +58 -0
- package/dist/esm/plugins/utils/utils-other.js.map +1 -0
- package/dist/esm/plugins/utils/utils-premium.js +30 -0
- package/dist/esm/plugins/utils/utils-premium.js.map +1 -0
- package/dist/esm/plugins/utils/utils-promise.js +134 -0
- package/dist/esm/plugins/utils/utils-promise.js.map +1 -0
- package/dist/esm/plugins/utils/utils-regex.js +3 -0
- package/dist/esm/plugins/utils/utils-regex.js.map +1 -0
- package/dist/esm/plugins/utils/utils-revision.js +53 -0
- package/dist/esm/plugins/utils/utils-revision.js.map +1 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.js +5 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.js.map +1 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.template.js +5 -0
- package/dist/esm/plugins/utils/utils-rxdb-version.template.js.map +1 -0
- package/dist/esm/plugins/utils/utils-string.js +83 -0
- package/dist/esm/plugins/utils/utils-string.js.map +1 -0
- package/dist/esm/plugins/utils/utils-time.js +36 -0
- package/dist/esm/plugins/utils/utils-time.js.map +1 -0
- package/dist/esm/plugins/validate-ajv/index.js +43 -0
- package/dist/esm/plugins/validate-ajv/index.js.map +1 -0
- package/dist/esm/plugins/validate-is-my-json-valid/index.js +20 -0
- package/dist/esm/plugins/validate-is-my-json-valid/index.js.map +1 -0
- package/dist/esm/plugins/validate-z-schema/index.js +47 -0
- package/dist/esm/plugins/validate-z-schema/index.js.map +1 -0
- package/dist/esm/plugins/vector/helper.js +2 -0
- package/dist/esm/plugins/vector/helper.js.map +1 -0
- package/dist/esm/plugins/vector/index.js +2 -0
- package/dist/esm/plugins/vector/index.js.map +1 -0
- package/dist/esm/plugins/vector/types.js +3 -0
- package/dist/esm/plugins/vector/types.js.map +1 -0
- package/dist/esm/plugins/vector/vector-distance.js +29 -0
- package/dist/esm/plugins/vector/vector-distance.js.map +1 -0
- package/dist/esm/plugins/webmcp/index.js +3 -0
- package/dist/esm/plugins/webmcp/index.js.map +1 -0
- package/dist/esm/plugins/webmcp/nosql-query-schema.js +354 -0
- package/dist/esm/plugins/webmcp/nosql-query-schema.js.map +1 -0
- package/dist/esm/plugins/webmcp/webmcp.js +307 -0
- package/dist/esm/plugins/webmcp/webmcp.js.map +1 -0
- package/dist/esm/query-cache.js +99 -0
- package/dist/esm/query-cache.js.map +1 -0
- package/dist/esm/query-planner.js +297 -0
- package/dist/esm/query-planner.js.map +1 -0
- package/dist/esm/replication-protocol/checkpoint.js +95 -0
- package/dist/esm/replication-protocol/checkpoint.js.map +1 -0
- package/dist/esm/replication-protocol/conflicts.js +31 -0
- package/dist/esm/replication-protocol/conflicts.js.map +1 -0
- package/dist/esm/replication-protocol/default-conflict-handler.js +33 -0
- package/dist/esm/replication-protocol/default-conflict-handler.js.map +1 -0
- package/dist/esm/replication-protocol/downstream.js +334 -0
- package/dist/esm/replication-protocol/downstream.js.map +1 -0
- package/dist/esm/replication-protocol/helper.js +49 -0
- package/dist/esm/replication-protocol/helper.js.map +1 -0
- package/dist/esm/replication-protocol/index.js +221 -0
- package/dist/esm/replication-protocol/index.js.map +1 -0
- package/dist/esm/replication-protocol/meta-instance.js +121 -0
- package/dist/esm/replication-protocol/meta-instance.js.map +1 -0
- package/dist/esm/replication-protocol/upstream.js +379 -0
- package/dist/esm/replication-protocol/upstream.js.map +1 -0
- package/dist/esm/rx-change-event.js +103 -0
- package/dist/esm/rx-change-event.js.map +1 -0
- package/dist/esm/rx-collection-helper.js +196 -0
- package/dist/esm/rx-collection-helper.js.map +1 -0
- package/dist/esm/rx-collection.js +923 -0
- package/dist/esm/rx-collection.js.map +1 -0
- package/dist/esm/rx-database-internal-store.js +270 -0
- package/dist/esm/rx-database-internal-store.js.map +1 -0
- package/dist/esm/rx-database.js +670 -0
- package/dist/esm/rx-database.js.map +1 -0
- package/dist/esm/rx-document-prototype-merge.js +78 -0
- package/dist/esm/rx-document-prototype-merge.js.map +1 -0
- package/dist/esm/rx-document.js +394 -0
- package/dist/esm/rx-document.js.map +1 -0
- package/dist/esm/rx-error.js +153 -0
- package/dist/esm/rx-error.js.map +1 -0
- package/dist/esm/rx-query-helper.js +268 -0
- package/dist/esm/rx-query-helper.js.map +1 -0
- package/dist/esm/rx-query-mingo.js +54 -0
- package/dist/esm/rx-query-mingo.js.map +1 -0
- package/dist/esm/rx-query-single-result.js +98 -0
- package/dist/esm/rx-query-single-result.js.map +1 -0
- package/dist/esm/rx-query.js +690 -0
- package/dist/esm/rx-query.js.map +1 -0
- package/dist/esm/rx-schema-helper.js +316 -0
- package/dist/esm/rx-schema-helper.js.map +1 -0
- package/dist/esm/rx-schema.js +177 -0
- package/dist/esm/rx-schema.js.map +1 -0
- package/dist/esm/rx-storage-helper.js +785 -0
- package/dist/esm/rx-storage-helper.js.map +1 -0
- package/dist/esm/rx-storage-multiinstance.js +113 -0
- package/dist/esm/rx-storage-multiinstance.js.map +1 -0
- package/dist/esm/types/conflict-handling.d.js +3 -0
- package/dist/esm/types/conflict-handling.d.js.map +1 -0
- package/dist/esm/types/couchdb.d.js +3 -0
- package/dist/esm/types/couchdb.d.js.map +1 -0
- package/dist/esm/types/index.d.js +2 -0
- package/dist/esm/types/index.d.js.map +1 -0
- package/dist/esm/types/modules/index.d.js +2 -0
- package/dist/esm/types/modules/index.d.js.map +1 -0
- package/dist/esm/types/modules/mocha.parallel.d.js +2 -0
- package/dist/esm/types/modules/mocha.parallel.d.js.map +1 -0
- package/dist/esm/types/plugins/backup.d.js +3 -0
- package/dist/esm/types/plugins/backup.d.js.map +1 -0
- package/dist/esm/types/plugins/cleanup.d.js +3 -0
- package/dist/esm/types/plugins/cleanup.d.js.map +1 -0
- package/dist/esm/types/plugins/crdt.d.js +3 -0
- package/dist/esm/types/plugins/crdt.d.js.map +1 -0
- package/dist/esm/types/plugins/dexie.d.js +3 -0
- package/dist/esm/types/plugins/dexie.d.js.map +1 -0
- package/dist/esm/types/plugins/local-documents.d.js +3 -0
- package/dist/esm/types/plugins/local-documents.d.js.map +1 -0
- package/dist/esm/types/plugins/migration.d.js +3 -0
- package/dist/esm/types/plugins/migration.d.js.map +1 -0
- package/dist/esm/types/plugins/reactivity.d.js +3 -0
- package/dist/esm/types/plugins/reactivity.d.js.map +1 -0
- package/dist/esm/types/plugins/replication-graphql.d.js +3 -0
- package/dist/esm/types/plugins/replication-graphql.d.js.map +1 -0
- package/dist/esm/types/plugins/replication.d.js +3 -0
- package/dist/esm/types/plugins/replication.d.js.map +1 -0
- package/dist/esm/types/plugins/state.d.js +3 -0
- package/dist/esm/types/plugins/state.d.js.map +1 -0
- package/dist/esm/types/plugins/update.d.js +3 -0
- package/dist/esm/types/plugins/update.d.js.map +1 -0
- package/dist/esm/types/plugins/webmcp.d.js +3 -0
- package/dist/esm/types/plugins/webmcp.d.js.map +1 -0
- package/dist/esm/types/query-planner.d.js +3 -0
- package/dist/esm/types/query-planner.d.js.map +1 -0
- package/dist/esm/types/replication-protocol.d.js +3 -0
- package/dist/esm/types/replication-protocol.d.js.map +1 -0
- package/dist/esm/types/rx-attachment.d.js +3 -0
- package/dist/esm/types/rx-attachment.d.js.map +1 -0
- package/dist/esm/types/rx-change-event.d.js +3 -0
- package/dist/esm/types/rx-change-event.d.js.map +1 -0
- package/dist/esm/types/rx-collection.d.js +3 -0
- package/dist/esm/types/rx-collection.d.js.map +1 -0
- package/dist/esm/types/rx-database-internal-store.d.js +3 -0
- package/dist/esm/types/rx-database-internal-store.d.js.map +1 -0
- package/dist/esm/types/rx-database.d.js +3 -0
- package/dist/esm/types/rx-database.d.js.map +1 -0
- package/dist/esm/types/rx-document.d.js +3 -0
- package/dist/esm/types/rx-document.d.js.map +1 -0
- package/dist/esm/types/rx-error.d.js +3 -0
- package/dist/esm/types/rx-error.d.js.map +1 -0
- package/dist/esm/types/rx-plugin.d.js +3 -0
- package/dist/esm/types/rx-plugin.d.js.map +1 -0
- package/dist/esm/types/rx-query.d.js +3 -0
- package/dist/esm/types/rx-query.d.js.map +1 -0
- package/dist/esm/types/rx-schema.d.js +3 -0
- package/dist/esm/types/rx-schema.d.js.map +1 -0
- package/dist/esm/types/rx-storage.d.js +3 -0
- package/dist/esm/types/rx-storage.d.js.map +1 -0
- package/dist/esm/types/rx-storage.interface.d.js +3 -0
- package/dist/esm/types/rx-storage.interface.d.js.map +1 -0
- package/dist/esm/types/util.d.js +3 -0
- package/dist/esm/types/util.d.js.map +1 -0
- package/dist/types/change-event-buffer.d.ts +50 -0
- package/dist/types/custom-index.d.ts +58 -0
- package/dist/types/doc-cache.d.ts +96 -0
- package/dist/types/event-reduce.d.ts +15 -0
- package/dist/types/hooks.d.ts +109 -0
- package/dist/types/incremental-write.d.ts +29 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/overwritable.d.ts +26 -0
- package/dist/types/plugin-helpers.d.ts +30 -0
- package/dist/types/plugin.d.ts +6 -0
- package/dist/types/plugins/attachments/attachments-utils.d.ts +10 -0
- package/dist/types/plugins/attachments/index.d.ts +42 -0
- package/dist/types/plugins/attachments-compression/index.d.ts +38 -0
- package/dist/types/plugins/backup/file-util.d.ts +17 -0
- package/dist/types/plugins/backup/index.d.ts +37 -0
- package/dist/types/plugins/cleanup/cleanup-helper.d.ts +2 -0
- package/dist/types/plugins/cleanup/cleanup-state.d.ts +7 -0
- package/dist/types/plugins/cleanup/cleanup.d.ts +8 -0
- package/dist/types/plugins/cleanup/index.d.ts +4 -0
- package/dist/types/plugins/crdt/index.d.ts +12 -0
- package/dist/types/plugins/dev-mode/check-document.d.ts +9 -0
- package/dist/types/plugins/dev-mode/check-migration-strategies.d.ts +6 -0
- package/dist/types/plugins/dev-mode/check-orm.d.ts +7 -0
- package/dist/types/plugins/dev-mode/check-query.d.ts +21 -0
- package/dist/types/plugins/dev-mode/check-schema.d.ts +18 -0
- package/dist/types/plugins/dev-mode/dev-mode-tracking.d.ts +4 -0
- package/dist/types/plugins/dev-mode/entity-properties.d.ts +3 -0
- package/dist/types/plugins/dev-mode/error-messages.d.ts +1230 -0
- package/dist/types/plugins/dev-mode/index.d.ts +19 -0
- package/dist/types/plugins/dev-mode/unallowed-properties.d.ts +20 -0
- package/dist/types/plugins/electron/electron-helper.d.ts +2 -0
- package/dist/types/plugins/electron/index.d.ts +3 -0
- package/dist/types/plugins/electron/rx-storage-ipc-main.d.ts +10 -0
- package/dist/types/plugins/electron/rx-storage-ipc-renderer.d.ts +13 -0
- package/dist/types/plugins/encryption-crypto-js/index.d.ts +10 -0
- package/dist/types/plugins/flutter/index.d.ts +11 -0
- package/dist/types/plugins/json-dump/index.d.ts +2 -0
- package/dist/types/plugins/key-compression/index.d.ts +18 -0
- package/dist/types/plugins/leader-election/index.d.ts +25 -0
- package/dist/types/plugins/local-documents/index.d.ts +6 -0
- package/dist/types/plugins/local-documents/local-documents-helper.d.ts +9 -0
- package/dist/types/plugins/local-documents/local-documents.d.ts +14 -0
- package/dist/types/plugins/local-documents/rx-local-document.d.ts +11 -0
- package/dist/types/plugins/migration-schema/index.d.ts +8 -0
- package/dist/types/plugins/migration-schema/migration-helpers.d.ts +29 -0
- package/dist/types/plugins/migration-schema/migration-types.d.ts +33 -0
- package/dist/types/plugins/migration-schema/rx-migration-state.d.ts +50 -0
- package/dist/types/plugins/migration-storage/index.d.ts +32 -0
- package/dist/types/plugins/pipeline/flagged-functions.d.ts +69 -0
- package/dist/types/plugins/pipeline/index.d.ts +5 -0
- package/dist/types/plugins/pipeline/rx-pipeline.d.ts +37 -0
- package/dist/types/plugins/pipeline/types.d.ts +17 -0
- package/dist/types/plugins/query-builder/index.d.ts +5 -0
- package/dist/types/plugins/query-builder/mquery/mquery-utils.d.ts +12 -0
- package/dist/types/plugins/query-builder/mquery/nosql-query-builder.d.ts +165 -0
- package/dist/types/plugins/react/database-context.d.ts +4 -0
- package/dist/types/plugins/react/database-provider.d.ts +24 -0
- package/dist/types/plugins/react/hooks/index.d.ts +4 -0
- package/dist/types/plugins/react/hooks/use-live-rx-query.d.ts +11 -0
- package/dist/types/plugins/react/hooks/use-rx-collection.d.ts +10 -0
- package/dist/types/plugins/react/hooks/use-rx-database.d.ts +9 -0
- package/dist/types/plugins/react/hooks/use-rx-query.d.ts +24 -0
- package/dist/types/plugins/react/index.d.ts +2 -0
- package/dist/types/plugins/reactivity-angular/index.d.ts +16 -0
- package/dist/types/plugins/reactivity-preact-signals/index.d.ts +27 -0
- package/dist/types/plugins/reactivity-vue/index.d.ts +17 -0
- package/dist/types/plugins/replication/index.d.ts +84 -0
- package/dist/types/plugins/replication/replication-helper.d.ts +23 -0
- package/dist/types/plugins/replication-appwrite/appwrite-helpers.d.ts +3 -0
- package/dist/types/plugins/replication-appwrite/appwrite-types.d.ts +16 -0
- package/dist/types/plugins/replication-appwrite/index.d.ts +14 -0
- package/dist/types/plugins/replication-couchdb/couchdb-helper.d.ts +19 -0
- package/dist/types/plugins/replication-couchdb/couchdb-types.d.ts +22 -0
- package/dist/types/plugins/replication-couchdb/index.d.ts +18 -0
- package/dist/types/plugins/replication-firestore/firestore-helper.d.ts +10 -0
- package/dist/types/plugins/replication-firestore/firestore-types.d.ts +46 -0
- package/dist/types/plugins/replication-firestore/index.d.ts +17 -0
- package/dist/types/plugins/replication-google-drive/document-handling.d.ts +13 -0
- package/dist/types/plugins/replication-google-drive/downstream.d.ts +10 -0
- package/dist/types/plugins/replication-google-drive/google-drive-helper.d.ts +35 -0
- package/dist/types/plugins/replication-google-drive/google-drive-types.d.ts +67 -0
- package/dist/types/plugins/replication-google-drive/index.d.ts +39 -0
- package/dist/types/plugins/replication-google-drive/init.d.ts +29 -0
- package/dist/types/plugins/replication-google-drive/multipart.d.ts +10 -0
- package/dist/types/plugins/replication-google-drive/signaling.d.ts +41 -0
- package/dist/types/plugins/replication-google-drive/transaction.d.ts +22 -0
- package/dist/types/plugins/replication-google-drive/upstream.d.ts +24 -0
- package/dist/types/plugins/replication-graphql/graphql-schema-from-rx-schema.d.ts +51 -0
- package/dist/types/plugins/replication-graphql/graphql-websocket.d.ts +12 -0
- package/dist/types/plugins/replication-graphql/helper.d.ts +15 -0
- package/dist/types/plugins/replication-graphql/index.d.ts +26 -0
- package/dist/types/plugins/replication-graphql/query-builder-from-rx-schema.d.ts +5 -0
- package/dist/types/plugins/replication-microsoft-onedrive/document-handling.d.ts +14 -0
- package/dist/types/plugins/replication-microsoft-onedrive/downstream.d.ts +10 -0
- package/dist/types/plugins/replication-microsoft-onedrive/index.d.ts +38 -0
- package/dist/types/plugins/replication-microsoft-onedrive/init.d.ts +29 -0
- package/dist/types/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.d.ts +30 -0
- package/dist/types/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.d.ts +71 -0
- package/dist/types/plugins/replication-microsoft-onedrive/signaling.d.ts +41 -0
- package/dist/types/plugins/replication-microsoft-onedrive/transaction.d.ts +22 -0
- package/dist/types/plugins/replication-microsoft-onedrive/upstream.d.ts +25 -0
- package/dist/types/plugins/replication-mongodb/index.d.ts +22 -0
- package/dist/types/plugins/replication-mongodb/mongodb-checkpoint.d.ts +15 -0
- package/dist/types/plugins/replication-mongodb/mongodb-helper.d.ts +13 -0
- package/dist/types/plugins/replication-mongodb/mongodb-types.d.ts +33 -0
- package/dist/types/plugins/replication-nats/index.d.ts +16 -0
- package/dist/types/plugins/replication-nats/nats-helper.d.ts +2 -0
- package/dist/types/plugins/replication-nats/nats-types.d.ts +21 -0
- package/dist/types/plugins/replication-supabase/helper.d.ts +5 -0
- package/dist/types/plugins/replication-supabase/index.d.ts +14 -0
- package/dist/types/plugins/replication-supabase/types.d.ts +28 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-p2pcf.d.ts +0 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-simple-peer.d.ts +57 -0
- package/dist/types/plugins/replication-webrtc/connection-handler-webtorrent.d.ts +0 -0
- package/dist/types/plugins/replication-webrtc/index.d.ts +27 -0
- package/dist/types/plugins/replication-webrtc/signaling-server.d.ts +17 -0
- package/dist/types/plugins/replication-webrtc/webrtc-helper.d.ts +16 -0
- package/dist/types/plugins/replication-webrtc/webrtc-types.d.ts +51 -0
- package/dist/types/plugins/replication-websocket/index.d.ts +3 -0
- package/dist/types/plugins/replication-websocket/websocket-client.d.ts +13 -0
- package/dist/types/plugins/replication-websocket/websocket-server.d.ts +6 -0
- package/dist/types/plugins/replication-websocket/websocket-types.d.ts +32 -0
- package/dist/types/plugins/state/helpers.d.ts +10 -0
- package/dist/types/plugins/state/index.d.ts +4 -0
- package/dist/types/plugins/state/rx-state.d.ts +46 -0
- package/dist/types/plugins/state/types.d.ts +28 -0
- package/dist/types/plugins/storage-denokv/denokv-helper.d.ts +16 -0
- package/dist/types/plugins/storage-denokv/denokv-query.d.ts +3 -0
- package/dist/types/plugins/storage-denokv/denokv-types.d.ts +17 -0
- package/dist/types/plugins/storage-denokv/index.d.ts +11 -0
- package/dist/types/plugins/storage-denokv/rx-storage-instance-denokv.d.ts +41 -0
- package/dist/types/plugins/storage-dexie/dexie-helper.d.ts +40 -0
- package/dist/types/plugins/storage-dexie/dexie-query.d.ts +9 -0
- package/dist/types/plugins/storage-dexie/index.d.ts +4 -0
- package/dist/types/plugins/storage-dexie/rx-storage-dexie.d.ts +11 -0
- package/dist/types/plugins/storage-dexie/rx-storage-instance-dexie.d.ts +29 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-helpers.d.ts +3 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-query.d.ts +3 -0
- package/dist/types/plugins/storage-foundationdb/foundationdb-types.d.ts +46 -0
- package/dist/types/plugins/storage-foundationdb/index.d.ts +4 -0
- package/dist/types/plugins/storage-foundationdb/rx-storage-instance-foundationdb.d.ts +26 -0
- package/dist/types/plugins/storage-localstorage/index.d.ts +11 -0
- package/dist/types/plugins/storage-localstorage/localstorage-mock.d.ts +1 -0
- package/dist/types/plugins/storage-localstorage/rx-storage-instance-localstorage.d.ts +84 -0
- package/dist/types/plugins/storage-memory/binary-search-bounds.d.ts +14 -0
- package/dist/types/plugins/storage-memory/index.d.ts +7 -0
- package/dist/types/plugins/storage-memory/memory-helper.d.ts +22 -0
- package/dist/types/plugins/storage-memory/memory-indexes.d.ts +4 -0
- package/dist/types/plugins/storage-memory/memory-types.d.ts +72 -0
- package/dist/types/plugins/storage-memory/rx-storage-instance-memory.d.ts +47 -0
- package/dist/types/plugins/storage-mongodb/index.d.ts +4 -0
- package/dist/types/plugins/storage-mongodb/mongodb-helper.d.ts +22 -0
- package/dist/types/plugins/storage-mongodb/mongodb-types.d.ts +21 -0
- package/dist/types/plugins/storage-mongodb/rx-storage-instance-mongodb.d.ts +52 -0
- package/dist/types/plugins/storage-mongodb/rx-storage-mongodb.d.ts +11 -0
- package/dist/types/plugins/storage-remote/index.d.ts +5 -0
- package/dist/types/plugins/storage-remote/message-channel-cache.d.ts +13 -0
- package/dist/types/plugins/storage-remote/remote.d.ts +6 -0
- package/dist/types/plugins/storage-remote/rx-storage-remote.d.ts +43 -0
- package/dist/types/plugins/storage-remote/storage-remote-helpers.d.ts +4 -0
- package/dist/types/plugins/storage-remote/storage-remote-types.d.ts +88 -0
- package/dist/types/plugins/storage-remote-websocket/index.d.ts +4 -0
- package/dist/types/plugins/storage-remote-websocket/types.d.ts +24 -0
- package/dist/types/plugins/storage-sqlite/index.d.ts +15 -0
- package/dist/types/plugins/storage-sqlite/sqlite-basics-helpers.d.ts +53 -0
- package/dist/types/plugins/storage-sqlite/sqlite-helpers.d.ts +48 -0
- package/dist/types/plugins/storage-sqlite/sqlite-storage-instance.d.ts +38 -0
- package/dist/types/plugins/storage-sqlite/sqlite-types.d.ts +116 -0
- package/dist/types/plugins/test-utils/config.d.ts +16 -0
- package/dist/types/plugins/test-utils/humans-collection.d.ts +26 -0
- package/dist/types/plugins/test-utils/index.d.ts +20 -0
- package/dist/types/plugins/test-utils/performance.d.ts +68 -0
- package/dist/types/plugins/test-utils/replication-base-test-suite.d.ts +66 -0
- package/dist/types/plugins/test-utils/replication.d.ts +10 -0
- package/dist/types/plugins/test-utils/revisions.d.ts +4 -0
- package/dist/types/plugins/test-utils/schema-objects.d.ts +219 -0
- package/dist/types/plugins/test-utils/schemas.d.ts +356 -0
- package/dist/types/plugins/test-utils/test-util.d.ts +10 -0
- package/dist/types/plugins/update/index.d.ts +5 -0
- package/dist/types/plugins/update/mingo-updater.d.ts +2 -0
- package/dist/types/plugins/utils/index.d.ts +20 -0
- package/dist/types/plugins/utils/utils-array.d.ts +40 -0
- package/dist/types/plugins/utils/utils-base64.d.ts +15 -0
- package/dist/types/plugins/utils/utils-blob.d.ts +12 -0
- package/dist/types/plugins/utils/utils-document.d.ts +26 -0
- package/dist/types/plugins/utils/utils-error.d.ts +8 -0
- package/dist/types/plugins/utils/utils-global.d.ts +5 -0
- package/dist/types/plugins/utils/utils-hash.d.ts +4 -0
- package/dist/types/plugins/utils/utils-map.d.ts +2 -0
- package/dist/types/plugins/utils/utils-number.d.ts +7 -0
- package/dist/types/plugins/utils/utils-object-deep-equal.d.ts +7 -0
- package/dist/types/plugins/utils/utils-object-dot-prop.d.ts +14 -0
- package/dist/types/plugins/utils/utils-object.d.ts +61 -0
- package/dist/types/plugins/utils/utils-other.d.ts +20 -0
- package/dist/types/plugins/utils/utils-premium.d.ts +10 -0
- package/dist/types/plugins/utils/utils-promise.d.ts +43 -0
- package/dist/types/plugins/utils/utils-regex.d.ts +2 -0
- package/dist/types/plugins/utils/utils-revision.d.ts +22 -0
- package/dist/types/plugins/utils/utils-rxdb-version.d.ts +4 -0
- package/dist/types/plugins/utils/utils-rxdb-version.template.d.ts +4 -0
- package/dist/types/plugins/utils/utils-string.d.ts +35 -0
- package/dist/types/plugins/utils/utils-time.d.ts +5 -0
- package/dist/types/plugins/validate-ajv/index.d.ts +13 -0
- package/dist/types/plugins/validate-is-my-json-valid/index.d.ts +5 -0
- package/dist/types/plugins/validate-z-schema/index.d.ts +13 -0
- package/dist/types/plugins/vector/helper.d.ts +0 -0
- package/dist/types/plugins/vector/index.d.ts +2 -0
- package/dist/types/plugins/vector/types.d.ts +1 -0
- package/dist/types/plugins/vector/vector-distance.d.ts +13 -0
- package/dist/types/plugins/webmcp/index.d.ts +2 -0
- package/dist/types/plugins/webmcp/nosql-query-schema.d.ts +549 -0
- package/dist/types/plugins/webmcp/webmcp.d.ts +12 -0
- package/dist/types/query-cache.d.ts +35 -0
- package/dist/types/query-planner.d.ts +30 -0
- package/dist/types/replication-protocol/checkpoint.d.ts +8 -0
- package/dist/types/replication-protocol/conflicts.d.ts +10 -0
- package/dist/types/replication-protocol/default-conflict-handler.d.ts +2 -0
- package/dist/types/replication-protocol/downstream.d.ts +10 -0
- package/dist/types/replication-protocol/helper.d.ts +5 -0
- package/dist/types/replication-protocol/index.d.ts +30 -0
- package/dist/types/replication-protocol/meta-instance.d.ts +12 -0
- package/dist/types/replication-protocol/upstream.d.ts +10 -0
- package/dist/types/rx-change-event.d.ts +20 -0
- package/dist/types/rx-collection-helper.d.ts +41 -0
- package/dist/types/rx-collection.d.ts +185 -0
- package/dist/types/rx-database-internal-store.d.ts +37 -0
- package/dist/types/rx-database.d.ts +213 -0
- package/dist/types/rx-document-prototype-merge.d.ts +24 -0
- package/dist/types/rx-document.d.ts +274 -0
- package/dist/types/rx-error.d.ts +37 -0
- package/dist/types/rx-query-helper.d.ts +31 -0
- package/dist/types/rx-query-mingo.d.ts +10 -0
- package/dist/types/rx-query-single-result.d.ts +31 -0
- package/dist/types/rx-query.d.ts +153 -0
- package/dist/types/rx-schema-helper.d.ts +57 -0
- package/dist/types/rx-schema.d.ts +43 -0
- package/dist/types/rx-storage-helper.d.ts +111 -0
- package/dist/types/rx-storage-multiinstance.d.ts +51 -0
- package/dist/types/types/conflict-handling.d.ts +48 -0
- package/dist/types/types/couchdb.d.ts +293 -0
- package/dist/types/types/index.d.ts +32 -0
- package/dist/types/types/modules/index.d.ts +0 -0
- package/dist/types/types/modules/mocha.parallel.d.ts +1 -0
- package/dist/types/types/plugins/backup.d.ts +35 -0
- package/dist/types/types/plugins/cleanup.d.ts +38 -0
- package/dist/types/types/plugins/crdt.d.ts +76 -0
- package/dist/types/types/plugins/dexie.d.ts +30 -0
- package/dist/types/types/plugins/local-documents.d.ts +49 -0
- package/dist/types/types/plugins/migration.d.ts +14 -0
- package/dist/types/types/plugins/reactivity.d.ts +40 -0
- package/dist/types/types/plugins/replication-graphql.d.ts +98 -0
- package/dist/types/types/plugins/replication.d.ts +175 -0
- package/dist/types/types/plugins/state.d.ts +4 -0
- package/dist/types/types/plugins/update.d.ts +23 -0
- package/dist/types/types/plugins/webmcp.d.ts +40 -0
- package/dist/types/types/query-planner.d.ts +47 -0
- package/dist/types/types/replication-protocol.d.ts +296 -0
- package/dist/types/types/rx-attachment.d.ts +46 -0
- package/dist/types/types/rx-change-event.d.ts +85 -0
- package/dist/types/types/rx-collection.d.ts +117 -0
- package/dist/types/types/rx-database-internal-store.d.ts +54 -0
- package/dist/types/types/rx-database.d.ts +124 -0
- package/dist/types/types/rx-document.d.ts +160 -0
- package/dist/types/types/rx-error.d.ts +222 -0
- package/dist/types/types/rx-plugin.d.ts +167 -0
- package/dist/types/types/rx-query.d.ts +144 -0
- package/dist/types/types/rx-schema.d.ts +209 -0
- package/dist/types/types/rx-storage.d.ts +347 -0
- package/dist/types/types/rx-storage.interface.d.ts +312 -0
- package/dist/types/types/util.d.ts +180 -0
- package/eslint.config.mjs +514 -0
- package/package.json +729 -0
- package/plugins/attachments/index.cjs +2 -0
- package/plugins/attachments/index.d.cts +1 -0
- package/plugins/attachments/index.d.mts +1 -0
- package/plugins/attachments/index.mjs +1 -0
- package/plugins/attachments/index.ts +1 -0
- package/plugins/attachments/package.json +18 -0
- package/plugins/attachments-compression/index.cjs +2 -0
- package/plugins/attachments-compression/index.d.cts +1 -0
- package/plugins/attachments-compression/index.d.mts +1 -0
- package/plugins/attachments-compression/index.mjs +1 -0
- package/plugins/attachments-compression/index.ts +1 -0
- package/plugins/attachments-compression/package.json +18 -0
- package/plugins/backup/index.cjs +2 -0
- package/plugins/backup/index.d.cts +1 -0
- package/plugins/backup/index.d.mts +1 -0
- package/plugins/backup/index.mjs +1 -0
- package/plugins/backup/index.ts +1 -0
- package/plugins/backup/package.json +18 -0
- package/plugins/cleanup/index.cjs +2 -0
- package/plugins/cleanup/index.d.cts +1 -0
- package/plugins/cleanup/index.d.mts +1 -0
- package/plugins/cleanup/index.mjs +1 -0
- package/plugins/cleanup/index.ts +1 -0
- package/plugins/cleanup/package.json +18 -0
- package/plugins/core/index.cjs +2 -0
- package/plugins/core/index.d.cts +1 -0
- package/plugins/core/index.d.mts +1 -0
- package/plugins/core/index.mjs +1 -0
- package/plugins/core/index.ts +1 -0
- package/plugins/core/package.json +18 -0
- package/plugins/crdt/index.cjs +2 -0
- package/plugins/crdt/index.d.cts +1 -0
- package/plugins/crdt/index.d.mts +1 -0
- package/plugins/crdt/index.mjs +1 -0
- package/plugins/crdt/index.ts +1 -0
- package/plugins/crdt/package.json +18 -0
- package/plugins/dev-mode/index.cjs +2 -0
- package/plugins/dev-mode/index.d.cts +1 -0
- package/plugins/dev-mode/index.d.mts +1 -0
- package/plugins/dev-mode/index.mjs +1 -0
- package/plugins/dev-mode/index.ts +1 -0
- package/plugins/dev-mode/package.json +18 -0
- package/plugins/electron/index.cjs +2 -0
- package/plugins/electron/index.d.cts +1 -0
- package/plugins/electron/index.d.mts +1 -0
- package/plugins/electron/index.mjs +1 -0
- package/plugins/electron/index.ts +1 -0
- package/plugins/electron/package.json +18 -0
- package/plugins/encryption-crypto-js/index.cjs +2 -0
- package/plugins/encryption-crypto-js/index.d.cts +1 -0
- package/plugins/encryption-crypto-js/index.d.mts +1 -0
- package/plugins/encryption-crypto-js/index.mjs +1 -0
- package/plugins/encryption-crypto-js/index.ts +1 -0
- package/plugins/encryption-crypto-js/package.json +18 -0
- package/plugins/flutter/index.cjs +2 -0
- package/plugins/flutter/index.d.cts +1 -0
- package/plugins/flutter/index.d.mts +1 -0
- package/plugins/flutter/index.mjs +1 -0
- package/plugins/flutter/index.ts +1 -0
- package/plugins/flutter/package.json +18 -0
- package/plugins/json-dump/index.cjs +2 -0
- package/plugins/json-dump/index.d.cts +1 -0
- package/plugins/json-dump/index.d.mts +1 -0
- package/plugins/json-dump/index.mjs +1 -0
- package/plugins/json-dump/index.ts +1 -0
- package/plugins/json-dump/package.json +18 -0
- package/plugins/key-compression/index.cjs +2 -0
- package/plugins/key-compression/index.d.cts +1 -0
- package/plugins/key-compression/index.d.mts +1 -0
- package/plugins/key-compression/index.mjs +1 -0
- package/plugins/key-compression/index.ts +1 -0
- package/plugins/key-compression/package.json +18 -0
- package/plugins/leader-election/index.cjs +2 -0
- package/plugins/leader-election/index.d.cts +1 -0
- package/plugins/leader-election/index.d.mts +1 -0
- package/plugins/leader-election/index.mjs +1 -0
- package/plugins/leader-election/index.ts +1 -0
- package/plugins/leader-election/package.json +18 -0
- package/plugins/local-documents/index.cjs +2 -0
- package/plugins/local-documents/index.d.cts +1 -0
- package/plugins/local-documents/index.d.mts +1 -0
- package/plugins/local-documents/index.mjs +1 -0
- package/plugins/local-documents/index.ts +1 -0
- package/plugins/local-documents/package.json +18 -0
- package/plugins/migration-schema/index.cjs +2 -0
- package/plugins/migration-schema/index.d.cts +1 -0
- package/plugins/migration-schema/index.d.mts +1 -0
- package/plugins/migration-schema/index.mjs +1 -0
- package/plugins/migration-schema/index.ts +1 -0
- package/plugins/migration-schema/package.json +18 -0
- package/plugins/migration-storage/index.cjs +2 -0
- package/plugins/migration-storage/index.d.cts +1 -0
- package/plugins/migration-storage/index.d.mts +1 -0
- package/plugins/migration-storage/index.mjs +1 -0
- package/plugins/migration-storage/index.ts +1 -0
- package/plugins/migration-storage/package.json +18 -0
- package/plugins/pipeline/index.cjs +2 -0
- package/plugins/pipeline/index.d.cts +1 -0
- package/plugins/pipeline/index.d.mts +1 -0
- package/plugins/pipeline/index.mjs +1 -0
- package/plugins/pipeline/index.ts +1 -0
- package/plugins/pipeline/package.json +18 -0
- package/plugins/query-builder/index.cjs +2 -0
- package/plugins/query-builder/index.d.cts +1 -0
- package/plugins/query-builder/index.d.mts +1 -0
- package/plugins/query-builder/index.mjs +1 -0
- package/plugins/query-builder/index.ts +1 -0
- package/plugins/query-builder/package.json +18 -0
- package/plugins/react/index.cjs +2 -0
- package/plugins/react/index.d.cts +1 -0
- package/plugins/react/index.d.mts +1 -0
- package/plugins/react/index.mjs +1 -0
- package/plugins/react/index.ts +1 -0
- package/plugins/react/package.json +18 -0
- package/plugins/reactivity-angular/index.cjs +2 -0
- package/plugins/reactivity-angular/index.d.cts +1 -0
- package/plugins/reactivity-angular/index.d.mts +1 -0
- package/plugins/reactivity-angular/index.mjs +1 -0
- package/plugins/reactivity-angular/index.ts +1 -0
- package/plugins/reactivity-angular/package.json +18 -0
- package/plugins/reactivity-preact-signals/index.cjs +2 -0
- package/plugins/reactivity-preact-signals/index.d.cts +1 -0
- package/plugins/reactivity-preact-signals/index.d.mts +1 -0
- package/plugins/reactivity-preact-signals/index.mjs +1 -0
- package/plugins/reactivity-preact-signals/index.ts +1 -0
- package/plugins/reactivity-preact-signals/package.json +18 -0
- package/plugins/reactivity-vue/index.cjs +2 -0
- package/plugins/reactivity-vue/index.d.cts +1 -0
- package/plugins/reactivity-vue/index.d.mts +1 -0
- package/plugins/reactivity-vue/index.mjs +1 -0
- package/plugins/reactivity-vue/index.ts +1 -0
- package/plugins/reactivity-vue/package.json +18 -0
- package/plugins/replication/index.cjs +2 -0
- package/plugins/replication/index.d.cts +1 -0
- package/plugins/replication/index.d.mts +1 -0
- package/plugins/replication/index.mjs +1 -0
- package/plugins/replication/index.ts +1 -0
- package/plugins/replication/package.json +18 -0
- package/plugins/replication-appwrite/index.cjs +2 -0
- package/plugins/replication-appwrite/index.d.cts +1 -0
- package/plugins/replication-appwrite/index.d.mts +1 -0
- package/plugins/replication-appwrite/index.mjs +1 -0
- package/plugins/replication-appwrite/index.ts +1 -0
- package/plugins/replication-appwrite/package.json +18 -0
- package/plugins/replication-couchdb/index.cjs +2 -0
- package/plugins/replication-couchdb/index.d.cts +1 -0
- package/plugins/replication-couchdb/index.d.mts +1 -0
- package/plugins/replication-couchdb/index.mjs +1 -0
- package/plugins/replication-couchdb/index.ts +1 -0
- package/plugins/replication-couchdb/package.json +18 -0
- package/plugins/replication-firestore/index.cjs +2 -0
- package/plugins/replication-firestore/index.d.cts +1 -0
- package/plugins/replication-firestore/index.d.mts +1 -0
- package/plugins/replication-firestore/index.mjs +1 -0
- package/plugins/replication-firestore/index.ts +1 -0
- package/plugins/replication-firestore/package.json +18 -0
- package/plugins/replication-google-drive/index.cjs +2 -0
- package/plugins/replication-google-drive/index.d.cts +1 -0
- package/plugins/replication-google-drive/index.d.mts +1 -0
- package/plugins/replication-google-drive/index.mjs +1 -0
- package/plugins/replication-google-drive/index.ts +1 -0
- package/plugins/replication-google-drive/package.json +18 -0
- package/plugins/replication-graphql/index.cjs +2 -0
- package/plugins/replication-graphql/index.d.cts +1 -0
- package/plugins/replication-graphql/index.d.mts +1 -0
- package/plugins/replication-graphql/index.mjs +1 -0
- package/plugins/replication-graphql/index.ts +1 -0
- package/plugins/replication-graphql/package.json +18 -0
- package/plugins/replication-microsoft-onedrive/index.cjs +2 -0
- package/plugins/replication-microsoft-onedrive/index.d.cts +1 -0
- package/plugins/replication-microsoft-onedrive/index.d.mts +1 -0
- package/plugins/replication-microsoft-onedrive/index.mjs +1 -0
- package/plugins/replication-microsoft-onedrive/index.ts +1 -0
- package/plugins/replication-microsoft-onedrive/package.json +18 -0
- package/plugins/replication-mongodb/index.cjs +2 -0
- package/plugins/replication-mongodb/index.d.cts +1 -0
- package/plugins/replication-mongodb/index.d.mts +1 -0
- package/plugins/replication-mongodb/index.mjs +1 -0
- package/plugins/replication-mongodb/index.ts +1 -0
- package/plugins/replication-mongodb/package.json +18 -0
- package/plugins/replication-nats/index.cjs +2 -0
- package/plugins/replication-nats/index.d.cts +1 -0
- package/plugins/replication-nats/index.d.mts +1 -0
- package/plugins/replication-nats/index.mjs +1 -0
- package/plugins/replication-nats/index.ts +1 -0
- package/plugins/replication-nats/package.json +18 -0
- package/plugins/replication-supabase/index.cjs +2 -0
- package/plugins/replication-supabase/index.d.cts +1 -0
- package/plugins/replication-supabase/index.d.mts +1 -0
- package/plugins/replication-supabase/index.mjs +1 -0
- package/plugins/replication-supabase/index.ts +1 -0
- package/plugins/replication-supabase/package.json +18 -0
- package/plugins/replication-webrtc/index.cjs +2 -0
- package/plugins/replication-webrtc/index.d.cts +1 -0
- package/plugins/replication-webrtc/index.d.mts +1 -0
- package/plugins/replication-webrtc/index.mjs +1 -0
- package/plugins/replication-webrtc/index.ts +1 -0
- package/plugins/replication-webrtc/package.json +18 -0
- package/plugins/replication-websocket/index.cjs +2 -0
- package/plugins/replication-websocket/index.d.cts +1 -0
- package/plugins/replication-websocket/index.d.mts +1 -0
- package/plugins/replication-websocket/index.mjs +1 -0
- package/plugins/replication-websocket/index.ts +1 -0
- package/plugins/replication-websocket/package.json +18 -0
- package/plugins/state/index.cjs +2 -0
- package/plugins/state/index.d.cts +1 -0
- package/plugins/state/index.d.mts +1 -0
- package/plugins/state/index.mjs +1 -0
- package/plugins/state/index.ts +1 -0
- package/plugins/state/package.json +18 -0
- package/plugins/storage-denokv/index.cjs +2 -0
- package/plugins/storage-denokv/index.d.cts +1 -0
- package/plugins/storage-denokv/index.d.mts +1 -0
- package/plugins/storage-denokv/index.mjs +1 -0
- package/plugins/storage-denokv/index.ts +1 -0
- package/plugins/storage-denokv/package.json +18 -0
- package/plugins/storage-dexie/index.cjs +2 -0
- package/plugins/storage-dexie/index.d.cts +1 -0
- package/plugins/storage-dexie/index.d.mts +1 -0
- package/plugins/storage-dexie/index.mjs +1 -0
- package/plugins/storage-dexie/index.ts +1 -0
- package/plugins/storage-dexie/package.json +18 -0
- package/plugins/storage-foundationdb/index.cjs +2 -0
- package/plugins/storage-foundationdb/index.d.cts +1 -0
- package/plugins/storage-foundationdb/index.d.mts +1 -0
- package/plugins/storage-foundationdb/index.mjs +1 -0
- package/plugins/storage-foundationdb/index.ts +1 -0
- package/plugins/storage-foundationdb/package.json +18 -0
- package/plugins/storage-localstorage/index.cjs +2 -0
- package/plugins/storage-localstorage/index.d.cts +1 -0
- package/plugins/storage-localstorage/index.d.mts +1 -0
- package/plugins/storage-localstorage/index.mjs +1 -0
- package/plugins/storage-localstorage/index.ts +1 -0
- package/plugins/storage-localstorage/package.json +18 -0
- package/plugins/storage-memory/index.cjs +2 -0
- package/plugins/storage-memory/index.d.cts +1 -0
- package/plugins/storage-memory/index.d.mts +1 -0
- package/plugins/storage-memory/index.mjs +1 -0
- package/plugins/storage-memory/index.ts +1 -0
- package/plugins/storage-memory/package.json +18 -0
- package/plugins/storage-mongodb/index.cjs +2 -0
- package/plugins/storage-mongodb/index.d.cts +1 -0
- package/plugins/storage-mongodb/index.d.mts +1 -0
- package/plugins/storage-mongodb/index.mjs +1 -0
- package/plugins/storage-mongodb/index.ts +1 -0
- package/plugins/storage-mongodb/package.json +18 -0
- package/plugins/storage-remote/index.cjs +2 -0
- package/plugins/storage-remote/index.d.cts +1 -0
- package/plugins/storage-remote/index.d.mts +1 -0
- package/plugins/storage-remote/index.mjs +1 -0
- package/plugins/storage-remote/index.ts +1 -0
- package/plugins/storage-remote/package.json +18 -0
- package/plugins/storage-remote-websocket/index.cjs +2 -0
- package/plugins/storage-remote-websocket/index.d.cts +1 -0
- package/plugins/storage-remote-websocket/index.d.mts +1 -0
- package/plugins/storage-remote-websocket/index.mjs +1 -0
- package/plugins/storage-remote-websocket/index.ts +1 -0
- package/plugins/storage-remote-websocket/package.json +18 -0
- package/plugins/storage-sqlite/index.cjs +2 -0
- package/plugins/storage-sqlite/index.d.cts +1 -0
- package/plugins/storage-sqlite/index.d.mts +1 -0
- package/plugins/storage-sqlite/index.mjs +1 -0
- package/plugins/storage-sqlite/index.ts +1 -0
- package/plugins/storage-sqlite/package.json +18 -0
- package/plugins/test-utils/index.cjs +2 -0
- package/plugins/test-utils/index.d.cts +1 -0
- package/plugins/test-utils/index.d.mts +1 -0
- package/plugins/test-utils/index.mjs +1 -0
- package/plugins/test-utils/index.ts +1 -0
- package/plugins/test-utils/package.json +18 -0
- package/plugins/update/index.cjs +2 -0
- package/plugins/update/index.d.cts +1 -0
- package/plugins/update/index.d.mts +1 -0
- package/plugins/update/index.mjs +1 -0
- package/plugins/update/index.ts +1 -0
- package/plugins/update/package.json +18 -0
- package/plugins/utils/index.cjs +2 -0
- package/plugins/utils/index.d.cts +1 -0
- package/plugins/utils/index.d.mts +1 -0
- package/plugins/utils/index.mjs +1 -0
- package/plugins/utils/index.ts +1 -0
- package/plugins/utils/package.json +18 -0
- package/plugins/validate-ajv/index.cjs +2 -0
- package/plugins/validate-ajv/index.d.cts +1 -0
- package/plugins/validate-ajv/index.d.mts +1 -0
- package/plugins/validate-ajv/index.mjs +1 -0
- package/plugins/validate-ajv/index.ts +1 -0
- package/plugins/validate-ajv/package.json +18 -0
- package/plugins/validate-is-my-json-valid/index.cjs +2 -0
- package/plugins/validate-is-my-json-valid/index.d.cts +1 -0
- package/plugins/validate-is-my-json-valid/index.d.mts +1 -0
- package/plugins/validate-is-my-json-valid/index.mjs +1 -0
- package/plugins/validate-is-my-json-valid/index.ts +1 -0
- package/plugins/validate-is-my-json-valid/package.json +18 -0
- package/plugins/validate-z-schema/index.cjs +2 -0
- package/plugins/validate-z-schema/index.d.cts +1 -0
- package/plugins/validate-z-schema/index.d.mts +1 -0
- package/plugins/validate-z-schema/index.mjs +1 -0
- package/plugins/validate-z-schema/index.ts +1 -0
- package/plugins/validate-z-schema/package.json +18 -0
- package/plugins/vector/index.cjs +2 -0
- package/plugins/vector/index.d.cts +1 -0
- package/plugins/vector/index.d.mts +1 -0
- package/plugins/vector/index.mjs +1 -0
- package/plugins/vector/index.ts +1 -0
- package/plugins/vector/package.json +18 -0
- package/plugins/webmcp/index.cjs +2 -0
- package/plugins/webmcp/index.d.cts +1 -0
- package/plugins/webmcp/index.d.mts +1 -0
- package/plugins/webmcp/index.mjs +1 -0
- package/plugins/webmcp/index.ts +1 -0
- package/plugins/webmcp/package.json +18 -0
- package/scripts/acme-challenge/.gittouch +0 -0
- package/scripts/ai-context-generator.mjs +63 -0
- package/scripts/cloud-signaling-script.sh +6 -0
- package/scripts/docs-remove-time.mjs +55 -0
- package/scripts/fix-types.mjs +23 -0
- package/scripts/generate-all-headers.ts +102 -0
- package/scripts/generate-error-messages.mjs +41 -0
- package/scripts/generate-header.ts +226 -0
- package/scripts/generate-plugins-package-json.mjs +133 -0
- package/scripts/install-foundationdb.sh +14 -0
- package/scripts/module_package.json +1 -0
- package/scripts/module_package_no_side.json +1 -0
- package/scripts/postinstall.js +33 -0
- package/scripts/profile.mjs +31 -0
- package/scripts/set-version.mjs +162 -0
- package/scripts/start-cloud-signaling-server.mjs +120 -0
- package/scripts/transpile.mjs +229 -0
- package/scripts/update-version-variable.mjs +49 -0
- package/src/change-event-buffer.ts +171 -0
- package/src/custom-index.ts +376 -0
- package/src/doc-cache.ts +294 -0
- package/src/event-reduce.ts +159 -0
- package/src/hooks.ts +128 -0
- package/src/incremental-write.ts +227 -0
- package/src/index.ts +30 -0
- package/src/overwritable.ts +41 -0
- package/src/plugin-helpers.ts +319 -0
- package/src/plugin.ts +113 -0
- package/src/plugins/attachments/attachments-utils.ts +84 -0
- package/src/plugins/attachments/index.ts +316 -0
- package/src/plugins/attachments-compression/index.ts +221 -0
- package/src/plugins/backup/file-util.ts +132 -0
- package/src/plugins/backup/index.ts +281 -0
- package/src/plugins/cleanup/cleanup-helper.ts +11 -0
- package/src/plugins/cleanup/cleanup-state.ts +92 -0
- package/src/plugins/cleanup/cleanup.ts +140 -0
- package/src/plugins/cleanup/index.ts +45 -0
- package/src/plugins/crdt/index.ts +505 -0
- package/src/plugins/dev-mode/check-document.ts +176 -0
- package/src/plugins/dev-mode/check-migration-strategies.ts +53 -0
- package/src/plugins/dev-mode/check-orm.ts +65 -0
- package/src/plugins/dev-mode/check-query.ts +231 -0
- package/src/plugins/dev-mode/check-schema.ts +564 -0
- package/src/plugins/dev-mode/dev-mode-tracking.ts +125 -0
- package/src/plugins/dev-mode/entity-properties.ts +56 -0
- package/src/plugins/dev-mode/error-messages.ts +1331 -0
- package/src/plugins/dev-mode/index.ts +203 -0
- package/src/plugins/dev-mode/unallowed-properties.ts +96 -0
- package/src/plugins/electron/electron-helper.ts +2 -0
- package/src/plugins/electron/index.ts +3 -0
- package/src/plugins/electron/rx-storage-ipc-main.ts +58 -0
- package/src/plugins/electron/rx-storage-ipc-renderer.ts +62 -0
- package/src/plugins/encryption-crypto-js/index.ts +220 -0
- package/src/plugins/flutter/dart/analysis_options.yaml +30 -0
- package/src/plugins/flutter/dart/example/rxdb_example.dart +6 -0
- package/src/plugins/flutter/dart/lib/rxdb.dart +7 -0
- package/src/plugins/flutter/dart/lib/src/rxdb_base.dart +332 -0
- package/src/plugins/flutter/dart/pubspec.yaml +15 -0
- package/src/plugins/flutter/index.ts +65 -0
- package/src/plugins/json-dump/index.ts +146 -0
- package/src/plugins/key-compression/index.ts +238 -0
- package/src/plugins/leader-election/index.ts +129 -0
- package/src/plugins/local-documents/index.ts +95 -0
- package/src/plugins/local-documents/local-documents-helper.ts +103 -0
- package/src/plugins/local-documents/local-documents.ts +146 -0
- package/src/plugins/local-documents/rx-local-document.ts +388 -0
- package/src/plugins/migration-schema/index.ts +75 -0
- package/src/plugins/migration-schema/migration-helpers.ts +162 -0
- package/src/plugins/migration-schema/migration-types.ts +42 -0
- package/src/plugins/migration-schema/rx-migration-state.ts +632 -0
- package/src/plugins/migration-storage/index.ts +255 -0
- package/src/plugins/pipeline/flagged-functions.ts +131 -0
- package/src/plugins/pipeline/index.ts +18 -0
- package/src/plugins/pipeline/rx-pipeline.ts +303 -0
- package/src/plugins/pipeline/types.ts +28 -0
- package/src/plugins/query-builder/index.ts +81 -0
- package/src/plugins/query-builder/mquery/README.md +5 -0
- package/src/plugins/query-builder/mquery/mquery-utils.ts +37 -0
- package/src/plugins/query-builder/mquery/nosql-query-builder.ts +578 -0
- package/src/plugins/react/database-context.ts +10 -0
- package/src/plugins/react/database-provider.tsx +38 -0
- package/src/plugins/react/hooks/index.ts +4 -0
- package/src/plugins/react/hooks/use-live-rx-query.ts +34 -0
- package/src/plugins/react/hooks/use-rx-collection.ts +73 -0
- package/src/plugins/react/hooks/use-rx-database.ts +35 -0
- package/src/plugins/react/hooks/use-rx-query.ts +168 -0
- package/src/plugins/react/index.ts +2 -0
- package/src/plugins/reactivity-angular/index.ts +32 -0
- package/src/plugins/reactivity-preact-signals/index.ts +85 -0
- package/src/plugins/reactivity-vue/index.ts +43 -0
- package/src/plugins/replication/index.ts +668 -0
- package/src/plugins/replication/replication-helper.ts +122 -0
- package/src/plugins/replication-appwrite/appwrite-helpers.ts +38 -0
- package/src/plugins/replication-appwrite/appwrite-types.ts +31 -0
- package/src/plugins/replication-appwrite/index.ts +269 -0
- package/src/plugins/replication-couchdb/couchdb-helper.ts +100 -0
- package/src/plugins/replication-couchdb/couchdb-types.ts +34 -0
- package/src/plugins/replication-couchdb/index.ts +341 -0
- package/src/plugins/replication-firestore/firestore-helper.ts +79 -0
- package/src/plugins/replication-firestore/firestore-types.ts +72 -0
- package/src/plugins/replication-firestore/index.ts +387 -0
- package/src/plugins/replication-google-drive/AGENTS.md +5 -0
- package/src/plugins/replication-google-drive/document-handling.ts +203 -0
- package/src/plugins/replication-google-drive/download-specs.sh +49 -0
- package/src/plugins/replication-google-drive/downstream.ts +118 -0
- package/src/plugins/replication-google-drive/google-drive-helper.ts +467 -0
- package/src/plugins/replication-google-drive/google-drive-types.ts +84 -0
- package/src/plugins/replication-google-drive/index.ts +221 -0
- package/src/plugins/replication-google-drive/init.ts +108 -0
- package/src/plugins/replication-google-drive/multipart.ts +86 -0
- package/src/plugins/replication-google-drive/signaling.ts +399 -0
- package/src/plugins/replication-google-drive/transaction.ts +222 -0
- package/src/plugins/replication-google-drive/upstream.ts +279 -0
- package/src/plugins/replication-graphql/graphql-schema-from-rx-schema.ts +337 -0
- package/src/plugins/replication-graphql/graphql-websocket.ts +56 -0
- package/src/plugins/replication-graphql/helper.ts +52 -0
- package/src/plugins/replication-graphql/index.ts +255 -0
- package/src/plugins/replication-graphql/query-builder-from-rx-schema.ts +195 -0
- package/src/plugins/replication-microsoft-onedrive/document-handling.ts +216 -0
- package/src/plugins/replication-microsoft-onedrive/downstream.ts +121 -0
- package/src/plugins/replication-microsoft-onedrive/index.ts +220 -0
- package/src/plugins/replication-microsoft-onedrive/init.ts +107 -0
- package/src/plugins/replication-microsoft-onedrive/microsoft-onedrive-helper.ts +355 -0
- package/src/plugins/replication-microsoft-onedrive/microsoft-onedrive-types.ts +88 -0
- package/src/plugins/replication-microsoft-onedrive/signaling.ts +333 -0
- package/src/plugins/replication-microsoft-onedrive/transaction.ts +220 -0
- package/src/plugins/replication-microsoft-onedrive/upstream.ts +282 -0
- package/src/plugins/replication-mongodb/index.ts +275 -0
- package/src/plugins/replication-mongodb/mongodb-checkpoint.ts +184 -0
- package/src/plugins/replication-mongodb/mongodb-helper.ts +69 -0
- package/src/plugins/replication-mongodb/mongodb-types.ts +50 -0
- package/src/plugins/replication-nats/index.ts +289 -0
- package/src/plugins/replication-nats/nats-helper.ts +15 -0
- package/src/plugins/replication-nats/nats-types.ts +43 -0
- package/src/plugins/replication-supabase/helper.ts +63 -0
- package/src/plugins/replication-supabase/index.ts +308 -0
- package/src/plugins/replication-supabase/types.ts +47 -0
- package/src/plugins/replication-webrtc/connection-handler-p2pcf.ts +77 -0
- package/src/plugins/replication-webrtc/connection-handler-simple-peer.ts +302 -0
- package/src/plugins/replication-webrtc/connection-handler-webtorrent.ts +137 -0
- package/src/plugins/replication-webrtc/index.ts +307 -0
- package/src/plugins/replication-webrtc/signaling-server.ts +193 -0
- package/src/plugins/replication-webrtc/webrtc-helper.ts +55 -0
- package/src/plugins/replication-webrtc/webrtc-types.ts +91 -0
- package/src/plugins/replication-websocket/index.ts +3 -0
- package/src/plugins/replication-websocket/websocket-client.ts +187 -0
- package/src/plugins/replication-websocket/websocket-server.ts +135 -0
- package/src/plugins/replication-websocket/websocket-types.ts +47 -0
- package/src/plugins/state/helpers.ts +86 -0
- package/src/plugins/state/index.ts +40 -0
- package/src/plugins/state/rx-state.ts +386 -0
- package/src/plugins/state/types.ts +32 -0
- package/src/plugins/storage-denokv/denokv-helper.ts +46 -0
- package/src/plugins/storage-denokv/denokv-query.ts +135 -0
- package/src/plugins/storage-denokv/denokv-types.ts +19 -0
- package/src/plugins/storage-denokv/index.ts +37 -0
- package/src/plugins/storage-denokv/rx-storage-instance-denokv.ts +426 -0
- package/src/plugins/storage-dexie/dexie-helper.ts +302 -0
- package/src/plugins/storage-dexie/dexie-query.ts +252 -0
- package/src/plugins/storage-dexie/index.ts +4 -0
- package/src/plugins/storage-dexie/rx-storage-dexie.ts +62 -0
- package/src/plugins/storage-dexie/rx-storage-instance-dexie.ts +378 -0
- package/src/plugins/storage-foundationdb/foundationdb-helpers.ts +6 -0
- package/src/plugins/storage-foundationdb/foundationdb-query.ts +140 -0
- package/src/plugins/storage-foundationdb/foundationdb-types.ts +64 -0
- package/src/plugins/storage-foundationdb/index.ts +57 -0
- package/src/plugins/storage-foundationdb/rx-storage-instance-foundationdb.ts +449 -0
- package/src/plugins/storage-localstorage/index.ts +44 -0
- package/src/plugins/storage-localstorage/localstorage-mock.ts +32 -0
- package/src/plugins/storage-localstorage/rx-storage-instance-localstorage.ts +686 -0
- package/src/plugins/storage-memory/binary-search-bounds.ts +106 -0
- package/src/plugins/storage-memory/index.ts +52 -0
- package/src/plugins/storage-memory/memory-helper.ts +259 -0
- package/src/plugins/storage-memory/memory-indexes.ts +34 -0
- package/src/plugins/storage-memory/memory-types.ts +90 -0
- package/src/plugins/storage-memory/rx-storage-instance-memory.ts +609 -0
- package/src/plugins/storage-mongodb/index.ts +4 -0
- package/src/plugins/storage-mongodb/mongodb-helper.ts +119 -0
- package/src/plugins/storage-mongodb/mongodb-types.ts +32 -0
- package/src/plugins/storage-mongodb/rx-storage-instance-mongodb.ts +464 -0
- package/src/plugins/storage-mongodb/rx-storage-mongodb.ts +33 -0
- package/src/plugins/storage-remote/index.ts +5 -0
- package/src/plugins/storage-remote/message-channel-cache.ts +88 -0
- package/src/plugins/storage-remote/remote.ts +285 -0
- package/src/plugins/storage-remote/rx-storage-remote.ts +286 -0
- package/src/plugins/storage-remote/storage-remote-helpers.ts +33 -0
- package/src/plugins/storage-remote/storage-remote-types.ts +118 -0
- package/src/plugins/storage-remote-websocket/index.ts +218 -0
- package/src/plugins/storage-remote-websocket/types.ts +34 -0
- package/src/plugins/storage-sqlite/index.ts +64 -0
- package/src/plugins/storage-sqlite/sqlite-basics-helpers.ts +656 -0
- package/src/plugins/storage-sqlite/sqlite-helpers.ts +287 -0
- package/src/plugins/storage-sqlite/sqlite-storage-instance.ts +507 -0
- package/src/plugins/storage-sqlite/sqlite-types.ts +151 -0
- package/src/plugins/test-utils/config.ts +135 -0
- package/src/plugins/test-utils/humans-collection.ts +557 -0
- package/src/plugins/test-utils/index.ts +24 -0
- package/src/plugins/test-utils/performance.ts +344 -0
- package/src/plugins/test-utils/replication-base-test-suite.ts +236 -0
- package/src/plugins/test-utils/replication.ts +95 -0
- package/src/plugins/test-utils/revisions.ts +4 -0
- package/src/plugins/test-utils/schema-objects.ts +527 -0
- package/src/plugins/test-utils/schemas.ts +1391 -0
- package/src/plugins/test-utils/test-util.ts +85 -0
- package/src/plugins/update/index.ts +57 -0
- package/src/plugins/update/mingo-updater.ts +26 -0
- package/src/plugins/utils/index.ts +20 -0
- package/src/plugins/utils/utils-array.ts +152 -0
- package/src/plugins/utils/utils-base64.ts +49 -0
- package/src/plugins/utils/utils-blob.ts +65 -0
- package/src/plugins/utils/utils-document.ts +117 -0
- package/src/plugins/utils/utils-error.ts +53 -0
- package/src/plugins/utils/utils-global.ts +5 -0
- package/src/plugins/utils/utils-hash.ts +62 -0
- package/src/plugins/utils/utils-map.ts +23 -0
- package/src/plugins/utils/utils-number.ts +9 -0
- package/src/plugins/utils/utils-object-deep-equal.ts +46 -0
- package/src/plugins/utils/utils-object-dot-prop.ts +365 -0
- package/src/plugins/utils/utils-object.ts +272 -0
- package/src/plugins/utils/utils-other.ts +58 -0
- package/src/plugins/utils/utils-premium.ts +37 -0
- package/src/plugins/utils/utils-promise.ts +171 -0
- package/src/plugins/utils/utils-regex.ts +2 -0
- package/src/plugins/utils/utils-revision.ts +55 -0
- package/src/plugins/utils/utils-rxdb-version.template.ts +4 -0
- package/src/plugins/utils/utils-rxdb-version.ts +4 -0
- package/src/plugins/utils/utils-string.ts +91 -0
- package/src/plugins/utils/utils-time.ts +37 -0
- package/src/plugins/validate-ajv/index.ts +61 -0
- package/src/plugins/validate-is-my-json-valid/index.ts +30 -0
- package/src/plugins/validate-z-schema/index.ts +58 -0
- package/src/plugins/vector/helper.ts +0 -0
- package/src/plugins/vector/index.ts +2 -0
- package/src/plugins/vector/types.ts +1 -0
- package/src/plugins/vector/vector-distance.ts +34 -0
- package/src/plugins/webmcp/index.ts +2 -0
- package/src/plugins/webmcp/nosql-query-schema.ts +299 -0
- package/src/plugins/webmcp/webmcp.ts +319 -0
- package/src/query-cache.ts +139 -0
- package/src/query-planner.ts +386 -0
- package/src/replication-protocol/checkpoint.ts +154 -0
- package/src/replication-protocol/conflicts.ts +53 -0
- package/src/replication-protocol/default-conflict-handler.ts +43 -0
- package/src/replication-protocol/downstream.ts +550 -0
- package/src/replication-protocol/helper.ts +96 -0
- package/src/replication-protocol/index.ts +348 -0
- package/src/replication-protocol/meta-instance.ts +195 -0
- package/src/replication-protocol/upstream.ts +560 -0
- package/src/rx-change-event.ts +137 -0
- package/src/rx-collection-helper.ts +262 -0
- package/src/rx-collection.ts +1306 -0
- package/src/rx-database-internal-store.ts +402 -0
- package/src/rx-database.ts +919 -0
- package/src/rx-document-prototype-merge.ts +124 -0
- package/src/rx-document.ts +557 -0
- package/src/rx-error.ts +190 -0
- package/src/rx-query-helper.ts +317 -0
- package/src/rx-query-mingo.ts +87 -0
- package/src/rx-query-single-result.ts +110 -0
- package/src/rx-query.ts +887 -0
- package/src/rx-schema-helper.ts +391 -0
- package/src/rx-schema.ts +247 -0
- package/src/rx-storage-helper.ts +1050 -0
- package/src/rx-storage-multiinstance.ts +188 -0
- package/src/types/conflict-handling.d.ts +48 -0
- package/src/types/couchdb.d.ts +293 -0
- package/src/types/index.d.ts +32 -0
- package/src/types/modules/index.d.ts +0 -0
- package/src/types/modules/mocha.parallel.d.ts +1 -0
- package/src/types/plugins/backup.d.ts +35 -0
- package/src/types/plugins/cleanup.d.ts +38 -0
- package/src/types/plugins/crdt.d.ts +76 -0
- package/src/types/plugins/dexie.d.ts +30 -0
- package/src/types/plugins/local-documents.d.ts +49 -0
- package/src/types/plugins/migration.d.ts +14 -0
- package/src/types/plugins/reactivity.d.ts +40 -0
- package/src/types/plugins/replication-graphql.d.ts +98 -0
- package/src/types/plugins/replication.d.ts +175 -0
- package/src/types/plugins/state.d.ts +4 -0
- package/src/types/plugins/update.d.ts +23 -0
- package/src/types/plugins/webmcp.d.ts +40 -0
- package/src/types/query-planner.d.ts +47 -0
- package/src/types/replication-protocol.d.ts +296 -0
- package/src/types/rx-attachment.d.ts +46 -0
- package/src/types/rx-change-event.d.ts +85 -0
- package/src/types/rx-collection.d.ts +117 -0
- package/src/types/rx-database-internal-store.d.ts +54 -0
- package/src/types/rx-database.d.ts +124 -0
- package/src/types/rx-document.d.ts +160 -0
- package/src/types/rx-error.d.ts +222 -0
- package/src/types/rx-plugin.d.ts +167 -0
- package/src/types/rx-query.d.ts +144 -0
- package/src/types/rx-schema.d.ts +209 -0
- package/src/types/rx-storage.d.ts +347 -0
- package/src/types/rx-storage.interface.d.ts +312 -0
- package/src/types/util.d.ts +180 -0
- package/tsconfig.json +54 -0
- package/tsconfig.lint.json +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-storage-instance-memory.js","names":["Subject","getStartIndexStringFromLowerBound","getStartIndexStringFromUpperBound","getPrimaryFieldOfPrimaryKey","categorizeBulkWriteRows","deepEqual","ensureNotFalsy","now","PROMISE_RESOLVE_TRUE","PROMISE_RESOLVE_VOID","randomToken","requestIdlePromiseNoQueue","boundGE","boundGT","boundLE","boundLT","attachmentMapKey","bulkInsertToState","compareDocsWithIndex","ensureNotRemoved","getMemoryCollectionKey","putWriteRowToState","removeDocFromState","addIndexesToInternalsState","getMemoryIndexName","getQueryMatcher","getSortComparator","newRxError","OPEN_MEMORY_INSTANCES","Set","RxStorageInstanceMemory","storage","databaseName","collectionName","schema","internals","options","settings","devMode","closed","categorizedByWriteInput","WeakMap","add","primaryPath","primaryKey","_proto","prototype","bulkWrite","documentWrites","context","ensurePersistence","documentsById","documents","categorized","error","errors","awaitMe","Promise","resolve","set","ensurePersistenceTask","ensurePersistenceIdlePromise","then","undefined","eventBulk","events","length","lastState","newestRow","document","checkpoint","id","lwt","_meta","changes$","next","stateByIndex","Object","values","byIndex","bulkInsertDocs","bulkUpdateDocs","i","writeRow","doc","docId","get","attachments","attachmentsMap","attachmentsAdd","forEach","attachment","documentId","attachmentId","writeData","attachmentData","digest","attachmentsUpdate","attachmentsRemove","delete","findDocumentsById","docIds","withDeleted","ret","size","docInDb","_deleted","push","query","preparedQuery","queryPlan","skip","limit","Infinity","skipPlusLimit","queryMatcher","selectorSatisfiedByIndex","queryPlanFields","index","mustManuallyResort","sortSatisfiedByIndex","lowerBound","startKeys","lowerBoundString","upperBound","endKeys","upperBoundString","indexName","Error","docsWithIndex","indexOfLower","inclusiveStart","indexOfUpper","inclusiveEnd","rows","rangeLength","extractLength","Math","min","Array","done","currentRow","currentDoc","sortComparator","sort","slice","count","args","max","mode","result","cleanup","minimumDeletedTime","maxDeletionTime","getAttachmentData","key","data","changeStream","asObservable","remove","removed","collectionStates","version","close","refCount","createMemoryStorageInstance","params","collectionKey","Map","instance"],"sources":["../../../../src/plugins/storage-memory/rx-storage-instance-memory.ts"],"sourcesContent":["import {\r\n Observable,\r\n Subject\r\n} from 'rxjs';\r\nimport {\r\n getStartIndexStringFromLowerBound,\r\n getStartIndexStringFromUpperBound\r\n} from '../../custom-index.ts';\r\nimport { getPrimaryFieldOfPrimaryKey } from '../../rx-schema-helper.ts';\r\nimport {\r\n categorizeBulkWriteRows\r\n} from '../../rx-storage-helper.ts';\r\nimport type {\r\n BulkWriteRow,\r\n CategorizeBulkWriteRowsOutput,\r\n EventBulk,\r\n PreparedQuery,\r\n QueryMatcher,\r\n RxDocumentData,\r\n RxJsonSchema,\r\n RxStorageBulkWriteResponse,\r\n RxStorageChangeEvent,\r\n RxStorageCountResult,\r\n RxStorageDefaultCheckpoint,\r\n RxStorageInstance,\r\n RxStorageInstanceCreationParams,\r\n RxStorageQueryResult,\r\n StringKeys\r\n} from '../../types/index.d.ts';\r\nimport {\r\n deepEqual,\r\n ensureNotFalsy,\r\n now,\r\n PROMISE_RESOLVE_TRUE,\r\n PROMISE_RESOLVE_VOID,\r\n randomToken,\r\n requestIdlePromiseNoQueue\r\n} from '../../plugins/utils/index.ts';\r\nimport {\r\n boundGE,\r\n boundGT,\r\n boundLE,\r\n boundLT\r\n} from './binary-search-bounds.ts';\r\nimport {\r\n attachmentMapKey,\r\n bulkInsertToState,\r\n compareDocsWithIndex,\r\n ensureNotRemoved,\r\n getMemoryCollectionKey,\r\n putWriteRowToState,\r\n removeDocFromState\r\n} from './memory-helper.ts';\r\nimport {\r\n addIndexesToInternalsState,\r\n getMemoryIndexName\r\n} from './memory-indexes.ts';\r\nimport type {\r\n MemoryStorageInternals,\r\n RxStorageMemory,\r\n RxStorageMemoryInstanceCreationOptions,\r\n RxStorageMemorySettings\r\n} from './memory-types.ts';\r\nimport { getQueryMatcher, getSortComparator } from '../../rx-query-helper.ts';\r\nimport { newRxError } from '../../rx-error.ts';\r\n\r\n/**\r\n * Used in tests to ensure everything\r\n * is closed correctly\r\n */\r\nexport const OPEN_MEMORY_INSTANCES = new Set<RxStorageInstanceMemory<any>>();\r\n\r\nexport class RxStorageInstanceMemory<RxDocType> implements RxStorageInstance<\r\n RxDocType,\r\n MemoryStorageInternals<RxDocType>,\r\n RxStorageMemoryInstanceCreationOptions,\r\n RxStorageDefaultCheckpoint\r\n> {\r\n\r\n public readonly primaryPath: StringKeys<RxDocumentData<RxDocType>>;\r\n public closed = false;\r\n\r\n /**\r\n * Used by some plugins and storage wrappers\r\n * to find out details about the internals of a write operation.\r\n * For example if you want to know which documents really have been replaced\r\n * or newly inserted.\r\n */\r\n public categorizedByWriteInput = new WeakMap<BulkWriteRow<RxDocType>[], CategorizeBulkWriteRowsOutput<RxDocType>>();\r\n\r\n constructor(\r\n public readonly storage: RxStorageMemory,\r\n public readonly databaseName: string,\r\n public readonly collectionName: string,\r\n public readonly schema: Readonly<RxJsonSchema<RxDocumentData<RxDocType>>>,\r\n public readonly internals: MemoryStorageInternals<RxDocType>,\r\n public readonly options: Readonly<RxStorageMemoryInstanceCreationOptions>,\r\n public readonly settings: RxStorageMemorySettings,\r\n public readonly devMode: boolean\r\n ) {\r\n OPEN_MEMORY_INSTANCES.add(this);\r\n this.primaryPath = getPrimaryFieldOfPrimaryKey(this.schema.primaryKey);\r\n }\r\n\r\n bulkWrite(\r\n documentWrites: BulkWriteRow<RxDocType>[],\r\n context: string\r\n ): Promise<RxStorageBulkWriteResponse<RxDocType>> {\r\n this.ensurePersistence();\r\n ensureNotRemoved(this);\r\n const internals = this.internals;\r\n const documentsById = this.internals.documents;\r\n const primaryPath = this.primaryPath;\r\n\r\n\r\n const categorized = categorizeBulkWriteRows<RxDocType>(\r\n this,\r\n primaryPath as any,\r\n documentsById,\r\n documentWrites,\r\n context\r\n );\r\n const error = categorized.errors;\r\n /**\r\n * @performance\r\n * We have to return a Promise but we do not want to wait\r\n * one tick, so we directly create the promise\r\n * which makes it likely to be already resolved later.\r\n */\r\n const awaitMe = Promise.resolve({ error });\r\n\r\n this.categorizedByWriteInput.set(documentWrites, categorized);\r\n this.internals.ensurePersistenceTask = categorized;\r\n\r\n if (!this.internals.ensurePersistenceIdlePromise) {\r\n this.internals.ensurePersistenceIdlePromise = requestIdlePromiseNoQueue().then(() => {\r\n this.internals.ensurePersistenceIdlePromise = undefined;\r\n this.ensurePersistence();\r\n });\r\n }\r\n\r\n /**\r\n * Important: The events must be emitted AFTER the persistence\r\n * task has been added.\r\n */\r\n if (categorized.eventBulk.events.length > 0) {\r\n const lastState = ensureNotFalsy(categorized.newestRow).document;\r\n categorized.eventBulk.checkpoint = {\r\n id: lastState[primaryPath],\r\n lwt: lastState._meta.lwt\r\n };\r\n internals.changes$.next(categorized.eventBulk);\r\n }\r\n\r\n return awaitMe;\r\n }\r\n\r\n /**\r\n * Instead of directly inserting the documents into all indexes,\r\n * we do it lazy in the background. This gives the application time\r\n * to directly work with the write-result and to do stuff like rendering DOM\r\n * notes and processing RxDB queries.\r\n * Then in some later time, or just before the next read/write,\r\n * it is ensured that the indexes have been written.\r\n */\r\n public ensurePersistence() {\r\n if (\r\n !this.internals.ensurePersistenceTask\r\n ) {\r\n return;\r\n }\r\n const internals = this.internals;\r\n const documentsById = this.internals.documents;\r\n const primaryPath = this.primaryPath;\r\n\r\n const categorized = this.internals.ensurePersistenceTask;\r\n this.internals.ensurePersistenceTask = undefined;\r\n\r\n /**\r\n * Do inserts/updates\r\n */\r\n const stateByIndex = Object.values(this.internals.byIndex);\r\n\r\n /**\r\n * @performance Use batch insert for bulk inserts to avoid\r\n * repeated Array.splice() calls which are O(n) each.\r\n * Instead, batch-compute index entries, sort them,\r\n * and merge into existing sorted arrays.\r\n */\r\n const bulkInsertDocs = categorized.bulkInsertDocs;\r\n if (bulkInsertDocs.length > 0) {\r\n bulkInsertToState(\r\n primaryPath as any,\r\n internals,\r\n stateByIndex,\r\n bulkInsertDocs\r\n );\r\n }\r\n\r\n const bulkUpdateDocs = categorized.bulkUpdateDocs;\r\n for (let i = 0; i < bulkUpdateDocs.length; ++i) {\r\n const writeRow = bulkUpdateDocs[i];\r\n const doc = writeRow.document;\r\n const docId = doc[primaryPath];\r\n putWriteRowToState(\r\n docId as any,\r\n internals,\r\n stateByIndex,\r\n doc,\r\n documentsById.get(docId as any)\r\n );\r\n }\r\n\r\n /**\r\n * Handle attachments\r\n */\r\n if (this.schema.attachments) {\r\n const attachmentsMap = internals.attachments;\r\n categorized.attachmentsAdd.forEach(attachment => {\r\n attachmentsMap.set(\r\n attachmentMapKey(attachment.documentId, attachment.attachmentId),\r\n {\r\n writeData: attachment.attachmentData,\r\n digest: attachment.digest\r\n }\r\n );\r\n });\r\n if (this.schema.attachments) {\r\n categorized.attachmentsUpdate.forEach(attachment => {\r\n attachmentsMap.set(\r\n attachmentMapKey(attachment.documentId, attachment.attachmentId),\r\n {\r\n writeData: attachment.attachmentData,\r\n digest: attachment.digest\r\n }\r\n );\r\n });\r\n categorized.attachmentsRemove.forEach(attachment => {\r\n attachmentsMap.delete(\r\n attachmentMapKey(attachment.documentId, attachment.attachmentId)\r\n );\r\n });\r\n }\r\n }\r\n }\r\n\r\n findDocumentsById(\r\n docIds: string[],\r\n withDeleted: boolean\r\n ): Promise<RxDocumentData<RxDocType>[]> {\r\n this.ensurePersistence();\r\n const documentsById = this.internals.documents;\r\n const ret: RxDocumentData<RxDocType>[] = [];\r\n if (documentsById.size === 0) {\r\n return Promise.resolve(ret);\r\n }\r\n for (let i = 0; i < docIds.length; ++i) {\r\n const docId = docIds[i];\r\n const docInDb = documentsById.get(docId);\r\n if (\r\n docInDb &&\r\n (\r\n !docInDb._deleted ||\r\n withDeleted\r\n )\r\n ) {\r\n ret.push(docInDb);\r\n }\r\n }\r\n return Promise.resolve(ret);\r\n }\r\n\r\n query(\r\n preparedQuery: PreparedQuery<RxDocType>\r\n ): Promise<RxStorageQueryResult<RxDocType>> {\r\n this.ensurePersistence();\r\n\r\n const queryPlan = preparedQuery.queryPlan;\r\n const query = preparedQuery.query;\r\n\r\n const skip = query.skip ? query.skip : 0;\r\n const limit = query.limit ? query.limit : Infinity;\r\n const skipPlusLimit = skip + limit;\r\n\r\n let queryMatcher: QueryMatcher<RxDocumentData<RxDocType>> | false = false;\r\n if (!queryPlan.selectorSatisfiedByIndex) {\r\n queryMatcher = getQueryMatcher(\r\n this.schema,\r\n preparedQuery.query\r\n );\r\n }\r\n\r\n const queryPlanFields: string[] = queryPlan.index;\r\n const mustManuallyResort = !queryPlan.sortSatisfiedByIndex;\r\n const index: string[] | undefined = queryPlanFields;\r\n const lowerBound: any[] = queryPlan.startKeys;\r\n const lowerBoundString = getStartIndexStringFromLowerBound(\r\n this.schema,\r\n index,\r\n lowerBound\r\n );\r\n\r\n const upperBound: any[] = queryPlan.endKeys;\r\n const upperBoundString = getStartIndexStringFromUpperBound(\r\n this.schema,\r\n index,\r\n upperBound\r\n );\r\n const indexName = getMemoryIndexName(index);\r\n\r\n if (!this.internals.byIndex[indexName]) {\r\n throw new Error('index does not exist ' + indexName);\r\n }\r\n const docsWithIndex = this.internals.byIndex[indexName].docsWithIndex;\r\n\r\n\r\n\r\n let indexOfLower = (queryPlan.inclusiveStart ? boundGE : boundGT)(\r\n docsWithIndex,\r\n [\r\n lowerBoundString\r\n ] as any,\r\n compareDocsWithIndex\r\n );\r\n\r\n const indexOfUpper = (queryPlan.inclusiveEnd ? boundLE : boundLT)(\r\n docsWithIndex,\r\n [\r\n upperBoundString\r\n ] as any,\r\n compareDocsWithIndex\r\n );\r\n\r\n let rows: RxDocumentData<RxDocType>[] = [];\r\n\r\n /**\r\n * @performance\r\n * If the selector is satisfied by the index,\r\n * we can extract all documents in the range without\r\n * running a per-document queryMatcher check.\r\n * This is a common case for queries like find-by-query\r\n * where the selector is empty or fully covered by the index.\r\n */\r\n if (!queryMatcher) {\r\n const rangeLength = indexOfUpper - indexOfLower + 1;\r\n if (rangeLength > 0) {\r\n const extractLength = mustManuallyResort\r\n ? rangeLength\r\n : Math.min(rangeLength, skipPlusLimit);\r\n rows = new Array(extractLength);\r\n for (let i = 0; i < extractLength; i++) {\r\n rows[i] = docsWithIndex[indexOfLower + i][1];\r\n }\r\n }\r\n } else {\r\n let done = false;\r\n while (!done) {\r\n const currentRow = docsWithIndex[indexOfLower];\r\n if (\r\n !currentRow ||\r\n indexOfLower > indexOfUpper\r\n ) {\r\n break;\r\n }\r\n const currentDoc = currentRow[1];\r\n\r\n if (queryMatcher(currentDoc)) {\r\n rows.push(currentDoc);\r\n }\r\n\r\n if (\r\n (rows.length >= skipPlusLimit && !mustManuallyResort)\r\n ) {\r\n done = true;\r\n }\r\n\r\n indexOfLower++;\r\n }\r\n }\r\n\r\n if (mustManuallyResort) {\r\n const sortComparator = getSortComparator(this.schema, preparedQuery.query);\r\n rows = rows.sort(sortComparator);\r\n }\r\n\r\n // apply skip and limit boundaries.\r\n if (skip !== 0 || rows.length > skipPlusLimit) {\r\n rows = rows.slice(skip, skipPlusLimit);\r\n }\r\n\r\n return Promise.resolve({\r\n documents: rows\r\n });\r\n }\r\n\r\n count(\r\n preparedQuery: PreparedQuery<RxDocType>\r\n ): Promise<RxStorageCountResult> {\r\n this.ensurePersistence();\r\n\r\n const queryPlan = preparedQuery.queryPlan;\r\n\r\n /**\r\n * @performance\r\n * If the selector is satisfied by the index,\r\n * we can compute the count directly from the index range\r\n * without extracting document data into an array.\r\n */\r\n if (queryPlan.selectorSatisfiedByIndex) {\r\n const queryPlanFields: string[] = queryPlan.index;\r\n const index: string[] = queryPlanFields;\r\n const lowerBound: any[] = queryPlan.startKeys;\r\n const lowerBoundString = getStartIndexStringFromLowerBound(\r\n this.schema,\r\n index,\r\n lowerBound\r\n );\r\n const upperBound: any[] = queryPlan.endKeys;\r\n const upperBoundString = getStartIndexStringFromUpperBound(\r\n this.schema,\r\n index,\r\n upperBound\r\n );\r\n const indexName = getMemoryIndexName(index);\r\n\r\n if (!this.internals.byIndex[indexName]) {\r\n throw newRxError('SNH', { args: { indexName } });\r\n }\r\n const docsWithIndex = this.internals.byIndex[indexName].docsWithIndex;\r\n\r\n const indexOfLower = (queryPlan.inclusiveStart ? boundGE : boundGT)(\r\n docsWithIndex,\r\n [lowerBoundString] as any,\r\n compareDocsWithIndex\r\n );\r\n\r\n const indexOfUpper = (queryPlan.inclusiveEnd ? boundLE : boundLT)(\r\n docsWithIndex,\r\n [upperBoundString] as any,\r\n compareDocsWithIndex\r\n );\r\n\r\n const count = Math.max(0, indexOfUpper - indexOfLower + 1);\r\n return Promise.resolve({\r\n count,\r\n mode: 'fast'\r\n });\r\n }\r\n\r\n return this.query(preparedQuery).then(result => ({\r\n count: result.documents.length,\r\n mode: 'fast' as const\r\n }));\r\n }\r\n\r\n cleanup(minimumDeletedTime: number): Promise<boolean> {\r\n this.ensurePersistence();\r\n const maxDeletionTime = now() - minimumDeletedTime;\r\n const index = ['_deleted', '_meta.lwt', this.primaryPath as any];\r\n const indexName = getMemoryIndexName(index);\r\n const docsWithIndex = this.internals.byIndex[indexName].docsWithIndex;\r\n\r\n const lowerBoundString = getStartIndexStringFromLowerBound(\r\n this.schema,\r\n index,\r\n [\r\n true,\r\n 0,\r\n ''\r\n ]\r\n );\r\n\r\n let indexOfLower = boundGT(\r\n docsWithIndex,\r\n [\r\n lowerBoundString\r\n ] as any,\r\n compareDocsWithIndex\r\n );\r\n\r\n let done = false;\r\n while (!done) {\r\n const currentDoc = docsWithIndex[indexOfLower];\r\n if (!currentDoc || currentDoc[1]._meta.lwt > maxDeletionTime) {\r\n done = true;\r\n } else {\r\n removeDocFromState(\r\n this.primaryPath as any,\r\n this.schema,\r\n this.internals,\r\n currentDoc[1]\r\n );\r\n indexOfLower++;\r\n }\r\n }\r\n return PROMISE_RESOLVE_TRUE;\r\n }\r\n\r\n getAttachmentData(\r\n documentId: string,\r\n attachmentId: string,\r\n digest: string\r\n ): Promise<Blob> {\r\n this.ensurePersistence();\r\n ensureNotRemoved(this);\r\n const key = attachmentMapKey(documentId, attachmentId);\r\n const data = this.internals.attachments.get(key);\r\n\r\n if (\r\n !digest ||\r\n !data ||\r\n data.digest !== digest\r\n ) {\r\n throw new Error('attachment does not exist: ' + key);\r\n }\r\n return Promise.resolve(data.writeData.data);\r\n }\r\n\r\n changeStream(): Observable<EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, RxStorageDefaultCheckpoint>> {\r\n ensureNotRemoved(this);\r\n return this.internals.changes$.asObservable();\r\n }\r\n\r\n async remove(): Promise<void> {\r\n if (this.closed) {\r\n throw new Error('closed');\r\n }\r\n this.ensurePersistence();\r\n ensureNotRemoved(this);\r\n\r\n this.internals.removed = true;\r\n this.storage.collectionStates.delete(\r\n getMemoryCollectionKey(\r\n this.databaseName,\r\n this.collectionName,\r\n this.schema.version\r\n )\r\n );\r\n await this.close();\r\n }\r\n\r\n close(): Promise<void> {\r\n OPEN_MEMORY_INSTANCES.delete(this);\r\n\r\n this.ensurePersistence();\r\n if (this.closed) {\r\n return PROMISE_RESOLVE_VOID;\r\n }\r\n this.closed = true;\r\n\r\n this.internals.refCount = this.internals.refCount - 1;\r\n return PROMISE_RESOLVE_VOID;\r\n }\r\n}\r\n\r\nexport function createMemoryStorageInstance<RxDocType>(\r\n storage: RxStorageMemory,\r\n params: RxStorageInstanceCreationParams<RxDocType, RxStorageMemoryInstanceCreationOptions>,\r\n settings: RxStorageMemorySettings\r\n): Promise<RxStorageInstanceMemory<RxDocType>> {\r\n const collectionKey = getMemoryCollectionKey(\r\n params.databaseName,\r\n params.collectionName,\r\n params.schema.version\r\n );\r\n\r\n let internals = storage.collectionStates.get(collectionKey);\r\n if (!internals) {\r\n internals = {\r\n id: randomToken(5),\r\n schema: params.schema,\r\n removed: false,\r\n refCount: 1,\r\n documents: new Map(),\r\n attachments: params.schema.attachments ? new Map() : undefined as any,\r\n byIndex: {},\r\n changes$: new Subject()\r\n };\r\n addIndexesToInternalsState(internals, params.schema);\r\n storage.collectionStates.set(collectionKey, internals);\r\n } else {\r\n /**\r\n * Ensure that the storage was not already\r\n * created with a different schema.\r\n * This is very important because if this check\r\n * does not exist here, we have hard-to-debug problems\r\n * downstream.\r\n */\r\n if (\r\n params.devMode &&\r\n !deepEqual(internals.schema, params.schema)\r\n ) {\r\n throw new Error('storage was already created with a different schema');\r\n }\r\n internals.refCount = internals.refCount + 1;\r\n }\r\n\r\n const instance = new RxStorageInstanceMemory(\r\n storage,\r\n params.databaseName,\r\n params.collectionName,\r\n params.schema,\r\n internals,\r\n params.options,\r\n settings,\r\n params.devMode\r\n );\r\n return Promise.resolve(instance);\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/plugins/storage-mongodb/index.ts"],"sourcesContent":["export * from './rx-storage-mongodb.ts';\r\nexport * from './rx-storage-instance-mongodb.ts';\r\nexport * from './mongodb-helper.ts';\r\nexport * from './mongodb-types.ts';\r\n"],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,kCAAkC;AAChD,cAAc,qBAAqB;AACnC,cAAc,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { RXDB_VERSION, flatClone } from "../utils/index.js";
|
|
2
|
+
import { getPrimaryFieldOfPrimaryKey } from "../../rx-schema-helper.js";
|
|
3
|
+
export var RX_STORAGE_NAME_MONGODB = 'mongodb';
|
|
4
|
+
export var MONGO_OPTIONS_DRIVER_INFO = {
|
|
5
|
+
driverInfo: {
|
|
6
|
+
name: 'RxDB',
|
|
7
|
+
version: RXDB_VERSION
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* MongoDB uses the _id field by itself (max 12 bytes)
|
|
13
|
+
* so we have to substitute the _id field if
|
|
14
|
+
* it is used in the RxDocType.
|
|
15
|
+
*/
|
|
16
|
+
export var MONGO_ID_SUBSTITUTE_FIELDNAME = '__id';
|
|
17
|
+
export function primarySwapMongoDBQuerySelector(primaryKey, selector) {
|
|
18
|
+
selector = flatClone(selector);
|
|
19
|
+
if (primaryKey !== '_id') {
|
|
20
|
+
return selector;
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(selector)) {
|
|
23
|
+
return selector.map(item => primarySwapMongoDBQuerySelector(primaryKey, item));
|
|
24
|
+
} else if (typeof selector === 'object') {
|
|
25
|
+
var ret = {};
|
|
26
|
+
Object.entries(selector).forEach(([k, v]) => {
|
|
27
|
+
if (k === primaryKey) {
|
|
28
|
+
ret._id = v;
|
|
29
|
+
} else {
|
|
30
|
+
if (k.startsWith('$')) {
|
|
31
|
+
ret[k] = primarySwapMongoDBQuerySelector(primaryKey, v);
|
|
32
|
+
} else {
|
|
33
|
+
ret[k] = v;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return ret;
|
|
38
|
+
} else {
|
|
39
|
+
return selector;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function prepareMongoDBQuery(schema, mutateableQuery) {
|
|
43
|
+
var primaryKey = getPrimaryFieldOfPrimaryKey(schema.primaryKey);
|
|
44
|
+
var preparedQuery = {
|
|
45
|
+
query: mutateableQuery,
|
|
46
|
+
mongoSelector: primarySwapMongoDBQuerySelector(primaryKey, mutateableQuery.selector),
|
|
47
|
+
mongoSort: swapToMongoSort(mutateableQuery.sort)
|
|
48
|
+
};
|
|
49
|
+
return preparedQuery;
|
|
50
|
+
}
|
|
51
|
+
;
|
|
52
|
+
export function swapMongoToRxDoc(docData) {
|
|
53
|
+
docData = flatClone(docData);
|
|
54
|
+
if (docData[MONGO_ID_SUBSTITUTE_FIELDNAME]) {
|
|
55
|
+
var value = docData[MONGO_ID_SUBSTITUTE_FIELDNAME];
|
|
56
|
+
delete docData[MONGO_ID_SUBSTITUTE_FIELDNAME];
|
|
57
|
+
docData._id = value;
|
|
58
|
+
} else {
|
|
59
|
+
delete docData._id;
|
|
60
|
+
}
|
|
61
|
+
return docData;
|
|
62
|
+
}
|
|
63
|
+
export function swapRxDocToMongo(docData) {
|
|
64
|
+
docData = flatClone(docData);
|
|
65
|
+
if (docData._id) {
|
|
66
|
+
var value = docData._id;
|
|
67
|
+
delete docData._id;
|
|
68
|
+
docData[MONGO_ID_SUBSTITUTE_FIELDNAME] = value;
|
|
69
|
+
}
|
|
70
|
+
return docData;
|
|
71
|
+
}
|
|
72
|
+
export function swapToMongoSort(sort) {
|
|
73
|
+
var ret = {};
|
|
74
|
+
sort.forEach(sortPart => {
|
|
75
|
+
var [key, direction] = Object.entries(sortPart)[0];
|
|
76
|
+
var mongoKey = key === '_id' ? MONGO_ID_SUBSTITUTE_FIELDNAME : key;
|
|
77
|
+
var mongoDirection = direction === 'asc' ? 1 : -1;
|
|
78
|
+
ret[mongoKey] = mongoDirection;
|
|
79
|
+
});
|
|
80
|
+
return ret;
|
|
81
|
+
}
|
|
82
|
+
export function getMongoDBIndexName(index) {
|
|
83
|
+
return index.join('|');
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=mongodb-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongodb-helper.js","names":["RXDB_VERSION","flatClone","getPrimaryFieldOfPrimaryKey","RX_STORAGE_NAME_MONGODB","MONGO_OPTIONS_DRIVER_INFO","driverInfo","name","version","MONGO_ID_SUBSTITUTE_FIELDNAME","primarySwapMongoDBQuerySelector","primaryKey","selector","Array","isArray","map","item","ret","Object","entries","forEach","k","v","_id","startsWith","prepareMongoDBQuery","schema","mutateableQuery","preparedQuery","query","mongoSelector","mongoSort","swapToMongoSort","sort","swapMongoToRxDoc","docData","value","swapRxDocToMongo","sortPart","key","direction","mongoKey","mongoDirection","getMongoDBIndexName","index","join"],"sources":["../../../../src/plugins/storage-mongodb/mongodb-helper.ts"],"sourcesContent":["import type {\r\n FilledMangoQuery,\r\n MangoQuerySelector,\r\n MangoQuerySortPart,\r\n RxDocumentData,\r\n RxJsonSchema\r\n} from '../../types/index.d.ts';\r\nimport {\r\n Sort as MongoSort\r\n} from 'mongodb';\r\nimport { RXDB_VERSION, flatClone } from '../utils/index.ts';\r\nimport { MongoDBPreparedQuery, MongoQuerySelector } from './mongodb-types.ts';\r\nimport { getPrimaryFieldOfPrimaryKey } from '../../rx-schema-helper.ts';\r\nexport const RX_STORAGE_NAME_MONGODB = 'mongodb';\r\n\r\nexport const MONGO_OPTIONS_DRIVER_INFO = {\r\n driverInfo: {\r\n name: 'RxDB',\r\n version: RXDB_VERSION\r\n }\r\n};\r\n\r\n/**\r\n * MongoDB uses the _id field by itself (max 12 bytes)\r\n * so we have to substitute the _id field if\r\n * it is used in the RxDocType.\r\n */\r\nexport const MONGO_ID_SUBSTITUTE_FIELDNAME = '__id';\r\n\r\nexport function primarySwapMongoDBQuerySelector<RxDocType>(\r\n primaryKey: keyof RxDocType,\r\n selector: MangoQuerySelector<RxDocType>\r\n): MongoQuerySelector<RxDocType> {\r\n selector = flatClone(selector);\r\n\r\n if (primaryKey !== '_id') {\r\n return selector as any;\r\n }\r\n if (Array.isArray(selector)) {\r\n return selector.map(item => primarySwapMongoDBQuerySelector(primaryKey, item)) as any;\r\n } else if (typeof selector === 'object') {\r\n const ret: any = {};\r\n Object.entries(selector).forEach(([k, v]) => {\r\n if (k === primaryKey) {\r\n ret._id = v;\r\n } else {\r\n if (k.startsWith('$')) {\r\n ret[k] = primarySwapMongoDBQuerySelector(primaryKey, v as any);\r\n } else {\r\n ret[k] = v;\r\n }\r\n }\r\n });\r\n return ret;\r\n } else {\r\n return selector;\r\n }\r\n}\r\n\r\n\r\nexport function prepareMongoDBQuery<RxDocType>(\r\n schema: RxJsonSchema<RxDocumentData<RxDocType>>,\r\n mutateableQuery: FilledMangoQuery<RxDocType>\r\n) {\r\n const primaryKey = getPrimaryFieldOfPrimaryKey(schema.primaryKey) as any;\r\n const preparedQuery: MongoDBPreparedQuery<RxDocType> = {\r\n query: mutateableQuery,\r\n mongoSelector: primarySwapMongoDBQuerySelector(\r\n primaryKey,\r\n mutateableQuery.selector\r\n ),\r\n mongoSort: swapToMongoSort(mutateableQuery.sort)\r\n };\r\n return preparedQuery;\r\n};\r\n\r\n\r\nexport function swapMongoToRxDoc<RxDocType>(\r\n docData: any\r\n): RxDocumentData<RxDocType> {\r\n docData = flatClone(docData);\r\n if ((docData as any)[MONGO_ID_SUBSTITUTE_FIELDNAME]) {\r\n const value = (docData as any)[MONGO_ID_SUBSTITUTE_FIELDNAME];\r\n delete (docData as any)[MONGO_ID_SUBSTITUTE_FIELDNAME];\r\n (docData as any)._id = value;\r\n } else {\r\n delete (docData as any)._id;\r\n }\r\n return docData;\r\n}\r\n\r\nexport function swapRxDocToMongo<RxDocType>(\r\n docData: RxDocumentData<RxDocType>\r\n): any {\r\n docData = flatClone(docData);\r\n if ((docData as any)._id) {\r\n const value = (docData as any)._id;\r\n delete (docData as any)._id;\r\n (docData as any)[MONGO_ID_SUBSTITUTE_FIELDNAME] = value;\r\n }\r\n return docData;\r\n}\r\n\r\nexport function swapToMongoSort<RxDocType>(\r\n sort: MangoQuerySortPart<RxDocType>[]\r\n): MongoSort {\r\n const ret: any = {};\r\n sort.forEach(sortPart => {\r\n const [key, direction] = Object.entries(sortPart)[0];\r\n const mongoKey = key === '_id' ? MONGO_ID_SUBSTITUTE_FIELDNAME : key;\r\n const mongoDirection = direction === 'asc' ? 1 : -1;\r\n ret[mongoKey] = mongoDirection;\r\n });\r\n return ret;\r\n}\r\n\r\nexport function getMongoDBIndexName(index: string[]): string {\r\n return index.join('|');\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongodb-types.js","names":[],"sources":["../../../../src/plugins/storage-mongodb/mongodb-types.ts"],"sourcesContent":["import type {\r\n Filter as MongoQueryFilter,\r\n Sort as MongoSort,\r\n TransactionOptions\r\n} from 'mongodb';\r\nimport type {\r\n FilledMangoQuery, RxDocumentData\r\n} from '../../types/index.d.ts';\r\n\r\n\r\n/**\r\n * MongoDB ConnectionString\r\n * Example: mongodb://localhost:<port>\r\n */\r\nexport type MongoDBConnectionString = string | 'mongodb://localhost:27017';\r\n\r\nexport type MongoQuerySelector<RxDocType> = MongoQueryFilter<RxDocType | any>;\r\nexport type MongoDBDatabaseSettings = {\r\n connection: MongoDBConnectionString;\r\n transactionOptions?: TransactionOptions;\r\n};\r\n\r\nexport type MongoDBPreparedQuery<RxDocType> = {\r\n query: FilledMangoQuery<RxDocType>;\r\n mongoSelector: MongoQuerySelector<RxDocumentData<RxDocType>>;\r\n mongoSort: MongoSort;\r\n};\r\n\r\nexport type MongoDBSettings = {};\r\nexport type MongoDBStorageInternals = {};\r\nexport type RxStorageMongoDBInstanceCreationOptions = {};\r\nexport type RxStorageMongoDBSettings = {};\r\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import _readOnlyError from "@babel/runtime/helpers/readOnlyError";
|
|
2
|
+
import { BehaviorSubject, Subject, filter, firstValueFrom } from 'rxjs';
|
|
3
|
+
import { getPrimaryFieldOfPrimaryKey } from "../../rx-schema-helper.js";
|
|
4
|
+
import { ensureNotFalsy, getFromMapOrThrow, isMaybeReadonlyArray, now, PROMISE_RESOLVE_VOID, requestIdlePromise } from "../../plugins/utils/index.js";
|
|
5
|
+
import { MongoClient } from 'mongodb';
|
|
6
|
+
import { categorizeBulkWriteRows } from "../../rx-storage-helper.js";
|
|
7
|
+
import { MONGO_ID_SUBSTITUTE_FIELDNAME, MONGO_OPTIONS_DRIVER_INFO, getMongoDBIndexName, prepareMongoDBQuery, swapMongoToRxDoc, swapRxDocToMongo } from "./mongodb-helper.js";
|
|
8
|
+
export var RxStorageInstanceMongoDB = /*#__PURE__*/function () {
|
|
9
|
+
// public mongoChangeStream?: MongoChangeStream<any, ChangeStreamDocument<any>>;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Closing the connection must not happen when
|
|
13
|
+
* an operation is running, otherwise we get an error.
|
|
14
|
+
* So we store all running operations here so that
|
|
15
|
+
* they can be awaited.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* We use this to be able to still fetch
|
|
20
|
+
* the objectId after transforming the document from mongo-style (with _id)
|
|
21
|
+
* to RxDB
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
function RxStorageInstanceMongoDB(storage, databaseName, collectionName, schema, internals, options, settings) {
|
|
25
|
+
this.changes$ = new Subject();
|
|
26
|
+
this.runningOperations = new BehaviorSubject(0);
|
|
27
|
+
this.writeQueue = PROMISE_RESOLVE_VOID;
|
|
28
|
+
this.mongoObjectIdCache = new WeakMap();
|
|
29
|
+
this.storage = storage;
|
|
30
|
+
this.databaseName = databaseName;
|
|
31
|
+
this.collectionName = collectionName;
|
|
32
|
+
this.schema = schema;
|
|
33
|
+
this.internals = internals;
|
|
34
|
+
this.options = options;
|
|
35
|
+
this.settings = settings;
|
|
36
|
+
if (this.schema.attachments) {
|
|
37
|
+
throw new Error('attachments not supported in mongodb storage, make a PR if you need that');
|
|
38
|
+
}
|
|
39
|
+
this.primaryPath = getPrimaryFieldOfPrimaryKey(this.schema.primaryKey);
|
|
40
|
+
this.inMongoPrimaryPath = this.primaryPath === '_id' ? MONGO_ID_SUBSTITUTE_FIELDNAME : this.primaryPath;
|
|
41
|
+
this.mongoClient = new MongoClient(storage.databaseSettings.connection, MONGO_OPTIONS_DRIVER_INFO);
|
|
42
|
+
this.mongoDatabase = this.mongoClient.db(databaseName + '-v' + this.schema.version);
|
|
43
|
+
var indexes = (this.schema.indexes ? this.schema.indexes.slice() : []).map(index => {
|
|
44
|
+
var arIndex = isMaybeReadonlyArray(index) ? index.slice(0) : [index];
|
|
45
|
+
return arIndex;
|
|
46
|
+
});
|
|
47
|
+
indexes.push([this.inMongoPrimaryPath]);
|
|
48
|
+
this.mongoCollectionPromise = this.mongoDatabase.createCollection(collectionName).then(async mongoCollection => {
|
|
49
|
+
await mongoCollection.createIndexes(indexes.map(index => {
|
|
50
|
+
var mongoIndex = {};
|
|
51
|
+
index.forEach(field => mongoIndex[field] = 1);
|
|
52
|
+
return {
|
|
53
|
+
name: getMongoDBIndexName(index),
|
|
54
|
+
key: mongoIndex
|
|
55
|
+
};
|
|
56
|
+
}));
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* TODO in a setup where multiple servers run node.js
|
|
60
|
+
* processes that use the mongodb storage, we should propagate
|
|
61
|
+
* events by listening to the mongodb changestream.
|
|
62
|
+
* This maybe should be a premium feature.
|
|
63
|
+
*/
|
|
64
|
+
// this.mongoChangeStream = mongoCollection.watch(
|
|
65
|
+
// undefined, {
|
|
66
|
+
// batchSize: 100
|
|
67
|
+
// }
|
|
68
|
+
// ).on('change', change => {
|
|
69
|
+
|
|
70
|
+
// const eventBulkId = randomToken(10);
|
|
71
|
+
// const newDocData: RxDocumentData<RxDocType> = (change as any).fullDocument;
|
|
72
|
+
// const documentId = newDocData[this.primaryPath] as any;
|
|
73
|
+
|
|
74
|
+
// const eventBulk: EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, RxStorageDefaultCheckpoint> = {
|
|
75
|
+
// checkpoint: {
|
|
76
|
+
// id: newDocData[this.primaryPath] as any,
|
|
77
|
+
// lwt: newDocData._meta.lwt
|
|
78
|
+
// },
|
|
79
|
+
// context: 'mongodb-write',
|
|
80
|
+
// id: eventBulkId,
|
|
81
|
+
// events: [{
|
|
82
|
+
// documentData: newDocData,
|
|
83
|
+
// documentId,
|
|
84
|
+
// operation: 'INSERT',
|
|
85
|
+
// previousDocumentData: undefined,
|
|
86
|
+
// }],
|
|
87
|
+
// };
|
|
88
|
+
|
|
89
|
+
// this.changes$.next(eventBulk);
|
|
90
|
+
// });
|
|
91
|
+
|
|
92
|
+
return mongoCollection;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Bulk writes on the mongodb storage.
|
|
98
|
+
* Notice that MongoDB does not support cross-document transactions
|
|
99
|
+
* so we have to do a update-if-previous-is-correct like operations.
|
|
100
|
+
* (Similar to what RxDB does with the revision system)
|
|
101
|
+
*/
|
|
102
|
+
var _proto = RxStorageInstanceMongoDB.prototype;
|
|
103
|
+
_proto.bulkWrite = function bulkWrite(documentWrites, context) {
|
|
104
|
+
this.writeQueue = this.writeQueue.then(async () => {
|
|
105
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
106
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
107
|
+
if (this.closed) {
|
|
108
|
+
return Promise.reject(new Error('already closed'));
|
|
109
|
+
}
|
|
110
|
+
var primaryPath = this.primaryPath;
|
|
111
|
+
var ret = {
|
|
112
|
+
error: []
|
|
113
|
+
};
|
|
114
|
+
var docIds = documentWrites.map(d => d.document[primaryPath]);
|
|
115
|
+
var documentStates = await this.findDocumentsById(docIds, true);
|
|
116
|
+
var documentStatesMap = new Map();
|
|
117
|
+
documentStates.forEach(doc => {
|
|
118
|
+
var docId = doc[primaryPath];
|
|
119
|
+
documentStatesMap.set(docId, doc);
|
|
120
|
+
});
|
|
121
|
+
var categorized = categorizeBulkWriteRows(this, primaryPath, documentStatesMap, documentWrites, context);
|
|
122
|
+
var changeByDocId = new Map();
|
|
123
|
+
categorized.eventBulk.events.forEach(change => {
|
|
124
|
+
changeByDocId.set(change.documentId, change);
|
|
125
|
+
});
|
|
126
|
+
ret.error = categorized.errors;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Reset the event bulk because
|
|
130
|
+
* conflicts can still appear after the categorization
|
|
131
|
+
*/
|
|
132
|
+
var eventBulk = categorized.eventBulk;
|
|
133
|
+
eventBulk.events = [];
|
|
134
|
+
await Promise.all([
|
|
135
|
+
/**
|
|
136
|
+
* Inserts
|
|
137
|
+
* @link https://sparkbyexamples.com/mongodb/mongodb-insert-if-not-exists/
|
|
138
|
+
*/
|
|
139
|
+
Promise.all(categorized.bulkInsertDocs.map(async writeRow => {
|
|
140
|
+
var docId = writeRow.document[primaryPath];
|
|
141
|
+
var writeResult = await mongoCollection.findOneAndUpdate({
|
|
142
|
+
[this.inMongoPrimaryPath]: docId
|
|
143
|
+
}, {
|
|
144
|
+
$setOnInsert: swapRxDocToMongo(writeRow.document)
|
|
145
|
+
}, {
|
|
146
|
+
upsert: true,
|
|
147
|
+
includeResultMetadata: true
|
|
148
|
+
});
|
|
149
|
+
if (writeResult.value) {
|
|
150
|
+
// had insert conflict
|
|
151
|
+
var conflictError = {
|
|
152
|
+
status: 409,
|
|
153
|
+
documentId: docId,
|
|
154
|
+
writeRow,
|
|
155
|
+
documentInDb: swapMongoToRxDoc(ensureNotFalsy(writeResult.value)),
|
|
156
|
+
isError: true,
|
|
157
|
+
context
|
|
158
|
+
};
|
|
159
|
+
ret.error.push(conflictError);
|
|
160
|
+
} else {
|
|
161
|
+
var event = changeByDocId.get(docId);
|
|
162
|
+
if (event) {
|
|
163
|
+
eventBulk.events.push(event);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
})),
|
|
167
|
+
/**
|
|
168
|
+
* Updates
|
|
169
|
+
*/
|
|
170
|
+
Promise.all(categorized.bulkUpdateDocs.map(async writeRow => {
|
|
171
|
+
var docId = writeRow.document[primaryPath];
|
|
172
|
+
var writeResult = await mongoCollection.findOneAndReplace({
|
|
173
|
+
[this.inMongoPrimaryPath]: docId,
|
|
174
|
+
_rev: ensureNotFalsy(writeRow.previous)._rev
|
|
175
|
+
}, swapRxDocToMongo(writeRow.document), {
|
|
176
|
+
includeResultMetadata: true,
|
|
177
|
+
upsert: false,
|
|
178
|
+
returnDocument: 'before'
|
|
179
|
+
});
|
|
180
|
+
if (!writeResult.ok) {
|
|
181
|
+
var currentDocState = await this.findDocumentsById([docId], true);
|
|
182
|
+
var currentDoc = currentDocState[0];
|
|
183
|
+
// had insert conflict
|
|
184
|
+
var conflictError = {
|
|
185
|
+
status: 409,
|
|
186
|
+
documentId: docId,
|
|
187
|
+
writeRow,
|
|
188
|
+
documentInDb: ensureNotFalsy(currentDoc),
|
|
189
|
+
isError: true,
|
|
190
|
+
context
|
|
191
|
+
};
|
|
192
|
+
ret.error.push(conflictError);
|
|
193
|
+
} else {
|
|
194
|
+
var event = getFromMapOrThrow(changeByDocId, docId);
|
|
195
|
+
eventBulk.events.push(event);
|
|
196
|
+
}
|
|
197
|
+
}))]);
|
|
198
|
+
if (categorized.eventBulk.events.length > 0) {
|
|
199
|
+
var lastState = ensureNotFalsy(categorized.newestRow).document;
|
|
200
|
+
categorized.eventBulk.checkpoint = {
|
|
201
|
+
id: lastState[primaryPath],
|
|
202
|
+
lwt: lastState._meta.lwt
|
|
203
|
+
};
|
|
204
|
+
this.changes$.next(categorized.eventBulk);
|
|
205
|
+
}
|
|
206
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
207
|
+
return ret;
|
|
208
|
+
});
|
|
209
|
+
return this.writeQueue;
|
|
210
|
+
};
|
|
211
|
+
_proto.findDocumentsById = async function findDocumentsById(docIds, withDeleted, session) {
|
|
212
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
213
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
214
|
+
var primaryPath = this.primaryPath;
|
|
215
|
+
var plainQuery = {
|
|
216
|
+
[primaryPath]: {
|
|
217
|
+
$in: docIds
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
if (!withDeleted) {
|
|
221
|
+
plainQuery._deleted = false;
|
|
222
|
+
}
|
|
223
|
+
var result = [];
|
|
224
|
+
var queryResult = await mongoCollection.find(plainQuery, {
|
|
225
|
+
session
|
|
226
|
+
}).toArray();
|
|
227
|
+
queryResult.forEach(row => {
|
|
228
|
+
result.push(swapMongoToRxDoc(row));
|
|
229
|
+
});
|
|
230
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
231
|
+
return result;
|
|
232
|
+
};
|
|
233
|
+
_proto.query = async function query(originalPreparedQuery) {
|
|
234
|
+
var preparedQuery = prepareMongoDBQuery(this.schema, originalPreparedQuery.query);
|
|
235
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
236
|
+
await this.writeQueue;
|
|
237
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
238
|
+
var query = mongoCollection.find(preparedQuery.mongoSelector);
|
|
239
|
+
if (preparedQuery.query.skip) {
|
|
240
|
+
query = query.skip(preparedQuery.query.skip);
|
|
241
|
+
}
|
|
242
|
+
if (preparedQuery.query.limit) {
|
|
243
|
+
query = query.limit(preparedQuery.query.limit);
|
|
244
|
+
}
|
|
245
|
+
if (preparedQuery.query.sort) {
|
|
246
|
+
query = query.sort(preparedQuery.mongoSort);
|
|
247
|
+
}
|
|
248
|
+
var resultDocs = await query.toArray();
|
|
249
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
250
|
+
return {
|
|
251
|
+
documents: resultDocs.map(d => swapMongoToRxDoc(d))
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
_proto.count = async function count(originalPreparedQuery) {
|
|
255
|
+
var preparedQuery = prepareMongoDBQuery(this.schema, originalPreparedQuery.query);
|
|
256
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
257
|
+
await this.writeQueue;
|
|
258
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
259
|
+
var count = await mongoCollection.countDocuments(preparedQuery.mongoSelector);
|
|
260
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
261
|
+
return {
|
|
262
|
+
count,
|
|
263
|
+
mode: 'fast'
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
_proto.cleanup = async function cleanup(minimumDeletedTime) {
|
|
267
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
268
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
269
|
+
var maxDeletionTime = now() - minimumDeletedTime;
|
|
270
|
+
await mongoCollection.deleteMany({
|
|
271
|
+
_deleted: true,
|
|
272
|
+
'_meta.lwt': {
|
|
273
|
+
$lt: maxDeletionTime
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
277
|
+
return true;
|
|
278
|
+
};
|
|
279
|
+
_proto.getAttachmentData = async function getAttachmentData(_documentId, _attachmentId, _digest) {
|
|
280
|
+
await this.mongoCollectionPromise;
|
|
281
|
+
throw new Error('attachments not implemented, make a PR');
|
|
282
|
+
};
|
|
283
|
+
_proto.changeStream = function changeStream() {
|
|
284
|
+
return this.changes$;
|
|
285
|
+
};
|
|
286
|
+
_proto.remove = async function remove() {
|
|
287
|
+
if (this.closed) {
|
|
288
|
+
throw new Error('already closed');
|
|
289
|
+
}
|
|
290
|
+
this.runningOperations.next(this.runningOperations.getValue() + 1);
|
|
291
|
+
var mongoCollection = await this.mongoCollectionPromise;
|
|
292
|
+
await mongoCollection.drop();
|
|
293
|
+
this.runningOperations.next(this.runningOperations.getValue() - 1);
|
|
294
|
+
await this.close();
|
|
295
|
+
};
|
|
296
|
+
_proto.close = async function close() {
|
|
297
|
+
// TODO without this next-tick we have random fails in the tests
|
|
298
|
+
await requestIdlePromise(200);
|
|
299
|
+
if (this.closed) {
|
|
300
|
+
return this.closed;
|
|
301
|
+
}
|
|
302
|
+
this.closed = (async () => {
|
|
303
|
+
await this.mongoCollectionPromise;
|
|
304
|
+
await firstValueFrom(this.runningOperations.pipe(filter(c => c === 0)));
|
|
305
|
+
// await ensureNotFalsy(this.mongoChangeStream).close();
|
|
306
|
+
await this.mongoClient.close();
|
|
307
|
+
})();
|
|
308
|
+
return this.closed;
|
|
309
|
+
};
|
|
310
|
+
return RxStorageInstanceMongoDB;
|
|
311
|
+
}();
|
|
312
|
+
export function createMongoDBStorageInstance(storage, params, settings) {
|
|
313
|
+
var instance = new RxStorageInstanceMongoDB(storage, params.databaseName, params.collectionName, params.schema, {}, params.options, settings);
|
|
314
|
+
return Promise.resolve(instance);
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=rx-storage-instance-mongodb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-storage-instance-mongodb.js","names":["BehaviorSubject","Subject","filter","firstValueFrom","getPrimaryFieldOfPrimaryKey","ensureNotFalsy","getFromMapOrThrow","isMaybeReadonlyArray","now","PROMISE_RESOLVE_VOID","requestIdlePromise","MongoClient","categorizeBulkWriteRows","MONGO_ID_SUBSTITUTE_FIELDNAME","MONGO_OPTIONS_DRIVER_INFO","getMongoDBIndexName","prepareMongoDBQuery","swapMongoToRxDoc","swapRxDocToMongo","RxStorageInstanceMongoDB","storage","databaseName","collectionName","schema","internals","options","settings","changes$","runningOperations","writeQueue","mongoObjectIdCache","WeakMap","attachments","Error","primaryPath","primaryKey","inMongoPrimaryPath","mongoClient","databaseSettings","connection","mongoDatabase","db","version","indexes","slice","map","index","arIndex","push","mongoCollectionPromise","createCollection","then","mongoCollection","createIndexes","mongoIndex","forEach","field","name","key","_proto","prototype","bulkWrite","documentWrites","context","next","getValue","closed","Promise","reject","ret","error","docIds","d","document","documentStates","findDocumentsById","documentStatesMap","Map","doc","docId","set","categorized","changeByDocId","eventBulk","events","change","documentId","errors","all","bulkInsertDocs","writeRow","writeResult","findOneAndUpdate","$setOnInsert","upsert","includeResultMetadata","value","conflictError","status","documentInDb","isError","event","get","bulkUpdateDocs","findOneAndReplace","_rev","previous","returnDocument","ok","currentDocState","currentDoc","length","lastState","newestRow","checkpoint","id","lwt","_meta","withDeleted","session","plainQuery","$in","_deleted","result","queryResult","find","toArray","row","query","originalPreparedQuery","preparedQuery","mongoSelector","skip","limit","sort","mongoSort","resultDocs","documents","count","countDocuments","mode","cleanup","minimumDeletedTime","maxDeletionTime","deleteMany","$lt","getAttachmentData","_documentId","_attachmentId","_digest","changeStream","remove","drop","close","pipe","c","createMongoDBStorageInstance","params","instance","resolve"],"sources":["../../../../src/plugins/storage-mongodb/rx-storage-instance-mongodb.ts"],"sourcesContent":["import {\r\n BehaviorSubject,\r\n Observable,\r\n Subject,\r\n filter,\r\n firstValueFrom\r\n} from 'rxjs';\r\nimport { getPrimaryFieldOfPrimaryKey } from '../../rx-schema-helper.ts';\r\nimport type {\r\n BulkWriteRow,\r\n EventBulk,\r\n PreparedQuery,\r\n RxDocumentData,\r\n RxJsonSchema,\r\n RxStorageBulkWriteResponse,\r\n RxStorageChangeEvent,\r\n RxStorageCountResult,\r\n RxStorageDefaultCheckpoint,\r\n RxStorageInstance,\r\n RxStorageInstanceCreationParams,\r\n RxStorageQueryResult,\r\n RxStorageWriteErrorConflict,\r\n StringKeys\r\n} from '../../types/index.d.ts';\r\nimport {\r\n ensureNotFalsy,\r\n getFromMapOrThrow,\r\n isMaybeReadonlyArray,\r\n now,\r\n PROMISE_RESOLVE_VOID,\r\n requestIdlePromise\r\n} from '../../plugins/utils/index.ts';\r\nimport {\r\n MongoDBStorageInternals,\r\n MongoQuerySelector,\r\n RxStorageMongoDBInstanceCreationOptions,\r\n RxStorageMongoDBSettings\r\n} from './mongodb-types.ts';\r\nimport { RxStorageMongoDB } from './rx-storage-mongodb.ts';\r\nimport {\r\n Db as MongoDatabase,\r\n Collection as MongoCollection,\r\n MongoClient,\r\n ObjectId,\r\n ClientSession\r\n} from 'mongodb';\r\nimport { categorizeBulkWriteRows } from '../../rx-storage-helper.ts';\r\nimport {\r\n MONGO_ID_SUBSTITUTE_FIELDNAME,\r\n MONGO_OPTIONS_DRIVER_INFO,\r\n getMongoDBIndexName,\r\n prepareMongoDBQuery,\r\n swapMongoToRxDoc,\r\n swapRxDocToMongo\r\n} from './mongodb-helper.ts';\r\n\r\nexport class RxStorageInstanceMongoDB<RxDocType> implements RxStorageInstance<\r\n RxDocType,\r\n MongoDBStorageInternals,\r\n RxStorageMongoDBInstanceCreationOptions,\r\n RxStorageDefaultCheckpoint\r\n> {\r\n\r\n public readonly primaryPath: StringKeys<RxDocumentData<RxDocType>>;\r\n public readonly inMongoPrimaryPath: string;\r\n public closed?: Promise<void>;\r\n private readonly changes$: Subject<EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, RxStorageDefaultCheckpoint>> = new Subject();\r\n public readonly mongoClient: MongoClient;\r\n public readonly mongoDatabase: MongoDatabase;\r\n public readonly mongoCollectionPromise: Promise<MongoCollection<RxDocumentData<RxDocType> | any>>;\r\n // public mongoChangeStream?: MongoChangeStream<any, ChangeStreamDocument<any>>;\r\n\r\n\r\n /**\r\n * Closing the connection must not happen when\r\n * an operation is running, otherwise we get an error.\r\n * So we store all running operations here so that\r\n * they can be awaited.\r\n */\r\n public readonly runningOperations = new BehaviorSubject(0);\r\n public writeQueue: Promise<any> = PROMISE_RESOLVE_VOID;\r\n\r\n /**\r\n * We use this to be able to still fetch\r\n * the objectId after transforming the document from mongo-style (with _id)\r\n * to RxDB\r\n */\r\n public readonly mongoObjectIdCache = new WeakMap<RxDocumentData<RxDocType>, ObjectId>();\r\n\r\n constructor(\r\n public readonly storage: RxStorageMongoDB,\r\n public readonly databaseName: string,\r\n public readonly collectionName: string,\r\n public readonly schema: Readonly<RxJsonSchema<RxDocumentData<RxDocType>>>,\r\n public readonly internals: MongoDBStorageInternals,\r\n public readonly options: Readonly<RxStorageMongoDBInstanceCreationOptions>,\r\n public readonly settings: RxStorageMongoDBSettings\r\n ) {\r\n if (this.schema.attachments) {\r\n throw new Error('attachments not supported in mongodb storage, make a PR if you need that');\r\n }\r\n this.primaryPath = getPrimaryFieldOfPrimaryKey(this.schema.primaryKey);\r\n this.inMongoPrimaryPath = this.primaryPath === '_id' ? MONGO_ID_SUBSTITUTE_FIELDNAME : this.primaryPath;\r\n\r\n this.mongoClient = new MongoClient(storage.databaseSettings.connection, MONGO_OPTIONS_DRIVER_INFO);\r\n this.mongoDatabase = this.mongoClient.db(databaseName + '-v' + this.schema.version);\r\n\r\n const indexes = (this.schema.indexes ? this.schema.indexes.slice() : []).map(index => {\r\n const arIndex = isMaybeReadonlyArray(index) ? index.slice(0) : [index];\r\n return arIndex;\r\n });\r\n indexes.push([this.inMongoPrimaryPath]);\r\n\r\n this.mongoCollectionPromise = this.mongoDatabase.createCollection(collectionName)\r\n .then(async (mongoCollection: MongoCollection<any>) => {\r\n await mongoCollection.createIndexes(\r\n indexes.map(index => {\r\n const mongoIndex: any = {};\r\n index.forEach(field => mongoIndex[field] = 1);\r\n return { name: getMongoDBIndexName(index), key: mongoIndex };\r\n })\r\n );\r\n\r\n /**\r\n * TODO in a setup where multiple servers run node.js\r\n * processes that use the mongodb storage, we should propagate\r\n * events by listening to the mongodb changestream.\r\n * This maybe should be a premium feature.\r\n */\r\n // this.mongoChangeStream = mongoCollection.watch(\r\n // undefined, {\r\n // batchSize: 100\r\n // }\r\n // ).on('change', change => {\r\n\r\n\r\n // const eventBulkId = randomToken(10);\r\n // const newDocData: RxDocumentData<RxDocType> = (change as any).fullDocument;\r\n // const documentId = newDocData[this.primaryPath] as any;\r\n\r\n // const eventBulk: EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, RxStorageDefaultCheckpoint> = {\r\n // checkpoint: {\r\n // id: newDocData[this.primaryPath] as any,\r\n // lwt: newDocData._meta.lwt\r\n // },\r\n // context: 'mongodb-write',\r\n // id: eventBulkId,\r\n // events: [{\r\n // documentData: newDocData,\r\n // documentId,\r\n // operation: 'INSERT',\r\n // previousDocumentData: undefined,\r\n // }],\r\n // };\r\n\r\n // this.changes$.next(eventBulk);\r\n // });\r\n\r\n\r\n return mongoCollection;\r\n });\r\n\r\n\r\n }\r\n\r\n /**\r\n * Bulk writes on the mongodb storage.\r\n * Notice that MongoDB does not support cross-document transactions\r\n * so we have to do a update-if-previous-is-correct like operations.\r\n * (Similar to what RxDB does with the revision system)\r\n */\r\n bulkWrite(\r\n documentWrites: BulkWriteRow<RxDocType>[],\r\n context: string\r\n ): Promise<RxStorageBulkWriteResponse<RxDocType>> {\r\n\r\n this.writeQueue = this.writeQueue.then(async () => {\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n if (this.closed) {\r\n return Promise.reject(new Error('already closed'));\r\n }\r\n const primaryPath = this.primaryPath;\r\n const ret: RxStorageBulkWriteResponse<RxDocType> = {\r\n error: []\r\n };\r\n\r\n\r\n const docIds = documentWrites.map(d => (d.document as any)[primaryPath]);\r\n const documentStates = await this.findDocumentsById(\r\n docIds,\r\n true\r\n );\r\n const documentStatesMap = new Map();\r\n documentStates.forEach(doc => {\r\n const docId = doc[primaryPath];\r\n documentStatesMap.set(docId, doc);\r\n });\r\n const categorized = categorizeBulkWriteRows<RxDocType>(\r\n this,\r\n primaryPath as any,\r\n documentStatesMap,\r\n documentWrites,\r\n context\r\n );\r\n\r\n const changeByDocId = new Map<string, RxStorageChangeEvent<RxDocumentData<RxDocType>>>();\r\n categorized.eventBulk.events.forEach(change => {\r\n changeByDocId.set(change.documentId, change);\r\n });\r\n\r\n\r\n ret.error = categorized.errors;\r\n\r\n /**\r\n * Reset the event bulk because\r\n * conflicts can still appear after the categorization\r\n */\r\n const eventBulk = categorized.eventBulk;\r\n eventBulk.events = [];\r\n\r\n await Promise.all([\r\n /**\r\n * Inserts\r\n * @link https://sparkbyexamples.com/mongodb/mongodb-insert-if-not-exists/\r\n */\r\n Promise.all(\r\n categorized.bulkInsertDocs.map(async (writeRow) => {\r\n const docId: string = writeRow.document[primaryPath] as any;\r\n const writeResult = await mongoCollection.findOneAndUpdate(\r\n {\r\n [this.inMongoPrimaryPath]: docId\r\n },\r\n {\r\n $setOnInsert: swapRxDocToMongo(writeRow.document)\r\n },\r\n {\r\n upsert: true,\r\n includeResultMetadata: true\r\n }\r\n );\r\n if (writeResult.value) {\r\n // had insert conflict\r\n const conflictError: RxStorageWriteErrorConflict<RxDocType> = {\r\n status: 409,\r\n documentId: docId,\r\n writeRow,\r\n documentInDb: swapMongoToRxDoc(ensureNotFalsy(writeResult.value)),\r\n isError: true,\r\n context\r\n };\r\n ret.error.push(conflictError);\r\n } else {\r\n const event = changeByDocId.get(docId);\r\n if (event) {\r\n eventBulk.events.push(event);\r\n }\r\n }\r\n })\r\n ),\r\n /**\r\n * Updates\r\n */\r\n Promise.all(\r\n categorized.bulkUpdateDocs.map(async (writeRow) => {\r\n const docId = writeRow.document[primaryPath] as string;\r\n const writeResult = await mongoCollection.findOneAndReplace(\r\n {\r\n [this.inMongoPrimaryPath]: docId,\r\n _rev: ensureNotFalsy(writeRow.previous)._rev\r\n },\r\n swapRxDocToMongo(writeRow.document),\r\n {\r\n includeResultMetadata: true,\r\n upsert: false,\r\n returnDocument: 'before'\r\n }\r\n );\r\n if (!writeResult.ok) {\r\n const currentDocState = await this.findDocumentsById([docId], true);\r\n const currentDoc = currentDocState[0];\r\n // had insert conflict\r\n const conflictError: RxStorageWriteErrorConflict<RxDocType> = {\r\n status: 409,\r\n documentId: docId,\r\n writeRow,\r\n documentInDb: ensureNotFalsy(currentDoc),\r\n isError: true,\r\n context\r\n };\r\n ret.error.push(conflictError);\r\n } else {\r\n const event = getFromMapOrThrow(changeByDocId, docId);\r\n eventBulk.events.push(event);\r\n }\r\n\r\n })\r\n )\r\n ]);\r\n\r\n if (categorized.eventBulk.events.length > 0) {\r\n const lastState = ensureNotFalsy(categorized.newestRow).document;\r\n categorized.eventBulk.checkpoint = {\r\n id: lastState[primaryPath],\r\n lwt: lastState._meta.lwt\r\n };\r\n this.changes$.next(categorized.eventBulk);\r\n }\r\n\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n return ret;\r\n });\r\n return this.writeQueue;\r\n\r\n }\r\n\r\n async findDocumentsById(\r\n docIds: string[],\r\n withDeleted: boolean,\r\n session?: ClientSession\r\n ): Promise<RxDocumentData<RxDocType>[]> {\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n const primaryPath = this.primaryPath;\r\n\r\n const plainQuery: MongoQuerySelector<any> = {\r\n [primaryPath]: {\r\n $in: docIds\r\n }\r\n };\r\n if (!withDeleted) {\r\n plainQuery._deleted = false;\r\n }\r\n const result: RxDocumentData<RxDocType>[] = [];\r\n const queryResult = await mongoCollection.find(\r\n plainQuery,\r\n {\r\n session\r\n }\r\n ).toArray();\r\n queryResult.forEach((row: any) => {\r\n result.push(\r\n swapMongoToRxDoc(\r\n row as any\r\n )\r\n );\r\n });\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n return result;\r\n }\r\n\r\n async query(\r\n originalPreparedQuery: PreparedQuery<RxDocType>\r\n ): Promise<RxStorageQueryResult<RxDocType>> {\r\n const preparedQuery = prepareMongoDBQuery(this.schema, originalPreparedQuery.query);\r\n\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n await this.writeQueue;\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n\r\n let query = mongoCollection.find(preparedQuery.mongoSelector);\r\n if (preparedQuery.query.skip) {\r\n query = query.skip(preparedQuery.query.skip);\r\n }\r\n if (preparedQuery.query.limit) {\r\n query = query.limit(preparedQuery.query.limit);\r\n }\r\n if (preparedQuery.query.sort) {\r\n query = query.sort(preparedQuery.mongoSort);\r\n }\r\n const resultDocs = await query.toArray();\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n return {\r\n documents: resultDocs.map((d: any) => swapMongoToRxDoc(d))\r\n };\r\n }\r\n\r\n async count(\r\n originalPreparedQuery: PreparedQuery<RxDocType>\r\n ): Promise<RxStorageCountResult> {\r\n const preparedQuery = prepareMongoDBQuery(this.schema, originalPreparedQuery.query);\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n await this.writeQueue;\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n const count = await mongoCollection.countDocuments(preparedQuery.mongoSelector);\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n return {\r\n count,\r\n mode: 'fast'\r\n };\r\n }\r\n\r\n async cleanup(minimumDeletedTime: number): Promise<boolean> {\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n const maxDeletionTime = now() - minimumDeletedTime;\r\n await mongoCollection.deleteMany({\r\n _deleted: true,\r\n '_meta.lwt': {\r\n $lt: maxDeletionTime\r\n }\r\n });\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n return true;\r\n }\r\n\r\n async getAttachmentData(\r\n _documentId: string,\r\n _attachmentId: string,\r\n _digest: string\r\n ): Promise<Blob> {\r\n await this.mongoCollectionPromise;\r\n throw new Error('attachments not implemented, make a PR');\r\n }\r\n\r\n changeStream(): Observable<EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, RxStorageDefaultCheckpoint>> {\r\n return this.changes$;\r\n }\r\n\r\n async remove(): Promise<void> {\r\n if (this.closed) {\r\n throw new Error('already closed');\r\n }\r\n this.runningOperations.next(this.runningOperations.getValue() + 1);\r\n const mongoCollection = await this.mongoCollectionPromise;\r\n await mongoCollection.drop();\r\n this.runningOperations.next(this.runningOperations.getValue() - 1);\r\n await this.close();\r\n }\r\n\r\n async close(): Promise<void> {\r\n // TODO without this next-tick we have random fails in the tests\r\n await requestIdlePromise(200);\r\n\r\n if (this.closed) {\r\n return this.closed;\r\n }\r\n this.closed = (async () => {\r\n await this.mongoCollectionPromise;\r\n await firstValueFrom(this.runningOperations.pipe(filter((c: number) => c === 0)));\r\n // await ensureNotFalsy(this.mongoChangeStream).close();\r\n await this.mongoClient.close();\r\n })();\r\n return this.closed;\r\n }\r\n}\r\n\r\nexport function createMongoDBStorageInstance<RxDocType>(\r\n storage: RxStorageMongoDB,\r\n params: RxStorageInstanceCreationParams<RxDocType, RxStorageMongoDBInstanceCreationOptions>,\r\n settings: RxStorageMongoDBSettings\r\n): Promise<RxStorageInstanceMongoDB<RxDocType>> {\r\n const instance = new RxStorageInstanceMongoDB(\r\n storage,\r\n params.databaseName,\r\n params.collectionName,\r\n params.schema,\r\n {},\r\n params.options,\r\n settings\r\n );\r\n return Promise.resolve(instance);\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ensureRxStorageInstanceParamsAreCorrect } from "../../rx-storage-helper.js";
|
|
2
|
+
import { RX_STORAGE_NAME_MONGODB } from "./mongodb-helper.js";
|
|
3
|
+
import { createMongoDBStorageInstance } from "./rx-storage-instance-mongodb.js";
|
|
4
|
+
import { RXDB_VERSION } from "../utils/utils-rxdb-version.js";
|
|
5
|
+
export var RxStorageMongoDB = /*#__PURE__*/function () {
|
|
6
|
+
function RxStorageMongoDB(databaseSettings) {
|
|
7
|
+
this.name = RX_STORAGE_NAME_MONGODB;
|
|
8
|
+
this.rxdbVersion = RXDB_VERSION;
|
|
9
|
+
this.databaseSettings = databaseSettings;
|
|
10
|
+
}
|
|
11
|
+
var _proto = RxStorageMongoDB.prototype;
|
|
12
|
+
_proto.createStorageInstance = function createStorageInstance(params) {
|
|
13
|
+
ensureRxStorageInstanceParamsAreCorrect(params);
|
|
14
|
+
return createMongoDBStorageInstance(this, params, this.databaseSettings);
|
|
15
|
+
};
|
|
16
|
+
return RxStorageMongoDB;
|
|
17
|
+
}();
|
|
18
|
+
export function getRxStorageMongoDB(databaseSettings) {
|
|
19
|
+
var storage = new RxStorageMongoDB(databaseSettings);
|
|
20
|
+
return storage;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=rx-storage-mongodb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-storage-mongodb.js","names":["ensureRxStorageInstanceParamsAreCorrect","RX_STORAGE_NAME_MONGODB","createMongoDBStorageInstance","RXDB_VERSION","RxStorageMongoDB","databaseSettings","name","rxdbVersion","_proto","prototype","createStorageInstance","params","getRxStorageMongoDB","storage"],"sources":["../../../../src/plugins/storage-mongodb/rx-storage-mongodb.ts"],"sourcesContent":["import type {\r\n RxStorage,\r\n RxStorageInstanceCreationParams\r\n} from '../../types/index.d.ts';\r\n\r\nimport { ensureRxStorageInstanceParamsAreCorrect } from '../../rx-storage-helper.ts';\r\nimport { RX_STORAGE_NAME_MONGODB } from './mongodb-helper.ts';\r\nimport type { MongoDBDatabaseSettings, MongoDBSettings, MongoDBStorageInternals } from './mongodb-types.ts';\r\nimport { RxStorageInstanceMongoDB, createMongoDBStorageInstance } from './rx-storage-instance-mongodb.ts';\r\nimport { RXDB_VERSION } from '../utils/utils-rxdb-version.ts';\r\n\r\nexport class RxStorageMongoDB implements RxStorage<MongoDBStorageInternals, MongoDBSettings> {\r\n public name = RX_STORAGE_NAME_MONGODB;\r\n public readonly rxdbVersion = RXDB_VERSION;\r\n\r\n constructor(\r\n public databaseSettings: MongoDBDatabaseSettings\r\n ) { }\r\n\r\n public createStorageInstance<RxDocType>(\r\n params: RxStorageInstanceCreationParams<RxDocType, MongoDBSettings>\r\n ): Promise<RxStorageInstanceMongoDB<RxDocType>> {\r\n ensureRxStorageInstanceParamsAreCorrect(params);\r\n return createMongoDBStorageInstance(this, params, this.databaseSettings);\r\n }\r\n}\r\n\r\nexport function getRxStorageMongoDB(\r\n databaseSettings: MongoDBDatabaseSettings\r\n): RxStorageMongoDB {\r\n const storage = new RxStorageMongoDB(databaseSettings);\r\n return storage;\r\n}\r\n"],"mappings":"AAKA,SAASA,uCAAuC,QAAQ,4BAA4B;AACpF,SAASC,uBAAuB,QAAQ,qBAAqB;AAE7D,SAAmCC,4BAA4B,QAAQ,kCAAkC;AACzG,SAASC,YAAY,QAAQ,gCAAgC;AAE7D,WAAaC,gBAAgB;EAIzB,SAAAA,iBACWC,gBAAyC,EAClD;IAAA,KALKC,IAAI,GAAGL,uBAAuB;IAAA,KACrBM,WAAW,GAAGJ,YAAY;IAAA,KAG/BE,gBAAyC,GAAzCA,gBAAyC;EAChD;EAAC,IAAAG,MAAA,GAAAJ,gBAAA,CAAAK,SAAA;EAAAD,MAAA,CAEEE,qBAAqB,GAA5B,SAAOA,qBAAqBA,CACxBC,MAAmE,EACvB;IAC5CX,uCAAuC,CAACW,MAAM,CAAC;IAC/C,OAAOT,4BAA4B,CAAC,IAAI,EAAES,MAAM,EAAE,IAAI,CAACN,gBAAgB,CAAC;EAC5E,CAAC;EAAA,OAAAD,gBAAA;AAAA;AAGL,OAAO,SAASQ,mBAAmBA,CAC/BP,gBAAyC,EACzB;EAChB,IAAMQ,OAAO,GAAG,IAAIT,gBAAgB,CAACC,gBAAgB,CAAC;EACtD,OAAOQ,OAAO;AAClB","ignoreList":[]}
|