@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,205 +1,205 @@
|
|
|
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 { CompoundWrite } from './CompoundWrite';
|
|
18
|
-
import { ChildrenNode } from './snap/ChildrenNode';
|
|
19
|
-
import { Index } from './snap/indexes/Index';
|
|
20
|
-
import { NamedNode, Node } from './snap/Node';
|
|
21
|
-
import { Path } from './util/Path';
|
|
22
|
-
import { CacheNode } from './view/CacheNode';
|
|
23
|
-
/**
|
|
24
|
-
* Defines a single user-initiated write operation. May be the result of a set(), transaction(), or update() call. In
|
|
25
|
-
* the case of a set() or transaction, snap will be non-null. In the case of an update(), children will be non-null.
|
|
26
|
-
*/
|
|
27
|
-
export interface WriteRecord {
|
|
28
|
-
writeId: number;
|
|
29
|
-
path: Path;
|
|
30
|
-
snap?: Node | null;
|
|
31
|
-
children?: {
|
|
32
|
-
[k: string]: Node;
|
|
33
|
-
} | null;
|
|
34
|
-
visible: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create a new WriteTreeRef for the given path. For use with a new sync point at the given path.
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
export declare function writeTreeChildWrites(writeTree: WriteTree, path: Path): WriteTreeRef;
|
|
41
|
-
/**
|
|
42
|
-
* Record a new overwrite from user code.
|
|
43
|
-
*
|
|
44
|
-
* @param visible - This is set to false by some transactions. It should be excluded from event caches
|
|
45
|
-
*/
|
|
46
|
-
export declare function writeTreeAddOverwrite(writeTree: WriteTree, path: Path, snap: Node, writeId: number, visible?: boolean): void;
|
|
47
|
-
/**
|
|
48
|
-
* Record a new merge from user code.
|
|
49
|
-
*/
|
|
50
|
-
export declare function writeTreeAddMerge(writeTree: WriteTree, path: Path, changedChildren: {
|
|
51
|
-
[k: string]: Node;
|
|
52
|
-
}, writeId: number): void;
|
|
53
|
-
export declare function writeTreeGetWrite(writeTree: WriteTree, writeId: number): WriteRecord | null;
|
|
54
|
-
/**
|
|
55
|
-
* Remove a write (either an overwrite or merge) that has been successfully acknowledge by the server. Recalculates
|
|
56
|
-
* the tree if necessary. We return true if it may have been visible, meaning views need to reevaluate.
|
|
57
|
-
*
|
|
58
|
-
* @returns true if the write may have been visible (meaning we'll need to reevaluate / raise
|
|
59
|
-
* events as a result).
|
|
60
|
-
*/
|
|
61
|
-
export declare function writeTreeRemoveWrite(writeTree: WriteTree, writeId: number): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Return a complete snapshot for the given path if there's visible write data at that path, else null.
|
|
64
|
-
* No server data is considered.
|
|
65
|
-
*
|
|
66
|
-
*/
|
|
67
|
-
export declare function writeTreeGetCompleteWriteData(writeTree: WriteTree, path: Path): Node | null;
|
|
68
|
-
/**
|
|
69
|
-
* Given optional, underlying server data, and an optional set of constraints (exclude some sets, include hidden
|
|
70
|
-
* writes), attempt to calculate a complete snapshot for the given path
|
|
71
|
-
*
|
|
72
|
-
* @param writeIdsToExclude - An optional set to be excluded
|
|
73
|
-
* @param includeHiddenWrites - Defaults to false, whether or not to layer on writes with visible set to false
|
|
74
|
-
*/
|
|
75
|
-
export declare function writeTreeCalcCompleteEventCache(writeTree: WriteTree, treePath: Path, completeServerCache: Node | null, writeIdsToExclude?: number[], includeHiddenWrites?: boolean): Node | null;
|
|
76
|
-
/**
|
|
77
|
-
* With optional, underlying server data, attempt to return a children node of children that we have complete data for.
|
|
78
|
-
* Used when creating new views, to pre-fill their complete event children snapshot.
|
|
79
|
-
*/
|
|
80
|
-
export declare function writeTreeCalcCompleteEventChildren(writeTree: WriteTree, treePath: Path, completeServerChildren: ChildrenNode | null): Node;
|
|
81
|
-
/**
|
|
82
|
-
* Given that the underlying server data has updated, determine what, if anything, needs to be
|
|
83
|
-
* applied to the event cache.
|
|
84
|
-
*
|
|
85
|
-
* Possibilities:
|
|
86
|
-
*
|
|
87
|
-
* 1. No writes are shadowing. Events should be raised, the snap to be applied comes from the server data
|
|
88
|
-
*
|
|
89
|
-
* 2. Some write is completely shadowing. No events to be raised
|
|
90
|
-
*
|
|
91
|
-
* 3. Is partially shadowed. Events
|
|
92
|
-
*
|
|
93
|
-
* Either existingEventSnap or existingServerSnap must exist
|
|
94
|
-
*/
|
|
95
|
-
export declare function writeTreeCalcEventCacheAfterServerOverwrite(writeTree: WriteTree, treePath: Path, childPath: Path, existingEventSnap: Node | null, existingServerSnap: Node | null): Node | null;
|
|
96
|
-
/**
|
|
97
|
-
* Returns a complete child for a given server snap after applying all user writes or null if there is no
|
|
98
|
-
* complete child for this ChildKey.
|
|
99
|
-
*/
|
|
100
|
-
export declare function writeTreeCalcCompleteChild(writeTree: WriteTree, treePath: Path, childKey: string, existingServerSnap: CacheNode): Node | null;
|
|
101
|
-
/**
|
|
102
|
-
* Returns a node if there is a complete overwrite for this path. More specifically, if there is a write at
|
|
103
|
-
* a higher path, this will return the child of that write relative to the write and this path.
|
|
104
|
-
* Returns null if there is no write at this path.
|
|
105
|
-
*/
|
|
106
|
-
export declare function writeTreeShadowingWrite(writeTree: WriteTree, path: Path): Node | null;
|
|
107
|
-
/**
|
|
108
|
-
* This method is used when processing child remove events on a query. If we can, we pull in children that were outside
|
|
109
|
-
* the window, but may now be in the window.
|
|
110
|
-
*/
|
|
111
|
-
export declare function writeTreeCalcIndexedSlice(writeTree: WriteTree, treePath: Path, completeServerData: Node | null, startPost: NamedNode, count: number, reverse: boolean, index: Index): NamedNode[];
|
|
112
|
-
export declare function newWriteTree(): WriteTree;
|
|
113
|
-
/**
|
|
114
|
-
* WriteTree tracks all pending user-initiated writes and has methods to calculate the result of merging them
|
|
115
|
-
* with underlying server data (to create "event cache" data). Pending writes are added with addOverwrite()
|
|
116
|
-
* and addMerge(), and removed with removeWrite().
|
|
117
|
-
*/
|
|
118
|
-
export interface WriteTree {
|
|
119
|
-
/**
|
|
120
|
-
* A tree tracking the result of applying all visible writes. This does not include transactions with
|
|
121
|
-
* applyLocally=false or writes that are completely shadowed by other writes.
|
|
122
|
-
*/
|
|
123
|
-
visibleWrites: CompoundWrite;
|
|
124
|
-
/**
|
|
125
|
-
* A list of all pending writes, regardless of visibility and shadowed-ness. Used to calculate arbitrary
|
|
126
|
-
* sets of the changed data, such as hidden writes (from transactions) or changes with certain writes excluded (also
|
|
127
|
-
* used by transactions).
|
|
128
|
-
*/
|
|
129
|
-
allWrites: WriteRecord[];
|
|
130
|
-
lastWriteId: number;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* If possible, returns a complete event cache, using the underlying server data if possible. In addition, can be used
|
|
134
|
-
* to get a cache that includes hidden writes, and excludes arbitrary writes. Note that customizing the returned node
|
|
135
|
-
* can lead to a more expensive calculation.
|
|
136
|
-
*
|
|
137
|
-
* @param writeIdsToExclude - Optional writes to exclude.
|
|
138
|
-
* @param includeHiddenWrites - Defaults to false, whether or not to layer on writes with visible set to false
|
|
139
|
-
*/
|
|
140
|
-
export declare function writeTreeRefCalcCompleteEventCache(writeTreeRef: WriteTreeRef, completeServerCache: Node | null, writeIdsToExclude?: number[], includeHiddenWrites?: boolean): Node | null;
|
|
141
|
-
/**
|
|
142
|
-
* If possible, returns a children node containing all of the complete children we have data for. The returned data is a
|
|
143
|
-
* mix of the given server data and write data.
|
|
144
|
-
*
|
|
145
|
-
*/
|
|
146
|
-
export declare function writeTreeRefCalcCompleteEventChildren(writeTreeRef: WriteTreeRef, completeServerChildren: ChildrenNode | null): ChildrenNode;
|
|
147
|
-
/**
|
|
148
|
-
* Given that either the underlying server data has updated or the outstanding writes have updated, determine what,
|
|
149
|
-
* if anything, needs to be applied to the event cache.
|
|
150
|
-
*
|
|
151
|
-
* Possibilities:
|
|
152
|
-
*
|
|
153
|
-
* 1. No writes are shadowing. Events should be raised, the snap to be applied comes from the server data
|
|
154
|
-
*
|
|
155
|
-
* 2. Some write is completely shadowing. No events to be raised
|
|
156
|
-
*
|
|
157
|
-
* 3. Is partially shadowed. Events should be raised
|
|
158
|
-
*
|
|
159
|
-
* Either existingEventSnap or existingServerSnap must exist, this is validated via an assert
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*/
|
|
163
|
-
export declare function writeTreeRefCalcEventCacheAfterServerOverwrite(writeTreeRef: WriteTreeRef, path: Path, existingEventSnap: Node | null, existingServerSnap: Node | null): Node | null;
|
|
164
|
-
/**
|
|
165
|
-
* Returns a node if there is a complete overwrite for this path. More specifically, if there is a write at
|
|
166
|
-
* a higher path, this will return the child of that write relative to the write and this path.
|
|
167
|
-
* Returns null if there is no write at this path.
|
|
168
|
-
*
|
|
169
|
-
*/
|
|
170
|
-
export declare function writeTreeRefShadowingWrite(writeTreeRef: WriteTreeRef, path: Path): Node | null;
|
|
171
|
-
/**
|
|
172
|
-
* This method is used when processing child remove events on a query. If we can, we pull in children that were outside
|
|
173
|
-
* the window, but may now be in the window
|
|
174
|
-
*/
|
|
175
|
-
export declare function writeTreeRefCalcIndexedSlice(writeTreeRef: WriteTreeRef, completeServerData: Node | null, startPost: NamedNode, count: number, reverse: boolean, index: Index): NamedNode[];
|
|
176
|
-
/**
|
|
177
|
-
* Returns a complete child for a given server snap after applying all user writes or null if there is no
|
|
178
|
-
* complete child for this ChildKey.
|
|
179
|
-
*/
|
|
180
|
-
export declare function writeTreeRefCalcCompleteChild(writeTreeRef: WriteTreeRef, childKey: string, existingServerCache: CacheNode): Node | null;
|
|
181
|
-
/**
|
|
182
|
-
* Return a WriteTreeRef for a child.
|
|
183
|
-
*/
|
|
184
|
-
export declare function writeTreeRefChild(writeTreeRef: WriteTreeRef, childName: string): WriteTreeRef;
|
|
185
|
-
export declare function newWriteTreeRef(path: Path, writeTree: WriteTree): WriteTreeRef;
|
|
186
|
-
/**
|
|
187
|
-
* A WriteTreeRef wraps a WriteTree and a path, for convenient access to a particular subtree. All of the methods
|
|
188
|
-
* just proxy to the underlying WriteTree.
|
|
189
|
-
*
|
|
190
|
-
*/
|
|
191
|
-
export interface WriteTreeRef {
|
|
192
|
-
/**
|
|
193
|
-
* The path to this particular write tree ref. Used for calling methods on writeTree_ while exposing a simpler
|
|
194
|
-
* interface to callers.
|
|
195
|
-
*/
|
|
196
|
-
readonly treePath: Path;
|
|
197
|
-
/**
|
|
198
|
-
* * A reference to the actual tree of write data. All methods are pass-through to the tree, but with the appropriate
|
|
199
|
-
* path prefixed.
|
|
200
|
-
*
|
|
201
|
-
* This lets us make cheap references to points in the tree for sync points without having to copy and maintain all of
|
|
202
|
-
* the data.
|
|
203
|
-
*/
|
|
204
|
-
readonly writeTree: WriteTree;
|
|
205
|
-
}
|
|
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 { CompoundWrite } from './CompoundWrite';
|
|
18
|
+
import { ChildrenNode } from './snap/ChildrenNode';
|
|
19
|
+
import { Index } from './snap/indexes/Index';
|
|
20
|
+
import { NamedNode, Node } from './snap/Node';
|
|
21
|
+
import { Path } from './util/Path';
|
|
22
|
+
import { CacheNode } from './view/CacheNode';
|
|
23
|
+
/**
|
|
24
|
+
* Defines a single user-initiated write operation. May be the result of a set(), transaction(), or update() call. In
|
|
25
|
+
* the case of a set() or transaction, snap will be non-null. In the case of an update(), children will be non-null.
|
|
26
|
+
*/
|
|
27
|
+
export interface WriteRecord {
|
|
28
|
+
writeId: number;
|
|
29
|
+
path: Path;
|
|
30
|
+
snap?: Node | null;
|
|
31
|
+
children?: {
|
|
32
|
+
[k: string]: Node;
|
|
33
|
+
} | null;
|
|
34
|
+
visible: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a new WriteTreeRef for the given path. For use with a new sync point at the given path.
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
export declare function writeTreeChildWrites(writeTree: WriteTree, path: Path): WriteTreeRef;
|
|
41
|
+
/**
|
|
42
|
+
* Record a new overwrite from user code.
|
|
43
|
+
*
|
|
44
|
+
* @param visible - This is set to false by some transactions. It should be excluded from event caches
|
|
45
|
+
*/
|
|
46
|
+
export declare function writeTreeAddOverwrite(writeTree: WriteTree, path: Path, snap: Node, writeId: number, visible?: boolean): void;
|
|
47
|
+
/**
|
|
48
|
+
* Record a new merge from user code.
|
|
49
|
+
*/
|
|
50
|
+
export declare function writeTreeAddMerge(writeTree: WriteTree, path: Path, changedChildren: {
|
|
51
|
+
[k: string]: Node;
|
|
52
|
+
}, writeId: number): void;
|
|
53
|
+
export declare function writeTreeGetWrite(writeTree: WriteTree, writeId: number): WriteRecord | null;
|
|
54
|
+
/**
|
|
55
|
+
* Remove a write (either an overwrite or merge) that has been successfully acknowledge by the server. Recalculates
|
|
56
|
+
* the tree if necessary. We return true if it may have been visible, meaning views need to reevaluate.
|
|
57
|
+
*
|
|
58
|
+
* @returns true if the write may have been visible (meaning we'll need to reevaluate / raise
|
|
59
|
+
* events as a result).
|
|
60
|
+
*/
|
|
61
|
+
export declare function writeTreeRemoveWrite(writeTree: WriteTree, writeId: number): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Return a complete snapshot for the given path if there's visible write data at that path, else null.
|
|
64
|
+
* No server data is considered.
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
export declare function writeTreeGetCompleteWriteData(writeTree: WriteTree, path: Path): Node | null;
|
|
68
|
+
/**
|
|
69
|
+
* Given optional, underlying server data, and an optional set of constraints (exclude some sets, include hidden
|
|
70
|
+
* writes), attempt to calculate a complete snapshot for the given path
|
|
71
|
+
*
|
|
72
|
+
* @param writeIdsToExclude - An optional set to be excluded
|
|
73
|
+
* @param includeHiddenWrites - Defaults to false, whether or not to layer on writes with visible set to false
|
|
74
|
+
*/
|
|
75
|
+
export declare function writeTreeCalcCompleteEventCache(writeTree: WriteTree, treePath: Path, completeServerCache: Node | null, writeIdsToExclude?: number[], includeHiddenWrites?: boolean): Node | null;
|
|
76
|
+
/**
|
|
77
|
+
* With optional, underlying server data, attempt to return a children node of children that we have complete data for.
|
|
78
|
+
* Used when creating new views, to pre-fill their complete event children snapshot.
|
|
79
|
+
*/
|
|
80
|
+
export declare function writeTreeCalcCompleteEventChildren(writeTree: WriteTree, treePath: Path, completeServerChildren: ChildrenNode | null): Node;
|
|
81
|
+
/**
|
|
82
|
+
* Given that the underlying server data has updated, determine what, if anything, needs to be
|
|
83
|
+
* applied to the event cache.
|
|
84
|
+
*
|
|
85
|
+
* Possibilities:
|
|
86
|
+
*
|
|
87
|
+
* 1. No writes are shadowing. Events should be raised, the snap to be applied comes from the server data
|
|
88
|
+
*
|
|
89
|
+
* 2. Some write is completely shadowing. No events to be raised
|
|
90
|
+
*
|
|
91
|
+
* 3. Is partially shadowed. Events
|
|
92
|
+
*
|
|
93
|
+
* Either existingEventSnap or existingServerSnap must exist
|
|
94
|
+
*/
|
|
95
|
+
export declare function writeTreeCalcEventCacheAfterServerOverwrite(writeTree: WriteTree, treePath: Path, childPath: Path, existingEventSnap: Node | null, existingServerSnap: Node | null): Node | null;
|
|
96
|
+
/**
|
|
97
|
+
* Returns a complete child for a given server snap after applying all user writes or null if there is no
|
|
98
|
+
* complete child for this ChildKey.
|
|
99
|
+
*/
|
|
100
|
+
export declare function writeTreeCalcCompleteChild(writeTree: WriteTree, treePath: Path, childKey: string, existingServerSnap: CacheNode): Node | null;
|
|
101
|
+
/**
|
|
102
|
+
* Returns a node if there is a complete overwrite for this path. More specifically, if there is a write at
|
|
103
|
+
* a higher path, this will return the child of that write relative to the write and this path.
|
|
104
|
+
* Returns null if there is no write at this path.
|
|
105
|
+
*/
|
|
106
|
+
export declare function writeTreeShadowingWrite(writeTree: WriteTree, path: Path): Node | null;
|
|
107
|
+
/**
|
|
108
|
+
* This method is used when processing child remove events on a query. If we can, we pull in children that were outside
|
|
109
|
+
* the window, but may now be in the window.
|
|
110
|
+
*/
|
|
111
|
+
export declare function writeTreeCalcIndexedSlice(writeTree: WriteTree, treePath: Path, completeServerData: Node | null, startPost: NamedNode, count: number, reverse: boolean, index: Index): NamedNode[];
|
|
112
|
+
export declare function newWriteTree(): WriteTree;
|
|
113
|
+
/**
|
|
114
|
+
* WriteTree tracks all pending user-initiated writes and has methods to calculate the result of merging them
|
|
115
|
+
* with underlying server data (to create "event cache" data). Pending writes are added with addOverwrite()
|
|
116
|
+
* and addMerge(), and removed with removeWrite().
|
|
117
|
+
*/
|
|
118
|
+
export interface WriteTree {
|
|
119
|
+
/**
|
|
120
|
+
* A tree tracking the result of applying all visible writes. This does not include transactions with
|
|
121
|
+
* applyLocally=false or writes that are completely shadowed by other writes.
|
|
122
|
+
*/
|
|
123
|
+
visibleWrites: CompoundWrite;
|
|
124
|
+
/**
|
|
125
|
+
* A list of all pending writes, regardless of visibility and shadowed-ness. Used to calculate arbitrary
|
|
126
|
+
* sets of the changed data, such as hidden writes (from transactions) or changes with certain writes excluded (also
|
|
127
|
+
* used by transactions).
|
|
128
|
+
*/
|
|
129
|
+
allWrites: WriteRecord[];
|
|
130
|
+
lastWriteId: number;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* If possible, returns a complete event cache, using the underlying server data if possible. In addition, can be used
|
|
134
|
+
* to get a cache that includes hidden writes, and excludes arbitrary writes. Note that customizing the returned node
|
|
135
|
+
* can lead to a more expensive calculation.
|
|
136
|
+
*
|
|
137
|
+
* @param writeIdsToExclude - Optional writes to exclude.
|
|
138
|
+
* @param includeHiddenWrites - Defaults to false, whether or not to layer on writes with visible set to false
|
|
139
|
+
*/
|
|
140
|
+
export declare function writeTreeRefCalcCompleteEventCache(writeTreeRef: WriteTreeRef, completeServerCache: Node | null, writeIdsToExclude?: number[], includeHiddenWrites?: boolean): Node | null;
|
|
141
|
+
/**
|
|
142
|
+
* If possible, returns a children node containing all of the complete children we have data for. The returned data is a
|
|
143
|
+
* mix of the given server data and write data.
|
|
144
|
+
*
|
|
145
|
+
*/
|
|
146
|
+
export declare function writeTreeRefCalcCompleteEventChildren(writeTreeRef: WriteTreeRef, completeServerChildren: ChildrenNode | null): ChildrenNode;
|
|
147
|
+
/**
|
|
148
|
+
* Given that either the underlying server data has updated or the outstanding writes have updated, determine what,
|
|
149
|
+
* if anything, needs to be applied to the event cache.
|
|
150
|
+
*
|
|
151
|
+
* Possibilities:
|
|
152
|
+
*
|
|
153
|
+
* 1. No writes are shadowing. Events should be raised, the snap to be applied comes from the server data
|
|
154
|
+
*
|
|
155
|
+
* 2. Some write is completely shadowing. No events to be raised
|
|
156
|
+
*
|
|
157
|
+
* 3. Is partially shadowed. Events should be raised
|
|
158
|
+
*
|
|
159
|
+
* Either existingEventSnap or existingServerSnap must exist, this is validated via an assert
|
|
160
|
+
*
|
|
161
|
+
*
|
|
162
|
+
*/
|
|
163
|
+
export declare function writeTreeRefCalcEventCacheAfterServerOverwrite(writeTreeRef: WriteTreeRef, path: Path, existingEventSnap: Node | null, existingServerSnap: Node | null): Node | null;
|
|
164
|
+
/**
|
|
165
|
+
* Returns a node if there is a complete overwrite for this path. More specifically, if there is a write at
|
|
166
|
+
* a higher path, this will return the child of that write relative to the write and this path.
|
|
167
|
+
* Returns null if there is no write at this path.
|
|
168
|
+
*
|
|
169
|
+
*/
|
|
170
|
+
export declare function writeTreeRefShadowingWrite(writeTreeRef: WriteTreeRef, path: Path): Node | null;
|
|
171
|
+
/**
|
|
172
|
+
* This method is used when processing child remove events on a query. If we can, we pull in children that were outside
|
|
173
|
+
* the window, but may now be in the window
|
|
174
|
+
*/
|
|
175
|
+
export declare function writeTreeRefCalcIndexedSlice(writeTreeRef: WriteTreeRef, completeServerData: Node | null, startPost: NamedNode, count: number, reverse: boolean, index: Index): NamedNode[];
|
|
176
|
+
/**
|
|
177
|
+
* Returns a complete child for a given server snap after applying all user writes or null if there is no
|
|
178
|
+
* complete child for this ChildKey.
|
|
179
|
+
*/
|
|
180
|
+
export declare function writeTreeRefCalcCompleteChild(writeTreeRef: WriteTreeRef, childKey: string, existingServerCache: CacheNode): Node | null;
|
|
181
|
+
/**
|
|
182
|
+
* Return a WriteTreeRef for a child.
|
|
183
|
+
*/
|
|
184
|
+
export declare function writeTreeRefChild(writeTreeRef: WriteTreeRef, childName: string): WriteTreeRef;
|
|
185
|
+
export declare function newWriteTreeRef(path: Path, writeTree: WriteTree): WriteTreeRef;
|
|
186
|
+
/**
|
|
187
|
+
* A WriteTreeRef wraps a WriteTree and a path, for convenient access to a particular subtree. All of the methods
|
|
188
|
+
* just proxy to the underlying WriteTree.
|
|
189
|
+
*
|
|
190
|
+
*/
|
|
191
|
+
export interface WriteTreeRef {
|
|
192
|
+
/**
|
|
193
|
+
* The path to this particular write tree ref. Used for calling methods on writeTree_ while exposing a simpler
|
|
194
|
+
* interface to callers.
|
|
195
|
+
*/
|
|
196
|
+
readonly treePath: Path;
|
|
197
|
+
/**
|
|
198
|
+
* * A reference to the actual tree of write data. All methods are pass-through to the tree, but with the appropriate
|
|
199
|
+
* path prefixed.
|
|
200
|
+
*
|
|
201
|
+
* This lets us make cheap references to points in the tree for sync points without having to copy and maintain all of
|
|
202
|
+
* the data.
|
|
203
|
+
*/
|
|
204
|
+
readonly writeTree: WriteTree;
|
|
205
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
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 { ImmutableTree } from '../util/ImmutableTree';
|
|
18
|
-
import { Path } from '../util/Path';
|
|
19
|
-
import { Operation, OperationType } from './Operation';
|
|
20
|
-
export declare class AckUserWrite implements Operation {
|
|
21
|
-
/** @inheritDoc */ path: Path;
|
|
22
|
-
/** @inheritDoc */ affectedTree: ImmutableTree<boolean>;
|
|
23
|
-
/** @inheritDoc */ revert: boolean;
|
|
24
|
-
/** @inheritDoc */
|
|
25
|
-
type: OperationType;
|
|
26
|
-
/** @inheritDoc */
|
|
27
|
-
source: import("./Operation").OperationSource;
|
|
28
|
-
/**
|
|
29
|
-
* @param affectedTree - A tree containing true for each affected path. Affected paths can't overlap.
|
|
30
|
-
*/
|
|
31
|
-
constructor(
|
|
32
|
-
/** @inheritDoc */ path: Path,
|
|
33
|
-
/** @inheritDoc */ affectedTree: ImmutableTree<boolean>,
|
|
34
|
-
/** @inheritDoc */ revert: boolean);
|
|
35
|
-
operationForChild(childName: string): AckUserWrite;
|
|
36
|
-
}
|
|
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 { ImmutableTree } from '../util/ImmutableTree';
|
|
18
|
+
import { Path } from '../util/Path';
|
|
19
|
+
import { Operation, OperationType } from './Operation';
|
|
20
|
+
export declare class AckUserWrite implements Operation {
|
|
21
|
+
/** @inheritDoc */ path: Path;
|
|
22
|
+
/** @inheritDoc */ affectedTree: ImmutableTree<boolean>;
|
|
23
|
+
/** @inheritDoc */ revert: boolean;
|
|
24
|
+
/** @inheritDoc */
|
|
25
|
+
type: OperationType;
|
|
26
|
+
/** @inheritDoc */
|
|
27
|
+
source: import("./Operation").OperationSource;
|
|
28
|
+
/**
|
|
29
|
+
* @param affectedTree - A tree containing true for each affected path. Affected paths can't overlap.
|
|
30
|
+
*/
|
|
31
|
+
constructor(
|
|
32
|
+
/** @inheritDoc */ path: Path,
|
|
33
|
+
/** @inheritDoc */ affectedTree: ImmutableTree<boolean>,
|
|
34
|
+
/** @inheritDoc */ revert: boolean);
|
|
35
|
+
operationForChild(childName: string): AckUserWrite;
|
|
36
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
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 { Path } from '../util/Path';
|
|
18
|
-
import { Operation, OperationSource, OperationType } from './Operation';
|
|
19
|
-
export declare class ListenComplete implements Operation {
|
|
20
|
-
source: OperationSource;
|
|
21
|
-
path: Path;
|
|
22
|
-
/** @inheritDoc */
|
|
23
|
-
type: OperationType;
|
|
24
|
-
constructor(source: OperationSource, path: Path);
|
|
25
|
-
operationForChild(childName: string): ListenComplete;
|
|
26
|
-
}
|
|
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 { Path } from '../util/Path';
|
|
18
|
+
import { Operation, OperationSource, OperationType } from './Operation';
|
|
19
|
+
export declare class ListenComplete implements Operation {
|
|
20
|
+
source: OperationSource;
|
|
21
|
+
path: Path;
|
|
22
|
+
/** @inheritDoc */
|
|
23
|
+
type: OperationType;
|
|
24
|
+
constructor(source: OperationSource, path: Path);
|
|
25
|
+
operationForChild(childName: string): ListenComplete;
|
|
26
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
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 { ImmutableTree } from '../util/ImmutableTree';
|
|
19
|
-
import { Path } from '../util/Path';
|
|
20
|
-
import { Operation, OperationSource, OperationType } from './Operation';
|
|
21
|
-
export declare class Merge implements Operation {
|
|
22
|
-
/** @inheritDoc */ source: OperationSource;
|
|
23
|
-
/** @inheritDoc */ path: Path;
|
|
24
|
-
/** @inheritDoc */ children: ImmutableTree<Node>;
|
|
25
|
-
/** @inheritDoc */
|
|
26
|
-
type: OperationType;
|
|
27
|
-
constructor(
|
|
28
|
-
/** @inheritDoc */ source: OperationSource,
|
|
29
|
-
/** @inheritDoc */ path: Path,
|
|
30
|
-
/** @inheritDoc */ children: ImmutableTree<Node>);
|
|
31
|
-
operationForChild(childName: string): Operation;
|
|
32
|
-
toString(): string;
|
|
33
|
-
}
|
|
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 { ImmutableTree } from '../util/ImmutableTree';
|
|
19
|
+
import { Path } from '../util/Path';
|
|
20
|
+
import { Operation, OperationSource, OperationType } from './Operation';
|
|
21
|
+
export declare class Merge implements Operation {
|
|
22
|
+
/** @inheritDoc */ source: OperationSource;
|
|
23
|
+
/** @inheritDoc */ path: Path;
|
|
24
|
+
/** @inheritDoc */ children: ImmutableTree<Node>;
|
|
25
|
+
/** @inheritDoc */
|
|
26
|
+
type: OperationType;
|
|
27
|
+
constructor(
|
|
28
|
+
/** @inheritDoc */ source: OperationSource,
|
|
29
|
+
/** @inheritDoc */ path: Path,
|
|
30
|
+
/** @inheritDoc */ children: ImmutableTree<Node>);
|
|
31
|
+
operationForChild(childName: string): Operation;
|
|
32
|
+
toString(): string;
|
|
33
|
+
}
|