Skip to content

Commit

Permalink
fix(types): enable TypeScript libCheck & resolve type conflicts (inve…
Browse files Browse the repository at this point in the history
…rtase#4306)

* chore: enable TypeScript libcheck & remove "dom" lib
    "dom" conflicts with @types/react-native
* chore: add react types (referenced by admob types)
* refactor(types, app): move "app" exports to top-level exports, rather than module declarations with namespace extensions
* refactor(types): use top-level exports for module types, rather than declarations
* refactor(types): for JSON config, augment existing `ReactNativeFirebase` namespace from /app
    Re-exporting the namespace causes collision issues -- tramples previous values rather than merging
* fix(types, admob): Use string-indexing rather than dot-notation for referring to interface keys
* fix(types, analytics): convert missing interface to `any`
* fix(types, database): missing `value` type (treated as 'any')
* fix(types, dynamic-links): fix dynamic-links `onLink` function type
    "Function" is not generic
* fix(types, firestore): add missing generic to Promise type
    Keep current behavior with `any`
* fix(types, messaging): remove parameter initializer in typedef 
    Only allowed in implementations
* fix(types, messaging): avoid implicit `any` via `void` return type for `setBackgroundMessageHandler`
* fix(types, ml-vision): import non-ambient types in BarcodeDetectorTypes
* fix(types, ml-vision): import non-ambient types in root module from BarcodeDetectorTypes
* fix(types, ml-vision): repair invalid `extends` use by duplicating inherited key
    Could have Omit<>'ed the incompatible `bounds` key, but duplicating the one inherited key seemed less complex
* fix(types, perf): add void return types to untyped perf methods
* tests(admob): add type override to intentionally-wrong syntax
    Incorrect type is now caught by TS
* tests(types, ml-vision): fix ml-vision test typo, exposed by proper types
    VisionBarcodeFormat.ALL_POINTS does not exist
* chore(website): update typedoc to allow recursive types
    uses new syntax: TSConfigReader
  • Loading branch information
davidgovea authored Sep 30, 2020
1 parent f619481 commit adc06d4
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions lib/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1962,7 +1962,7 @@ export namespace FirebaseFirestoreTypes {
* });
* ```
*/
runTransaction(updateFunction: (transaction: Transaction) => Promise): Promise<any>;
runTransaction(updateFunction: (transaction: Transaction) => Promise<any>): Promise<any>;

/**
* Specifies custom settings to be used to configure the Firestore instance. Must be set before invoking any other methods.
Expand Down Expand Up @@ -2023,21 +2023,19 @@ export namespace FirebaseFirestoreTypes {
}
}

declare module '@react-native-firebase/firestore' {
// tslint:disable-next-line:no-duplicate-imports required otherwise doesn't work
import { ReactNativeFirebase } from '@react-native-firebase/app';
import ReactNativeFirebaseModule = ReactNativeFirebase.Module;
import FirebaseModuleWithStaticsAndApp = ReactNativeFirebase.FirebaseModuleWithStaticsAndApp;
declare const defaultExport: ReactNativeFirebase.FirebaseModuleWithStaticsAndApp<
FirebaseFirestoreTypes.Module,
FirebaseFirestoreTypes.Statics
>;

const firebaseNamedExport: {} & ReactNativeFirebaseModule;
export const firebase = firebaseNamedExport;
export const firebase: ReactNativeFirebase.Module & {
firestore: typeof defaultExport;
app(
name?: string,
): ReactNativeFirebase.FirebaseApp & { firestore(): FirebaseFirestoreTypes.Module };
};

const defaultExport: FirebaseModuleWithStaticsAndApp<
FirebaseFirestoreTypes.Module,
FirebaseFirestoreTypes.Statics
>;
export default defaultExport;
}
export default defaultExport;

/**
* Attach namespace to `firebase.` and `FirebaseApp.`.
Expand Down

0 comments on commit adc06d4

Please sign in to comment.