17
17
18
18
import * as firestore from '../../' ;
19
19
20
- import { _getProvider } from '@firebase/app-exp' ;
21
- import { FirebaseApp } from '@firebase/app-types-exp' ;
20
+ import { _getProvider , _removeServiceInstance } from '@firebase/app-exp' ;
21
+ import { FirebaseApp , _FirebaseService } from '@firebase/app-types-exp' ;
22
22
import { Provider } from '@firebase/component' ;
23
23
24
24
import { Code , FirestoreError } from '../../../src/util/error' ;
@@ -42,12 +42,11 @@ import { Settings } from '../../';
42
42
const DEFAULT_HOST = 'firestore.googleapis.com' ;
43
43
const DEFAULT_SSL = true ;
44
44
45
- // TODO(firestorelite): Depend on FirebaseService once #3112 is merged
46
-
47
45
/**
48
46
* The root reference to the Firestore Lite database.
49
47
*/
50
- export class Firestore implements firestore . FirebaseFirestore {
48
+ export class Firestore
49
+ implements firestore . FirebaseFirestore , _FirebaseService {
51
50
readonly _databaseId : DatabaseId ;
52
51
private readonly _firebaseApp : FirebaseApp ;
53
52
private readonly _credentials : CredentialsProvider ;
@@ -120,6 +119,10 @@ export class Firestore implements firestore.FirebaseFirestore {
120
119
121
120
return new DatabaseId ( app . options . projectId ! ) ;
122
121
}
122
+
123
+ delete ( ) : Promise < void > {
124
+ return terminate ( this ) ;
125
+ }
123
126
}
124
127
125
128
export function initializeFirestore (
@@ -141,7 +144,7 @@ export function getFirestore(app: FirebaseApp): Firestore {
141
144
export function terminate (
142
145
firestore : firestore . FirebaseFirestore
143
146
) : Promise < void > {
144
- // TODO(firestorelite): Call _removeServiceInstance when available
147
+ _removeServiceInstance ( firestore . app , 'firestore/lite' ) ;
145
148
const firestoreClient = cast ( firestore , Firestore ) ;
146
149
return firestoreClient
147
150
. _getDatastore ( )
0 commit comments