Skip to content

Commit 74ab415

Browse files
Review
1 parent d7b5d2a commit 74ab415

File tree

2 files changed

+29
-35
lines changed

2 files changed

+29
-35
lines changed

packages/firestore/exp/src/api/components.ts

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -144,39 +144,41 @@ function verifyNotTerminated(firestore: Firestore): void {
144144
}
145145
}
146146

147-
export function getSyncEngine(firestore: Firestore): Promise<SyncEngine> {
148-
return getOnlineComponentProvider(firestore).then(
149-
components => components.syncEngine
150-
);
147+
export async function getSyncEngine(firestore: Firestore): Promise<SyncEngine> {
148+
const components = await getOnlineComponentProvider(firestore);
149+
return components.syncEngine;
151150
}
152151

153-
export function getRemoteStore(firestore: Firestore): Promise<RemoteStore> {
154-
return getOnlineComponentProvider(firestore).then(
155-
components => components.remoteStore
156-
);
152+
export async function getRemoteStore(
153+
firestore: Firestore
154+
): Promise<RemoteStore> {
155+
const components = await getOnlineComponentProvider(firestore);
156+
return components.remoteStore;
157157
}
158158

159-
export function getEventManager(firestore: Firestore): Promise<EventManager> {
160-
return getOnlineComponentProvider(firestore).then(components => {
161-
const eventManager = components.eventManager;
162-
eventManager.subscribe(
163-
syncEngineListen.bind(null, components.syncEngine),
164-
syncEngineUnlisten.bind(null, components.syncEngine)
165-
);
166-
return eventManager;
167-
});
159+
export async function getEventManager(
160+
firestore: Firestore
161+
): Promise<EventManager> {
162+
const components = await getOnlineComponentProvider(firestore);
163+
const eventManager = components.eventManager;
164+
eventManager.onListen = syncEngineListen.bind(null, components.syncEngine);
165+
eventManager.onUnlisten = syncEngineUnlisten.bind(
166+
null,
167+
components.syncEngine
168+
);
169+
return eventManager;
168170
}
169171

170-
export function getPersistence(firestore: Firestore): Promise<Persistence> {
171-
return getOfflineComponentProvider(firestore).then(
172-
components => components.persistence
173-
);
172+
export async function getPersistence(
173+
firestore: Firestore
174+
): Promise<Persistence> {
175+
const components = await getOfflineComponentProvider(firestore);
176+
return components.persistence;
174177
}
175178

176-
export function getLocalStore(firestore: Firestore): Promise<LocalStore> {
177-
return getOfflineComponentProvider(firestore).then(
178-
provider => provider.localStore
179-
);
179+
export async function getLocalStore(firestore: Firestore): Promise<LocalStore> {
180+
const components = await getOfflineComponentProvider(firestore);
181+
return components.localStore;
180182
}
181183

182184
/**

packages/firestore/src/core/event_manager.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,9 @@ export class EventManager implements SyncEngineListener {
6161
private snapshotsInSyncListeners: Set<Observer<void>> = new Set();
6262

6363
/** Callback invoked when a Query is first listen to. */
64-
private onListen?: (query: Query) => Promise<ViewSnapshot>;
64+
onListen?: (query: Query) => Promise<ViewSnapshot>;
6565
/** Callback invoked once all listeners to a Query are removed. */
66-
private onUnlisten?: (query: Query) => Promise<void>;
67-
68-
subscribe(
69-
onListen: (query: Query) => Promise<ViewSnapshot>,
70-
onUnlisten: (query: Query) => Promise<void>
71-
): void {
72-
this.onListen = onListen;
73-
this.onUnlisten = onUnlisten;
74-
}
66+
onUnlisten?: (query: Query) => Promise<void>;
7567

7668
async listen(listener: QueryListener): Promise<void> {
7769
debugAssert(!!this.onListen, 'onListen not set');

0 commit comments

Comments
 (0)