@orchestrator/ngx-until-destroyed
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

🤓 Angular - Unsubscribe For Pros 💪

Build Status Coverage Npm Npm Downloads Licence semantic-release

Declarative way to unsubscribe from observables when the component destroyed

Installation

$ npm install @orchestrator/ngx-until-destroyed --save

Usage

import { untilDestroyed } from '@orchestrator/ngx-until-destroyed';

@Component({
  selector: 'app-inbox',
  templateUrl: './inbox.component.html',
})
export class InboxComponent implements OnInit, OnDestroy {
  ngOnInit() {
    interval(1000)
      .pipe(untilDestroyed(this))
      .subscribe(val => console.log(val));
  }

  // This method must be present, even if empty.
  ngOnDestroy() {
    // To protect you, we'll throw an error if it doesn't exist.
  }
}

Use with decorator

import { WithUntilDestroyed } from '@orchestrator/ngx-until-destroyed';

@Component({...})
class MyComponent implements OnDestroy {
  @WithUntilDestroyed()
  stream$ = interval(1000); // You can safely subscribe to this everywhere

  // This method must be present, even if empty
  ngOnDestroy() {}
}

Use with any class

import { untilDestroyed } from '@orchestrator/ngx-until-destroyed';

export class Widget {
  constructor() {
    interval(1000)
      .pipe(untilDestroyed(this, 'destroy'))
      .subscribe(console.log);
  }

  // The name needs to be the same as the decorator parameter
  destroy() {}
}

Package Sidebar

Install

npm i @orchestrator/ngx-until-destroyed

Weekly Downloads

405

Version

1.1.1

License

MIT

Unpacked Size

25.4 kB

Total Files

16

Last publish

Collaborators

  • gund
  • orchestratora
  • ryuugan