Rxdeep
For the easier determination of a value change inside a deeply nested object, use Rxdeep's state's output observable for wrapping an object to subscribe to the change events.
import { state } from 'rxdeep';
const s = state([ { name: 'John' }, { name: 'Jack' }, { name: 'Jill' } ]);
// Listen to changes on 'name' property of index 1 on the list:
s.sub(1).sub('name').subscribe(console.log); // --> logs `Jack`