Skip to content

API Documentation / vuefire

Module: vuefire ​

Interfaces ​

References ​

rtdbPlugin ​

Renames and re-exports databasePlugin

Type Aliases ​

FirebaseOption ​

Ƭ FirebaseOption: VueFirebaseObject | () => VueFirebaseObject


FirestoreOption ​

Ƭ FirestoreOption: VueFirestoreObject | () => VueFirestoreObject


UseListOptions ​

Ƭ UseListOptions<DataT>: UseDatabaseRefOptions<DataT>

Type parameters ​

NameType
DataTunknown

UseObjectOptions ​

Ƭ UseObjectOptions<DataT>: UseDatabaseRefOptions<DataT>

Type parameters ​

NameType
DataTunknown

VueDatabaseDocumentData ​

Ƭ VueDatabaseDocumentData<T>: null | T & { id: string }

Type used by default by the serialize option.

Type parameters ​

NameType
Tunknown

VueDatabaseQueryData ​

Ƭ VueDatabaseQueryData<T>: _Simplify<NonNullable<VueDatabaseDocumentData<T>>>[]

Same as VueDatabaseDocumentData but for a query.

Type parameters ​

NameType
Tunknown

VueFirebaseObject ​

Ƭ VueFirebaseObject: Record<string, Query | DatabaseReference>


VueFirestoreDocumentData ​

Ƭ VueFirestoreDocumentData<T>: null | T & { id: string }

Type used by default by the firestoreDefaultConverter.

Type parameters ​

NameType
TDocumentData

VueFirestoreObject ​

Ƭ VueFirestoreObject: Record<string, _FirestoreDataSource>


VueFirestoreQueryData ​

Ƭ VueFirestoreQueryData<T>: _Simplify<NonNullable<VueFirestoreDocumentData<T>>>[]

Type parameters ​

NameType
TDocumentData

Variables ​

devalueCustomParsers ​

• Const devalueCustomParsers: Object

Custom parsers for devalue to support Firestore Timestamp and GeoPoint on SSR.

Type declaration ​

NameType
GeoPoint(data: { latitude: number ; longitude: number }) => GeoPoint
TimeStamp(data: { nanoseconds: number ; seconds: number }) => Timestamp

devalueCustomStringifiers ​

• Const devalueCustomStringifiers: Object

Custom stringifier for devalue to support Firestore Timestamp and GeoPoint on SSR.

Type declaration ​

NameType
GeoPoint(data: unknown) => false | { latitude: number ; longitude: number }
TimeStamp(data: unknown) => false | { nanoseconds: number ; seconds: number }

firestoreDefaultConverter ​

• Const firestoreDefaultConverter: FirestoreDataConverter<VueFirestoreDocumentData>

Default converter for Firestore data. Can be overridden globally by setting globalFirestoreOptions.converter.


globalDatabaseOptions ​

• Const globalDatabaseOptions: _DatabaseRefOptionsWithDefaults


globalFirestoreOptions ​

• Const globalFirestoreOptions: _FirestoreRefOptionsWithDefaults

Global default options

Functions ​

VueFire ​

▸ VueFire(app, «destructured»): void

VueFire Vue plugin.

Parameters ​

NameType
appApp<any>
«destructured»VueFireOptions

Returns ​

void


VueFireAppCheck ​

▸ VueFireAppCheck(options): (firebaseApp: FirebaseApp, app: App<any>) => void

VueFire AppCheck Module to be added to the VueFire Vue plugin options. This module is client only and shouldn't be added on server.

Parameters ​

NameType
optionsVueFireAppCheckOptions

Returns ​

fn

▸ (firebaseApp, app): void

Parameters ​
NameType
firebaseAppFirebaseApp
appApp<any>
Returns ​

void

Example

ts
import { createApp } from 'vue'
import { VueFire, VueFireAppCheck } from 'vuefire'

const app = createApp(App)
app.use(VueFire, {
  modules: [VueFireAppCheck()],
})

VueFireAuth ​

▸ VueFireAuth(initialUser?): VueFireModule

VueFire Auth Module to be added to the VueFire Vue plugin options. This calls the VueFireAuthWithDependencies() with all the dependencies, increasing bundle size. Consider using VueFireAuthWithDependencies() instead to better control the bundle size.

