UNPKG

botbuilder-dialogs-adaptive

Version:

Rule system for the Microsoft BotBuilder dialog system.

48 lines 2 kB
"use strict"; /** * @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