UNPKG

@mintlify/previewing

Version:

Preview Mintlify docs locally

63 lines (62 loc) 1.88 kB
import { render } from 'ink'; import React from 'react'; import { Logs } from './logs.js'; let currentLogs = []; let currentChangeLogs = []; let currentErrorLogs = []; let setLogsCallback = null; let setChangeLogsCallback = null; let setErrorLogsCallback = null; const ensureLoggingInstance = () => { if (!setLogsCallback) { render(React.createElement(Logs)); } }; export const setLoggingCallbacks = (setLogs, setChangeLogs, setErrorLogs) => { setLogsCallback = setLogs; setChangeLogsCallback = setChangeLogs; setErrorLogsCallback = setErrorLogs; }; export const addLog = (log) => { ensureLoggingInstance(); currentLogs = [...currentLogs, log]; setLogsCallback?.(currentLogs); }; export const addLogs = (...logs) => { ensureLoggingInstance(); currentLogs = [...currentLogs, ...logs]; setLogsCallback?.(currentLogs); }; export const addChangeLog = (log) => { ensureLoggingInstance(); currentChangeLogs = [...currentChangeLogs, log]; setChangeLogsCallback?.(currentChangeLogs); }; export const addErrorLog = (log) => { ensureLoggingInstance(); currentErrorLogs = [...currentErrorLogs, log]; setErrorLogsCallback?.(currentErrorLogs); }; export const addRawErrorLog = (message) => { ensureLoggingInstance(); currentErrorLogs = [...currentErrorLogs, message]; setErrorLogsCallback?.(currentErrorLogs); }; export const clearErrorLogs = () => { ensureLoggingInstance(); currentErrorLogs = []; setErrorLogsCallback?.(currentErrorLogs); }; export const clearLogs = () => { ensureLoggingInstance(); currentLogs = []; setLogsCallback?.(currentLogs); }; export const removeLastLog = () => { ensureLoggingInstance(); currentLogs = currentLogs.slice(0, -1); setLogsCallback?.(currentLogs); }; export const getCurrentErrorLogs = () => { return currentErrorLogs; };