ngx-auto-unsubscribe-decorator
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    Angular - Auto unsubscribe decorator 🦄

    npm npm Build status

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

    Install

    npm i ngx-auto-unsubscribe-decorator

    DownloadsWeekly Downloads

    27

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    23.8 kB

    Total Files

    12

    Last publish

    Collaborators

    • nillcon