UNPKG

ngx-diagrams

Version:

> Light Weight, Modular, Typed Diagram Engine for Angular

34 lines (33 loc) 1.62 kB
import { BehaviorSubject, MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs'; import { BaseEntity } from '../base.entity'; import { ID } from '../utils'; import { EntityMap, Entries, HashMap } from '../utils/types'; export declare class ValueState<T> { protected readonly stream$: BehaviorSubject<T>; readonly value$: Observable<T>; constructor(value?: T, operator?: OperatorFunction<any, any>); get value(): T; set(value: T): ValueState<T>; emit(): void; select(): Observable<T>; select(project: (value: T) => T): Observable<T>; select<R>(project: (value: T) => R): Observable<R>; } export declare function createValueState<T>(value: T, operator?: OperatorFunction<any, any>): ValueState<T>; export declare class EntityState<T extends BaseEntity> extends ValueState<EntityMap<T>> { protected stream$: BehaviorSubject<EntityMap<T>>; value$: Observable<EntityMap<T>>; constructor(value?: EntityMap<T>, entityPipe?: MonoTypeOperatorFunction<EntityMap<T>>); destroy(): void; clear(destroy?: boolean): this; get(id: ID): T; has(id: ID): boolean; add(entity: T): EntityState<T>; addMany(entities: T[]): EntityState<T>; remove(id: ID, destroy?: boolean): EntityState<T>; array(): T[]; array$(): Observable<T[]>; forEach(cb: (value: T, key: string, map: EntityMap<T>) => void): void; map<R = any>(cb: (value: T, index: number, array: T[]) => R): R[]; } export declare function createEntityState<T extends BaseEntity>(value: HashMap<T> | Entries<T>, entityPipe: MonoTypeOperatorFunction<Map<ID, T>>): EntityState<T>;