UNPKG

blow-collection

Version:

Simple in memory collection with Rx / Observable interface.

26 lines (25 loc) 1.08 kB
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>; }