@bigin/ns-firebase
Version:
138 lines (137 loc) • 3.34 kB
TypeScript
import { firestore } from './firebase';
export declare enum QueryOrderByType {
KEY = 0,
VALUE = 1,
CHILD = 2,
PRIORITY = 3,
}
export declare enum QueryRangeType {
START_AT = 0,
END_AT = 1,
EQUAL_TO = 2,
}
export declare enum QueryLimitType {
FIRST = 0,
LAST = 1,
}
declare type ActionCodeSettings = {
url: string;
handleCodeInApp?: boolean;
android?: {
installApp?: boolean;
minimumVersion?: string;
packageName: string;
};
iOS?: {
bundleId: string;
dynamicLinkDomain?: string;
};
};
export interface OnDisconnectBase {
cancel(): Promise<any>;
remove(): Promise<any>;
set(value: any): Promise<any>;
setWithPriority(value: any, priority: number | string): Promise<any>;
update(values: Object): Promise<any>;
}
export interface DataSnapshot {
key: string;
ref: any;
child(path: string): DataSnapshot;
exists(): boolean;
forEach(action: (snapshot: DataSnapshot) => any): boolean;
getPriority(): string | number | null;
hasChild(path: string): boolean;
hasChildren(): boolean;
numChildren(): number;
toJSON(): Object;
val(): any;
}
export interface FBData {
type: string;
key: string;
value: any;
}
export interface FBDataSingleEvent extends FBData {
children?: Array<any>;
}
export interface FBErrorData {
error: string;
}
export interface GetAuthTokenOptions {
forceRefresh?: boolean;
}
export interface IdTokenResult {
token: string;
claims: {
[key: string]: any;
};
signInProvider: string;
expirationTime: number;
issuedAtTime: number;
authTime: number;
}
export interface QueryRangeOption {
type: QueryRangeType;
value: any;
}
export interface QueryOptions {
orderBy: {
type: QueryOrderByType;
value?: string;
};
range?: QueryRangeOption;
ranges?: QueryRangeOption[];
limit?: {
type: QueryLimitType;
value: number;
};
singleEvent?: boolean;
}
export interface Provider {
id: string;
token?: string;
}
export interface User {
uid: string;
email?: string;
emailVerified: boolean;
displayName?: string;
phoneNumber?: string;
anonymous: boolean;
isAnonymous: boolean;
providers: Array<Provider>;
photoURL?: string;
metadata: UserMetadata;
additionalUserInfo?: AdditionalUserInfo;
refreshToken?: string;
getIdToken(forceRefresh?: boolean): Promise<string>;
getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;
sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
}
export interface UserMetadata {
creationTimestamp: Date;
lastSignInTimestamp: Date;
}
export interface AdditionalUserInfo {
profile: Map<string, any>;
providerId: string;
username: string;
isNewUser: boolean;
}
export declare type JDocumentReference = com.google.firebase.firestore.DocumentReference;
export declare type JCollectionReference = com.google.firebase.firestore.CollectionReference;
export declare class QuerySnapshot implements firestore.QuerySnapshot {
private snapshot;
private _docSnapshots;
constructor(snapshot: com.google.firebase.firestore.QuerySnapshot);
metadata: {
fromCache: boolean;
hasPendingWrites: boolean;
};
get docs(): firestore.QueryDocumentSnapshot[];
docSnapshots: firestore.DocumentSnapshot[];
docChanges(options?: firestore.SnapshotListenOptions): firestore.DocumentChange[];
forEach(callback: (result: firestore.DocumentSnapshot) => void, thisArg?: any): void;
}
export * from './firebase-common';