Skip to content

Small set of random fixes for firestore-exp types #4106

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions packages/firestore/exp/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ export {
waitForPendingWrites,
disableNetwork,
enableNetwork,
terminate
terminate,
Settings,
PersistenceSettings
} from './src/api/database';

export {
Expand Down Expand Up @@ -68,9 +70,12 @@ export {
QueryConstraintType,
DocumentData,
UpdateData,
OrderByDirection
OrderByDirection,
WhereFilterOp
} from '../lite/src/api/reference';

export { Unsubscribe } from '../src/api/observer';

export { runTransaction, Transaction } from './src/api/transaction';

export {
Expand All @@ -97,7 +102,7 @@ export {
serverTimestamp
} from '../lite/src/api/field_value';

export { setLogLevel, LogLevel } from '../src/util/log';
export { setLogLevel, LogLevelString as LogLevel } from '../src/util/log';

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

Expand Down
6 changes: 6 additions & 0 deletions packages/firestore/exp/register.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ import { Component, ComponentType } from '@firebase/component';
import { FirebaseFirestore } from './src/api/database';
import { version } from '../package.json';

declare module '@firebase/component' {
interface NameServiceMapping {
'firestore-exp': FirebaseFirestore;
}
}

export function registerFirestore(): void {
_registerComponent(
new Component(
Expand Down
11 changes: 6 additions & 5 deletions packages/firestore/exp/src/api/database.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

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

import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
Expand Down Expand Up @@ -52,14 +52,17 @@ import {
indexedDbClearPersistence,
indexedDbStoragePrefix
} from '../../../src/local/indexeddb_persistence';
import { PersistenceSettings } from '../../../exp-types';
import { cast } from '../../../src/util/input_validation';

/** DOMException error code constants. */
const DOM_EXCEPTION_INVALID_STATE = 11;
const DOM_EXCEPTION_ABORTED = 20;
const DOM_EXCEPTION_QUOTA_EXCEEDED = 22;

export interface PersistenceSettings {
forceOwnership?: boolean;
}

export interface Settings extends LiteSettings {
cacheSizeBytes?: number;
}
Expand All @@ -69,9 +72,7 @@ export interface Settings extends LiteSettings {
*
* Do not call this constructor directly. Instead, use {@link getFirestore()}.
*/
export class FirebaseFirestore
extends LiteFirestore
implements _FirebaseService {
export class FirebaseFirestore extends LiteFirestore {
readonly _queue = new AsyncQueue();
readonly _persistenceKey: string;

Expand Down
4 changes: 3 additions & 1 deletion packages/firestore/exp/src/api/snapshot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { Document } from '../../../src/model/document';
import { AbstractUserDataWriter } from '../../../src/api/user_data_writer';
import {
DocumentSnapshot as LiteDocumentSnapshot,
FirestoreDataConverter as LiteFirestoreDataConverter,
fieldPathFromArgument
} from '../../../lite/src/api/snapshot';
import { FirebaseFirestore } from './database';
Expand Down Expand Up @@ -80,7 +81,8 @@ import { newQueryComparator } from '../../../src/core/query';
* }
* ```
*/
export interface FirestoreDataConverter<T> {
export interface FirestoreDataConverter<T>
extends LiteFirestoreDataConverter<T> {
/**
* Called by the Firestore SDK to convert a custom model object of type `T`
* into a plain JavaScript object (suitable for writing directly to the
Expand Down
2 changes: 1 addition & 1 deletion packages/firestore/externs.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"packages/util/dist/src/crypt.d.ts",
"packages/util/dist/src/environment.d.ts",
"packages/firestore/src/protos/firestore_bundle_proto.ts",
"packages/firestore/src/protos/firestore_proto_api.d.ts",
"packages/firestore/src/protos/firestore_proto_api.ts",
"packages/firestore/src/util/error.ts",
"packages/firestore/src/local/indexeddb_schema.ts",
"packages/firestore/src/local/shared_client_state_schema.ts"
Expand Down
6 changes: 6 additions & 0 deletions packages/firestore/lite/register.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ import { Component, ComponentType } from '@firebase/component';
import { FirebaseFirestore } from './src/api/database';
import { version } from '../package.json';

declare module '@firebase/component' {
interface NameServiceMapping {
'firestore/lite': FirebaseFirestore;
}
}

export function registerFirestore(): void {
_registerComponent(
new Component(
Expand Down
18 changes: 0 additions & 18 deletions packages/firestore/src/protos/firestore_proto_api.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -696,7 +696,7 @@ export interface ProjectsDatabasesDocumentsWriteNamedParameters {
$Xgafv?: ProjectsDatabasesDocumentsApiClient$Xgafv;
}
export abstract class ProjectsDatabasesDocumentsApiClient {
private constructor();
private constructor() {}
abstract batchGet(
database: string,
$requestBody: BatchGetDocumentsRequest,
Expand Down Expand Up @@ -1121,7 +1121,7 @@ export interface ProjectsDatabasesIndexesListNamedParameters {
pageToken?: string;
}
export abstract class ProjectsDatabasesIndexesApiClient {
private constructor();
private constructor() {}
abstract create(
parent: string,
$requestBody: Index,
Expand Down
4 changes: 2 additions & 2 deletions packages/firestore/src/util/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,8 @@ export const Code = {

/** An error returned by a Firestore operation. */
export class FirestoreError extends Error {
name = 'FirebaseError';
stack?: string;
readonly name: string = 'FirebaseError';
readonly stack?: string;

/** @hideconstructor */
constructor(readonly code: FirestoreErrorCode, readonly message: string) {
Expand Down
2 changes: 1 addition & 1 deletion packages/firestore/src/util/log.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export function getLogLevel(): LogLevel {
* <li><code>`silent` to turn off logging.</li>
* </ul>
*/
export function setLogLevel(logLevel: LogLevelString | LogLevel): void {
export function setLogLevel(logLevel: LogLevelString): void {
logClient.setLogLevel(logLevel);
}

Expand Down
10 changes: 7 additions & 3 deletions packages/firestore/test/unit/util/async_queue.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ import * as chaiAsPromised from 'chai-as-promised';
import { expect, use } from 'chai';
import { AsyncQueue, TimerId } from '../../../src/util/async_queue';
import { Code } from '../../../src/util/error';
import { getLogLevel, LogLevel, setLogLevel } from '../../../src/util/log';
import {
getLogLevel,
setLogLevel,
LogLevelString
} from '../../../src/util/log';
import { Deferred, Rejecter, Resolver } from '../../../src/util/promise';
import { fail } from '../../../src/util/assert';
import { IndexedDbTransactionError } from '../../../src/local/simple_db';
Expand Down Expand Up @@ -83,7 +87,7 @@ describe('AsyncQueue', () => {

// Disable logging for this test to avoid the assertion being logged
const oldLogLevel = getLogLevel();
setLogLevel(LogLevel.SILENT);
setLogLevel('silent');

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

// Finally, restore log level.
setLogLevel(oldLogLevel);
setLogLevel((oldLogLevel as unknown) as LogLevelString);
});
});

Expand Down