it-buffer-stream
Version:
An async iterator that emits buffers containing bytes up to a certain length
4 lines (3 loc) • 1.52 kB
JavaScript
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ItBufferStream = factory()}(typeof self !== 'undefined' ? self : this, function () {
;var ItBufferStream=(()=>{var d=Object.create;var s=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var B=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),b=(e,n)=>{for(var t in n)s(e,t,{get:n[t],enumerable:!0})},l=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of g(n))!m.call(e,o)&&o!==t&&s(e,o,{get:()=>n[o],enumerable:!(r=h(n,o))||r.enumerable});return e};var A=(e,n,t)=>(t=e!=null?d(p(e)):{},l(n||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),M=e=>l(s({},"__esModule",{value:!0}),e);var y=B((Y,u)=>{"use strict";function k(e){let n=new Uint8Array(e),t=0;if(e>0)if(e>65536)for(;t<e;)t+65536>e?(crypto.getRandomValues(n.subarray(t,t+(e-t))),t+=e-t):(crypto.getRandomValues(n.subarray(t,t+65536)),t+=65536);else crypto.getRandomValues(n);return n}u.exports=k});var T={};b(T,{default:()=>f});var i=A(y(),1),E={chunkSize:4096,collector:()=>{},generator:async e=>Promise.resolve((0,i.default)(e))};async function*f(e,n={}){let t=Object.assign({},E,n),r=0,o=[];for(o.length=Math.ceil(e/t.chunkSize);r<e;){let S=r+t.chunkSize,a=t.chunkSize;S>e&&(a=e-r);let c=await t.generator(a);c=c.slice(0,a),t.collector(c),r+=a,yield c}}return M(T);})();
return ItBufferStream}));