@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
33 lines (25 loc) • 712 B
text/typescript
import { MAX_SEEK_TIME, SEEK_TYPE, SKIP_TIME_BASE } from "../const";
export interface ISeekControllerDelegate {
handleDelayedSeek(offset: number): void;
handleSeek(offset: number): void;
handleSeekComplete(): void;
handlePlayerPause(): void;
}
export interface ISeekController {
title: string;
onStartSeek(seekType: SEEK_TYPE): void;
onSeekEnd(): void;
reset(): void;
}
export class SeekIncrementalBaseStrategy {
private skipMultiplier = 1;
getSkipTime = () =>
Math.min(MAX_SEEK_TIME, SKIP_TIME_BASE * this.skipMultiplier);
increment = () => {
this.skipMultiplier++;
};
getSkipMultiplier = () => this.skipMultiplier;
reset = () => {
this.skipMultiplier = 1;
};
}