Files
DeviceManager/src/lib/serial/line-break-transformer.ts
2023-07-07 12:24:23 +02:00

19 lines
486 B
TypeScript

export class LineBreakTransformer {
private chunks = ""
// noinspection JSUnusedGlobalSymbols
transform(chunk: string, controller: TransformStreamDefaultController) {
this.chunks += chunk
const lines = this.chunks.split("\r\n")
this.chunks = lines.pop()!
for (const line of lines) {
controller.enqueue(line)
}
}
// noinspection JSUnusedGlobalSymbols
flush(controller: TransformStreamDefaultController) {
controller.enqueue(this.chunks)
}
}