Closed
Description
Stream notifies all subscribers of changes no matter what box you listen.
I can offer a quick solution(PR: #152):
void _setup() {
if (!_Observable.isSubscribed(store)) {
_Observable.subscribe(store);
}
final storeAddress = store.ptr.address;
_Observable._any[storeAddress] ??= <int, Any>{};
_Observable._any[storeAddress][entityId] ??= (u, pid, __) {
// dummy value to trigger an event
_Observable.controller.add(entityId);
};
}
I changed _Observable.controller.add(pid)
-> _Observable.controller.add(entityId)
And:
Stream<List<T>> findStream({int offset = 0, int limit = 0}) {
_setup();
return _Observable.controller.stream.where((e)=>e == entityId)
.map((_) => find(offset: offset, limit: limit));
}
/// Use this for Query Property
Stream<Query<T>> get stream {
_setup();
return _Observable.controller.stream.where((e)=>e == entityId).map((_) => this);
}
I added .where((e)=>e == entityId)
to stream