import {KvWatcher, IterWatcher, NgxWatcherService} from 'ngx-watcher';
@Component({...})
export class TestComponent implements DoCheck {
private kvWatcher: KvWatcher<any>;
private iterWatcher: IterWatcher<any>;
value = {};
array = [];
constructor(private service: NgxWatcherService) {
this.kvWatcher = service.of(this.value);
this.iterWatcher = service.ofIter(this.array);
}
ngDoCheck(): void {
this.kvWatcher.watch(
this.value,
v => console.log(`change after value:`, v),
(t, v) => console.log(`changed value: WatchChangeType=${t} ${v.key} ${v.previousValue} ${v.currentValue}`)
);
this.iterWatcher.watch(
this.array,
v => console.log(`change after value:`, v),
(t, v) => console.log(`changed value: WatchChangeType=${t} ${v.currentIndex} ${v.item} ${v.previousIndex} ${v.trackById}`)
);
}
}