@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
20 lines (19 loc) • 574 B
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import { makeGenericController } from "@arcgis/lumina/controllers";
const useCancelable = () => {
return makeGenericController((_, controller) => {
const resources = /* @__PURE__ */ new Set();
controller.onDisconnected(() => {
resources.forEach((resource) => resource.cancel());
});
return {
add: (resourceOrResources) => {
[resourceOrResources].flat().forEach((resource) => resources.add(resource));
},
resources
};
});
};
export {
useCancelable as u
};