@mintlify/previewing
Version:
Preview Mintlify docs locally
37 lines (36 loc) • 1.05 kB
JavaScript
import { render } from 'ink';
import React from 'react';
import { Logs } from './logs.js';
let currentLogs = [];
let currentChangeLogs = [];
let setLogsCallback = null;
let setChangeLogsCallback = null;
const ensureLoggingInstance = () => {
if (!setLogsCallback) {
render(React.createElement(Logs));
}
};
export const setLoggingCallbacks = (setLogs, setChangeLogs) => {
setLogsCallback = setLogs;
setChangeLogsCallback = setChangeLogs;
};
export const addLog = (log) => {
ensureLoggingInstance();
currentLogs = [...currentLogs, log];
setLogsCallback?.(currentLogs);
};
export const addChangeLog = (log) => {
ensureLoggingInstance();
currentChangeLogs = [...currentChangeLogs, log];
setChangeLogsCallback?.(currentChangeLogs);
};
export const clearLogs = () => {
ensureLoggingInstance();
currentLogs = [];
setLogsCallback?.(currentLogs);
};
export const removeLastLog = () => {
ensureLoggingInstance();
currentLogs = currentLogs.slice(0, -1);
setLogsCallback?.(currentLogs);
};