45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import type { MediaParserController } from '../controller/media-parser-controller';
|
|
import type { MediaParserLogLevel } from '../log';
|
|
import type { ParseMediaRange, ParseMediaSrc } from '../options';
|
|
import type { PrefetchCache } from './from-fetch';
|
|
export type Reader = {
|
|
reader: ReadableStreamDefaultReader<Uint8Array>;
|
|
abort: () => Promise<void>;
|
|
};
|
|
type ReadResult = {
|
|
reader: Reader;
|
|
contentLength: number | null;
|
|
contentType: string | null;
|
|
name: string;
|
|
supportsContentRange: boolean;
|
|
needsContentRange: boolean;
|
|
};
|
|
export type ReadContent = (options: {
|
|
src: ParseMediaSrc;
|
|
range: ParseMediaRange;
|
|
controller: MediaParserController;
|
|
logLevel: MediaParserLogLevel;
|
|
prefetchCache: PrefetchCache;
|
|
}) => Promise<ReadResult>;
|
|
export type ReadWholeAsText = (src: ParseMediaSrc) => Promise<string>;
|
|
export type PreloadContent = (options: {
|
|
src: ParseMediaSrc;
|
|
range: ParseMediaRange;
|
|
logLevel: MediaParserLogLevel;
|
|
prefetchCache: PrefetchCache;
|
|
}) => void;
|
|
export type ClearPreloadCache = (options: {
|
|
src: ParseMediaSrc;
|
|
range: ParseMediaRange;
|
|
logLevel: MediaParserLogLevel;
|
|
prefetchCache: PrefetchCache;
|
|
}) => void;
|
|
export type CreateAdjacentFileSource = (relativePath: string, src: ParseMediaSrc) => string;
|
|
export type MediaParserReaderInterface = {
|
|
read: ReadContent;
|
|
readWholeAsText: ReadWholeAsText;
|
|
createAdjacentFileSource: CreateAdjacentFileSource;
|
|
preload: PreloadContent;
|
|
};
|
|
export {};
|