UNPKG

timing-object

Version:

An implementation of the timing object specification.

32 lines (21 loc) 1.1 kB
import { TConnectionState, TEventHandler, TTimingStateVectorUpdate } from '../types'; import { IEventTarget } from './event-target'; import { ITimingProviderEventMap } from './timing-provider-event-map'; import { ITimingStateVector } from './timing-state-vector'; // @todo It is not specified that the TimingProvider should implement the EventTarget interface. export interface ITimingProvider extends IEventTarget<ITimingProviderEventMap> { readonly endPosition: number; // @todo error is not part of the specification. readonly error: null | Error; // @todo onadjust is not part of the specification. onadjust: null | TEventHandler<this>; // @todo onchange is not part of the specification. onchange: null | TEventHandler<this>; // @todo onreadystatechange is not part of the specification. onreadystatechange: null | TEventHandler<this>; readonly readyState: TConnectionState; readonly skew: number; readonly startPosition: number; readonly vector: ITimingStateVector; update(newVector: TTimingStateVectorUpdate): Promise<void>; }