"use strict"; // utility for whatwg streams Object.defineProperty(exports, "__esModule", { value: true }); exports.ensureAsyncIterable = exports.asyncIterableFromStream = exports.isAsyncIterable = void 0; function isAsyncIterable(object) { return object[Symbol.asyncIterator] != null; } exports.isAsyncIterable = isAsyncIterable; function assertNonNull(value) { if (value == null) { throw new Error("Assertion Failure: value must not be null nor undefined"); } } async function* asyncIterableFromStream(stream) { const reader = stream.getReader(); try { while (true) { const { done, value } = await reader.read(); if (done) { return; } assertNonNull(value); yield value; } } finally { reader.releaseLock(); } } exports.asyncIterableFromStream = asyncIterableFromStream; function ensureAsyncIterable(streamLike) { if (isAsyncIterable(streamLike)) { return streamLike; } else { return asyncIterableFromStream(streamLike); } } exports.ensureAsyncIterable = ensureAsyncIterable; //# sourceMappingURL=stream.js.map