@firebase/database 1.0.9 → 1.0.10
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/index.cjs.js +13834 -13834
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm2017.js +13834 -13834
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.node.cjs.js +13849 -13849
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.standalone.js +13797 -13797
- package/dist/index.standalone.js.map +1 -1
- package/dist/node-esm/index.node.esm.js +13849 -13849
- package/dist/node-esm/index.node.esm.js.map +1 -1
- package/dist/node-esm/src/api/Database.d.ts +137 -137
- package/dist/node-esm/src/api/OnDisconnect.d.ts +110 -110
- package/dist/node-esm/src/api/Reference.d.ts +122 -122
- package/dist/node-esm/src/api/Reference_impl.d.ts +1098 -1098
- package/dist/node-esm/src/api/ServerValue.d.ts +30 -30
- package/dist/node-esm/src/api/Transaction.d.ts +83 -83
- package/dist/node-esm/src/api/test_access.d.ts +31 -31
- package/dist/node-esm/src/api.d.ts +18 -18
- package/dist/node-esm/src/api.standalone.d.ts +30 -30
- package/dist/node-esm/src/core/AppCheckTokenProvider.d.ts +30 -30
- package/dist/node-esm/src/core/AuthTokenProvider.d.ts +49 -49
- package/dist/node-esm/src/core/CompoundWrite.d.ts +81 -81
- package/dist/node-esm/src/core/PersistentConnection.d.ts +135 -135
- package/dist/node-esm/src/core/ReadonlyRestClient.d.ts +60 -60
- package/dist/node-esm/src/core/Repo.d.ts +144 -144
- package/dist/node-esm/src/core/RepoInfo.d.ts +56 -56
- package/dist/node-esm/src/core/ServerActions.d.ts +52 -52
- package/dist/node-esm/src/core/SnapshotHolder.d.ts +26 -26
- package/dist/node-esm/src/core/SparseSnapshotTree.d.ts +64 -64
- package/dist/node-esm/src/core/SyncPoint.d.ts +91 -91
- package/dist/node-esm/src/core/SyncTree.d.ts +166 -166
- package/dist/node-esm/src/core/WriteTree.d.ts +205 -205
- package/dist/node-esm/src/core/operation/AckUserWrite.d.ts +36 -36
- package/dist/node-esm/src/core/operation/ListenComplete.d.ts +26 -26
- package/dist/node-esm/src/core/operation/Merge.d.ts +33 -33
- package/dist/node-esm/src/core/operation/Operation.d.ts +45 -45
- package/dist/node-esm/src/core/operation/Overwrite.d.ts +28 -28
- package/dist/node-esm/src/core/snap/ChildrenNode.d.ts +112 -112
- package/dist/node-esm/src/core/snap/IndexMap.d.ts +43 -43
- package/dist/node-esm/src/core/snap/LeafNode.d.ts +83 -83
- package/dist/node-esm/src/core/snap/Node.d.ts +126 -126
- package/dist/node-esm/src/core/snap/childSet.d.ts +32 -32
- package/dist/node-esm/src/core/snap/comparators.d.ts +19 -19
- package/dist/node-esm/src/core/snap/indexes/Index.d.ts +50 -50
- package/dist/node-esm/src/core/snap/indexes/KeyIndex.d.ts +34 -34
- package/dist/node-esm/src/core/snap/indexes/PathIndex.d.ts +29 -29
- package/dist/node-esm/src/core/snap/indexes/PriorityIndex.d.ts +33 -33
- package/dist/node-esm/src/core/snap/indexes/ValueIndex.d.ts +31 -31
- package/dist/node-esm/src/core/snap/nodeFromJSON.d.ts +24 -24
- package/dist/node-esm/src/core/snap/snap.d.ts +23 -23
- package/dist/node-esm/src/core/stats/StatsCollection.d.ts +26 -26
- package/dist/node-esm/src/core/stats/StatsListener.d.ts +30 -30
- package/dist/node-esm/src/core/stats/StatsManager.d.ts +20 -20
- package/dist/node-esm/src/core/stats/StatsReporter.d.ts +28 -28
- package/dist/node-esm/src/core/storage/DOMStorageWrapper.d.ts +46 -46
- package/dist/node-esm/src/core/storage/MemoryStorage.d.ts +27 -27
- package/dist/node-esm/src/core/storage/storage.d.ts +22 -22
- package/dist/node-esm/src/core/util/EventEmitter.d.ts +39 -39
- package/dist/node-esm/src/core/util/ImmutableTree.d.ts +117 -117
- package/dist/node-esm/src/core/util/NextPushId.d.ts +33 -33
- package/dist/node-esm/src/core/util/OnlineMonitor.d.ts +31 -31
- package/dist/node-esm/src/core/util/Path.d.ts +94 -94
- package/dist/node-esm/src/core/util/ServerValues.d.ts +56 -56
- package/dist/node-esm/src/core/util/SortedMap.d.ts +324 -324
- package/dist/node-esm/src/core/util/Tree.d.ts +105 -105
- package/dist/node-esm/src/core/util/VisibilityMonitor.d.ts +23 -23
- package/dist/node-esm/src/core/util/libs/parser.d.ts +32 -32
- package/dist/node-esm/src/core/util/misc.d.ts +19 -19
- package/dist/node-esm/src/core/util/util.d.ts +176 -176
- package/dist/node-esm/src/core/util/validation.d.ts +70 -70
- package/dist/node-esm/src/core/version.d.ts +23 -23
- package/dist/node-esm/src/core/view/CacheNode.d.ts +41 -41
- package/dist/node-esm/src/core/view/Change.d.ts +46 -46
- package/dist/node-esm/src/core/view/ChildChangeAccumulator.d.ts +22 -22
- package/dist/node-esm/src/core/view/CompleteChildSource.d.ts +55 -55
- package/dist/node-esm/src/core/view/Event.d.ts +64 -64
- package/dist/node-esm/src/core/view/EventGenerator.d.ts +42 -42
- package/dist/node-esm/src/core/view/EventQueue.d.ts +67 -67
- package/dist/node-esm/src/core/view/EventRegistration.d.ts +87 -87
- package/dist/node-esm/src/core/view/QueryParams.d.ts +95 -95
- package/dist/node-esm/src/core/view/View.d.ts +59 -59
- package/dist/node-esm/src/core/view/ViewCache.d.ts +32 -32
- package/dist/node-esm/src/core/view/ViewProcessor.d.ts +32 -32
- package/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts +35 -35
- package/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts +47 -47
- package/dist/node-esm/src/core/view/filter/NodeFilter.d.ts +54 -54
- package/dist/node-esm/src/core/view/filter/RangedFilter.d.ts +47 -47
- package/dist/node-esm/src/index.d.ts +28 -28
- package/dist/node-esm/src/index.node.d.ts +17 -17
- package/dist/node-esm/src/index.standalone.d.ts +17 -17
- package/dist/node-esm/src/internal/index.d.ts +38 -38
- package/dist/node-esm/src/realtime/BrowserPollConnection.d.ts +198 -198
- package/dist/node-esm/src/realtime/Connection.d.ts +102 -102
- package/dist/node-esm/src/realtime/Constants.d.ts +27 -27
- package/dist/node-esm/src/realtime/Transport.d.ts +58 -58
- package/dist/node-esm/src/realtime/TransportManager.d.ts +50 -50
- package/dist/node-esm/src/realtime/WebSocketConnection.d.ts +127 -127
- package/dist/node-esm/src/realtime/polling/PacketReceiver.d.ts +38 -38
- package/dist/node-esm/src/register.d.ts +1 -1
- package/dist/node-esm/test/compound_write.test.d.ts +17 -17
- package/dist/node-esm/test/connection.test.d.ts +17 -17
- package/dist/node-esm/test/deno.test.d.ts +17 -17
- package/dist/node-esm/test/exp/integration.test.d.ts +17 -17
- package/dist/node-esm/test/helpers/EventAccumulator.d.ts +35 -35
- package/dist/node-esm/test/helpers/syncpoint-util.d.ts +29 -29
- package/dist/node-esm/test/helpers/util.d.ts +34 -34
- package/dist/node-esm/test/node.test.d.ts +17 -17
- package/dist/node-esm/test/parser.test.d.ts +17 -17
- package/dist/node-esm/test/path.test.d.ts +17 -17
- package/dist/node-esm/test/pushid.test.d.ts +17 -17
- package/dist/node-esm/test/queryconstraint.test.d.ts +17 -17
- package/dist/node-esm/test/repoinfo.test.d.ts +17 -17
- package/dist/node-esm/test/sortedmap.test.d.ts +17 -17
- package/dist/node-esm/test/sparsesnapshottree.test.d.ts +17 -17
- package/dist/node-esm/test/syncpoint.test.d.ts +17 -17
- package/dist/node-esm/test/transport.test.d.ts +17 -17
- package/dist/node-esm/test/websocketconnection.test.d.ts +17 -17
- package/dist/src/api/Database.d.ts +137 -137
- package/dist/src/api/OnDisconnect.d.ts +110 -110
- package/dist/src/api/Reference.d.ts +122 -122
- package/dist/src/api/Reference_impl.d.ts +1098 -1098
- package/dist/src/api/ServerValue.d.ts +30 -30
- package/dist/src/api/Transaction.d.ts +83 -83
- package/dist/src/api/test_access.d.ts +31 -31
- package/dist/src/api.d.ts +18 -18
- package/dist/src/api.standalone.d.ts +30 -30
- package/dist/src/core/AppCheckTokenProvider.d.ts +30 -30
- package/dist/src/core/AuthTokenProvider.d.ts +49 -49
- package/dist/src/core/CompoundWrite.d.ts +81 -81
- package/dist/src/core/PersistentConnection.d.ts +135 -135
- package/dist/src/core/ReadonlyRestClient.d.ts +60 -60
- package/dist/src/core/Repo.d.ts +144 -144
- package/dist/src/core/RepoInfo.d.ts +56 -56
- package/dist/src/core/ServerActions.d.ts +52 -52
- package/dist/src/core/SnapshotHolder.d.ts +26 -26
- package/dist/src/core/SparseSnapshotTree.d.ts +64 -64
- package/dist/src/core/SyncPoint.d.ts +91 -91
- package/dist/src/core/SyncTree.d.ts +166 -166
- package/dist/src/core/WriteTree.d.ts +205 -205
- package/dist/src/core/operation/AckUserWrite.d.ts +36 -36
- package/dist/src/core/operation/ListenComplete.d.ts +26 -26
- package/dist/src/core/operation/Merge.d.ts +33 -33
- package/dist/src/core/operation/Operation.d.ts +45 -45
- package/dist/src/core/operation/Overwrite.d.ts +28 -28
- package/dist/src/core/snap/ChildrenNode.d.ts +112 -112
- package/dist/src/core/snap/IndexMap.d.ts +43 -43
- package/dist/src/core/snap/LeafNode.d.ts +83 -83
- package/dist/src/core/snap/Node.d.ts +126 -126
- package/dist/src/core/snap/childSet.d.ts +32 -32
- package/dist/src/core/snap/comparators.d.ts +19 -19
- package/dist/src/core/snap/indexes/Index.d.ts +50 -50
- package/dist/src/core/snap/indexes/KeyIndex.d.ts +34 -34
- package/dist/src/core/snap/indexes/PathIndex.d.ts +29 -29
- package/dist/src/core/snap/indexes/PriorityIndex.d.ts +33 -33
- package/dist/src/core/snap/indexes/ValueIndex.d.ts +31 -31
- package/dist/src/core/snap/nodeFromJSON.d.ts +24 -24
- package/dist/src/core/snap/snap.d.ts +23 -23
- package/dist/src/core/stats/StatsCollection.d.ts +26 -26
- package/dist/src/core/stats/StatsListener.d.ts +30 -30
- package/dist/src/core/stats/StatsManager.d.ts +20 -20
- package/dist/src/core/stats/StatsReporter.d.ts +28 -28
- package/dist/src/core/storage/DOMStorageWrapper.d.ts +46 -46
- package/dist/src/core/storage/MemoryStorage.d.ts +27 -27
- package/dist/src/core/storage/storage.d.ts +22 -22
- package/dist/src/core/util/EventEmitter.d.ts +39 -39
- package/dist/src/core/util/ImmutableTree.d.ts +117 -117
- package/dist/src/core/util/NextPushId.d.ts +33 -33
- package/dist/src/core/util/OnlineMonitor.d.ts +31 -31
- package/dist/src/core/util/Path.d.ts +94 -94
- package/dist/src/core/util/ServerValues.d.ts +56 -56
- package/dist/src/core/util/SortedMap.d.ts +324 -324
- package/dist/src/core/util/Tree.d.ts +105 -105
- package/dist/src/core/util/VisibilityMonitor.d.ts +23 -23
- package/dist/src/core/util/libs/parser.d.ts +32 -32
- package/dist/src/core/util/misc.d.ts +19 -19
- package/dist/src/core/util/util.d.ts +176 -176
- package/dist/src/core/util/validation.d.ts +70 -70
- package/dist/src/core/version.d.ts +23 -23
- package/dist/src/core/view/CacheNode.d.ts +41 -41
- package/dist/src/core/view/Change.d.ts +46 -46
- package/dist/src/core/view/ChildChangeAccumulator.d.ts +22 -22
- package/dist/src/core/view/CompleteChildSource.d.ts +55 -55
- package/dist/src/core/view/Event.d.ts +64 -64
- package/dist/src/core/view/EventGenerator.d.ts +42 -42
- package/dist/src/core/view/EventQueue.d.ts +67 -67
- package/dist/src/core/view/EventRegistration.d.ts +87 -87
- package/dist/src/core/view/QueryParams.d.ts +95 -95
- package/dist/src/core/view/View.d.ts +59 -59
- package/dist/src/core/view/ViewCache.d.ts +32 -32
- package/dist/src/core/view/ViewProcessor.d.ts +32 -32
- package/dist/src/core/view/filter/IndexedFilter.d.ts +35 -35
- package/dist/src/core/view/filter/LimitedFilter.d.ts +47 -47
- package/dist/src/core/view/filter/NodeFilter.d.ts +54 -54
- package/dist/src/core/view/filter/RangedFilter.d.ts +47 -47
- package/dist/src/index.d.ts +28 -28
- package/dist/src/index.node.d.ts +17 -17
- package/dist/src/index.standalone.d.ts +17 -17
- package/dist/src/internal/index.d.ts +38 -38
- package/dist/src/realtime/BrowserPollConnection.d.ts +198 -198
- package/dist/src/realtime/Connection.d.ts +102 -102
- package/dist/src/realtime/Constants.d.ts +27 -27
- package/dist/src/realtime/Transport.d.ts +58 -58
- package/dist/src/realtime/TransportManager.d.ts +50 -50
- package/dist/src/realtime/WebSocketConnection.d.ts +127 -127
- package/dist/src/realtime/polling/PacketReceiver.d.ts +38 -38
- package/dist/src/register.d.ts +1 -1
- package/dist/test/compound_write.test.d.ts +17 -17
- package/dist/test/connection.test.d.ts +17 -17
- package/dist/test/deno.test.d.ts +17 -17
- package/dist/test/exp/integration.test.d.ts +17 -17
- package/dist/test/helpers/EventAccumulator.d.ts +35 -35
- package/dist/test/helpers/syncpoint-util.d.ts +29 -29
- package/dist/test/helpers/util.d.ts +34 -34
- package/dist/test/node.test.d.ts +17 -17
- package/dist/test/parser.test.d.ts +17 -17
- package/dist/test/path.test.d.ts +17 -17
- package/dist/test/pushid.test.d.ts +17 -17
- package/dist/test/queryconstraint.test.d.ts +17 -17
- package/dist/test/repoinfo.test.d.ts +17 -17
- package/dist/test/sortedmap.test.d.ts +17 -17
- package/dist/test/sparsesnapshottree.test.d.ts +17 -17
- package/dist/test/syncpoint.test.d.ts +17 -17
- package/dist/test/transport.test.d.ts +17 -17
- package/dist/test/websocketconnection.test.d.ts +17 -17
- package/package.json +8 -8
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { DataSnapshot } from '../../api/Reference_impl';
|
|
18
|
-
import { Repo } from '../Repo';
|
|
19
|
-
import { Path } from '../util/Path';
|
|
20
|
-
import { Change } from './Change';
|
|
21
|
-
import { CancelEvent, Event } from './Event';
|
|
22
|
-
import { QueryParams } from './QueryParams';
|
|
23
|
-
/**
|
|
24
|
-
* A user callback. Callbacks issues from the Legacy SDK maintain references
|
|
25
|
-
* to the original user-issued callbacks, which allows equality
|
|
26
|
-
* comparison by reference even though this callbacks are wrapped before
|
|
27
|
-
* they can be passed to the firebase@exp SDK.
|
|
28
|
-
*
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
export interface UserCallback {
|
|
32
|
-
(dataSnapshot: DataSnapshot, previousChildName?: string | null): unknown;
|
|
33
|
-
userCallback?: unknown;
|
|
34
|
-
context?: object | null;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* A wrapper class that converts events from the database@exp SDK to the legacy
|
|
38
|
-
* Database SDK. Events are not converted directly as event registration relies
|
|
39
|
-
* on reference comparison of the original user callback (see `matches()`) and
|
|
40
|
-
* relies on equality of the legacy SDK's `context` object.
|
|
41
|
-
*/
|
|
42
|
-
export declare class CallbackContext {
|
|
43
|
-
private readonly snapshotCallback;
|
|
44
|
-
private readonly cancelCallback?;
|
|
45
|
-
constructor(snapshotCallback: UserCallback, cancelCallback?: (error: Error) => unknown);
|
|
46
|
-
onValue(expDataSnapshot: DataSnapshot, previousChildName?: string | null): void;
|
|
47
|
-
onCancel(error: Error): void;
|
|
48
|
-
get hasCancelCallback(): boolean;
|
|
49
|
-
matches(other: CallbackContext): boolean;
|
|
50
|
-
}
|
|
51
|
-
export interface QueryContext {
|
|
52
|
-
readonly _queryIdentifier: string;
|
|
53
|
-
readonly _queryObject: object;
|
|
54
|
-
readonly _repo: Repo;
|
|
55
|
-
readonly _path: Path;
|
|
56
|
-
readonly _queryParams: QueryParams;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* An EventRegistration is basically an event type ('value', 'child_added', etc.) and a callback
|
|
60
|
-
* to be notified of that type of event.
|
|
61
|
-
*
|
|
62
|
-
* That said, it can also contain a cancel callback to be notified if the event is canceled. And
|
|
63
|
-
* currently, this code is organized around the idea that you would register multiple child_ callbacks
|
|
64
|
-
* together, as a single EventRegistration. Though currently we don't do that.
|
|
65
|
-
*/
|
|
66
|
-
export interface EventRegistration {
|
|
67
|
-
/**
|
|
68
|
-
* True if this container has a callback to trigger for this event type
|
|
69
|
-
*/
|
|
70
|
-
respondsTo(eventType: string): boolean;
|
|
71
|
-
createEvent(change: Change, query: QueryContext): Event;
|
|
72
|
-
/**
|
|
73
|
-
* Given event data, return a function to trigger the user's callback
|
|
74
|
-
*/
|
|
75
|
-
getEventRunner(eventData: Event): () => void;
|
|
76
|
-
createCancelEvent(error: Error, path: Path): CancelEvent | null;
|
|
77
|
-
matches(other: EventRegistration): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* False basically means this is a "dummy" callback container being used as a sentinel
|
|
80
|
-
* to remove all callback containers of a particular type. (e.g. if the user does
|
|
81
|
-
* ref.off('value') without specifying a specific callback).
|
|
82
|
-
*
|
|
83
|
-
* (TODO: Rework this, since it's hacky)
|
|
84
|
-
*
|
|
85
|
-
*/
|
|
86
|
-
hasAnyCallback(): boolean;
|
|
87
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { DataSnapshot } from '../../api/Reference_impl';
|
|
18
|
+
import { Repo } from '../Repo';
|
|
19
|
+
import { Path } from '../util/Path';
|
|
20
|
+
import { Change } from './Change';
|
|
21
|
+
import { CancelEvent, Event } from './Event';
|
|
22
|
+
import { QueryParams } from './QueryParams';
|
|
23
|
+
/**
|
|
24
|
+
* A user callback. Callbacks issues from the Legacy SDK maintain references
|
|
25
|
+
* to the original user-issued callbacks, which allows equality
|
|
26
|
+
* comparison by reference even though this callbacks are wrapped before
|
|
27
|
+
* they can be passed to the firebase@exp SDK.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export interface UserCallback {
|
|
32
|
+
(dataSnapshot: DataSnapshot, previousChildName?: string | null): unknown;
|
|
33
|
+
userCallback?: unknown;
|
|
34
|
+
context?: object | null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A wrapper class that converts events from the database@exp SDK to the legacy
|
|
38
|
+
* Database SDK. Events are not converted directly as event registration relies
|
|
39
|
+
* on reference comparison of the original user callback (see `matches()`) and
|
|
40
|
+
* relies on equality of the legacy SDK's `context` object.
|
|
41
|
+
*/
|
|
42
|
+
export declare class CallbackContext {
|
|
43
|
+
private readonly snapshotCallback;
|
|
44
|
+
private readonly cancelCallback?;
|
|
45
|
+
constructor(snapshotCallback: UserCallback, cancelCallback?: (error: Error) => unknown);
|
|
46
|
+
onValue(expDataSnapshot: DataSnapshot, previousChildName?: string | null): void;
|
|
47
|
+
onCancel(error: Error): void;
|
|
48
|
+
get hasCancelCallback(): boolean;
|
|
49
|
+
matches(other: CallbackContext): boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface QueryContext {
|
|
52
|
+
readonly _queryIdentifier: string;
|
|
53
|
+
readonly _queryObject: object;
|
|
54
|
+
readonly _repo: Repo;
|
|
55
|
+
readonly _path: Path;
|
|
56
|
+
readonly _queryParams: QueryParams;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* An EventRegistration is basically an event type ('value', 'child_added', etc.) and a callback
|
|
60
|
+
* to be notified of that type of event.
|
|
61
|
+
*
|
|
62
|
+
* That said, it can also contain a cancel callback to be notified if the event is canceled. And
|
|
63
|
+
* currently, this code is organized around the idea that you would register multiple child_ callbacks
|
|
64
|
+
* together, as a single EventRegistration. Though currently we don't do that.
|
|
65
|
+
*/
|
|
66
|
+
export interface EventRegistration {
|
|
67
|
+
/**
|
|
68
|
+
* True if this container has a callback to trigger for this event type
|
|
69
|
+
*/
|
|
70
|
+
respondsTo(eventType: string): boolean;
|
|
71
|
+
createEvent(change: Change, query: QueryContext): Event;
|
|
72
|
+
/**
|
|
73
|
+
* Given event data, return a function to trigger the user's callback
|
|
74
|
+
*/
|
|
75
|
+
getEventRunner(eventData: Event): () => void;
|
|
76
|
+
createCancelEvent(error: Error, path: Path): CancelEvent | null;
|
|
77
|
+
matches(other: EventRegistration): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* False basically means this is a "dummy" callback container being used as a sentinel
|
|
80
|
+
* to remove all callback containers of a particular type. (e.g. if the user does
|
|
81
|
+
* ref.off('value') without specifying a specific callback).
|
|
82
|
+
*
|
|
83
|
+
* (TODO: Rework this, since it's hacky)
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
86
|
+
hasAnyCallback(): boolean;
|
|
87
|
+
}
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Index } from '../snap/indexes/Index';
|
|
18
|
-
import { PriorityIndex } from '../snap/indexes/PriorityIndex';
|
|
19
|
-
import { NodeFilter } from './filter/NodeFilter';
|
|
20
|
-
/**
|
|
21
|
-
* This class is an immutable-from-the-public-api struct containing a set of query parameters defining a
|
|
22
|
-
* range to be returned for a particular location. It is assumed that validation of parameters is done at the
|
|
23
|
-
* user-facing API level, so it is not done here.
|
|
24
|
-
*
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
export declare class QueryParams {
|
|
28
|
-
limitSet_: boolean;
|
|
29
|
-
startSet_: boolean;
|
|
30
|
-
startNameSet_: boolean;
|
|
31
|
-
startAfterSet_: boolean;
|
|
32
|
-
endSet_: boolean;
|
|
33
|
-
endNameSet_: boolean;
|
|
34
|
-
endBeforeSet_: boolean;
|
|
35
|
-
limit_: number;
|
|
36
|
-
viewFrom_: string;
|
|
37
|
-
indexStartValue_: unknown | null;
|
|
38
|
-
indexStartName_: string;
|
|
39
|
-
indexEndValue_: unknown | null;
|
|
40
|
-
indexEndName_: string;
|
|
41
|
-
index_: PriorityIndex;
|
|
42
|
-
hasStart(): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* @returns True if it would return from left.
|
|
45
|
-
*/
|
|
46
|
-
isViewFromLeft(): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Only valid to call if hasStart() returns true
|
|
49
|
-
*/
|
|
50
|
-
getIndexStartValue(): unknown;
|
|
51
|
-
/**
|
|
52
|
-
* Only valid to call if hasStart() returns true.
|
|
53
|
-
* Returns the starting key name for the range defined by these query parameters
|
|
54
|
-
*/
|
|
55
|
-
getIndexStartName(): string;
|
|
56
|
-
hasEnd(): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Only valid to call if hasEnd() returns true.
|
|
59
|
-
*/
|
|
60
|
-
getIndexEndValue(): unknown;
|
|
61
|
-
/**
|
|
62
|
-
* Only valid to call if hasEnd() returns true.
|
|
63
|
-
* Returns the end key name for the range defined by these query parameters
|
|
64
|
-
*/
|
|
65
|
-
getIndexEndName(): string;
|
|
66
|
-
hasLimit(): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* @returns True if a limit has been set and it has been explicitly anchored
|
|
69
|
-
*/
|
|
70
|
-
hasAnchoredLimit(): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Only valid to call if hasLimit() returns true
|
|
73
|
-
*/
|
|
74
|
-
getLimit(): number;
|
|
75
|
-
getIndex(): Index;
|
|
76
|
-
loadsAllData(): boolean;
|
|
77
|
-
isDefault(): boolean;
|
|
78
|
-
copy(): QueryParams;
|
|
79
|
-
}
|
|
80
|
-
export declare function queryParamsGetNodeFilter(queryParams: QueryParams): NodeFilter;
|
|
81
|
-
export declare function queryParamsLimit(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
82
|
-
export declare function queryParamsLimitToFirst(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
83
|
-
export declare function queryParamsLimitToLast(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
84
|
-
export declare function queryParamsStartAt(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
85
|
-
export declare function queryParamsStartAfter(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
86
|
-
export declare function queryParamsEndAt(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
87
|
-
export declare function queryParamsEndBefore(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
88
|
-
export declare function queryParamsOrderBy(queryParams: QueryParams, index: Index): QueryParams;
|
|
89
|
-
/**
|
|
90
|
-
* Returns a set of REST query string parameters representing this query.
|
|
91
|
-
*
|
|
92
|
-
* @returns query string parameters
|
|
93
|
-
*/
|
|
94
|
-
export declare function queryParamsToRestQueryStringParameters(queryParams: QueryParams): Record<string, string | number>;
|
|
95
|
-
export declare function queryParamsGetQueryObject(queryParams: QueryParams): Record<string, unknown>;
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Index } from '../snap/indexes/Index';
|
|
18
|
+
import { PriorityIndex } from '../snap/indexes/PriorityIndex';
|
|
19
|
+
import { NodeFilter } from './filter/NodeFilter';
|
|
20
|
+
/**
|
|
21
|
+
* This class is an immutable-from-the-public-api struct containing a set of query parameters defining a
|
|
22
|
+
* range to be returned for a particular location. It is assumed that validation of parameters is done at the
|
|
23
|
+
* user-facing API level, so it is not done here.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare class QueryParams {
|
|
28
|
+
limitSet_: boolean;
|
|
29
|
+
startSet_: boolean;
|
|
30
|
+
startNameSet_: boolean;
|
|
31
|
+
startAfterSet_: boolean;
|
|
32
|
+
endSet_: boolean;
|
|
33
|
+
endNameSet_: boolean;
|
|
34
|
+
endBeforeSet_: boolean;
|
|
35
|
+
limit_: number;
|
|
36
|
+
viewFrom_: string;
|
|
37
|
+
indexStartValue_: unknown | null;
|
|
38
|
+
indexStartName_: string;
|
|
39
|
+
indexEndValue_: unknown | null;
|
|
40
|
+
indexEndName_: string;
|
|
41
|
+
index_: PriorityIndex;
|
|
42
|
+
hasStart(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* @returns True if it would return from left.
|
|
45
|
+
*/
|
|
46
|
+
isViewFromLeft(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Only valid to call if hasStart() returns true
|
|
49
|
+
*/
|
|
50
|
+
getIndexStartValue(): unknown;
|
|
51
|
+
/**
|
|
52
|
+
* Only valid to call if hasStart() returns true.
|
|
53
|
+
* Returns the starting key name for the range defined by these query parameters
|
|
54
|
+
*/
|
|
55
|
+
getIndexStartName(): string;
|
|
56
|
+
hasEnd(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Only valid to call if hasEnd() returns true.
|
|
59
|
+
*/
|
|
60
|
+
getIndexEndValue(): unknown;
|
|
61
|
+
/**
|
|
62
|
+
* Only valid to call if hasEnd() returns true.
|
|
63
|
+
* Returns the end key name for the range defined by these query parameters
|
|
64
|
+
*/
|
|
65
|
+
getIndexEndName(): string;
|
|
66
|
+
hasLimit(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* @returns True if a limit has been set and it has been explicitly anchored
|
|
69
|
+
*/
|
|
70
|
+
hasAnchoredLimit(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Only valid to call if hasLimit() returns true
|
|
73
|
+
*/
|
|
74
|
+
getLimit(): number;
|
|
75
|
+
getIndex(): Index;
|
|
76
|
+
loadsAllData(): boolean;
|
|
77
|
+
isDefault(): boolean;
|
|
78
|
+
copy(): QueryParams;
|
|
79
|
+
}
|
|
80
|
+
export declare function queryParamsGetNodeFilter(queryParams: QueryParams): NodeFilter;
|
|
81
|
+
export declare function queryParamsLimit(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
82
|
+
export declare function queryParamsLimitToFirst(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
83
|
+
export declare function queryParamsLimitToLast(queryParams: QueryParams, newLimit: number): QueryParams;
|
|
84
|
+
export declare function queryParamsStartAt(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
85
|
+
export declare function queryParamsStartAfter(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
86
|
+
export declare function queryParamsEndAt(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
87
|
+
export declare function queryParamsEndBefore(queryParams: QueryParams, indexValue: unknown, key?: string | null): QueryParams;
|
|
88
|
+
export declare function queryParamsOrderBy(queryParams: QueryParams, index: Index): QueryParams;
|
|
89
|
+
/**
|
|
90
|
+
* Returns a set of REST query string parameters representing this query.
|
|
91
|
+
*
|
|
92
|
+
* @returns query string parameters
|
|
93
|
+
*/
|
|
94
|
+
export declare function queryParamsToRestQueryStringParameters(queryParams: QueryParams): Record<string, string | number>;
|
|
95
|
+
export declare function queryParamsGetQueryObject(queryParams: QueryParams): Record<string, unknown>;
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Operation } from '../operation/Operation';
|
|
18
|
-
import { Node } from '../snap/Node';
|
|
19
|
-
import { Path } from '../util/Path';
|
|
20
|
-
import { WriteTreeRef } from '../WriteTree';
|
|
21
|
-
import { Event } from './Event';
|
|
22
|
-
import { EventGenerator } from './EventGenerator';
|
|
23
|
-
import { EventRegistration, QueryContext } from './EventRegistration';
|
|
24
|
-
import { ViewCache } from './ViewCache';
|
|
25
|
-
import { ViewProcessor } from './ViewProcessor';
|
|
26
|
-
/**
|
|
27
|
-
* A view represents a specific location and query that has 1 or more event registrations.
|
|
28
|
-
*
|
|
29
|
-
* It does several things:
|
|
30
|
-
* - Maintains the list of event registrations for this location/query.
|
|
31
|
-
* - Maintains a cache of the data visible for this location/query.
|
|
32
|
-
* - Applies new operations (via applyOperation), updates the cache, and based on the event
|
|
33
|
-
* registrations returns the set of events to be raised.
|
|
34
|
-
*/
|
|
35
|
-
export declare class View {
|
|
36
|
-
private query_;
|
|
37
|
-
processor_: ViewProcessor;
|
|
38
|
-
viewCache_: ViewCache;
|
|
39
|
-
eventRegistrations_: EventRegistration[];
|
|
40
|
-
eventGenerator_: EventGenerator;
|
|
41
|
-
constructor(query_: QueryContext, initialViewCache: ViewCache);
|
|
42
|
-
get query(): QueryContext;
|
|
43
|
-
}
|
|
44
|
-
export declare function viewGetServerCache(view: View): Node | null;
|
|
45
|
-
export declare function viewGetCompleteNode(view: View): Node | null;
|
|
46
|
-
export declare function viewGetCompleteServerCache(view: View, path: Path): Node | null;
|
|
47
|
-
export declare function viewIsEmpty(view: View): boolean;
|
|
48
|
-
export declare function viewAddEventRegistration(view: View, eventRegistration: EventRegistration): void;
|
|
49
|
-
/**
|
|
50
|
-
* @param eventRegistration - If null, remove all callbacks.
|
|
51
|
-
* @param cancelError - If a cancelError is provided, appropriate cancel events will be returned.
|
|
52
|
-
* @returns Cancel events, if cancelError was provided.
|
|
53
|
-
*/
|
|
54
|
-
export declare function viewRemoveEventRegistration(view: View, eventRegistration: EventRegistration | null, cancelError?: Error): Event[];
|
|
55
|
-
/**
|
|
56
|
-
* Applies the given Operation, updates our cache, and returns the appropriate events.
|
|
57
|
-
*/
|
|
58
|
-
export declare function viewApplyOperation(view: View, operation: Operation, writesCache: WriteTreeRef, completeServerCache: Node | null): Event[];
|
|
59
|
-
export declare function viewGetInitialEvents(view: View, registration: EventRegistration): Event[];
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Operation } from '../operation/Operation';
|
|
18
|
+
import { Node } from '../snap/Node';
|
|
19
|
+
import { Path } from '../util/Path';
|
|
20
|
+
import { WriteTreeRef } from '../WriteTree';
|
|
21
|
+
import { Event } from './Event';
|
|
22
|
+
import { EventGenerator } from './EventGenerator';
|
|
23
|
+
import { EventRegistration, QueryContext } from './EventRegistration';
|
|
24
|
+
import { ViewCache } from './ViewCache';
|
|
25
|
+
import { ViewProcessor } from './ViewProcessor';
|
|
26
|
+
/**
|
|
27
|
+
* A view represents a specific location and query that has 1 or more event registrations.
|
|
28
|
+
*
|
|
29
|
+
* It does several things:
|
|
30
|
+
* - Maintains the list of event registrations for this location/query.
|
|
31
|
+
* - Maintains a cache of the data visible for this location/query.
|
|
32
|
+
* - Applies new operations (via applyOperation), updates the cache, and based on the event
|
|
33
|
+
* registrations returns the set of events to be raised.
|
|
34
|
+
*/
|
|
35
|
+
export declare class View {
|
|
36
|
+
private query_;
|
|
37
|
+
processor_: ViewProcessor;
|
|
38
|
+
viewCache_: ViewCache;
|
|
39
|
+
eventRegistrations_: EventRegistration[];
|
|
40
|
+
eventGenerator_: EventGenerator;
|
|
41
|
+
constructor(query_: QueryContext, initialViewCache: ViewCache);
|
|
42
|
+
get query(): QueryContext;
|
|
43
|
+
}
|
|
44
|
+
export declare function viewGetServerCache(view: View): Node | null;
|
|
45
|
+
export declare function viewGetCompleteNode(view: View): Node | null;
|
|
46
|
+
export declare function viewGetCompleteServerCache(view: View, path: Path): Node | null;
|
|
47
|
+
export declare function viewIsEmpty(view: View): boolean;
|
|
48
|
+
export declare function viewAddEventRegistration(view: View, eventRegistration: EventRegistration): void;
|
|
49
|
+
/**
|
|
50
|
+
* @param eventRegistration - If null, remove all callbacks.
|
|
51
|
+
* @param cancelError - If a cancelError is provided, appropriate cancel events will be returned.
|
|
52
|
+
* @returns Cancel events, if cancelError was provided.
|
|
53
|
+
*/
|
|
54
|
+
export declare function viewRemoveEventRegistration(view: View, eventRegistration: EventRegistration | null, cancelError?: Error): Event[];
|
|
55
|
+
/**
|
|
56
|
+
* Applies the given Operation, updates our cache, and returns the appropriate events.
|
|
57
|
+
*/
|
|
58
|
+
export declare function viewApplyOperation(view: View, operation: Operation, writesCache: WriteTreeRef, completeServerCache: Node | null): Event[];
|
|
59
|
+
export declare function viewGetInitialEvents(view: View, registration: EventRegistration): Event[];
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Node } from '../snap/Node';
|
|
18
|
-
import { CacheNode } from './CacheNode';
|
|
19
|
-
/**
|
|
20
|
-
* Stores the data we have cached for a view.
|
|
21
|
-
*
|
|
22
|
-
* serverSnap is the cached server data, eventSnap is the cached event data (server data plus any local writes).
|
|
23
|
-
*/
|
|
24
|
-
export interface ViewCache {
|
|
25
|
-
readonly eventCache: CacheNode;
|
|
26
|
-
readonly serverCache: CacheNode;
|
|
27
|
-
}
|
|
28
|
-
export declare function newViewCache(eventCache: CacheNode, serverCache: CacheNode): ViewCache;
|
|
29
|
-
export declare function viewCacheUpdateEventSnap(viewCache: ViewCache, eventSnap: Node, complete: boolean, filtered: boolean): ViewCache;
|
|
30
|
-
export declare function viewCacheUpdateServerSnap(viewCache: ViewCache, serverSnap: Node, complete: boolean, filtered: boolean): ViewCache;
|
|
31
|
-
export declare function viewCacheGetCompleteEventSnap(viewCache: ViewCache): Node | null;
|
|
32
|
-
export declare function viewCacheGetCompleteServerSnap(viewCache: ViewCache): Node | null;
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Node } from '../snap/Node';
|
|
18
|
+
import { CacheNode } from './CacheNode';
|
|
19
|
+
/**
|
|
20
|
+
* Stores the data we have cached for a view.
|
|
21
|
+
*
|
|
22
|
+
* serverSnap is the cached server data, eventSnap is the cached event data (server data plus any local writes).
|
|
23
|
+
*/
|
|
24
|
+
export interface ViewCache {
|
|
25
|
+
readonly eventCache: CacheNode;
|
|
26
|
+
readonly serverCache: CacheNode;
|
|
27
|
+
}
|
|
28
|
+
export declare function newViewCache(eventCache: CacheNode, serverCache: CacheNode): ViewCache;
|
|
29
|
+
export declare function viewCacheUpdateEventSnap(viewCache: ViewCache, eventSnap: Node, complete: boolean, filtered: boolean): ViewCache;
|
|
30
|
+
export declare function viewCacheUpdateServerSnap(viewCache: ViewCache, serverSnap: Node, complete: boolean, filtered: boolean): ViewCache;
|
|
31
|
+
export declare function viewCacheGetCompleteEventSnap(viewCache: ViewCache): Node | null;
|
|
32
|
+
export declare function viewCacheGetCompleteServerSnap(viewCache: ViewCache): Node | null;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Operation } from '../operation/Operation';
|
|
18
|
-
import { Node } from '../snap/Node';
|
|
19
|
-
import { WriteTreeRef } from '../WriteTree';
|
|
20
|
-
import { Change } from './Change';
|
|
21
|
-
import { NodeFilter } from './filter/NodeFilter';
|
|
22
|
-
import { ViewCache } from './ViewCache';
|
|
23
|
-
export interface ProcessorResult {
|
|
24
|
-
readonly viewCache: ViewCache;
|
|
25
|
-
readonly changes: Change[];
|
|
26
|
-
}
|
|
27
|
-
export interface ViewProcessor {
|
|
28
|
-
readonly filter: NodeFilter;
|
|
29
|
-
}
|
|
30
|
-
export declare function newViewProcessor(filter: NodeFilter): ViewProcessor;
|
|
31
|
-
export declare function viewProcessorAssertIndexed(viewProcessor: ViewProcessor, viewCache: ViewCache): void;
|
|
32
|
-
export declare function viewProcessorApplyOperation(viewProcessor: ViewProcessor, oldViewCache: ViewCache, operation: Operation, writesCache: WriteTreeRef, completeCache: Node | null): ProcessorResult;
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Operation } from '../operation/Operation';
|
|
18
|
+
import { Node } from '../snap/Node';
|
|
19
|
+
import { WriteTreeRef } from '../WriteTree';
|
|
20
|
+
import { Change } from './Change';
|
|
21
|
+
import { NodeFilter } from './filter/NodeFilter';
|
|
22
|
+
import { ViewCache } from './ViewCache';
|
|
23
|
+
export interface ProcessorResult {
|
|
24
|
+
readonly viewCache: ViewCache;
|
|
25
|
+
readonly changes: Change[];
|
|
26
|
+
}
|
|
27
|
+
export interface ViewProcessor {
|
|
28
|
+
readonly filter: NodeFilter;
|
|
29
|
+
}
|
|
30
|
+
export declare function newViewProcessor(filter: NodeFilter): ViewProcessor;
|
|
31
|
+
export declare function viewProcessorAssertIndexed(viewProcessor: ViewProcessor, viewCache: ViewCache): void;
|
|
32
|
+
export declare function viewProcessorApplyOperation(viewProcessor: ViewProcessor, oldViewCache: ViewCache, operation: Operation, writesCache: WriteTreeRef, completeCache: Node | null): ProcessorResult;
|