botframework-webchat-component
Version:
React component of botframework-webchat
72 lines (61 loc) • 7.87 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createCoreMiddleware;
var _react = _interopRequireDefault(require("react"));
var _AudioAttachment = _interopRequireDefault(require("../../Attachment/AudioAttachment"));
var _FileAttachment = _interopRequireDefault(require("../../Attachment/FileAttachment"));
var _ImageAttachment = _interopRequireDefault(require("../../Attachment/ImageAttachment"));
var _TextAttachment = _interopRequireDefault(require("../../Attachment/TextAttachment"));
var _VideoAttachment = _interopRequireDefault(require("../../Attachment/VideoAttachment"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// TODO: [P4] Rename this file or the whole middleware, it looks either too simple or too comprehensive now
function createCoreMiddleware() {
return [// This is not returning a React component, but a render function.
/* eslint-disable-next-line react/display-name */
function () {
return function (next) {
return function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _args$ = args[0],
_args$$activity = _args$.activity,
activity = _args$$activity === void 0 ? {} : _args$$activity,
_args$$activity2 = _args$.activity;
_args$$activity2 = _args$$activity2 === void 0 ? {} : _args$$activity2;
var _args$$activity2$from = _args$$activity2.from;
_args$$activity2$from = _args$$activity2$from === void 0 ? {} : _args$$activity2$from;
var role = _args$$activity2$from.role,
attachment = _args$.attachment,
_args$$attachment = _args$.attachment;
_args$$attachment = _args$$attachment === void 0 ? {} : _args$$attachment;
var contentType = _args$$attachment.contentType,
contentUrl = _args$$attachment.contentUrl,
thumbnailUrl = _args$$attachment.thumbnailUrl;
var isText = /^text\//.test(contentType);
return (isText ? !attachment.content : role === 'user' && !thumbnailUrl) ? /*#__PURE__*/_react.default.createElement(_FileAttachment.default, {
activity: activity,
attachment: attachment
}) : /^audio\//.test(contentType) ? /*#__PURE__*/_react.default.createElement(_AudioAttachment.default, {
activity: activity,
attachment: attachment
}) : /^image\//.test(contentType) ? /*#__PURE__*/_react.default.createElement(_ImageAttachment.default, {
activity: activity,
attachment: attachment
}) : /^video\//.test(contentType) ? /*#__PURE__*/_react.default.createElement(_VideoAttachment.default, {
activity: activity,
attachment: attachment
}) : contentUrl || contentType === 'application/octet-stream' ? /*#__PURE__*/_react.default.createElement(_FileAttachment.default, {
activity: activity,
attachment: attachment
}) : isText ? /*#__PURE__*/_react.default.createElement(_TextAttachment.default, {
activity: activity,
attachment: attachment
}) : next.apply(void 0, args);
};
};
}];
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0F0dGFjaG1lbnQvY3JlYXRlQ29yZU1pZGRsZXdhcmUuanMiXSwibmFtZXMiOlsiY3JlYXRlQ29yZU1pZGRsZXdhcmUiLCJuZXh0IiwiYXJncyIsImFjdGl2aXR5IiwiZnJvbSIsInJvbGUiLCJhdHRhY2htZW50IiwiY29udGVudFR5cGUiLCJjb250ZW50VXJsIiwidGh1bWJuYWlsVXJsIiwiaXNUZXh0IiwidGVzdCIsImNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBO0FBQ2UsU0FBU0Esb0JBQVQsR0FBZ0M7QUFDN0MsU0FBTyxDQUNMOztBQUNBO0FBQ0E7QUFBQSxXQUFNLFVBQUFDLElBQUk7QUFBQSxhQUFJLFlBQWE7QUFBQSwwQ0FBVEMsSUFBUztBQUFUQSxVQUFBQSxJQUFTO0FBQUE7O0FBQUEscUJBUXJCQSxJQVJxQjtBQUFBLHFDQUdyQkMsUUFIcUI7QUFBQSxZQUdyQkEsUUFIcUIsZ0NBR1YsRUFIVTtBQUFBLHNDQUlyQkEsUUFKcUI7QUFBQSx5REFJZSxFQUpmO0FBQUEscURBSVRDLElBSlM7QUFBQSxtRUFJUSxFQUpSO0FBQUEsWUFJREMsSUFKQyx5QkFJREEsSUFKQztBQUFBLFlBS3JCQyxVQUxxQixVQUtyQkEsVUFMcUI7QUFBQSx1Q0FNckJBLFVBTnFCO0FBQUEsMkRBTW1DLEVBTm5DO0FBQUEsWUFNUEMsV0FOTyxxQkFNUEEsV0FOTztBQUFBLFlBTU1DLFVBTk4scUJBTU1BLFVBTk47QUFBQSxZQU1rQkMsWUFObEIscUJBTWtCQSxZQU5sQjtBQVV6QixZQUFNQyxNQUFNLEdBQUcsVUFBV0MsSUFBWCxDQUFnQkosV0FBaEIsQ0FBZjtBQUVBLGVBQU8sQ0FBQ0csTUFBTSxHQUFHLENBQUNKLFVBQVUsQ0FBQ00sT0FBZixHQUF5QlAsSUFBSSxLQUFLLE1BQVQsSUFBbUIsQ0FBQ0ksWUFBcEQsaUJBQ0wsNkJBQUMsdUJBQUQ7QUFBZ0IsVUFBQSxRQUFRLEVBQUVOLFFBQTFCO0FBQW9DLFVBQUEsVUFBVSxFQUFFRztBQUFoRCxVQURLLEdBRUgsV0FBWUssSUFBWixDQUFpQkosV0FBakIsaUJBQ0YsNkJBQUMsd0JBQUQ7QUFBaUIsVUFBQSxRQUFRLEVBQUVKLFFBQTNCO0FBQXFDLFVBQUEsVUFBVSxFQUFFRztBQUFqRCxVQURFLEdBRUEsV0FBWUssSUFBWixDQUFpQkosV0FBakIsaUJBQ0YsNkJBQUMsd0JBQUQ7QUFBaUIsVUFBQSxRQUFRLEVBQUVKLFFBQTNCO0FBQXFDLFVBQUEsVUFBVSxFQUFFRztBQUFqRCxVQURFLEdBRUEsV0FBWUssSUFBWixDQUFpQkosV0FBakIsaUJBQ0YsNkJBQUMsd0JBQUQ7QUFBaUIsVUFBQSxRQUFRLEVBQUVKLFFBQTNCO0FBQXFDLFVBQUEsVUFBVSxFQUFFRztBQUFqRCxVQURFLEdBRUFFLFVBQVUsSUFBSUQsV0FBVyxLQUFLLDBCQUE5QixnQkFDRiw2QkFBQyx1QkFBRDtBQUFnQixVQUFBLFFBQVEsRUFBRUosUUFBMUI7QUFBb0MsVUFBQSxVQUFVLEVBQUVHO0FBQWhELFVBREUsR0FFQUksTUFBTSxnQkFDUiw2QkFBQyx1QkFBRDtBQUFnQixVQUFBLFFBQVEsRUFBRVAsUUFBMUI7QUFBb0MsVUFBQSxVQUFVLEVBQUVHO0FBQWhELFVBRFEsR0FHUkwsSUFBSSxNQUFKLFNBQVFDLElBQVIsQ0FiRjtBQWVELE9BM0JTO0FBQUEsS0FBVjtBQUFBLEdBSEssQ0FBUDtBQWdDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEF1ZGlvQXR0YWNobWVudCBmcm9tICcuLi8uLi9BdHRhY2htZW50L0F1ZGlvQXR0YWNobWVudCc7XG5pbXBvcnQgRmlsZUF0dGFjaG1lbnQgZnJvbSAnLi4vLi4vQXR0YWNobWVudC9GaWxlQXR0YWNobWVudCc7XG5pbXBvcnQgSW1hZ2VBdHRhY2htZW50IGZyb20gJy4uLy4uL0F0dGFjaG1lbnQvSW1hZ2VBdHRhY2htZW50JztcbmltcG9ydCBUZXh0QXR0YWNobWVudCBmcm9tICcuLi8uLi9BdHRhY2htZW50L1RleHRBdHRhY2htZW50JztcbmltcG9ydCBWaWRlb0F0dGFjaG1lbnQgZnJvbSAnLi4vLi4vQXR0YWNobWVudC9WaWRlb0F0dGFjaG1lbnQnO1xuXG4vLyBUT0RPOiBbUDRdIFJlbmFtZSB0aGlzIGZpbGUgb3IgdGhlIHdob2xlIG1pZGRsZXdhcmUsIGl0IGxvb2tzIGVpdGhlciB0b28gc2ltcGxlIG9yIHRvbyBjb21wcmVoZW5zaXZlIG5vd1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQ29yZU1pZGRsZXdhcmUoKSB7XG4gIHJldHVybiBbXG4gICAgLy8gVGhpcyBpcyBub3QgcmV0dXJuaW5nIGEgUmVhY3QgY29tcG9uZW50LCBidXQgYSByZW5kZXIgZnVuY3Rpb24uXG4gICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuICAgICgpID0+IG5leHQgPT4gKC4uLmFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjdGl2aXR5ID0ge30sXG4gICAgICAgICAgYWN0aXZpdHk6IHsgZnJvbTogeyByb2xlIH0gPSB7fSB9ID0ge30sXG4gICAgICAgICAgYXR0YWNobWVudCxcbiAgICAgICAgICBhdHRhY2htZW50OiB7IGNvbnRlbnRUeXBlLCBjb250ZW50VXJsLCB0aHVtYm5haWxVcmwgfSA9IHt9XG4gICAgICAgIH1cbiAgICAgIF0gPSBhcmdzO1xuXG4gICAgICBjb25zdCBpc1RleHQgPSAvXnRleHRcXC8vdS50ZXN0KGNvbnRlbnRUeXBlKTtcblxuICAgICAgcmV0dXJuIChpc1RleHQgPyAhYXR0YWNobWVudC5jb250ZW50IDogcm9sZSA9PT0gJ3VzZXInICYmICF0aHVtYm5haWxVcmwpID8gKFxuICAgICAgICA8RmlsZUF0dGFjaG1lbnQgYWN0aXZpdHk9e2FjdGl2aXR5fSBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxuICAgICAgKSA6IC9eYXVkaW9cXC8vdS50ZXN0KGNvbnRlbnRUeXBlKSA/IChcbiAgICAgICAgPEF1ZGlvQXR0YWNobWVudCBhY3Rpdml0eT17YWN0aXZpdHl9IGF0dGFjaG1lbnQ9e2F0dGFjaG1lbnR9IC8+XG4gICAgICApIDogL15pbWFnZVxcLy91LnRlc3QoY29udGVudFR5cGUpID8gKFxuICAgICAgICA8SW1hZ2VBdHRhY2htZW50IGFjdGl2aXR5PXthY3Rpdml0eX0gYXR0YWNobWVudD17YXR0YWNobWVudH0gLz5cbiAgICAgICkgOiAvXnZpZGVvXFwvL3UudGVzdChjb250ZW50VHlwZSkgPyAoXG4gICAgICAgIDxWaWRlb0F0dGFjaG1lbnQgYWN0aXZpdHk9e2FjdGl2aXR5fSBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxuICAgICAgKSA6IGNvbnRlbnRVcmwgfHwgY29udGVudFR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nID8gKFxuICAgICAgICA8RmlsZUF0dGFjaG1lbnQgYWN0aXZpdHk9e2FjdGl2aXR5fSBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxuICAgICAgKSA6IGlzVGV4dCA/IChcbiAgICAgICAgPFRleHRBdHRhY2htZW50IGFjdGl2aXR5PXthY3Rpdml0eX0gYXR0YWNobWVudD17YXR0YWNobWVudH0gLz5cbiAgICAgICkgOiAoXG4gICAgICAgIG5leHQoLi4uYXJncylcbiAgICAgICk7XG4gICAgfVxuICBdO1xufVxuIl19