@hahnpro/ms-speech-sdk
Version:
Microsoft Cognitive Services Speech SDK for JavaScript
1 lines • 4.87 kB
Source Map (JSON)
{"version":3,"sources":["src/common.browser/WebsocketConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EAEf,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,qBAAa,mBAAoB,YAAW,WAAW;IAEnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,4BAA4B,CAA0B;IAC9D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAkB;gBAGpC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC1C,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAClC,gBAAgB,EAAE,0BAA0B,EAC5C,SAAS,EAAE,SAAS,EACpB,iBAAiB,GAAE,OAAe,EAClC,YAAY,CAAC,EAAE,MAAM;IAyDZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,UAAU,IAAI,OAAO;IAI5B,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAEM,KAAK,IAAI,eAAe;IAIxB,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIvC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIzC,IAAW,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC,CAEhD;CACJ","file":"WebsocketConnection.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport {\n ArgumentNullError,\n ConnectionEvent,\n ConnectionMessage,\n ConnectionOpenResponse,\n ConnectionState,\n createNoDashGuid,\n EventSource,\n IConnection,\n IStringDictionary,\n IWebsocketMessageFormatter,\n} from \"../common/Exports.js\";\nimport { ProxyInfo } from \"./ProxyInfo.js\";\nimport { WebsocketMessageAdapter } from \"./WebsocketMessageAdapter.js\";\n\nexport class WebsocketConnection implements IConnection {\n\n private privUri: string;\n private privMessageFormatter: IWebsocketMessageFormatter;\n private privConnectionMessageAdapter: WebsocketMessageAdapter;\n private privId: string;\n private privIsDisposed: boolean = false;\n\n public constructor(\n uri: string,\n queryParameters: IStringDictionary<string>,\n headers: IStringDictionary<string>,\n messageFormatter: IWebsocketMessageFormatter,\n proxyInfo: ProxyInfo,\n enableCompression: boolean = false,\n connectionId?: string) {\n\n if (!uri) {\n throw new ArgumentNullError(\"uri\");\n }\n\n if (!messageFormatter) {\n throw new ArgumentNullError(\"messageFormatter\");\n }\n\n this.privMessageFormatter = messageFormatter;\n\n let queryParams = \"\";\n let i = 0;\n\n if (queryParameters) {\n for (const paramName in queryParameters) {\n if (paramName) {\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\n\n const key = encodeURIComponent(paramName);\n queryParams += key;\n\n let val = queryParameters[paramName];\n if (val) {\n val = encodeURIComponent(val);\n queryParams += `=${val}`;\n }\n\n i++;\n }\n }\n }\n\n if (headers) {\n for (const headerName in headers) {\n if (headerName) {\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\n const val = encodeURIComponent(headers[headerName]);\n queryParams += `${headerName}=${val}`;\n i++;\n }\n }\n }\n\n this.privUri = uri + queryParams;\n this.privId = connectionId ? connectionId : createNoDashGuid();\n\n this.privConnectionMessageAdapter = new WebsocketMessageAdapter(\n this.privUri,\n this.id,\n this.privMessageFormatter,\n proxyInfo,\n headers,\n enableCompression);\n }\n\n public async dispose(): Promise<void> {\n this.privIsDisposed = true;\n\n if (this.privConnectionMessageAdapter) {\n await this.privConnectionMessageAdapter.close();\n }\n }\n\n public isDisposed(): boolean {\n return this.privIsDisposed;\n }\n\n public get id(): string {\n return this.privId;\n }\n\n public get uri(): string {\n return this.privUri;\n }\n\n public state(): ConnectionState {\n return this.privConnectionMessageAdapter.state;\n }\n\n public open(): Promise<ConnectionOpenResponse> {\n return this.privConnectionMessageAdapter.open();\n }\n\n public send(message: ConnectionMessage): Promise<void> {\n return this.privConnectionMessageAdapter.send(message);\n }\n\n public read(): Promise<ConnectionMessage> {\n return this.privConnectionMessageAdapter.read();\n }\n\n public get events(): EventSource<ConnectionEvent> {\n return this.privConnectionMessageAdapter.events;\n }\n}\n"]}