11import { Ref , ref , MaybeRefOrGetter } from 'vue-demi'
22import { DatabaseReference , getDatabase , Query } from 'firebase/database'
33import { _Nullable , _RefWithState } from '../shared'
4- import { _DatabaseRefOptions } from './bind'
54import {
65 VueDatabaseDocumentData ,
76 VueDatabaseQueryData ,
@@ -13,7 +12,7 @@ import { UseDatabaseRefOptions, _useDatabaseRef } from './useDatabaseRef'
1312export { globalDatabaseOptions } from './bind'
1413export type { UseDatabaseRefOptions }
1514
16- export type UseListOptions = UseDatabaseRefOptions
15+ export type UseListOptions < DataT = unknown > = UseDatabaseRefOptions < DataT >
1716
1817/**
1918 * Creates a reactive variable connected to the database as an array. Each element in the array will contain an `id`
@@ -25,7 +24,7 @@ export type UseListOptions = UseDatabaseRefOptions
2524 */
2625export function useDatabaseList < T = unknown > (
2726 reference : MaybeRefOrGetter < _Nullable < DatabaseReference | Query > > ,
28- options ?: UseListOptions
27+ options ?: UseListOptions < T >
2928) : _RefDatabase < VueDatabaseQueryData < T > > {
3029 const data = ref < T [ ] > ( [ ] ) as Ref < T [ ] >
3130 return _useDatabaseRef (
@@ -43,7 +42,7 @@ export function useDatabaseList<T = unknown>(
4342 */
4443export const useList = useDatabaseList
4544
46- export type UseObjectOptions = UseDatabaseRefOptions
45+ export type UseObjectOptions < DataT = unknown > = UseDatabaseRefOptions < DataT >
4746
4847/**
4948 * Creates a reactive variable connected to the database as an object. If the reference is a primitive, it will be
@@ -55,7 +54,7 @@ export type UseObjectOptions = UseDatabaseRefOptions
5554 */
5655export function useDatabaseObject < T = unknown > (
5756 reference : MaybeRefOrGetter < _Nullable < DatabaseReference > > ,
58- options ?: UseObjectOptions
57+ options ?: UseObjectOptions < T >
5958) : _RefDatabase < VueDatabaseDocumentData < T > | undefined > {
6059 const data = ref < T | null > ( )
6160 return _useDatabaseRef ( reference , {
0 commit comments