angularfire2-offline
Version:
Cache angularfire2 data for offline use.
74 lines (73 loc) • 2.19 kB
TypeScript
import * as firebase from 'firebase/app';
import { Observable } from 'rxjs/Observable';
export interface FirebaseOperationCases {
stringCase: () => firebase.Promise<void>;
firebaseCase?: () => firebase.Promise<void>;
snapshotCase?: () => firebase.Promise<void>;
unwrappedSnapshotCase?: () => firebase.Promise<void>;
}
export interface AFUnwrappedDataSnapshot {
$key: string;
$value?: string | number | boolean;
$exists: () => boolean;
}
export interface Query {
[key: string]: any;
orderByKey?: boolean | Observable<boolean>;
orderByPriority?: boolean | Observable<boolean>;
orderByChild?: string | Observable<string>;
orderByValue?: boolean | Observable<boolean>;
equalTo?: any | Observable<any>;
startAt?: any | Observable<any>;
endAt?: any | Observable<any>;
limitToFirst?: number | Observable<number>;
limitToLast?: number | Observable<number>;
}
export interface ScalarQuery {
[key: string]: any;
orderByKey?: boolean;
orderByPriority?: boolean;
orderByChild?: string;
orderByValue?: boolean;
equalTo?: any;
startAt?: any;
endAt?: any;
limitToFirst?: number;
limitToLast?: number;
}
export interface OrderBySelection {
key: OrderByOptions;
value: boolean | string;
}
export interface LimitToSelection {
key: LimitToOptions;
value: number;
}
export interface FirebaseListFactoryOpts {
preserveSnapshot?: boolean;
query?: Query;
}
export interface FirebaseObjectFactoryOpts {
preserveSnapshot?: boolean;
}
export declare enum OrderByOptions {
Child = 0,
Key = 1,
Value = 2,
Priority = 3,
}
export declare enum LimitToOptions {
First = 0,
Last = 1,
}
export declare enum QueryOptions {
EqualTo = 0,
StartAt = 1,
EndAt = 2,
}
export declare type Primitive = number | string | boolean;
export declare type DatabaseSnapshot = firebase.database.DataSnapshot;
export declare type DatabaseReference = firebase.database.Reference;
export declare type DatabaseQuery = firebase.database.Query;
export declare type QueryReference = DatabaseReference | DatabaseQuery;
export declare type PathReference = QueryReference | string;