@angular-extensions/model
Version:
Angular Model - Simple state management with minimalistic API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
23 lines (22 loc) • 739 B
TypeScript
import { Observable } from 'rxjs';
export declare class Model<T> {
private immutable;
private clone?;
private _data;
data$: Observable<T>;
constructor(initialData: any, immutable: boolean, sharedSubscription: boolean, clone?: (data: T) => T);
get(): T;
set(data: T): void;
}
export declare class ModelFactory<T> {
create(initialData: T): Model<T>;
createMutable(initialData: T): Model<T>;
createMutableWithSharedSubscription(initialData: T): Model<T>;
createWithCustomClone(initialData: T, clone: (data: T) => T): Model<T>;
createWithConfig(config: {
initialData: T;
immutable: boolean;
sharedSubscription: boolean;
clone: (data: T) => T;
}): Model<T>;
}