import { ParserToolbox } from '../ParserToolbox.js'; import { getDefaultParsersEngineDataBox, ParsersEngineDataBox, ParsersEngineDataBoxType, } from '../definitions/parsersEngineDataBox.js'; import { deserializeParsersEngineDataBox } from '../utils/deserializeParsersEngineDataBox.js'; import { SerializedParsersEngineResult } from './SerializedParsersEngineResult.js'; export function handleSerializedParsersEngineResult( result: SerializedParsersEngineResult, toolbox: ParserToolbox, previousDataBoxType: ParsersEngineDataBoxType | undefined, ): ParsersEngineDataBox { if (result.output !== null) { toolbox.populateOutput(result.output); } result.errorMessages.forEach(message => { toolbox.populateMessage({ type: 'error', content: message.content, errorKey: message.errorKey, }); }); result.warningMessages.forEach(message => { toolbox.populateMessage({ type: 'warning', content: message.content, errorKey: message.errorKey, }); }); result.informationMessages.forEach(message => { toolbox.populateMessage({ type: 'information', content: message.content, }); }); if (result.next === null) { return getDefaultParsersEngineDataBox(previousDataBoxType); } return deserializeParsersEngineDataBox(result.next, previousDataBoxType); }