botbuilder-dialogs
Version:
A dialog stack based conversation manager for Microsoft BotBuilder.
49 lines • 1.62 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ThisMemoryScope = void 0;
/**
* @module botbuilder-dialogs
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
const memoryScope_1 = require("./memoryScope");
const scopePath_1 = require("../scopePath");
/**
* ThisMemoryScope maps "this" -> dc.activeDialog.state
*/
class ThisMemoryScope extends memoryScope_1.MemoryScope {
/**
* Initializes a new instance of the [ThisMemoryScope](xref:botbuilder-dialogs.ThisMemoryScope) class.
*/
constructor() {
super(scopePath_1.ScopePath.this);
}
/**
* Gets the backing memory for this scope.
*
* @param dc The [DialogContext](xref:botbuilder-dialogs.DialogContext) object for this turn.
* @returns The memory for the scope.
*/
getMemory(dc) {
return dc.activeDialog ? dc.activeDialog.state : undefined;
}
/**
* Changes the backing object for the memory scope.
*
* @param dc The [DialogContext](xref:botbuilder-dialogs.DialogContext) object for this turn.
* @param memory Memory object to set for the scope.
*/
setMemory(dc, memory) {
if (memory == undefined) {
throw new Error('ThisMemoryScope.setMemory: undefined memory object passed in.');
}
if (!dc.activeDialog) {
throw new Error('ThisMemoryScope.setMemory: no active dialog found.');
}
dc.activeDialog.state = memory;
}
}
exports.ThisMemoryScope = ThisMemoryScope;
//# sourceMappingURL=thisMemoryScope.js.map
;