@uppy/utils
Version:
Shared utility functions for Uppy Core and plugins maintained by the Uppy team.
20 lines (19 loc) • 668 B
JavaScript
import hasProperty from './hasProperty.js';
/**
* Little AbortController proxy module so we can swap out the implementation easily later.
*/
export const { AbortController } = globalThis;
export const { AbortSignal } = globalThis;
export const createAbortError = (message = 'Aborted', options) => {
const err = new DOMException(message, 'AbortError');
if (options != null && hasProperty(options, 'cause')) {
Object.defineProperty(err, 'cause', {
// @ts-expect-error TS is drunk
__proto__: null,
configurable: true,
writable: true,
value: options.cause,
});
}
return err;
};