39 lines · 1.1 KB · TypeScript
RawDownload
import { assert, describe, it } from "@effect/vitest";import * as Effect from "effect/Effect";import * as Stream from "effect/Stream"; import { collectUint8StreamText } from "./collectUint8StreamText.ts"; const encoder = new TextEncoder(); describe("collectUint8StreamText", () => {  it.effect("collects Uint8Array chunks into decoded text", () =>    Effect.gen(function* () {      const result = yield* collectUint8StreamText({        stream: Stream.make(encoder.encode("hello "), encoder.encode("world")),      });       assert.deepStrictEqual(result, {        text: "hello world",        bytes: 11,        truncated: false,      });    }),  );   it.effect("truncates by bytes and appends an optional marker once", () =>    Effect.gen(function* () {      const result = yield* collectUint8StreamText({        stream: Stream.make(encoder.encode("abcdef"), encoder.encode("ghij")),        maxBytes: 5,        truncatedMarker: "[truncated]",      });       assert.deepStrictEqual(result, {        text: "abcde[truncated]",        bytes: 5,        truncated: true,      });    }),  );});

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t