{"version":3,"sources":["src/common.speech/ServiceMessages/DetailedSpeechPhrase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGjE,MAAM,WAAW,qBAAqB;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAqB,YAAW,qBAAqB;IAC9D,OAAO,CAAC,wBAAwB,CAAwB;IAExD,OAAO;WAKO,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAInD,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAiB9D,IAAW,iBAAiB,IAAI,iBAAiB,CAEhD;IACD,IAAW,KAAK,IAAI,OAAO,EAAE,CAE5B;IACD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,2BAA2B,IAAI,MAAM,CAE/C;IACD,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;CACJ","file":"DetailedSpeechPhrase.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { IPrimaryLanguage, RecognitionStatus } from \"../Exports\";\r\n\r\n// speech.phrase for detailed\r\nexport interface IDetailedSpeechPhrase {\r\n    RecognitionStatus: RecognitionStatus;\r\n    NBest: IPhrase[];\r\n    Duration?: number;\r\n    Offset?: number;\r\n    PrimaryLanguage?: IPrimaryLanguage;\r\n    DisplayText?: string;\r\n    SpeakerId?: string;\r\n}\r\n\r\nexport interface IPhrase {\r\n    Confidence?: number;\r\n    Lexical: string;\r\n    ITN: string;\r\n    MaskedITN: string;\r\n    Display: string;\r\n    Words?: IWord[];\r\n}\r\n\r\nexport interface IWord {\r\n    Word: string;\r\n    Offset: number;\r\n    Duration: number;\r\n}\r\n\r\nexport class DetailedSpeechPhrase implements IDetailedSpeechPhrase {\r\n    private privDetailedSpeechPhrase: IDetailedSpeechPhrase;\r\n\r\n    private constructor(json: string) {\r\n        this.privDetailedSpeechPhrase = JSON.parse(json);\r\n        this.privDetailedSpeechPhrase.RecognitionStatus = (RecognitionStatus as any)[this.privDetailedSpeechPhrase.RecognitionStatus];\r\n    }\r\n\r\n    public static fromJSON(json: string): DetailedSpeechPhrase {\r\n        return new DetailedSpeechPhrase(json);\r\n    }\r\n\r\n    public getJsonWithCorrectedOffsets(baseOffset: number): string {\r\n        if (!!this.privDetailedSpeechPhrase.NBest && !!this.privDetailedSpeechPhrase.NBest[0].Words) {\r\n            const firstWordOffset: number = this.privDetailedSpeechPhrase.NBest[0].Words[0].Offset;\r\n            if (firstWordOffset && firstWordOffset < baseOffset) {\r\n                const offset: number = baseOffset - firstWordOffset;\r\n                for (const details of this.privDetailedSpeechPhrase.NBest) {\r\n                    if (!!details.Words) {\r\n                        for (const word of details.Words) {\r\n                            word.Offset += offset;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        return JSON.stringify(this.privDetailedSpeechPhrase);\r\n    }\r\n\r\n    public get RecognitionStatus(): RecognitionStatus {\r\n        return this.privDetailedSpeechPhrase.RecognitionStatus;\r\n    }\r\n    public get NBest(): IPhrase[] {\r\n        return this.privDetailedSpeechPhrase.NBest;\r\n    }\r\n    public get Duration(): number {\r\n        return this.privDetailedSpeechPhrase.Duration;\r\n    }\r\n    public get Offset(): number {\r\n        return this.privDetailedSpeechPhrase.Offset;\r\n    }\r\n    public get Language(): string {\r\n        return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Language;\r\n    }\r\n    public get LanguageDetectionConfidence(): string {\r\n        return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Confidence;\r\n    }\r\n    public get Text(): string {\r\n        return !!this.privDetailedSpeechPhrase.NBest && this.privDetailedSpeechPhrase.NBest[0] ? this.privDetailedSpeechPhrase.NBest[0].Display : this.privDetailedSpeechPhrase.DisplayText;\r\n    }\r\n    public get SpeakerId(): string {\r\n        return this.privDetailedSpeechPhrase.SpeakerId;\r\n    }\r\n}\r\n"]}