UNPKG

ngx-until-on-destroy

Version:

Allow you unsubscribe subscriptions when component was destroying. Can be used with Angular 5-10

2 lines 1.93 kB
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("rxjs"),require("@angular/core")):"function"==typeof define&&define.amd?define("ngx-until-on-destroy",["exports","rxjs","@angular/core"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self)["ngx-until-on-destroy"]={},n.rxjs,n.ng.core)}(this,(function(n,r,o){"use strict";function t(n){var r=n.target,o=n.hookName,t=n.oldName,e=n.wrappingFn,i=r[o];return r[t]=i,function(){if(e.call(this),i)return i.call(this)}}function e(n){var r=n.target,e=n.hookName,i=n.oldName,a=n.wrappingFn,u="ng"+e;if(!r[u]&&+o.VERSION.major<9)throw function(n,r){return new Error("You have to implements "+n+" in component (or directive) "+r)}(u,r.constructor.name);r[u]=t({target:r,hookName:u,oldName:i,wrappingFn:a})}var i=Symbol("subscription"),a=Symbol("decorated"),u=Symbol("onInit"),c=Symbol("onDestroy");function s(n){n.target.constructor["ɵfac"]&&function(n){var r=n.target,o=n.hookName,e=n.oldName,i=n.wrappingFn,a=o.slice(0,1).toLowerCase()+o.slice(1),u=function(n){return n.constructor["ɵcmp"]||n.constructor["ɵdir"]}(r);u[a]=t({target:u,hookName:a,oldName:e,wrappingFn:i})}(n),e(n)}function f(n){(function(n){return n.hasOwnProperty(a)})(n)||(!function(n){n[a]=!0}(n),s({target:n,hookName:"OnInit",oldName:u,wrappingFn:function(){this[i]=new r.Subscription}}),s({target:n,hookName:"OnDestroy",oldName:c,wrappingFn:function(){this[i].unsubscribe()}}))}n.UntilOnDestroy=function(){return function(n,o){return f(n),{value:(t=n[o],function(){for(var n=this,o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];var a=t.apply(this,o);if(a instanceof r.Subscription)this[i].add(a);else{if(!Array.isArray(a))throw new Error("Decorated method must return Subscription or Subscription[]");a.forEach((function(r){return n[i].add(r)}))}return a})};var t}},Object.defineProperty(n,"__esModule",{value:!0})})); //# sourceMappingURL=ngx-until-on-destroy.umd.min.js.map