@uppy/utils
Version:
Shared utility functions for Uppy Core and plugins maintained by the Uppy team.
23 lines (22 loc) • 672 B
text/typescript
import hasOwnProperty 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?: Parameters<typeof Error>[1],
): DOMException => {
const err = new DOMException(message, 'AbortError')
if (options != null && hasOwnProperty(options, 'cause')) {
Object.defineProperty(err, 'cause', {
// @ts-expect-error TS is drunk
__proto__: null,
configurable: true,
writable: true,
value: options.cause,
})
}
return err
}