@@ -74,22 +74,33 @@ describe("firestore", () => {
7474
7575 const db = getFirestore ( app ) ;
7676
77- // [START initialize_persistence]
78- const { enableIndexedDbPersistence } = require ( "firebase/firestore" ) ;
77+ const {
78+ initializeFirestore,
79+ memoryLocalCache,
80+ persistentLocalCache,
81+ persistentSingleTabManager,
82+ persistentMultipleTabManager
83+ } = require ( "firebase/firestore" ) ;
7984
80- enableIndexedDbPersistence ( db )
81- . catch ( ( err ) => {
82- if ( err . code == 'failed-precondition' ) {
83- // Multiple tabs open, persistence can only be enabled
84- // in one tab at a a time.
85- // ...
86- } else if ( err . code == 'unimplemented' ) {
87- // The current browser does not support all of the
88- // features required to enable persistence
89- // ...
90- }
91- } ) ;
92- // Subsequent queries will use persistence, if it was enabled successfully
85+ // [START initialize_persistence]
86+ // This is the default behavior if no persistence is specified.
87+ initializeFirestore ( app , { localCache : memoryLocalCache ( ) } ) ;
88+
89+ // Use IndexedDb persistence.
90+ initializeFirestore ( app , { localCache : persistentLocalCache ( /*settings*/ { } ) } ) ;
91+
92+ // Use IndexedDb persistence. Defaults to single-tab persistence if no tab
93+ // manager is specified.
94+ initializeFirestore ( app ,
95+ { localCache :
96+ persistentLocalCache ( /*settings*/ { tabManager : persistentSingleTabManager ( ) } )
97+ } ) ; // Same as enableIndexedDbPersistence
98+
99+ // Use multi-tab IndexedDb persistence.
100+ initializeFirestore ( app ,
101+ { localCache :
102+ persistentLocalCache ( /*settings*/ { tabManager : persistentMultipleTabManager ( ) } )
103+ } ) ; // Same as enableMultiTabIndexedDbPersistence
93104 // [END initialize_persistence]
94105 } ) ;
95106
0 commit comments