sound-visualizer
Version:
27 lines (24 loc) • 941 B
TypeScript
import { DrawContinuousOptions } from '../continuous/draw/options.js';
import { DrawCurrentOptions } from '../current/draw/options.js';
import './draw/options.js';
/**
* The type returned by both `currentVisualizer` and `continuousVisualizer`.
*/
type VisualizerFunctions = {
start: () => void;
stop: () => void;
reset: () => void;
};
/**
* The type of the `currentVisualizer` function.
*/
type CurrentVisualizer = (audio: MediaStream, canvas: HTMLCanvasElement, drawOptions?: DrawCurrentOptions) => VisualizerFunctions;
/**
* The type of the `continuousVisualizer` function.
*/
type ContinuousVisualizer = (audio: MediaStream, canvas: HTMLCanvasElement, drawOptions?: DrawContinuousOptions) => VisualizerFunctions;
/**
* A union type matching both visualizer functions.
*/
type Visualizer = ContinuousVisualizer | CurrentVisualizer;
export { ContinuousVisualizer, CurrentVisualizer, Visualizer, VisualizerFunctions };