@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,105 +1,105 @@
|
|
|
1
|
-
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
-
import { Metadata } from '../metadata/Metadata.js';
|
|
3
|
-
import { openMetadataDatabase } from '../metadata/openMetadataDatabase.js';
|
|
4
|
-
import { openDocumentDatabase } from '../openDocumentDatabase.js';
|
|
5
|
-
import { UndoHistory } from '../UndoHistory.js';
|
|
6
|
-
import { Client } from './Client.js';
|
|
7
|
-
/**
|
|
8
|
-
* Since storage initialization is async, this class wraps the core
|
|
9
|
-
* Storage creation promise and exposes some metadata which can
|
|
10
|
-
* be useful immediately.
|
|
11
|
-
*/
|
|
12
|
-
export class ClientDescriptor {
|
|
13
|
-
get namespace() {
|
|
14
|
-
return this._namespace;
|
|
15
|
-
}
|
|
16
|
-
constructor(init) {
|
|
17
|
-
this.init = init;
|
|
18
|
-
this._initializing = false;
|
|
19
|
-
this.initialize = async (init) => {
|
|
20
|
-
// if server-side and no alternative IndexedDB implementation was provided,
|
|
21
|
-
// we can't initialize the storage
|
|
22
|
-
if (!('indexedDB' in window) && !init.indexedDb) {
|
|
23
|
-
throw new Error('A verdant client was initialized in an environment without IndexedDB. If you are using verdant in a server-rendered framework, you must enforce that all clients are initialized on the client-side, or you must provide some mock interface of IDBFactory to the ClientDescriptor options.');
|
|
24
|
-
}
|
|
25
|
-
if (this._initializing || this._resolvedValue) {
|
|
26
|
-
return this._readyPromise;
|
|
27
|
-
}
|
|
28
|
-
this._initializing = true;
|
|
29
|
-
try {
|
|
30
|
-
const metaDbName = [init.namespace, 'meta'].join('_');
|
|
31
|
-
const { db: metaDb } = await openMetadataDatabase(this._namespace, {
|
|
32
|
-
indexedDB: init.indexedDb,
|
|
33
|
-
log: init.log,
|
|
34
|
-
databaseName: metaDbName,
|
|
35
|
-
});
|
|
36
|
-
const context = {
|
|
37
|
-
namespace: this._namespace,
|
|
38
|
-
metaDb,
|
|
39
|
-
schema: init.schema,
|
|
40
|
-
log: init.log || (() => { }),
|
|
41
|
-
undoHistory: init.undoHistory || new UndoHistory(),
|
|
42
|
-
entityEvents: new EventSubscriber(),
|
|
43
|
-
};
|
|
44
|
-
const meta = new Metadata({
|
|
45
|
-
context,
|
|
46
|
-
disableRebasing: init.disableRebasing,
|
|
47
|
-
});
|
|
48
|
-
// verify schema integrity
|
|
49
|
-
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
50
|
-
const documentDb = await openDocumentDatabase({
|
|
51
|
-
context,
|
|
52
|
-
version: init.schema.version,
|
|
53
|
-
meta,
|
|
54
|
-
migrations: init.migrations,
|
|
55
|
-
indexedDB: init.indexedDb,
|
|
56
|
-
});
|
|
57
|
-
const fullContext = Object.assign(context, { documentDb });
|
|
58
|
-
const storage = new Client({
|
|
59
|
-
syncConfig: init.sync,
|
|
60
|
-
migrations: init.migrations,
|
|
61
|
-
files: init.files,
|
|
62
|
-
}, fullContext, {
|
|
63
|
-
meta,
|
|
64
|
-
});
|
|
65
|
-
this.resolveReady(storage);
|
|
66
|
-
this._resolvedValue = storage;
|
|
67
|
-
return storage;
|
|
68
|
-
}
|
|
69
|
-
catch (err) {
|
|
70
|
-
this.rejectReady(err);
|
|
71
|
-
throw err;
|
|
72
|
-
}
|
|
73
|
-
finally {
|
|
74
|
-
this._initializing = false;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
this.open = () => this.initialize(this.init);
|
|
78
|
-
this.close = async () => {
|
|
79
|
-
if (this._resolvedValue) {
|
|
80
|
-
this._resolvedValue.close();
|
|
81
|
-
}
|
|
82
|
-
if (this._initializing) {
|
|
83
|
-
(await this._readyPromise).close();
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
this._readyPromise = new Promise((resolve, reject) => {
|
|
87
|
-
this.resolveReady = resolve;
|
|
88
|
-
this.rejectReady = reject;
|
|
89
|
-
});
|
|
90
|
-
this._namespace = init.namespace;
|
|
91
|
-
}
|
|
92
|
-
get current() {
|
|
93
|
-
// exposing an immediate value if already resolved lets us
|
|
94
|
-
// skip the promise microtask when accessing this externally if
|
|
95
|
-
// the initialization has been completed.
|
|
96
|
-
return this._resolvedValue;
|
|
97
|
-
}
|
|
98
|
-
get readyPromise() {
|
|
99
|
-
return this._readyPromise;
|
|
100
|
-
}
|
|
101
|
-
get schema() {
|
|
102
|
-
return this.init.schema;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
import { Metadata } from '../metadata/Metadata.js';
|
|
3
|
+
import { openMetadataDatabase } from '../metadata/openMetadataDatabase.js';
|
|
4
|
+
import { openDocumentDatabase } from '../openDocumentDatabase.js';
|
|
5
|
+
import { UndoHistory } from '../UndoHistory.js';
|
|
6
|
+
import { Client } from './Client.js';
|
|
7
|
+
/**
|
|
8
|
+
* Since storage initialization is async, this class wraps the core
|
|
9
|
+
* Storage creation promise and exposes some metadata which can
|
|
10
|
+
* be useful immediately.
|
|
11
|
+
*/
|
|
12
|
+
export class ClientDescriptor {
|
|
13
|
+
get namespace() {
|
|
14
|
+
return this._namespace;
|
|
15
|
+
}
|
|
16
|
+
constructor(init) {
|
|
17
|
+
this.init = init;
|
|
18
|
+
this._initializing = false;
|
|
19
|
+
this.initialize = async (init) => {
|
|
20
|
+
// if server-side and no alternative IndexedDB implementation was provided,
|
|
21
|
+
// we can't initialize the storage
|
|
22
|
+
if (!('indexedDB' in window) && !init.indexedDb) {
|
|
23
|
+
throw new Error('A verdant client was initialized in an environment without IndexedDB. If you are using verdant in a server-rendered framework, you must enforce that all clients are initialized on the client-side, or you must provide some mock interface of IDBFactory to the ClientDescriptor options.');
|
|
24
|
+
}
|
|
25
|
+
if (this._initializing || this._resolvedValue) {
|
|
26
|
+
return this._readyPromise;
|
|
27
|
+
}
|
|
28
|
+
this._initializing = true;
|
|
29
|
+
try {
|
|
30
|
+
const metaDbName = [init.namespace, 'meta'].join('_');
|
|
31
|
+
const { db: metaDb } = await openMetadataDatabase(this._namespace, {
|
|
32
|
+
indexedDB: init.indexedDb,
|
|
33
|
+
log: init.log,
|
|
34
|
+
databaseName: metaDbName,
|
|
35
|
+
});
|
|
36
|
+
const context = {
|
|
37
|
+
namespace: this._namespace,
|
|
38
|
+
metaDb,
|
|
39
|
+
schema: init.schema,
|
|
40
|
+
log: init.log || (() => { }),
|
|
41
|
+
undoHistory: init.undoHistory || new UndoHistory(),
|
|
42
|
+
entityEvents: new EventSubscriber(),
|
|
43
|
+
};
|
|
44
|
+
const meta = new Metadata({
|
|
45
|
+
context,
|
|
46
|
+
disableRebasing: init.disableRebasing,
|
|
47
|
+
});
|
|
48
|
+
// verify schema integrity
|
|
49
|
+
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
50
|
+
const documentDb = await openDocumentDatabase({
|
|
51
|
+
context,
|
|
52
|
+
version: init.schema.version,
|
|
53
|
+
meta,
|
|
54
|
+
migrations: init.migrations,
|
|
55
|
+
indexedDB: init.indexedDb,
|
|
56
|
+
});
|
|
57
|
+
const fullContext = Object.assign(context, { documentDb });
|
|
58
|
+
const storage = new Client({
|
|
59
|
+
syncConfig: init.sync,
|
|
60
|
+
migrations: init.migrations,
|
|
61
|
+
files: init.files,
|
|
62
|
+
}, fullContext, {
|
|
63
|
+
meta,
|
|
64
|
+
});
|
|
65
|
+
this.resolveReady(storage);
|
|
66
|
+
this._resolvedValue = storage;
|
|
67
|
+
return storage;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
this.rejectReady(err);
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
this._initializing = false;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
this.open = () => this.initialize(this.init);
|
|
78
|
+
this.close = async () => {
|
|
79
|
+
if (this._resolvedValue) {
|
|
80
|
+
this._resolvedValue.close();
|
|
81
|
+
}
|
|
82
|
+
if (this._initializing) {
|
|
83
|
+
(await this._readyPromise).close();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
this._readyPromise = new Promise((resolve, reject) => {
|
|
87
|
+
this.resolveReady = resolve;
|
|
88
|
+
this.rejectReady = reject;
|
|
89
|
+
});
|
|
90
|
+
this._namespace = init.namespace;
|
|
91
|
+
}
|
|
92
|
+
get current() {
|
|
93
|
+
// exposing an immediate value if already resolved lets us
|
|
94
|
+
// skip the promise microtask when accessing this externally if
|
|
95
|
+
// the initialization has been completed.
|
|
96
|
+
return this._resolvedValue;
|
|
97
|
+
}
|
|
98
|
+
get readyPromise() {
|
|
99
|
+
return this._readyPromise;
|
|
100
|
+
}
|
|
101
|
+
get schema() {
|
|
102
|
+
return this.init.schema;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
105
|
//# sourceMappingURL=ClientDescriptor.js.map
|
package/dist/esm/constants.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const TEST_API = "__unsafe__test_api__";
|
|
1
|
+
export declare const TEST_API = "__unsafe__test_api__";
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const TEST_API = '__unsafe__test_api__';
|
|
1
|
+
export const TEST_API = '__unsafe__test_api__';
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
package/dist/esm/context.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { EventSubscriber, StorageSchema } from '@verdant-web/common';
|
|
2
|
-
import { UndoHistory } from './UndoHistory.js';
|
|
3
|
-
/**
|
|
4
|
-
* Common components utilized across various client
|
|
5
|
-
* services.
|
|
6
|
-
*/
|
|
7
|
-
export interface Context {
|
|
8
|
-
namespace: string;
|
|
9
|
-
metaDb: IDBDatabase;
|
|
10
|
-
documentDb: IDBDatabase;
|
|
11
|
-
undoHistory: UndoHistory;
|
|
12
|
-
schema: StorageSchema;
|
|
13
|
-
log: (...args: any[]) => void;
|
|
14
|
-
entityEvents: EventSubscriber<{
|
|
15
|
-
collectionsChanged: (names: string[]) => void;
|
|
16
|
-
}>;
|
|
17
|
-
}
|
|
1
|
+
import { EventSubscriber, StorageSchema } from '@verdant-web/common';
|
|
2
|
+
import { UndoHistory } from './UndoHistory.js';
|
|
3
|
+
/**
|
|
4
|
+
* Common components utilized across various client
|
|
5
|
+
* services.
|
|
6
|
+
*/
|
|
7
|
+
export interface Context {
|
|
8
|
+
namespace: string;
|
|
9
|
+
metaDb: IDBDatabase;
|
|
10
|
+
documentDb: IDBDatabase;
|
|
11
|
+
undoHistory: UndoHistory;
|
|
12
|
+
schema: StorageSchema;
|
|
13
|
+
log: (...args: any[]) => void;
|
|
14
|
+
entityEvents: EventSubscriber<{
|
|
15
|
+
collectionsChanged: (names: string[]) => void;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
package/dist/esm/context.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=context.js.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { EventSubscriber, FileData } from '@verdant-web/common';
|
|
2
|
-
export type EntityFileEvents = {
|
|
3
|
-
change: () => void;
|
|
4
|
-
};
|
|
5
|
-
export declare const UPDATE: unique symbol;
|
|
6
|
-
export declare const MARK_FAILED: unique symbol;
|
|
7
|
-
/**
|
|
8
|
-
* Provides a consistent interface for files used in an app via
|
|
9
|
-
* Entity access.
|
|
10
|
-
*/
|
|
11
|
-
export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
|
|
12
|
-
readonly id: string;
|
|
13
|
-
private _objectUrl;
|
|
14
|
-
private _fileData;
|
|
15
|
-
private _loading;
|
|
16
|
-
private _failed;
|
|
17
|
-
private _disposed;
|
|
18
|
-
constructor(id: string);
|
|
19
|
-
[UPDATE]: (fileData: FileData) => void;
|
|
20
|
-
[MARK_FAILED]: () => void;
|
|
21
|
-
get url(): string | null;
|
|
22
|
-
get name(): string | null;
|
|
23
|
-
get type(): string | null;
|
|
24
|
-
get loading(): boolean;
|
|
25
|
-
get failed(): boolean;
|
|
26
|
-
dispose: () => void;
|
|
27
|
-
}
|
|
1
|
+
import { EventSubscriber, FileData } from '@verdant-web/common';
|
|
2
|
+
export type EntityFileEvents = {
|
|
3
|
+
change: () => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const UPDATE: unique symbol;
|
|
6
|
+
export declare const MARK_FAILED: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Provides a consistent interface for files used in an app via
|
|
9
|
+
* Entity access.
|
|
10
|
+
*/
|
|
11
|
+
export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
private _objectUrl;
|
|
14
|
+
private _fileData;
|
|
15
|
+
private _loading;
|
|
16
|
+
private _failed;
|
|
17
|
+
private _disposed;
|
|
18
|
+
constructor(id: string);
|
|
19
|
+
[UPDATE]: (fileData: FileData) => void;
|
|
20
|
+
[MARK_FAILED]: () => void;
|
|
21
|
+
get url(): string | null;
|
|
22
|
+
get name(): string | null;
|
|
23
|
+
get type(): string | null;
|
|
24
|
+
get loading(): boolean;
|
|
25
|
+
get failed(): boolean;
|
|
26
|
+
dispose: () => void;
|
|
27
|
+
}
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
var _a, _b;
|
|
2
|
-
import { EventSubscriber } from '@verdant-web/common';
|
|
3
|
-
export const UPDATE = Symbol('entity-file-update');
|
|
4
|
-
export const MARK_FAILED = Symbol('entity-file-mark-failed');
|
|
5
|
-
/**
|
|
6
|
-
* Provides a consistent interface for files used in an app via
|
|
7
|
-
* Entity access.
|
|
8
|
-
*/
|
|
9
|
-
export class EntityFile extends EventSubscriber {
|
|
10
|
-
constructor(id) {
|
|
11
|
-
super();
|
|
12
|
-
this.id = id;
|
|
13
|
-
// cached object URL for a local blob file, if applicable
|
|
14
|
-
this._objectUrl = null;
|
|
15
|
-
this._fileData = null;
|
|
16
|
-
this._loading = true;
|
|
17
|
-
this._failed = false;
|
|
18
|
-
this._disposed = false;
|
|
19
|
-
this[_a] = (fileData) => {
|
|
20
|
-
this._loading = false;
|
|
21
|
-
this._failed = false;
|
|
22
|
-
this._disposed = false;
|
|
23
|
-
this._fileData = fileData;
|
|
24
|
-
if (fileData.file) {
|
|
25
|
-
if (this._objectUrl) {
|
|
26
|
-
URL.revokeObjectURL(this._objectUrl);
|
|
27
|
-
}
|
|
28
|
-
this._objectUrl = URL.createObjectURL(fileData.file);
|
|
29
|
-
}
|
|
30
|
-
this.emit('change');
|
|
31
|
-
};
|
|
32
|
-
this[_b] = () => {
|
|
33
|
-
this._failed = true;
|
|
34
|
-
this._loading = false;
|
|
35
|
-
this.emit('change');
|
|
36
|
-
};
|
|
37
|
-
this.dispose = () => {
|
|
38
|
-
if (this._objectUrl) {
|
|
39
|
-
URL.revokeObjectURL(this._objectUrl);
|
|
40
|
-
}
|
|
41
|
-
this._disposed = true;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
get url() {
|
|
45
|
-
var _c, _d;
|
|
46
|
-
if (this.loading)
|
|
47
|
-
return null;
|
|
48
|
-
if (this._objectUrl)
|
|
49
|
-
return this._objectUrl;
|
|
50
|
-
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : null;
|
|
51
|
-
}
|
|
52
|
-
get name() {
|
|
53
|
-
var _c, _d;
|
|
54
|
-
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null;
|
|
55
|
-
}
|
|
56
|
-
get type() {
|
|
57
|
-
var _c, _d;
|
|
58
|
-
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null;
|
|
59
|
-
}
|
|
60
|
-
get loading() {
|
|
61
|
-
return this._loading;
|
|
62
|
-
}
|
|
63
|
-
get failed() {
|
|
64
|
-
return this._failed;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
_a = UPDATE, _b = MARK_FAILED;
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
3
|
+
export const UPDATE = Symbol('entity-file-update');
|
|
4
|
+
export const MARK_FAILED = Symbol('entity-file-mark-failed');
|
|
5
|
+
/**
|
|
6
|
+
* Provides a consistent interface for files used in an app via
|
|
7
|
+
* Entity access.
|
|
8
|
+
*/
|
|
9
|
+
export class EntityFile extends EventSubscriber {
|
|
10
|
+
constructor(id) {
|
|
11
|
+
super();
|
|
12
|
+
this.id = id;
|
|
13
|
+
// cached object URL for a local blob file, if applicable
|
|
14
|
+
this._objectUrl = null;
|
|
15
|
+
this._fileData = null;
|
|
16
|
+
this._loading = true;
|
|
17
|
+
this._failed = false;
|
|
18
|
+
this._disposed = false;
|
|
19
|
+
this[_a] = (fileData) => {
|
|
20
|
+
this._loading = false;
|
|
21
|
+
this._failed = false;
|
|
22
|
+
this._disposed = false;
|
|
23
|
+
this._fileData = fileData;
|
|
24
|
+
if (fileData.file) {
|
|
25
|
+
if (this._objectUrl) {
|
|
26
|
+
URL.revokeObjectURL(this._objectUrl);
|
|
27
|
+
}
|
|
28
|
+
this._objectUrl = URL.createObjectURL(fileData.file);
|
|
29
|
+
}
|
|
30
|
+
this.emit('change');
|
|
31
|
+
};
|
|
32
|
+
this[_b] = () => {
|
|
33
|
+
this._failed = true;
|
|
34
|
+
this._loading = false;
|
|
35
|
+
this.emit('change');
|
|
36
|
+
};
|
|
37
|
+
this.dispose = () => {
|
|
38
|
+
if (this._objectUrl) {
|
|
39
|
+
URL.revokeObjectURL(this._objectUrl);
|
|
40
|
+
}
|
|
41
|
+
this._disposed = true;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
get url() {
|
|
45
|
+
var _c, _d;
|
|
46
|
+
if (this.loading)
|
|
47
|
+
return null;
|
|
48
|
+
if (this._objectUrl)
|
|
49
|
+
return this._objectUrl;
|
|
50
|
+
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : null;
|
|
51
|
+
}
|
|
52
|
+
get name() {
|
|
53
|
+
var _c, _d;
|
|
54
|
+
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null;
|
|
55
|
+
}
|
|
56
|
+
get type() {
|
|
57
|
+
var _c, _d;
|
|
58
|
+
return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null;
|
|
59
|
+
}
|
|
60
|
+
get loading() {
|
|
61
|
+
return this._loading;
|
|
62
|
+
}
|
|
63
|
+
get failed() {
|
|
64
|
+
return this._failed;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
_a = UPDATE, _b = MARK_FAILED;
|
|
68
68
|
//# sourceMappingURL=EntityFile.js.map
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { FileData } from '@verdant-web/common';
|
|
2
|
-
import { Context } from '../context.js';
|
|
3
|
-
import { Metadata } from '../metadata/Metadata.js';
|
|
4
|
-
import { Sync } from '../sync/Sync.js';
|
|
5
|
-
import { EntityFile } from './EntityFile.js';
|
|
6
|
-
import { ReturnedFileData } from './FileStorage.js';
|
|
7
|
-
export interface FileManagerConfig {
|
|
8
|
-
/**
|
|
9
|
-
* Override the heuristic for deciding when a deleted file can be cleaned up.
|
|
10
|
-
* By default this waits 3 days since deletion, then deletes the file data.
|
|
11
|
-
* If the file has been synchronized to a server, it could still be restored
|
|
12
|
-
* if the server has not yet deleted it.
|
|
13
|
-
*/
|
|
14
|
-
canCleanupDeletedFile?: (file: ReturnedFileData) => boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare class FileManager {
|
|
17
|
-
private storage;
|
|
18
|
-
private sync;
|
|
19
|
-
private context;
|
|
20
|
-
private files;
|
|
21
|
-
private config;
|
|
22
|
-
private meta;
|
|
23
|
-
constructor({ db, sync, context, meta, config, }: {
|
|
24
|
-
db: IDBDatabase;
|
|
25
|
-
sync: Sync;
|
|
26
|
-
context: Context;
|
|
27
|
-
config?: FileManagerConfig;
|
|
28
|
-
meta: Metadata;
|
|
29
|
-
});
|
|
30
|
-
add: (fileInput: Omit<FileData, 'remote'>) => Promise<void>;
|
|
31
|
-
private uploadFile;
|
|
32
|
-
/**
|
|
33
|
-
* Immediately returns an EntityFile to use, then either loads
|
|
34
|
-
* the file from cache, local database, or the server.
|
|
35
|
-
*/
|
|
36
|
-
get: (id: string) => EntityFile;
|
|
37
|
-
private load;
|
|
38
|
-
listUnsynced: () => Promise<ReturnedFileData[]>;
|
|
39
|
-
private onOnlineChange;
|
|
40
|
-
private tryCleanupDeletedFiles;
|
|
41
|
-
private handleFileRefsDeleted;
|
|
42
|
-
}
|
|
1
|
+
import { FileData } from '@verdant-web/common';
|
|
2
|
+
import { Context } from '../context.js';
|
|
3
|
+
import { Metadata } from '../metadata/Metadata.js';
|
|
4
|
+
import { Sync } from '../sync/Sync.js';
|
|
5
|
+
import { EntityFile } from './EntityFile.js';
|
|
6
|
+
import { ReturnedFileData } from './FileStorage.js';
|
|
7
|
+
export interface FileManagerConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Override the heuristic for deciding when a deleted file can be cleaned up.
|
|
10
|
+
* By default this waits 3 days since deletion, then deletes the file data.
|
|
11
|
+
* If the file has been synchronized to a server, it could still be restored
|
|
12
|
+
* if the server has not yet deleted it.
|
|
13
|
+
*/
|
|
14
|
+
canCleanupDeletedFile?: (file: ReturnedFileData) => boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class FileManager {
|
|
17
|
+
private storage;
|
|
18
|
+
private sync;
|
|
19
|
+
private context;
|
|
20
|
+
private files;
|
|
21
|
+
private config;
|
|
22
|
+
private meta;
|
|
23
|
+
constructor({ db, sync, context, meta, config, }: {
|
|
24
|
+
db: IDBDatabase;
|
|
25
|
+
sync: Sync;
|
|
26
|
+
context: Context;
|
|
27
|
+
config?: FileManagerConfig;
|
|
28
|
+
meta: Metadata;
|
|
29
|
+
});
|
|
30
|
+
add: (fileInput: Omit<FileData, 'remote'>) => Promise<void>;
|
|
31
|
+
private uploadFile;
|
|
32
|
+
/**
|
|
33
|
+
* Immediately returns an EntityFile to use, then either loads
|
|
34
|
+
* the file from cache, local database, or the server.
|
|
35
|
+
*/
|
|
36
|
+
get: (id: string) => EntityFile;
|
|
37
|
+
private load;
|
|
38
|
+
listUnsynced: () => Promise<ReturnedFileData[]>;
|
|
39
|
+
private onOnlineChange;
|
|
40
|
+
private tryCleanupDeletedFiles;
|
|
41
|
+
private handleFileRefsDeleted;
|
|
42
|
+
}
|