@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":"replication-helper.js","names":["flatClone","getComposedPrimaryKeyOfDocumentData","DEFAULT_MODIFIER","d","Promise","resolve","swapDefaultDeletedTodeletedField","deletedField","doc","isDeleted","_deleted","handlePulledDocuments","collection","docs","map","useDoc","primaryPath","schema","jsonSchema","awaitRetry","retryTime","window","addEventListener","navigator","onLine","promiseWait","listener","onlineAgain","res","removeEventListener","race","then","preventHibernateBrowserTab","replicationState","simulateActivity","document","dispatchEvent","event","Event","intervalId","setInterval","onCancel","push","clearInterval"],"sources":["../../../../src/plugins/replication/replication-helper.ts"],"sourcesContent":["import type {\r\n RxCollection,\r\n WithDeleted\r\n} from '../../types/index.d.ts';\r\nimport { flatClone } from '../../plugins/utils/index.ts';\r\nimport { getComposedPrimaryKeyOfDocumentData } from '../../rx-schema-helper.ts';\r\nimport type { RxReplicationState } from './index.ts';\r\n\r\n// does nothing\r\nexport const DEFAULT_MODIFIER = (d: any) => Promise.resolve(d);\r\n\r\n\r\nexport function swapDefaultDeletedTodeletedField<RxDocType>(\r\n deletedField: string,\r\n doc: WithDeleted<RxDocType>\r\n): RxDocType {\r\n if (deletedField === '_deleted') {\r\n return doc;\r\n } else {\r\n doc = flatClone(doc);\r\n const isDeleted = !!doc._deleted;\r\n (doc as any)[deletedField] = isDeleted;\r\n delete (doc as any)._deleted;\r\n return doc;\r\n }\r\n}\r\n\r\n/**\r\n * Must be run over all plain document data\r\n * that was pulled from the remote.\r\n * Used to fill up fields or modify the deleted field etc.\r\n */\r\nexport function handlePulledDocuments<RxDocType>(\r\n collection: RxCollection<RxDocType, unknown, unknown, unknown>,\r\n deletedField: string,\r\n docs: RxDocType[]\r\n): WithDeleted<RxDocType>[] {\r\n return docs.map(doc => {\r\n const useDoc: WithDeleted<RxDocType> = flatClone(doc) as any;\r\n\r\n /**\r\n * Swap out the deleted field\r\n */\r\n if (deletedField !== '_deleted') {\r\n const isDeleted = !!(useDoc as any)[deletedField];\r\n (useDoc as any)._deleted = isDeleted;\r\n delete (useDoc as any)[deletedField];\r\n } else {\r\n // ensure we have a boolean.\r\n useDoc._deleted = !!useDoc._deleted;\r\n }\r\n\r\n /**\r\n * Fill up composed primary\r\n */\r\n const primaryPath = collection.schema.primaryPath;\r\n (useDoc as any)[primaryPath] = getComposedPrimaryKeyOfDocumentData(\r\n collection.schema.jsonSchema,\r\n useDoc\r\n );\r\n return useDoc as any;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Like normal promiseWait()\r\n * but will skip the wait time if the online-state changes.\r\n */\r\nexport function awaitRetry(\r\n collection: RxCollection<any, any, any>,\r\n retryTime: number\r\n) {\r\n if (\r\n typeof window === 'undefined' ||\r\n typeof window !== 'object' ||\r\n typeof window.addEventListener === 'undefined' ||\r\n navigator.onLine\r\n ) {\r\n return collection.promiseWait(retryTime);\r\n }\r\n\r\n let listener: any;\r\n const onlineAgain = new Promise<void>(res => {\r\n listener = () => {\r\n window.removeEventListener('online', listener);\r\n res();\r\n };\r\n window.addEventListener('online', listener);\r\n });\r\n\r\n return Promise.race([\r\n onlineAgain,\r\n collection.promiseWait(retryTime)\r\n ]).then(() => {\r\n window.removeEventListener('online', listener);\r\n });\r\n}\r\n\r\n\r\n/**\r\n * When a replication is running and the leading tab get hibernated\r\n * by the browser, the replication will be stuck.\r\n * To prevent this, we fire a mouseeven each X seconds while the replication is not canceled.\r\n * \r\n * If you find a better way to prevent hibernation, please make a pull request.\r\n */\r\nexport function preventHibernateBrowserTab(replicationState: RxReplicationState<any, any>) {\r\n function simulateActivity() {\r\n if (\r\n typeof document === 'undefined' ||\r\n typeof document.dispatchEvent !== 'function'\r\n ) {\r\n return;\r\n }\r\n const event = new Event('mousemove');\r\n document.dispatchEvent(event);\r\n }\r\n\r\n const intervalId = setInterval(simulateActivity, 20 * 1000); // Simulate activity every 20 seconds\r\n replicationState.onCancel.push(() => clearInterval(intervalId));\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { flatClone } from "../utils/index.js";
|
|
2
|
+
export function appwriteDocToRxDB(appwriteDoc, primaryKey, deletedField) {
|
|
3
|
+
var useDoc = {};
|
|
4
|
+
Object.keys(appwriteDoc).forEach(key => {
|
|
5
|
+
if (!key.startsWith('$')) {
|
|
6
|
+
useDoc[key] = appwriteDoc[key];
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
useDoc[primaryKey] = appwriteDoc.$id;
|
|
10
|
+
useDoc._deleted = appwriteDoc[deletedField];
|
|
11
|
+
if (deletedField !== '_deleted') {
|
|
12
|
+
delete useDoc[deletedField];
|
|
13
|
+
}
|
|
14
|
+
return useDoc;
|
|
15
|
+
}
|
|
16
|
+
export function rxdbDocToAppwrite(rxdbDoc, primaryKey, deletedField) {
|
|
17
|
+
var writeDoc = flatClone(rxdbDoc);
|
|
18
|
+
delete writeDoc._attachments;
|
|
19
|
+
delete writeDoc[primaryKey];
|
|
20
|
+
writeDoc[deletedField] = writeDoc._deleted;
|
|
21
|
+
if (deletedField !== '_deleted') {
|
|
22
|
+
delete writeDoc._deleted;
|
|
23
|
+
}
|
|
24
|
+
return writeDoc;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=appwrite-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appwrite-helpers.js","names":["flatClone","appwriteDocToRxDB","appwriteDoc","primaryKey","deletedField","useDoc","Object","keys","forEach","key","startsWith","$id","_deleted","rxdbDocToAppwrite","rxdbDoc","writeDoc","_attachments"],"sources":["../../../../src/plugins/replication-appwrite/appwrite-helpers.ts"],"sourcesContent":["import type { RxDocumentData, WithDeleted, WithDeletedAndAttachments } from '../../types';\r\nimport { flatClone } from '../utils/index.ts';\r\n\r\nexport function appwriteDocToRxDB<RxDocType>(\r\n appwriteDoc: any,\r\n primaryKey: string,\r\n deletedField: string\r\n\r\n): WithDeleted<RxDocType> {\r\n const useDoc: any = {};\r\n Object.keys(appwriteDoc).forEach(key => {\r\n if (!key.startsWith('$')) {\r\n useDoc[key] = appwriteDoc[key];\r\n }\r\n });\r\n useDoc[primaryKey] = appwriteDoc.$id;\r\n useDoc._deleted = appwriteDoc[deletedField];\r\n if (deletedField !== '_deleted') {\r\n delete useDoc[deletedField];\r\n }\r\n return useDoc;\r\n}\r\n\r\n\r\nexport function rxdbDocToAppwrite<RxDocType>(\r\n rxdbDoc: WithDeletedAndAttachments<RxDocType>,\r\n primaryKey: string,\r\n deletedField: string\r\n) {\r\n const writeDoc: any = flatClone(rxdbDoc);\r\n delete (writeDoc as WithDeletedAndAttachments<RxDocType>)._attachments;\r\n delete writeDoc[primaryKey];\r\n writeDoc[deletedField] = writeDoc._deleted;\r\n if (deletedField !== '_deleted') {\r\n delete writeDoc._deleted;\r\n }\r\n return writeDoc;\r\n}\r\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,mBAAmB;AAE7C,OAAO,SAASC,iBAAiBA,CAC7BC,WAAgB,EAChBC,UAAkB,EAClBC,YAAoB,EAEE;EACtB,IAAMC,MAAW,GAAG,CAAC,CAAC;EACtBC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,OAAO,CAACC,GAAG,IAAI;IACpC,IAAI,CAACA,GAAG,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;MACtBL,MAAM,CAACI,GAAG,CAAC,GAAGP,WAAW,CAACO,GAAG,CAAC;IAClC;EACJ,CAAC,CAAC;EACFJ,MAAM,CAACF,UAAU,CAAC,GAAGD,WAAW,CAACS,GAAG;EACpCN,MAAM,CAACO,QAAQ,GAAGV,WAAW,CAACE,YAAY,CAAC;EAC3C,IAAIA,YAAY,KAAK,UAAU,EAAE;IAC7B,OAAOC,MAAM,CAACD,YAAY,CAAC;EAC/B;EACA,OAAOC,MAAM;AACjB;AAGA,OAAO,SAASQ,iBAAiBA,CAC7BC,OAA6C,EAC7CX,UAAkB,EAClBC,YAAoB,EACtB;EACE,IAAMW,QAAa,GAAGf,SAAS,CAACc,OAAO,CAAC;EACxC,OAAQC,QAAQ,CAA0CC,YAAY;EACtE,OAAOD,QAAQ,CAACZ,UAAU,CAAC;EAC3BY,QAAQ,CAACX,YAAY,CAAC,GAAGW,QAAQ,CAACH,QAAQ;EAC1C,IAAIR,YAAY,KAAK,UAAU,EAAE;IAC7B,OAAOW,QAAQ,CAACH,QAAQ;EAC5B;EACA,OAAOG,QAAQ;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appwrite-types.js","names":[],"sources":["../../../../src/plugins/replication-appwrite/appwrite-types.ts"],"sourcesContent":["import type {\r\n ById,\r\n ReplicationOptions,\r\n ReplicationPullOptions,\r\n ReplicationPushOptions\r\n} from '../../types/index.d.ts';\r\n\r\nimport type { Client, Account } from 'appwrite';\r\n\r\nexport type AppwriteCheckpointType = {\r\n updatedAt: string;\r\n id: string;\r\n};\r\n\r\nexport type FetchMethodType = typeof fetch;\r\nexport type SyncOptionsAppwrite<RxDocType> = Omit<\r\n ReplicationOptions<RxDocType, any>,\r\n 'pull' | 'push' | 'deletedField'\r\n> & {\r\n databaseId: string;\r\n collectionId: string;\r\n client: Client;\r\n deletedField: string;\r\n\r\n pull?: Omit<ReplicationPullOptions<RxDocType, AppwriteCheckpointType>, 'handler' | 'stream$'> & {\r\n };\r\n push?: Omit<ReplicationPushOptions<RxDocType>, 'handler'>;\r\n};\r\n\r\n\r\nexport type URLQueryParams = ById<string | number | undefined | boolean>;\r\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
|
|
2
|
+
import { RxReplicationState, startReplicationOnLeaderShip } from "../replication/index.js";
|
|
3
|
+
import { addRxPlugin } from "../../plugin.js";
|
|
4
|
+
import { RxDBLeaderElectionPlugin } from "../leader-election/index.js";
|
|
5
|
+
import { Databases, Query } from 'appwrite';
|
|
6
|
+
import { lastOfArray } from "../utils/utils-array.js";
|
|
7
|
+
import { appwriteDocToRxDB, rxdbDocToAppwrite } from "./appwrite-helpers.js";
|
|
8
|
+
import { flatClone } from "../utils/utils-object.js";
|
|
9
|
+
import { Subject } from 'rxjs';
|
|
10
|
+
import { getFromMapOrThrow } from "../utils/index.js";
|
|
11
|
+
export var RxAppwriteReplicationState = /*#__PURE__*/function (_RxReplicationState) {
|
|
12
|
+
function RxAppwriteReplicationState(replicationIdentifierHash, collection, pull, push, live = true, retryTime = 1000 * 5, autoStart = true) {
|
|
13
|
+
var _this;
|
|
14
|
+
_this = _RxReplicationState.call(this, replicationIdentifierHash, collection, '_deleted', pull, push, live, retryTime, autoStart) || this;
|
|
15
|
+
_this.replicationIdentifierHash = replicationIdentifierHash;
|
|
16
|
+
_this.collection = collection;
|
|
17
|
+
_this.pull = pull;
|
|
18
|
+
_this.push = push;
|
|
19
|
+
_this.live = live;
|
|
20
|
+
_this.retryTime = retryTime;
|
|
21
|
+
_this.autoStart = autoStart;
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
_inheritsLoose(RxAppwriteReplicationState, _RxReplicationState);
|
|
25
|
+
return RxAppwriteReplicationState;
|
|
26
|
+
}(RxReplicationState);
|
|
27
|
+
export function replicateAppwrite(options) {
|
|
28
|
+
var collection = options.collection;
|
|
29
|
+
var primaryKey = collection.schema.primaryPath;
|
|
30
|
+
var pullStream$ = new Subject();
|
|
31
|
+
addRxPlugin(RxDBLeaderElectionPlugin);
|
|
32
|
+
options.live = typeof options.live === 'undefined' ? true : options.live;
|
|
33
|
+
options.deletedField = options.deletedField ? options.deletedField : '_deleted';
|
|
34
|
+
options.waitForLeadership = typeof options.waitForLeadership === 'undefined' ? true : options.waitForLeadership;
|
|
35
|
+
var databases = new Databases(options.client);
|
|
36
|
+
var replicationPrimitivesPull = options.pull ? {
|
|
37
|
+
batchSize: options.pull.batchSize,
|
|
38
|
+
modifier: options.pull.modifier,
|
|
39
|
+
stream$: pullStream$.asObservable(),
|
|
40
|
+
initialCheckpoint: options.pull.initialCheckpoint,
|
|
41
|
+
handler: async (lastPulledCheckpoint, batchSize) => {
|
|
42
|
+
var queries = [];
|
|
43
|
+
if (lastPulledCheckpoint) {
|
|
44
|
+
queries.push(Query.or([Query.greaterThan('$updatedAt', lastPulledCheckpoint.updatedAt), Query.and([Query.equal('$updatedAt', lastPulledCheckpoint.updatedAt), Query.greaterThan('$id', lastPulledCheckpoint.id)])]));
|
|
45
|
+
}
|
|
46
|
+
queries.push(Query.orderAsc('$updatedAt'));
|
|
47
|
+
queries.push(Query.orderAsc('$id'));
|
|
48
|
+
queries.push(Query.limit(batchSize));
|
|
49
|
+
var result = await databases.listDocuments(options.databaseId, options.collectionId, queries);
|
|
50
|
+
var lastDoc = lastOfArray(result.documents);
|
|
51
|
+
var newCheckpoint = lastDoc ? {
|
|
52
|
+
id: lastDoc.$id,
|
|
53
|
+
updatedAt: lastDoc.$updatedAt
|
|
54
|
+
} : undefined;
|
|
55
|
+
var resultDocs = result.documents.map(doc => {
|
|
56
|
+
return appwriteDocToRxDB(doc, primaryKey, options.deletedField);
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
checkpoint: newCheckpoint,
|
|
60
|
+
documents: resultDocs
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
} : undefined;
|
|
64
|
+
var replicationPrimitivesPush = options.push ? {
|
|
65
|
+
async handler(rows) {
|
|
66
|
+
var query;
|
|
67
|
+
|
|
68
|
+
// inserts will conflict on write
|
|
69
|
+
var nonInsertRows = rows.filter(row => row.assumedMasterState);
|
|
70
|
+
var updateDocsInDbById = new Map();
|
|
71
|
+
if (nonInsertRows.length > 0) {
|
|
72
|
+
if (nonInsertRows.length > 1) {
|
|
73
|
+
query = Query.or(nonInsertRows.map(row => {
|
|
74
|
+
var id = row.newDocumentState[primaryKey];
|
|
75
|
+
return Query.equal('$id', id);
|
|
76
|
+
}));
|
|
77
|
+
} else {
|
|
78
|
+
var id = nonInsertRows[0].newDocumentState[primaryKey];
|
|
79
|
+
query = Query.equal('$id', id);
|
|
80
|
+
}
|
|
81
|
+
var updateDocsOnServer = await databases.listDocuments(options.databaseId, options.collectionId, [query]);
|
|
82
|
+
updateDocsOnServer.documents.forEach(doc => {
|
|
83
|
+
var docDataInDb = appwriteDocToRxDB(doc, primaryKey, options.deletedField);
|
|
84
|
+
var docId = doc.$id;
|
|
85
|
+
docDataInDb[primaryKey] = docId;
|
|
86
|
+
updateDocsInDbById.set(docId, docDataInDb);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
var conflicts = [];
|
|
90
|
+
await Promise.all(rows.map(async writeRow => {
|
|
91
|
+
var docId = writeRow.newDocumentState[primaryKey];
|
|
92
|
+
if (!writeRow.assumedMasterState) {
|
|
93
|
+
// INSERT
|
|
94
|
+
var insertDoc = rxdbDocToAppwrite(writeRow.newDocumentState, primaryKey, options.deletedField);
|
|
95
|
+
try {
|
|
96
|
+
await databases.createDocument(options.databaseId, options.collectionId, docId, insertDoc
|
|
97
|
+
// ["read("any")"] // permissions (optional)
|
|
98
|
+
);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
if (err.code == 409 && err.name === 'AppwriteException') {
|
|
101
|
+
// document already exists -> conflict
|
|
102
|
+
var docOnServer = await databases.getDocument(options.databaseId, options.collectionId, docId);
|
|
103
|
+
var docOnServerData = appwriteDocToRxDB(docOnServer, primaryKey, options.deletedField);
|
|
104
|
+
conflicts.push(docOnServerData);
|
|
105
|
+
} else {
|
|
106
|
+
throw err;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
} else {
|
|
110
|
+
// UPDATE
|
|
111
|
+
/**
|
|
112
|
+
* TODO appwrite does not have a update-if-equals-X method,
|
|
113
|
+
* so we pre-fetch the documents and compare them locally.
|
|
114
|
+
* This might cause problems when multiple users update the
|
|
115
|
+
* same documents very fast.
|
|
116
|
+
*/
|
|
117
|
+
var docInDb = getFromMapOrThrow(updateDocsInDbById, docId);
|
|
118
|
+
if (!writeRow.assumedMasterState || collection.conflictHandler.isEqual(docInDb, writeRow.assumedMasterState, 'replication-appwrite-push') === false) {
|
|
119
|
+
// conflict
|
|
120
|
+
conflicts.push(docInDb);
|
|
121
|
+
} else {
|
|
122
|
+
// no conflict
|
|
123
|
+
var writeDoc = flatClone(writeRow.newDocumentState);
|
|
124
|
+
delete writeDoc[primaryKey];
|
|
125
|
+
writeDoc[options.deletedField] = writeDoc._deleted;
|
|
126
|
+
if (options.deletedField !== '_deleted') {
|
|
127
|
+
delete writeDoc._deleted;
|
|
128
|
+
}
|
|
129
|
+
await databases.updateDocument(options.databaseId, options.collectionId, docId, writeDoc
|
|
130
|
+
// ["read("any")"] // permissions (optional)
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}));
|
|
135
|
+
return conflicts;
|
|
136
|
+
}
|
|
137
|
+
} : undefined;
|
|
138
|
+
var replicationState = new RxAppwriteReplicationState(options.replicationIdentifier, collection, replicationPrimitivesPull, replicationPrimitivesPush, options.live, options.retryTime, options.autoStart);
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Subscribe to changes for the pull.stream$
|
|
142
|
+
*/
|
|
143
|
+
if (options.live && options.pull) {
|
|
144
|
+
var startBefore = replicationState.start.bind(replicationState);
|
|
145
|
+
var cancelBefore = replicationState.cancel.bind(replicationState);
|
|
146
|
+
replicationState.start = () => {
|
|
147
|
+
var channel = 'databases.' + options.databaseId + '.collections.' + options.collectionId + '.documents';
|
|
148
|
+
var unsubscribe = options.client.subscribe(channel, response => {
|
|
149
|
+
var docData = appwriteDocToRxDB(response.payload, primaryKey, options.deletedField);
|
|
150
|
+
pullStream$.next({
|
|
151
|
+
checkpoint: {
|
|
152
|
+
id: docData[primaryKey],
|
|
153
|
+
updatedAt: response.payload.$updatedAt
|
|
154
|
+
},
|
|
155
|
+
documents: [docData]
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
replicationState.cancel = () => {
|
|
159
|
+
unsubscribe();
|
|
160
|
+
return cancelBefore();
|
|
161
|
+
};
|
|
162
|
+
return startBefore();
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
startReplicationOnLeaderShip(options.waitForLeadership, replicationState);
|
|
166
|
+
return replicationState;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["RxReplicationState","startReplicationOnLeaderShip","addRxPlugin","RxDBLeaderElectionPlugin","Databases","Query","lastOfArray","appwriteDocToRxDB","rxdbDocToAppwrite","flatClone","Subject","getFromMapOrThrow","RxAppwriteReplicationState","_RxReplicationState","replicationIdentifierHash","collection","pull","push","live","retryTime","autoStart","_this","call","_inheritsLoose","replicateAppwrite","options","primaryKey","schema","primaryPath","pullStream$","deletedField","waitForLeadership","databases","client","replicationPrimitivesPull","batchSize","modifier","stream$","asObservable","initialCheckpoint","handler","lastPulledCheckpoint","queries","or","greaterThan","updatedAt","and","equal","id","orderAsc","limit","result","listDocuments","databaseId","collectionId","lastDoc","documents","newCheckpoint","$id","$updatedAt","undefined","resultDocs","map","doc","checkpoint","replicationPrimitivesPush","rows","query","nonInsertRows","filter","row","assumedMasterState","updateDocsInDbById","Map","length","newDocumentState","updateDocsOnServer","forEach","docDataInDb","docId","set","conflicts","Promise","all","writeRow","insertDoc","createDocument","err","code","name","docOnServer","getDocument","docOnServerData","docInDb","conflictHandler","isEqual","writeDoc","_deleted","updateDocument","replicationState","replicationIdentifier","startBefore","start","bind","cancelBefore","cancel","channel","unsubscribe","subscribe","response","docData","payload","next"],"sources":["../../../../src/plugins/replication-appwrite/index.ts"],"sourcesContent":["import type {\r\n SyncOptionsAppwrite,\r\n AppwriteCheckpointType\r\n} from './appwrite-types';\r\nimport {\r\n RxReplicationState,\r\n startReplicationOnLeaderShip\r\n} from '../replication/index.ts';\r\nimport type {\r\n ById,\r\n ReplicationPullOptions,\r\n ReplicationPushOptions,\r\n RxCollection,\r\n RxReplicationPullStreamItem,\r\n RxReplicationWriteToMasterRow,\r\n WithDeleted\r\n} from '../../types';\r\nimport { addRxPlugin } from '../../plugin.ts';\r\nimport { RxDBLeaderElectionPlugin } from '../leader-election/index.ts';\r\nimport {\r\n Databases,\r\n Query,\r\n Models\r\n} from 'appwrite';\r\nimport { lastOfArray } from '../utils/utils-array.ts';\r\nimport { appwriteDocToRxDB, rxdbDocToAppwrite } from './appwrite-helpers.ts';\r\nimport { flatClone } from '../utils/utils-object.ts';\r\nimport { Subject } from 'rxjs';\r\nimport { getFromMapOrThrow } from '../utils/index.ts';\r\n\r\nexport class RxAppwriteReplicationState<RxDocType> extends RxReplicationState<RxDocType, AppwriteCheckpointType> {\r\n constructor(\r\n public readonly replicationIdentifierHash: string,\r\n public readonly collection: RxCollection<RxDocType>,\r\n public readonly pull?: ReplicationPullOptions<RxDocType, AppwriteCheckpointType>,\r\n public readonly push?: ReplicationPushOptions<RxDocType>,\r\n public readonly live: boolean = true,\r\n public retryTime: number = 1000 * 5,\r\n public autoStart: boolean = true\r\n ) {\r\n super(\r\n replicationIdentifierHash,\r\n collection,\r\n '_deleted',\r\n pull,\r\n push,\r\n live,\r\n retryTime,\r\n autoStart\r\n );\r\n }\r\n}\r\n\r\nexport function replicateAppwrite<RxDocType>(\r\n options: SyncOptionsAppwrite<RxDocType>\r\n): RxAppwriteReplicationState<RxDocType> {\r\n const collection: RxCollection<RxDocType, any, any> = options.collection;\r\n const primaryKey = collection.schema.primaryPath;\r\n const pullStream$: Subject<RxReplicationPullStreamItem<RxDocType, AppwriteCheckpointType>> = new Subject();\r\n\r\n addRxPlugin(RxDBLeaderElectionPlugin);\r\n options.live = typeof options.live === 'undefined' ? true : options.live;\r\n options.deletedField = options.deletedField ? options.deletedField : '_deleted';\r\n options.waitForLeadership = typeof options.waitForLeadership === 'undefined' ? true : options.waitForLeadership;\r\n\r\n const databases = new Databases(options.client);\r\n\r\n const replicationPrimitivesPull: ReplicationPullOptions<RxDocType, AppwriteCheckpointType> | undefined = options.pull ? {\r\n batchSize: options.pull.batchSize,\r\n modifier: options.pull.modifier,\r\n stream$: pullStream$.asObservable(),\r\n initialCheckpoint: options.pull.initialCheckpoint,\r\n handler: async (\r\n lastPulledCheckpoint: AppwriteCheckpointType | undefined,\r\n batchSize: number\r\n ) => {\r\n const queries: string[] = [];\r\n if (lastPulledCheckpoint) {\r\n queries.push(\r\n Query.or([\r\n Query.greaterThan('$updatedAt', lastPulledCheckpoint.updatedAt),\r\n Query.and([\r\n Query.equal('$updatedAt', lastPulledCheckpoint.updatedAt),\r\n Query.greaterThan('$id', lastPulledCheckpoint.id)\r\n ])\r\n ])\r\n );\r\n }\r\n queries.push(Query.orderAsc('$updatedAt'));\r\n queries.push(Query.orderAsc('$id'));\r\n queries.push(Query.limit(batchSize));\r\n\r\n const result = await databases.listDocuments(\r\n options.databaseId,\r\n options.collectionId,\r\n queries\r\n );\r\n const lastDoc: any = lastOfArray(result.documents);\r\n const newCheckpoint: AppwriteCheckpointType | undefined = lastDoc ? {\r\n id: lastDoc.$id,\r\n updatedAt: lastDoc.$updatedAt\r\n } : undefined;\r\n const resultDocs: WithDeleted<RxDocType>[] = result.documents.map((doc: any) => {\r\n return appwriteDocToRxDB<RxDocType>(\r\n doc,\r\n primaryKey,\r\n options.deletedField\r\n );\r\n });\r\n\r\n return {\r\n checkpoint: newCheckpoint,\r\n documents: resultDocs\r\n };\r\n }\r\n } : undefined;\r\n\r\n const replicationPrimitivesPush: ReplicationPushOptions<RxDocType> | undefined = options.push ? {\r\n async handler(\r\n rows: RxReplicationWriteToMasterRow<RxDocType>[]\r\n ) {\r\n let query: string;\r\n\r\n // inserts will conflict on write\r\n const nonInsertRows = rows.filter(row => row.assumedMasterState);\r\n const updateDocsInDbById = new Map<string, RxDocType>();\r\n if (nonInsertRows.length > 0) {\r\n if (nonInsertRows.length > 1) {\r\n query = Query.or(\r\n nonInsertRows.map(row => {\r\n const id: string = (row.newDocumentState as any)[primaryKey];\r\n return Query.equal('$id', id);\r\n })\r\n );\r\n } else {\r\n const id: string = (nonInsertRows[0].newDocumentState as any)[primaryKey];\r\n query = Query.equal('$id', id);\r\n }\r\n const updateDocsOnServer = await databases.listDocuments(\r\n options.databaseId,\r\n options.collectionId,\r\n [query]\r\n );\r\n updateDocsOnServer.documents.forEach((doc: any) => {\r\n const docDataInDb = appwriteDocToRxDB<RxDocType>(doc, primaryKey, options.deletedField);\r\n const docId: string = doc.$id;\r\n (docDataInDb as any)[primaryKey] = docId;\r\n updateDocsInDbById.set(docId, docDataInDb);\r\n });\r\n }\r\n\r\n const conflicts: WithDeleted<RxDocType>[] = [];\r\n await Promise.all(\r\n rows.map(async (writeRow) => {\r\n const docId = (writeRow.newDocumentState as any)[primaryKey];\r\n\r\n if (!writeRow.assumedMasterState) {\r\n // INSERT\r\n const insertDoc = rxdbDocToAppwrite<RxDocType>(\r\n writeRow.newDocumentState,\r\n primaryKey,\r\n options.deletedField\r\n );\r\n try {\r\n await databases.createDocument(\r\n options.databaseId,\r\n options.collectionId,\r\n docId,\r\n insertDoc,\r\n // [\"read(\"any\")\"] // permissions (optional)\r\n );\r\n } catch (err: any) {\r\n if (err.code == 409 && err.name === 'AppwriteException') {\r\n // document already exists -> conflict\r\n const docOnServer = await databases.getDocument(\r\n options.databaseId,\r\n options.collectionId,\r\n docId\r\n );\r\n const docOnServerData = appwriteDocToRxDB<RxDocType>(docOnServer, primaryKey, options.deletedField);\r\n conflicts.push(docOnServerData);\r\n } else {\r\n throw err;\r\n }\r\n }\r\n } else {\r\n // UPDATE\r\n /**\r\n * TODO appwrite does not have a update-if-equals-X method,\r\n * so we pre-fetch the documents and compare them locally.\r\n * This might cause problems when multiple users update the\r\n * same documents very fast.\r\n */\r\n const docInDb: RxDocType = getFromMapOrThrow(updateDocsInDbById, docId);\r\n if (\r\n !writeRow.assumedMasterState ||\r\n collection.conflictHandler.isEqual(docInDb as any, writeRow.assumedMasterState, 'replication-appwrite-push') === false\r\n ) {\r\n // conflict\r\n conflicts.push(docInDb as any);\r\n } else {\r\n // no conflict\r\n const writeDoc: any = flatClone(writeRow.newDocumentState);\r\n delete writeDoc[primaryKey];\r\n writeDoc[options.deletedField] = writeDoc._deleted;\r\n if (options.deletedField !== '_deleted') {\r\n delete writeDoc._deleted;\r\n }\r\n\r\n await databases.updateDocument(\r\n options.databaseId,\r\n options.collectionId,\r\n docId,\r\n writeDoc,\r\n // [\"read(\"any\")\"] // permissions (optional)\r\n );\r\n }\r\n\r\n }\r\n })\r\n );\r\n\r\n return conflicts;\r\n }\r\n } : undefined;\r\n\r\n const replicationState = new RxAppwriteReplicationState<RxDocType>(\r\n options.replicationIdentifier,\r\n collection,\r\n replicationPrimitivesPull,\r\n replicationPrimitivesPush,\r\n options.live,\r\n options.retryTime,\r\n options.autoStart\r\n );\r\n\r\n /**\r\n * Subscribe to changes for the pull.stream$\r\n */\r\n if (options.live && options.pull) {\r\n const startBefore = replicationState.start.bind(replicationState);\r\n const cancelBefore = replicationState.cancel.bind(replicationState);\r\n replicationState.start = () => {\r\n const channel = 'databases.' + options.databaseId + '.collections.' + options.collectionId + '.documents';\r\n const unsubscribe = options.client.subscribe(\r\n channel,\r\n (response: any) => {\r\n const docData = appwriteDocToRxDB<RxDocType>(response.payload, primaryKey, options.deletedField);\r\n pullStream$.next({\r\n checkpoint: {\r\n id: (docData as any)[primaryKey],\r\n updatedAt: (response.payload as any).$updatedAt\r\n },\r\n documents: [docData]\r\n });\r\n\r\n }\r\n );\r\n replicationState.cancel = () => {\r\n unsubscribe();\r\n return cancelBefore();\r\n };\r\n return startBefore();\r\n };\r\n }\r\n\r\n startReplicationOnLeaderShip(options.waitForLeadership, replicationState);\r\n return replicationState;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { b64EncodeUnicode, flatClone } from "../../plugins/utils/index.js";
|
|
2
|
+
export var COUCHDB_NEW_REPLICATION_PLUGIN_IDENTITY_PREFIX = 'couchdb';
|
|
3
|
+
export function mergeUrlQueryParams(params) {
|
|
4
|
+
return Object.entries(params).filter(([_k, value]) => typeof value !== 'undefined').map(([key, value]) => key + '=' + value).join('&');
|
|
5
|
+
}
|
|
6
|
+
export function couchDBDocToRxDocData(primaryPath, couchDocData) {
|
|
7
|
+
var doc = couchSwapIdToPrimary(primaryPath, couchDocData);
|
|
8
|
+
|
|
9
|
+
// ensure deleted flag is set.
|
|
10
|
+
doc._deleted = !!doc._deleted;
|
|
11
|
+
delete doc._rev;
|
|
12
|
+
return doc;
|
|
13
|
+
}
|
|
14
|
+
export function couchSwapIdToPrimary(primaryKey, docData) {
|
|
15
|
+
if (primaryKey === '_id' || docData[primaryKey]) {
|
|
16
|
+
return flatClone(docData);
|
|
17
|
+
}
|
|
18
|
+
docData = flatClone(docData);
|
|
19
|
+
docData[primaryKey] = docData._id;
|
|
20
|
+
delete docData._id;
|
|
21
|
+
return docData;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Swaps the primaryKey of the document
|
|
26
|
+
* to the _id property.
|
|
27
|
+
*/
|
|
28
|
+
export function couchSwapPrimaryToId(primaryKey, docData) {
|
|
29
|
+
// optimisation shortcut
|
|
30
|
+
if (primaryKey === '_id') {
|
|
31
|
+
return docData;
|
|
32
|
+
}
|
|
33
|
+
var idValue = docData[primaryKey];
|
|
34
|
+
var ret = flatClone(docData);
|
|
35
|
+
delete ret[primaryKey];
|
|
36
|
+
ret._id = idValue;
|
|
37
|
+
return ret;
|
|
38
|
+
}
|
|
39
|
+
export function getDefaultFetch() {
|
|
40
|
+
if (typeof window === 'object' && window['fetch']) {
|
|
41
|
+
/**
|
|
42
|
+
* @link https://stackoverflow.com/a/47180009/3443137
|
|
43
|
+
*/
|
|
44
|
+
return window.fetch.bind(window);
|
|
45
|
+
} else {
|
|
46
|
+
return fetch;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Returns a fetch handler that contains the username and password
|
|
52
|
+
* in the Authorization header
|
|
53
|
+
*/
|
|
54
|
+
export function getFetchWithCouchDBAuthorization(username, password) {
|
|
55
|
+
var ret = (url, options) => {
|
|
56
|
+
options = Object.assign({}, options);
|
|
57
|
+
if (!options.headers) {
|
|
58
|
+
options.headers = {};
|
|
59
|
+
}
|
|
60
|
+
options.headers['Authorization'] = 'Basic ' + b64EncodeUnicode(username + ':' + password);
|
|
61
|
+
return fetch(url, options);
|
|
62
|
+
};
|
|
63
|
+
return ret;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=couchdb-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"couchdb-helper.js","names":["b64EncodeUnicode","flatClone","COUCHDB_NEW_REPLICATION_PLUGIN_IDENTITY_PREFIX","mergeUrlQueryParams","params","Object","entries","filter","_k","value","map","key","join","couchDBDocToRxDocData","primaryPath","couchDocData","doc","couchSwapIdToPrimary","_deleted","_rev","primaryKey","docData","_id","couchSwapPrimaryToId","idValue","ret","getDefaultFetch","window","fetch","bind","getFetchWithCouchDBAuthorization","username","password","url","options","assign","headers"],"sources":["../../../../src/plugins/replication-couchdb/couchdb-helper.ts"],"sourcesContent":["import type {\r\n RxDocumentData,\r\n StringKeys,\r\n WithDeleted\r\n} from '../../types/index.d.ts';\r\nimport { b64EncodeUnicode, flatClone } from '../../plugins/utils/index.ts';\r\nimport { URLQueryParams } from './couchdb-types.ts';\r\n\r\n\r\nexport const COUCHDB_NEW_REPLICATION_PLUGIN_IDENTITY_PREFIX = 'couchdb';\r\n\r\n\r\nexport function mergeUrlQueryParams(\r\n params: URLQueryParams\r\n): string {\r\n return Object.entries(params)\r\n .filter(([_k, value]) => typeof value !== 'undefined')\r\n .map(([key, value]) => key + '=' + value)\r\n .join('&');\r\n}\r\n\r\nexport function couchDBDocToRxDocData<RxDocType>(\r\n primaryPath: string,\r\n couchDocData: any\r\n): WithDeleted<RxDocType> {\r\n const doc = couchSwapIdToPrimary(primaryPath as any, couchDocData);\r\n\r\n // ensure deleted flag is set.\r\n doc._deleted = !!doc._deleted;\r\n\r\n delete doc._rev;\r\n\r\n return doc;\r\n}\r\n\r\n\r\nexport function couchSwapIdToPrimary<T>(\r\n primaryKey: StringKeys<RxDocumentData<T>>,\r\n docData: any\r\n): any {\r\n if (primaryKey === '_id' || docData[primaryKey]) {\r\n return flatClone(docData);\r\n }\r\n docData = flatClone(docData);\r\n docData[primaryKey] = docData._id;\r\n delete docData._id;\r\n\r\n return docData;\r\n}\r\n\r\n/**\r\n * Swaps the primaryKey of the document\r\n * to the _id property.\r\n */\r\nexport function couchSwapPrimaryToId<RxDocType>(\r\n primaryKey: StringKeys<RxDocumentData<RxDocType>>,\r\n docData: any\r\n): RxDocType & { _id: string; } {\r\n // optimisation shortcut\r\n if (primaryKey === '_id') {\r\n return docData;\r\n }\r\n\r\n const idValue = docData[primaryKey];\r\n const ret = flatClone(docData);\r\n delete ret[primaryKey];\r\n ret._id = idValue;\r\n return ret;\r\n}\r\n\r\n\r\nexport function getDefaultFetch() {\r\n if (\r\n typeof window === 'object' &&\r\n (window as any)['fetch']\r\n ) {\r\n /**\r\n * @link https://stackoverflow.com/a/47180009/3443137\r\n */\r\n return window.fetch.bind(window);\r\n } else {\r\n return fetch;\r\n }\r\n}\r\n\r\n/**\r\n * Returns a fetch handler that contains the username and password\r\n * in the Authorization header\r\n */\r\nexport function getFetchWithCouchDBAuthorization(username: string, password: string): typeof fetch {\r\n const ret: typeof fetch = (url, options) => {\r\n options = Object.assign({}, options);\r\n if (!options.headers) {\r\n options.headers = {};\r\n }\r\n (options as any).headers['Authorization'] = 'Basic ' + b64EncodeUnicode(username + ':' + password);\r\n return fetch(url as any, options);\r\n };\r\n return ret;\r\n}\r\n"],"mappings":"AAKA,SAASA,gBAAgB,EAAEC,SAAS,QAAQ,8BAA8B;AAI1E,OAAO,IAAMC,8CAA8C,GAAG,SAAS;AAGvE,OAAO,SAASC,mBAAmBA,CAC/BC,MAAsB,EAChB;EACN,OAAOC,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,CACxBG,MAAM,CAAC,CAAC,CAACC,EAAE,EAAEC,KAAK,CAAC,KAAK,OAAOA,KAAK,KAAK,WAAW,CAAC,CACrDC,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEF,KAAK,CAAC,KAAKE,GAAG,GAAG,GAAG,GAAGF,KAAK,CAAC,CACxCG,IAAI,CAAC,GAAG,CAAC;AAClB;AAEA,OAAO,SAASC,qBAAqBA,CACjCC,WAAmB,EACnBC,YAAiB,EACK;EACtB,IAAMC,GAAG,GAAGC,oBAAoB,CAACH,WAAW,EAASC,YAAY,CAAC;;EAElE;EACAC,GAAG,CAACE,QAAQ,GAAG,CAAC,CAACF,GAAG,CAACE,QAAQ;EAE7B,OAAOF,GAAG,CAACG,IAAI;EAEf,OAAOH,GAAG;AACd;AAGA,OAAO,SAASC,oBAAoBA,CAChCG,UAAyC,EACzCC,OAAY,EACT;EACH,IAAID,UAAU,KAAK,KAAK,IAAIC,OAAO,CAACD,UAAU,CAAC,EAAE;IAC7C,OAAOnB,SAAS,CAACoB,OAAO,CAAC;EAC7B;EACAA,OAAO,GAAGpB,SAAS,CAACoB,OAAO,CAAC;EAC5BA,OAAO,CAACD,UAAU,CAAC,GAAGC,OAAO,CAACC,GAAG;EACjC,OAAOD,OAAO,CAACC,GAAG;EAElB,OAAOD,OAAO;AAClB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAChCH,UAAiD,EACjDC,OAAY,EACgB;EAC5B;EACA,IAAID,UAAU,KAAK,KAAK,EAAE;IACtB,OAAOC,OAAO;EAClB;EAEA,IAAMG,OAAO,GAAGH,OAAO,CAACD,UAAU,CAAC;EACnC,IAAMK,GAAG,GAAGxB,SAAS,CAACoB,OAAO,CAAC;EAC9B,OAAOI,GAAG,CAACL,UAAU,CAAC;EACtBK,GAAG,CAACH,GAAG,GAAGE,OAAO;EACjB,OAAOC,GAAG;AACd;AAGA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAC9B,IACI,OAAOC,MAAM,KAAK,QAAQ,IACzBA,MAAM,CAAS,OAAO,CAAC,EAC1B;IACE;AACR;AACA;IACQ,OAAOA,MAAM,CAACC,KAAK,CAACC,IAAI,CAACF,MAAM,CAAC;EACpC,CAAC,MAAM;IACH,OAAOC,KAAK;EAChB;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gCAAgCA,CAACC,QAAgB,EAAEC,QAAgB,EAAgB;EAC/F,IAAMP,GAAiB,GAAGA,CAACQ,GAAG,EAAEC,OAAO,KAAK;IACxCA,OAAO,GAAG7B,MAAM,CAAC8B,MAAM,CAAC,CAAC,CAAC,EAAED,OAAO,CAAC;IACpC,IAAI,CAACA,OAAO,CAACE,OAAO,EAAE;MAClBF,OAAO,CAACE,OAAO,GAAG,CAAC,CAAC;IACxB;IACCF,OAAO,CAASE,OAAO,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAGpC,gBAAgB,CAAC+B,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC;IAClG,OAAOJ,KAAK,CAACK,GAAG,EAASC,OAAO,CAAC;EACrC,CAAC;EACD,OAAOT,GAAG;AACd","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"couchdb-types.js","names":[],"sources":["../../../../src/plugins/replication-couchdb/couchdb-types.ts"],"sourcesContent":["import type {\r\n ById,\r\n ReplicationOptions,\r\n ReplicationPullOptions,\r\n ReplicationPushOptions\r\n} from '../../types/index.d.ts';\r\n\r\nexport type CouchDBCheckpointType = {\r\n sequence: number;\r\n};\r\n\r\nexport type FetchMethodType = typeof fetch;\r\nexport type SyncOptionsCouchDB<RxDocType> = Omit<\r\n ReplicationOptions<RxDocType, any>,\r\n 'pull' | 'push'\r\n> & {\r\n url: string;\r\n /**\r\n * Here you can set a custom fetch method\r\n * to use http headers or credentials when doing requests.\r\n */\r\n fetch?: FetchMethodType;\r\n pull?: Omit<ReplicationPullOptions<RxDocType, CouchDBCheckpointType>, 'handler' | 'stream$'> & {\r\n /**\r\n * Heartbeat time in milliseconds\r\n * for the long polling of the changestream.\r\n */\r\n heartbeat?: number;\r\n };\r\n push?: Omit<ReplicationPushOptions<RxDocType>, 'handler'>;\r\n};\r\n\r\n\r\nexport type URLQueryParams = ById<string | number | undefined | boolean>;\r\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
|
|
2
|
+
/**
|
|
3
|
+
* This plugin can be used to sync collections with a remote CouchDB endpoint.
|
|
4
|
+
*/
|
|
5
|
+
import { ensureNotFalsy, errorToPlainJson, flatClone, getFromMapOrThrow, now, promiseWait } from "../../plugins/utils/index.js";
|
|
6
|
+
import { RxDBLeaderElectionPlugin } from "../leader-election/index.js";
|
|
7
|
+
import { RxReplicationState, startReplicationOnLeaderShip } from "../replication/index.js";
|
|
8
|
+
import { addRxPlugin, newRxError } from "../../index.js";
|
|
9
|
+
import { Subject } from 'rxjs';
|
|
10
|
+
import { couchDBDocToRxDocData, mergeUrlQueryParams, couchSwapPrimaryToId, getDefaultFetch } from "./couchdb-helper.js";
|
|
11
|
+
import { awaitRetry } from "../replication/replication-helper.js";
|
|
12
|
+
export * from "./couchdb-helper.js";
|
|
13
|
+
export * from "./couchdb-types.js";
|
|
14
|
+
export var RxCouchDBReplicationState = /*#__PURE__*/function (_RxReplicationState) {
|
|
15
|
+
function RxCouchDBReplicationState(url, fetch, replicationIdentifier, collection, pull, push, live = true, retryTime = 1000 * 5, autoStart = true) {
|
|
16
|
+
var _this;
|
|
17
|
+
_this = _RxReplicationState.call(this, replicationIdentifier, collection, '_deleted', pull, push, live, retryTime, autoStart) || this;
|
|
18
|
+
_this.url = url;
|
|
19
|
+
_this.fetch = fetch;
|
|
20
|
+
_this.replicationIdentifier = replicationIdentifier;
|
|
21
|
+
_this.collection = collection;
|
|
22
|
+
_this.pull = pull;
|
|
23
|
+
_this.push = push;
|
|
24
|
+
_this.live = live;
|
|
25
|
+
_this.retryTime = retryTime;
|
|
26
|
+
_this.autoStart = autoStart;
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
_inheritsLoose(RxCouchDBReplicationState, _RxReplicationState);
|
|
30
|
+
return RxCouchDBReplicationState;
|
|
31
|
+
}(RxReplicationState);
|
|
32
|
+
export function replicateCouchDB(options) {
|
|
33
|
+
var collection = options.collection;
|
|
34
|
+
var conflictHandler = collection.conflictHandler;
|
|
35
|
+
addRxPlugin(RxDBLeaderElectionPlugin);
|
|
36
|
+
var primaryPath = options.collection.schema.primaryPath;
|
|
37
|
+
if (!options.url.endsWith('/')) {
|
|
38
|
+
throw newRxError('RC_COUCHDB_1', {
|
|
39
|
+
args: {
|
|
40
|
+
collection: options.collection.name,
|
|
41
|
+
url: options.url
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
options = flatClone(options);
|
|
46
|
+
if (!options.url.endsWith('/')) {
|
|
47
|
+
options.url = options.url + '/';
|
|
48
|
+
}
|
|
49
|
+
options.waitForLeadership = typeof options.waitForLeadership === 'undefined' ? true : options.waitForLeadership;
|
|
50
|
+
var pullStream$ = new Subject();
|
|
51
|
+
var replicationPrimitivesPull;
|
|
52
|
+
if (options.pull) {
|
|
53
|
+
replicationPrimitivesPull = {
|
|
54
|
+
async handler(lastPulledCheckpoint, batchSize) {
|
|
55
|
+
/**
|
|
56
|
+
* @link https://docs.couchdb.org/en/3.2.2-docs/api/database/changes.html
|
|
57
|
+
*/
|
|
58
|
+
var url = options.url + '_changes?' + mergeUrlQueryParams({
|
|
59
|
+
style: 'all_docs',
|
|
60
|
+
feed: 'normal',
|
|
61
|
+
include_docs: true,
|
|
62
|
+
since: lastPulledCheckpoint ? lastPulledCheckpoint.sequence : 0,
|
|
63
|
+
heartbeat: options.pull && options.pull.heartbeat ? options.pull.heartbeat : 60000,
|
|
64
|
+
limit: batchSize,
|
|
65
|
+
seq_interval: batchSize
|
|
66
|
+
});
|
|
67
|
+
var response = await replicationState.fetch(url);
|
|
68
|
+
var jsonResponse = await response.json();
|
|
69
|
+
if (!jsonResponse.results) {
|
|
70
|
+
throw newRxError('RC_COUCHDB_2', {
|
|
71
|
+
args: {
|
|
72
|
+
jsonResponse
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
var documents = jsonResponse.results.map(row => couchDBDocToRxDocData(collection.schema.primaryPath, ensureNotFalsy(row.doc)));
|
|
77
|
+
return {
|
|
78
|
+
documents,
|
|
79
|
+
checkpoint: {
|
|
80
|
+
sequence: jsonResponse.last_seq
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
batchSize: ensureNotFalsy(options.pull).batchSize,
|
|
85
|
+
modifier: ensureNotFalsy(options.pull).modifier,
|
|
86
|
+
stream$: pullStream$.asObservable(),
|
|
87
|
+
initialCheckpoint: options.pull.initialCheckpoint
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
var replicationPrimitivesPush;
|
|
91
|
+
if (options.push) {
|
|
92
|
+
replicationPrimitivesPush = {
|
|
93
|
+
async handler(rows) {
|
|
94
|
+
var conflicts = [];
|
|
95
|
+
var pushRowsById = new Map();
|
|
96
|
+
rows.forEach(row => {
|
|
97
|
+
var id = row.newDocumentState[primaryPath];
|
|
98
|
+
pushRowsById.set(id, row);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* First get the current master state from the remote
|
|
103
|
+
* to check for conflicts
|
|
104
|
+
*/
|
|
105
|
+
var docsByIdResponse = await replicationState.fetch(options.url + '_all_docs?' + mergeUrlQueryParams({}), {
|
|
106
|
+
method: 'POST',
|
|
107
|
+
headers: {
|
|
108
|
+
'content-type': 'application/json'
|
|
109
|
+
},
|
|
110
|
+
body: JSON.stringify({
|
|
111
|
+
keys: rows.map(row => row.newDocumentState[primaryPath]),
|
|
112
|
+
include_docs: true,
|
|
113
|
+
deleted: 'ok'
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
var docsByIdRows = await docsByIdResponse.json();
|
|
117
|
+
var nonConflictRows = [];
|
|
118
|
+
var remoteRevById = new Map();
|
|
119
|
+
await Promise.all(docsByIdRows.rows.map(async row => {
|
|
120
|
+
if (!row.doc) {
|
|
121
|
+
nonConflictRows.push(getFromMapOrThrow(pushRowsById, row.key));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
var realMasterState = couchDBDocToRxDocData(primaryPath, row.doc);
|
|
125
|
+
var pushRow = getFromMapOrThrow(pushRowsById, row.id);
|
|
126
|
+
if (pushRow.assumedMasterState && conflictHandler.isEqual(realMasterState, pushRow.assumedMasterState, 'couchdb-push-1')) {
|
|
127
|
+
remoteRevById.set(row.id, row.doc._rev);
|
|
128
|
+
nonConflictRows.push(pushRow);
|
|
129
|
+
} else {
|
|
130
|
+
conflicts.push(realMasterState);
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* @link https://docs.couchdb.org/en/3.2.2-docs/api/database/bulk-api.html#db-bulk-docs
|
|
136
|
+
*/
|
|
137
|
+
var url = options.url + '_bulk_docs?' + mergeUrlQueryParams({});
|
|
138
|
+
var body = {
|
|
139
|
+
docs: nonConflictRows.map(row => {
|
|
140
|
+
var docId = row.newDocumentState[primaryPath];
|
|
141
|
+
var sendDoc = flatClone(row.newDocumentState);
|
|
142
|
+
if (remoteRevById.has(docId)) {
|
|
143
|
+
sendDoc._rev = getFromMapOrThrow(remoteRevById, docId);
|
|
144
|
+
}
|
|
145
|
+
return couchSwapPrimaryToId(collection.schema.primaryPath, sendDoc);
|
|
146
|
+
})
|
|
147
|
+
};
|
|
148
|
+
var response = await replicationState.fetch(url, {
|
|
149
|
+
method: 'POST',
|
|
150
|
+
headers: {
|
|
151
|
+
'content-type': 'application/json'
|
|
152
|
+
},
|
|
153
|
+
body: JSON.stringify(body)
|
|
154
|
+
});
|
|
155
|
+
var responseJson = await response.json();
|
|
156
|
+
|
|
157
|
+
// get conflicting writes
|
|
158
|
+
var conflictAgainIds = [];
|
|
159
|
+
responseJson.forEach(writeResultRow => {
|
|
160
|
+
var isConflict = writeResultRow.error === 'conflict';
|
|
161
|
+
if (!writeResultRow.ok && !isConflict) {
|
|
162
|
+
throw newRxError('SNH', {
|
|
163
|
+
args: {
|
|
164
|
+
writeResultRow
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (isConflict) {
|
|
169
|
+
conflictAgainIds.push(writeResultRow.id);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
if (conflictAgainIds.length === 0) {
|
|
173
|
+
return conflicts;
|
|
174
|
+
}
|
|
175
|
+
var getConflictDocsUrl = options.url + '_all_docs?' + mergeUrlQueryParams({
|
|
176
|
+
include_docs: true,
|
|
177
|
+
keys: JSON.stringify(conflictAgainIds)
|
|
178
|
+
});
|
|
179
|
+
var conflictResponse = await replicationState.fetch(getConflictDocsUrl);
|
|
180
|
+
var conflictResponseJson = await conflictResponse.json();
|
|
181
|
+
conflictResponseJson.rows.forEach(conflictAgainRow => {
|
|
182
|
+
conflicts.push(couchDBDocToRxDocData(collection.schema.primaryPath, conflictAgainRow.doc));
|
|
183
|
+
});
|
|
184
|
+
return conflicts;
|
|
185
|
+
},
|
|
186
|
+
batchSize: options.push.batchSize,
|
|
187
|
+
modifier: options.push.modifier,
|
|
188
|
+
initialCheckpoint: options.push.initialCheckpoint
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
var replicationState = new RxCouchDBReplicationState(options.url, options.fetch ? options.fetch : getDefaultFetch(), options.replicationIdentifier, collection, replicationPrimitivesPull, replicationPrimitivesPush, options.live, options.retryTime, options.autoStart);
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Use long polling to get live changes for the pull.stream$
|
|
195
|
+
*/
|
|
196
|
+
if (options.live && options.pull) {
|
|
197
|
+
var startBefore = replicationState.start.bind(replicationState);
|
|
198
|
+
replicationState.start = () => {
|
|
199
|
+
var since = 'now';
|
|
200
|
+
var batchSize = options.pull && options.pull.batchSize ? options.pull.batchSize : 20;
|
|
201
|
+
(async () => {
|
|
202
|
+
var lastRequestStartTime = now();
|
|
203
|
+
while (!replicationState.isStopped()) {
|
|
204
|
+
var _url = options.url + '_changes?' + mergeUrlQueryParams({
|
|
205
|
+
style: 'all_docs',
|
|
206
|
+
feed: 'longpoll',
|
|
207
|
+
since,
|
|
208
|
+
include_docs: true,
|
|
209
|
+
heartbeat: options.pull && options.pull.heartbeat ? options.pull.heartbeat : 60000,
|
|
210
|
+
limit: batchSize,
|
|
211
|
+
seq_interval: batchSize
|
|
212
|
+
});
|
|
213
|
+
var jsonResponse = void 0;
|
|
214
|
+
try {
|
|
215
|
+
lastRequestStartTime = now();
|
|
216
|
+
jsonResponse = await (await replicationState.fetch(_url)).json();
|
|
217
|
+
} catch (err) {
|
|
218
|
+
replicationState.subjects.error.next(newRxError('RC_STREAM', {
|
|
219
|
+
args: {
|
|
220
|
+
url: _url
|
|
221
|
+
},
|
|
222
|
+
error: errorToPlainJson(err)
|
|
223
|
+
}));
|
|
224
|
+
if (lastRequestStartTime < now() - replicationState.retryTime) {
|
|
225
|
+
/**
|
|
226
|
+
* Last request start was long ago,
|
|
227
|
+
* so we directly retry.
|
|
228
|
+
* This mostly happens on timeouts
|
|
229
|
+
* which are normal behavior for long polling requests.
|
|
230
|
+
*/
|
|
231
|
+
await promiseWait(0);
|
|
232
|
+
} else {
|
|
233
|
+
// await next tick here otherwise we could go in to a 100% CPU blocking cycle.
|
|
234
|
+
await awaitRetry(collection, replicationState.retryTime);
|
|
235
|
+
}
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
var documents = jsonResponse.results.map(row => couchDBDocToRxDocData(collection.schema.primaryPath, ensureNotFalsy(row.doc)));
|
|
239
|
+
since = jsonResponse.last_seq;
|
|
240
|
+
pullStream$.next({
|
|
241
|
+
documents,
|
|
242
|
+
checkpoint: {
|
|
243
|
+
sequence: jsonResponse.last_seq
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
})();
|
|
248
|
+
return startBefore();
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
startReplicationOnLeaderShip(options.waitForLeadership, replicationState);
|
|
252
|
+
return replicationState;
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=index.js.map
|