UNPKG

@gathertown/msgpack

Version:

MessagePack for ECMA-262/JavaScript/TypeScript

39 lines 1.08 kB
"use strict"; // utility for whatwg streams Object.defineProperty(exports, "__esModule", { value: true }); exports.isAsyncIterable = isAsyncIterable; exports.asyncIterableFromStream = asyncIterableFromStream; exports.ensureAsyncIterable = ensureAsyncIterable; function isAsyncIterable(object) { return object[Symbol.asyncIterator] != null; } 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(); } } function ensureAsyncIterable(streamLike) { if (isAsyncIterable(streamLike)) { return streamLike; } else { return asyncIterableFromStream(streamLike); } } //# sourceMappingURL=stream.js.map