static push()

in src/logic/LocalMessageCache.tsx [198:223]


    static push(
        slotName: MessageSlotName,
        message: MessageWithId,
        errorHandler: ErrorHandler,
    ): boolean {
        const queue = getQueue(slotName, errorHandler);

        if (queue.length < MAX_QUEUE_SIZE) {
            const expires = Date.now() + millisecondsBeforeExpiry;

            const messageToCache: CachedMessage = {
                // Casting here as the Message will become a MessageData as part
                // of the JSON serialization proccess
                message: message as { id: string; message: MessageData },
                expires,
            };

            queue.push(messageToCache);

            setQueue(slotName, queue);
            return true;
        }
        errorHandler(new Error('Failed to add message to queue - queue full'), 'LocalMessageCache');

        return false;
    }