@@ -39,14 +39,14 @@ import {
39
39
FirebaseFirestore as LiteFirestore ,
40
40
Settings as LiteSettings
41
41
} from '../../../lite/src/api/database' ;
42
+ import { DatabaseId } from '../../../src/core/database_info' ;
42
43
import { Code , FirestoreError } from '../../../src/util/error' ;
43
44
import { Deferred } from '../../../src/util/promise' ;
44
45
import { LRU_MINIMUM_CACHE_SIZE_BYTES } from '../../../src/local/lru_garbage_collector' ;
45
46
import {
46
47
CACHE_SIZE_UNLIMITED ,
47
48
configureFirestore ,
48
- ensureFirestoreConfigured ,
49
- FirestoreCompat
49
+ ensureFirestoreConfigured
50
50
} from '../../../src/api/database' ;
51
51
import {
52
52
indexedDbClearPersistence ,
@@ -70,18 +70,19 @@ export interface Settings extends LiteSettings {
70
70
*/
71
71
export class FirebaseFirestore
72
72
extends LiteFirestore
73
- implements _FirebaseService , FirestoreCompat {
73
+ implements _FirebaseService {
74
74
readonly _queue = new AsyncQueue ( ) ;
75
75
readonly _persistenceKey : string ;
76
76
77
77
_firestoreClient : FirestoreClient | undefined ;
78
78
79
79
constructor (
80
- app : FirebaseApp ,
80
+ databaseIdOrApp : DatabaseId | FirebaseApp ,
81
81
authProvider : Provider < FirebaseAuthInternalName >
82
82
) {
83
- super ( app , authProvider ) ;
84
- this . _persistenceKey = app . name ;
83
+ super ( databaseIdOrApp , authProvider ) ;
84
+ this . _persistenceKey =
85
+ 'name' in databaseIdOrApp ? databaseIdOrApp . name : '[DEFAULT]' ;
85
86
}
86
87
87
88
_terminate ( ) : Promise < void > {
@@ -165,13 +166,13 @@ export function getFirestore(app: FirebaseApp): FirebaseFirestore {
165
166
* @return A promise that represents successfully enabling persistent storage.
166
167
*/
167
168
export function enableIndexedDbPersistence (
168
- firestore : FirestoreCompat ,
169
+ firestore : FirebaseFirestore ,
169
170
persistenceSettings ?: PersistenceSettings
170
171
) : Promise < void > {
171
172
verifyNotInitialized ( firestore ) ;
172
173
173
174
const client = ensureFirestoreConfigured ( firestore ) ;
174
- const settings = firestore . _getSettings ( ) ;
175
+ const settings = firestore . _freezeSettings ( ) ;
175
176
176
177
const onlineComponentProvider = new OnlineComponentProvider ( ) ;
177
178
const offlineComponentProvider = new IndexedDbOfflineComponentProvider (
@@ -209,12 +210,12 @@ export function enableIndexedDbPersistence(
209
210
* storage.
210
211
*/
211
212
export function enableMultiTabIndexedDbPersistence (
212
- firestore : FirestoreCompat
213
+ firestore : FirebaseFirestore
213
214
) : Promise < void > {
214
215
verifyNotInitialized ( firestore ) ;
215
216
216
217
const client = ensureFirestoreConfigured ( firestore ) ;
217
- const settings = firestore . _getSettings ( ) ;
218
+ const settings = firestore . _freezeSettings ( ) ;
218
219
219
220
const onlineComponentProvider = new OnlineComponentProvider ( ) ;
220
221
const offlineComponentProvider = new MultiTabOfflineComponentProvider (
@@ -322,7 +323,7 @@ function canFallbackFromIndexedDbError(
322
323
* cleared. Otherwise, the promise is rejected with an error.
323
324
*/
324
325
export function clearIndexedDbPersistence (
325
- firestore : FirestoreCompat
326
+ firestore : FirebaseFirestore
326
327
) : Promise < void > {
327
328
if ( firestore . _initialized && ! firestore . _terminated ) {
328
329
throw new FirestoreError (
@@ -420,7 +421,7 @@ export function terminate(firestore: FirebaseFirestore): Promise<void> {
420
421
return firestore . _delete ( ) ;
421
422
}
422
423
423
- function verifyNotInitialized ( firestore : FirestoreCompat ) : void {
424
+ function verifyNotInitialized ( firestore : FirebaseFirestore ) : void {
424
425
if ( firestore . _initialized || firestore . _terminated ) {
425
426
throw new FirestoreError (
426
427
Code . FAILED_PRECONDITION ,
0 commit comments