@verdant-web/store 2.0.1 → 2.0.2
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/dist/cjs/BackoffScheduler.d.ts +19 -19
- package/dist/cjs/BackoffScheduler.js +44 -44
- package/dist/cjs/DocumentManager.d.ts +28 -28
- package/dist/cjs/DocumentManager.js +44 -44
- package/dist/cjs/IDBService.d.ts +9 -9
- package/dist/cjs/IDBService.js +46 -46
- package/dist/cjs/UndoHistory.d.ts +16 -16
- package/dist/cjs/UndoHistory.js +50 -50
- package/dist/cjs/__tests__/batching.test.d.ts +1 -1
- package/dist/cjs/__tests__/batching.test.js +44 -44
- package/dist/cjs/__tests__/documents.test.d.ts +1 -1
- package/dist/cjs/__tests__/documents.test.js +398 -398
- package/dist/cjs/__tests__/fixtures/testStorage.d.ts +118 -118
- package/dist/cjs/__tests__/fixtures/testStorage.js +115 -115
- package/dist/cjs/__tests__/queries.test.d.ts +1 -1
- package/dist/cjs/__tests__/queries.test.js +262 -262
- package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
- package/dist/cjs/__tests__/undo.test.d.ts +1 -1
- package/dist/cjs/__tests__/undo.test.js +86 -86
- package/dist/cjs/client/Client.d.ts +86 -86
- package/dist/cjs/client/Client.js +226 -226
- package/dist/cjs/client/ClientDescriptor.d.ts +62 -62
- package/dist/cjs/client/ClientDescriptor.js +108 -108
- package/dist/cjs/constants.d.ts +1 -1
- package/dist/cjs/constants.js +4 -4
- package/dist/cjs/context.d.ts +17 -17
- package/dist/cjs/context.js +2 -2
- package/dist/cjs/files/EntityFile.d.ts +27 -27
- package/dist/cjs/files/EntityFile.js +71 -71
- package/dist/cjs/files/FileManager.d.ts +42 -42
- package/dist/cjs/files/FileManager.js +145 -145
- package/dist/cjs/files/FileStorage.d.ts +27 -27
- package/dist/cjs/files/FileStorage.js +93 -93
- package/dist/cjs/files/utils.d.ts +8 -8
- package/dist/cjs/files/utils.js +55 -55
- package/dist/cjs/files/utils.test.d.ts +1 -1
- package/dist/cjs/files/utils.test.js +80 -80
- package/dist/cjs/idb.d.ts +8 -8
- package/dist/cjs/idb.js +87 -87
- package/dist/cjs/index.d.ts +19 -19
- package/dist/cjs/index.js +20 -20
- package/dist/cjs/indexes.d.ts +3 -3
- package/dist/cjs/indexes.js +19 -19
- package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
- package/dist/cjs/metadata/AckInfoStore.js +25 -25
- package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
- package/dist/cjs/metadata/BaselinesStore.js +59 -59
- package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
- package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
- package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
- package/dist/cjs/metadata/MessageCreator.js +127 -127
- package/dist/cjs/metadata/Metadata.d.ts +106 -106
- package/dist/cjs/metadata/Metadata.js +336 -336
- package/dist/cjs/metadata/OperationsStore.d.ts +50 -50
- package/dist/cjs/metadata/OperationsStore.js +145 -145
- package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
- package/dist/cjs/metadata/SchemaStore.js +38 -38
- package/dist/cjs/metadata/openMetadataDatabase.d.ts +8 -8
- package/dist/cjs/metadata/openMetadataDatabase.js +105 -105
- package/dist/cjs/openDocumentDatabase.d.ts +12 -12
- package/dist/cjs/openDocumentDatabase.js +424 -424
- package/dist/cjs/queries2/BaseQuery.d.ts +39 -39
- package/dist/cjs/queries2/BaseQuery.js +98 -98
- package/dist/cjs/queries2/CollectionQueries.d.ts +55 -55
- package/dist/cjs/queries2/CollectionQueries.js +82 -82
- package/dist/cjs/queries2/FindAllQuery.d.ts +11 -11
- package/dist/cjs/queries2/FindAllQuery.js +33 -33
- package/dist/cjs/queries2/FindInfiniteQuery.d.ts +18 -18
- package/dist/cjs/queries2/FindInfiniteQuery.js +60 -60
- package/dist/cjs/queries2/FindOneQuery.d.ts +11 -11
- package/dist/cjs/queries2/FindOneQuery.js +33 -33
- package/dist/cjs/queries2/FindPageQuery.d.ts +23 -23
- package/dist/cjs/queries2/FindPageQuery.js +67 -67
- package/dist/cjs/queries2/GetQuery.d.ts +10 -10
- package/dist/cjs/queries2/GetQuery.js +29 -29
- package/dist/cjs/queries2/QueryCache.d.ts +16 -16
- package/dist/cjs/queries2/QueryCache.js +39 -39
- package/dist/cjs/queries2/dbQueries.d.ts +22 -22
- package/dist/cjs/queries2/dbQueries.js +125 -125
- package/dist/cjs/queries2/keys.d.ts +10 -10
- package/dist/cjs/queries2/keys.js +33 -33
- package/dist/cjs/queries2/ranges.d.ts +2 -2
- package/dist/cjs/queries2/ranges.js +69 -69
- package/dist/cjs/queries2/types.d.ts +6 -6
- package/dist/cjs/queries2/types.js +2 -2
- package/dist/cjs/queries2/utils.d.ts +1 -1
- package/dist/cjs/queries2/utils.js +19 -19
- package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +47 -47
- package/dist/cjs/reactives/DocumentFamiliyCache.js +210 -210
- package/dist/cjs/reactives/Entity.d.ts +191 -191
- package/dist/cjs/reactives/Entity.js +462 -462
- package/dist/cjs/reactives/EntityStore.d.ts +84 -84
- package/dist/cjs/reactives/EntityStore.js +421 -421
- package/dist/cjs/reactives/FakeWeakRef.d.ts +11 -11
- package/dist/cjs/reactives/FakeWeakRef.js +18 -18
- package/dist/cjs/sync/FileSync.d.ts +23 -23
- package/dist/cjs/sync/FileSync.js +84 -84
- package/dist/cjs/sync/Heartbeat.d.ts +24 -24
- package/dist/cjs/sync/Heartbeat.js +55 -55
- package/dist/cjs/sync/PresenceManager.d.ts +41 -41
- package/dist/cjs/sync/PresenceManager.js +107 -107
- package/dist/cjs/sync/PushPullSync.d.ts +36 -36
- package/dist/cjs/sync/PushPullSync.js +141 -141
- package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
- package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
- package/dist/cjs/sync/Sync.d.ts +127 -127
- package/dist/cjs/sync/Sync.js +244 -244
- package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
- package/dist/cjs/sync/WebSocketSync.js +183 -183
- package/dist/cjs/types.d.ts +5 -5
- package/dist/cjs/types.js +2 -2
- package/dist/cjs/utils/Disposable.d.ts +6 -6
- package/dist/cjs/utils/Disposable.js +18 -18
- package/dist/cjs/utils/Resolvable.d.ts +8 -8
- package/dist/cjs/utils/Resolvable.js +22 -22
- package/dist/esm/BackoffScheduler.d.ts +19 -19
- package/dist/esm/BackoffScheduler.js +39 -39
- package/dist/esm/DocumentManager.d.ts +28 -28
- package/dist/esm/DocumentManager.js +40 -40
- package/dist/esm/IDBService.d.ts +9 -9
- package/dist/esm/IDBService.js +42 -42
- package/dist/esm/UndoHistory.d.ts +16 -16
- package/dist/esm/UndoHistory.js +46 -46
- package/dist/esm/__tests__/batching.test.d.ts +1 -1
- package/dist/esm/__tests__/batching.test.js +42 -42
- package/dist/esm/__tests__/documents.test.d.ts +1 -1
- package/dist/esm/__tests__/documents.test.js +396 -396
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +118 -118
- package/dist/esm/__tests__/fixtures/testStorage.js +111 -111
- package/dist/esm/__tests__/queries.test.d.ts +1 -1
- package/dist/esm/__tests__/queries.test.js +260 -260
- package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/esm/__tests__/setup/indexedDB.js +1 -1
- package/dist/esm/__tests__/undo.test.d.ts +1 -1
- package/dist/esm/__tests__/undo.test.js +84 -84
- package/dist/esm/client/Client.d.ts +86 -86
- package/dist/esm/client/Client.js +222 -222
- package/dist/esm/client/ClientDescriptor.d.ts +62 -62
- package/dist/esm/client/ClientDescriptor.js +104 -104
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/context.d.ts +17 -17
- package/dist/esm/context.js +1 -1
- package/dist/esm/files/EntityFile.d.ts +27 -27
- package/dist/esm/files/EntityFile.js +67 -67
- package/dist/esm/files/FileManager.d.ts +42 -42
- package/dist/esm/files/FileManager.js +141 -141
- package/dist/esm/files/FileStorage.d.ts +27 -27
- package/dist/esm/files/FileStorage.js +88 -88
- package/dist/esm/files/utils.d.ts +8 -8
- package/dist/esm/files/utils.js +46 -46
- package/dist/esm/files/utils.test.d.ts +1 -1
- package/dist/esm/files/utils.test.js +78 -78
- package/dist/esm/idb.d.ts +8 -8
- package/dist/esm/idb.js +79 -79
- package/dist/esm/index.d.ts +19 -19
- package/dist/esm/index.js +11 -11
- package/dist/esm/indexes.d.ts +3 -3
- package/dist/esm/indexes.js +14 -14
- package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
- package/dist/esm/metadata/AckInfoStore.js +21 -21
- package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
- package/dist/esm/metadata/BaselinesStore.js +55 -55
- package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
- package/dist/esm/metadata/LocalReplicaStore.js +40 -40
- package/dist/esm/metadata/MessageCreator.d.ts +19 -19
- package/dist/esm/metadata/MessageCreator.js +123 -123
- package/dist/esm/metadata/Metadata.d.ts +106 -106
- package/dist/esm/metadata/Metadata.js +332 -332
- package/dist/esm/metadata/OperationsStore.d.ts +50 -50
- package/dist/esm/metadata/OperationsStore.js +141 -141
- package/dist/esm/metadata/SchemaStore.d.ts +9 -9
- package/dist/esm/metadata/SchemaStore.js +34 -34
- package/dist/esm/metadata/openMetadataDatabase.d.ts +8 -8
- package/dist/esm/metadata/openMetadataDatabase.js +101 -101
- package/dist/esm/openDocumentDatabase.d.ts +12 -12
- package/dist/esm/openDocumentDatabase.js +420 -420
- package/dist/esm/queries2/BaseQuery.d.ts +39 -39
- package/dist/esm/queries2/BaseQuery.js +94 -94
- package/dist/esm/queries2/CollectionQueries.d.ts +55 -55
- package/dist/esm/queries2/CollectionQueries.js +78 -78
- package/dist/esm/queries2/FindAllQuery.d.ts +11 -11
- package/dist/esm/queries2/FindAllQuery.js +29 -29
- package/dist/esm/queries2/FindInfiniteQuery.d.ts +18 -18
- package/dist/esm/queries2/FindInfiniteQuery.js +56 -56
- package/dist/esm/queries2/FindOneQuery.d.ts +11 -11
- package/dist/esm/queries2/FindOneQuery.js +29 -29
- package/dist/esm/queries2/FindPageQuery.d.ts +23 -23
- package/dist/esm/queries2/FindPageQuery.js +63 -63
- package/dist/esm/queries2/GetQuery.d.ts +10 -10
- package/dist/esm/queries2/GetQuery.js +25 -25
- package/dist/esm/queries2/QueryCache.d.ts +16 -16
- package/dist/esm/queries2/QueryCache.js +35 -35
- package/dist/esm/queries2/dbQueries.d.ts +22 -22
- package/dist/esm/queries2/dbQueries.js +119 -119
- package/dist/esm/queries2/keys.d.ts +10 -10
- package/dist/esm/queries2/keys.js +29 -29
- package/dist/esm/queries2/ranges.d.ts +2 -2
- package/dist/esm/queries2/ranges.js +65 -65
- package/dist/esm/queries2/types.d.ts +6 -6
- package/dist/esm/queries2/types.js +1 -1
- package/dist/esm/queries2/utils.d.ts +1 -1
- package/dist/esm/queries2/utils.js +15 -15
- package/dist/esm/reactives/DocumentFamiliyCache.d.ts +47 -47
- package/dist/esm/reactives/DocumentFamiliyCache.js +206 -206
- package/dist/esm/reactives/Entity.d.ts +191 -191
- package/dist/esm/reactives/Entity.js +457 -457
- package/dist/esm/reactives/EntityStore.d.ts +84 -84
- package/dist/esm/reactives/EntityStore.js +417 -417
- package/dist/esm/reactives/FakeWeakRef.d.ts +11 -11
- package/dist/esm/reactives/FakeWeakRef.js +14 -14
- package/dist/esm/sync/FileSync.d.ts +23 -23
- package/dist/esm/sync/FileSync.js +80 -80
- package/dist/esm/sync/Heartbeat.d.ts +24 -24
- package/dist/esm/sync/Heartbeat.js +51 -51
- package/dist/esm/sync/PresenceManager.d.ts +41 -41
- package/dist/esm/sync/PresenceManager.js +103 -103
- package/dist/esm/sync/PushPullSync.d.ts +36 -36
- package/dist/esm/sync/PushPullSync.js +137 -137
- package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
- package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
- package/dist/esm/sync/Sync.d.ts +127 -127
- package/dist/esm/sync/Sync.js +239 -239
- package/dist/esm/sync/{WebsocketSync.d.ts → WebSocketSync.d.ts} +41 -41
- package/dist/esm/sync/{WebsocketSync.js → WebSocketSync.js} +179 -179
- package/dist/esm/types.d.ts +5 -5
- package/dist/esm/types.js +1 -1
- package/dist/esm/utils/Disposable.d.ts +6 -6
- package/dist/esm/utils/Disposable.js +14 -14
- package/dist/esm/utils/Resolvable.d.ts +8 -8
- package/dist/esm/utils/Resolvable.js +18 -18
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/cjs/AckInfoStore.d.ts +0 -10
- package/dist/cjs/AckInfoStore.js +0 -26
- package/dist/cjs/AckInfoStore.js.map +0 -1
- package/dist/cjs/BaselinesStore.d.ts +0 -10
- package/dist/cjs/BaselinesStore.js +0 -36
- package/dist/cjs/BaselinesStore.js.map +0 -1
- package/dist/cjs/Entity.d.ts +0 -96
- package/dist/cjs/Entity.js +0 -345
- package/dist/cjs/Entity.js.map +0 -1
- package/dist/cjs/EntityStore.d.ts +0 -36
- package/dist/cjs/EntityStore.js +0 -172
- package/dist/cjs/EntityStore.js.map +0 -1
- package/dist/cjs/LocalHistoryStore.d.ts +0 -15
- package/dist/cjs/LocalHistoryStore.js +0 -53
- package/dist/cjs/LocalHistoryStore.js.map +0 -1
- package/dist/cjs/LocalReplicaStore.d.ts +0 -13
- package/dist/cjs/LocalReplicaStore.js +0 -49
- package/dist/cjs/LocalReplicaStore.js.map +0 -1
- package/dist/cjs/MessageCreator.d.ts +0 -19
- package/dist/cjs/MessageCreator.js +0 -104
- package/dist/cjs/MessageCreator.js.map +0 -1
- package/dist/cjs/Metadata.d.ts +0 -91
- package/dist/cjs/Metadata.js +0 -250
- package/dist/cjs/Metadata.js.map +0 -1
- package/dist/cjs/OperationsStore.d.ts +0 -38
- package/dist/cjs/OperationsStore.js +0 -146
- package/dist/cjs/OperationsStore.js.map +0 -1
- package/dist/cjs/PresenceManager.d.ts +0 -30
- package/dist/cjs/PresenceManager.js +0 -89
- package/dist/cjs/PresenceManager.js.map +0 -1
- package/dist/cjs/Query.d.ts +0 -26
- package/dist/cjs/Query.js +0 -86
- package/dist/cjs/Query.js.map +0 -1
- package/dist/cjs/QueryMaker.d.ts +0 -18
- package/dist/cjs/QueryMaker.js +0 -98
- package/dist/cjs/QueryMaker.js.map +0 -1
- package/dist/cjs/QueryStore.d.ts +0 -38
- package/dist/cjs/QueryStore.js +0 -146
- package/dist/cjs/QueryStore.js.map +0 -1
- package/dist/cjs/SchemaStore.d.ts +0 -9
- package/dist/cjs/SchemaStore.js +0 -35
- package/dist/cjs/SchemaStore.js.map +0 -1
- package/dist/cjs/Storage.d.ts +0 -147
- package/dist/cjs/Storage.js +0 -346
- package/dist/cjs/Storage.js.map +0 -1
- package/dist/cjs/Sync.d.ts +0 -117
- package/dist/cjs/Sync.js +0 -561
- package/dist/cjs/Sync.js.map +0 -1
- package/dist/cjs/SyncHarness.d.ts +0 -45
- package/dist/cjs/SyncHarness.js +0 -110
- package/dist/cjs/SyncHarness.js.map +0 -1
- package/dist/cjs/metadata/LocalHistoryStore.d.ts +0 -15
- package/dist/cjs/metadata/LocalHistoryStore.js +0 -53
- package/dist/cjs/metadata/LocalHistoryStore.js.map +0 -1
- package/dist/cjs/queries/LiveQuery.d.ts +0 -28
- package/dist/cjs/queries/LiveQuery.js +0 -96
- package/dist/cjs/queries/LiveQuery.js.map +0 -1
- package/dist/cjs/queries/LiveQueryMaker.d.ts +0 -15
- package/dist/cjs/queries/LiveQueryMaker.js +0 -42
- package/dist/cjs/queries/LiveQueryMaker.js.map +0 -1
- package/dist/cjs/queries/LiveQueryStore.d.ts +0 -33
- package/dist/cjs/queries/LiveQueryStore.js +0 -85
- package/dist/cjs/queries/LiveQueryStore.js.map +0 -1
- package/dist/cjs/queries/Query.d.ts +0 -18
- package/dist/cjs/queries/Query.js +0 -36
- package/dist/cjs/queries/Query.js.map +0 -1
- package/dist/cjs/queries/QueryMaker.d.ts +0 -14
- package/dist/cjs/queries/QueryMaker.js +0 -42
- package/dist/cjs/queries/QueryMaker.js.map +0 -1
- package/dist/cjs/queries/QueryStore.d.ts +0 -35
- package/dist/cjs/queries/QueryStore.js +0 -130
- package/dist/cjs/queries/QueryStore.js.map +0 -1
- package/dist/cjs/queries/ranges.d.ts +0 -2
- package/dist/cjs/queries/ranges.js +0 -70
- package/dist/cjs/queries/ranges.js.map +0 -1
- package/dist/cjs/v2/AckInfoStore.d.ts +0 -10
- package/dist/cjs/v2/AckInfoStore.js +0 -26
- package/dist/cjs/v2/AckInfoStore.js.map +0 -1
- package/dist/cjs/v2/BaselinesStore.d.ts +0 -10
- package/dist/cjs/v2/BaselinesStore.js +0 -36
- package/dist/cjs/v2/BaselinesStore.js.map +0 -1
- package/dist/cjs/v2/DocumentManager.d.ts +0 -19
- package/dist/cjs/v2/DocumentManager.js +0 -47
- package/dist/cjs/v2/DocumentManager.js.map +0 -1
- package/dist/cjs/v2/Entity.d.ts +0 -87
- package/dist/cjs/v2/Entity.js +0 -305
- package/dist/cjs/v2/Entity.js.map +0 -1
- package/dist/cjs/v2/EntityStore.d.ts +0 -37
- package/dist/cjs/v2/EntityStore.js +0 -165
- package/dist/cjs/v2/EntityStore.js.map +0 -1
- package/dist/cjs/v2/IDBService.d.ts +0 -7
- package/dist/cjs/v2/IDBService.js +0 -26
- package/dist/cjs/v2/IDBService.js.map +0 -1
- package/dist/cjs/v2/LocalHistoryStore.d.ts +0 -15
- package/dist/cjs/v2/LocalHistoryStore.js +0 -53
- package/dist/cjs/v2/LocalHistoryStore.js.map +0 -1
- package/dist/cjs/v2/LocalReplicaStore.d.ts +0 -14
- package/dist/cjs/v2/LocalReplicaStore.js +0 -49
- package/dist/cjs/v2/LocalReplicaStore.js.map +0 -1
- package/dist/cjs/v2/MessageCreator.d.ts +0 -19
- package/dist/cjs/v2/MessageCreator.js +0 -99
- package/dist/cjs/v2/MessageCreator.js.map +0 -1
- package/dist/cjs/v2/Metadata.d.ts +0 -90
- package/dist/cjs/v2/Metadata.js +0 -251
- package/dist/cjs/v2/Metadata.js.map +0 -1
- package/dist/cjs/v2/OperationsStore.d.ts +0 -38
- package/dist/cjs/v2/OperationsStore.js +0 -146
- package/dist/cjs/v2/OperationsStore.js.map +0 -1
- package/dist/cjs/v2/PresenceManager.d.ts +0 -24
- package/dist/cjs/v2/PresenceManager.js +0 -73
- package/dist/cjs/v2/PresenceManager.js.map +0 -1
- package/dist/cjs/v2/Query.d.ts +0 -24
- package/dist/cjs/v2/Query.js +0 -79
- package/dist/cjs/v2/Query.js.map +0 -1
- package/dist/cjs/v2/QueryMaker.d.ts +0 -16
- package/dist/cjs/v2/QueryMaker.js +0 -84
- package/dist/cjs/v2/QueryMaker.js.map +0 -1
- package/dist/cjs/v2/QueryStore.d.ts +0 -26
- package/dist/cjs/v2/QueryStore.js +0 -136
- package/dist/cjs/v2/QueryStore.js.map +0 -1
- package/dist/cjs/v2/SchemaStore.d.ts +0 -9
- package/dist/cjs/v2/SchemaStore.js +0 -35
- package/dist/cjs/v2/SchemaStore.js.map +0 -1
- package/dist/cjs/v2/Storage.d.ts +0 -80
- package/dist/cjs/v2/Storage.js +0 -154
- package/dist/cjs/v2/Storage.js.map +0 -1
- package/dist/cjs/v2/Sync.d.ts +0 -42
- package/dist/cjs/v2/Sync.js +0 -98
- package/dist/cjs/v2/Sync.js.map +0 -1
- package/dist/cjs/v2/SyncHarness.d.ts +0 -45
- package/dist/cjs/v2/SyncHarness.js +0 -110
- package/dist/cjs/v2/SyncHarness.js.map +0 -1
- package/dist/cjs/v2/__tests__/documents.test.d.ts +0 -1
- package/dist/cjs/v2/__tests__/documents.test.js +0 -185
- package/dist/cjs/v2/__tests__/documents.test.js.map +0 -1
- package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +0 -189
- package/dist/cjs/v2/__tests__/fixtures/testStorage.js +0 -93
- package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +0 -1
- package/dist/cjs/v2/__tests__/queries.test.d.ts +0 -1
- package/dist/cjs/v2/__tests__/queries.test.js +0 -92
- package/dist/cjs/v2/__tests__/queries.test.js.map +0 -1
- package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +0 -1
- package/dist/cjs/v2/__tests__/setup/indexedDB.js +0 -4
- package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +0 -1
- package/dist/cjs/v2/constants.d.ts +0 -1
- package/dist/cjs/v2/constants.js +0 -5
- package/dist/cjs/v2/constants.js.map +0 -1
- package/dist/cjs/v2/idb.d.ts +0 -6
- package/dist/cjs/v2/idb.js +0 -71
- package/dist/cjs/v2/idb.js.map +0 -1
- package/dist/cjs/v2/index.d.ts +0 -6
- package/dist/cjs/v2/index.js +0 -14
- package/dist/cjs/v2/index.js.map +0 -1
- package/dist/cjs/v2/indexes.d.ts +0 -3
- package/dist/cjs/v2/indexes.js +0 -20
- package/dist/cjs/v2/indexes.js.map +0 -1
- package/dist/cjs/v2/openDocumentDatabase.d.ts +0 -9
- package/dist/cjs/v2/openDocumentDatabase.js +0 -100
- package/dist/cjs/v2/openDocumentDatabase.js.map +0 -1
- package/dist/cjs/v2/types.d.ts +0 -3
- package/dist/cjs/v2/types.js +0 -3
- package/dist/cjs/v2/types.js.map +0 -1
- package/dist/esm/AckInfoStore.d.ts +0 -10
- package/dist/esm/AckInfoStore.js +0 -22
- package/dist/esm/AckInfoStore.js.map +0 -1
- package/dist/esm/BaselinesStore.d.ts +0 -10
- package/dist/esm/BaselinesStore.js +0 -32
- package/dist/esm/BaselinesStore.js.map +0 -1
- package/dist/esm/Entity.d.ts +0 -96
- package/dist/esm/Entity.js +0 -337
- package/dist/esm/Entity.js.map +0 -1
- package/dist/esm/EntityStore.d.ts +0 -36
- package/dist/esm/EntityStore.js +0 -168
- package/dist/esm/EntityStore.js.map +0 -1
- package/dist/esm/LocalHistoryStore.d.ts +0 -15
- package/dist/esm/LocalHistoryStore.js +0 -49
- package/dist/esm/LocalHistoryStore.js.map +0 -1
- package/dist/esm/LocalReplicaStore.d.ts +0 -13
- package/dist/esm/LocalReplicaStore.js +0 -42
- package/dist/esm/LocalReplicaStore.js.map +0 -1
- package/dist/esm/MessageCreator.d.ts +0 -19
- package/dist/esm/MessageCreator.js +0 -97
- package/dist/esm/MessageCreator.js.map +0 -1
- package/dist/esm/Metadata.d.ts +0 -91
- package/dist/esm/Metadata.js +0 -245
- package/dist/esm/Metadata.js.map +0 -1
- package/dist/esm/OperationsStore.d.ts +0 -38
- package/dist/esm/OperationsStore.js +0 -142
- package/dist/esm/OperationsStore.js.map +0 -1
- package/dist/esm/PresenceManager.d.ts +0 -30
- package/dist/esm/PresenceManager.js +0 -85
- package/dist/esm/PresenceManager.js.map +0 -1
- package/dist/esm/Query.d.ts +0 -26
- package/dist/esm/Query.js +0 -82
- package/dist/esm/Query.js.map +0 -1
- package/dist/esm/QueryMaker.d.ts +0 -18
- package/dist/esm/QueryMaker.js +0 -94
- package/dist/esm/QueryMaker.js.map +0 -1
- package/dist/esm/QueryStore.d.ts +0 -38
- package/dist/esm/QueryStore.js +0 -142
- package/dist/esm/QueryStore.js.map +0 -1
- package/dist/esm/SchemaStore.d.ts +0 -9
- package/dist/esm/SchemaStore.js +0 -31
- package/dist/esm/SchemaStore.js.map +0 -1
- package/dist/esm/Storage.d.ts +0 -147
- package/dist/esm/Storage.js +0 -341
- package/dist/esm/Storage.js.map +0 -1
- package/dist/esm/Sync.d.ts +0 -117
- package/dist/esm/Sync.js +0 -553
- package/dist/esm/Sync.js.map +0 -1
- package/dist/esm/SyncHarness.d.ts +0 -45
- package/dist/esm/SyncHarness.js +0 -105
- package/dist/esm/SyncHarness.js.map +0 -1
- package/dist/esm/metadata/LocalHistoryStore.d.ts +0 -15
- package/dist/esm/metadata/LocalHistoryStore.js +0 -49
- package/dist/esm/metadata/LocalHistoryStore.js.map +0 -1
- package/dist/esm/queries/LiveQuery.d.ts +0 -28
- package/dist/esm/queries/LiveQuery.js +0 -92
- package/dist/esm/queries/LiveQuery.js.map +0 -1
- package/dist/esm/queries/LiveQueryMaker.d.ts +0 -15
- package/dist/esm/queries/LiveQueryMaker.js +0 -38
- package/dist/esm/queries/LiveQueryMaker.js.map +0 -1
- package/dist/esm/queries/LiveQueryStore.d.ts +0 -33
- package/dist/esm/queries/LiveQueryStore.js +0 -81
- package/dist/esm/queries/LiveQueryStore.js.map +0 -1
- package/dist/esm/queries/Query.d.ts +0 -18
- package/dist/esm/queries/Query.js +0 -32
- package/dist/esm/queries/Query.js.map +0 -1
- package/dist/esm/queries/QueryMaker.d.ts +0 -14
- package/dist/esm/queries/QueryMaker.js +0 -38
- package/dist/esm/queries/QueryMaker.js.map +0 -1
- package/dist/esm/queries/QueryStore.d.ts +0 -35
- package/dist/esm/queries/QueryStore.js +0 -126
- package/dist/esm/queries/QueryStore.js.map +0 -1
- package/dist/esm/queries/ranges.d.ts +0 -2
- package/dist/esm/queries/ranges.js +0 -66
- package/dist/esm/queries/ranges.js.map +0 -1
- package/dist/esm/v2/AckInfoStore.d.ts +0 -10
- package/dist/esm/v2/AckInfoStore.js +0 -22
- package/dist/esm/v2/AckInfoStore.js.map +0 -1
- package/dist/esm/v2/BaselinesStore.d.ts +0 -10
- package/dist/esm/v2/BaselinesStore.js +0 -32
- package/dist/esm/v2/BaselinesStore.js.map +0 -1
- package/dist/esm/v2/DocumentManager.d.ts +0 -19
- package/dist/esm/v2/DocumentManager.js +0 -43
- package/dist/esm/v2/DocumentManager.js.map +0 -1
- package/dist/esm/v2/Entity.d.ts +0 -91
- package/dist/esm/v2/Entity.js +0 -305
- package/dist/esm/v2/Entity.js.map +0 -1
- package/dist/esm/v2/EntityStore.d.ts +0 -37
- package/dist/esm/v2/EntityStore.js +0 -166
- package/dist/esm/v2/EntityStore.js.map +0 -1
- package/dist/esm/v2/IDBService.d.ts +0 -7
- package/dist/esm/v2/IDBService.js +0 -22
- package/dist/esm/v2/IDBService.js.map +0 -1
- package/dist/esm/v2/LocalHistoryStore.d.ts +0 -15
- package/dist/esm/v2/LocalHistoryStore.js +0 -49
- package/dist/esm/v2/LocalHistoryStore.js.map +0 -1
- package/dist/esm/v2/LocalReplicaStore.d.ts +0 -14
- package/dist/esm/v2/LocalReplicaStore.js +0 -42
- package/dist/esm/v2/LocalReplicaStore.js.map +0 -1
- package/dist/esm/v2/MessageCreator.d.ts +0 -19
- package/dist/esm/v2/MessageCreator.js +0 -92
- package/dist/esm/v2/MessageCreator.js.map +0 -1
- package/dist/esm/v2/Metadata.d.ts +0 -90
- package/dist/esm/v2/Metadata.js +0 -246
- package/dist/esm/v2/Metadata.js.map +0 -1
- package/dist/esm/v2/OperationsStore.d.ts +0 -38
- package/dist/esm/v2/OperationsStore.js +0 -142
- package/dist/esm/v2/OperationsStore.js.map +0 -1
- package/dist/esm/v2/PresenceManager.d.ts +0 -24
- package/dist/esm/v2/PresenceManager.js +0 -69
- package/dist/esm/v2/PresenceManager.js.map +0 -1
- package/dist/esm/v2/Query.d.ts +0 -24
- package/dist/esm/v2/Query.js +0 -75
- package/dist/esm/v2/Query.js.map +0 -1
- package/dist/esm/v2/QueryMaker.d.ts +0 -16
- package/dist/esm/v2/QueryMaker.js +0 -80
- package/dist/esm/v2/QueryMaker.js.map +0 -1
- package/dist/esm/v2/QueryStore.d.ts +0 -26
- package/dist/esm/v2/QueryStore.js +0 -132
- package/dist/esm/v2/QueryStore.js.map +0 -1
- package/dist/esm/v2/SchemaStore.d.ts +0 -9
- package/dist/esm/v2/SchemaStore.js +0 -31
- package/dist/esm/v2/SchemaStore.js.map +0 -1
- package/dist/esm/v2/Storage.d.ts +0 -80
- package/dist/esm/v2/Storage.js +0 -149
- package/dist/esm/v2/Storage.js.map +0 -1
- package/dist/esm/v2/Sync.d.ts +0 -42
- package/dist/esm/v2/Sync.js +0 -94
- package/dist/esm/v2/Sync.js.map +0 -1
- package/dist/esm/v2/SyncHarness.d.ts +0 -45
- package/dist/esm/v2/SyncHarness.js +0 -105
- package/dist/esm/v2/SyncHarness.js.map +0 -1
- package/dist/esm/v2/__tests__/documents.test.d.ts +0 -1
- package/dist/esm/v2/__tests__/documents.test.js +0 -208
- package/dist/esm/v2/__tests__/documents.test.js.map +0 -1
- package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +0 -223
- package/dist/esm/v2/__tests__/fixtures/testStorage.js +0 -106
- package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +0 -1
- package/dist/esm/v2/__tests__/queries.test.d.ts +0 -1
- package/dist/esm/v2/__tests__/queries.test.js +0 -90
- package/dist/esm/v2/__tests__/queries.test.js.map +0 -1
- package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +0 -1
- package/dist/esm/v2/__tests__/setup/indexedDB.js +0 -2
- package/dist/esm/v2/__tests__/setup/indexedDB.js.map +0 -1
- package/dist/esm/v2/constants.d.ts +0 -1
- package/dist/esm/v2/constants.js +0 -2
- package/dist/esm/v2/constants.js.map +0 -1
- package/dist/esm/v2/idb.d.ts +0 -6
- package/dist/esm/v2/idb.js +0 -65
- package/dist/esm/v2/idb.js.map +0 -1
- package/dist/esm/v2/index.d.ts +0 -6
- package/dist/esm/v2/index.js +0 -5
- package/dist/esm/v2/index.js.map +0 -1
- package/dist/esm/v2/indexes.d.ts +0 -3
- package/dist/esm/v2/indexes.js +0 -15
- package/dist/esm/v2/indexes.js.map +0 -1
- package/dist/esm/v2/openDocumentDatabase.d.ts +0 -9
- package/dist/esm/v2/openDocumentDatabase.js +0 -96
- package/dist/esm/v2/openDocumentDatabase.js.map +0 -1
- package/dist/esm/v2/types.d.ts +0 -3
- package/dist/esm/v2/types.js +0 -2
- package/dist/esm/v2/types.js.map +0 -1
- /package/dist/esm/sync/{WebsocketSync.js.map → WebSocketSync.js.map} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
-
export declare class BackoffScheduler extends EventSubscriber<{
|
|
3
|
-
trigger: () => void;
|
|
4
|
-
}> {
|
|
5
|
-
private readonly backoff;
|
|
6
|
-
private timer;
|
|
7
|
-
private isScheduled;
|
|
8
|
-
constructor(backoff: Backoff);
|
|
9
|
-
next: () => void;
|
|
10
|
-
reset: () => void;
|
|
11
|
-
}
|
|
12
|
-
export declare class Backoff {
|
|
13
|
-
current: number;
|
|
14
|
-
private readonly max;
|
|
15
|
-
private readonly factor;
|
|
16
|
-
constructor(max: number, factor: number);
|
|
17
|
-
next: () => void;
|
|
18
|
-
reset: () => void;
|
|
19
|
-
}
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
export declare class BackoffScheduler extends EventSubscriber<{
|
|
3
|
+
trigger: () => void;
|
|
4
|
+
}> {
|
|
5
|
+
private readonly backoff;
|
|
6
|
+
private timer;
|
|
7
|
+
private isScheduled;
|
|
8
|
+
constructor(backoff: Backoff);
|
|
9
|
+
next: () => void;
|
|
10
|
+
reset: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare class Backoff {
|
|
13
|
+
current: number;
|
|
14
|
+
private readonly max;
|
|
15
|
+
private readonly factor;
|
|
16
|
+
constructor(max: number, factor: number);
|
|
17
|
+
next: () => void;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Backoff = exports.BackoffScheduler = void 0;
|
|
4
|
-
const common_1 = require("@verdant-web/common");
|
|
5
|
-
class BackoffScheduler extends common_1.EventSubscriber {
|
|
6
|
-
constructor(backoff) {
|
|
7
|
-
super();
|
|
8
|
-
this.timer = null;
|
|
9
|
-
this.isScheduled = false;
|
|
10
|
-
this.next = () => {
|
|
11
|
-
if (!this.isScheduled) {
|
|
12
|
-
this.isScheduled = true;
|
|
13
|
-
this.timer = setTimeout(() => {
|
|
14
|
-
this.emit('trigger');
|
|
15
|
-
this.isScheduled = false;
|
|
16
|
-
this.backoff.next();
|
|
17
|
-
}, this.backoff.current);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
this.reset = () => {
|
|
21
|
-
this.backoff.reset();
|
|
22
|
-
if (this.timer) {
|
|
23
|
-
clearTimeout(this.timer);
|
|
24
|
-
this.timer = null;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
this.backoff = backoff;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.BackoffScheduler = BackoffScheduler;
|
|
31
|
-
class Backoff {
|
|
32
|
-
constructor(max, factor) {
|
|
33
|
-
this.current = 0;
|
|
34
|
-
this.next = () => {
|
|
35
|
-
this.current = Math.min(this.max, this.current * this.factor);
|
|
36
|
-
};
|
|
37
|
-
this.reset = () => {
|
|
38
|
-
this.current = 0;
|
|
39
|
-
};
|
|
40
|
-
this.max = max;
|
|
41
|
-
this.factor = factor;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.Backoff = Backoff;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Backoff = exports.BackoffScheduler = void 0;
|
|
4
|
+
const common_1 = require("@verdant-web/common");
|
|
5
|
+
class BackoffScheduler extends common_1.EventSubscriber {
|
|
6
|
+
constructor(backoff) {
|
|
7
|
+
super();
|
|
8
|
+
this.timer = null;
|
|
9
|
+
this.isScheduled = false;
|
|
10
|
+
this.next = () => {
|
|
11
|
+
if (!this.isScheduled) {
|
|
12
|
+
this.isScheduled = true;
|
|
13
|
+
this.timer = setTimeout(() => {
|
|
14
|
+
this.emit('trigger');
|
|
15
|
+
this.isScheduled = false;
|
|
16
|
+
this.backoff.next();
|
|
17
|
+
}, this.backoff.current);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
this.reset = () => {
|
|
21
|
+
this.backoff.reset();
|
|
22
|
+
if (this.timer) {
|
|
23
|
+
clearTimeout(this.timer);
|
|
24
|
+
this.timer = null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
this.backoff = backoff;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BackoffScheduler = BackoffScheduler;
|
|
31
|
+
class Backoff {
|
|
32
|
+
constructor(max, factor) {
|
|
33
|
+
this.current = 0;
|
|
34
|
+
this.next = () => {
|
|
35
|
+
this.current = Math.min(this.max, this.current * this.factor);
|
|
36
|
+
};
|
|
37
|
+
this.reset = () => {
|
|
38
|
+
this.current = 0;
|
|
39
|
+
};
|
|
40
|
+
this.max = max;
|
|
41
|
+
this.factor = factor;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Backoff = Backoff;
|
|
45
45
|
//# sourceMappingURL=BackoffScheduler.js.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { StorageSchema } from '@verdant-web/common';
|
|
2
|
-
import { EntityStore } from './reactives/EntityStore.js';
|
|
3
|
-
import { Metadata } from './metadata/Metadata.js';
|
|
4
|
-
/**
|
|
5
|
-
* Exposes functionality for creating documents,
|
|
6
|
-
* the only mutation which is available as an entry
|
|
7
|
-
* point in the storage system.
|
|
8
|
-
*/
|
|
9
|
-
export declare class DocumentManager<Schema extends StorageSchema<any>> {
|
|
10
|
-
private meta;
|
|
11
|
-
private schema;
|
|
12
|
-
private entities;
|
|
13
|
-
constructor(meta: Metadata, schema: Schema, entities: EntityStore);
|
|
14
|
-
private getOid;
|
|
15
|
-
private addDefaults;
|
|
16
|
-
create: (collection: string, init: any, options?: {
|
|
17
|
-
undoable?: boolean;
|
|
18
|
-
}) => Promise<any>;
|
|
19
|
-
delete: (collection: string, primaryKey: string, options?: {
|
|
20
|
-
undoable?: boolean;
|
|
21
|
-
}) => Promise<void>;
|
|
22
|
-
deleteAll: (ids: [string, string][], options?: {
|
|
23
|
-
undoable?: boolean;
|
|
24
|
-
}) => Promise<void>;
|
|
25
|
-
deleteAllFromCollection: (collection: string, ids: string[], options?: {
|
|
26
|
-
undoable?: boolean;
|
|
27
|
-
}) => Promise<void>;
|
|
28
|
-
}
|
|
1
|
+
import { StorageSchema } from '@verdant-web/common';
|
|
2
|
+
import { EntityStore } from './reactives/EntityStore.js';
|
|
3
|
+
import { Metadata } from './metadata/Metadata.js';
|
|
4
|
+
/**
|
|
5
|
+
* Exposes functionality for creating documents,
|
|
6
|
+
* the only mutation which is available as an entry
|
|
7
|
+
* point in the storage system.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DocumentManager<Schema extends StorageSchema<any>> {
|
|
10
|
+
private meta;
|
|
11
|
+
private schema;
|
|
12
|
+
private entities;
|
|
13
|
+
constructor(meta: Metadata, schema: Schema, entities: EntityStore);
|
|
14
|
+
private getOid;
|
|
15
|
+
private addDefaults;
|
|
16
|
+
create: (collection: string, init: any, options?: {
|
|
17
|
+
undoable?: boolean;
|
|
18
|
+
}) => Promise<any>;
|
|
19
|
+
delete: (collection: string, primaryKey: string, options?: {
|
|
20
|
+
undoable?: boolean;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
deleteAll: (ids: [string, string][], options?: {
|
|
23
|
+
undoable?: boolean;
|
|
24
|
+
}) => Promise<void>;
|
|
25
|
+
deleteAllFromCollection: (collection: string, ids: string[], options?: {
|
|
26
|
+
undoable?: boolean;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DocumentManager = void 0;
|
|
4
|
-
const common_1 = require("@verdant-web/common");
|
|
5
|
-
/**
|
|
6
|
-
* Exposes functionality for creating documents,
|
|
7
|
-
* the only mutation which is available as an entry
|
|
8
|
-
* point in the storage system.
|
|
9
|
-
*/
|
|
10
|
-
class DocumentManager {
|
|
11
|
-
constructor(meta, schema, entities) {
|
|
12
|
-
this.meta = meta;
|
|
13
|
-
this.schema = schema;
|
|
14
|
-
this.entities = entities;
|
|
15
|
-
this.getOid = (collection, init) => {
|
|
16
|
-
const primaryKeyName = this.schema.collections[collection]
|
|
17
|
-
.primaryKey;
|
|
18
|
-
const primaryKey = init[primaryKeyName];
|
|
19
|
-
(0, common_1.assert)(primaryKey, `Document must have a primary key: ${primaryKeyName.toString()} (got: ${JSON.stringify(init)})`);
|
|
20
|
-
return (0, common_1.createOid)(collection, primaryKey, []);
|
|
21
|
-
};
|
|
22
|
-
this.addDefaults = (collectionName, init) => {
|
|
23
|
-
const collection = this.schema.collections[collectionName];
|
|
24
|
-
return (0, common_1.addFieldDefaults)(collection, init);
|
|
25
|
-
};
|
|
26
|
-
this.create = async (collection, init, options = {}) => {
|
|
27
|
-
const defaulted = this.addDefaults(collection, init);
|
|
28
|
-
const oid = this.getOid(collection, defaulted);
|
|
29
|
-
// documents are always objects at the root
|
|
30
|
-
return this.entities.create(defaulted, oid, options);
|
|
31
|
-
};
|
|
32
|
-
this.delete = async (collection, primaryKey, options = {}) => {
|
|
33
|
-
const oid = (0, common_1.createOid)(collection, primaryKey, []);
|
|
34
|
-
return this.entities.delete(oid, options);
|
|
35
|
-
};
|
|
36
|
-
this.deleteAll = async (ids, options = {}) => {
|
|
37
|
-
return this.entities.deleteAll(ids.map(([collection, primaryKey]) => (0, common_1.createOid)(collection, primaryKey, [])), options);
|
|
38
|
-
};
|
|
39
|
-
this.deleteAllFromCollection = async (collection, ids, options = {}) => {
|
|
40
|
-
return this.entities.deleteAll(ids.map((primaryKey) => (0, common_1.createOid)(collection, primaryKey, [])), options);
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.DocumentManager = DocumentManager;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocumentManager = void 0;
|
|
4
|
+
const common_1 = require("@verdant-web/common");
|
|
5
|
+
/**
|
|
6
|
+
* Exposes functionality for creating documents,
|
|
7
|
+
* the only mutation which is available as an entry
|
|
8
|
+
* point in the storage system.
|
|
9
|
+
*/
|
|
10
|
+
class DocumentManager {
|
|
11
|
+
constructor(meta, schema, entities) {
|
|
12
|
+
this.meta = meta;
|
|
13
|
+
this.schema = schema;
|
|
14
|
+
this.entities = entities;
|
|
15
|
+
this.getOid = (collection, init) => {
|
|
16
|
+
const primaryKeyName = this.schema.collections[collection]
|
|
17
|
+
.primaryKey;
|
|
18
|
+
const primaryKey = init[primaryKeyName];
|
|
19
|
+
(0, common_1.assert)(primaryKey, `Document must have a primary key: ${primaryKeyName.toString()} (got: ${JSON.stringify(init)})`);
|
|
20
|
+
return (0, common_1.createOid)(collection, primaryKey, []);
|
|
21
|
+
};
|
|
22
|
+
this.addDefaults = (collectionName, init) => {
|
|
23
|
+
const collection = this.schema.collections[collectionName];
|
|
24
|
+
return (0, common_1.addFieldDefaults)(collection, init);
|
|
25
|
+
};
|
|
26
|
+
this.create = async (collection, init, options = {}) => {
|
|
27
|
+
const defaulted = this.addDefaults(collection, init);
|
|
28
|
+
const oid = this.getOid(collection, defaulted);
|
|
29
|
+
// documents are always objects at the root
|
|
30
|
+
return this.entities.create(defaulted, oid, options);
|
|
31
|
+
};
|
|
32
|
+
this.delete = async (collection, primaryKey, options = {}) => {
|
|
33
|
+
const oid = (0, common_1.createOid)(collection, primaryKey, []);
|
|
34
|
+
return this.entities.delete(oid, options);
|
|
35
|
+
};
|
|
36
|
+
this.deleteAll = async (ids, options = {}) => {
|
|
37
|
+
return this.entities.deleteAll(ids.map(([collection, primaryKey]) => (0, common_1.createOid)(collection, primaryKey, [])), options);
|
|
38
|
+
};
|
|
39
|
+
this.deleteAllFromCollection = async (collection, ids, options = {}) => {
|
|
40
|
+
return this.entities.deleteAll(ids.map((primaryKey) => (0, common_1.createOid)(collection, primaryKey, [])), options);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.DocumentManager = DocumentManager;
|
|
45
45
|
//# sourceMappingURL=DocumentManager.js.map
|
package/dist/cjs/IDBService.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare class IDBService {
|
|
2
|
-
protected readonly db: IDBDatabase;
|
|
3
|
-
constructor(db: IDBDatabase);
|
|
4
|
-
createTransaction: (storeNames: string[], mode: 'readonly' | 'readwrite') => IDBTransaction;
|
|
5
|
-
run: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest<T>, mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<T>;
|
|
6
|
-
runAll: <T>(storeName: string, getRequests: (store: IDBObjectStore) => IDBRequest<T>[], mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<T[]>;
|
|
7
|
-
iterate: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest, iterator: (value: T, store: IDBObjectStore) => void, mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<void>;
|
|
8
|
-
clear: (storeName: string) => Promise<undefined>;
|
|
9
|
-
}
|
|
1
|
+
export declare class IDBService {
|
|
2
|
+
protected readonly db: IDBDatabase;
|
|
3
|
+
constructor(db: IDBDatabase);
|
|
4
|
+
createTransaction: (storeNames: string[], mode: 'readonly' | 'readwrite') => IDBTransaction;
|
|
5
|
+
run: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest<T>, mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<T>;
|
|
6
|
+
runAll: <T>(storeName: string, getRequests: (store: IDBObjectStore) => IDBRequest<T>[], mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<T[]>;
|
|
7
|
+
iterate: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest, iterator: (value: T, store: IDBObjectStore) => void, mode?: 'readonly' | 'readwrite', transaction?: IDBTransaction) => Promise<void>;
|
|
8
|
+
clear: (storeName: string) => Promise<undefined>;
|
|
9
|
+
}
|
package/dist/cjs/IDBService.js
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IDBService = void 0;
|
|
4
|
-
const idb_js_1 = require("./idb.js");
|
|
5
|
-
class IDBService {
|
|
6
|
-
constructor(db) {
|
|
7
|
-
this.db = db;
|
|
8
|
-
this.createTransaction = (storeNames, mode) => {
|
|
9
|
-
return this.db.transaction(storeNames, mode);
|
|
10
|
-
};
|
|
11
|
-
this.run = async (storeName, getRequest, mode = 'readonly', transaction) => {
|
|
12
|
-
const tx = transaction || this.db.transaction(storeName, mode);
|
|
13
|
-
const store = tx.objectStore(storeName);
|
|
14
|
-
const request = getRequest(store);
|
|
15
|
-
return (0, idb_js_1.storeRequestPromise)(request);
|
|
16
|
-
};
|
|
17
|
-
this.runAll = async (storeName, getRequests, mode = 'readonly', transaction) => {
|
|
18
|
-
const tx = transaction || this.db.transaction(storeName, mode);
|
|
19
|
-
const store = tx.objectStore(storeName);
|
|
20
|
-
const requests = getRequests(store);
|
|
21
|
-
return Promise.all(requests.map(idb_js_1.storeRequestPromise));
|
|
22
|
-
};
|
|
23
|
-
this.iterate = async (storeName, getRequest, iterator, mode = 'readonly', transaction) => {
|
|
24
|
-
const tx = transaction || this.db.transaction(storeName, mode);
|
|
25
|
-
const store = tx.objectStore(storeName);
|
|
26
|
-
const request = getRequest(store);
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
request.onsuccess = (event) => {
|
|
29
|
-
const cursor = request.result;
|
|
30
|
-
if (cursor) {
|
|
31
|
-
iterator(cursor.value, store);
|
|
32
|
-
cursor.continue();
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
resolve();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
request.onerror = reject;
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
this.clear = (storeName) => {
|
|
42
|
-
return this.run(storeName, (store) => store.clear(), 'readwrite');
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.IDBService = IDBService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IDBService = void 0;
|
|
4
|
+
const idb_js_1 = require("./idb.js");
|
|
5
|
+
class IDBService {
|
|
6
|
+
constructor(db) {
|
|
7
|
+
this.db = db;
|
|
8
|
+
this.createTransaction = (storeNames, mode) => {
|
|
9
|
+
return this.db.transaction(storeNames, mode);
|
|
10
|
+
};
|
|
11
|
+
this.run = async (storeName, getRequest, mode = 'readonly', transaction) => {
|
|
12
|
+
const tx = transaction || this.db.transaction(storeName, mode);
|
|
13
|
+
const store = tx.objectStore(storeName);
|
|
14
|
+
const request = getRequest(store);
|
|
15
|
+
return (0, idb_js_1.storeRequestPromise)(request);
|
|
16
|
+
};
|
|
17
|
+
this.runAll = async (storeName, getRequests, mode = 'readonly', transaction) => {
|
|
18
|
+
const tx = transaction || this.db.transaction(storeName, mode);
|
|
19
|
+
const store = tx.objectStore(storeName);
|
|
20
|
+
const requests = getRequests(store);
|
|
21
|
+
return Promise.all(requests.map(idb_js_1.storeRequestPromise));
|
|
22
|
+
};
|
|
23
|
+
this.iterate = async (storeName, getRequest, iterator, mode = 'readonly', transaction) => {
|
|
24
|
+
const tx = transaction || this.db.transaction(storeName, mode);
|
|
25
|
+
const store = tx.objectStore(storeName);
|
|
26
|
+
const request = getRequest(store);
|
|
27
|
+
return new Promise((resolve, reject) => {
|
|
28
|
+
request.onsuccess = (event) => {
|
|
29
|
+
const cursor = request.result;
|
|
30
|
+
if (cursor) {
|
|
31
|
+
iterator(cursor.value, store);
|
|
32
|
+
cursor.continue();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
resolve();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
request.onerror = reject;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
this.clear = (storeName) => {
|
|
42
|
+
return this.run(storeName, (store) => store.clear(), 'readwrite');
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.IDBService = IDBService;
|
|
47
47
|
//# sourceMappingURL=IDBService.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
-
type Undoable = () => Undoable | Promise<Undoable>;
|
|
3
|
-
export declare class UndoHistory extends EventSubscriber<{
|
|
4
|
-
change: () => void;
|
|
5
|
-
}> {
|
|
6
|
-
private _undoable;
|
|
7
|
-
private _undone;
|
|
8
|
-
get canUndo(): boolean;
|
|
9
|
-
get canRedo(): boolean;
|
|
10
|
-
undo: () => Promise<boolean>;
|
|
11
|
-
redo: () => Promise<boolean>;
|
|
12
|
-
addUndo: (undoPoint: Undoable) => void;
|
|
13
|
-
addRedo: (redoPoint: Undoable) => void;
|
|
14
|
-
clear: () => void;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
type Undoable = () => Undoable | Promise<Undoable>;
|
|
3
|
+
export declare class UndoHistory extends EventSubscriber<{
|
|
4
|
+
change: () => void;
|
|
5
|
+
}> {
|
|
6
|
+
private _undoable;
|
|
7
|
+
private _undone;
|
|
8
|
+
get canUndo(): boolean;
|
|
9
|
+
get canRedo(): boolean;
|
|
10
|
+
undo: () => Promise<boolean>;
|
|
11
|
+
redo: () => Promise<boolean>;
|
|
12
|
+
addUndo: (undoPoint: Undoable) => void;
|
|
13
|
+
addRedo: (redoPoint: Undoable) => void;
|
|
14
|
+
clear: () => void;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
package/dist/cjs/UndoHistory.js
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UndoHistory = void 0;
|
|
4
|
-
const common_1 = require("@verdant-web/common");
|
|
5
|
-
class UndoHistory extends common_1.EventSubscriber {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this._undoable = [];
|
|
9
|
-
this._undone = [];
|
|
10
|
-
this.undo = async () => {
|
|
11
|
-
const next = this._undoable.pop();
|
|
12
|
-
if (next) {
|
|
13
|
-
this._undone.push(await next());
|
|
14
|
-
this.emit('change');
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
return false;
|
|
18
|
-
};
|
|
19
|
-
this.redo = async () => {
|
|
20
|
-
const next = this._undone.pop();
|
|
21
|
-
if (next) {
|
|
22
|
-
this._undoable.push(await next());
|
|
23
|
-
this.emit('change');
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
this.addUndo = (undoPoint) => {
|
|
29
|
-
this._undoable.push(undoPoint);
|
|
30
|
-
this._undone = [];
|
|
31
|
-
this.emit('change');
|
|
32
|
-
};
|
|
33
|
-
this.addRedo = (redoPoint) => {
|
|
34
|
-
this._undone.push(redoPoint);
|
|
35
|
-
this.emit('change');
|
|
36
|
-
};
|
|
37
|
-
this.clear = () => {
|
|
38
|
-
this._undoable = [];
|
|
39
|
-
this._undone = [];
|
|
40
|
-
this.emit('change');
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
get canUndo() {
|
|
44
|
-
return this._undoable.length > 0;
|
|
45
|
-
}
|
|
46
|
-
get canRedo() {
|
|
47
|
-
return this._undone.length > 0;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.UndoHistory = UndoHistory;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UndoHistory = void 0;
|
|
4
|
+
const common_1 = require("@verdant-web/common");
|
|
5
|
+
class UndoHistory extends common_1.EventSubscriber {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this._undoable = [];
|
|
9
|
+
this._undone = [];
|
|
10
|
+
this.undo = async () => {
|
|
11
|
+
const next = this._undoable.pop();
|
|
12
|
+
if (next) {
|
|
13
|
+
this._undone.push(await next());
|
|
14
|
+
this.emit('change');
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
};
|
|
19
|
+
this.redo = async () => {
|
|
20
|
+
const next = this._undone.pop();
|
|
21
|
+
if (next) {
|
|
22
|
+
this._undoable.push(await next());
|
|
23
|
+
this.emit('change');
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
this.addUndo = (undoPoint) => {
|
|
29
|
+
this._undoable.push(undoPoint);
|
|
30
|
+
this._undone = [];
|
|
31
|
+
this.emit('change');
|
|
32
|
+
};
|
|
33
|
+
this.addRedo = (redoPoint) => {
|
|
34
|
+
this._undone.push(redoPoint);
|
|
35
|
+
this.emit('change');
|
|
36
|
+
};
|
|
37
|
+
this.clear = () => {
|
|
38
|
+
this._undoable = [];
|
|
39
|
+
this._undone = [];
|
|
40
|
+
this.emit('change');
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
get canUndo() {
|
|
44
|
+
return this._undoable.length > 0;
|
|
45
|
+
}
|
|
46
|
+
get canRedo() {
|
|
47
|
+
return this._undone.length > 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.UndoHistory = UndoHistory;
|
|
51
51
|
//# sourceMappingURL=UndoHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const testStorage_js_1 = require("./fixtures/testStorage.js");
|
|
5
|
-
(0, vitest_1.describe)('batching operations', () => {
|
|
6
|
-
(0, vitest_1.it)('should allow multiple runs with manual flush', async () => {
|
|
7
|
-
const storage = await (0, testStorage_js_1.createTestStorage)();
|
|
8
|
-
const item = await storage.todos.put({
|
|
9
|
-
content: 'hello world',
|
|
10
|
-
category: 'general',
|
|
11
|
-
attachments: [
|
|
12
|
-
{
|
|
13
|
-
name: 'thing',
|
|
14
|
-
},
|
|
15
|
-
],
|
|
16
|
-
});
|
|
17
|
-
// disable timeout for manual control
|
|
18
|
-
const batch = storage.batch({ timeout: null });
|
|
19
|
-
batch.run(() => {
|
|
20
|
-
item.set('content', 'hello world 2');
|
|
21
|
-
item.set('category', 'never');
|
|
22
|
-
});
|
|
23
|
-
// fake some async work
|
|
24
|
-
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
25
|
-
batch.run(() => {
|
|
26
|
-
item.set('content', 'hello world 3');
|
|
27
|
-
item.set('category', 'general');
|
|
28
|
-
item.get('attachments').push({ name: 'other thing' });
|
|
29
|
-
});
|
|
30
|
-
await batch.flush();
|
|
31
|
-
(0, vitest_1.expect)(item.get('content')).toBe('hello world 3');
|
|
32
|
-
(0, vitest_1.expect)(item.get('category')).toBe('general');
|
|
33
|
-
(0, vitest_1.expect)(item.get('attachments').length).toBe(2);
|
|
34
|
-
(0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(true);
|
|
35
|
-
await storage.undoHistory.undo();
|
|
36
|
-
(0, vitest_1.expect)(item.get('content')).toBe('hello world');
|
|
37
|
-
(0, vitest_1.expect)(item.get('category')).toBe('general');
|
|
38
|
-
(0, vitest_1.expect)(item.get('attachments').length).toBe(1);
|
|
39
|
-
// the next undo will undo the creation
|
|
40
|
-
await storage.undoHistory.undo();
|
|
41
|
-
(0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(false);
|
|
42
|
-
(0, vitest_1.expect)(item.deleted).toBe(true);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const testStorage_js_1 = require("./fixtures/testStorage.js");
|
|
5
|
+
(0, vitest_1.describe)('batching operations', () => {
|
|
6
|
+
(0, vitest_1.it)('should allow multiple runs with manual flush', async () => {
|
|
7
|
+
const storage = await (0, testStorage_js_1.createTestStorage)();
|
|
8
|
+
const item = await storage.todos.put({
|
|
9
|
+
content: 'hello world',
|
|
10
|
+
category: 'general',
|
|
11
|
+
attachments: [
|
|
12
|
+
{
|
|
13
|
+
name: 'thing',
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
});
|
|
17
|
+
// disable timeout for manual control
|
|
18
|
+
const batch = storage.batch({ timeout: null });
|
|
19
|
+
batch.run(() => {
|
|
20
|
+
item.set('content', 'hello world 2');
|
|
21
|
+
item.set('category', 'never');
|
|
22
|
+
});
|
|
23
|
+
// fake some async work
|
|
24
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
25
|
+
batch.run(() => {
|
|
26
|
+
item.set('content', 'hello world 3');
|
|
27
|
+
item.set('category', 'general');
|
|
28
|
+
item.get('attachments').push({ name: 'other thing' });
|
|
29
|
+
});
|
|
30
|
+
await batch.flush();
|
|
31
|
+
(0, vitest_1.expect)(item.get('content')).toBe('hello world 3');
|
|
32
|
+
(0, vitest_1.expect)(item.get('category')).toBe('general');
|
|
33
|
+
(0, vitest_1.expect)(item.get('attachments').length).toBe(2);
|
|
34
|
+
(0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(true);
|
|
35
|
+
await storage.undoHistory.undo();
|
|
36
|
+
(0, vitest_1.expect)(item.get('content')).toBe('hello world');
|
|
37
|
+
(0, vitest_1.expect)(item.get('category')).toBe('general');
|
|
38
|
+
(0, vitest_1.expect)(item.get('attachments').length).toBe(1);
|
|
39
|
+
// the next undo will undo the creation
|
|
40
|
+
await storage.undoHistory.undo();
|
|
41
|
+
(0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(false);
|
|
42
|
+
(0, vitest_1.expect)(item.deleted).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
45
|
//# sourceMappingURL=batching.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|