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

x/dtils/deps.ts>streamUtils.DelimiterStream

The best unofficial library of utilities for Deno applications
Go to Latest
class streamUtils.DelimiterStream
extends TransformStream<Uint8Array, Uint8Array>
import { streamUtils } from "https://deno.land/x/dtils@2.2.1/deps.ts";
const { DelimiterStream } = streamUtils;

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)