Skip to content

Commit 6358fd0

Browse files
Small set of random fixes for firestore-exp types (#4106)
1 parent be56cd8 commit 6358fd0

File tree

11 files changed

+42
-36
lines changed

11 files changed

+42
-36
lines changed

packages/firestore/exp/index.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ export {
3131
waitForPendingWrites,
3232
disableNetwork,
3333
enableNetwork,
34-
terminate
34+
terminate,
35+
Settings,
36+
PersistenceSettings
3537
} from './src/api/database';
3638

3739
export {
@@ -68,9 +70,12 @@ export {
6870
QueryConstraintType,
6971
DocumentData,
7072
UpdateData,
71-
OrderByDirection
73+
OrderByDirection,
74+
WhereFilterOp
7275
} from '../lite/src/api/reference';
7376

77+
export { Unsubscribe } from '../src/api/observer';
78+
7479
export { runTransaction, Transaction } from './src/api/transaction';
7580

7681
export {
@@ -97,7 +102,7 @@ export {
97102
serverTimestamp
98103
} from '../lite/src/api/field_value';
99104

100-
export { setLogLevel, LogLevel } from '../src/util/log';
105+
export { setLogLevel, LogLevelString as LogLevel } from '../src/util/log';
101106

102107
export { Bytes } from '../lite/src/api/bytes';
103108

packages/firestore/exp/register.ts

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ import { Component, ComponentType } from '@firebase/component';
2121
import { FirebaseFirestore } from './src/api/database';
2222
import { version } from '../package.json';
2323

24+
declare module '@firebase/component' {
25+
interface NameServiceMapping {
26+
'firestore-exp': FirebaseFirestore;
27+
}
28+
}
29+
2430
export function registerFirestore(): void {
2531
_registerComponent(
2632
new Component(

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

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717

1818
import { _getProvider, _removeServiceInstance } from '@firebase/app-exp';
19-
import { _FirebaseService, FirebaseApp } from '@firebase/app-types-exp';
19+
import { FirebaseApp } from '@firebase/app-types-exp';
2020
import { Provider } from '@firebase/component';
2121

2222
import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
@@ -52,14 +52,17 @@ import {
5252
indexedDbClearPersistence,
5353
indexedDbStoragePrefix
5454
} from '../../../src/local/indexeddb_persistence';
55-
import { PersistenceSettings } from '../../../exp-types';
5655
import { cast } from '../../../src/util/input_validation';
5756

5857
/** DOMException error code constants. */
5958
const DOM_EXCEPTION_INVALID_STATE = 11;
6059
const DOM_EXCEPTION_ABORTED = 20;
6160
const DOM_EXCEPTION_QUOTA_EXCEEDED = 22;
6261

62+
export interface PersistenceSettings {
63+
forceOwnership?: boolean;
64+
}
65+
6366
export interface Settings extends LiteSettings {
6467
cacheSizeBytes?: number;
6568
}
@@ -69,9 +72,7 @@ export interface Settings extends LiteSettings {
6972
*
7073
* Do not call this constructor directly. Instead, use {@link getFirestore()}.
7174
*/
72-
export class FirebaseFirestore
73-
extends LiteFirestore
74-
implements _FirebaseService {
75+
export class FirebaseFirestore extends LiteFirestore {
7576
readonly _queue = new AsyncQueue();
7677
readonly _persistenceKey: string;
7778

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

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { Document } from '../../../src/model/document';
2020
import { AbstractUserDataWriter } from '../../../src/api/user_data_writer';
2121
import {
2222
DocumentSnapshot as LiteDocumentSnapshot,
23+
FirestoreDataConverter as LiteFirestoreDataConverter,
2324
fieldPathFromArgument
2425
} from '../../../lite/src/api/snapshot';
2526
import { FirebaseFirestore } from './database';
@@ -80,7 +81,8 @@ import { newQueryComparator } from '../../../src/core/query';
8081
* }
8182
* ```
8283
*/
83-
export interface FirestoreDataConverter<T> {
84+
export interface FirestoreDataConverter<T>
85+
extends LiteFirestoreDataConverter<T> {
8486
/**
8587
* Called by the Firestore SDK to convert a custom model object of type `T`
8688
* into a plain JavaScript object (suitable for writing directly to the

packages/firestore/externs.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"packages/util/dist/src/crypt.d.ts",
3030
"packages/util/dist/src/environment.d.ts",
3131
"packages/firestore/src/protos/firestore_bundle_proto.ts",
32-
"packages/firestore/src/protos/firestore_proto_api.d.ts",
32+
"packages/firestore/src/protos/firestore_proto_api.ts",
3333
"packages/firestore/src/util/error.ts",
3434
"packages/firestore/src/local/indexeddb_schema.ts",
3535
"packages/firestore/src/local/shared_client_state_schema.ts"

packages/firestore/lite/register.ts

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ import { Component, ComponentType } from '@firebase/component';
2121
import { FirebaseFirestore } from './src/api/database';
2222
import { version } from '../package.json';
2323

24+
declare module '@firebase/component' {
25+
interface NameServiceMapping {
26+
'firestore/lite': FirebaseFirestore;
27+
}
28+
}
29+
2430
export function registerFirestore(): void {
2531
_registerComponent(
2632
new Component(

packages/firestore/src/protos/firestore_proto_api.js

-18
This file was deleted.

packages/firestore/src/protos/firestore_proto_api.d.ts renamed to packages/firestore/src/protos/firestore_proto_api.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -696,7 +696,7 @@ export interface ProjectsDatabasesDocumentsWriteNamedParameters {
696696
$Xgafv?: ProjectsDatabasesDocumentsApiClient$Xgafv;
697697
}
698698
export abstract class ProjectsDatabasesDocumentsApiClient {
699-
private constructor();
699+
private constructor() {}
700700
abstract batchGet(
701701
database: string,
702702
$requestBody: BatchGetDocumentsRequest,
@@ -1121,7 +1121,7 @@ export interface ProjectsDatabasesIndexesListNamedParameters {
11211121
pageToken?: string;
11221122
}
11231123
export abstract class ProjectsDatabasesIndexesApiClient {
1124-
private constructor();
1124+
private constructor() {}
11251125
abstract create(
11261126
parent: string,
11271127
$requestBody: Index,

packages/firestore/src/util/error.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@ export const Code = {
209209

210210
/** An error returned by a Firestore operation. */
211211
export class FirestoreError extends Error {
212-
name = 'FirebaseError';
213-
stack?: string;
212+
readonly name: string = 'FirebaseError';
213+
readonly stack?: string;
214214

215215
/** @hideconstructor */
216216
constructor(readonly code: FirestoreErrorCode, readonly message: string) {

packages/firestore/src/util/log.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function getLogLevel(): LogLevel {
4141
* <li><code>`silent` to turn off logging.</li>
4242
* </ul>
4343
*/
44-
export function setLogLevel(logLevel: LogLevelString | LogLevel): void {
44+
export function setLogLevel(logLevel: LogLevelString): void {
4545
logClient.setLogLevel(logLevel);
4646
}
4747

packages/firestore/test/unit/util/async_queue.test.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ import * as chaiAsPromised from 'chai-as-promised';
2020
import { expect, use } from 'chai';
2121
import { AsyncQueue, TimerId } from '../../../src/util/async_queue';
2222
import { Code } from '../../../src/util/error';
23-
import { getLogLevel, LogLevel, setLogLevel } from '../../../src/util/log';
23+
import {
24+
getLogLevel,
25+
setLogLevel,
26+
LogLevelString
27+
} from '../../../src/util/log';
2428
import { Deferred, Rejecter, Resolver } from '../../../src/util/promise';
2529
import { fail } from '../../../src/util/assert';
2630
import { IndexedDbTransactionError } from '../../../src/local/simple_db';
@@ -83,7 +87,7 @@ describe('AsyncQueue', () => {
8387

8488
// Disable logging for this test to avoid the assertion being logged
8589
const oldLogLevel = getLogLevel();
86-
setLogLevel(LogLevel.SILENT);
90+
setLogLevel('silent');
8791

8892
// Schedule a failing operation and make sure it's handled correctly.
8993
const op1Promise = queue
@@ -134,7 +138,7 @@ describe('AsyncQueue', () => {
134138
}).to.throw(/already failed:.*Simulated Error/);
135139

136140
// Finally, restore log level.
137-
setLogLevel(oldLogLevel);
141+
setLogLevel((oldLogLevel as unknown) as LogLevelString);
138142
});
139143
});
140144

0 commit comments

Comments
 (0)