flowai-js
Version:
The flow.ai Javascript SDK
87 lines (71 loc) • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _debug = _interopRequireDefault(require("debug"));
var _originator = _interopRequireDefault(require("./originator"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
(0, _debug.default)('flowai:reply');
/**
* Reply you receive from Flow.ai
* @class
* @property {string} threadId - Unique id specific to this chat
* @property {Originator} originator - Originator
* @property {ReplyMessage[]} messages - List of messages
* @property {string} messages[].fallback - Textual representation of any responses
* @property {?string} messages[].replyTo - Optional replying to query
* @property {?array} messages[].contexts - Optional List of context names
* @property {?array} messages[].params - Optional key value pair of parameters
* @property {?array} messages[].intents - Optional list of intent names determined
* @property {Response[]} messages[].responses - List of response templates
* @property {string} messages[].responses[].type - Template type
* @property {Object} messages[].responses[].payload - Template payload
* @property {Number} messages[].responses[].delay - Number of seconds the response is delayed
**/
var Reply =
/**
* Constructor
**/
function Reply(_ref) {
var threadId = _ref.threadId,
originator = _ref.originator,
messages = _ref.messages;
_classCallCheck(this, Reply);
this.threadId = threadId;
this.originator = new _originator.default(originator);
this.messages = messages.map(function (message) {
return new ReplyMessage(message);
});
};
var ReplyMessage = function ReplyMessage(_ref2) {
var fallback = _ref2.fallback,
replyTo = _ref2.replyTo,
responses = _ref2.responses,
contexts = _ref2.contexts,
params = _ref2.params,
intents = _ref2.intents,
createdAt = _ref2.createdAt;
_classCallCheck(this, ReplyMessage);
this.fallback = fallback;
this.replyTo = replyTo || null;
this.responses = responses.map(function (response) {
return new Response(response);
});
this.contexts = contexts || [];
this.params = params || {};
this.intents = intents || [];
this.createdAt = createdAt || undefined;
};
var Response = function Response(_ref3) {
var type = _ref3.type,
payload = _ref3.payload,
delay = _ref3.delay;
_classCallCheck(this, Response);
this.type = type;
this.payload = payload;
this.delay = delay || 0;
};
var _default = Reply;
exports.default = _default;