TextDelimiterStream
import { TextDelimiterStream } from "jsr:@ende/streams";class
class TextDelimiterStream extends TransformStream<string, string>Transform a stream string into a stream where each chunk is divided by a
given delimiter.
If you are working with a stream of Uint8Array, consider using DelimiterStream.
If you want to split by a newline, consider using TextLineStream.
Example: Comma-separated values
import { TextDelimiterStream } from "@ende/streams/text-delimiter-stream";
import { assertEquals } from "@ende/assert";
const stream = ReadableStream.from([
"alice,20,",
",US,",
]);
const valueStream = stream.pipeThrough(new TextDelimiterStream(","));
assertEquals(
await Array.fromAsync(valueStream),
["alice", "20", "", "US", ""],
);
Example: Semicolon-separated values with suffix disposition
import { TextDelimiterStream } from "@ende/streams/text-delimiter-stream";
import { assertEquals } from "@ende/assert";
const stream = ReadableStream.from([
"const a = 42;;let b =",
" true;",
]);
const valueStream = stream.pipeThrough(
new TextDelimiterStream(";", { disposition: "suffix" }),
);
assertEquals(
await Array.fromAsync(valueStream),
["const a = 42;", ";", "let b = true;", ""],
);
Constructors
constructor
new TextDelimiterStream(delimiter: string, options?: DelimiterStreamOptions)Constructs a new instance.
delimiter: stringA delimiter to split the stream by.
options?: DelimiterStreamOptionsOptions for the stream.