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 1b6ae55 commit 47172f9
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions lib/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1634,21 +1634,17 @@ export namespace FirebaseAuthTypes {

type CallbackOrObserver<T extends (...args: any[]) => any> = T | { next: T };

declare module '@react-native-firebase/auth' {
// 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;

const firebaseNamedExport: {} & ReactNativeFirebaseModule;
export const firebase = firebaseNamedExport;

const defaultExport: FirebaseModuleWithStaticsAndApp<
FirebaseAuthTypes.Module,
FirebaseAuthTypes.Statics
>;
export default defaultExport;
}
declare const defaultExport: ReactNativeFirebase.FirebaseModuleWithStaticsAndApp<
FirebaseAuthTypes.Module,
FirebaseAuthTypes.Statics
>;

export const firebase: ReactNativeFirebase.Module & {
auth: typeof defaultExport;
app(name?: string): ReactNativeFirebase.FirebaseApp & { auth(): FirebaseAuthTypes.Module };
};

export default defaultExport;

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

0 comments on commit 47172f9

Please sign in to comment.