@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":"index.js","names":[],"sources":["../../../../src/plugins/storage-remote/index.ts"],"sourcesContent":["export * from './rx-storage-remote.ts';\r\nexport * from './storage-remote-types.ts';\r\nexport * from './storage-remote-helpers.ts';\r\nexport * from './message-channel-cache.ts';\r\nexport * from './remote.ts';\r\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,4BAA4B;AAC1C,cAAc,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PROMISE_RESOLVE_VOID, getFromMapOrCreate, getFromMapOrThrow } from "../utils/index.js";
|
|
2
|
+
export var MESSAGE_CHANNEL_CACHE_BY_IDENTIFIER = new Map();
|
|
3
|
+
export var CACHE_ITEM_BY_MESSAGE_CHANNEL = new WeakMap();
|
|
4
|
+
export var OPEN_REMOTE_MESSAGE_CHANNELS = new Set();
|
|
5
|
+
function getMessageChannelCache(identifier) {
|
|
6
|
+
return getFromMapOrCreate(MESSAGE_CHANNEL_CACHE_BY_IDENTIFIER, identifier, () => new Map());
|
|
7
|
+
}
|
|
8
|
+
export function getMessageChannel(settings, cacheKeys, keepAlive = false) {
|
|
9
|
+
var cacheKey = getCacheKey(settings, cacheKeys);
|
|
10
|
+
var cacheItem = getFromMapOrCreate(getMessageChannelCache(settings.identifier), cacheKey, () => {
|
|
11
|
+
var newCacheItem = {
|
|
12
|
+
identifier: settings.identifier,
|
|
13
|
+
cacheKey,
|
|
14
|
+
keepAlive,
|
|
15
|
+
refCount: 1,
|
|
16
|
+
messageChannel: settings.messageChannelCreator().then(messageChannel => {
|
|
17
|
+
OPEN_REMOTE_MESSAGE_CHANNELS.add(messageChannel);
|
|
18
|
+
CACHE_ITEM_BY_MESSAGE_CHANNEL.set(messageChannel, newCacheItem);
|
|
19
|
+
return messageChannel;
|
|
20
|
+
})
|
|
21
|
+
};
|
|
22
|
+
return newCacheItem;
|
|
23
|
+
}, existingCacheItem => {
|
|
24
|
+
existingCacheItem.refCount = existingCacheItem.refCount + 1;
|
|
25
|
+
});
|
|
26
|
+
return cacheItem.messageChannel;
|
|
27
|
+
}
|
|
28
|
+
export function closeMessageChannel(messageChannel) {
|
|
29
|
+
var cacheItem = getFromMapOrThrow(CACHE_ITEM_BY_MESSAGE_CHANNEL, messageChannel);
|
|
30
|
+
cacheItem.refCount = cacheItem.refCount - 1;
|
|
31
|
+
if (cacheItem.refCount === 0 && !cacheItem.keepAlive) {
|
|
32
|
+
getMessageChannelCache(cacheItem.identifier).delete(cacheItem.cacheKey);
|
|
33
|
+
OPEN_REMOTE_MESSAGE_CHANNELS.delete(messageChannel);
|
|
34
|
+
return messageChannel.close();
|
|
35
|
+
} else {
|
|
36
|
+
return PROMISE_RESOLVE_VOID;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getCacheKey(settings, cacheKeys) {
|
|
40
|
+
cacheKeys = cacheKeys.slice(0);
|
|
41
|
+
cacheKeys.unshift(settings.identifier);
|
|
42
|
+
return cacheKeys.join('||');
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=message-channel-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-channel-cache.js","names":["PROMISE_RESOLVE_VOID","getFromMapOrCreate","getFromMapOrThrow","MESSAGE_CHANNEL_CACHE_BY_IDENTIFIER","Map","CACHE_ITEM_BY_MESSAGE_CHANNEL","WeakMap","OPEN_REMOTE_MESSAGE_CHANNELS","Set","getMessageChannelCache","identifier","getMessageChannel","settings","cacheKeys","keepAlive","cacheKey","getCacheKey","cacheItem","newCacheItem","refCount","messageChannel","messageChannelCreator","then","add","set","existingCacheItem","closeMessageChannel","delete","close","slice","unshift","join"],"sources":["../../../../src/plugins/storage-remote/message-channel-cache.ts"],"sourcesContent":["import {\r\n PROMISE_RESOLVE_VOID,\r\n getFromMapOrCreate,\r\n getFromMapOrThrow\r\n} from '../utils/index.ts';\r\nimport {\r\n RemoteMessageChannel,\r\n RxStorageRemoteSettings\r\n} from './storage-remote-types.ts';\r\n\r\nexport type RemoteMessageChannelCacheItem = {\r\n identifier: string;\r\n cacheKey: string;\r\n messageChannel: Promise<RemoteMessageChannel>;\r\n refCount: number;\r\n keepAlive: boolean;\r\n};\r\n\r\nexport const MESSAGE_CHANNEL_CACHE_BY_IDENTIFIER = new Map<string, Map<string, RemoteMessageChannelCacheItem>>();\r\nexport const CACHE_ITEM_BY_MESSAGE_CHANNEL = new WeakMap<RemoteMessageChannel, RemoteMessageChannelCacheItem>();\r\n\r\n\r\nexport const OPEN_REMOTE_MESSAGE_CHANNELS = new Set<RemoteMessageChannel>();\r\n\r\nfunction getMessageChannelCache(\r\n identifier: string\r\n) {\r\n return getFromMapOrCreate(\r\n MESSAGE_CHANNEL_CACHE_BY_IDENTIFIER,\r\n identifier,\r\n () => new Map()\r\n );\r\n}\r\n\r\nexport function getMessageChannel(\r\n settings: RxStorageRemoteSettings,\r\n cacheKeys: string[],\r\n keepAlive: boolean = false\r\n): Promise<RemoteMessageChannel> {\r\n const cacheKey = getCacheKey(settings, cacheKeys);\r\n const cacheItem = getFromMapOrCreate(\r\n getMessageChannelCache(settings.identifier),\r\n cacheKey,\r\n () => {\r\n const newCacheItem: RemoteMessageChannelCacheItem = {\r\n identifier: settings.identifier,\r\n cacheKey,\r\n keepAlive,\r\n refCount: 1,\r\n messageChannel: settings.messageChannelCreator()\r\n .then((messageChannel) => {\r\n OPEN_REMOTE_MESSAGE_CHANNELS.add(messageChannel);\r\n CACHE_ITEM_BY_MESSAGE_CHANNEL.set(messageChannel, newCacheItem);\r\n return messageChannel;\r\n }),\r\n };\r\n return newCacheItem;\r\n },\r\n (existingCacheItem) => {\r\n existingCacheItem.refCount = existingCacheItem.refCount + 1;\r\n }\r\n );\r\n return cacheItem.messageChannel;\r\n}\r\n\r\n\r\nexport function closeMessageChannel(\r\n messageChannel: RemoteMessageChannel\r\n): Promise<void> {\r\n const cacheItem = getFromMapOrThrow(CACHE_ITEM_BY_MESSAGE_CHANNEL, messageChannel);\r\n cacheItem.refCount = cacheItem.refCount - 1;\r\n if (cacheItem.refCount === 0 && !cacheItem.keepAlive) {\r\n getMessageChannelCache(cacheItem.identifier).delete(cacheItem.cacheKey);\r\n OPEN_REMOTE_MESSAGE_CHANNELS.delete(messageChannel);\r\n return messageChannel.close();\r\n } else {\r\n return PROMISE_RESOLVE_VOID;\r\n }\r\n}\r\n\r\nfunction getCacheKey(\r\n settings: RxStorageRemoteSettings,\r\n cacheKeys: string[]\r\n): string {\r\n cacheKeys = cacheKeys.slice(0);\r\n cacheKeys.unshift(settings.identifier);\r\n return cacheKeys.join('||');\r\n}\r\n"],"mappings":"AAAA,SACIA,oBAAoB,EACpBC,kBAAkB,EAClBC,iBAAiB,QACd,mBAAmB;AAc1B,OAAO,IAAMC,mCAAmC,GAAG,IAAIC,GAAG,CAAqD,CAAC;AAChH,OAAO,IAAMC,6BAA6B,GAAG,IAAIC,OAAO,CAAsD,CAAC;AAG/G,OAAO,IAAMC,4BAA4B,GAAG,IAAIC,GAAG,CAAuB,CAAC;AAE3E,SAASC,sBAAsBA,CAC3BC,UAAkB,EACpB;EACE,OAAOT,kBAAkB,CACrBE,mCAAmC,EACnCO,UAAU,EACV,MAAM,IAAIN,GAAG,CAAC,CAClB,CAAC;AACL;AAEA,OAAO,SAASO,iBAAiBA,CAC7BC,QAAiC,EACjCC,SAAmB,EACnBC,SAAkB,GAAG,KAAK,EACG;EAC7B,IAAMC,QAAQ,GAAGC,WAAW,CAACJ,QAAQ,EAAEC,SAAS,CAAC;EACjD,IAAMI,SAAS,GAAGhB,kBAAkB,CAChCQ,sBAAsB,CAACG,QAAQ,CAACF,UAAU,CAAC,EAC3CK,QAAQ,EACR,MAAM;IACF,IAAMG,YAA2C,GAAG;MAChDR,UAAU,EAAEE,QAAQ,CAACF,UAAU;MAC/BK,QAAQ;MACRD,SAAS;MACTK,QAAQ,EAAE,CAAC;MACXC,cAAc,EAAER,QAAQ,CAACS,qBAAqB,CAAC,CAAC,CAC3CC,IAAI,CAAEF,cAAc,IAAK;QACtBb,4BAA4B,CAACgB,GAAG,CAACH,cAAc,CAAC;QAChDf,6BAA6B,CAACmB,GAAG,CAACJ,cAAc,EAAEF,YAAY,CAAC;QAC/D,OAAOE,cAAc;MACzB,CAAC;IACT,CAAC;IACD,OAAOF,YAAY;EACvB,CAAC,EACAO,iBAAiB,IAAK;IACnBA,iBAAiB,CAACN,QAAQ,GAAGM,iBAAiB,CAACN,QAAQ,GAAG,CAAC;EAC/D,CACJ,CAAC;EACD,OAAOF,SAAS,CAACG,cAAc;AACnC;AAGA,OAAO,SAASM,mBAAmBA,CAC/BN,cAAoC,EACvB;EACb,IAAMH,SAAS,GAAGf,iBAAiB,CAACG,6BAA6B,EAAEe,cAAc,CAAC;EAClFH,SAAS,CAACE,QAAQ,GAAGF,SAAS,CAACE,QAAQ,GAAG,CAAC;EAC3C,IAAIF,SAAS,CAACE,QAAQ,KAAK,CAAC,IAAI,CAACF,SAAS,CAACH,SAAS,EAAE;IAClDL,sBAAsB,CAACQ,SAAS,CAACP,UAAU,CAAC,CAACiB,MAAM,CAACV,SAAS,CAACF,QAAQ,CAAC;IACvER,4BAA4B,CAACoB,MAAM,CAACP,cAAc,CAAC;IACnD,OAAOA,cAAc,CAACQ,KAAK,CAAC,CAAC;EACjC,CAAC,MAAM;IACH,OAAO5B,oBAAoB;EAC/B;AACJ;AAEA,SAASgB,WAAWA,CAChBJ,QAAiC,EACjCC,SAAmB,EACb;EACNA,SAAS,GAAGA,SAAS,CAACgB,KAAK,CAAC,CAAC,CAAC;EAC9BhB,SAAS,CAACiB,OAAO,CAAClB,QAAQ,CAACF,UAAU,CAAC;EACtC,OAAOG,SAAS,CAACkB,IAAI,CAAC,IAAI,CAAC;AAC/B","ignoreList":[]}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { filter } from 'rxjs';
|
|
2
|
+
import { deepEqual, ensureNotFalsy, RXDB_VERSION } from "../../plugins/utils/index.js";
|
|
3
|
+
import { createAnswer, createErrorAnswer } from "./storage-remote-helpers.js";
|
|
4
|
+
import { getChangedDocumentsSince } from "../../rx-storage-helper.js";
|
|
5
|
+
import { newRxError } from "../../rx-error.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Run this on the 'remote' part,
|
|
9
|
+
* so that RxStorageMessageChannel can connect to it.
|
|
10
|
+
*/
|
|
11
|
+
export function exposeRxStorageRemote(settings) {
|
|
12
|
+
var instanceByFullName = new Map();
|
|
13
|
+
settings.messages$.pipe(filter(msg => msg.method === 'custom')).subscribe(async msg => {
|
|
14
|
+
if (!settings.customRequestHandler) {
|
|
15
|
+
settings.send(createErrorAnswer(msg, new Error('Remote storage: cannot resolve custom request because settings.customRequestHandler is not set')));
|
|
16
|
+
} else {
|
|
17
|
+
try {
|
|
18
|
+
var result = await settings.customRequestHandler(msg.params);
|
|
19
|
+
settings.send(createAnswer(msg, result));
|
|
20
|
+
} catch (err) {
|
|
21
|
+
settings.send(createErrorAnswer(msg, err));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function getRxStorageInstance(params) {
|
|
26
|
+
if (settings.storage) {
|
|
27
|
+
return settings.storage.createStorageInstance(params);
|
|
28
|
+
} else if (settings.database) {
|
|
29
|
+
var storageInstances = Array.from(settings.database.storageInstances);
|
|
30
|
+
var collectionName = params.collectionName;
|
|
31
|
+
var storageInstance = storageInstances.find(instance => instance.collectionName === collectionName);
|
|
32
|
+
if (!storageInstance) {
|
|
33
|
+
console.dir(storageInstances);
|
|
34
|
+
throw new Error('storageInstance does not exist ' + JSON.stringify({
|
|
35
|
+
collectionName
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
var schema = params.schema;
|
|
39
|
+
if (!deepEqual(schema, storageInstance.schema)) {
|
|
40
|
+
throw new Error('Wrong schema ' + JSON.stringify({
|
|
41
|
+
schema,
|
|
42
|
+
existingSchema: storageInstance.schema
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
return Promise.resolve(storageInstance);
|
|
46
|
+
} else {
|
|
47
|
+
throw new Error('no base given');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
var mustBeRxDBVersion = settings.fakeVersion ? settings.fakeVersion : RXDB_VERSION;
|
|
51
|
+
settings.messages$.pipe(filter(msg => msg.method === 'create')).subscribe(async msg => {
|
|
52
|
+
if (msg.version !== mustBeRxDBVersion) {
|
|
53
|
+
settings.send(createErrorAnswer(msg, newRxError('RM1', {
|
|
54
|
+
args: {
|
|
55
|
+
mainVersion: msg.version,
|
|
56
|
+
remoteVersion: mustBeRxDBVersion
|
|
57
|
+
}
|
|
58
|
+
})));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var connectionId = msg.connectionId;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Do an isArray check here
|
|
65
|
+
* for runtime check types to ensure we have
|
|
66
|
+
* instance creation params and not method input params.
|
|
67
|
+
*/
|
|
68
|
+
if (Array.isArray(msg.params)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
var params = msg.params;
|
|
72
|
+
var collectionName = params.collectionName;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* We de-duplicate the storage instances.
|
|
76
|
+
* This makes sense in many environments like
|
|
77
|
+
* electron where on main process contains the storage
|
|
78
|
+
* for multiple renderer processes. Same goes for SharedWorkers etc.
|
|
79
|
+
*/
|
|
80
|
+
var fullName = [params.databaseName, params.collectionName, params.schema.version].join('|');
|
|
81
|
+
var state = instanceByFullName.get(fullName);
|
|
82
|
+
if (!state) {
|
|
83
|
+
try {
|
|
84
|
+
state = {
|
|
85
|
+
/**
|
|
86
|
+
* We work with a promise here to ensure
|
|
87
|
+
* that parallel create-calls will still end up
|
|
88
|
+
* with exactly one instance and not more.
|
|
89
|
+
*/
|
|
90
|
+
storageInstancePromise: getRxStorageInstance(params),
|
|
91
|
+
connectionIds: new Set(),
|
|
92
|
+
params
|
|
93
|
+
};
|
|
94
|
+
instanceByFullName.set(fullName, state);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Must await the creation here
|
|
98
|
+
* so that in case of an error,
|
|
99
|
+
* it knows about the error message and can send
|
|
100
|
+
* that back to the main process.
|
|
101
|
+
*/
|
|
102
|
+
await state.storageInstancePromise;
|
|
103
|
+
} catch (err) {
|
|
104
|
+
settings.send(createErrorAnswer(msg, err));
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
// if instance already existed, ensure that the schema is equal
|
|
109
|
+
if (!deepEqual(params.schema, state.params.schema)) {
|
|
110
|
+
settings.send(createErrorAnswer(msg, new Error('Remote storage: schema not equal to existing storage')));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
state.connectionIds.add(msg.connectionId);
|
|
115
|
+
var subs = [];
|
|
116
|
+
var storageInstance = await state.storageInstancePromise;
|
|
117
|
+
/**
|
|
118
|
+
* Automatically subscribe to the changeStream()
|
|
119
|
+
* because we always need them.
|
|
120
|
+
*/
|
|
121
|
+
subs.push(storageInstance.changeStream().subscribe(changes => {
|
|
122
|
+
var message = {
|
|
123
|
+
connectionId,
|
|
124
|
+
answerTo: 'changestream',
|
|
125
|
+
method: 'changeStream',
|
|
126
|
+
return: changes
|
|
127
|
+
};
|
|
128
|
+
try {
|
|
129
|
+
settings.send(message);
|
|
130
|
+
} catch (err) {
|
|
131
|
+
// Connection might have been closed, ignore send errors for changeStream events
|
|
132
|
+
}
|
|
133
|
+
}));
|
|
134
|
+
var connectionClosed = false;
|
|
135
|
+
function closeThisConnection() {
|
|
136
|
+
if (connectionClosed) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
connectionClosed = true;
|
|
140
|
+
subs.forEach(sub => sub.unsubscribe());
|
|
141
|
+
ensureNotFalsy(state).connectionIds.delete(connectionId);
|
|
142
|
+
instanceByFullName.delete(fullName);
|
|
143
|
+
/**
|
|
144
|
+
* TODO how to notify the other ports on remove() ?
|
|
145
|
+
*/
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// also close the connection when the collection gets closed
|
|
149
|
+
if (settings.database) {
|
|
150
|
+
var database = settings.database;
|
|
151
|
+
var collection = database.collections[collectionName];
|
|
152
|
+
if (collection) {
|
|
153
|
+
collection.onClose.push(() => closeThisConnection());
|
|
154
|
+
} else {
|
|
155
|
+
database.onClose.push(() => closeThisConnection());
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
subs.push(settings.messages$.pipe(filter(subMsg => subMsg.connectionId === connectionId)).subscribe(async plainMessage => {
|
|
159
|
+
var message = plainMessage;
|
|
160
|
+
if (message.method === 'create' || message.method === 'custom') {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (!Array.isArray(message.params)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
var result;
|
|
167
|
+
try {
|
|
168
|
+
if (message.method === 'close' && settings.database) {
|
|
169
|
+
/**
|
|
170
|
+
* Do not close the storageInstance if it was taken from
|
|
171
|
+
* a running RxDatabase.
|
|
172
|
+
* In that case we only close the instance
|
|
173
|
+
* when the RxDatabase gets closed.
|
|
174
|
+
*/
|
|
175
|
+
settings.send(createAnswer(message, null));
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* On calls to 'close()',
|
|
180
|
+
* we only close the main instance if there are no other
|
|
181
|
+
* ports connected.
|
|
182
|
+
*/
|
|
183
|
+
if (message.method === 'close' && ensureNotFalsy(state).connectionIds.size > 1) {
|
|
184
|
+
settings.send(createAnswer(message, null));
|
|
185
|
+
ensureNotFalsy(state).connectionIds.delete(connectionId);
|
|
186
|
+
subs.forEach(sub => sub.unsubscribe());
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (message.method === 'getChangedDocumentsSince' && !storageInstance.getChangedDocumentsSince) {
|
|
190
|
+
result = await getChangedDocumentsSince(storageInstance, message.params[0], message.params[1]);
|
|
191
|
+
} else {
|
|
192
|
+
result = await storageInstance[message.method](message.params[0], message.params[1], message.params[2], message.params[3]);
|
|
193
|
+
}
|
|
194
|
+
if (message.method === 'close' || message.method === 'remove') {
|
|
195
|
+
closeThisConnection();
|
|
196
|
+
}
|
|
197
|
+
settings.send(createAnswer(message, result));
|
|
198
|
+
} catch (err) {
|
|
199
|
+
try {
|
|
200
|
+
settings.send(createErrorAnswer(message, err));
|
|
201
|
+
} catch (innerErr) {
|
|
202
|
+
// Connection might have been closed, ignore send errors
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}));
|
|
206
|
+
settings.send(createAnswer(msg, 'ok'));
|
|
207
|
+
});
|
|
208
|
+
return {
|
|
209
|
+
instanceByFullName
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.js","names":["filter","deepEqual","ensureNotFalsy","RXDB_VERSION","createAnswer","createErrorAnswer","getChangedDocumentsSince","newRxError","exposeRxStorageRemote","settings","instanceByFullName","Map","messages$","pipe","msg","method","subscribe","customRequestHandler","send","Error","result","params","err","getRxStorageInstance","storage","createStorageInstance","database","storageInstances","Array","from","collectionName","storageInstance","find","instance","console","dir","JSON","stringify","schema","existingSchema","Promise","resolve","mustBeRxDBVersion","fakeVersion","version","args","mainVersion","remoteVersion","connectionId","isArray","fullName","databaseName","join","state","get","storageInstancePromise","connectionIds","Set","set","add","subs","push","changeStream","changes","message","answerTo","return","connectionClosed","closeThisConnection","forEach","sub","unsubscribe","delete","collection","collections","onClose","subMsg","plainMessage","size","innerErr"],"sources":["../../../../src/plugins/storage-remote/remote.ts"],"sourcesContent":["import { filter, Subscription } from 'rxjs';\r\nimport type {\r\n RxStorageInstance,\r\n RxStorageInstanceCreationParams\r\n} from '../../types/index.d.ts';\r\nimport {\r\n deepEqual,\r\n ensureNotFalsy,\r\n RXDB_VERSION\r\n} from '../../plugins/utils/index.ts';\r\nimport { createAnswer, createErrorAnswer } from './storage-remote-helpers.ts';\r\nimport type {\r\n MessageFromRemote,\r\n MessageToRemote,\r\n RxStorageRemoteExposeSettings,\r\n RxStorageRemoteExposeSettingsRxDatabase,\r\n RxStorageRemoteExposeSettingsRxStorage,\r\n RxStorageRemoteExposeType\r\n} from './storage-remote-types.ts';\r\nimport { getChangedDocumentsSince } from '../../rx-storage-helper.ts';\r\nimport { newRxError } from '../../rx-error.ts';\r\n\r\n/**\r\n * Run this on the 'remote' part,\r\n * so that RxStorageMessageChannel can connect to it.\r\n */\r\nexport function exposeRxStorageRemote(settings: RxStorageRemoteExposeSettings): RxStorageRemoteExposeType {\r\n type InstanceState = {\r\n storageInstancePromise: Promise<RxStorageInstance<any, any, any>>;\r\n connectionIds: Set<string>;\r\n params: RxStorageInstanceCreationParams<any, any>;\r\n };\r\n const instanceByFullName: Map<string, InstanceState> = new Map();\r\n\r\n\r\n settings.messages$.pipe(\r\n filter((msg: MessageToRemote) => msg.method === 'custom')\r\n ).subscribe(async (msg: MessageToRemote) => {\r\n if (!settings.customRequestHandler) {\r\n settings.send(createErrorAnswer(\r\n msg,\r\n new Error('Remote storage: cannot resolve custom request because settings.customRequestHandler is not set')\r\n ));\r\n } else {\r\n try {\r\n const result = await settings.customRequestHandler(msg.params);\r\n settings.send(createAnswer(msg, result));\r\n } catch (err: any) {\r\n settings.send(createErrorAnswer(\r\n msg,\r\n err\r\n ));\r\n }\r\n }\r\n });\r\n\r\n\r\n function getRxStorageInstance<RxDocType>(params: any): Promise<RxStorageInstance<RxDocType, any, any, any>> {\r\n if ((settings as RxStorageRemoteExposeSettingsRxStorage).storage) {\r\n return (settings as RxStorageRemoteExposeSettingsRxStorage).storage.createStorageInstance(params);\r\n } else if ((settings as RxStorageRemoteExposeSettingsRxDatabase).database) {\r\n const storageInstances = Array.from((settings as RxStorageRemoteExposeSettingsRxDatabase).database.storageInstances);\r\n const collectionName = params.collectionName;\r\n const storageInstance = storageInstances.find(instance => instance.collectionName === collectionName);\r\n if (!storageInstance) {\r\n console.dir(storageInstances);\r\n throw new Error('storageInstance does not exist ' + JSON.stringify({\r\n collectionName\r\n }));\r\n }\r\n const schema = params.schema;\r\n if (!deepEqual(schema, storageInstance.schema)) {\r\n throw new Error('Wrong schema ' + JSON.stringify({\r\n schema,\r\n existingSchema: storageInstance.schema\r\n }));\r\n }\r\n return Promise.resolve(storageInstance);\r\n } else {\r\n throw new Error('no base given');\r\n }\r\n }\r\n\r\n const mustBeRxDBVersion = settings.fakeVersion ? settings.fakeVersion : RXDB_VERSION;\r\n settings.messages$.pipe(\r\n filter((msg: MessageToRemote) => msg.method === 'create')\r\n ).subscribe(async (msg: MessageToRemote) => {\r\n if (msg.version !== mustBeRxDBVersion) {\r\n settings.send(createErrorAnswer(msg, newRxError('RM1', {\r\n args: {\r\n mainVersion: msg.version,\r\n remoteVersion: mustBeRxDBVersion\r\n }\r\n })));\r\n return;\r\n }\r\n\r\n const connectionId = msg.connectionId;\r\n\r\n /**\r\n * Do an isArray check here\r\n * for runtime check types to ensure we have\r\n * instance creation params and not method input params.\r\n */\r\n if (Array.isArray(msg.params)) {\r\n return;\r\n }\r\n const params = msg.params;\r\n const collectionName = params.collectionName;\r\n\r\n /**\r\n * We de-duplicate the storage instances.\r\n * This makes sense in many environments like\r\n * electron where on main process contains the storage\r\n * for multiple renderer processes. Same goes for SharedWorkers etc.\r\n */\r\n const fullName = [\r\n params.databaseName,\r\n params.collectionName,\r\n params.schema.version\r\n ].join('|');\r\n let state = instanceByFullName.get(fullName);\r\n if (!state) {\r\n try {\r\n state = {\r\n /**\r\n * We work with a promise here to ensure\r\n * that parallel create-calls will still end up\r\n * with exactly one instance and not more.\r\n */\r\n storageInstancePromise: getRxStorageInstance(params),\r\n connectionIds: new Set(),\r\n params\r\n };\r\n instanceByFullName.set(fullName, state);\r\n\r\n /**\r\n * Must await the creation here\r\n * so that in case of an error,\r\n * it knows about the error message and can send\r\n * that back to the main process. \r\n */\r\n await state.storageInstancePromise;\r\n } catch (err: any) {\r\n settings.send(createErrorAnswer(msg, err));\r\n return;\r\n }\r\n } else {\r\n // if instance already existed, ensure that the schema is equal\r\n if (!deepEqual(params.schema, state.params.schema)) {\r\n settings.send(createErrorAnswer(msg, new Error('Remote storage: schema not equal to existing storage')));\r\n return;\r\n }\r\n }\r\n state.connectionIds.add(msg.connectionId);\r\n const subs: Subscription[] = [];\r\n\r\n const storageInstance = await state.storageInstancePromise;\r\n /**\r\n * Automatically subscribe to the changeStream()\r\n * because we always need them.\r\n */\r\n subs.push(\r\n storageInstance.changeStream().subscribe((changes: any) => {\r\n const message: MessageFromRemote = {\r\n connectionId,\r\n answerTo: 'changestream',\r\n method: 'changeStream',\r\n return: changes\r\n };\r\n try {\r\n settings.send(message);\r\n } catch (err) {\r\n // Connection might have been closed, ignore send errors for changeStream events\r\n }\r\n })\r\n );\r\n\r\n let connectionClosed = false;\r\n function closeThisConnection() {\r\n if (connectionClosed) {\r\n return;\r\n }\r\n connectionClosed = true;\r\n subs.forEach(sub => sub.unsubscribe());\r\n ensureNotFalsy(state).connectionIds.delete(connectionId);\r\n instanceByFullName.delete(fullName);\r\n /**\r\n * TODO how to notify the other ports on remove() ?\r\n */\r\n }\r\n\r\n // also close the connection when the collection gets closed\r\n if ((settings as RxStorageRemoteExposeSettingsRxDatabase).database) {\r\n const database = (settings as RxStorageRemoteExposeSettingsRxDatabase).database;\r\n const collection = database.collections[collectionName];\r\n if (collection) {\r\n collection.onClose.push(() => closeThisConnection());\r\n } else {\r\n database.onClose.push(() => closeThisConnection());\r\n }\r\n }\r\n\r\n subs.push(\r\n settings.messages$.pipe(\r\n filter((subMsg: MessageToRemote) => (subMsg as MessageToRemote).connectionId === connectionId)\r\n ).subscribe(async (plainMessage: MessageToRemote) => {\r\n const message: MessageToRemote = plainMessage as any;\r\n if (\r\n message.method === 'create' ||\r\n message.method === 'custom'\r\n ) {\r\n return;\r\n }\r\n if (!Array.isArray(message.params)) {\r\n return;\r\n }\r\n let result;\r\n try {\r\n if (\r\n message.method === 'close' &&\r\n (settings as RxStorageRemoteExposeSettingsRxDatabase).database\r\n ) {\r\n /**\r\n * Do not close the storageInstance if it was taken from\r\n * a running RxDatabase.\r\n * In that case we only close the instance\r\n * when the RxDatabase gets closed.\r\n */\r\n settings.send(createAnswer(message, null));\r\n return;\r\n }\r\n /**\r\n * On calls to 'close()',\r\n * we only close the main instance if there are no other\r\n * ports connected.\r\n */\r\n if (\r\n message.method === 'close' &&\r\n ensureNotFalsy(state).connectionIds.size > 1\r\n ) {\r\n settings.send(createAnswer(message, null));\r\n ensureNotFalsy(state).connectionIds.delete(connectionId);\r\n subs.forEach(sub => sub.unsubscribe());\r\n return;\r\n }\r\n\r\n if (message.method === 'getChangedDocumentsSince' && !storageInstance.getChangedDocumentsSince) {\r\n result = await getChangedDocumentsSince(\r\n storageInstance,\r\n message.params[0],\r\n message.params[1]\r\n );\r\n } else {\r\n result = await (storageInstance as any)[message.method](\r\n message.params[0],\r\n message.params[1],\r\n message.params[2],\r\n message.params[3]\r\n );\r\n }\r\n if (\r\n message.method === 'close' ||\r\n message.method === 'remove'\r\n ) {\r\n closeThisConnection();\r\n }\r\n settings.send(createAnswer(message, result));\r\n } catch (err: any) {\r\n try {\r\n settings.send(createErrorAnswer(message, err));\r\n } catch (innerErr) {\r\n // Connection might have been closed, ignore send errors\r\n }\r\n }\r\n })\r\n );\r\n\r\n settings.send(createAnswer(msg, 'ok'));\r\n });\r\n\r\n return {\r\n instanceByFullName\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { firstValueFrom, filter, Subject } from 'rxjs';
|
|
2
|
+
import { RXDB_VERSION, randomToken } from "../../plugins/utils/index.js";
|
|
3
|
+
import { closeMessageChannel, getMessageChannel } from "./message-channel-cache.js";
|
|
4
|
+
export var RxStorageRemote = /*#__PURE__*/function () {
|
|
5
|
+
function RxStorageRemote(settings) {
|
|
6
|
+
this.name = 'remote';
|
|
7
|
+
this.rxdbVersion = RXDB_VERSION;
|
|
8
|
+
this.seed = randomToken(10);
|
|
9
|
+
this.lastRequestId = 0;
|
|
10
|
+
this.settings = settings;
|
|
11
|
+
if (settings.mode === 'one') {
|
|
12
|
+
this.messageChannelIfOneMode = getMessageChannel(settings, [], true);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
var _proto = RxStorageRemote.prototype;
|
|
16
|
+
_proto.getRequestId = function getRequestId() {
|
|
17
|
+
var newId = this.lastRequestId++;
|
|
18
|
+
return this.seed + '|' + newId;
|
|
19
|
+
};
|
|
20
|
+
_proto.createStorageInstance = async function createStorageInstance(params) {
|
|
21
|
+
var connectionId = 'c|' + this.getRequestId();
|
|
22
|
+
var cacheKeys = ['mode-' + this.settings.mode];
|
|
23
|
+
switch (this.settings.mode) {
|
|
24
|
+
case 'collection':
|
|
25
|
+
cacheKeys.push('collection-' + params.collectionName);
|
|
26
|
+
// eslint-disable-next-line no-fallthrough
|
|
27
|
+
case 'database':
|
|
28
|
+
cacheKeys.push('database-' + params.databaseName);
|
|
29
|
+
// eslint-disable-next-line no-fallthrough
|
|
30
|
+
case 'storage':
|
|
31
|
+
cacheKeys.push('seed-' + this.seed);
|
|
32
|
+
}
|
|
33
|
+
var messageChannel = await (this.messageChannelIfOneMode ? this.messageChannelIfOneMode : getMessageChannel(this.settings, cacheKeys));
|
|
34
|
+
var requestId = this.getRequestId();
|
|
35
|
+
var waitForOkPromise = firstValueFrom(messageChannel.messages$.pipe(filter(msg => msg.answerTo === requestId)));
|
|
36
|
+
messageChannel.send({
|
|
37
|
+
connectionId,
|
|
38
|
+
method: 'create',
|
|
39
|
+
version: RXDB_VERSION,
|
|
40
|
+
requestId,
|
|
41
|
+
params
|
|
42
|
+
});
|
|
43
|
+
var waitForOkResult = await waitForOkPromise;
|
|
44
|
+
if (waitForOkResult.error) {
|
|
45
|
+
await closeMessageChannel(messageChannel);
|
|
46
|
+
throw new Error('could not create instance ' + JSON.stringify(waitForOkResult.error));
|
|
47
|
+
}
|
|
48
|
+
return new RxStorageInstanceRemote(this, params.databaseName, params.collectionName, params.schema, {
|
|
49
|
+
params,
|
|
50
|
+
connectionId,
|
|
51
|
+
messageChannel
|
|
52
|
+
}, params.options);
|
|
53
|
+
};
|
|
54
|
+
_proto.customRequest = async function customRequest(data) {
|
|
55
|
+
var messageChannel = await this.settings.messageChannelCreator();
|
|
56
|
+
var requestId = this.getRequestId();
|
|
57
|
+
var connectionId = 'custom|request|' + requestId;
|
|
58
|
+
var waitForAnswerPromise = firstValueFrom(messageChannel.messages$.pipe(filter(msg => msg.answerTo === requestId)));
|
|
59
|
+
messageChannel.send({
|
|
60
|
+
connectionId,
|
|
61
|
+
method: 'custom',
|
|
62
|
+
version: RXDB_VERSION,
|
|
63
|
+
requestId,
|
|
64
|
+
params: data
|
|
65
|
+
});
|
|
66
|
+
var response = await waitForAnswerPromise;
|
|
67
|
+
if (response.error) {
|
|
68
|
+
await messageChannel.close();
|
|
69
|
+
throw new Error('could not run customRequest(): ' + JSON.stringify({
|
|
70
|
+
data,
|
|
71
|
+
error: response.error
|
|
72
|
+
}));
|
|
73
|
+
} else {
|
|
74
|
+
await messageChannel.close();
|
|
75
|
+
return response.return;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return RxStorageRemote;
|
|
79
|
+
}();
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Because postMessage() can be very slow on complex objects,
|
|
83
|
+
* and some RxStorage implementations do need a JSON-string internally
|
|
84
|
+
* anyway, it is allowed to transfer a string instead of an object
|
|
85
|
+
* which must then be JSON.parse()-ed before RxDB can use it.
|
|
86
|
+
* @link https://surma.dev/things/is-postmessage-slow/
|
|
87
|
+
*/
|
|
88
|
+
function getMessageReturn(msg) {
|
|
89
|
+
if (msg.method === 'getAttachmentData') {
|
|
90
|
+
return msg.return;
|
|
91
|
+
} else {
|
|
92
|
+
if (typeof msg.return === 'string') {
|
|
93
|
+
return JSON.parse(msg.return);
|
|
94
|
+
} else {
|
|
95
|
+
return msg.return;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export var RxStorageInstanceRemote = /*#__PURE__*/function () {
|
|
100
|
+
function RxStorageInstanceRemote(storage, databaseName, collectionName, schema, internals, options) {
|
|
101
|
+
this.changes$ = new Subject();
|
|
102
|
+
this.subs = [];
|
|
103
|
+
this.storage = storage;
|
|
104
|
+
this.databaseName = databaseName;
|
|
105
|
+
this.collectionName = collectionName;
|
|
106
|
+
this.schema = schema;
|
|
107
|
+
this.internals = internals;
|
|
108
|
+
this.options = options;
|
|
109
|
+
this.messages$ = this.internals.messageChannel.messages$.pipe(filter(msg => msg.connectionId === this.internals.connectionId));
|
|
110
|
+
this.subs.push(this.messages$.subscribe(msg => {
|
|
111
|
+
if (msg.method === 'changeStream') {
|
|
112
|
+
this.changes$.next(getMessageReturn(msg));
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
var _proto2 = RxStorageInstanceRemote.prototype;
|
|
117
|
+
_proto2.requestRemote = async function requestRemote(methodName, params) {
|
|
118
|
+
var requestId = this.storage.getRequestId();
|
|
119
|
+
var responsePromise = firstValueFrom(this.messages$.pipe(filter(msg => msg.answerTo === requestId)));
|
|
120
|
+
var message = {
|
|
121
|
+
connectionId: this.internals.connectionId,
|
|
122
|
+
requestId,
|
|
123
|
+
version: RXDB_VERSION,
|
|
124
|
+
method: methodName,
|
|
125
|
+
params
|
|
126
|
+
};
|
|
127
|
+
this.internals.messageChannel.send(message);
|
|
128
|
+
var response = await responsePromise;
|
|
129
|
+
if (response.error) {
|
|
130
|
+
throw new Error('could not requestRemote: ' + JSON.stringify({
|
|
131
|
+
methodName,
|
|
132
|
+
params,
|
|
133
|
+
error: response.error
|
|
134
|
+
}, null, 4));
|
|
135
|
+
} else {
|
|
136
|
+
return getMessageReturn(response);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
_proto2.bulkWrite = function bulkWrite(documentWrites, context) {
|
|
140
|
+
return this.requestRemote('bulkWrite', [documentWrites, context]);
|
|
141
|
+
};
|
|
142
|
+
_proto2.findDocumentsById = function findDocumentsById(ids, deleted) {
|
|
143
|
+
return this.requestRemote('findDocumentsById', [ids, deleted]);
|
|
144
|
+
};
|
|
145
|
+
_proto2.query = function query(preparedQuery) {
|
|
146
|
+
return this.requestRemote('query', [preparedQuery]);
|
|
147
|
+
};
|
|
148
|
+
_proto2.count = function count(preparedQuery) {
|
|
149
|
+
return this.requestRemote('count', [preparedQuery]);
|
|
150
|
+
};
|
|
151
|
+
_proto2.getAttachmentData = function getAttachmentData(documentId, attachmentId, digest) {
|
|
152
|
+
return this.requestRemote('getAttachmentData', [documentId, attachmentId, digest]);
|
|
153
|
+
};
|
|
154
|
+
_proto2.getChangedDocumentsSince = function getChangedDocumentsSince(limit, checkpoint) {
|
|
155
|
+
return this.requestRemote('getChangedDocumentsSince', [limit, checkpoint]);
|
|
156
|
+
};
|
|
157
|
+
_proto2.changeStream = function changeStream() {
|
|
158
|
+
return this.changes$.asObservable();
|
|
159
|
+
};
|
|
160
|
+
_proto2.cleanup = function cleanup(minDeletedTime) {
|
|
161
|
+
return this.requestRemote('cleanup', [minDeletedTime]);
|
|
162
|
+
};
|
|
163
|
+
_proto2.close = async function close() {
|
|
164
|
+
if (this.closed) {
|
|
165
|
+
return this.closed;
|
|
166
|
+
}
|
|
167
|
+
this.closed = (async () => {
|
|
168
|
+
this.subs.forEach(sub => sub.unsubscribe());
|
|
169
|
+
this.changes$.complete();
|
|
170
|
+
await this.requestRemote('close', []);
|
|
171
|
+
await closeMessageChannel(this.internals.messageChannel);
|
|
172
|
+
})();
|
|
173
|
+
return this.closed;
|
|
174
|
+
};
|
|
175
|
+
_proto2.remove = async function remove() {
|
|
176
|
+
if (this.closed) {
|
|
177
|
+
throw new Error('already closed');
|
|
178
|
+
}
|
|
179
|
+
this.closed = (async () => {
|
|
180
|
+
await this.requestRemote('remove', []);
|
|
181
|
+
await closeMessageChannel(this.internals.messageChannel);
|
|
182
|
+
})();
|
|
183
|
+
return this.closed;
|
|
184
|
+
};
|
|
185
|
+
return RxStorageInstanceRemote;
|
|
186
|
+
}();
|
|
187
|
+
export function getRxStorageRemote(settings) {
|
|
188
|
+
var withDefaults = Object.assign({
|
|
189
|
+
mode: 'storage'
|
|
190
|
+
}, settings);
|
|
191
|
+
return new RxStorageRemote(withDefaults);
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=rx-storage-remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-storage-remote.js","names":["firstValueFrom","filter","Subject","RXDB_VERSION","randomToken","closeMessageChannel","getMessageChannel","RxStorageRemote","settings","name","rxdbVersion","seed","lastRequestId","mode","messageChannelIfOneMode","_proto","prototype","getRequestId","newId","createStorageInstance","params","connectionId","cacheKeys","push","collectionName","databaseName","messageChannel","requestId","waitForOkPromise","messages$","pipe","msg","answerTo","send","method","version","waitForOkResult","error","Error","JSON","stringify","RxStorageInstanceRemote","schema","options","customRequest","data","messageChannelCreator","waitForAnswerPromise","response","close","return","getMessageReturn","parse","storage","internals","changes$","subs","subscribe","next","_proto2","requestRemote","methodName","responsePromise","message","bulkWrite","documentWrites","context","findDocumentsById","ids","deleted","query","preparedQuery","count","getAttachmentData","documentId","attachmentId","digest","getChangedDocumentsSince","limit","checkpoint","changeStream","asObservable","cleanup","minDeletedTime","closed","forEach","sub","unsubscribe","complete","remove","getRxStorageRemote","withDefaults","Object","assign"],"sources":["../../../../src/plugins/storage-remote/rx-storage-remote.ts"],"sourcesContent":["import {\r\n firstValueFrom,\r\n filter,\r\n Observable,\r\n Subject,\r\n Subscription\r\n} from 'rxjs';\r\nimport type {\r\n BulkWriteRow,\r\n EventBulk,\r\n RxDocumentData,\r\n RxJsonSchema,\r\n RxStorage,\r\n RxStorageBulkWriteResponse,\r\n RxStorageChangeEvent,\r\n RxStorageCountResult,\r\n RxStorageInstance,\r\n RxStorageInstanceCreationParams,\r\n RxStorageQueryResult\r\n} from '../../types/index.d.ts';\r\nimport {\r\n RXDB_VERSION,\r\n randomToken\r\n} from '../../plugins/utils/index.ts';\r\nimport type {\r\n MessageFromRemote,\r\n MessageToRemote,\r\n RemoteMessageChannel,\r\n RxStorageRemoteInternals,\r\n RxStorageRemoteSettings\r\n} from './storage-remote-types.ts';\r\nimport { closeMessageChannel, getMessageChannel } from './message-channel-cache.ts';\r\n\r\n\r\nexport class RxStorageRemote implements RxStorage<RxStorageRemoteInternals, any> {\r\n public readonly name: string = 'remote';\r\n public readonly rxdbVersion = RXDB_VERSION;\r\n\r\n private seed: string = randomToken(10);\r\n private lastRequestId: number = 0;\r\n public messageChannelIfOneMode?: Promise<RemoteMessageChannel>;\r\n constructor(\r\n public readonly settings: RxStorageRemoteSettings\r\n ) {\r\n if (settings.mode === 'one') {\r\n this.messageChannelIfOneMode = getMessageChannel(\r\n settings,\r\n [],\r\n true\r\n );\r\n }\r\n }\r\n\r\n public getRequestId() {\r\n const newId = this.lastRequestId++;\r\n return this.seed + '|' + newId;\r\n }\r\n\r\n async createStorageInstance<RxDocType>(\r\n params: RxStorageInstanceCreationParams<RxDocType, any>\r\n ): Promise<RxStorageInstanceRemote<RxDocType>> {\r\n const connectionId = 'c|' + this.getRequestId();\r\n\r\n const cacheKeys: string[] = [\r\n 'mode-' + this.settings.mode\r\n ];\r\n switch (this.settings.mode) {\r\n case 'collection':\r\n cacheKeys.push('collection-' + params.collectionName);\r\n // eslint-disable-next-line no-fallthrough\r\n case 'database':\r\n cacheKeys.push('database-' + params.databaseName);\r\n // eslint-disable-next-line no-fallthrough\r\n case 'storage':\r\n cacheKeys.push('seed-' + this.seed);\r\n }\r\n const messageChannel = await (this.messageChannelIfOneMode ?\r\n this.messageChannelIfOneMode :\r\n getMessageChannel(\r\n this.settings,\r\n cacheKeys\r\n )\r\n );\r\n\r\n const requestId = this.getRequestId();\r\n const waitForOkPromise = firstValueFrom(messageChannel.messages$.pipe(\r\n filter((msg: MessageFromRemote) => msg.answerTo === requestId)\r\n ));\r\n messageChannel.send({\r\n connectionId,\r\n method: 'create',\r\n version: RXDB_VERSION,\r\n requestId,\r\n params\r\n });\r\n\r\n const waitForOkResult = await waitForOkPromise;\r\n if (waitForOkResult.error) {\r\n await closeMessageChannel(messageChannel);\r\n throw new Error('could not create instance ' + JSON.stringify(waitForOkResult.error));\r\n }\r\n\r\n return new RxStorageInstanceRemote(\r\n this,\r\n params.databaseName,\r\n params.collectionName,\r\n params.schema,\r\n {\r\n params,\r\n connectionId,\r\n messageChannel\r\n },\r\n params.options\r\n );\r\n }\r\n\r\n async customRequest<In, Out>(data: In): Promise<Out> {\r\n const messageChannel = await this.settings.messageChannelCreator();\r\n const requestId = this.getRequestId();\r\n const connectionId = 'custom|request|' + requestId;\r\n const waitForAnswerPromise = firstValueFrom(messageChannel.messages$.pipe(\r\n filter((msg: MessageFromRemote) => msg.answerTo === requestId)\r\n ));\r\n messageChannel.send({\r\n connectionId,\r\n method: 'custom',\r\n version: RXDB_VERSION,\r\n requestId,\r\n params: data\r\n });\r\n const response = await waitForAnswerPromise;\r\n if (response.error) {\r\n await messageChannel.close();\r\n throw new Error('could not run customRequest(): ' + JSON.stringify({\r\n data,\r\n error: response.error\r\n }));\r\n } else {\r\n await messageChannel.close();\r\n return response.return;\r\n }\r\n\r\n }\r\n}\r\n\r\n/**\r\n * Because postMessage() can be very slow on complex objects,\r\n * and some RxStorage implementations do need a JSON-string internally\r\n * anyway, it is allowed to transfer a string instead of an object\r\n * which must then be JSON.parse()-ed before RxDB can use it.\r\n * @link https://surma.dev/things/is-postmessage-slow/\r\n */\r\nfunction getMessageReturn(\r\n msg: MessageFromRemote\r\n) {\r\n if (msg.method === 'getAttachmentData') {\r\n return msg.return;\r\n } else {\r\n if (typeof msg.return === 'string') {\r\n return JSON.parse(msg.return);\r\n } else {\r\n return msg.return;\r\n }\r\n }\r\n}\r\n\r\nexport class RxStorageInstanceRemote<RxDocType> implements RxStorageInstance<RxDocType, RxStorageRemoteInternals, any, any> {\r\n private changes$: Subject<EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, any>> = new Subject();\r\n private subs: Subscription[] = [];\r\n\r\n private closed?: Promise<void>;\r\n messages$: Observable<MessageFromRemote>;\r\n\r\n constructor(\r\n public readonly storage: RxStorageRemote,\r\n public readonly databaseName: string,\r\n public readonly collectionName: string,\r\n public readonly schema: Readonly<RxJsonSchema<RxDocumentData<RxDocType>>>,\r\n public readonly internals: RxStorageRemoteInternals,\r\n public readonly options: Readonly<any>\r\n ) {\r\n this.messages$ = this.internals.messageChannel.messages$.pipe(\r\n filter((msg: MessageFromRemote) => msg.connectionId === this.internals.connectionId)\r\n );\r\n this.subs.push(\r\n this.messages$.subscribe((msg: MessageFromRemote) => {\r\n if (msg.method === 'changeStream') {\r\n this.changes$.next(getMessageReturn(msg));\r\n }\r\n })\r\n );\r\n }\r\n\r\n private async requestRemote(\r\n methodName: keyof RxStorageInstance<any, any, any>,\r\n params: any\r\n ) {\r\n const requestId = this.storage.getRequestId();\r\n const responsePromise = firstValueFrom(\r\n this.messages$.pipe(\r\n filter((msg: MessageFromRemote) => msg.answerTo === requestId)\r\n )\r\n );\r\n const message: MessageToRemote = {\r\n connectionId: this.internals.connectionId,\r\n requestId,\r\n version: RXDB_VERSION,\r\n method: methodName,\r\n params\r\n };\r\n this.internals.messageChannel.send(message);\r\n const response = await responsePromise;\r\n if (response.error) {\r\n throw new Error('could not requestRemote: ' + JSON.stringify({\r\n methodName,\r\n params,\r\n error: response.error\r\n }, null, 4));\r\n } else {\r\n return getMessageReturn(response);\r\n }\r\n }\r\n bulkWrite(\r\n documentWrites: BulkWriteRow<RxDocType>[],\r\n context: string\r\n ): Promise<RxStorageBulkWriteResponse<RxDocType>> {\r\n return this.requestRemote('bulkWrite', [documentWrites, context]);\r\n }\r\n findDocumentsById(ids: string[], deleted: boolean): Promise<RxDocumentData<RxDocType>[]> {\r\n return this.requestRemote('findDocumentsById', [ids, deleted]);\r\n }\r\n query(preparedQuery: any): Promise<RxStorageQueryResult<RxDocType>> {\r\n return this.requestRemote('query', [preparedQuery]);\r\n }\r\n count(preparedQuery: any): Promise<RxStorageCountResult> {\r\n return this.requestRemote('count', [preparedQuery]);\r\n }\r\n getAttachmentData(documentId: string, attachmentId: string, digest: string): Promise<Blob> {\r\n return this.requestRemote('getAttachmentData', [documentId, attachmentId, digest]);\r\n }\r\n getChangedDocumentsSince(\r\n limit: number,\r\n checkpoint?: any\r\n ): Promise<\r\n {\r\n documents: RxDocumentData<RxDocType>[];\r\n checkpoint: any;\r\n }> {\r\n return this.requestRemote('getChangedDocumentsSince', [limit, checkpoint]);\r\n }\r\n changeStream(): Observable<EventBulk<RxStorageChangeEvent<RxDocumentData<RxDocType>>, any>> {\r\n return this.changes$.asObservable();\r\n }\r\n cleanup(minDeletedTime: number): Promise<boolean> {\r\n return this.requestRemote('cleanup', [minDeletedTime]);\r\n }\r\n async close(): Promise<void> {\r\n if (this.closed) {\r\n return this.closed;\r\n }\r\n this.closed = (async () => {\r\n this.subs.forEach(sub => sub.unsubscribe());\r\n this.changes$.complete();\r\n await this.requestRemote('close', []);\r\n await closeMessageChannel(this.internals.messageChannel);\r\n })();\r\n return this.closed;\r\n }\r\n async remove(): Promise<void> {\r\n if (this.closed) {\r\n throw new Error('already closed');\r\n }\r\n this.closed = (async () => {\r\n await this.requestRemote('remove', []);\r\n await closeMessageChannel(this.internals.messageChannel);\r\n })();\r\n return this.closed;\r\n }\r\n}\r\n\r\nexport function getRxStorageRemote(settings: RxStorageRemoteSettings): RxStorageRemote {\r\n const withDefaults = Object.assign({\r\n mode: 'storage'\r\n }, settings);\r\n return new RxStorageRemote(withDefaults);\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { errorToPlainJson } from "../../plugins/utils/index.js";
|
|
2
|
+
export function createErrorAnswer(msg, error) {
|
|
3
|
+
return {
|
|
4
|
+
connectionId: msg.connectionId,
|
|
5
|
+
answerTo: msg.requestId,
|
|
6
|
+
method: msg.method,
|
|
7
|
+
error: errorToPlainJson(error)
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function createAnswer(msg, ret) {
|
|
11
|
+
return {
|
|
12
|
+
connectionId: msg.connectionId,
|
|
13
|
+
answerTo: msg.requestId,
|
|
14
|
+
method: msg.method,
|
|
15
|
+
return: ret
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=storage-remote-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-remote-helpers.js","names":["errorToPlainJson","createErrorAnswer","msg","error","connectionId","answerTo","requestId","method","createAnswer","ret","return"],"sources":["../../../../src/plugins/storage-remote/storage-remote-helpers.ts"],"sourcesContent":["import type {\r\n RxError,\r\n RxTypeError\r\n} from '../../types/index.d.ts';\r\nimport { errorToPlainJson } from '../../plugins/utils/index.ts';\r\nimport type {\r\n MessageFromRemote,\r\n MessageToRemote\r\n} from './storage-remote-types.ts';\r\n\r\nexport function createErrorAnswer(\r\n msg: MessageToRemote,\r\n error: Error | TypeError | RxError | RxTypeError\r\n): MessageFromRemote {\r\n return {\r\n connectionId: msg.connectionId,\r\n answerTo: msg.requestId,\r\n method: msg.method,\r\n error: errorToPlainJson(error)\r\n };\r\n}\r\n\r\nexport function createAnswer(\r\n msg: MessageToRemote,\r\n ret: any\r\n): MessageFromRemote {\r\n return {\r\n connectionId: msg.connectionId,\r\n answerTo: msg.requestId,\r\n method: msg.method,\r\n return: ret\r\n };\r\n}\r\n"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,8BAA8B;AAM/D,OAAO,SAASC,iBAAiBA,CAC7BC,GAAoB,EACpBC,KAAgD,EAC/B;EACjB,OAAO;IACHC,YAAY,EAAEF,GAAG,CAACE,YAAY;IAC9BC,QAAQ,EAAEH,GAAG,CAACI,SAAS;IACvBC,MAAM,EAAEL,GAAG,CAACK,MAAM;IAClBJ,KAAK,EAAEH,gBAAgB,CAACG,KAAK;EACjC,CAAC;AACL;AAEA,OAAO,SAASK,YAAYA,CACxBN,GAAoB,EACpBO,GAAQ,EACS;EACjB,OAAO;IACHL,YAAY,EAAEF,GAAG,CAACE,YAAY;IAC9BC,QAAQ,EAAEH,GAAG,CAACI,SAAS;IACvBC,MAAM,EAAEL,GAAG,CAACK,MAAM;IAClBG,MAAM,EAAED;EACZ,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-remote-types.js","names":[],"sources":["../../../../src/plugins/storage-remote/storage-remote-types.ts"],"sourcesContent":["import type { Observable } from 'rxjs';\r\nimport type {\r\n MaybePromise,\r\n PlainJsonError,\r\n RxDatabase,\r\n RxStorage,\r\n RxStorageInstance,\r\n RxStorageInstanceCreationParams\r\n} from '../../types/index.d.ts';\r\n\r\n\r\n\r\nexport type MessageFromRemote = {\r\n connectionId: string;\r\n answerTo: string; // id of the request\r\n method: keyof RxStorageInstance<any, any, any> | 'create' | 'custom';\r\n error?: PlainJsonError;\r\n return?: any | string;\r\n};\r\n\r\nexport type MessageToRemote = {\r\n connectionId: string;\r\n /**\r\n * Unique ID of the request\r\n */\r\n requestId: string;\r\n method: keyof RxStorageInstance<any, any, any> | 'create' | 'custom';\r\n /**\r\n * We send the RxDB version to the remote\r\n * to ensure we are communicating with an RxDB instance\r\n * of the same version. This is to prevent bugs\r\n * when people forget to rebuild their workers.\r\n */\r\n version: string;\r\n params:\r\n RxStorageInstanceCreationParams<any, any> | // used in the create call\r\n any[] | // used to call RxStorageInstance methods\r\n any; // used in custom requests\r\n};\r\n\r\n\r\n/**\r\n * A message channel represents a single\r\n * channel that is able to communicate with the remote.\r\n * For example a single websocket connection or WebWorker instance.\r\n * The storage must be able to open and close MessageChannels\r\n * according to the modes settings.\r\n */\r\nexport type RemoteMessageChannel = {\r\n send(msg: MessageToRemote): void;\r\n messages$: Observable<MessageFromRemote>;\r\n close(): Promise<void>;\r\n};\r\n\r\nexport type RxStorageRemoteSettings = {\r\n identifier: string;\r\n /**\r\n * There are different modes\r\n * that determine how many message channels are used.\r\n * These modes can have different performance patterns.\r\n *\r\n * [default='storage']\r\n */\r\n mode?:\r\n // create exactly one RemoteMessageChannel and reuse that everywhere.\r\n | 'one'\r\n // storage: create one RemoteMessageChannel per call to getRxStorage...()\r\n | 'storage'\r\n // database: create one RemoteMessageChannel for each database\r\n | 'database'\r\n // collection: create one RemoteMessageChannel for each collection\r\n | 'collection';\r\n messageChannelCreator: () => Promise<RemoteMessageChannel>;\r\n};\r\n\r\nexport type RxStorageRemoteInternals = {\r\n params: RxStorageInstanceCreationParams<any, any>;\r\n connectionId: string;\r\n messageChannel: RemoteMessageChannel;\r\n};\r\n\r\nexport type RxStorageRemoteExposeSettingsBase = {\r\n send(msg: MessageFromRemote): void;\r\n messages$: Observable<MessageToRemote>;\r\n customRequestHandler?: CustomRequestHandler<any, any>;\r\n /**\r\n * Used in tests to simulate what happens if the remote\r\n * was build on a different RxDB version.\r\n */\r\n fakeVersion?: string;\r\n};\r\n\r\nexport type RxStorageRemoteExposeSettingsRxDatabase = RxStorageRemoteExposeSettingsBase & {\r\n /**\r\n * The database which must be mapped to the remote storage server.\r\n */\r\n database: RxDatabase;\r\n};\r\n\r\nexport type RxStorageRemoteExposeSettingsRxStorage = RxStorageRemoteExposeSettingsBase & {\r\n /**\r\n * The original storage\r\n * which actually stores the data.\r\n */\r\n storage: RxStorage<any, any>;\r\n};\r\n\r\nexport type RxStorageRemoteExposeSettings = RxStorageRemoteExposeSettingsRxDatabase | RxStorageRemoteExposeSettingsRxStorage;\r\n\r\nexport type RxStorageRemoteExposeType = {\r\n instanceByFullName: Map<string, any>;\r\n};\r\n\r\n/**\r\n * If set, the clients can send RxDB-unrelated custom messages\r\n * to the remote storage and it will answer them.\r\n */\r\nexport type CustomRequestHandler<In, Out> = (data: In) => MaybePromise<Out>;\r\n"],"mappings":"","ignoreList":[]}
|