| 168 | // We need to try/catch here because not all enablePersistence() failures are caught |
| 169 | // https://github.com/firebase/firebase-js-sdk/issues/608 |
| 170 | const enablePersistence = () => { |
| 171 | try { |
| 172 | return from(firestore.enablePersistence(persistenceSettings || undefined).then(() => true, () => false)); |
| 173 | } catch (e) { |
| 174 | if (typeof console !== 'undefined') { console.warn(e); } |
| 175 | return of(false); |
| 176 | } |
| 177 | }; |
| 178 | return [firestore, zone.runOutsideAngular(enablePersistence)]; |
| 179 | } else { |
| 180 | return [firestore, of(false)]; |