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