Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/proc/src/deps/streams.ts>DelimiterStream

A high-level way to run child processes that is easy, flexible, powerful, and prevents resource leaks.
Go to Latest
class DelimiterStream
extends TransformStream<Uint8Array, Uint8Array>
import { DelimiterStream } from "https://deno.land/x/proc@0.20.18/src/deps/streams.ts";

Divide a stream into chunks delimited by a given byte sequence.

Examples

Divide a CSV stream by commas, discarding the commas:

import { DelimiterStream } from "https://deno.land/std@0.224.0/streams/delimiter_stream.ts";
const res = await fetch("https://example.com/data.csv");
const parts = res.body!
  .pipeThrough(new DelimiterStream(new TextEncoder().encode(",")))
  .pipeThrough(new TextDecoderStream());

Divide a stream after semi-colons, keeping the semi-colons in the output:

import { DelimiterStream } from "https://deno.land/std@0.224.0/streams/delimiter_stream.ts";
const res = await fetch("https://example.com/file.js");
const parts = res.body!
  .pipeThrough(
    new DelimiterStream(
      new TextEncoder().encode(";"),
      { disposition: "suffix" },
    )
  )
  .pipeThrough(new TextDecoderStream());

Constructors

new
DelimiterStream(delimiter: Uint8Array, options?: DelimiterStreamOptions)