botbuilder-dialogs-adaptive
Version:
Rule system for the Microsoft BotBuilder dialog system.
48 lines • 2 kB
JavaScript
;
/**
* @module botbuilder-dialogs-adaptive
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourceMultiLanguageGenerator = void 0;
const multiLanguageGeneratorBase_1 = require("./multiLanguageGeneratorBase");
const languageGeneratorExtensions_1 = require("../languageGeneratorExtensions");
/**
* Uses resourceExplorer to mount root lg and all language variants as a multi language generator.
*
* @remarks Given file name like "foo.lg" this will generate a map of foo.{LOCALE}.lg files.
*/
class ResourceMultiLanguageGenerator extends multiLanguageGeneratorBase_1.MultiLanguageGeneratorBase {
/**
* Initializes a new instance of the ResourceMultiLanguageGenerator class.
*
* @param resourceId Resource id of LG file.
*/
constructor(resourceId) {
super();
this.resourceId = resourceId;
}
/**
* Implementation of lookup by locale.
*
* @param dialogContext Context for the current turn of conversation.
* @param locale Locale to lookup.
* @returns An object with a boolean showing existence and the language generator.
*/
tryGetGenerator(dialogContext, locale) {
const manager = dialogContext.services.get(languageGeneratorExtensions_1.languageGeneratorManagerKey);
const resourceId = locale === undefined || locale === '' ? this.resourceId : this.resourceId.replace('.lg', `.${locale}.lg`);
if (manager.languageGenerators.has(resourceId)) {
return { exist: true, result: manager.languageGenerators.get(resourceId) };
}
else {
return { exist: false, result: undefined };
}
}
}
exports.ResourceMultiLanguageGenerator = ResourceMultiLanguageGenerator;
ResourceMultiLanguageGenerator.$kind = 'Microsoft.ResourceMultiLanguageGenerator';
//# sourceMappingURL=resourceMultiLanguageGenerator.js.map