UNPKG

@voice-ping/cognitive-services-speech

Version:

VoicePing Cognitive Services Speech SDK for JavaScript forked from Microsoft

1 lines 5.2 kB
{"version":3,"sources":["src/common.speech/Transcription/ConversationUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAkB,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AA2CjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAoB7E;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,EACjC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,GAAQ,EACrB,IAAI,EAAE,GAAU,EAChB,OAAO,EAAE,eAAoB,EAC7B,QAAQ,EAAE,GAAG,GAAG,GAAG,CAuC1C;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAwBlG","file":"ConversationUtils.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { IRequestOptions, RestConfigBase } from \"../../common.browser/RestConfigBase\";\nimport { Promise, PromiseResult } from \"../../common/Promise\";\nimport { Callback } from \"../../sdk/Transcription/IConversation\";\nimport { IResponse } from \"./ConversationTranslatorInterfaces\";\n\n/**\n * Config settings for Conversation Translator\n */\n/**\n * Helpers for sending / receiving HTTPS requests / responses.\n * @param params\n */\nfunction queryParams(params: any = {}): any {\n return Object.keys(params)\n .map((k: any) => encodeURIComponent(k) + \"=\" + encodeURIComponent(params[k]))\n .join(\"&\");\n}\n\nfunction withQuery(url: string, params: any = {}): any {\n const queryString = queryParams(params);\n return queryString ? url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + queryString : url;\n}\n\nfunction parseXHRResult(xhr: XMLHttpRequest): IResponse {\n return {\n data: xhr.responseText,\n headers: xhr.getAllResponseHeaders(),\n json: <T>() => JSON.parse(xhr.responseText) as T,\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n}\n\nfunction errorResponse(xhr: XMLHttpRequest, message: string | null = null): IResponse {\n return {\n data: message || xhr.statusText,\n headers: xhr.getAllResponseHeaders(),\n json: <T>() => JSON.parse(message || (\"\\\"\" + xhr.statusText + \"\\\"\")) as T,\n ok: false,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n}\n\nexport function extractHeaderValue(headerKey: string, headers: string): string {\n\n let headerValue: string = \"\";\n\n try {\n const arr = headers.trim().split(/[\\r\\n]+/);\n const headerMap: any = {};\n arr.forEach((line: any) => {\n const parts = line.split(\": \");\n const header = parts.shift().toLowerCase();\n const value = parts.join(\": \");\n headerMap[header] = value;\n });\n\n headerValue = headerMap[headerKey.toLowerCase()];\n } catch (e) {\n // ignore the error\n }\n\n return headerValue;\n}\n\nexport function request(method: \"get\" | \"post\" | \"delete\",\n url: string,\n queryParams: any = {},\n body: any = null,\n options: IRequestOptions = {},\n callback: any): any {\n\n const defaultRequestOptions = RestConfigBase.requestOptions;\n\n const ignoreCache = options.ignoreCache || defaultRequestOptions.ignoreCache;\n const headers = options.headers || defaultRequestOptions.headers;\n const timeout = options.timeout || defaultRequestOptions.timeout;\n\n const xhr = new XMLHttpRequest();\n xhr.open(method, withQuery(url, queryParams), true);\n\n if (headers) {\n Object.keys(headers).forEach((key: any) => xhr.setRequestHeader(key, headers[key]));\n }\n\n if (ignoreCache) {\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n }\n\n xhr.timeout = timeout;\n\n xhr.onload = (evt: any) => {\n callback(parseXHRResult(xhr));\n };\n\n xhr.onerror = (evt: any) => {\n callback(errorResponse(xhr, \"Failed to make request.\"));\n };\n\n xhr.ontimeout = (evt: any) => {\n callback(errorResponse(xhr, \"Request took longer than expected.\"));\n };\n\n if (method === \"post\" && body) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send(JSON.stringify(body));\n } else {\n xhr.send();\n }\n}\n\nexport function PromiseToEmptyCallback<T>(promise: Promise<T>, cb?: Callback, err?: Callback): void {\n if (!!promise) {\n promise.continueWith((antecedent: PromiseResult<T>): void => {\n try {\n if (antecedent.isError) {\n if (!!err) {\n err(antecedent.error);\n }\n } else {\n if (!!cb) {\n cb();\n }\n }\n } catch (e) {\n if (!!err) {\n err(`'Unhandled error on promise callback: ${e}. InnerError: ${antecedent.error}'`);\n }\n }\n });\n } else {\n if (!!err) {\n err(\"Null promise\");\n }\n }\n}\n"]}