UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

79 lines (59 loc) 3.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.sanitizeChatContent = exports.pushMessagesIdInState = exports.makeConversationId = exports.isMessageForThisConversation = exports.isAssistantEnabled = exports.getInstantMessage = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _cozyFlags = _interopRequireDefault(require("cozy-flags")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var getInstantMessage = function getInstantMessage(assistantState) { return Object.keys(assistantState.message).sort(function (a, b) { return a - b; }).map(function (key) { return assistantState.message[key]; }).join(''); }; exports.getInstantMessage = getInstantMessage; var makeConversationId = function makeConversationId() { return "".concat(Date.now(), "-").concat(Math.floor(Math.random() * 90000) + 10000); }; exports.makeConversationId = makeConversationId; var pushMessagesIdInState = function pushMessagesIdInState(id, res, setState) { if (id !== res._id) return; var messagesId = res.messages.map(function (message) { return message.id; }); setState(function (v) { return _objectSpread(_objectSpread({}, v), {}, { messagesId: messagesId }); }); }; exports.pushMessagesIdInState = pushMessagesIdInState; var isMessageForThisConversation = function isMessageForThisConversation(res, messagesId) { return messagesId.includes(res._id); }; exports.isMessageForThisConversation = isMessageForThisConversation; var isAssistantEnabled = function isAssistantEnabled() { return (0, _cozyFlags.default)('cozy.assistant.enabled'); }; /** * Sanitize chat content by removing special sources tags like * [REF]...[/REF] or [doc_X] that are not currently handled. * * @param {string} content - content to sanitize * @returns {string} sanitized content */ exports.isAssistantEnabled = isAssistantEnabled; var sanitizeChatContent = function sanitizeChatContent(content) { if (!content) { return ''; } return content // Remove REFdoc_1/REF .replace(/\s?\[REF\][\s\S]*?\[\/REF\]/g, '') // Remove [REF]doc_1[/REF] .replace(/\s?REF[\s\S]*?\/REF/g, '') // remove « [doc_1] » .replace(/\s?\[doc_\d+\]/g, ''); }; exports.sanitizeChatContent = sanitizeChatContent;