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();
}
}