Skip to content

Commit

Permalink
Merge pull request #82 from m2sd/master
Browse files Browse the repository at this point in the history
fix (typescript): improve type augmentations
  • Loading branch information
lupas authored Dec 20, 2019
2 parents 4f9b29c + 0a1d1c7 commit ad794fc
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions packages/nuxt-fire/src/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,59 +1,106 @@
import { ServerResponse } from 'http'
import firebase from 'firebase'
import Vue from 'vue'

/* This file simply imports the needed types from firebase and forwards them */
declare module 'vue/types/vue' {
interface Vue {
$fireStore: firebase.firestore.Firestore
$fireStoreObj: typeof firebase.firestore
$fireDb: firebase.database.Database
$fireDbObj: typeof firebase.database
$fireFunc: firebase.functions.Functions
$fireFuncObj: typeof firebase.functions
$fireStorage: firebase.storage.Storage
$fireStorageObj: typeof firebase.storage
$fireAuth: firebase.auth.Auth
$fireAuthObj: typeof firebase.auth
$fireMess: firebase.messaging.Messaging
$fireMessObj: typeof firebase.messaging
$fireAnalytics: firebase.analytics.Analytics
$fireAnalyticsObj: typeof firebase.analytics
$firePerf: firebase.performance.Performance
$firePerfObj: typeof firebase.performance
$fireConfig: firebase.remoteConfig.RemoteConfig
$fireConfigObj: typeof firebase.remoteConfig
}
}

declare module '@nuxt/vue-app' {
interface NuxtAppOptions {
$fireStore: firebase.firestore.Firestore
$fireStoreObj: typeof firebase.firestore
$fireDb: firebase.database.Database
$fireDbObj: typeof firebase.database
$fireFunc: firebase.functions.Functions
$fireFuncObj: typeof firebase.functions
$fireStorage: firebase.storage.Storage
$fireStorageObj: typeof firebase.storage
$fireAuth: firebase.auth.Auth
$fireAuthObj: typeof firebase.auth
$fireMess: firebase.messaging.Messaging
$fireMessObj: typeof firebase.messaging
$fireAnalytics: firebase.analytics.Analytics
$fireAnalyticsObj: typeof firebase.analytics
$firePerf: firebase.performance.Performance
$firePerfObj: typeof firebase.performance
$fireConfig: firebase.remoteConfig.RemoteConfig
$fireConfigObj: typeof firebase.remoteConfig
}
}

declare module '@nuxt/types' {
interface NuxtAppOptions {
$fireStore: firebase.firestore.Firestore
$fireStoreObj: typeof firebase.firestore
$fireDb: firebase.database.Database
$fireDbObj: typeof firebase.database
$fireFunc: firebase.functions.Functions
$fireFuncObj: typeof firebase.functions
$fireStorage: firebase.storage.Storage
$fireStorageObj: typeof firebase.storage
$fireAuth: firebase.auth.Auth
$fireAuthObj: typeof firebase.auth
$fireMess: firebase.messaging.Messaging
$fireMessObj: typeof firebase.messaging
$fireAnalytics: firebase.analytics.Analytics
$fireAnalyticsObj: typeof firebase.analytics
$firePerf: firebase.performance.Performance
$firePerfObj: typeof firebase.performance
$fireConfig: firebase.remoteConfig.RemoteConfig
$fireConfigObj: typeof firebase.remoteConfig
}
}

declare module 'vuex/types' {
interface Store<S> {
$fireStore: firebase.firestore.Firestore
$fireStoreObj: typeof firebase.firestore
$fireDb: firebase.database.Database
$fireDbObj: typeof firebase.database
$fireFunc: firebase.functions.Functions
$fireFuncObj: typeof firebase.functions
$fireStorage: firebase.storage.Storage
$fireStorageObj: typeof firebase.storage
$fireAuth: firebase.auth.Auth
$fireAuthObj: typeof firebase.auth
$fireMess: firebase.messaging.Messaging
$fireMessObj: typeof firebase.messaging
$fireAnalytics: firebase.analytics.Analytics
$fireAnalyticsObj: typeof firebase.analytics
$firePerf: firebase.performance.Performance
$firePerfObj: typeof firebase.performance
$fireConfig: firebase.remoteConfig.RemoteConfig
$fireConfigObj: typeof firebase.remoteConfig
}
}

declare module 'http' {
export interface ServerResponse {
verifiedFireAuthUser?: {
uid: string
email: string
emailVerified: boolean
}
}
}

0 comments on commit ad794fc

Please sign in to comment.