UNPKG

botbuilder-dialogs-adaptive

Version:

Rule system for the Microsoft BotBuilder dialog system.

46 lines (41 loc) 1.35 kB
/** * @module botbuilder-dialogs-adaptive */ /** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { Expression, ExpressionEvaluator, MemoryInterface, Options, ReturnType, ValueWithError, } from 'adaptive-expressions'; /** * Defines hasPendingActions() expression function. * The expression will return true if the current adaptive dialog has any pending actions. */ export class HasPendingActionsFunction extends ExpressionEvaluator { /** * Function identifier name. */ static readonly functionName = 'hasPendingActions'; // `name` is reserved in JavaScript /** * Initializes a new instance of the [HasPendingActionsFunction](xref:botbuilder-dialogs-adaptive.HasPendingActionsFunction). */ constructor() { super(HasPendingActionsFunction.functionName, HasPendingActionsFunction.function, ReturnType.Boolean); } private static function(expression: Expression, state: MemoryInterface, _options: Options): ValueWithError { const actions: unknown[] = state.getValue('dialog._adaptive.actions'); if (actions) { return { value: actions.length > 0, error: undefined, }; } return { value: false, error: undefined }; } }