Parameters ​

NameTypeDescription
initialUser?_Nullable<User>initial value of the user. used for SSR

Returns ​

VueFireModule

See

https://firebase.google.com/docs/auth/web/custom-dependencies

Example

ts
import { createApp } from 'vue'
import { VueFire, VueFireAuth } from 'vuefire'

const app = createApp(App)
app.use(VueFire, {
 modules: [VueFireAuth()],
})

VueFireAuthOptionsFromAuth ​

▸ VueFireAuthOptionsFromAuth(options): VueFireModule

VueFire Auth Module to be added to the VueFire Vue plugin options. It accepts an auth instance rather than the dependencies. It allows manually calling emulators and other advanced use cases. Prefer using VueFireAuthWithDependencies() and VueFireAuth() for most use cases.

Parameters ​

NameTypeDescription
optionsVueFireAuthOptionsFromAuthauth instance and initial user

Returns ​

VueFireModule


VueFireAuthWithDependencies ​

▸ VueFireAuthWithDependencies(options): VueFireModule

VueFire Auth Module to be added to the VueFire Vue plugin options. It accepts dependencies to pass to initializeAuth() to better control the bundle size.

Parameters ​

NameTypeDescription
optionsVueFireAuthOptionsuser and options to pass to initializeAuth().

Returns ​

VueFireModule


VueFireDatabaseOptionsAPI ​

▸ VueFireDatabaseOptionsAPI(pluginOptions?): (firebaseApp: FirebaseApp, app: App<any>) => void

VueFire Database Module to be added to the VueFire Vue plugin options. If you exclusively use the Composition API (e.g. useDatabaseObject() and useDatabaseList()), you should not add it.

Parameters ​

NameType
pluginOptions?DatabasePluginOptions

Returns ​

fn

▸ (firebaseApp, app): void

Parameters ​
NameType
firebaseAppFirebaseApp
appApp<any>
Returns ​

void

Example

ts
import { createApp } from 'vue'
import { VueFire, VueFireDatabaseOptionsAPI } from 'vuefire'

const app = createApp(App)
app.use(VueFire, {
  modules: [VueFireDatabaseOptionsAPI()],
})

VueFireFirestoreOptionsAPI ​

▸ VueFireFirestoreOptionsAPI(pluginOptions?): (firebaseApp: FirebaseApp, app: App<any>) => void

VueFire Firestore Module to be added to the VueFire Vue plugin options.

Parameters ​

NameType
pluginOptions?FirestorePluginOptions

Returns ​

fn

▸ (firebaseApp, app): void

Parameters ​
NameType
firebaseAppFirebaseApp
appApp<any>
Returns ​

void

Example

ts
import { createApp } from 'vue'
import { VueFire, VueFireFirestoreOptionsAPI } from 'vuefire'

const app = createApp(App)
app.use(VueFire, {
  modules: [VueFireFirestoreOptionsAPI()],
})

databaseDefaultSerializer ​

▸ databaseDefaultSerializer(snapshot): VueDatabaseDocumentData<unknown>

Convert firebase Database snapshot of a ref that exists into a bindable data record.

Parameters ​

NameType
snapshotDataSnapshot

Returns ​

VueDatabaseDocumentData<unknown>


databasePlugin ​

▸ databasePlugin(app, pluginOptions?, firebaseApp?): void

Install this plugin if you want to add $databaseBind and $databaseUnbind functions. Note this plugin is only necessary if you use the Options API. If you exclusively use the Composition API (e.g. useDatabaseObject() and useDatabaseList()), you should not add it.

Parameters ​

NameType
appApp<any>
pluginOptions?DatabasePluginOptions
firebaseApp?FirebaseApp

Returns ​

void

Deprecated

Use VueFire and VueFireDatabaseOptionsAPI with the modules option instead.


firestorePlugin ​

▸ firestorePlugin(app, pluginOptions?, firebaseApp?): void

Install this plugin to add $firestoreBind and $firestoreUnbind functions. Note this plugin is not necessary if you exclusively use the Composition API (useDocument() and useCollection()).

Parameters ​

