@backtrace/sdk-core
Version:
Backtrace-JavaScript SDK core library
46 lines (45 loc) • 1.78 kB
TypeScript
import { OriginalAbortController, OriginalAbortSignal } from './abortInterfaces.js';
/**
* Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js
*/
declare class Emitter {
private readonly _listeners;
private readonly _events;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
dispatchEvent(event: Event): boolean;
}
/**
* Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js
*/
export declare class AbortSignal extends Emitter implements OriginalAbortSignal {
aborted: boolean;
onabort: ((this: OriginalAbortSignal, ev: Event) => unknown) | null;
reason: unknown;
constructor();
toString(): string;
throwIfAborted(): void;
dispatchEvent(event: Event): boolean;
any(signals: Iterable<globalThis.AbortSignal>): globalThis.AbortSignal;
}
/**
* Copied and repurposed from https://github.com/mo/abortcontroller-polyfill/blob/master/src/abortcontroller.js
*/
export declare class AbortController implements OriginalAbortController {
readonly signal: OriginalAbortSignal;
constructor();
abort(reason?: unknown): void;
toString(): string;
}
/**
* Creates a new abort controller.
*
* If the AbortController is not available, a polyfill is used.
* @returns
*/
export declare function createAbortController(): OriginalAbortController;
interface DisposableAbortSignal extends OriginalAbortSignal {
dispose(): void;
}
export declare function anySignal(...signals: (OriginalAbortSignal | undefined)[]): DisposableAbortSignal;
export {};