@badisi/ngx-safe-subscribe 4.0.13 → 4.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -27,4 +27,4 @@ export function safeSubscribe(target, ...args) {
|
|
|
27
27
|
return sub;
|
|
28
28
|
}
|
|
29
29
|
Observable.prototype.safeSubscribe = safeSubscribe;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNhZmUtc3Vic2NyaWJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbmd4LXNhZmUtc3Vic2NyaWJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3pELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBUTVELE1BQU0sVUFBVSxhQUFhLENBQUMsY0FBYyxHQUFFLGFBQWE7SUFDdkQsT0FBTyxDQUFDLFNBQW1CLEVBQUUsRUFBRTtRQUMzQixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVELFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUc7WUFDbEMsZUFBZSxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQyxDQUFBO1FBQ0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQXlCLE1BQVcsRUFBRSxHQUFHLElBQVM7SUFDM0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLDZHQUE2RyxDQUFDLENBQUM7UUFDN0osQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBQ0QsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IEhBU19ERUNPUkFUT1IgPSBTeW1ib2woJ19fc2FmZVN1YnNjcmliZURlY29yYXRvcicpO1xuY29uc3QgU1VCU0NSSVBUSU9OID0gU3ltYm9sKCdfX3NhZmVTdWJzY3JpYmVTdWJzY3JpcHRpb24kJyk7XG5cbmRlY2xhcmUgbW9kdWxlICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnIHtcbiAgICBpbnRlcmZhY2UgT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHNhZmVTdWJzY3JpYmU6IHR5cGVvZiBzYWZlU3Vic2NyaWJlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNhZmVTdWJzY3JpYmUoZGVzdHJ1Y3Rvck5hbWUgPSduZ09uRGVzdHJveScpOiBDbGFzc0RlY29yYXRvciB7XG4gICAgcmV0dXJuIChjbGFzc1R5cGU6IEZ1bmN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsRGVzdHJveSA9IGNsYXNzVHlwZS5wcm90b3R5cGVbZGVzdHJ1Y3Rvck5hbWVdO1xuICAgICAgICBjbGFzc1R5cGUucHJvdG90eXBlW2Rlc3RydWN0b3JOYW1lXSA9IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgICAgIG9yaWdpbmFsRGVzdHJveSAmJiBvcmlnaW5hbERlc3Ryb3kuY2FsbCh0aGlzKTtcbiAgICAgICAgICAgIHRoaXNbU1VCU0NSSVBUSU9OXT8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXNbU1VCU0NSSVBUSU9OXSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY2xhc3NUeXBlLnByb3RvdHlwZVtIQVNfREVDT1JBVE9SXSA9IHRydWU7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVTdWJzY3JpYmU8VD4odGhpczogT2JzZXJ2YWJsZTxUPiwgdGFyZ2V0OiBhbnksIC4uLmFyZ3M6IGFueSk6IFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3Qgc3ViID0gdGhpcy5zdWJzY3JpYmUoLi4uYXJncyk7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgICBjb25zdCBoYXNEZWNvcmF0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KVtIQVNfREVDT1JBVE9SXTtcbiAgICAgICAgaWYgKCFoYXNEZWNvcmF0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX0gY2xhc3MgbXVzdCBiZSBkZWNvcmF0ZWQgd2l0aCBAU2FmZVN1YnNjcmliZSgpIG90aGVyd2lzZSBPYnNlcnZhYmxlPFQ+LnNhZmVTdWJzY3JpYmUoKSB3aWxsIGhhdmUgbm8gZWZmZWN0LmApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFyZ2V0W1NVQlNDUklQVElPTl0pIHtcbiAgICAgICAgICAgIHRhcmdldFtTVUJTQ1JJUFRJT05dID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIHRhcmdldFtTVUJTQ1JJUFRJT05dLmFkZChzdWIpO1xuICAgIH1cbiAgICByZXR1cm4gc3ViO1xufVxuT2JzZXJ2YWJsZS5wcm90b3R5cGUuc2FmZVN1YnNjcmliZSA9IHNhZmVTdWJzY3JpYmU7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badisi-ngx-safe-subscribe.mjs","sources":["../../ngx-safe-subscribe.ts","../../badisi-ngx-safe-subscribe.ts"],"sourcesContent":["import { Observable, Subscription } from 'rxjs';\n\nconst HAS_DECORATOR = Symbol('__safeSubscribeDecorator');\nconst SUBSCRIPTION = Symbol('__safeSubscribeSubscription$');\n\ndeclare module 'rxjs/internal/Observable' {\n interface Observable<T> {\n safeSubscribe: typeof safeSubscribe;\n }\n}\n\nexport function SafeSubscribe(destructorName ='ngOnDestroy'): ClassDecorator {\n return (classType: Function) => {\n const originalDestroy = classType.prototype[destructorName];\n classType.prototype[destructorName] = function (this: any) {\n originalDestroy && originalDestroy.call(this);\n this[SUBSCRIPTION]?.unsubscribe();\n this[SUBSCRIPTION] = null;\n }\n classType.prototype[HAS_DECORATOR] = true;\n };\n}\n\nexport function safeSubscribe<T>(this: Observable<T>, target: any, ...args: any): Subscription {\n const sub = this.subscribe(...args);\n if (target) {\n const hasDecorator = Object.getPrototypeOf(target)[HAS_DECORATOR];\n if (!hasDecorator) {\n throw new Error(`${target.constructor.name} class must be decorated with @SafeSubscribe() otherwise Observable<T>.safeSubscribe() will have no effect.`);\n }\n if (!target[SUBSCRIPTION]) {\n target[SUBSCRIPTION] = new Subscription();\n }\n target[SUBSCRIPTION].add(sub);\n }\n return sub;\n}\nObservable.prototype.safeSubscribe = safeSubscribe;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './ngx-safe-subscribe';\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAQ5C,SAAA,aAAa,CAAC,cAAc,GAAE,aAAa,EAAA;IACvD,OAAO,CAAC,SAAmB,KAAI;QAC3B,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC5D,QAAA,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,YAAA;AAClC,YAAA,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAC9B,SAAC,CAAA;AACD,QAAA,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC9C,KAAC,CAAC;AACN,CAAC;SAEe,aAAa,CAAyB,MAAW,EAAE,GAAG,IAAS,EAAA;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"badisi-ngx-safe-subscribe.mjs","sources":["../../ngx-safe-subscribe.ts","../../badisi-ngx-safe-subscribe.ts"],"sourcesContent":["import { Observable, Subscription } from 'rxjs';\n\nconst HAS_DECORATOR = Symbol('__safeSubscribeDecorator');\nconst SUBSCRIPTION = Symbol('__safeSubscribeSubscription$');\n\ndeclare module 'rxjs/internal/Observable' {\n interface Observable<T> {\n safeSubscribe: typeof safeSubscribe;\n }\n}\n\nexport function SafeSubscribe(destructorName ='ngOnDestroy'): ClassDecorator {\n return (classType: Function) => {\n const originalDestroy = classType.prototype[destructorName];\n classType.prototype[destructorName] = function (this: any) {\n originalDestroy && originalDestroy.call(this);\n this[SUBSCRIPTION]?.unsubscribe();\n this[SUBSCRIPTION] = null;\n }\n classType.prototype[HAS_DECORATOR] = true;\n };\n}\n\nexport function safeSubscribe<T>(this: Observable<T>, target: any, ...args: any): Subscription {\n const sub = this.subscribe(...args);\n if (target) {\n const hasDecorator = Object.getPrototypeOf(target)[HAS_DECORATOR];\n if (!hasDecorator) {\n throw new Error(`${target.constructor.name} class must be decorated with @SafeSubscribe() otherwise Observable<T>.safeSubscribe() will have no effect.`);\n }\n if (!target[SUBSCRIPTION]) {\n target[SUBSCRIPTION] = new Subscription();\n }\n target[SUBSCRIPTION].add(sub);\n }\n return sub;\n}\nObservable.prototype.safeSubscribe = safeSubscribe;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './ngx-safe-subscribe';\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAQ5C,SAAA,aAAa,CAAC,cAAc,GAAE,aAAa,EAAA;IACvD,OAAO,CAAC,SAAmB,KAAI;QAC3B,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC5D,QAAA,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,YAAA;AAClC,YAAA,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAC9B,SAAC,CAAA;AACD,QAAA,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC9C,KAAC,CAAC;AACN,CAAC;SAEe,aAAa,CAAyB,MAAW,EAAE,GAAG,IAAS,EAAA;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE;QACR,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,CAAG,EAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAA6G,2GAAA,CAAA,CAAC,CAAC;SAC5J;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;AACvB,YAAA,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;SAC7C;QACD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACjC;AACD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AACD,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa;;ACrClD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@badisi/ngx-safe-subscribe",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.15",
|
|
4
4
|
"description": "Easy way to automatically unsubscribe from RxJS observables in Angular components",
|
|
5
5
|
"homepage": "https://github.com/badisi/ngx-safe-subscribe",
|
|
6
6
|
"license": "MIT",
|