UNPKG

ask-cli-x

Version:

Alexa Skills Kit (ASK) Command Line Interfaces

52 lines (51 loc) 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.turnCursorFromIndex = exports.createOrIncrementTurnCursor = exports.predictionAtCursor = exports.isEndTurnCursor = exports.isEventTurnCursor = exports.END_TURN_CURSOR = void 0; const cli_error_1 = __importDefault(require("../../../exceptions/cli-error")); exports.END_TURN_CURSOR = { end: true, }; const isEventTurnCursor = (anchor) => "eventPrediction" in anchor; exports.isEventTurnCursor = isEventTurnCursor; const isEndTurnCursor = (anchor) => anchor.end; exports.isEndTurnCursor = isEndTurnCursor; const predictionAtCursor = (anchor) => (0, exports.isEventTurnCursor)(anchor) ? anchor.eventPrediction : anchor.actionPrediction; exports.predictionAtCursor = predictionAtCursor; const createOrIncrementTurnCursor = (conversation, anchor) => { if (!anchor) { return { eventPrediction: conversation.event, }; } if ((0, exports.isEndTurnCursor)(anchor)) { throw new cli_error_1.default("Attempted to increment off the end of the turn."); } if ((0, exports.isEventTurnCursor)(anchor)) { return { position: 0, actionPrediction: conversation.actions[0], }; } return anchor.position + 1 == conversation.actions.length ? { end: true } : { position: anchor.position + 1, actionPrediction: conversation.actions[anchor.position + 1], }; }; exports.createOrIncrementTurnCursor = createOrIncrementTurnCursor; const turnCursorFromIndex = (conversation, index) => { if (conversation.actions.length <= index) { return { end: true, }; } return { position: index, actionPrediction: conversation.actions[index], }; }; exports.turnCursorFromIndex = turnCursorFromIndex;