Skip to content

Commit d9b0725

Browse files
Cleanup
1 parent 2448b16 commit d9b0725

File tree

2 files changed

+15
-34
lines changed

2 files changed

+15
-34
lines changed

packages/firestore/src/api/database.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ export class Firestore implements firestore.FirebaseFirestore, FirebaseService {
289289
constructor(
290290
databaseIdOrApp: FirestoreDatabase | FirebaseApp,
291291
authProvider: Provider<FirebaseAuthInternalName>,
292-
persistenceProvider: ComponentProvider = new MemoryComponentProvider()
292+
componentProvider: ComponentProvider = new MemoryComponentProvider()
293293
) {
294294
if (typeof (databaseIdOrApp as FirebaseApp).options === 'object') {
295295
// This is very likely a Firebase app object
@@ -314,7 +314,7 @@ export class Firestore implements firestore.FirebaseFirestore, FirebaseService {
314314
this._credentials = new EmptyCredentialsProvider();
315315
}
316316

317-
this._componentProvider = persistenceProvider;
317+
this._componentProvider = componentProvider;
318318
this._settings = new FirestoreSettings({});
319319
this._dataReader = this.createDataReader(this._databaseId);
320320
}

packages/firestore/src/core/component_provider.ts

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export class MemoryComponentProvider {
107107
OnlineStateSource.SharedClientState
108108
);
109109
this.remoteStore.syncEngine = this.syncEngine;
110-
110+
111111
await this.localStore.start();
112112
await this.sharedClientState.start();
113113
await this.remoteStore.start();
@@ -197,22 +197,17 @@ export class MemoryLruComponentProvider extends MemoryComponentProvider {
197197
* Provides all components needed for Firestore with IndexedDB persistence.
198198
*/
199199
export class IndexedDbComponentProvider extends MemoryComponentProvider {
200+
persistence!: IndexedDbPersistence;
201+
202+
// TODO(tree-shaking): Create an IndexedDbComponentProvider and a
203+
// MultiTabComponentProvider. The IndexedDbComponentProvider should depend
204+
// on LocalStore and SyncEngine.
205+
localStore!: MultiTabLocalStore;
206+
syncEngine!: MultiTabSyncEngine;
207+
200208
async initialize(cfg: ComponentConfiguration): Promise<void> {
201209
await super.initialize(cfg);
202210

203-
debugAssert(
204-
this.persistence instanceof IndexedDbPersistence,
205-
'IndexedDbComponentProvider should provide IndexedDbPersistence'
206-
);
207-
debugAssert(
208-
this.localStore instanceof MultiTabLocalStore,
209-
'IndexedDbComponentProvider should provide MultiTabLocalStore'
210-
);
211-
debugAssert(
212-
this.syncEngine instanceof MultiTabSyncEngine,
213-
'IndexedDbComponentProvider should provide MultiTabSyncEngine'
214-
);
215-
216211
// NOTE: This will immediately call the listener, so we make sure to
217212
// set it after localStore / remoteStore are started.
218213
await this.persistence.setPrimaryStateListener(async isPrimary => {
@@ -230,10 +225,6 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
230225
}
231226

232227
createLocalStore(cfg: ComponentConfiguration): LocalStore {
233-
debugAssert(
234-
this.persistence instanceof IndexedDbPersistence,
235-
'IndexedDbComponentProvider should provide IndexedDBPersistence'
236-
);
237228
return new MultiTabLocalStore(
238229
this.persistence,
239230
new IndexFreeQueryEngine(),
@@ -242,10 +233,6 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
242233
}
243234

244235
createSyncEngine(cfg: ComponentConfiguration): SyncEngine {
245-
debugAssert(
246-
this.localStore instanceof MultiTabLocalStore,
247-
'IndexedDbComponentProvider should provide MultiTabLocalStore'
248-
);
249236
const syncEngine = new MultiTabSyncEngine(
250237
this.localStore,
251238
this.remoteStore,
@@ -262,10 +249,6 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
262249
createGarbageCollectionScheduler(
263250
cfg: ComponentConfiguration
264251
): GarbageCollectionScheduler | null {
265-
debugAssert(
266-
this.persistence instanceof IndexedDbPersistence,
267-
'IndexedDbComponentProvider should provide IndexedDBPersistence'
268-
);
269252
const garbageCollector = this.persistence.referenceDelegate
270253
.garbageCollector;
271254
return new LruScheduler(garbageCollector, cfg.asyncQueue);
@@ -296,12 +279,10 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
296279
}
297280

298281
createSharedClientState(cfg: ComponentConfiguration): SharedClientState {
299-
debugAssert(
300-
cfg.persistenceSettings.durable,
301-
'Can only start durable persistence'
302-
);
303-
304-
if (cfg.persistenceSettings.synchronizeTabs) {
282+
if (
283+
cfg.persistenceSettings.durable &&
284+
cfg.persistenceSettings.synchronizeTabs
285+
) {
305286
if (!WebStorageSharedClientState.isAvailable(cfg.platform)) {
306287
throw new FirestoreError(
307288
Code.UNIMPLEMENTED,

0 commit comments

Comments
 (0)