@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,31 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { getRxStorageRemote } from "../storage-remote/index.js";
|
|
3
|
+
import { IPC_RENDERER_KEY_PREFIX } from "./electron-helper.js";
|
|
4
|
+
import { PROMISE_RESOLVE_VOID } from "../utils/index.js";
|
|
5
|
+
export function getRxStorageIpcRenderer(settings) {
|
|
6
|
+
var channelId = [IPC_RENDERER_KEY_PREFIX, settings.key].join('|');
|
|
7
|
+
var storage = getRxStorageRemote({
|
|
8
|
+
identifier: 'electron-ipc-renderer',
|
|
9
|
+
mode: settings.mode,
|
|
10
|
+
messageChannelCreator() {
|
|
11
|
+
var messages$ = new Subject();
|
|
12
|
+
var listener = (_event, message) => {
|
|
13
|
+
messages$.next(message);
|
|
14
|
+
};
|
|
15
|
+
settings.ipcRenderer.on(channelId, listener);
|
|
16
|
+
settings.ipcRenderer.postMessage(channelId, false);
|
|
17
|
+
return Promise.resolve({
|
|
18
|
+
messages$,
|
|
19
|
+
send(msg) {
|
|
20
|
+
settings.ipcRenderer.postMessage(channelId, msg);
|
|
21
|
+
},
|
|
22
|
+
close() {
|
|
23
|
+
settings.ipcRenderer.removeListener(channelId, listener);
|
|
24
|
+
return PROMISE_RESOLVE_VOID;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return storage;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=rx-storage-ipc-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx-storage-ipc-renderer.js","names":["Subject","getRxStorageRemote","IPC_RENDERER_KEY_PREFIX","PROMISE_RESOLVE_VOID","getRxStorageIpcRenderer","settings","channelId","key","join","storage","identifier","mode","messageChannelCreator","messages$","listener","_event","message","next","ipcRenderer","on","postMessage","Promise","resolve","send","msg","close","removeListener"],"sources":["../../../../src/plugins/electron/rx-storage-ipc-renderer.ts"],"sourcesContent":["import { Subject } from 'rxjs';\r\nimport {\r\n getRxStorageRemote,\r\n RxStorageRemote,\r\n RxStorageRemoteSettings,\r\n MessageFromRemote\r\n} from '../storage-remote/index.ts';\r\nimport {\r\n IPC_RENDERER_KEY_PREFIX\r\n} from './electron-helper.ts';\r\nimport { PROMISE_RESOLVE_VOID } from '../utils/index.ts';\r\n\r\nexport type RxStorageIpcRendererSettings = {\r\n /**\r\n * Set the same key on both sides\r\n * to ensure that messages do not get mixed\r\n * up when you use more than one storage.\r\n */\r\n key: string;\r\n ipcRenderer: any;\r\n mode: RxStorageRemoteSettings['mode'];\r\n};\r\n\r\nexport type RxStorageIpcRenderer = RxStorageRemote;\r\nexport function getRxStorageIpcRenderer(\r\n settings: RxStorageIpcRendererSettings\r\n): RxStorageIpcRenderer {\r\n const channelId = [\r\n IPC_RENDERER_KEY_PREFIX,\r\n settings.key\r\n ].join('|');\r\n\r\n const storage = getRxStorageRemote({\r\n identifier: 'electron-ipc-renderer',\r\n mode: settings.mode,\r\n messageChannelCreator() {\r\n const messages$ = new Subject<MessageFromRemote>();\r\n const listener = (_event: any, message: any) => {\r\n messages$.next(message);\r\n };\r\n settings.ipcRenderer.on(channelId, listener);\r\n settings.ipcRenderer.postMessage(\r\n channelId,\r\n false\r\n );\r\n return Promise.resolve({\r\n messages$,\r\n send(msg) {\r\n settings.ipcRenderer.postMessage(\r\n channelId,\r\n msg\r\n );\r\n },\r\n close() {\r\n settings.ipcRenderer.removeListener(channelId, listener);\r\n return PROMISE_RESOLVE_VOID;\r\n }\r\n });\r\n },\r\n });\r\n return storage;\r\n}\r\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,MAAM;AAC9B,SACIC,kBAAkB,QAIf,4BAA4B;AACnC,SACIC,uBAAuB,QACpB,sBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,mBAAmB;AAcxD,OAAO,SAASC,uBAAuBA,CACnCC,QAAsC,EAClB;EACpB,IAAMC,SAAS,GAAG,CACdJ,uBAAuB,EACvBG,QAAQ,CAACE,GAAG,CACf,CAACC,IAAI,CAAC,GAAG,CAAC;EAEX,IAAMC,OAAO,GAAGR,kBAAkB,CAAC;IAC/BS,UAAU,EAAE,uBAAuB;IACnCC,IAAI,EAAEN,QAAQ,CAACM,IAAI;IACnBC,qBAAqBA,CAAA,EAAG;MACpB,IAAMC,SAAS,GAAG,IAAIb,OAAO,CAAoB,CAAC;MAClD,IAAMc,QAAQ,GAAGA,CAACC,MAAW,EAAEC,OAAY,KAAK;QAC5CH,SAAS,CAACI,IAAI,CAACD,OAAO,CAAC;MAC3B,CAAC;MACDX,QAAQ,CAACa,WAAW,CAACC,EAAE,CAACb,SAAS,EAAEQ,QAAQ,CAAC;MAC5CT,QAAQ,CAACa,WAAW,CAACE,WAAW,CAC5Bd,SAAS,EACT,KACJ,CAAC;MACD,OAAOe,OAAO,CAACC,OAAO,CAAC;QACnBT,SAAS;QACTU,IAAIA,CAACC,GAAG,EAAE;UACNnB,QAAQ,CAACa,WAAW,CAACE,WAAW,CAC5Bd,SAAS,EACTkB,GACJ,CAAC;QACL,CAAC;QACDC,KAAKA,CAAA,EAAG;UACJpB,QAAQ,CAACa,WAAW,CAACQ,cAAc,CAACpB,SAAS,EAAEQ,QAAQ,CAAC;UACxD,OAAOX,oBAAoB;QAC/B;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACF,OAAOM,OAAO;AAClB","ignoreList":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* this plugin adds the encryption-capabilities to rxdb
|
|
3
|
+
* It's using crypto-js/aes for password-encryption
|
|
4
|
+
* @link https://github.com/brix/crypto-js
|
|
5
|
+
*/
|
|
6
|
+
import pkg from 'crypto-js';
|
|
7
|
+
var {
|
|
8
|
+
AES,
|
|
9
|
+
enc: cryptoEnc
|
|
10
|
+
} = pkg;
|
|
11
|
+
import { wrapRxStorageInstance } from "../../plugin-helpers.js";
|
|
12
|
+
import { newRxError, newRxTypeError } from "../../rx-error.js";
|
|
13
|
+
import { hasEncryption } from "../../rx-storage-helper.js";
|
|
14
|
+
import { arrayBufferToBase64, base64ToArrayBuffer, clone, ensureNotFalsy, flatClone, getProperty, setProperty } from "../../plugins/utils/index.js";
|
|
15
|
+
export var MINIMUM_PASSWORD_LENGTH = 8;
|
|
16
|
+
export function encryptString(value, password) {
|
|
17
|
+
var encrypted = AES.encrypt(value, password);
|
|
18
|
+
return encrypted.toString();
|
|
19
|
+
}
|
|
20
|
+
export function decryptString(cipherText, password) {
|
|
21
|
+
/**
|
|
22
|
+
* Trying to decrypt non-strings
|
|
23
|
+
* will cause no errors and will be hard to debug.
|
|
24
|
+
* So instead we do this check here.
|
|
25
|
+
*/
|
|
26
|
+
if (typeof cipherText !== 'string') {
|
|
27
|
+
throw newRxError('SNH', {
|
|
28
|
+
args: {
|
|
29
|
+
cipherText
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
var decrypted = AES.decrypt(cipherText, password);
|
|
34
|
+
var ret = decrypted.toString(cryptoEnc.Utf8);
|
|
35
|
+
return ret;
|
|
36
|
+
}
|
|
37
|
+
export function wrappedKeyEncryptionCryptoJsStorage(args) {
|
|
38
|
+
return Object.assign({}, args.storage, {
|
|
39
|
+
async createStorageInstance(params) {
|
|
40
|
+
if (typeof params.password !== 'undefined') {
|
|
41
|
+
validatePassword(params.password);
|
|
42
|
+
}
|
|
43
|
+
if (!hasEncryption(params.schema)) {
|
|
44
|
+
var retInstance = await args.storage.createStorageInstance(params);
|
|
45
|
+
return retInstance;
|
|
46
|
+
}
|
|
47
|
+
if (!params.password) {
|
|
48
|
+
throw newRxError('EN3', {
|
|
49
|
+
database: params.databaseName,
|
|
50
|
+
collection: params.collectionName,
|
|
51
|
+
schema: params.schema
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
var password = params.password;
|
|
55
|
+
var schemaWithoutEncrypted = clone(params.schema);
|
|
56
|
+
delete schemaWithoutEncrypted.encrypted;
|
|
57
|
+
if (schemaWithoutEncrypted.attachments) {
|
|
58
|
+
schemaWithoutEncrypted.attachments.encrypted = false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Encrypted data is always stored as string
|
|
63
|
+
* so we have to change the schema to have "type": "string"
|
|
64
|
+
* on encrypted fields.
|
|
65
|
+
*/
|
|
66
|
+
ensureNotFalsy(params.schema.encrypted).forEach(key => {
|
|
67
|
+
schemaWithoutEncrypted.properties[key].type = 'string';
|
|
68
|
+
delete schemaWithoutEncrypted.properties[key].properties;
|
|
69
|
+
});
|
|
70
|
+
var instance = await args.storage.createStorageInstance(Object.assign({}, params, {
|
|
71
|
+
schema: schemaWithoutEncrypted
|
|
72
|
+
}));
|
|
73
|
+
async function modifyToStorage(docData) {
|
|
74
|
+
docData = cloneWithoutAttachments(docData);
|
|
75
|
+
ensureNotFalsy(params.schema.encrypted).forEach(path => {
|
|
76
|
+
var value = getProperty(docData, path);
|
|
77
|
+
if (typeof value === 'undefined') {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var stringValue = JSON.stringify(value);
|
|
81
|
+
var encrypted = encryptString(stringValue, password);
|
|
82
|
+
setProperty(docData, path, encrypted);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// handle attachments
|
|
86
|
+
if (params.schema.attachments && params.schema.attachments.encrypted) {
|
|
87
|
+
var newAttachments = {};
|
|
88
|
+
await Promise.all(Object.entries(docData._attachments).map(async ([id, attachment]) => {
|
|
89
|
+
var useAttachment = flatClone(attachment);
|
|
90
|
+
if (useAttachment.data) {
|
|
91
|
+
var ab = await useAttachment.data.arrayBuffer();
|
|
92
|
+
var base64 = arrayBufferToBase64(ab);
|
|
93
|
+
var encrypted = encryptString(base64, password);
|
|
94
|
+
useAttachment.data = new Blob([encrypted], {
|
|
95
|
+
type: useAttachment.type
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
newAttachments[id] = useAttachment;
|
|
99
|
+
}));
|
|
100
|
+
docData._attachments = newAttachments;
|
|
101
|
+
}
|
|
102
|
+
return docData;
|
|
103
|
+
}
|
|
104
|
+
function modifyFromStorage(docData) {
|
|
105
|
+
docData = cloneWithoutAttachments(docData);
|
|
106
|
+
ensureNotFalsy(params.schema.encrypted).forEach(path => {
|
|
107
|
+
var value = getProperty(docData, path);
|
|
108
|
+
if (typeof value === 'undefined') {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
var decrypted = decryptString(value, password);
|
|
112
|
+
var decryptedParsed = JSON.parse(decrypted);
|
|
113
|
+
setProperty(docData, path, decryptedParsed);
|
|
114
|
+
});
|
|
115
|
+
return docData;
|
|
116
|
+
}
|
|
117
|
+
async function modifyAttachmentFromStorage(attachmentData) {
|
|
118
|
+
if (params.schema.attachments && params.schema.attachments.encrypted) {
|
|
119
|
+
var encryptedText = await attachmentData.text();
|
|
120
|
+
var decryptedBase64 = decryptString(encryptedText, password);
|
|
121
|
+
var ab = base64ToArrayBuffer(decryptedBase64);
|
|
122
|
+
return new Blob([ab], attachmentData.type ? {
|
|
123
|
+
type: attachmentData.type
|
|
124
|
+
} : undefined);
|
|
125
|
+
} else {
|
|
126
|
+
return attachmentData;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return wrapRxStorageInstance(params.schema, instance, modifyToStorage, modifyFromStorage, modifyAttachmentFromStorage);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function cloneWithoutAttachments(data) {
|
|
134
|
+
var attachments = data._attachments;
|
|
135
|
+
data = flatClone(data);
|
|
136
|
+
delete data._attachments;
|
|
137
|
+
data = clone(data);
|
|
138
|
+
data._attachments = attachments;
|
|
139
|
+
return data;
|
|
140
|
+
}
|
|
141
|
+
function validatePassword(password) {
|
|
142
|
+
if (typeof password !== 'string') {
|
|
143
|
+
throw newRxTypeError('EN1', {
|
|
144
|
+
password
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (password.length < MINIMUM_PASSWORD_LENGTH) {
|
|
148
|
+
throw newRxError('EN2', {
|
|
149
|
+
minPassLength: MINIMUM_PASSWORD_LENGTH,
|
|
150
|
+
password
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["pkg","AES","enc","cryptoEnc","wrapRxStorageInstance","newRxError","newRxTypeError","hasEncryption","arrayBufferToBase64","base64ToArrayBuffer","clone","ensureNotFalsy","flatClone","getProperty","setProperty","MINIMUM_PASSWORD_LENGTH","encryptString","value","password","encrypted","encrypt","toString","decryptString","cipherText","args","decrypted","decrypt","ret","Utf8","wrappedKeyEncryptionCryptoJsStorage","Object","assign","storage","createStorageInstance","params","validatePassword","schema","retInstance","database","databaseName","collection","collectionName","schemaWithoutEncrypted","attachments","forEach","key","properties","type","instance","modifyToStorage","docData","cloneWithoutAttachments","path","stringValue","JSON","stringify","newAttachments","Promise","all","entries","_attachments","map","id","attachment","useAttachment","data","ab","arrayBuffer","base64","Blob","modifyFromStorage","decryptedParsed","parse","modifyAttachmentFromStorage","attachmentData","encryptedText","text","decryptedBase64","undefined","length","minPassLength"],"sources":["../../../../src/plugins/encryption-crypto-js/index.ts"],"sourcesContent":["/**\r\n * this plugin adds the encryption-capabilities to rxdb\r\n * It's using crypto-js/aes for password-encryption\r\n * @link https://github.com/brix/crypto-js\r\n */\r\nimport pkg from 'crypto-js';\r\nconst { AES, enc: cryptoEnc } = pkg;\r\n\r\nimport { wrapRxStorageInstance } from '../../plugin-helpers.ts';\r\nimport { newRxError, newRxTypeError } from '../../rx-error.ts';\r\nimport { hasEncryption } from '../../rx-storage-helper.ts';\r\nimport type {\r\n InternalStoreDocType,\r\n RxAttachmentWriteData,\r\n RxDocumentData,\r\n RxDocumentWriteData,\r\n RxJsonSchema,\r\n RxStorage,\r\n RxStorageInstanceCreationParams\r\n} from '../../types/index.d.ts';\r\nimport {\r\n arrayBufferToBase64,\r\n base64ToArrayBuffer,\r\n clone,\r\n ensureNotFalsy,\r\n flatClone,\r\n getProperty,\r\n setProperty\r\n} from '../../plugins/utils/index.ts';\r\n\r\nexport const MINIMUM_PASSWORD_LENGTH: 8 = 8;\r\n\r\n\r\nexport function encryptString(value: string, password: string): string {\r\n const encrypted = AES.encrypt(value, password);\r\n return encrypted.toString();\r\n}\r\n\r\nexport function decryptString(cipherText: string, password: any): string {\r\n /**\r\n * Trying to decrypt non-strings\r\n * will cause no errors and will be hard to debug.\r\n * So instead we do this check here.\r\n */\r\n if (typeof cipherText !== 'string') {\r\n throw newRxError('SNH', {\r\n args: {\r\n cipherText\r\n }\r\n });\r\n }\r\n\r\n const decrypted = AES.decrypt(cipherText, password);\r\n const ret = decrypted.toString(cryptoEnc.Utf8);\r\n return ret;\r\n}\r\n\r\nexport type InternalStorePasswordDocType = InternalStoreDocType<{\r\n hash: string;\r\n}>;\r\n\r\nexport function wrappedKeyEncryptionCryptoJsStorage<Internals, InstanceCreationOptions>(\r\n args: {\r\n storage: RxStorage<Internals, InstanceCreationOptions>;\r\n }\r\n): RxStorage<Internals, InstanceCreationOptions> {\r\n return Object.assign(\r\n {},\r\n args.storage,\r\n {\r\n async createStorageInstance<RxDocType>(\r\n params: RxStorageInstanceCreationParams<RxDocType, any>\r\n ) {\r\n if (typeof params.password !== 'undefined') {\r\n validatePassword(params.password as any);\r\n }\r\n\r\n if (!hasEncryption(params.schema)) {\r\n const retInstance = await args.storage.createStorageInstance(params);\r\n return retInstance;\r\n }\r\n\r\n if (!params.password) {\r\n throw newRxError('EN3', {\r\n database: params.databaseName,\r\n collection: params.collectionName,\r\n schema: params.schema\r\n });\r\n }\r\n const password = params.password;\r\n\r\n const schemaWithoutEncrypted: RxJsonSchema<RxDocumentData<RxDocType>> = clone(params.schema);\r\n delete schemaWithoutEncrypted.encrypted;\r\n if (schemaWithoutEncrypted.attachments) {\r\n schemaWithoutEncrypted.attachments.encrypted = false;\r\n }\r\n\r\n /**\r\n * Encrypted data is always stored as string\r\n * so we have to change the schema to have \"type\": \"string\"\r\n * on encrypted fields.\r\n */\r\n ensureNotFalsy(params.schema.encrypted).forEach(key => {\r\n (schemaWithoutEncrypted as any).properties[key].type = 'string';\r\n delete (schemaWithoutEncrypted as any).properties[key].properties;\r\n });\r\n\r\n const instance = await args.storage.createStorageInstance(\r\n Object.assign(\r\n {},\r\n params,\r\n {\r\n schema: schemaWithoutEncrypted\r\n }\r\n )\r\n );\r\n\r\n async function modifyToStorage(docData: RxDocumentWriteData<RxDocType>) {\r\n docData = cloneWithoutAttachments(docData);\r\n ensureNotFalsy(params.schema.encrypted)\r\n .forEach(path => {\r\n const value = getProperty(docData, path);\r\n if (typeof value === 'undefined') {\r\n return;\r\n }\r\n\r\n const stringValue = JSON.stringify(value);\r\n const encrypted = encryptString(stringValue, password);\r\n setProperty(docData, path, encrypted);\r\n });\r\n\r\n // handle attachments\r\n if (\r\n params.schema.attachments &&\r\n params.schema.attachments.encrypted\r\n ) {\r\n const newAttachments: typeof docData._attachments = {};\r\n await Promise.all(\r\n Object.entries(docData._attachments).map(async ([id, attachment]) => {\r\n const useAttachment: RxAttachmentWriteData = flatClone(attachment) as any;\r\n if (useAttachment.data) {\r\n const ab = await useAttachment.data.arrayBuffer();\r\n const base64 = arrayBufferToBase64(ab);\r\n const encrypted = encryptString(base64, password);\r\n useAttachment.data = new Blob([encrypted], { type: useAttachment.type });\r\n }\r\n newAttachments[id] = useAttachment;\r\n })\r\n );\r\n docData._attachments = newAttachments;\r\n }\r\n return docData;\r\n }\r\n function modifyFromStorage(docData: RxDocumentData<any>): Promise<RxDocumentData<RxDocType>> {\r\n docData = cloneWithoutAttachments(docData);\r\n ensureNotFalsy(params.schema.encrypted)\r\n .forEach(path => {\r\n const value = getProperty(docData, path);\r\n if (typeof value === 'undefined') {\r\n return;\r\n }\r\n const decrypted = decryptString(value, password);\r\n const decryptedParsed = JSON.parse(decrypted);\r\n setProperty(docData, path, decryptedParsed);\r\n });\r\n return docData;\r\n }\r\n\r\n async function modifyAttachmentFromStorage(attachmentData: Blob): Promise<Blob> {\r\n if (\r\n params.schema.attachments &&\r\n params.schema.attachments.encrypted\r\n ) {\r\n const encryptedText = await attachmentData.text();\r\n const decryptedBase64 = decryptString(encryptedText, password);\r\n const ab = base64ToArrayBuffer(decryptedBase64);\r\n return new Blob([ab], attachmentData.type ? { type: attachmentData.type } : undefined);\r\n } else {\r\n return attachmentData;\r\n }\r\n }\r\n\r\n return wrapRxStorageInstance(\r\n params.schema,\r\n instance,\r\n modifyToStorage,\r\n modifyFromStorage,\r\n modifyAttachmentFromStorage\r\n );\r\n }\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\nfunction cloneWithoutAttachments<T>(data: RxDocumentWriteData<T>): RxDocumentData<T> {\r\n const attachments = data._attachments;\r\n data = flatClone(data);\r\n delete (data as any)._attachments;\r\n data = clone(data);\r\n data._attachments = attachments;\r\n return data as any;\r\n}\r\n\r\nfunction validatePassword(password: string) {\r\n if (typeof password !== 'string') {\r\n throw newRxTypeError('EN1', {\r\n password\r\n });\r\n }\r\n if (password.length < MINIMUM_PASSWORD_LENGTH) {\r\n throw newRxError('EN2', {\r\n minPassLength: MINIMUM_PASSWORD_LENGTH,\r\n password\r\n });\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export function setFlutterRxDatabaseConnector(createDB) {
|
|
2
|
+
process.init = async databaseName => {
|
|
3
|
+
var db = await createDB(databaseName);
|
|
4
|
+
db.eventBulks$.subscribe(eventBulk => {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
sendRxDBEvent(JSON.stringify(eventBulk));
|
|
8
|
+
});
|
|
9
|
+
process.db = db;
|
|
10
|
+
var collections = [];
|
|
11
|
+
Object.entries(db.collections).forEach(([collectionName, collection]) => {
|
|
12
|
+
collections.push({
|
|
13
|
+
name: collectionName,
|
|
14
|
+
primaryKey: collection.schema.primaryPath
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
databaseName,
|
|
19
|
+
collections
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Create a simple lokijs adapter so that we can persist string via flutter
|
|
26
|
+
* @link https://github.com/techfort/LokiJS/blob/master/tutorials/Persistence%20Adapters.md#creating-your-own-basic-persistence-adapter
|
|
27
|
+
*/
|
|
28
|
+
export function getLokijsAdapterFlutter() {
|
|
29
|
+
var ret = {
|
|
30
|
+
async loadDatabase(databaseName, callback) {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
var serializedDb = await readKeyValue(databaseName);
|
|
34
|
+
var success = true;
|
|
35
|
+
if (success) {
|
|
36
|
+
callback(serializedDb);
|
|
37
|
+
} else {
|
|
38
|
+
callback(new Error('There was a problem loading the database'));
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
async saveDatabase(databaseName, dbstring, callback) {
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
await persistKeyValue(databaseName, dbstring);
|
|
45
|
+
var success = true; // make your own determinations
|
|
46
|
+
if (success) {
|
|
47
|
+
callback(null);
|
|
48
|
+
} else {
|
|
49
|
+
callback(new Error('An error was encountered loading " + dbname + " database.'));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return ret;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["setFlutterRxDatabaseConnector","createDB","process","init","databaseName","db","eventBulks$","subscribe","eventBulk","sendRxDBEvent","JSON","stringify","collections","Object","entries","forEach","collectionName","collection","push","name","primaryKey","schema","primaryPath","getLokijsAdapterFlutter","ret","loadDatabase","callback","serializedDb","readKeyValue","success","Error","saveDatabase","dbstring","persistKeyValue"],"sources":["../../../../src/plugins/flutter/index.ts"],"sourcesContent":["import type {\r\n RxChangeEventBulk,\r\n RxDatabase\r\n} from '../../types/index.d.ts';\r\n\r\nexport type CreateRxDatabaseFunctionType = (databaseName: string) => Promise<RxDatabase>;\r\n\r\nexport function setFlutterRxDatabaseConnector(\r\n createDB: CreateRxDatabaseFunctionType\r\n) {\r\n (process as any).init = async (databaseName: string) => {\r\n const db = await createDB(databaseName);\r\n db.eventBulks$.subscribe((eventBulk: RxChangeEventBulk<any>) => {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n sendRxDBEvent(JSON.stringify(eventBulk));\r\n });\r\n (process as any).db = db;\r\n const collections: { name: string; primaryKey: string; }[] = [];\r\n Object.entries(db.collections).forEach(([collectionName, collection]) => {\r\n collections.push({\r\n name: collectionName,\r\n primaryKey: collection.schema.primaryPath\r\n });\r\n });\r\n return {\r\n databaseName,\r\n collections\r\n };\r\n };\r\n}\r\n\r\n/**\r\n * Create a simple lokijs adapter so that we can persist string via flutter\r\n * @link https://github.com/techfort/LokiJS/blob/master/tutorials/Persistence%20Adapters.md#creating-your-own-basic-persistence-adapter\r\n */\r\nexport function getLokijsAdapterFlutter() {\r\n const ret = {\r\n async loadDatabase(databaseName: string, callback: (v: string | Error) => {}) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const serializedDb: string = await readKeyValue(databaseName);\r\n\r\n const success = true;\r\n if (success) {\r\n callback(serializedDb);\r\n } else {\r\n callback(new Error('There was a problem loading the database'));\r\n }\r\n },\r\n async saveDatabase(databaseName: string, dbstring: string, callback: (v: string | Error | null) => {}) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n await persistKeyValue(databaseName, dbstring);\r\n\r\n const success = true; // make your own determinations\r\n if (success) {\r\n callback(null);\r\n } else {\r\n callback(new Error('An error was encountered loading \" + dbname + \" database.'));\r\n }\r\n }\r\n };\r\n return ret;\r\n}\r\n"],"mappings":"AAOA,OAAO,SAASA,6BAA6BA,CACzCC,QAAsC,EACxC;EACGC,OAAO,CAASC,IAAI,GAAG,MAAOC,YAAoB,IAAK;IACpD,IAAMC,EAAE,GAAG,MAAMJ,QAAQ,CAACG,YAAY,CAAC;IACvCC,EAAE,CAACC,WAAW,CAACC,SAAS,CAAEC,SAAiC,IAAK;MAC5D;MACA;MACAC,aAAa,CAACC,IAAI,CAACC,SAAS,CAACH,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC;IACDN,OAAO,CAASG,EAAE,GAAGA,EAAE;IACxB,IAAMO,WAAoD,GAAG,EAAE;IAC/DC,MAAM,CAACC,OAAO,CAACT,EAAE,CAACO,WAAW,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,cAAc,EAAEC,UAAU,CAAC,KAAK;MACrEL,WAAW,CAACM,IAAI,CAAC;QACbC,IAAI,EAAEH,cAAc;QACpBI,UAAU,EAAEH,UAAU,CAACI,MAAM,CAACC;MAClC,CAAC,CAAC;IACN,CAAC,CAAC;IACF,OAAO;MACHlB,YAAY;MACZQ;IACJ,CAAC;EACL,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASW,uBAAuBA,CAAA,EAAG;EACtC,IAAMC,GAAG,GAAG;IACR,MAAMC,YAAYA,CAACrB,YAAoB,EAAEsB,QAAmC,EAAE;MAC1E;MACA;MACA,IAAMC,YAAoB,GAAG,MAAMC,YAAY,CAACxB,YAAY,CAAC;MAE7D,IAAMyB,OAAO,GAAG,IAAI;MACpB,IAAIA,OAAO,EAAE;QACTH,QAAQ,CAACC,YAAY,CAAC;MAC1B,CAAC,MAAM;QACHD,QAAQ,CAAC,IAAII,KAAK,CAAC,0CAA0C,CAAC,CAAC;MACnE;IACJ,CAAC;IACD,MAAMC,YAAYA,CAAC3B,YAAoB,EAAE4B,QAAgB,EAAEN,QAA0C,EAAE;MACnG;MACA;MACA,MAAMO,eAAe,CAAC7B,YAAY,EAAE4B,QAAQ,CAAC;MAE7C,IAAMH,OAAO,GAAG,IAAI,CAAC,CAAE;MACvB,IAAIA,OAAO,EAAE;QACTH,QAAQ,CAAC,IAAI,CAAC;MAClB,CAAC,MAAM;QACHA,QAAQ,CAAC,IAAII,KAAK,CAAC,2DAA2D,CAAC,CAAC;MACpF;IACJ;EACJ,CAAC;EACD,OAAON,GAAG;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* this plugin adds the json export/import capabilities to RxDB
|
|
3
|
+
*/
|
|
4
|
+
import { createRxQuery, queryCollection, _getDefaultQuery } from "../../rx-query.js";
|
|
5
|
+
import { newRxError } from "../../rx-error.js";
|
|
6
|
+
import { flatClone, getDefaultRevision, now } from "../../plugins/utils/index.js";
|
|
7
|
+
function dumpRxDatabase(collections) {
|
|
8
|
+
var json = {
|
|
9
|
+
name: this.name,
|
|
10
|
+
instanceToken: this.token,
|
|
11
|
+
collections: []
|
|
12
|
+
};
|
|
13
|
+
var useCollections = Object.keys(this.collections).filter(colName => !collections || collections.includes(colName)).filter(colName => colName.charAt(0) !== '_').map(colName => this.collections[colName]);
|
|
14
|
+
return Promise.all(useCollections.map(col => col.exportJSON())).then(cols => {
|
|
15
|
+
json.collections = cols;
|
|
16
|
+
return json;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
var importDumpRxDatabase = function (dump) {
|
|
20
|
+
/**
|
|
21
|
+
* collections must be created before the import
|
|
22
|
+
* because we do not know about the other collection-settings here
|
|
23
|
+
*/
|
|
24
|
+
var missingCollections = dump.collections.filter(col => !this.collections[col.name]).map(col => col.name);
|
|
25
|
+
if (missingCollections.length > 0) {
|
|
26
|
+
throw newRxError('JD1', {
|
|
27
|
+
missingCollections
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return Promise.all(dump.collections.map(colDump => this.collections[colDump.name].importJSON(colDump)));
|
|
31
|
+
};
|
|
32
|
+
var dumpRxCollection = async function () {
|
|
33
|
+
var json = {
|
|
34
|
+
name: this.name,
|
|
35
|
+
schemaHash: await this.schema.hash,
|
|
36
|
+
docs: []
|
|
37
|
+
};
|
|
38
|
+
var query = createRxQuery('find', _getDefaultQuery(), this);
|
|
39
|
+
return queryCollection(query).then(result => {
|
|
40
|
+
json.docs = result.docs.map(docData => {
|
|
41
|
+
docData = flatClone(docData);
|
|
42
|
+
delete docData._rev;
|
|
43
|
+
delete docData._attachments;
|
|
44
|
+
return docData;
|
|
45
|
+
});
|
|
46
|
+
return json;
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
async function importDumpRxCollection(exportedJSON) {
|
|
50
|
+
// check schemaHash
|
|
51
|
+
if (exportedJSON.schemaHash !== (await this.schema.hash)) {
|
|
52
|
+
throw newRxError('JD2', {
|
|
53
|
+
schemaHash: exportedJSON.schemaHash,
|
|
54
|
+
own: this.schema.hash
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
var docs = exportedJSON.docs;
|
|
58
|
+
return this.storageInstance.bulkWrite(docs.map(docData => {
|
|
59
|
+
var document = Object.assign({}, docData, {
|
|
60
|
+
_meta: {
|
|
61
|
+
lwt: now()
|
|
62
|
+
},
|
|
63
|
+
_rev: getDefaultRevision(),
|
|
64
|
+
_attachments: {},
|
|
65
|
+
_deleted: false
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
document
|
|
69
|
+
};
|
|
70
|
+
}), 'json-dump-import');
|
|
71
|
+
}
|
|
72
|
+
export var RxDBJsonDumpPlugin = {
|
|
73
|
+
name: 'json-dump',
|
|
74
|
+
rxdb: true,
|
|
75
|
+
prototypes: {
|
|
76
|
+
RxDatabase: proto => {
|
|
77
|
+
proto.exportJSON = dumpRxDatabase;
|
|
78
|
+
proto.importJSON = importDumpRxDatabase;
|
|
79
|
+
},
|
|
80
|
+
RxCollection: proto => {
|
|
81
|
+
proto.exportJSON = dumpRxCollection;
|
|
82
|
+
proto.importJSON = importDumpRxCollection;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
overwritable: {}
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createRxQuery","queryCollection","_getDefaultQuery","newRxError","flatClone","getDefaultRevision","now","dumpRxDatabase","collections","json","name","instanceToken","token","useCollections","Object","keys","filter","colName","includes","charAt","map","Promise","all","col","exportJSON","then","cols","importDumpRxDatabase","dump","missingCollections","length","colDump","importJSON","dumpRxCollection","schemaHash","schema","hash","docs","query","result","docData","_rev","_attachments","importDumpRxCollection","exportedJSON","own","storageInstance","bulkWrite","document","assign","_meta","lwt","_deleted","RxDBJsonDumpPlugin","rxdb","prototypes","RxDatabase","proto","RxCollection","overwritable"],"sources":["../../../../src/plugins/json-dump/index.ts"],"sourcesContent":["/**\r\n * this plugin adds the json export/import capabilities to RxDB\r\n */\r\nimport {\r\n createRxQuery,\r\n queryCollection,\r\n _getDefaultQuery\r\n} from '../../rx-query.ts';\r\nimport {\r\n newRxError\r\n} from '../../rx-error.ts';\r\nimport type {\r\n RxDatabase,\r\n RxCollection,\r\n RxPlugin,\r\n RxDocumentData\r\n} from '../../types/index.d.ts';\r\nimport {\r\n flatClone,\r\n getDefaultRevision,\r\n now\r\n} from '../../plugins/utils/index.ts';\r\n\r\nfunction dumpRxDatabase(\r\n this: RxDatabase,\r\n collections?: string[]\r\n): Promise<any> {\r\n const json: any = {\r\n name: this.name,\r\n instanceToken: this.token,\r\n collections: []\r\n };\r\n\r\n const useCollections = Object.keys(this.collections)\r\n .filter(colName => !collections || collections.includes(colName))\r\n .filter(colName => colName.charAt(0) !== '_')\r\n .map(colName => this.collections[colName]);\r\n\r\n return Promise.all(\r\n useCollections\r\n .map(col => col.exportJSON())\r\n ).then(cols => {\r\n json.collections = cols;\r\n return json;\r\n });\r\n}\r\n\r\nconst importDumpRxDatabase = function (\r\n this: RxDatabase,\r\n dump: any\r\n) {\r\n /**\r\n * collections must be created before the import\r\n * because we do not know about the other collection-settings here\r\n */\r\n const missingCollections = dump.collections\r\n .filter((col: any) => !this.collections[col.name])\r\n .map((col: any) => col.name);\r\n if (missingCollections.length > 0) {\r\n throw newRxError('JD1', {\r\n missingCollections\r\n });\r\n }\r\n\r\n return Promise.all(\r\n dump.collections\r\n .map((colDump: any) => this.collections[colDump.name].importJSON(colDump))\r\n );\r\n};\r\n\r\nconst dumpRxCollection = async function (\r\n this: RxCollection\r\n) {\r\n const json: any = {\r\n name: this.name,\r\n schemaHash: await this.schema.hash,\r\n docs: []\r\n };\r\n\r\n const query = createRxQuery(\r\n 'find',\r\n _getDefaultQuery(),\r\n this\r\n );\r\n return queryCollection(query)\r\n .then((result) => {\r\n json.docs = result.docs.map((docData: any) => {\r\n docData = flatClone(docData);\r\n delete docData._rev;\r\n delete docData._attachments;\r\n return docData;\r\n });\r\n return json;\r\n });\r\n};\r\n\r\nasync function importDumpRxCollection<RxDocType>(\r\n this: RxCollection<RxDocType>,\r\n exportedJSON: any\r\n): Promise<any> {\r\n // check schemaHash\r\n if (exportedJSON.schemaHash !== await this.schema.hash) {\r\n throw newRxError('JD2', {\r\n schemaHash: exportedJSON.schemaHash,\r\n own: this.schema.hash\r\n });\r\n }\r\n\r\n const docs: RxDocType[] = exportedJSON.docs;\r\n return this.storageInstance.bulkWrite(\r\n docs.map(docData => {\r\n const document: RxDocumentData<RxDocType> = Object.assign(\r\n {},\r\n docData,\r\n {\r\n _meta: {\r\n lwt: now()\r\n },\r\n _rev: getDefaultRevision(),\r\n _attachments: {},\r\n _deleted: false\r\n }\r\n );\r\n return {\r\n document\r\n };\r\n }),\r\n 'json-dump-import'\r\n );\r\n}\r\n\r\nexport const RxDBJsonDumpPlugin: RxPlugin = {\r\n name: 'json-dump',\r\n rxdb: true,\r\n prototypes: {\r\n RxDatabase: (proto: any) => {\r\n proto.exportJSON = dumpRxDatabase;\r\n proto.importJSON = importDumpRxDatabase;\r\n },\r\n RxCollection: (proto: any) => {\r\n proto.exportJSON = dumpRxCollection;\r\n proto.importJSON = importDumpRxCollection;\r\n }\r\n },\r\n overwritable: {}\r\n};\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* this plugin adds the keycompression-capabilities to rxdb
|
|
3
|
+
* if you don't use this, ensure that you set disableKeyCompression to false in your schema
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { createCompressionTable, compressObject, decompressObject, compressedPath, DEFAULT_COMPRESSION_FLAG, createCompressedJsonSchema, compressQuery } from 'jsonschema-key-compression';
|
|
7
|
+
import { overwritable } from "../../overwritable.js";
|
|
8
|
+
import { wrapRxStorageInstance } from "../../plugin-helpers.js";
|
|
9
|
+
import { getPrimaryFieldOfPrimaryKey } from "../../rx-schema-helper.js";
|
|
10
|
+
import { flatCloneDocWithMeta } from "../../rx-storage-helper.js";
|
|
11
|
+
import { flatClone, getFromMapOrCreate, isMaybeReadonlyArray } from "../../plugins/utils/index.js";
|
|
12
|
+
import { prepareQuery } from "../../rx-query-helper.js";
|
|
13
|
+
/**
|
|
14
|
+
* Cache the compression table and the compressed schema
|
|
15
|
+
* by the storage instance for better performance.
|
|
16
|
+
*/
|
|
17
|
+
var COMPRESSION_STATE_BY_SCHEMA = new WeakMap();
|
|
18
|
+
export function getCompressionStateByRxJsonSchema(schema) {
|
|
19
|
+
/**
|
|
20
|
+
* Because we cache the state by the JsonSchema,
|
|
21
|
+
* it must be assured that the given schema object
|
|
22
|
+
* is never mutated.
|
|
23
|
+
*/
|
|
24
|
+
overwritable.deepFreezeWhenDevMode(schema);
|
|
25
|
+
return getFromMapOrCreate(COMPRESSION_STATE_BY_SCHEMA, schema, () => {
|
|
26
|
+
var compressionSchema = flatClone(schema);
|
|
27
|
+
delete compressionSchema.primaryKey;
|
|
28
|
+
var table = createCompressionTable(compressionSchema, DEFAULT_COMPRESSION_FLAG, [
|
|
29
|
+
/**
|
|
30
|
+
* Do not compress the primary field
|
|
31
|
+
* for easier debugging.
|
|
32
|
+
*/
|
|
33
|
+
getPrimaryFieldOfPrimaryKey(schema.primaryKey), '_rev', '_attachments', '_deleted', '_meta']);
|
|
34
|
+
delete compressionSchema.primaryKey;
|
|
35
|
+
var compressedSchema = createCompressedJsonSchema(table, compressionSchema);
|
|
36
|
+
|
|
37
|
+
// also compress primary key
|
|
38
|
+
if (typeof schema.primaryKey !== 'string') {
|
|
39
|
+
var composedPrimary = schema.primaryKey;
|
|
40
|
+
var newComposedPrimary = {
|
|
41
|
+
key: compressedPath(table, composedPrimary.key),
|
|
42
|
+
fields: composedPrimary.fields.map(field => compressedPath(table, field)),
|
|
43
|
+
separator: composedPrimary.separator
|
|
44
|
+
};
|
|
45
|
+
compressedSchema.primaryKey = newComposedPrimary;
|
|
46
|
+
} else {
|
|
47
|
+
compressedSchema.primaryKey = compressedPath(table, schema.primaryKey);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* the key compression module does not know about indexes
|
|
52
|
+
* in the schema, so we have to also compress them here.
|
|
53
|
+
*/
|
|
54
|
+
if (schema.indexes) {
|
|
55
|
+
var newIndexes = schema.indexes.map(idx => {
|
|
56
|
+
if (isMaybeReadonlyArray(idx)) {
|
|
57
|
+
return idx.map(subIdx => compressedPath(table, subIdx));
|
|
58
|
+
} else {
|
|
59
|
+
return compressedPath(table, idx);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
compressedSchema.indexes = newIndexes;
|
|
63
|
+
}
|
|
64
|
+
var compressionState = {
|
|
65
|
+
table,
|
|
66
|
+
schema,
|
|
67
|
+
compressedSchema
|
|
68
|
+
};
|
|
69
|
+
return compressionState;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
export function wrappedKeyCompressionStorage(args) {
|
|
73
|
+
return Object.assign({}, args.storage, {
|
|
74
|
+
async createStorageInstance(params) {
|
|
75
|
+
if (!params.schema.keyCompression) {
|
|
76
|
+
return args.storage.createStorageInstance(params);
|
|
77
|
+
}
|
|
78
|
+
var compressionState = getCompressionStateByRxJsonSchema(params.schema);
|
|
79
|
+
function modifyToStorage(docData) {
|
|
80
|
+
var ret = compressDocumentData(compressionState, docData);
|
|
81
|
+
return ret;
|
|
82
|
+
}
|
|
83
|
+
function modifyFromStorage(docData) {
|
|
84
|
+
return decompressDocumentData(compressionState, docData);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Because this wrapper resolves the key-compression,
|
|
89
|
+
* we can set the flag to false
|
|
90
|
+
* which allows underlying storages to detect wrong configurations
|
|
91
|
+
* like when keyCompression is set to false but no key-compression module is used.
|
|
92
|
+
*/
|
|
93
|
+
var childSchema = flatClone(compressionState.compressedSchema);
|
|
94
|
+
childSchema.keyCompression = false;
|
|
95
|
+
var instance = await args.storage.createStorageInstance(Object.assign({}, params, {
|
|
96
|
+
schema: childSchema
|
|
97
|
+
}));
|
|
98
|
+
var wrappedInstance = wrapRxStorageInstance(params.schema, instance, modifyToStorage, modifyFromStorage);
|
|
99
|
+
var overwriteMethods = ['query', 'count'];
|
|
100
|
+
overwriteMethods.forEach(methodName => {
|
|
101
|
+
var methodBefore = wrappedInstance[methodName].bind(wrappedInstance);
|
|
102
|
+
wrappedInstance[methodName] = async preparedQuery => {
|
|
103
|
+
var compressedQuery = compressQuery(compressionState.table, preparedQuery.query);
|
|
104
|
+
var compressedPreparedQuery = prepareQuery(compressionState.compressedSchema, compressedQuery);
|
|
105
|
+
return methodBefore(compressedPreparedQuery);
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
return wrappedInstance;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
export function compressDocumentData(compressionState, docData) {
|
|
113
|
+
/**
|
|
114
|
+
* Do not send attachments to compressObject()
|
|
115
|
+
* because it will deep clone which does not work on Blob or Buffer.
|
|
116
|
+
*/
|
|
117
|
+
docData = flatCloneDocWithMeta(docData);
|
|
118
|
+
var attachments = docData._attachments;
|
|
119
|
+
delete docData._attachments;
|
|
120
|
+
docData = compressObject(compressionState.table, docData);
|
|
121
|
+
docData._attachments = attachments;
|
|
122
|
+
return docData;
|
|
123
|
+
}
|
|
124
|
+
export function decompressDocumentData(compressionState, docData) {
|
|
125
|
+
return decompressObject(compressionState.table, docData);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createCompressionTable","compressObject","decompressObject","compressedPath","DEFAULT_COMPRESSION_FLAG","createCompressedJsonSchema","compressQuery","overwritable","wrapRxStorageInstance","getPrimaryFieldOfPrimaryKey","flatCloneDocWithMeta","flatClone","getFromMapOrCreate","isMaybeReadonlyArray","prepareQuery","COMPRESSION_STATE_BY_SCHEMA","WeakMap","getCompressionStateByRxJsonSchema","schema","deepFreezeWhenDevMode","compressionSchema","primaryKey","table","compressedSchema","composedPrimary","newComposedPrimary","key","fields","map","field","separator","indexes","newIndexes","idx","subIdx","compressionState","wrappedKeyCompressionStorage","args","Object","assign","storage","createStorageInstance","params","keyCompression","modifyToStorage","docData","ret","compressDocumentData","modifyFromStorage","decompressDocumentData","childSchema","instance","wrappedInstance","overwriteMethods","forEach","methodName","methodBefore","bind","preparedQuery","compressedQuery","query","compressedPreparedQuery","attachments","_attachments"],"sources":["../../../../src/plugins/key-compression/index.ts"],"sourcesContent":["/**\r\n * this plugin adds the keycompression-capabilities to rxdb\r\n * if you don't use this, ensure that you set disableKeyCompression to false in your schema\r\n */\r\n\r\nimport {\r\n createCompressionTable,\r\n CompressionTable,\r\n JsonSchema as KeyCompressionJsonSchema,\r\n compressObject,\r\n decompressObject,\r\n compressedPath,\r\n DEFAULT_COMPRESSION_FLAG,\r\n createCompressedJsonSchema,\r\n compressQuery\r\n} from 'jsonschema-key-compression';\r\nimport {\r\n overwritable\r\n} from '../../overwritable.ts';\r\nimport { wrapRxStorageInstance } from '../../plugin-helpers.ts';\r\nimport { getPrimaryFieldOfPrimaryKey } from '../../rx-schema-helper.ts';\r\nimport { flatCloneDocWithMeta } from '../../rx-storage-helper.ts';\r\n\r\nimport type {\r\n RxJsonSchema,\r\n CompositePrimaryKey,\r\n RxStorage,\r\n RxStorageInstanceCreationParams,\r\n RxDocumentData,\r\n FilledMangoQuery,\r\n PreparedQuery,\r\n RxDocumentWriteData\r\n} from '../../types/index.d.ts';\r\nimport {\r\n clone,\r\n flatClone,\r\n getFromMapOrCreate,\r\n isMaybeReadonlyArray\r\n} from '../../plugins/utils/index.ts';\r\nimport { prepareQuery } from '../../rx-query-helper.ts';\r\n\r\ndeclare type CompressionState = {\r\n table: CompressionTable;\r\n schema: RxJsonSchema<any>;\r\n compressedSchema: RxJsonSchema<any>;\r\n};\r\n\r\n/**\r\n * Cache the compression table and the compressed schema\r\n * by the storage instance for better performance.\r\n */\r\nconst COMPRESSION_STATE_BY_SCHEMA: WeakMap<\r\n RxJsonSchema<any>,\r\n CompressionState\r\n> = new WeakMap();\r\n\r\n\r\nexport function getCompressionStateByRxJsonSchema(\r\n schema: RxJsonSchema<any>\r\n): CompressionState {\r\n /**\r\n * Because we cache the state by the JsonSchema,\r\n * it must be assured that the given schema object\r\n * is never mutated.\r\n */\r\n overwritable.deepFreezeWhenDevMode(schema);\r\n\r\n return getFromMapOrCreate(\r\n COMPRESSION_STATE_BY_SCHEMA,\r\n schema,\r\n () => {\r\n const compressionSchema: KeyCompressionJsonSchema = flatClone(schema) as any;\r\n delete (compressionSchema as any).primaryKey;\r\n\r\n const table = createCompressionTable(\r\n compressionSchema,\r\n DEFAULT_COMPRESSION_FLAG,\r\n [\r\n /**\r\n * Do not compress the primary field\r\n * for easier debugging.\r\n */\r\n getPrimaryFieldOfPrimaryKey(schema.primaryKey),\r\n '_rev',\r\n '_attachments',\r\n '_deleted',\r\n '_meta'\r\n ]\r\n );\r\n\r\n delete (compressionSchema as any).primaryKey;\r\n const compressedSchema: RxJsonSchema<any> = createCompressedJsonSchema(\r\n table,\r\n compressionSchema\r\n ) as RxJsonSchema<any>;\r\n\r\n // also compress primary key\r\n if (typeof schema.primaryKey !== 'string') {\r\n const composedPrimary: CompositePrimaryKey<any> = schema.primaryKey;\r\n const newComposedPrimary: CompositePrimaryKey<any> = {\r\n key: compressedPath(table, composedPrimary.key as string),\r\n fields: composedPrimary.fields.map(field => compressedPath(table, field as string)),\r\n separator: composedPrimary.separator\r\n };\r\n compressedSchema.primaryKey = newComposedPrimary;\r\n } else {\r\n compressedSchema.primaryKey = compressedPath(table, schema.primaryKey);\r\n }\r\n\r\n /**\r\n * the key compression module does not know about indexes\r\n * in the schema, so we have to also compress them here.\r\n */\r\n if (schema.indexes) {\r\n const newIndexes = schema.indexes.map(idx => {\r\n if (isMaybeReadonlyArray(idx)) {\r\n return idx.map(subIdx => compressedPath(table, subIdx));\r\n } else {\r\n return compressedPath(table, idx);\r\n }\r\n });\r\n compressedSchema.indexes = newIndexes;\r\n }\r\n\r\n const compressionState = {\r\n table,\r\n schema,\r\n compressedSchema\r\n };\r\n return compressionState;\r\n }\r\n );\r\n}\r\n\r\nexport function wrappedKeyCompressionStorage<Internals, InstanceCreationOptions>(\r\n args: {\r\n storage: RxStorage<Internals, InstanceCreationOptions>;\r\n }\r\n): RxStorage<Internals, InstanceCreationOptions> {\r\n return Object.assign(\r\n {},\r\n args.storage,\r\n {\r\n async createStorageInstance<RxDocType>(\r\n params: RxStorageInstanceCreationParams<RxDocType, any>\r\n ) {\r\n if (!params.schema.keyCompression) {\r\n return args.storage.createStorageInstance(params);\r\n }\r\n\r\n const compressionState = getCompressionStateByRxJsonSchema(params.schema);\r\n function modifyToStorage(docData: RxDocumentWriteData<RxDocType>) {\r\n const ret = compressDocumentData(compressionState, docData);\r\n return ret;\r\n }\r\n function modifyFromStorage(docData: RxDocumentData<any>): Promise<RxDocumentData<RxDocType>> {\r\n return decompressDocumentData(compressionState, docData);\r\n }\r\n\r\n /**\r\n * Because this wrapper resolves the key-compression,\r\n * we can set the flag to false\r\n * which allows underlying storages to detect wrong configurations\r\n * like when keyCompression is set to false but no key-compression module is used.\r\n */\r\n const childSchema = flatClone(compressionState.compressedSchema);\r\n childSchema.keyCompression = false;\r\n\r\n const instance = await args.storage.createStorageInstance(\r\n Object.assign(\r\n {},\r\n params,\r\n {\r\n schema: childSchema\r\n }\r\n )\r\n );\r\n\r\n const wrappedInstance = wrapRxStorageInstance(\r\n params.schema,\r\n instance,\r\n modifyToStorage,\r\n modifyFromStorage\r\n );\r\n\r\n\r\n const overwriteMethods = ['query', 'count'] as const;\r\n overwriteMethods.forEach(methodName => {\r\n const methodBefore = wrappedInstance[methodName].bind(wrappedInstance);\r\n (wrappedInstance as any)[methodName] = async (preparedQuery: PreparedQuery<RxDocType>) => {\r\n const compressedQuery: FilledMangoQuery<RxDocType> = compressQuery(\r\n compressionState.table,\r\n preparedQuery.query as any\r\n ) as any;\r\n\r\n const compressedPreparedQuery = prepareQuery(\r\n compressionState.compressedSchema,\r\n compressedQuery\r\n );\r\n return methodBefore(compressedPreparedQuery);\r\n }\r\n });\r\n\r\n return wrappedInstance;\r\n }\r\n }\r\n );\r\n}\r\n\r\nexport function compressDocumentData(\r\n compressionState: CompressionState,\r\n docData: RxDocumentData<any>\r\n): RxDocumentData<any> {\r\n /**\r\n * Do not send attachments to compressObject()\r\n * because it will deep clone which does not work on Blob or Buffer.\r\n */\r\n docData = flatCloneDocWithMeta(docData);\r\n const attachments = docData._attachments;\r\n delete docData._attachments;\r\n\r\n docData = compressObject(\r\n compressionState.table,\r\n docData\r\n );\r\n docData._attachments = attachments;\r\n return docData;\r\n}\r\n\r\nexport function decompressDocumentData(\r\n compressionState: CompressionState,\r\n docData: RxDocumentData<any>\r\n): RxDocumentData<any> {\r\n return decompressObject(\r\n compressionState.table,\r\n docData\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|