NameType
appApp<any>
pluginOptions?FirestorePluginOptions
firebaseApp?FirebaseApp

Returns ​

void

Deprecated

Use VueFire and VueFireFirestoreOptionsAPI with the modules option instead.b


getCurrentUser ​

▸ getCurrentUser(name?): Promise<_Nullable<User>>

Returns a promise that resolves the current user once the user is loaded. Must be called after the firebase app is initialized.

Parameters ​

NameTypeDescription
name?stringname of the firebase application

Returns ​

Promise<_Nullable<User>>


updateCurrentUserProfile ​

▸ updateCurrentUserProfile(profile): Promise<void>

Updates the current user profile and updates the current user state. This function internally calls updateProfile() from 'firebase/auth' and then updates the current user state.

Parameters ​

NameTypeDescription
profileObjectthe new profile information
profile.displayName?_Nullable<string>-
profile.photoURL?_Nullable<string>-

Returns ​

Promise<void>


useAppCheck ​

▸ useAppCheck(name?): AppCheck

Retrieves the Firebase App Check instance.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

AppCheck


useAppCheckToken ​

▸ useAppCheckToken(): Ref<undefined | string, undefined | string>

The current app-check token as a Ref. Note this ref is always undefined on the server.

Returns ​

Ref<undefined | string, undefined | string>


useCollection ​

▸ useCollection<R>(collectionRef, options?): _RefFirestore<_InferReferenceType<R>[]>

Creates a reactive collection (usually an array) of documents from a collection ref or a query from Firestore. Extracts the type of the query or converter.

Type parameters ​

NameType
Rextends Query<unknown, DocumentData> | CollectionReference<unknown, DocumentData>

Parameters ​

NameTypeDescription
collectionRefMaybeRefOrGetter<_Nullable<R>>query or collection
options?UseCollectionOptions<_InferReferenceType<R>[]>optional options

Returns ​

_RefFirestore<_InferReferenceType<R>[]>

▸ useCollection<T>(collectionRef, options?): _RefFirestore<VueFirestoreQueryData<T>>

Creates a reactive collection (usually an array) of documents from a collection ref or a query from Firestore. Accepts a generic to enforce the type of the returned Ref. Note you can (and probably should) use .withConverter() to have stricter type safe version of a collection reference.

Type parameters ​

Name
T

Parameters ​

NameTypeDescription
collectionRefMaybeRefOrGetter<_Nullable<Query<unknown, DocumentData> | CollectionReference<unknown, DocumentData>>>query or collection
options?UseCollectionOptions<T[]>optional options

Returns ​

_RefFirestore<VueFirestoreQueryData<T>>


useCurrentUser ​

▸ useCurrentUser(name?): Ref<_Nullable<User>, _Nullable<User>>

Returns a reactive variable of the currently authenticated user in the firebase app. The ref is null if no user is authenticated or when the user logs out. The ref is undefined until the user is initially loaded.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

Ref<_Nullable<User>, _Nullable<User>>


useDatabase ​

▸ useDatabase(name?): Database

Retrieves the Database instance.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

Database

the Database instance


useDatabaseList ​

▸ useDatabaseList<T>(reference, options?): _RefDatabase<VueDatabaseQueryData<T>>

Creates a reactive variable connected to the database as an array. Each element in the array will contain an id property. Note that if you override the serialize option, it should also set an id property in order for this to work.

Type parameters ​

NameType
Tunknown

Parameters ​

NameTypeDescription
referenceMaybeRefOrGetter<_Nullable<Query | DatabaseReference>>Reference or query to the database
options?UseListOptions<T>optional options

Returns ​

_RefDatabase<VueDatabaseQueryData<T>>


useDatabaseObject ​

▸ useDatabaseObject<T>(reference, options?): _RefDatabase<VueDatabaseDocumentData<T> | undefined>

Creates a reactive variable connected to the database as an object. If the reference is a primitive, it will be converted to an object containing a $value property with the primitive value and an id property with the reference's key.

Type parameters ​

NameType
Tunknown

Parameters ​

NameTypeDescription
referenceMaybeRefOrGetter<_Nullable<DatabaseReference>>Reference or query to the database
options?UseObjectOptions<T>optional options

