import { LoadStats } from '../../src/loader/load-stats'; import type { FragmentLoaderContext, Loader, LoaderCallbacks, LoaderConfiguration, LoaderContext, } from '../../src/types/loader'; import type { HlsConfig } from '../../src/config'; export class MockXhr implements Loader { context!: LoaderContext; stats: LoadStats; callbacks: LoaderCallbacks | null = null; config: LoaderConfiguration | null = null; constructor(confg: HlsConfig) { this.stats = new LoadStats(); } load( context: LoaderContext, config: LoaderConfiguration, callbacks: LoaderCallbacks, ) { this.stats.loading.start = self.performance.now(); this.context = context; this.config = config; this.callbacks = callbacks; } abort() { if (this.callbacks?.onAbort) { this.callbacks.onAbort(this.stats, this.context as any, null); } } destroy(): void { this.callbacks = null; this.config = null; } }