UNPKG

web-streams-extensions

Version:

A comprehensive collection of helper methods for WebStreams with built-in backpressure support, inspired by ReactiveExtensions

30 lines (29 loc) 812 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toString = toString; /** * combines a stream of chunks to a string. */ async function toString(src, selector = (value) => value.toString()) { let res = ""; let reader = src.getReader(); try { let done = false; while (done == false) { let next = await reader.read(); done = next.done; if (!done) res += selector(next.value); } } finally { // Always cancel the reader to ensure proper cleanup of resources try { await reader.cancel(); } catch (e) { // Ignore cancellation errors (stream might already be closed) } reader.releaseLock(); } return res; }