llm-mixer / networks /stream_jsonizer.js
Hansimov's picture
:zap: [Enhance] Prettify footnote number formats
20f256e
raw
history blame
865 Bytes
const decoder = new TextDecoder("utf-8");
export function stringify_stream_bytes(bytes) {
return decoder.decode(bytes);
}
export function jsonize_stream_data(data) {
var json_chunks = [];
data = data
.replace(/^data:\s*/gm, "")
.replace(/\[DONE\]/gm, "")
.split("\n")
.filter(function (line) {
return line.trim().length > 0;
})
.map(function (line) {
try {
// TODO: Single line broken into multiple chunks
let json_chunk = JSON.parse(line.trim());
json_chunks.push(json_chunk);
} catch {
console.log(`Failed to parse: ${line}`);
}
});
return json_chunks;
}
export function transform_footnote(text) {
return text.replace(/([\[\(])\^(\d+)\^([\]\)])/g, "<sup>$1$2$3</sup>");
}