UNPKG

botbuilder-dialogs-adaptive

Version:

Rule system for the Microsoft BotBuilder dialog system.

72 lines 2.33 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.EntityAssignments = void 0; const entityAssignment_1 = require("./entityAssignment"); const events = 'this.events'; /** * Tracks entity related events to surface. * * @remarks When processing entities possible ambiguities are identified and when resolved they turn into assign events. * This tracking persists across multiple input utterances. */ class EntityAssignments { /** * Initializes a new instance of the [EntityAssignments](xref:botbuilder-dialogs-adaptive.EntityAssignments) class. * * @param assignments A list of [EntityAssignments](xref:botbuilder-dialogs-adaptive.EntityAssignments) to use. */ constructor(assignments = []) { this.assignments = assignments; } /** * Read entity event queue from memory. * * @param actionContext Memory context. * @returns Entity event queue. */ static read(actionContext) { var _a; const queuesObject = actionContext.state.getValue(events, new EntityAssignments()); const assignments = (_a = queuesObject.assignments) === null || _a === void 0 ? void 0 : _a.map((assignment) => new entityAssignment_1.EntityAssignment(assignment)); return new EntityAssignments(assignments); } /** * Write state into memory. * * @param actionContext Memory context. */ write(actionContext) { actionContext.state.setValue(events, this); } /** * Gets the next entity event to surface. * * @returns The next entity event to surface. */ get nextAssignment() { if (this.assignments.length > 0) { return this.assignments[0]; } return undefined; } /** * Remove the current event and update the memory. * * @param actionContext Memory context. * @returns Removed event. */ dequeue(actionContext) { const assignment = this.assignments.shift(); this.write(actionContext); return assignment; } } exports.EntityAssignments = EntityAssignments; //# sourceMappingURL=entityAssignments.js.map