Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/libs/observable-api/basic-state.ts

20 lines
477 B
TypeScript
Raw Normal View History

2023-01-24 13:01:40 +01:00
import { BehaviorSubject } from "rxjs";
/**
* @export
* @class BasicState
* @extends {BehaviorSubject<T>}
* @description - A RxJS BehaviorSubject this Subject ensures the data is unique, not updating any Observes unless there is an actual change of the value.
*/
2023-01-24 14:13:10 +01:00
export class BasicState<T> extends BehaviorSubject<T> {
2023-01-24 13:01:40 +01:00
constructor(initialData: T) {
super(initialData);
}
next(newData: T): void {
if(newData !== this.getValue()) {
super.next(newData);
}
}
}