UNPKG

@ozen-ui/kit

Version:

React component library

35 lines (34 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateMessagesFromQueue = void 0; var tslib_1 = require("tslib"); var updateMessagesFromQueue = function (state) { var queue = state.queue, messages = state.messages, maxMessages = state.providerProps.maxMessages; var isSomeMessageInClosingProcess = messages.some(function (_a) { var open = _a.open; return !open; }); var isSomeMessageInOpeningProcess = messages.some(function (_a) { var opening = _a.opening; return opening; }); if (!queue.length || isSomeMessageInClosingProcess || isSomeMessageInOpeningProcess) { return state; } var oldestMessage = messages[0]; if (messages.length === maxMessages) { var newMessages = messages.map(function (messageItem) { if ((oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.messageId) === messageItem.messageId) { return tslib_1.__assign(tslib_1.__assign({}, messageItem), { open: false }); } return messageItem; }); return tslib_1.__assign(tslib_1.__assign({}, state), { messages: newMessages }); } var _a = tslib_1.__read(queue), firstMessageItemFromQueue = _a[0], otherQueue = _a.slice(1); return tslib_1.__assign(tslib_1.__assign({}, state), { messages: messages && firstMessageItemFromQueue ? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(messages), false), [firstMessageItemFromQueue], false) : [], queue: otherQueue }); }; exports.updateMessagesFromQueue = updateMessagesFromQueue;