wavesurfer.js add many missing methods in version 3.3 (#43851)

* add types for v3.3.1,  fix alphabetical order

* header remove patch version

* Object to object
This commit is contained in:
bennordgengo 2020-04-14 05:02:05 +09:00 committed by GitHub
parent 0e1b33ddab
commit 2dd734125b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,8 @@
// Type definitions for wavesurfer.js 3.2
// Type definitions for wavesurfer.js 3.3
// Project: https://github.com/katspaugh/wavesurfer.js
// Definitions by: Yusuke Higuchi <https://github.com/higuri>, Egor Gorbachev <https://github.com/kubk>
// Definitions by: Yusuke Higuchi <https://github.com/higuri>
// Egor Gorbachev <https://github.com/kubk>
// Ben Nordstrom <https://github.com/bennordgengo>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2
@ -19,40 +21,61 @@ declare class Observer {
declare class WaveSurfer extends Observer {
constructor(params: WaveSurfer.WaveSurferParams);
static VERSION: string;
static util: WaveSurfer.WaveSurferUtil;
static create(params: WaveSurfer.WaveSurferParams): WaveSurfer;
// [x: string]: any
// pluginName -> WaveSurferPlugin
// propertyNameAddedByPlugin -> any
[x: string]: any;
backend: WaveSurfer.WaveSurferBackend;
util: WaveSurfer.WaveSurferUtil;
addPlugin(plugin: WaveSurfer.PluginDefinition): WaveSurfer;
cancelAjax(): void;
destroy(): void;
destroyPlugin(name: string): WaveSurfer;
empty(): void;
exportPCM(length?: number, accuracy?: number, noWindow?: boolean, start?: number, end?: number): Promise<string>;
exportImage(format?: string, quality?: number, type?: 'dataURL' | 'blob'): string | string[] | Promise<Blob[]>;
getActivePlugins(): object;
getBackgroundColor(): string;
getCurrentTime(): number;
getCursorColor(): string;
getDuration(): number;
getPlaybackRate(): number;
getVolume(): number;
getMute(): boolean;
getFilters(): AudioNode[];
getHeight(): number;
getPlaybackRate(): number;
getProgressColor(): string;
getMute(): boolean;
getVolume(): number;
getWaveColor(): string;
exportPCM(length: number, accuracy: number, noWindow?: boolean, start?: number): string;
exportImage(format: string, quality: number): string;
init(): void;
init(): WaveSurfer;
initPlugin(name: string): WaveSurfer;
isPlaying(): boolean;
isReady(): boolean;
load(url: string | HTMLMediaElement, peaks?: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>, preload?: string, duration?: number): void;
load(
url: string | HTMLMediaElement,
peaks?: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>,
preload?: string,
duration?: number,
): void;
loadBlob(url: Blob | File): void;
pause(): Promise<void> | undefined;
play(start?: number, end?: number): Promise<void> | undefined;
playPause(): Promise<void> | undefined;
registerPlugins(plugins: WaveSurfer.PluginDefinition[]): WaveSurfer;
seekAndCenter(progress: number): void;
seekTo(progress: number): void;
setBackgroundColor(color: string): void;
setCurrentTime(seconds: number): void;
setCursorColor(color: string): void;
setHeight(height: number): void;
setPlaybackRate(rate: number): void;
setVolume(newVolume: number): void;
setMute(mute: boolean): void;
setPlaybackRate(rate: number): void;
setPlayEnd(position: number): void;
setVolume(newVolume: number): void;
setWaveColor(color: string): void;
setSinkId(deviceId: string): void;
setSinkId(deviceId: string): Promise<any>;
skip(offset: number): void;
skipBackward(seconds?: number): void;
skipForward(seconds?: number): void;
@ -72,9 +95,24 @@ declare namespace WaveSurfer {
clearWave(): void;
createWrapper(): void;
destroy(): void;
drawBars(peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>, channelIndex: number, start: number, end: number): void;
drawPeaks(peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>, length: number, start: number, end: number): void;
drawWave(peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>, channelIndex: number, start: number, end: number): void;
drawBars(
peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>,
channelIndex: number,
start: number,
end: number,
): void;
drawPeaks(
peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>,
length: number,
start: number,
end: number,
): void;
drawWave(
peaks: ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>,
channelIndex: number,
start: number,
end: number,
): void;
getScrollX(): number;
getWidth(): number;
handleEvent(e: Event, noPrevent: boolean): number;
@ -114,15 +152,21 @@ declare namespace WaveSurfer {
audioRate?: number;
audioScriptProcessor?: ScriptProcessorNode;
autoCenter?: boolean;
backend?: string;
autoCenterRate?: number;
autoCenterImmediately?: boolean;
backend?: 'WebAudio' | 'MediaElement' | 'MediaElementWebAudio';
backgroundColor?: string;
barHeight?: number;
barWidth?: number;
barGap?: number;
barRadius?: number;
barGap?: number;
barWidth?: number;
barMinHeight?: number;
closeAudioContext?: boolean;
container: string | HTMLElement;
cursorColor?: string;
cursorWidth?: number;
drawingContextAttributes?: object;
duration?: number;
fillParent?: boolean;
forceDecode?: boolean;
height?: number;
@ -139,8 +183,9 @@ declare namespace WaveSurfer {
plugins?: PluginDefinition[];
progressColor?: string;
removeMediaElementOnDestroy?: boolean;
renderer?: { new(container: HTMLElement, params: WaveSurferParams): WaveRenderer };
renderer?: { new (container: HTMLElement, params: WaveSurferParams): WaveRenderer };
responsive?: boolean | number;
rtl?: boolean;
scrollParent?: boolean;
skipLength?: number;
splitChannels?: boolean;
@ -153,7 +198,7 @@ declare namespace WaveSurfer {
staticProps?: object;
deferInit?: boolean;
params: object;
instance: { new(params: object, ws: WaveSurfer): WaveSurferPlugin };
instance: { new (params: object, ws: WaveSurfer): WaveSurferPlugin };
}
interface ListenerDescriptor {
@ -171,4 +216,12 @@ declare namespace WaveSurfer {
key: string;
value: string;
}
interface WaveSurferBackend {
getPeaks(
length: number,
first?: number,
last?: number,
): ReadonlyArray<number> | ReadonlyArray<ReadonlyArray<number>>;
}
}