With Angular OnPush strategy, the change detection gets triggered only if an @Input() variable is changed by ref.
However when using Ngrx, we subscribe to the store's selectors, and Angular's OnPush strategy detect changes in these subscriptions even if they're not passed in input variables.
My question is how does this work? How is it that with OnPush strategy Angular detect changes in Ngrx store without them being passed through input variables?
I tried searching for the answer in the api, then tried to scan Ngrx code in Github, but had no luck so far. If you know where is the piece of Ngrx code responsible for this that I'm missing in source code you'd would make my day.