Returns ​

_RefDatabase<VueDatabaseDocumentData<T> | undefined>


useDocument ​

▸ useDocument<R>(documentRef, options?): _RefFirestore<_InferReferenceType<R> | undefined>

Creates a reactive document from a document ref from Firestore. Automatically extracts the type of the converter or the document.

Type parameters ​

NameType
Rextends DocumentReference<unknown, DocumentData>

Parameters ​

NameTypeDescription
documentRefMaybeRefOrGetter<_Nullable<R>>document reference
options?UseDocumentOptions<_InferReferenceType<R>>optional options

Returns ​

_RefFirestore<_InferReferenceType<R> | undefined>

▸ useDocument<T>(documentRef, options?): _RefFirestore<VueFirestoreDocumentData<T> | undefined>

Creates a reactive collection (usually an array) of documents from a collection ref or a query from Firestore. Accepts a generic to enforce the type of the returned Ref. Note you can (and probably should) use .withConverter() to have stricter type safe version of a collection reference.

Type parameters ​

Name
T

Parameters ​

NameTypeDescription
documentRefMaybeRefOrGetter<_Nullable<DocumentReference<DocumentData, DocumentData>>>query or collection
options?UseDocumentOptions<T>optional options

Returns ​

_RefFirestore<VueFirestoreDocumentData<T> | undefined>


useFirebaseApp ​

▸ useFirebaseApp(name?): FirebaseApp

Gets the firebase app instance.

Parameters ​

NameTypeDescription
name?stringoptional firebase app name

Returns ​

FirebaseApp

the firebase app


useFirebaseAuth ​

▸ useFirebaseAuth(): Auth | null

Retrieves the Firebase Auth instance. Returns null on the server. When using this function on the client in TypeScript, you can force the type with useFirebaseAuth()!.

Returns ​

Auth | null

the Auth instance


useFirebaseStorage ​

▸ useFirebaseStorage(name?): FirebaseStorage

Retrieves the Storage instance.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

FirebaseStorage

the Database instance


useFirestore ​

▸ useFirestore(name?): Firestore

Retrieves the Firestore instance.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

Firestore

the Firestore instance


useIsCurrentUserLoaded ​

▸ useIsCurrentUserLoaded(name?): ComputedRef<boolean>

Helper that returns a computed boolean that becomes true as soon as the current user is no longer undefined. Note this doesn't ensure the user is logged in, only if the initial signing process has run.

Parameters ​

NameTypeDescription
name?stringname of the application

Returns ​

ComputedRef<boolean>


useList ​

▸ useList<T>(reference, options?): _RefDatabase<VueDatabaseQueryData<T>>

Type parameters ​

NameType
Tunknown

Parameters ​

NameType
referenceMaybeRefOrGetter<_Nullable<Query | DatabaseReference>>
options?UseListOptions<T>

Returns ​

_RefDatabase<VueDatabaseQueryData<T>>

Deprecated

use useDatabaseList() instead


useObject ​

▸ useObject<T>(reference, options?): _RefDatabase<VueDatabaseDocumentData<T> | undefined>

Type parameters ​

NameType
Tunknown

Parameters ​

NameType
referenceMaybeRefOrGetter<_Nullable<DatabaseReference>>
options?UseObjectOptions<T>

Returns ​

_RefDatabase<VueDatabaseDocumentData<T> | undefined>

Deprecated

use useDatabaseObject() instead


usePendingPromises ​

▸ usePendingPromises(app?): Promise<readonly [string, unknown][]>

Allows awaiting for all pending data sources. Useful to wait for SSR

Parameters ​

NameTypeDescription
app?FirebaseAppthe firebase app

Returns ​

Promise<readonly [string, unknown][]>

  • a Promise that resolves with an array of all the resolved pending promises

useSSRInitialState ​

▸ useSSRInitialState(initialState, firebaseApp): SSRStore

Allows getting the initial state set during SSR on the client.

Parameters ​

NameTypeDescription
initialStateundefined | SSRStorethe initial state to set for the firebase app during SSR. Pass undefined to not set it
firebaseAppFirebaseAppthe firebase app to get the initial state for

Returns ​

SSRStore

the initial states for the current firebaseApp


