Skip to content

Commit 30fb0d5

Browse files
Don't use interface types
1 parent 0eb18ca commit 30fb0d5

29 files changed

+647
-538
lines changed

packages/firestore/exp/index.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ registerFirestore();
2222
export { FieldPath, documentId } from '../lite/src/api/field_path';
2323

2424
export {
25-
Firestore as FirebaseFirestore,
25+
FirebaseFirestore,
2626
initializeFirestore,
2727
getFirestore,
2828
enableIndexedDbPersistence,
@@ -31,14 +31,19 @@ export {
3131
waitForPendingWrites,
3232
disableNetwork,
3333
enableNetwork,
34-
terminate
34+
terminate,
35+
Settings
3536
} from './src/api/database';
3637

3738
export {
39+
DocumentChange,
3840
DocumentSnapshot,
3941
QueryDocumentSnapshot,
4042
QuerySnapshot,
41-
snapshotEqual
43+
snapshotEqual,
44+
SnapshotOptions,
45+
FirestoreDataConverter,
46+
DocumentChangeType
4247
} from './src/api/snapshot';
4348

4449
export { SnapshotMetadata } from '../src/api/database';
@@ -59,7 +64,12 @@ export {
5964
limit,
6065
limitToLast,
6166
where,
62-
orderBy
67+
orderBy,
68+
SetOptions,
69+
QueryConstraintType,
70+
DocumentData,
71+
UpdateData,
72+
OrderByDirection
6373
} from '../lite/src/api/reference';
6474

6575
export { runTransaction, Transaction } from './src/api/transaction';
@@ -88,7 +98,7 @@ export {
8898
serverTimestamp
8999
} from '../lite/src/api/field_value';
90100

91-
export { setLogLevel } from '../src/util/log';
101+
export { setLogLevel, LogLevel } from '../src/util/log';
92102

93103
export { Bytes } from '../lite/src/api/bytes';
94104

@@ -101,3 +111,9 @@ export { GeoPoint } from '../src/api/geo_point';
101111
export { Timestamp } from '../src/api/timestamp';
102112

103113
export { refEqual, queryEqual } from '../lite/src/api/reference';
114+
115+
export { SnapshotListenOptions } from './src/api/reference';
116+
117+
export { CACHE_SIZE_UNLIMITED } from '../src/api/database';
118+
119+
export { FirestoreErrorCode, FirestoreError } from '../src/util/error';

packages/firestore/exp/register.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import { _registerComponent, registerVersion } from '@firebase/app-exp';
1919
import { Component, ComponentType } from '@firebase/component';
2020

21-
import { Firestore } from './src/api/database';
21+
import { FirebaseFirestore } from './src/api/database';
2222
import { version } from '../package.json';
2323

2424
export function registerFirestore(): void {
@@ -27,7 +27,7 @@ export function registerFirestore(): void {
2727
'firestore-exp',
2828
container => {
2929
const app = container.getProvider('app-exp').getImmediate()!;
30-
return ((app, auth) => new Firestore(app, auth))(
30+
return ((app, auth) => new FirebaseFirestore(app, auth))(
3131
app,
3232
container.getProvider('auth-internal')
3333
);

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

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { Firestore } from './database';
18+
import { FirebaseFirestore } from './database';
1919
import { PersistenceSettings } from '../../../src/core/firestore_client';
2020
import {
2121
MemoryOfflineComponentProvider,
@@ -45,16 +45,16 @@ export const LOG_TAG = 'ComponentProvider';
4545
// Instance maps that ensure that only one component provider exists per
4646
// Firestore instance.
4747
const offlineComponentProviders = new Map<
48-
Firestore,
48+
FirebaseFirestore,
4949
Promise<OfflineComponentProvider>
5050
>();
5151
const onlineComponentProviders = new Map<
52-
Firestore,
52+
FirebaseFirestore,
5353
Promise<OnlineComponentProvider>
5454
>();
5555

5656
export async function setOfflineComponentProvider(
57-
firestore: Firestore,
57+
firestore: FirebaseFirestore,
5858
persistenceSettings: PersistenceSettings,
5959
offlineComponentProvider: OfflineComponentProvider
6060
): Promise<void> {
@@ -83,7 +83,7 @@ export async function setOfflineComponentProvider(
8383
}
8484

8585
export async function setOnlineComponentProvider(
86-
firestore: Firestore,
86+
firestore: FirebaseFirestore,
8787
onlineComponentProvider: OnlineComponentProvider
8888
): Promise<void> {
8989
const onlineDeferred = new Deferred<OnlineComponentProvider>();
@@ -112,7 +112,7 @@ export async function setOnlineComponentProvider(
112112
}
113113

114114
function getOfflineComponentProvider(
115-
firestore: Firestore
115+
firestore: FirebaseFirestore
116116
): Promise<OfflineComponentProvider> {
117117
firestore._queue.verifyOperationInProgress();
118118

@@ -129,7 +129,7 @@ function getOfflineComponentProvider(
129129
}
130130

131131
function getOnlineComponentProvider(
132-
firestore: Firestore
132+
firestore: FirebaseFirestore
133133
): Promise<OnlineComponentProvider> {
134134
firestore._queue.verifyOperationInProgress();
135135

@@ -144,19 +144,25 @@ function getOnlineComponentProvider(
144144
// Note: These functions cannot be `async` since we want to throw an exception
145145
// when Firestore is terminated (via `getOnlineComponentProvider()`).
146146

147-
export function getSyncEngine(firestore: Firestore): Promise<SyncEngine> {
147+
export function getSyncEngine(
148+
firestore: FirebaseFirestore
149+
): Promise<SyncEngine> {
148150
return getOnlineComponentProvider(firestore).then(
149151
components => components.syncEngine
150152
);
151153
}
152154

153-
export function getRemoteStore(firestore: Firestore): Promise<RemoteStore> {
155+
export function getRemoteStore(
156+
firestore: FirebaseFirestore
157+
): Promise<RemoteStore> {
154158
return getOnlineComponentProvider(firestore).then(
155159
components => components.remoteStore
156160
);
157161
}
158162

159-
export function getEventManager(firestore: Firestore): Promise<EventManager> {
163+
export function getEventManager(
164+
firestore: FirebaseFirestore
165+
): Promise<EventManager> {
160166
return getOnlineComponentProvider(firestore).then(components => {
161167
const eventManager = components.eventManager;
162168
eventManager.onListen = syncEngineListen.bind(null, components.syncEngine);
@@ -168,13 +174,17 @@ export function getEventManager(firestore: Firestore): Promise<EventManager> {
168174
});
169175
}
170176

171-
export function getPersistence(firestore: Firestore): Promise<Persistence> {
177+
export function getPersistence(
178+
firestore: FirebaseFirestore
179+
): Promise<Persistence> {
172180
return getOfflineComponentProvider(firestore).then(
173181
components => components.persistence
174182
);
175183
}
176184

177-
export function getLocalStore(firestore: Firestore): Promise<LocalStore> {
185+
export function getLocalStore(
186+
firestore: FirebaseFirestore
187+
): Promise<LocalStore> {
178188
return getOfflineComponentProvider(firestore).then(
179189
provider => provider.localStore
180190
);
@@ -184,7 +194,9 @@ export function getLocalStore(firestore: Firestore): Promise<LocalStore> {
184194
* Removes all components associated with the provided instance. Must be called
185195
* when the Firestore instance is terminated.
186196
*/
187-
export async function removeComponents(firestore: Firestore): Promise<void> {
197+
export async function removeComponents(
198+
firestore: FirebaseFirestore
199+
): Promise<void> {
188200
const onlineComponentProviderPromise = onlineComponentProviders.get(
189201
firestore
190202
);

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

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
* limitations under the License.
1616
*/
1717

18-
import * as firestore from '../../../exp-types';
19-
2018
import { _getProvider, _removeServiceInstance } from '@firebase/app-exp';
2119
import { _FirebaseService, FirebaseApp } from '@firebase/app-types-exp';
2220
import { Provider } from '@firebase/component';
@@ -33,7 +31,10 @@ import {
3331
MultiTabOfflineComponentProvider,
3432
OnlineComponentProvider
3533
} from '../../../src/core/component_provider';
36-
import { Firestore as LiteFirestore } from '../../../lite/src/api/database';
34+
import {
35+
FirebaseFirestore as LiteFirestore,
36+
Settings as LiteSettings
37+
} from '../../../lite/src/api/database';
3738
import { cast } from '../../../lite/src/api/util';
3839
import { Code, FirestoreError } from '../../../src/util/error';
3940
import { Deferred } from '../../../src/util/promise';
@@ -66,13 +67,17 @@ import { PersistenceSettings } from '../../../exp-types';
6667

6768
const LOG_TAG = 'Firestore';
6869

70+
export interface Settings extends LiteSettings {
71+
cacheSizeBytes?: number;
72+
}
73+
6974
/**
7075
* The root reference to the Firestore database and the entry point for the
7176
* tree-shakeable SDK.
7277
*/
73-
export class Firestore
78+
export class FirebaseFirestore
7479
extends LiteFirestore
75-
implements firestore.FirebaseFirestore, _FirebaseService {
80+
implements _FirebaseService {
7681
readonly _queue = new AsyncQueue();
7782
readonly _persistenceKey: string;
7883
readonly _clientId = AutoId.newId();
@@ -83,7 +88,7 @@ export class Firestore
8388

8489
// We override the Settings property of the Lite SDK since the full Firestore
8590
// SDK supports more settings.
86-
protected _settings?: firestore.Settings;
91+
protected _settings?: Settings;
8792

8893
constructor(
8994
app: FirebaseApp,
@@ -130,7 +135,7 @@ export class Firestore
130135
};
131136
}
132137

133-
_getSettings(): firestore.Settings {
138+
_getSettings(): Settings {
134139
return super._getSettings();
135140
}
136141

@@ -171,12 +176,12 @@ export class Firestore
171176

172177
export function initializeFirestore(
173178
app: FirebaseApp,
174-
settings: firestore.Settings
175-
): Firestore {
179+
settings: Settings
180+
): FirebaseFirestore {
176181
const firestore = _getProvider(
177182
app,
178183
'firestore-exp'
179-
).getImmediate() as Firestore;
184+
).getImmediate() as FirebaseFirestore;
180185

181186
if (
182187
settings.cacheSizeBytes !== undefined &&
@@ -193,15 +198,15 @@ export function initializeFirestore(
193198
return firestore;
194199
}
195200

196-
export function getFirestore(app: FirebaseApp): Firestore {
197-
return _getProvider(app, 'firestore-exp').getImmediate() as Firestore;
201+
export function getFirestore(app: FirebaseApp): FirebaseFirestore {
202+
return _getProvider(app, 'firestore-exp').getImmediate() as FirebaseFirestore;
198203
}
199204

200205
export function enableIndexedDbPersistence(
201-
firestore: firestore.FirebaseFirestore,
206+
firestore: FirebaseFirestore,
202207
persistenceSettings?: PersistenceSettings
203208
): Promise<void> {
204-
const firestoreImpl = cast(firestore, Firestore);
209+
const firestoreImpl = cast(firestore, FirebaseFirestore);
205210
verifyNotInitialized(firestoreImpl);
206211

207212
// `_getSettings()` freezes the client settings and prevents further changes
@@ -232,9 +237,9 @@ export function enableIndexedDbPersistence(
232237
}
233238

234239
export function enableMultiTabIndexedDbPersistence(
235-
firestore: firestore.FirebaseFirestore
240+
firestore: FirebaseFirestore
236241
): Promise<void> {
237-
const firestoreImpl = cast(firestore, Firestore);
242+
const firestoreImpl = cast(firestore, FirebaseFirestore);
238243
verifyNotInitialized(firestoreImpl);
239244

240245
// `_getSettings()` freezes the client settings and prevents further changes
@@ -264,9 +269,9 @@ export function enableMultiTabIndexedDbPersistence(
264269
}
265270

266271
export function clearIndexedDbPersistence(
267-
firestore: firestore.FirebaseFirestore
272+
firestore: FirebaseFirestore
268273
): Promise<void> {
269-
const firestoreImpl = cast(firestore, Firestore);
274+
const firestoreImpl = cast(firestore, FirebaseFirestore);
270275
if (firestoreImpl._initialized && !firestoreImpl._terminated) {
271276
throw new FirestoreError(
272277
Code.FAILED_PRECONDITION,
@@ -293,9 +298,9 @@ export function clearIndexedDbPersistence(
293298
}
294299

295300
export function waitForPendingWrites(
296-
firestore: firestore.FirebaseFirestore
301+
firestore: FirebaseFirestore
297302
): Promise<void> {
298-
const firestoreImpl = cast(firestore, Firestore);
303+
const firestoreImpl = cast(firestore, FirebaseFirestore);
299304
firestoreImpl._verifyNotTerminated();
300305

301306
const deferred = new Deferred<void>();
@@ -306,10 +311,8 @@ export function waitForPendingWrites(
306311
return deferred.promise;
307312
}
308313

309-
export function enableNetwork(
310-
firestore: firestore.FirebaseFirestore
311-
): Promise<void> {
312-
const firestoreImpl = cast(firestore, Firestore);
314+
export function enableNetwork(firestore: FirebaseFirestore): Promise<void> {
315+
const firestoreImpl = cast(firestore, FirebaseFirestore);
313316
firestoreImpl._verifyNotTerminated();
314317

315318
return firestoreImpl._queue.enqueue(async () => {
@@ -320,10 +323,8 @@ export function enableNetwork(
320323
});
321324
}
322325

323-
export function disableNetwork(
324-
firestore: firestore.FirebaseFirestore
325-
): Promise<void> {
326-
const firestoreImpl = cast(firestore, Firestore);
326+
export function disableNetwork(firestore: FirebaseFirestore): Promise<void> {
327+
const firestoreImpl = cast(firestore, FirebaseFirestore);
327328
firestoreImpl._verifyNotTerminated();
328329

329330
return firestoreImpl._queue.enqueue(async () => {
@@ -334,15 +335,13 @@ export function disableNetwork(
334335
});
335336
}
336337

337-
export function terminate(
338-
firestore: firestore.FirebaseFirestore
339-
): Promise<void> {
338+
export function terminate(firestore: FirebaseFirestore): Promise<void> {
340339
_removeServiceInstance(firestore.app, 'firestore-exp');
341-
const firestoreImpl = cast(firestore, Firestore);
340+
const firestoreImpl = cast(firestore, FirebaseFirestore);
342341
return firestoreImpl._delete();
343342
}
344343

345-
function verifyNotInitialized(firestore: Firestore): void {
344+
function verifyNotInitialized(firestore: FirebaseFirestore): void {
346345
if (firestore._initialized || firestore._terminated) {
347346
throw new FirestoreError(
348347
Code.FAILED_PRECONDITION,

0 commit comments

Comments
 (0)