botbuilder-dialogs-adaptive
Version:
Rule system for the Microsoft BotBuilder dialog system.
47 lines • 1.77 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.DialogExpressionConverter = void 0;
const expressions_1 = require("../expressions");
/**
* Dialog expression converter that implements [Converter](xref:botbuilder-dialogs-declarative.Converter).
*/
class DialogExpressionConverter {
/**
* Initializes a new instance of the [DialogExpressionConverter](xref:botbuilder-dialogs-adaptive.DialogExpressionConverter) class.
*
* @param _resourceExplorer Resource explorer to use for resolving references.
*/
constructor(_resourceExplorer) {
this._resourceExplorer = _resourceExplorer;
}
/**
* Converts an object or string to a [DialogExpression](xref:botbuilder-dialogs-adaptive.DialogExpression) instance.
*
* @param value An object or string value.
* @returns A new [DialogExpression](xref:botbuilder-dialogs-adaptive.DialogExpression) instance.
*/
convert(value) {
if (value instanceof expressions_1.DialogExpression) {
return value;
}
if (typeof value == 'string') {
if (!value.startsWith('=')) {
const dialog = this._resourceExplorer.loadType(`${value}.dialog`);
if (dialog) {
return new expressions_1.DialogExpression(dialog);
}
}
return new expressions_1.DialogExpression(value);
}
return new expressions_1.DialogExpression(value);
}
}
exports.DialogExpressionConverter = DialogExpressionConverter;
//# sourceMappingURL=dialogExpressionConverter.js.map