{"version":3,"sources":["src/common.speech/RecognizerConfig.ts"],"names":[],"mappings":"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","file":"RecognizerConfig.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n// tslint:disable:max-classes-per-file\r\n\r\nimport { PropertyCollection, PropertyId } from \"../sdk/Exports\";\r\n\r\nexport enum RecognitionMode {\r\n    Interactive,\r\n    Conversation,\r\n    Dictation,\r\n}\r\n\r\nexport enum SpeechResultFormat {\r\n    Simple,\r\n    Detailed,\r\n}\r\n\r\nexport class RecognizerConfig {\r\n    private privRecognitionMode: RecognitionMode = RecognitionMode.Interactive;\r\n    private privSpeechServiceConfig: SpeechServiceConfig;\r\n    private privRecognitionActivityTimeout: number;\r\n    private privParameters: PropertyCollection;\r\n    private privMaxRetryCount: number;\r\n\r\n    constructor(\r\n        speechServiceConfig: SpeechServiceConfig,\r\n        parameters: PropertyCollection) {\r\n        this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new SpeechServiceConfig(new Context(null));\r\n        this.privParameters = parameters;\r\n        this.privMaxRetryCount = parseInt(parameters.getProperty(\"SPEECH-Error-MaxRetryCount\", \"4\"), 10);\r\n    }\r\n\r\n    public get parameters(): PropertyCollection {\r\n        return this.privParameters;\r\n    }\r\n\r\n    public get recognitionMode(): RecognitionMode {\r\n        return this.privRecognitionMode;\r\n    }\r\n\r\n    public set recognitionMode(value: RecognitionMode) {\r\n        this.privRecognitionMode = value;\r\n        this.privRecognitionActivityTimeout = value === RecognitionMode.Interactive ? 8000 : 25000;\r\n        this.privSpeechServiceConfig.Recognition = RecognitionMode[value];\r\n    }\r\n\r\n    public get SpeechServiceConfig(): SpeechServiceConfig {\r\n        return this.privSpeechServiceConfig;\r\n    }\r\n\r\n    public get recognitionActivityTimeout(): number {\r\n        return this.privRecognitionActivityTimeout;\r\n    }\r\n\r\n    public get isContinuousRecognition(): boolean {\r\n        return this.privRecognitionMode !== RecognitionMode.Interactive;\r\n    }\r\n\r\n    public get autoDetectSourceLanguages(): string {\r\n        return this.parameters.getProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, undefined);\r\n    }\r\n\r\n    public get maxRetryCount(): number {\r\n        return this.privMaxRetryCount;\r\n    }\r\n}\r\n\r\n// The config is serialized and sent as the Speech.Config\r\nexport class SpeechServiceConfig {\r\n    private context: Context;\r\n    private recognition: string;\r\n\r\n    constructor(context: Context) {\r\n        this.context = context;\r\n    }\r\n\r\n    public serialize = (): string => {\r\n        return JSON.stringify(this, (key: any, value: any): any => {\r\n            if (value && typeof value === \"object\") {\r\n                const replacement: any = {};\r\n                for (const k in value) {\r\n                    if (Object.hasOwnProperty.call(value, k)) {\r\n                        replacement[k && k.charAt(0).toLowerCase() + k.substring(1)] = value[k];\r\n                    }\r\n                }\r\n                return replacement;\r\n            }\r\n            return value;\r\n        });\r\n    }\r\n\r\n    public get Context(): Context {\r\n        return this.context;\r\n    }\r\n\r\n    public get Recognition(): string {\r\n        return this.recognition;\r\n    }\r\n\r\n    public set Recognition(value: string) {\r\n        this.recognition = value.toLowerCase();\r\n    }\r\n}\r\n\r\nexport class Context {\r\n    public system: System;\r\n    public os: OS;\r\n    public audio: ISpeechConfigAudio;\r\n\r\n    constructor(os: OS) {\r\n        this.system = new System();\r\n        this.os = os;\r\n    }\r\n}\r\n\r\nexport class System {\r\n    public name: string;\r\n    public version: string;\r\n    public build: string;\r\n    public lang: string;\r\n\r\n    constructor() {\r\n        // Note: below will be patched for official builds.\r\n        const SPEECHSDK_CLIENTSDK_VERSION = \"1.19.0\";\r\n\r\n        this.name = \"SpeechSDK\";\r\n        this.version = SPEECHSDK_CLIENTSDK_VERSION;\r\n        this.build = \"JavaScript\";\r\n        this.lang = \"JavaScript\";\r\n    }\r\n}\r\n\r\nexport class OS {\r\n    public platform: string;\r\n    public name: string;\r\n    public version: string;\r\n\r\n    constructor(platform: string, name: string, version: string) {\r\n        this.platform = platform;\r\n        this.name = name;\r\n        this.version = version;\r\n    }\r\n}\r\n\r\nexport class Device {\r\n    public manufacturer: string;\r\n    public model: string;\r\n    public version: string;\r\n\r\n    constructor(manufacturer: string, model: string, version: string) {\r\n        this.manufacturer = manufacturer;\r\n        this.model = model;\r\n        this.version = version;\r\n    }\r\n}\r\n\r\nexport interface ISpeechConfigAudio {\r\n    source?: ISpeechConfigAudioDevice;\r\n    playback?: ISpeechConfigAudioDevice;\r\n}\r\n\r\nexport interface ISpeechConfigAudioDevice {\r\n    manufacturer: string;\r\n    model: string;\r\n    connectivity: connectivity;\r\n    type: type;\r\n    samplerate: number;\r\n    bitspersample: number;\r\n    channelcount: number;\r\n}\r\n\r\nexport enum connectivity {\r\n    Bluetooth = \"Bluetooth\",\r\n    Wired = \"Wired\",\r\n    WiFi = \"WiFi\",\r\n    Cellular = \"Cellular\",\r\n    InBuilt = \"InBuilt\",\r\n    Unknown = \"Unknown\",\r\n}\r\n\r\nexport enum type {\r\n    Phone = \"Phone\",\r\n    Speaker = \"Speaker\",\r\n    Car = \"Car\",\r\n    Headset = \"Headset\",\r\n    Thermostat = \"Thermostat\",\r\n    Microphones = \"Microphones\",\r\n    Deskphone = \"Deskphone\",\r\n    RemoteControl = \"RemoteControl\",\r\n    Unknown = \"Unknown\",\r\n    File = \"File\",\r\n    Stream = \"Stream\",\r\n}\r\n"]}