ngx-auto-unsubscribe-decorator
v1.1.0
Published
Decorator for auto unsubscribtion from observable
Downloads
6,778
Maintainers
Readme
Angular - Auto unsubscribe decorator 🦄
Installation
npm i ngx-auto-unsubscribe-decorator
Idea 💡
This library has been created for removing useless code with manually unsubscribes, for this one was created decorator that works with all types of subscriptions, you can wrap observable parameter, a method that returns observable or a method that returns subscription and doesn't think about memory leak.
Examples 🧪
Work with parameters
export class UserComponent implements OnInit {
@AutoUnsubscribe() // <-- Should be on the target parameter
private userData$ = new BehaviorSubject(/* Some data */);
public ngOnInit(): void {
// After ngOnDestroy this subscription will unsubscribe
this.userData$.subscribe();
// You can override parameter, it will unsubscribe too
this.userData$ = new Subject();
this.userData$.subscribe();
}
}
Work with methods
export class UserComponent implements OnInit {
public ngOnInit(): void {
this.getUserData$().subscribe();
this.initUserDataSubscription();
}
@AutoUnsubscribe() // <-- Should be on the target method
public getUserData$(): BehaviorSubject {
return new BehaviorSubject(/* Some data */);
}
@AutoUnsubscribe() // <-- Should be on the target method
public initUserDataSubscription(): BehaviorSubject {
return new BehaviorSubject(/* Some data */).subscribe();
}
}