ask-cli-x
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
52 lines (51 loc) • 1.99 kB
JavaScript
;
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;