useStorage ​

▸ useStorage(name?): FirebaseStorage

Parameters ​

NameType
name?string

Returns ​

FirebaseStorage

Deprecated

use useFirebaseStorage() instead


useStorageFile ​

▸ useStorageFile(storageRef): Object

Reactive information (url, metadata) of a StorageReference. Allows updating and deleting the storage object.

Parameters ​

NameTypeDescription
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>StorageReference

Returns ​

Object

NameType
metadataShallowRef<undefined | null | FullMetadata, undefined | null | FullMetadata>
refresh() => Promise<[null | string, null | FullMetadata]>
snapshotShallowRef<undefined | null | UploadTaskSnapshot, undefined | null | UploadTaskSnapshot>
updateMetadata(newMetadata: SettableMetadata) => Promise<null | FullMetadata>
upload(newData: Blob | Uint8Array | ArrayBuffer, newMetadata?: UploadMetadata) => undefined | Promise<unknown>
uploadErrorShallowRef<undefined | null | StorageError, undefined | null | StorageError>
uploadProgressComputedRef<null | number>
uploadTaskShallowRef<undefined | null | UploadTask, undefined | null | UploadTask>
urlRef<undefined | null | string, undefined | null | string>

useStorageFileMetadata ​

▸ useStorageFileMetadata(storageRef): Object

Returns a reactive version of the metadata of a StorageReference. Updates automatically if the StorageReference changes.

Parameters ​

NameTypeDescription
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>StorageReference

Returns ​

Object

NameType
metadataShallowRef<undefined | null | FullMetadata, undefined | null | FullMetadata>
promiseShallowRef<Promise<null | FullMetadata>, Promise<null | FullMetadata>>
refresh() => Promise<null | FullMetadata>
update(newMetadata: SettableMetadata) => Promise<null | FullMetadata>

useStorageFileUrl ​

▸ useStorageFileUrl(storageRef): Object

Retrieves a reactive download URL of a StorageReference. Updates automatically if the StorageReference changes.

Parameters ​

NameTypeDescription
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>StorageReference

Returns ​

Object

NameType
promiseShallowRef<Promise<null | string>, Promise<null | string>>
refresh() => Promise<null | string>
urlRef<undefined | null | string, undefined | null | string>

useStorageMetadata ​

▸ useStorageMetadata(storageRef): Object

Parameters ​

NameType
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>

Returns ​

Object

NameType
metadataShallowRef<undefined | null | FullMetadata, undefined | null | FullMetadata>
promiseShallowRef<Promise<null | FullMetadata>, Promise<null | FullMetadata>>
refresh() => Promise<null | FullMetadata>
update(newMetadata: SettableMetadata) => Promise<null | FullMetadata>

Deprecated

use useStorageFileMetadata() instead


useStorageObject ​

▸ useStorageObject(storageRef): Object

Parameters ​

NameType
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>

Returns ​

Object

NameType
metadataShallowRef<undefined | null | FullMetadata, undefined | null | FullMetadata>
refresh() => Promise<[null | string, null | FullMetadata]>
snapshotShallowRef<undefined | null | UploadTaskSnapshot, undefined | null | UploadTaskSnapshot>
updateMetadata(newMetadata: SettableMetadata) => Promise<null | FullMetadata>
upload(newData: Blob | Uint8Array | ArrayBuffer, newMetadata?: UploadMetadata) => undefined | Promise<unknown>
uploadErrorShallowRef<undefined | null | StorageError, undefined | null | StorageError>
uploadProgressComputedRef<null | number>
uploadTaskShallowRef<undefined | null | UploadTask, undefined | null | UploadTask>
urlRef<undefined | null | string, undefined | null | string>

Deprecated

use useStorageFile() instead


useStorageUrl ​

▸ useStorageUrl(storageRef): Object

Parameters ​

NameType
storageRefMaybeRefOrGetter<_Nullable<StorageReference>>

Returns ​

Object

NameType
promiseShallowRef<Promise<null | string>, Promise<null | string>>
refresh() => Promise<null | string>
urlRef<undefined | null | string, undefined | null | string>

Deprecated

use useStorageFileUrl() instead

Released under the MIT License.