@voice-ping/cognitive-services-speech
Version:
VoicePing Cognitive Services Speech SDK for JavaScript forked from Microsoft
1 lines • 3 kB
Source Map (JSON)
{"version":3,"sources":["src/common.speech/Transcription/ConversationRequestSession.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,OAAO,EACV,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,qBAAa,0BAA0B;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,6BAA6B,CAAoB;IACzD,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,MAAM;IAM7B,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAE/C;IAEM,oBAAoB,2DAE1B;IAEM,eAAe,6CAIrB;IAEM,8BAA8B,gDAMpC;IAEM,wBAAwB,2CAM9B;IAEM,OAAO,2BAQb;IAED,OAAO,CAAC,UAAU,CAEjB;CAEJ","file":"ConversationRequestSession.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport {\n createNoDashGuid,\n Deferred,\n IDetachable,\n Promise,\n} from \"../../common/Exports\";\n\n/**\n * Placeholder class for the Conversation Request Session. Based off RequestSession.\n * TODO: define what telemetry is required.\n */\nexport class ConversationRequestSession {\n private privIsDisposed: boolean = false;\n private privDetachables: IDetachable[] = new Array<IDetachable>();\n private privRequestId: string;\n private privRequestCompletionDeferral: Deferred<boolean>;\n private privSessionId: string;\n\n constructor(sessionId: string) {\n this.privSessionId = sessionId;\n this.privRequestId = createNoDashGuid();\n this.privRequestCompletionDeferral = new Deferred<boolean>();\n }\n\n public get sessionId(): string {\n return this.privSessionId;\n }\n\n public get requestId(): string {\n return this.privRequestId;\n }\n\n public get completionPromise(): Promise<boolean> {\n return this.privRequestCompletionDeferral.promise();\n }\n\n public onPreConnectionStart = (authFetchEventId: string, connectionId: string): void => {\n this.privSessionId = connectionId;\n }\n\n public onAuthCompleted = (isError: boolean, error?: string): void => {\n if (isError) {\n this.onComplete();\n }\n }\n\n public onConnectionEstablishCompleted = (statusCode: number, reason?: string): void => {\n if (statusCode === 200) {\n return;\n } else if (statusCode === 403) {\n this.onComplete();\n }\n }\n\n public onServiceTurnEndResponse = (continuousRecognition: boolean): void => {\n if (!continuousRecognition) {\n this.onComplete();\n } else {\n this.privRequestId = createNoDashGuid();\n }\n }\n\n public dispose = (error?: string): void => {\n if (!this.privIsDisposed) {\n // we should have completed by now. If we did not its an unknown error.\n this.privIsDisposed = true;\n for (const detachable of this.privDetachables) {\n detachable.detach();\n }\n }\n }\n\n private onComplete = (): void => {\n //\n }\n\n}\n"]}