m3u8parse
Version:
Structural parsing of Apple HTTP Live Streaming .m3u8 format
29 lines (28 loc) • 1.39 kB
TypeScript
import { PlaylistType } from './parser.ts';
import type { M3U8Playlist, MainPlaylist, MediaPlaylist } from './playlist.ts';
import { ParseOptions } from './index.ts';
export * from './index.ts';
interface BufferLike extends Uint8Array {
toString(encoding?: string, start?: number, end?: number): string;
equals(otherBuffer: Uint8Array): boolean;
}
interface StreamLike {
pipe(destination: any, options?: any): any;
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
emit(event: string | symbol, ...args: any[]): boolean;
}
export default function (input: string | BufferLike, options?: ParseOptions & {
type: PlaylistType.Main | 'main';
}): MainPlaylist;
export default function (input: string | BufferLike, options?: ParseOptions & {
type: PlaylistType.Media | 'media';
}): MediaPlaylist;
export default function (input: string | BufferLike, options?: ParseOptions): M3U8Playlist;
export default function (input: StreamLike, options?: ParseOptions & {
type: PlaylistType.Main | 'main';
}): Promise<MainPlaylist>;
export default function (input: StreamLike, options?: ParseOptions & {
type: PlaylistType.Media | 'media';
}): Promise<MediaPlaylist>;
export default function (input: StreamLike, options?: ParseOptions): Promise<M3U8Playlist>;