geofire-with-custom-data
Version:
Location-based querying and filtering using Firebase
42 lines (41 loc) • 1.34 kB
TypeScript
import * as DatabaseTypes from '@firebase/database-types';
export declare namespace GeoFireTypes {
interface Document {
'.priority': string;
g: string;
l: number[];
data?: any;
}
type KeyCallback = (key?: string, location?: number[], distanceFromCenter?: number) => void;
interface LocationTracked {
location: number[];
distanceFromCenter: number;
isInQuery: boolean;
geohash: string;
data: any;
}
type ReadyCallback = () => void;
interface QueryCallbacks {
ready: ReadyCallback[];
key_entered: KeyCallback[];
key_exited: KeyCallback[];
key_moved: KeyCallback[];
}
interface QueryCriteria {
center?: number[];
radius?: number;
}
type QueryStateCallback = (a: firebase.DataSnapshot | null, b?: string) => any;
interface QueryState {
active: boolean;
childAddedCallback: QueryStateCallback;
childRemovedCallback: QueryStateCallback;
childChangedCallback: QueryStateCallback;
valueCallback: QueryStateCallback;
}
namespace firebase {
type DataSnapshot = DatabaseTypes.DataSnapshot;
type Reference = DatabaseTypes.Reference;
type Query = DatabaseTypes.Query;
}
}