function processData()

in src/logger.ts [162:183]


function processData(data: Uint8Array | string, encoding?: BufferEncoding) {
  let decodedData;
  try {
    if (data instanceof Uint8Array) {
      decodedData = Buffer.from(data.buffer).toString();
    } else {
      decodedData = Buffer.from(data, encoding).toString();
    }
  } catch (e) {
    // Failed to decode, treat it as simple text.
    return {isJSON: false, processedData: data};
  }

  // strip any leading ANSI color codes from the decoded data
  // to parse colored JSON objects correctly
  decodedData = decodedData.replace(/\x1b[[(?);]{0,2}(;?\d)*./g, '');
  try {
    return {isJSON: true, processedData: JSON.parse(decodedData)};
  } catch (e) {
    return {isJSON: false, processedData: decodedData};
  }
}