UNPKG

@voice-ping/cognitive-services-speech

Version:

VoicePing Cognitive Services Speech SDK for JavaScript forked from Microsoft

80 lines (78 loc) 3.61 kB
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { AutoDetectSourceLanguagesOpenRangeOptionName } from "../common.speech/Exports"; import { Contracts } from "./Contracts"; import { PropertyCollection, PropertyId, } from "./Exports"; /** * Language auto detect configuration. * @class AutoDetectSourceLanguageConfig * Added in version 1.13.0. */ export class AutoDetectSourceLanguageConfig { constructor() { this.privProperties = new PropertyCollection(); } /** * @member AutoDetectSourceLanguageConfig.fromOpenRange * @function * @public * Only [[SpeechSynthesizer]] supports source language auto detection from open range, * for [[Recognizer]], please use AutoDetectSourceLanguageConfig with specific source languages. * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig * @summary Creates an instance of the AutoDetectSourceLanguageConfig with open range. */ static fromOpenRange() { const config = new AutoDetectSourceLanguageConfig(); config.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, AutoDetectSourceLanguagesOpenRangeOptionName); return config; } /** * @member AutoDetectSourceLanguageConfig.fromLanguages * @function * @public * @param {string[]} languages Comma-separated string of languages (eg. "en-US,fr-FR") to populate properties of config. * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given languages. */ static fromLanguages(languages) { Contracts.throwIfArrayEmptyOrWhitespace(languages, "languages"); const config = new AutoDetectSourceLanguageConfig(); config.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, languages.join()); return config; } /** * @member AutoDetectSourceLanguageConfig.fromSourceLanguageConfigs * @function * @public * @param {SourceLanguageConfig[]} configs SourceLanguageConfigs to populate properties of config. * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given SourceLanguageConfigs. */ static fromSourceLanguageConfigs(configs) { if (configs.length < 1) { throw new Error("Expected non-empty SourceLanguageConfig array."); } const autoConfig = new AutoDetectSourceLanguageConfig(); const langs = []; configs.forEach((config) => { langs.push(config.language); if (config.endpointId !== undefined && config.endpointId !== "") { const customProperty = config.language + PropertyId.SpeechServiceConnection_EndpointId.toString(); autoConfig.properties.setProperty(customProperty, config.endpointId); } }); autoConfig.properties.setProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, langs.join()); return autoConfig; } /** * @member AutoDetectSourceLanguageConfig.prototype.properties * @function * @public * @return {PropertyCollection} Properties of the config. * @summary Gets a auto detected language config properties */ get properties() { return this.privProperties; } } //# sourceMappingURL=AutoDetectSourceLanguageConfig.js.map