@firebase/firestore 4.6.0-canary.84f9ff008 → 4.6.0-canary.b74d8a211

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 (36) hide show
  1. package/dist/firestore/src/remote/connection.d.ts +6 -2
  2. package/dist/firestore/src/remote/persistent_stream.d.ts +5 -0
  3. package/dist/firestore/src/remote/stream_bridge.d.ts +3 -0
  4. package/dist/firestore/test/integration/remote/stream.test.d.ts +2 -1
  5. package/dist/index.cjs.js +599 -584
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.esm2017.js +599 -584
  8. package/dist/index.esm2017.js.map +1 -1
  9. package/dist/index.esm5.js +1697 -1676
  10. package/dist/index.esm5.js.map +1 -1
  11. package/dist/index.node.cjs.js +23 -2
  12. package/dist/index.node.cjs.js.map +1 -1
  13. package/dist/index.node.mjs +23 -2
  14. package/dist/index.node.mjs.map +1 -1
  15. package/dist/index.rn.js +599 -584
  16. package/dist/index.rn.js.map +1 -1
  17. package/dist/lite/firestore/src/remote/connection.d.ts +6 -2
  18. package/dist/lite/firestore/src/remote/persistent_stream.d.ts +5 -0
  19. package/dist/lite/firestore/src/remote/stream_bridge.d.ts +3 -0
  20. package/dist/lite/firestore/test/integration/remote/stream.test.d.ts +2 -1
  21. package/dist/lite/index.browser.esm2017.js +2 -2
  22. package/dist/lite/index.browser.esm5.js +2 -2
  23. package/dist/lite/index.cjs.js +2 -2
  24. package/dist/lite/index.node.cjs.js +2 -2
  25. package/dist/lite/index.node.mjs +2 -2
  26. package/dist/lite/index.rn.esm2017.js +2 -2
  27. package/dist/lite/packages/firestore/src/remote/connection.d.ts +6 -2
  28. package/dist/lite/packages/firestore/src/remote/persistent_stream.d.ts +5 -0
  29. package/dist/lite/packages/firestore/src/remote/stream_bridge.d.ts +3 -0
  30. package/dist/lite/packages/firestore/test/integration/remote/stream.test.d.ts +2 -1
  31. package/dist/packages/firestore/dist/index.esm2017.d.ts +67 -67
  32. package/dist/packages/firestore/src/remote/connection.d.ts +6 -2
  33. package/dist/packages/firestore/src/remote/persistent_stream.d.ts +5 -0
  34. package/dist/packages/firestore/src/remote/stream_bridge.d.ts +3 -0
  35. package/dist/packages/firestore/test/integration/remote/stream.test.d.ts +2 -1
  36. package/package.json +9 -9
@@ -83,10 +83,14 @@ export interface Connection {
83
83
  * A bidirectional stream that can be used to send an receive messages.
84
84
  *
85
85
  * A stream can be closed locally with close() or can be closed remotely or
86
- * through network errors. onClose is guaranteed to be called. onOpen will only
87
- * be called if the stream successfully established a connection.
86
+ * through network errors. onClose is guaranteed to be called. onOpen will be
87
+ * called once the stream is ready to send messages (which may or may not be
88
+ * before an actual connection to the backend has been established). The
89
+ * onConnected event is called when an actual, physical connection with the
90
+ * backend has been established, and may occur before or after the onOpen event.
88
91
  */
89
92
  export interface Stream<I, O> {
93
+ onConnected(callback: () => void): void;
90
94
  onOpen(callback: () => void): void;
91
95
  onClose(callback: (err?: FirestoreError) => void): void;
92
96
  onMessage(callback: (msg: O) => void): void;
@@ -35,6 +35,11 @@ export interface WriteRequest extends ProtoWriteRequest {
35
35
  * events by the concrete implementation classes.
36
36
  */
37
37
  export interface PersistentStreamListener {
38
+ /**
39
+ * Called after receiving an acknowledgement from the server, confirming that
40
+ * we are able to connect to it.
41
+ */
42
+ onConnected: () => Promise<void>;
38
43
  /**
39
44
  * Called after the stream was established and can accept outgoing
40
45
  * messages
@@ -22,6 +22,7 @@ import { Stream } from './connection';
22
22
  * interface. The stream callbacks are invoked with the callOn... methods.
23
23
  */
24
24
  export declare class StreamBridge<I, O> implements Stream<I, O> {
25
+ private wrappedOnConnected;
25
26
  private wrappedOnOpen;
26
27
  private wrappedOnClose;
27
28
  private wrappedOnMessage;
@@ -31,11 +32,13 @@ export declare class StreamBridge<I, O> implements Stream<I, O> {
31
32
  sendFn: (msg: I) => void;
32
33
  closeFn: () => void;
33
34
  });
35
+ onConnected(callback: () => void): void;
34
36
  onOpen(callback: () => void): void;
35
37
  onClose(callback: (err?: FirestoreError) => void): void;
36
38
  onMessage(callback: (msg: O) => void): void;
37
39
  close(): void;
38
40
  send(msg: I): void;
41
+ callOnConnected(): void;
39
42
  callOnOpen(): void;
40
43
  callOnClose(err?: FirestoreError): void;
41
44
  callOnMessage(msg: O): void;
@@ -25,7 +25,7 @@ import { FirestoreError } from '../../../src/util/error';
25
25
  * StreamEventType combines the events that can be observed by the
26
26
  * WatchStreamListener and WriteStreamListener.
27
27
  */
28
- declare type StreamEventType = 'handshakeComplete' | 'mutationResult' | 'watchChange' | 'open' | 'close';
28
+ declare type StreamEventType = 'handshakeComplete' | 'mutationResult' | 'watchChange' | 'open' | 'close' | 'connected';
29
29
  declare class StreamStatusListener implements WatchStreamListener, WriteStreamListener {
30
30
  private pendingCallbacks;
31
31
  private pendingPromises;
@@ -44,6 +44,7 @@ declare class StreamStatusListener implements WatchStreamListener, WriteStreamLi
44
44
  onHandshakeComplete(): Promise<void>;
45
45
  onMutationResult(commitVersion: SnapshotVersion, results: MutationResult[]): Promise<void>;
46
46
  onWatchChange(watchChange: DocumentWatchChange | WatchTargetChange | ExistenceFilterChange, snapshot: SnapshotVersion): Promise<void>;
47
+ onConnected(): Promise<void>;
47
48
  onOpen(): Promise<void>;
48
49
  onClose(err?: FirestoreError): Promise<void>;
49
50
  private resolvePending;