5370a97d7a5a44d2ef2c150e1089fa4d92e89852694795c717f3ccc9b14fcf55.json 41 KB

1
  1. {"ast":null,"code":"\"use strict\";\n\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar _asyncToGenerator = require(\"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/asyncToGenerator.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TranslationServiceRecognizer = void 0;\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst Exports_js_2 = require(\"../sdk/Exports.js\");\nconst Exports_js_3 = require(\"./Exports.js\");\n// eslint-disable-next-line max-classes-per-file\nclass TranslationServiceRecognizer extends Exports_js_3.ConversationServiceRecognizer {\n constructor(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer) {\n super(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer);\n this.privTranslationRecognizer = translationRecognizer;\n this.connectionEvents.attach(connectionEvent => {\n if (connectionEvent.name === \"ConnectionEstablishedEvent\") {\n this.privTranslationRecognizer.onConnection();\n }\n });\n }\n processTypeSpecificMessages(connectionMessage) {\n var _this = this;\n return _asyncToGenerator(function* () {\n const resultProps = new Exports_js_2.PropertyCollection();\n let processed = yield _this.processSpeechMessages(connectionMessage);\n if (processed) {\n return true;\n }\n const handleTranslationPhrase = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (translatedPhrase) {\n _this.privRequestSession.onPhraseRecognized(_this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset + translatedPhrase.Duration);\n if (translatedPhrase.RecognitionStatus === Exports_js_3.RecognitionStatus.Success) {\n // OK, the recognition was successful. How'd the translation do?\n const result = _this.fireEventForResult(translatedPhrase, resultProps);\n if (!!_this.privTranslationRecognizer.recognized) {\n try {\n _this.privTranslationRecognizer.recognized(_this.privTranslationRecognizer, result);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n // report result to promise.\n if (!!_this.privSuccessCallback) {\n try {\n _this.privSuccessCallback(result.result);\n } catch (e) {\n if (!!_this.privErrorCallback) {\n _this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n _this.privSuccessCallback = undefined;\n _this.privErrorCallback = undefined;\n }\n } else {\n const reason = Exports_js_3.EnumTranslation.implTranslateRecognitionResult(translatedPhrase.RecognitionStatus);\n const result = new Exports_js_2.TranslationRecognitionResult(undefined, _this.privRequestSession.requestId, reason, translatedPhrase.Text, translatedPhrase.Duration, _this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset, translatedPhrase.Language, translatedPhrase.Confidence, undefined, connectionMessage.textBody, resultProps);\n if (reason === Exports_js_2.ResultReason.Canceled) {\n const cancelReason = Exports_js_3.EnumTranslation.implTranslateCancelResult(translatedPhrase.RecognitionStatus);\n const cancellationErrorCode = Exports_js_3.EnumTranslation.implTranslateCancelErrorCode(translatedPhrase.RecognitionStatus);\n yield _this.cancelRecognitionLocal(cancelReason, cancellationErrorCode, Exports_js_3.EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\n } else {\n if (!(_this.privRequestSession.isSpeechEnded && reason === Exports_js_2.ResultReason.NoMatch && translatedPhrase.RecognitionStatus !== Exports_js_3.RecognitionStatus.InitialSilenceTimeout)) {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(result, result.offset, _this.privRequestSession.sessionId);\n if (!!_this.privTranslationRecognizer.recognized) {\n try {\n _this.privTranslationRecognizer.recognized(_this.privTranslationRecognizer, ev);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n // report result to promise.\n if (!!_this.privSuccessCallback) {\n try {\n _this.privSuccessCallback(result);\n } catch (e) {\n if (!!_this.privErrorCallback) {\n _this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n _this.privSuccessCallback = undefined;\n _this.privErrorCallback = undefined;\n }\n }\n processed = true;\n }\n });\n return function handleTranslationPhrase(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n const handleTranslationHypothesis = (hypothesis, resultProperties) => {\n const result = _this.fireEventForResult(hypothesis, resultProperties);\n _this.privRequestSession.onHypothesis(_this.privRequestSession.currentTurnAudioOffset + result.offset);\n if (!!_this.privTranslationRecognizer.recognizing) {\n try {\n _this.privTranslationRecognizer.recognizing(_this.privTranslationRecognizer, result);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n };\n if (connectionMessage.messageType === Exports_js_1.MessageType.Text) {\n resultProps.setProperty(Exports_js_2.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"translation.hypothesis\":\n handleTranslationHypothesis(Exports_js_3.TranslationHypothesis.fromJSON(connectionMessage.textBody), resultProps);\n break;\n case \"translation.response\":\n const phrase = JSON.parse(connectionMessage.textBody);\n if (!!phrase.SpeechPhrase) {\n yield handleTranslationPhrase(Exports_js_3.TranslationPhrase.fromTranslationResponse(phrase));\n } else {\n const hypothesis = JSON.parse(connectionMessage.textBody);\n if (!!hypothesis.SpeechHypothesis) {\n handleTranslationHypothesis(Exports_js_3.TranslationHypothesis.fromTranslationResponse(hypothesis), resultProps);\n }\n }\n break;\n case \"translation.phrase\":\n yield handleTranslationPhrase(Exports_js_3.TranslationPhrase.fromJSON(connectionMessage.textBody));\n break;\n case \"translation.synthesis\":\n _this.sendSynthesisAudio(connectionMessage.binaryBody, _this.privRequestSession.sessionId);\n processed = true;\n break;\n case \"audio.end\":\n case \"translation.synthesis.end\":\n const synthEnd = Exports_js_3.TranslationSynthesisEnd.fromJSON(connectionMessage.textBody);\n switch (synthEnd.SynthesisStatus) {\n case Exports_js_3.SynthesisStatus.Error:\n if (!!_this.privTranslationRecognizer.synthesizing) {\n const result = new Exports_js_2.TranslationSynthesisResult(Exports_js_2.ResultReason.Canceled, undefined);\n const retEvent = new Exports_js_2.TranslationSynthesisEventArgs(result, _this.privRequestSession.sessionId);\n try {\n _this.privTranslationRecognizer.synthesizing(_this.privTranslationRecognizer, retEvent);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n if (!!_this.privTranslationRecognizer.canceled) {\n // And raise a canceled event to send the rich(er) error message back.\n const canceledResult = new Exports_js_2.TranslationRecognitionCanceledEventArgs(_this.privRequestSession.sessionId, Exports_js_2.CancellationReason.Error, synthEnd.FailureReason, Exports_js_2.CancellationErrorCode.ServiceError, null);\n try {\n _this.privTranslationRecognizer.canceled(_this.privTranslationRecognizer, canceledResult);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case Exports_js_3.SynthesisStatus.Success:\n _this.sendSynthesisAudio(undefined, _this.privRequestSession.sessionId);\n break;\n default:\n break;\n }\n processed = true;\n break;\n default:\n break;\n }\n return processed;\n })();\n }\n // Cancels recognition.\n cancelRecognition(sessionId, requestId, cancellationReason, errorCode, error) {\n const properties = new Exports_js_2.PropertyCollection();\n properties.setProperty(Exports_js_3.CancellationErrorCodePropertyName, Exports_js_2.CancellationErrorCode[errorCode]);\n if (!!this.privTranslationRecognizer.canceled) {\n const cancelEvent = new Exports_js_2.TranslationRecognitionCanceledEventArgs(sessionId, cancellationReason, error, errorCode, undefined);\n try {\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, cancelEvent);\n /* eslint-disable no-empty */\n } catch {}\n }\n if (!!this.privSuccessCallback) {\n const result = new Exports_js_2.TranslationRecognitionResult(undefined,\n // Translations\n requestId, Exports_js_2.ResultReason.Canceled, undefined,\n // Text\n undefined,\n // Druation\n undefined,\n // Offset\n undefined,\n // Language\n undefined,\n // LanguageDetectionConfidence\n error, undefined,\n // Json\n properties);\n try {\n this.privSuccessCallback(result);\n /* eslint-disable no-empty */\n this.privSuccessCallback = undefined;\n } catch {}\n }\n }\n handleRecognizingCallback(result, duration, sessionId) {\n try {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(Exports_js_2.TranslationRecognitionResult.fromSpeechRecognitionResult(result), duration, sessionId);\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, ev);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n handleRecognizedCallback(result, offset, sessionId) {\n try {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(Exports_js_2.TranslationRecognitionResult.fromSpeechRecognitionResult(result), offset, sessionId);\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n fireEventForResult(serviceResult, properties) {\n let translations;\n if (undefined !== serviceResult.Translation.Translations) {\n translations = new Exports_js_2.Translations();\n for (const translation of serviceResult.Translation.Translations) {\n translations.set(translation.Language, translation.Text || translation.DisplayText);\n }\n }\n let resultReason;\n let confidence;\n if (serviceResult instanceof Exports_js_3.TranslationPhrase) {\n if (!!serviceResult.Translation && serviceResult.Translation.TranslationStatus === Exports_js_1.TranslationStatus.Success) {\n resultReason = Exports_js_2.ResultReason.TranslatedSpeech;\n } else {\n resultReason = Exports_js_2.ResultReason.RecognizedSpeech;\n }\n confidence = serviceResult.Confidence;\n } else {\n resultReason = Exports_js_2.ResultReason.TranslatingSpeech;\n }\n const language = serviceResult.Language;\n const offset = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\n const result = new Exports_js_2.TranslationRecognitionResult(translations, this.privRequestSession.requestId, resultReason, serviceResult.Text, serviceResult.Duration, offset, language, confidence, serviceResult.Translation.FailureReason, JSON.stringify(serviceResult), properties);\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\n return ev;\n }\n sendSynthesisAudio(audio, sessionId) {\n const reason = undefined === audio ? Exports_js_2.ResultReason.SynthesizingAudioCompleted : Exports_js_2.ResultReason.SynthesizingAudio;\n const result = new Exports_js_2.TranslationSynthesisResult(reason, audio);\n const retEvent = new Exports_js_2.TranslationSynthesisEventArgs(result, sessionId);\n if (!!this.privTranslationRecognizer.synthesizing) {\n try {\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\n /* eslint-disable no-empty */\n } catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n}\nexports.TranslationServiceRecognizer = TranslationServiceRecognizer;","map":{"version":3,"names":["_asyncToGenerator","require","default","Object","defineProperty","exports","value","TranslationServiceRecognizer","Exports_js_1","Exports_js_2","Exports_js_3","ConversationServiceRecognizer","constructor","authentication","connectionFactory","audioSource","recognizerConfig","translationRecognizer","privTranslationRecognizer","connectionEvents","attach","connectionEvent","name","onConnection","processTypeSpecificMessages","connectionMessage","_this","resultProps","PropertyCollection","processed","processSpeechMessages","handleTranslationPhrase","_ref","translatedPhrase","privRequestSession","onPhraseRecognized","currentTurnAudioOffset","Offset","Duration","RecognitionStatus","Success","result","fireEventForResult","recognized","error","privSuccessCallback","e","privErrorCallback","undefined","reason","EnumTranslation","implTranslateRecognitionResult","TranslationRecognitionResult","requestId","Text","Language","Confidence","textBody","ResultReason","Canceled","cancelReason","implTranslateCancelResult","cancellationErrorCode","implTranslateCancelErrorCode","cancelRecognitionLocal","implTranslateErrorDetails","isSpeechEnded","NoMatch","InitialSilenceTimeout","ev","TranslationRecognitionEventArgs","offset","sessionId","_x","apply","arguments","handleTranslationHypothesis","hypothesis","resultProperties","onHypothesis","recognizing","messageType","MessageType","setProperty","PropertyId","SpeechServiceResponse_JsonResult","path","toLowerCase","TranslationHypothesis","fromJSON","phrase","JSON","parse","SpeechPhrase","TranslationPhrase","fromTranslationResponse","SpeechHypothesis","sendSynthesisAudio","binaryBody","synthEnd","TranslationSynthesisEnd","SynthesisStatus","Error","synthesizing","TranslationSynthesisResult","retEvent","TranslationSynthesisEventArgs","canceled","canceledResult","TranslationRecognitionCanceledEventArgs","CancellationReason","FailureReason","CancellationErrorCode","ServiceError","cancelRecognition","cancellationReason","errorCode","properties","CancellationErrorCodePropertyName","cancelEvent","handleRecognizingCallback","duration","fromSpeechRecognitionResult","handleRecognizedCallback","serviceResult","translations","Translation","Translations","translation","set","DisplayText","resultReason","confidence","TranslationStatus","TranslatedSpeech","RecognizedSpeech","TranslatingSpeech","language","stringify","audio","SynthesizingAudioCompleted","SynthesizingAudio"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranslationServiceRecognizer.js"],"sourcesContent":["\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationServiceRecognizer = void 0;\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst Exports_js_2 = require(\"../sdk/Exports.js\");\nconst Exports_js_3 = require(\"./Exports.js\");\n// eslint-disable-next-line max-classes-per-file\nclass TranslationServiceRecognizer extends Exports_js_3.ConversationServiceRecognizer {\n constructor(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer) {\n super(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer);\n this.privTranslationRecognizer = translationRecognizer;\n this.connectionEvents.attach((connectionEvent) => {\n if (connectionEvent.name === \"ConnectionEstablishedEvent\") {\n this.privTranslationRecognizer.onConnection();\n }\n });\n }\n async processTypeSpecificMessages(connectionMessage) {\n const resultProps = new Exports_js_2.PropertyCollection();\n let processed = await this.processSpeechMessages(connectionMessage);\n if (processed) {\n return true;\n }\n const handleTranslationPhrase = async (translatedPhrase) => {\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset + translatedPhrase.Duration);\n if (translatedPhrase.RecognitionStatus === Exports_js_3.RecognitionStatus.Success) {\n // OK, the recognition was successful. How'd the translation do?\n const result = this.fireEventForResult(translatedPhrase, resultProps);\n if (!!this.privTranslationRecognizer.recognized) {\n try {\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, result);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result.result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n }\n else {\n const reason = Exports_js_3.EnumTranslation.implTranslateRecognitionResult(translatedPhrase.RecognitionStatus);\n const result = new Exports_js_2.TranslationRecognitionResult(undefined, this.privRequestSession.requestId, reason, translatedPhrase.Text, translatedPhrase.Duration, this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset, translatedPhrase.Language, translatedPhrase.Confidence, undefined, connectionMessage.textBody, resultProps);\n if (reason === Exports_js_2.ResultReason.Canceled) {\n const cancelReason = Exports_js_3.EnumTranslation.implTranslateCancelResult(translatedPhrase.RecognitionStatus);\n const cancellationErrorCode = Exports_js_3.EnumTranslation.implTranslateCancelErrorCode(translatedPhrase.RecognitionStatus);\n await this.cancelRecognitionLocal(cancelReason, cancellationErrorCode, Exports_js_3.EnumTranslation.implTranslateErrorDetails(cancellationErrorCode));\n }\n else {\n if (!(this.privRequestSession.isSpeechEnded && reason === Exports_js_2.ResultReason.NoMatch && translatedPhrase.RecognitionStatus !== Exports_js_3.RecognitionStatus.InitialSilenceTimeout)) {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\n if (!!this.privTranslationRecognizer.recognized) {\n try {\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n }\n processed = true;\n }\n };\n const handleTranslationHypothesis = (hypothesis, resultProperties) => {\n const result = this.fireEventForResult(hypothesis, resultProperties);\n this.privRequestSession.onHypothesis(this.privRequestSession.currentTurnAudioOffset + result.offset);\n if (!!this.privTranslationRecognizer.recognizing) {\n try {\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, result);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n };\n if (connectionMessage.messageType === Exports_js_1.MessageType.Text) {\n resultProps.setProperty(Exports_js_2.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"translation.hypothesis\":\n handleTranslationHypothesis(Exports_js_3.TranslationHypothesis.fromJSON(connectionMessage.textBody), resultProps);\n break;\n case \"translation.response\":\n const phrase = JSON.parse(connectionMessage.textBody);\n if (!!phrase.SpeechPhrase) {\n await handleTranslationPhrase(Exports_js_3.TranslationPhrase.fromTranslationResponse(phrase));\n }\n else {\n const hypothesis = JSON.parse(connectionMessage.textBody);\n if (!!hypothesis.SpeechHypothesis) {\n handleTranslationHypothesis(Exports_js_3.TranslationHypothesis.fromTranslationResponse(hypothesis), resultProps);\n }\n }\n break;\n case \"translation.phrase\":\n await handleTranslationPhrase(Exports_js_3.TranslationPhrase.fromJSON(connectionMessage.textBody));\n break;\n case \"translation.synthesis\":\n this.sendSynthesisAudio(connectionMessage.binaryBody, this.privRequestSession.sessionId);\n processed = true;\n break;\n case \"audio.end\":\n case \"translation.synthesis.end\":\n const synthEnd = Exports_js_3.TranslationSynthesisEnd.fromJSON(connectionMessage.textBody);\n switch (synthEnd.SynthesisStatus) {\n case Exports_js_3.SynthesisStatus.Error:\n if (!!this.privTranslationRecognizer.synthesizing) {\n const result = new Exports_js_2.TranslationSynthesisResult(Exports_js_2.ResultReason.Canceled, undefined);\n const retEvent = new Exports_js_2.TranslationSynthesisEventArgs(result, this.privRequestSession.sessionId);\n try {\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n if (!!this.privTranslationRecognizer.canceled) {\n // And raise a canceled event to send the rich(er) error message back.\n const canceledResult = new Exports_js_2.TranslationRecognitionCanceledEventArgs(this.privRequestSession.sessionId, Exports_js_2.CancellationReason.Error, synthEnd.FailureReason, Exports_js_2.CancellationErrorCode.ServiceError, null);\n try {\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, canceledResult);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case Exports_js_3.SynthesisStatus.Success:\n this.sendSynthesisAudio(undefined, this.privRequestSession.sessionId);\n break;\n default:\n break;\n }\n processed = true;\n break;\n default:\n break;\n }\n return processed;\n }\n // Cancels recognition.\n cancelRecognition(sessionId, requestId, cancellationReason, errorCode, error) {\n const properties = new Exports_js_2.PropertyCollection();\n properties.setProperty(Exports_js_3.CancellationErrorCodePropertyName, Exports_js_2.CancellationErrorCode[errorCode]);\n if (!!this.privTranslationRecognizer.canceled) {\n const cancelEvent = new Exports_js_2.TranslationRecognitionCanceledEventArgs(sessionId, cancellationReason, error, errorCode, undefined);\n try {\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, cancelEvent);\n /* eslint-disable no-empty */\n }\n catch { }\n }\n if (!!this.privSuccessCallback) {\n const result = new Exports_js_2.TranslationRecognitionResult(undefined, // Translations\n requestId, Exports_js_2.ResultReason.Canceled, undefined, // Text\n undefined, // Druation\n undefined, // Offset\n undefined, // Language\n undefined, // LanguageDetectionConfidence\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n /* eslint-disable no-empty */\n this.privSuccessCallback = undefined;\n }\n catch { }\n }\n }\n handleRecognizingCallback(result, duration, sessionId) {\n try {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(Exports_js_2.TranslationRecognitionResult.fromSpeechRecognitionResult(result), duration, sessionId);\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, ev);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n handleRecognizedCallback(result, offset, sessionId) {\n try {\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(Exports_js_2.TranslationRecognitionResult.fromSpeechRecognitionResult(result), offset, sessionId);\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n fireEventForResult(serviceResult, properties) {\n let translations;\n if (undefined !== serviceResult.Translation.Translations) {\n translations = new Exports_js_2.Translations();\n for (const translation of serviceResult.Translation.Translations) {\n translations.set(translation.Language, translation.Text || translation.DisplayText);\n }\n }\n let resultReason;\n let confidence;\n if (serviceResult instanceof Exports_js_3.TranslationPhrase) {\n if (!!serviceResult.Translation && serviceResult.Translation.TranslationStatus === Exports_js_1.TranslationStatus.Success) {\n resultReason = Exports_js_2.ResultReason.TranslatedSpeech;\n }\n else {\n resultReason = Exports_js_2.ResultReason.RecognizedSpeech;\n }\n confidence = serviceResult.Confidence;\n }\n else {\n resultReason = Exports_js_2.ResultReason.TranslatingSpeech;\n }\n const language = serviceResult.Language;\n const offset = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\n const result = new Exports_js_2.TranslationRecognitionResult(translations, this.privRequestSession.requestId, resultReason, serviceResult.Text, serviceResult.Duration, offset, language, confidence, serviceResult.Translation.FailureReason, JSON.stringify(serviceResult), properties);\n const ev = new Exports_js_2.TranslationRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\n return ev;\n }\n sendSynthesisAudio(audio, sessionId) {\n const reason = (undefined === audio) ? Exports_js_2.ResultReason.SynthesizingAudioCompleted : Exports_js_2.ResultReason.SynthesizingAudio;\n const result = new Exports_js_2.TranslationSynthesisResult(reason, audio);\n const retEvent = new Exports_js_2.TranslationSynthesisEventArgs(result, sessionId);\n if (!!this.privTranslationRecognizer.synthesizing) {\n try {\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\n /* eslint-disable no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n}\nexports.TranslationServiceRecognizer = TranslationServiceRecognizer;\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}