blow-collection
Version:
Simple in memory collection with Rx / Observable interface.
26 lines (25 loc) • 1.08 kB
TypeScript
import { Observable } from 'rxjs';
import { Query, QueryRaw, QueryWhere } from 'blow-query';
import { CollectionOptions } from './interfaces';
export declare class Collection<T> {
protected _data: T[];
protected _idKey: string;
protected _idGenerator: () => string | number;
constructor(options?: CollectionOptions);
readonly size: number;
protected readonly _data$: Observable<T>;
protected _getId(data: any): any;
protected _setId(data: any, id?: any): any;
protected _hasId(data: any): boolean;
create(data: any): Observable<T>;
update(where: QueryWhere, data: any): Observable<number>;
updateOrCreate(data: any): Observable<T>;
count(where?: QueryWhere): Observable<number>;
destroy(where?: QueryWhere): Observable<number>;
destroyById(id: any): Observable<boolean>;
find(query?: QueryRaw | Query): Observable<T>;
findOne(query?: QueryRaw | Query): Observable<T>;
findById(id: any): Observable<T>;
findOrCreate(where: QueryWhere, data: any): Observable<T>;
exists(id: any): Observable<boolean>;
}