export function createCancelablePromiseList() { var list = []; return { add: function add(cancelablePromise) { list.push(cancelablePromise); return cancelablePromise.finally(function () { list = list.filter(function (item) { return item !== cancelablePromise; }); }); }, cancelAll: function cancelAll() { list.forEach(function (promise) { return promise.cancel(); }); }, isEmpty: function isEmpty() { return list.length === 0; } }; }