@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.
Files changed (225) hide show
  1. package/dist/index.cjs.js +13834 -13834
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm2017.js +13834 -13834
  4. package/dist/index.esm2017.js.map +1 -1
  5. package/dist/index.node.cjs.js +13849 -13849
  6. package/dist/index.node.cjs.js.map +1 -1
  7. package/dist/index.standalone.js +13797 -13797
  8. package/dist/index.standalone.js.map +1 -1
  9. package/dist/node-esm/index.node.esm.js +13849 -13849
  10. package/dist/node-esm/index.node.esm.js.map +1 -1
  11. package/dist/node-esm/src/api/Database.d.ts +137 -137
  12. package/dist/node-esm/src/api/OnDisconnect.d.ts +110 -110
  13. package/dist/node-esm/src/api/Reference.d.ts +122 -122
  14. package/dist/node-esm/src/api/Reference_impl.d.ts +1098 -1098
  15. package/dist/node-esm/src/api/ServerValue.d.ts +30 -30
  16. package/dist/node-esm/src/api/Transaction.d.ts +83 -83
  17. package/dist/node-esm/src/api/test_access.d.ts +31 -31
  18. package/dist/node-esm/src/api.d.ts +18 -18
  19. package/dist/node-esm/src/api.standalone.d.ts +30 -30
  20. package/dist/node-esm/src/core/AppCheckTokenProvider.d.ts +30 -30
  21. package/dist/node-esm/src/core/AuthTokenProvider.d.ts +49 -49
  22. package/dist/node-esm/src/core/CompoundWrite.d.ts +81 -81
  23. package/dist/node-esm/src/core/PersistentConnection.d.ts +135 -135
  24. package/dist/node-esm/src/core/ReadonlyRestClient.d.ts +60 -60
  25. package/dist/node-esm/src/core/Repo.d.ts +144 -144
  26. package/dist/node-esm/src/core/RepoInfo.d.ts +56 -56
  27. package/dist/node-esm/src/core/ServerActions.d.ts +52 -52
  28. package/dist/node-esm/src/core/SnapshotHolder.d.ts +26 -26
  29. package/dist/node-esm/src/core/SparseSnapshotTree.d.ts +64 -64
  30. package/dist/node-esm/src/core/SyncPoint.d.ts +91 -91
  31. package/dist/node-esm/src/core/SyncTree.d.ts +166 -166
  32. package/dist/node-esm/src/core/WriteTree.d.ts +205 -205
  33. package/dist/node-esm/src/core/operation/AckUserWrite.d.ts +36 -36
  34. package/dist/node-esm/src/core/operation/ListenComplete.d.ts +26 -26
  35. package/dist/node-esm/src/core/operation/Merge.d.ts +33 -33
  36. package/dist/node-esm/src/core/operation/Operation.d.ts +45 -45
  37. package/dist/node-esm/src/core/operation/Overwrite.d.ts +28 -28
  38. package/dist/node-esm/src/core/snap/ChildrenNode.d.ts +112 -112
  39. package/dist/node-esm/src/core/snap/IndexMap.d.ts +43 -43
  40. package/dist/node-esm/src/core/snap/LeafNode.d.ts +83 -83
  41. package/dist/node-esm/src/core/snap/Node.d.ts +126 -126
  42. package/dist/node-esm/src/core/snap/childSet.d.ts +32 -32
  43. package/dist/node-esm/src/core/snap/comparators.d.ts +19 -19
  44. package/dist/node-esm/src/core/snap/indexes/Index.d.ts +50 -50
  45. package/dist/node-esm/src/core/snap/indexes/KeyIndex.d.ts +34 -34
  46. package/dist/node-esm/src/core/snap/indexes/PathIndex.d.ts +29 -29
  47. package/dist/node-esm/src/core/snap/indexes/PriorityIndex.d.ts +33 -33
  48. package/dist/node-esm/src/core/snap/indexes/ValueIndex.d.ts +31 -31
  49. package/dist/node-esm/src/core/snap/nodeFromJSON.d.ts +24 -24
  50. package/dist/node-esm/src/core/snap/snap.d.ts +23 -23
  51. package/dist/node-esm/src/core/stats/StatsCollection.d.ts +26 -26
  52. package/dist/node-esm/src/core/stats/StatsListener.d.ts +30 -30
  53. package/dist/node-esm/src/core/stats/StatsManager.d.ts +20 -20
  54. package/dist/node-esm/src/core/stats/StatsReporter.d.ts +28 -28
  55. package/dist/node-esm/src/core/storage/DOMStorageWrapper.d.ts +46 -46
  56. package/dist/node-esm/src/core/storage/MemoryStorage.d.ts +27 -27
  57. package/dist/node-esm/src/core/storage/storage.d.ts +22 -22
  58. package/dist/node-esm/src/core/util/EventEmitter.d.ts +39 -39
  59. package/dist/node-esm/src/core/util/ImmutableTree.d.ts +117 -117
  60. package/dist/node-esm/src/core/util/NextPushId.d.ts +33 -33
  61. package/dist/node-esm/src/core/util/OnlineMonitor.d.ts +31 -31
  62. package/dist/node-esm/src/core/util/Path.d.ts +94 -94
  63. package/dist/node-esm/src/core/util/ServerValues.d.ts +56 -56
  64. package/dist/node-esm/src/core/util/SortedMap.d.ts +324 -324
  65. package/dist/node-esm/src/core/util/Tree.d.ts +105 -105
  66. package/dist/node-esm/src/core/util/VisibilityMonitor.d.ts +23 -23
  67. package/dist/node-esm/src/core/util/libs/parser.d.ts +32 -32
  68. package/dist/node-esm/src/core/util/misc.d.ts +19 -19
  69. package/dist/node-esm/src/core/util/util.d.ts +176 -176
  70. package/dist/node-esm/src/core/util/validation.d.ts +70 -70
  71. package/dist/node-esm/src/core/version.d.ts +23 -23
  72. package/dist/node-esm/src/core/view/CacheNode.d.ts +41 -41
  73. package/dist/node-esm/src/core/view/Change.d.ts +46 -46
  74. package/dist/node-esm/src/core/view/ChildChangeAccumulator.d.ts +22 -22
  75. package/dist/node-esm/src/core/view/CompleteChildSource.d.ts +55 -55
  76. package/dist/node-esm/src/core/view/Event.d.ts +64 -64
  77. package/dist/node-esm/src/core/view/EventGenerator.d.ts +42 -42
  78. package/dist/node-esm/src/core/view/EventQueue.d.ts +67 -67
  79. package/dist/node-esm/src/core/view/EventRegistration.d.ts +87 -87
  80. package/dist/node-esm/src/core/view/QueryParams.d.ts +95 -95
  81. package/dist/node-esm/src/core/view/View.d.ts +59 -59
  82. package/dist/node-esm/src/core/view/ViewCache.d.ts +32 -32
  83. package/dist/node-esm/src/core/view/ViewProcessor.d.ts +32 -32
  84. package/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts +35 -35
  85. package/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts +47 -47
  86. package/dist/node-esm/src/core/view/filter/NodeFilter.d.ts +54 -54
  87. package/dist/node-esm/src/core/view/filter/RangedFilter.d.ts +47 -47
  88. package/dist/node-esm/src/index.d.ts +28 -28
  89. package/dist/node-esm/src/index.node.d.ts +17 -17
  90. package/dist/node-esm/src/index.standalone.d.ts +17 -17
  91. package/dist/node-esm/src/internal/index.d.ts +38 -38
  92. package/dist/node-esm/src/realtime/BrowserPollConnection.d.ts +198 -198
  93. package/dist/node-esm/src/realtime/Connection.d.ts +102 -102
  94. package/dist/node-esm/src/realtime/Constants.d.ts +27 -27
  95. package/dist/node-esm/src/realtime/Transport.d.ts +58 -58
  96. package/dist/node-esm/src/realtime/TransportManager.d.ts +50 -50
  97. package/dist/node-esm/src/realtime/WebSocketConnection.d.ts +127 -127
  98. package/dist/node-esm/src/realtime/polling/PacketReceiver.d.ts +38 -38
  99. package/dist/node-esm/src/register.d.ts +1 -1
  100. package/dist/node-esm/test/compound_write.test.d.ts +17 -17
  101. package/dist/node-esm/test/connection.test.d.ts +17 -17
  102. package/dist/node-esm/test/deno.test.d.ts +17 -17
  103. package/dist/node-esm/test/exp/integration.test.d.ts +17 -17
  104. package/dist/node-esm/test/helpers/EventAccumulator.d.ts +35 -35
  105. package/dist/node-esm/test/helpers/syncpoint-util.d.ts +29 -29
  106. package/dist/node-esm/test/helpers/util.d.ts +34 -34
  107. package/dist/node-esm/test/node.test.d.ts +17 -17
  108. package/dist/node-esm/test/parser.test.d.ts +17 -17
  109. package/dist/node-esm/test/path.test.d.ts +17 -17
  110. package/dist/node-esm/test/pushid.test.d.ts +17 -17
  111. package/dist/node-esm/test/queryconstraint.test.d.ts +17 -17
  112. package/dist/node-esm/test/repoinfo.test.d.ts +17 -17
  113. package/dist/node-esm/test/sortedmap.test.d.ts +17 -17
  114. package/dist/node-esm/test/sparsesnapshottree.test.d.ts +17 -17
  115. package/dist/node-esm/test/syncpoint.test.d.ts +17 -17
  116. package/dist/node-esm/test/transport.test.d.ts +17 -17
  117. package/dist/node-esm/test/websocketconnection.test.d.ts +17 -17
  118. package/dist/src/api/Database.d.ts +137 -137
  119. package/dist/src/api/OnDisconnect.d.ts +110 -110
  120. package/dist/src/api/Reference.d.ts +122 -122
  121. package/dist/src/api/Reference_impl.d.ts +1098 -1098
  122. package/dist/src/api/ServerValue.d.ts +30 -30
  123. package/dist/src/api/Transaction.d.ts +83 -83
  124. package/dist/src/api/test_access.d.ts +31 -31
  125. package/dist/src/api.d.ts +18 -18
  126. package/dist/src/api.standalone.d.ts +30 -30
  127. package/dist/src/core/AppCheckTokenProvider.d.ts +30 -30
  128. package/dist/src/core/AuthTokenProvider.d.ts +49 -49
  129. package/dist/src/core/CompoundWrite.d.ts +81 -81
  130. package/dist/src/core/PersistentConnection.d.ts +135 -135
  131. package/dist/src/core/ReadonlyRestClient.d.ts +60 -60
  132. package/dist/src/core/Repo.d.ts +144 -144
  133. package/dist/src/core/RepoInfo.d.ts +56 -56
  134. package/dist/src/core/ServerActions.d.ts +52 -52
  135. package/dist/src/core/SnapshotHolder.d.ts +26 -26
  136. package/dist/src/core/SparseSnapshotTree.d.ts +64 -64
  137. package/dist/src/core/SyncPoint.d.ts +91 -91
  138. package/dist/src/core/SyncTree.d.ts +166 -166
  139. package/dist/src/core/WriteTree.d.ts +205 -205
  140. package/dist/src/core/operation/AckUserWrite.d.ts +36 -36
  141. package/dist/src/core/operation/ListenComplete.d.ts +26 -26
  142. package/dist/src/core/operation/Merge.d.ts +33 -33
  143. package/dist/src/core/operation/Operation.d.ts +45 -45
  144. package/dist/src/core/operation/Overwrite.d.ts +28 -28
  145. package/dist/src/core/snap/ChildrenNode.d.ts +112 -112
  146. package/dist/src/core/snap/IndexMap.d.ts +43 -43
  147. package/dist/src/core/snap/LeafNode.d.ts +83 -83
  148. package/dist/src/core/snap/Node.d.ts +126 -126
  149. package/dist/src/core/snap/childSet.d.ts +32 -32
  150. package/dist/src/core/snap/comparators.d.ts +19 -19
  151. package/dist/src/core/snap/indexes/Index.d.ts +50 -50
  152. package/dist/src/core/snap/indexes/KeyIndex.d.ts +34 -34
  153. package/dist/src/core/snap/indexes/PathIndex.d.ts +29 -29
  154. package/dist/src/core/snap/indexes/PriorityIndex.d.ts +33 -33
  155. package/dist/src/core/snap/indexes/ValueIndex.d.ts +31 -31
  156. package/dist/src/core/snap/nodeFromJSON.d.ts +24 -24
  157. package/dist/src/core/snap/snap.d.ts +23 -23
  158. package/dist/src/core/stats/StatsCollection.d.ts +26 -26
  159. package/dist/src/core/stats/StatsListener.d.ts +30 -30
  160. package/dist/src/core/stats/StatsManager.d.ts +20 -20
  161. package/dist/src/core/stats/StatsReporter.d.ts +28 -28
  162. package/dist/src/core/storage/DOMStorageWrapper.d.ts +46 -46
  163. package/dist/src/core/storage/MemoryStorage.d.ts +27 -27
  164. package/dist/src/core/storage/storage.d.ts +22 -22
  165. package/dist/src/core/util/EventEmitter.d.ts +39 -39
  166. package/dist/src/core/util/ImmutableTree.d.ts +117 -117
  167. package/dist/src/core/util/NextPushId.d.ts +33 -33
  168. package/dist/src/core/util/OnlineMonitor.d.ts +31 -31
  169. package/dist/src/core/util/Path.d.ts +94 -94
  170. package/dist/src/core/util/ServerValues.d.ts +56 -56
  171. package/dist/src/core/util/SortedMap.d.ts +324 -324
  172. package/dist/src/core/util/Tree.d.ts +105 -105
  173. package/dist/src/core/util/VisibilityMonitor.d.ts +23 -23
  174. package/dist/src/core/util/libs/parser.d.ts +32 -32
  175. package/dist/src/core/util/misc.d.ts +19 -19
  176. package/dist/src/core/util/util.d.ts +176 -176
  177. package/dist/src/core/util/validation.d.ts +70 -70
  178. package/dist/src/core/version.d.ts +23 -23
  179. package/dist/src/core/view/CacheNode.d.ts +41 -41
  180. package/dist/src/core/view/Change.d.ts +46 -46
  181. package/dist/src/core/view/ChildChangeAccumulator.d.ts +22 -22
  182. package/dist/src/core/view/CompleteChildSource.d.ts +55 -55
  183. package/dist/src/core/view/Event.d.ts +64 -64
  184. package/dist/src/core/view/EventGenerator.d.ts +42 -42
  185. package/dist/src/core/view/EventQueue.d.ts +67 -67
  186. package/dist/src/core/view/EventRegistration.d.ts +87 -87
  187. package/dist/src/core/view/QueryParams.d.ts +95 -95
  188. package/dist/src/core/view/View.d.ts +59 -59
  189. package/dist/src/core/view/ViewCache.d.ts +32 -32
  190. package/dist/src/core/view/ViewProcessor.d.ts +32 -32
  191. package/dist/src/core/view/filter/IndexedFilter.d.ts +35 -35
  192. package/dist/src/core/view/filter/LimitedFilter.d.ts +47 -47
  193. package/dist/src/core/view/filter/NodeFilter.d.ts +54 -54
  194. package/dist/src/core/view/filter/RangedFilter.d.ts +47 -47
  195. package/dist/src/index.d.ts +28 -28
  196. package/dist/src/index.node.d.ts +17 -17
  197. package/dist/src/index.standalone.d.ts +17 -17
  198. package/dist/src/internal/index.d.ts +38 -38
  199. package/dist/src/realtime/BrowserPollConnection.d.ts +198 -198
  200. package/dist/src/realtime/Connection.d.ts +102 -102
  201. package/dist/src/realtime/Constants.d.ts +27 -27
  202. package/dist/src/realtime/Transport.d.ts +58 -58
  203. package/dist/src/realtime/TransportManager.d.ts +50 -50
  204. package/dist/src/realtime/WebSocketConnection.d.ts +127 -127
  205. package/dist/src/realtime/polling/PacketReceiver.d.ts +38 -38
  206. package/dist/src/register.d.ts +1 -1
  207. package/dist/test/compound_write.test.d.ts +17 -17
  208. package/dist/test/connection.test.d.ts +17 -17
  209. package/dist/test/deno.test.d.ts +17 -17
  210. package/dist/test/exp/integration.test.d.ts +17 -17
  211. package/dist/test/helpers/EventAccumulator.d.ts +35 -35
  212. package/dist/test/helpers/syncpoint-util.d.ts +29 -29
  213. package/dist/test/helpers/util.d.ts +34 -34
  214. package/dist/test/node.test.d.ts +17 -17
  215. package/dist/test/parser.test.d.ts +17 -17
  216. package/dist/test/path.test.d.ts +17 -17
  217. package/dist/test/pushid.test.d.ts +17 -17
  218. package/dist/test/queryconstraint.test.d.ts +17 -17
  219. package/dist/test/repoinfo.test.d.ts +17 -17
  220. package/dist/test/sortedmap.test.d.ts +17 -17
  221. package/dist/test/sparsesnapshottree.test.d.ts +17 -17
  222. package/dist/test/syncpoint.test.d.ts +17 -17
  223. package/dist/test/transport.test.d.ts +17 -17
  224. package/dist/test/websocketconnection.test.d.ts +17 -17
  225. package/package.json +8 -8
