UNPKG

speech-recognition-aws-polyfill

Version:

Polyfill for the SpeechRecognition browser API using AWS Transcribe

41 lines (32 loc) 892 B
/** * Conection singleton */ class Connection { private static url: string private static instance?: WebSocket private constructor() {} public static getInstance() { if ((!Connection.instance || !Connection.isActive()) && Connection.url) { Connection.instance = new WebSocket(Connection.url); Connection.instance.binaryType = 'arraybuffer' } return Connection.instance; } public static isActive() { return !!(Connection.instance?.readyState === WebSocket.OPEN) } public static setUrl(url: string) { if (Connection.url !== url) { Connection.instance = new WebSocket(url); Connection.instance.binaryType = 'arraybuffer' } Connection.url = url } public static close() { if (Connection.isActive()) { Connection.instance?.close() } Connection.instance = undefined; } } export default Connection