UNPKG

@ortoo/angular-resource

Version:

Magical CRUD resource management for angular

35 lines (34 loc) 1.53 kB
import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Subject } from 'rxjs/Subject'; import { ArrayEmitter } from './array-emitter.js'; import { Database, Model, Query as IQuery, QueryFunction, QueryList, Resource, SocketFactory } from './types'; export declare class Query<T> extends ArrayEmitter<T> implements IQuery<T> { $refresh: (force?: boolean) => Promise<Query<T>>; $promise: Promise<Query<T>>; $subject: BehaviorSubject<Query<T>>; $resolvedSubject: Subject<Query<T>>; $resolved: boolean; $Model: any; $serverResults?: Query<T>; $skip?: number; $hasNext: boolean; $hasPrev: boolean; extend: (obj: any, noSanitize?: boolean, retServer?: boolean) => Promise<Query<T>>; replace: (qry: any, retServer?: boolean) => Promise<Query<T>>; get: (...args: any[]) => any; next: (num?: number) => Promise<Query<T>>; prev: (num?: number) => Promise<Query<T>>; chain: (Model: Resource<Model> | QueryFunction, qryFn?: QueryFunction) => IQuery<Model>; transform: (tmpResults: any[]) => Promise<any[]> | any[]; currentLimit: number; currentSkip: number; loading: boolean; hasNext: boolean; hasPrev: boolean; } export declare class LocalQuery<T> extends Query<T> { } export declare class ServerQuery<T> extends Query<T> { $newData?: (qryId: string, response: any, force?: boolean) => void; } export declare function createQueryFactory(socket: SocketFactory): (url: string, rootKey: string, rootKeyPlural: string, db?: Database) => QueryList;