angular-slickgrid
Version:
Slickgrid components made available in Angular
19 lines • 2.2 kB
JavaScript
/**
* Unsubscribe all Observables Subscriptions
* It will return an empty array if it all went well
* @param subscriptions
*/
export function unsubscribeAllObservables(subscriptions) {
if (Array.isArray(subscriptions)) {
let subscription = subscriptions.pop();
while (subscription) {
if (typeof subscription.unsubscribe === 'function') {
subscription.unsubscribe();
}
subscription = subscriptions.pop();
}
}
// TODO: deprecated, remove the return type in next major version
return subscriptions;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL3NlcnZpY2VzL3V0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGFBQWlEO0lBQ3pGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksT0FBTyxZQUFZLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNuRCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUNELFlBQVksR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxpRUFBaUU7SUFDakUsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVW5zdWJzY3JpYmUgYWxsIE9ic2VydmFibGVzIFN1YnNjcmlwdGlvbnNcbiAqIEl0IHdpbGwgcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGl0IGFsbCB3ZW50IHdlbGxcbiAqIEBwYXJhbSBzdWJzY3JpcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bnN1YnNjcmliZUFsbE9ic2VydmFibGVzKHN1YnNjcmlwdGlvbnM6IEFycmF5PHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfT4pOiBhbnlbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHN1YnNjcmlwdGlvbnMpKSB7XG4gICAgbGV0IHN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbnMucG9wKCk7XG4gICAgd2hpbGUgKHN1YnNjcmlwdGlvbikge1xuICAgICAgaWYgKHR5cGVvZiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICBzdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb25zLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRPRE86IGRlcHJlY2F0ZWQsIHJlbW92ZSB0aGUgcmV0dXJuIHR5cGUgaW4gbmV4dCBtYWpvciB2ZXJzaW9uXG4gIHJldHVybiBzdWJzY3JpcHRpb25zO1xufVxuIl19