@@ -1,122 +1,122 @@
1
- import { Repo } from '../core/Repo';
2
- import { Path } from '../core/util/Path';
3
- import { QueryContext } from '../core/view/EventRegistration';
4
- /**
5
- * @license
6
- * Copyright 2021 Google LLC
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- */
20
- /**
21
- * A `Query` sorts and filters the data at a Database location so only a subset
22
- * of the child data is included. This can be used to order a collection of
23
- * data by some attribute (for example, height of dinosaurs) as well as to
24
- * restrict a large list of items (for example, chat messages) down to a number
25
- * suitable for synchronizing to the client. Queries are created by chaining
26
- * together one or more of the filter methods defined here.
27
- *
28
- * Just as with a `DatabaseReference`, you can receive data from a `Query` by using the
29
- * `on*()` methods. You will only receive events and `DataSnapshot`s for the
30
- * subset of the data that matches your query.
31
- *
32
- * See {@link https://firebase.google.com/docs/database/web/lists-of-data#sorting_and_filtering_data}
33
- * for more information.
34
- */
35
- export interface Query extends QueryContext {
36
- /** The `DatabaseReference` for the `Query`'s location. */
37
- readonly ref: DatabaseReference;
38
- /**
39
- * Returns whether or not the current and provided queries represent the same
40
- * location, have the same query parameters, and are from the same instance of
41
- * `FirebaseApp`.
42
- *
43
- * Two `DatabaseReference` objects are equivalent if they represent the same location
44
- * and are from the same instance of `FirebaseApp`.
45
- *
46
- * Two `Query` objects are equivalent if they represent the same location,
47
- * have the same query parameters, and are from the same instance of
48
- * `FirebaseApp`. Equivalent queries share the same sort order, limits, and
49
- * starting and ending points.
50
- *
51
- * @param other - The query to compare against.
52
- * @returns Whether or not the current and provided queries are equivalent.
53
- */
54
- isEqual(other: Query | null): boolean;
55
- /**
56
- * Returns a JSON-serializable representation of this object.
57
- *
58
- * @returns A JSON-serializable representation of this object.
59
- */
60
- toJSON(): string;
61
- /**
62
- * Gets the absolute URL for this location.
63
- *
64
- * The `toString()` method returns a URL that is ready to be put into a
65
- * browser, curl command, or a `refFromURL()` call. Since all of those expect
66
- * the URL to be url-encoded, `toString()` returns an encoded URL.
67
- *
68
- * Append '.json' to the returned URL when typed into a browser to download
69
- * JSON-formatted data. If the location is secured (that is, not publicly
70
- * readable), you will get a permission-denied error.
71
- *
72
- * @returns The absolute URL for this location.
73
- */
74
- toString(): string;
75
- }
76
- /**
77
- * A `DatabaseReference` represents a specific location in your Database and can be used
78
- * for reading or writing data to that Database location.
79
- *
80
- * You can reference the root or child location in your Database by calling
81
- * `ref()` or `ref("child/path")`.
82
- *
83
- * Writing is done with the `set()` method and reading can be done with the
84
- * `on*()` method. See {@link
85
- * https://firebase.google.com/docs/database/web/read-and-write}
86
- */
87
- export interface DatabaseReference extends Query {
88
- /**
89
- * The last part of the `DatabaseReference`'s path.
90
- *
91
- * For example, `"ada"` is the key for
92
- * `https://<DATABASE_NAME>.firebaseio.com/users/ada`.
93
- *
94
- * The key of a root `DatabaseReference` is `null`.
95
- */
96
- readonly key: string | null;
97
- /**
98
- * The parent location of a `DatabaseReference`.
99
- *
100
- * The parent of a root `DatabaseReference` is `null`.
101
- */
102
- readonly parent: DatabaseReference | null;
103
- /** The root `DatabaseReference` of the Database. */
104
- readonly root: DatabaseReference;
105
- }
106
- /**
107
- * A `Promise` that can also act as a `DatabaseReference` when returned by
108
- * {@link push}. The reference is available immediately and the `Promise` resolves
109
- * as the write to the backend completes.
110
- */
111
- export interface ThenableReference extends DatabaseReference, Pick<Promise<DatabaseReference>, 'then' | 'catch'> {
112
- }
113
- /** A callback that can invoked to remove a listener. */
114
- export declare type Unsubscribe = () => void;
115
- /** An options objects that can be used to customize a listener. */
116
- export interface ListenOptions {
117
- /** Whether to remove the listener after its first invocation. */
118
- readonly onlyOnce?: boolean;
119
- }
120
- export interface ReferenceConstructor {
121
- new (repo: Repo, path: Path): DatabaseReference;
122
- }
1
+ import { Repo } from '../core/Repo';
2
+ import { Path } from '../core/util/Path';
3
+ import { QueryContext } from '../core/view/EventRegistration';
4
+ /**
5
+ * @license
6
+ * Copyright 2021 Google LLC
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+ /**
21
+ * A `Query` sorts and filters the data at a Database location so only a subset
22
+ * of the child data is included. This can be used to order a collection of
23
+ * data by some attribute (for example, height of dinosaurs) as well as to
24
+ * restrict a large list of items (for example, chat messages) down to a number
25
+ * suitable for synchronizing to the client. Queries are created by chaining
26
+ * together one or more of the filter methods defined here.
27
+ *
28
+ * Just as with a `DatabaseReference`, you can receive data from a `Query` by using the
29
+ * `on*()` methods. You will only receive events and `DataSnapshot`s for the
30
+ * subset of the data that matches your query.
31
+ *
32
+ * See {@link https://firebase.google.com/docs/database/web/lists-of-data#sorting_and_filtering_data}
33
+ * for more information.
34
+ */
35
+ export interface Query extends QueryContext {
36
+ /** The `DatabaseReference` for the `Query`'s location. */
37
+ readonly ref: DatabaseReference;
38
+ /**
39
+ * Returns whether or not the current and provided queries represent the same
40
+ * location, have the same query parameters, and are from the same instance of
41
+ * `FirebaseApp`.
42
+ *
43
+ * Two `DatabaseReference` objects are equivalent if they represent the same location
44
+ * and are from the same instance of `FirebaseApp`.
45
+ *
46
+ * Two `Query` objects are equivalent if they represent the same location,
47
+ * have the same query parameters, and are from the same instance of
48
+ * `FirebaseApp`. Equivalent queries share the same sort order, limits, and
49
+ * starting and ending points.
50
+ *
51
+ * @param other - The query to compare against.
52
+ * @returns Whether or not the current and provided queries are equivalent.
53
+ */
54
+ isEqual(other: Query | null): boolean;
55
+ /**
56
+ * Returns a JSON-serializable representation of this object.
57
+ *
58
+ * @returns A JSON-serializable representation of this object.
59
+ */
60
+ toJSON(): string;
61
+ /**
62
+ * Gets the absolute URL for this location.
63
+ *
64
+ * The `toString()` method returns a URL that is ready to be put into a
65
+ * browser, curl command, or a `refFromURL()` call. Since all of those expect
66
+ * the URL to be url-encoded, `toString()` returns an encoded URL.
67
+ *
68
+ * Append '.json' to the returned URL when typed into a browser to download
69
+ * JSON-formatted data. If the location is secured (that is, not publicly
70
+ * readable), you will get a permission-denied error.
71
+ *
72
+ * @returns The absolute URL for this location.
73
+ */
74
+ toString(): string;
75
+ }
76
+ /**
77
+ * A `DatabaseReference` represents a specific location in your Database and can be used
78
+ * for reading or writing data to that Database location.
79
+ *
80
+ * You can reference the root or child location in your Database by calling
81
+ * `ref()` or `ref("child/path")`.
82
+ *
83
+ * Writing is done with the `set()` method and reading can be done with the
84
+ * `on*()` method. See {@link
85
+ * https://firebase.google.com/docs/database/web/read-and-write}
86
+ */
87
+ export interface DatabaseReference extends Query {
88
+ /**
89
+ * The last part of the `DatabaseReference`'s path.
90
+ *
91
+ * For example, `"ada"` is the key for
92
+ * `https://<DATABASE_NAME>.firebaseio.com/users/ada`.
93
+ *
94
+ * The key of a root `DatabaseReference` is `null`.
95
+ */
96
+ readonly key: string | null;
97
+ /**
98
+ * The parent location of a `DatabaseReference`.
99
+ *
100
+ * The parent of a root `DatabaseReference` is `null`.
101
+ */
102
+ readonly parent: DatabaseReference | null;
103
+ /** The root `DatabaseReference` of the Database. */
104
+ readonly root: DatabaseReference;
105
+ }
106
+ /**
107
+ * A `Promise` that can also act as a `DatabaseReference` when returned by
108
+ * {@link push}. The reference is available immediately and the `Promise` resolves
109
+ * as the write to the backend completes.
110
+ */
111
+ export interface ThenableReference extends DatabaseReference, Pick<Promise<DatabaseReference>, 'then' | 'catch'> {
112
+ }
113
+ /** A callback that can invoked to remove a listener. */
114
+ export type Unsubscribe = () => void;
115
+ /** An options objects that can be used to customize a listener. */
116
+ export interface ListenOptions {
117
+ /** Whether to remove the listener after its first invocation. */
118
+ readonly onlyOnce?: boolean;
119
+ }
120
+ export interface ReferenceConstructor {
121
+ new (repo: Repo, path: Path): DatabaseReference;
122
+ }