@klodianimeri/pipejs
Version:
Pipe functions that provide convenient and efficient ways to work with iterators.
3 lines (2 loc) • 11.7 kB
JavaScript
function*n(n,...e){if(!n||"function"!=typeof n[Symbol.iterator])throw new Error(`Source ${n} not a sync iterator!`);if(!Array.isArray(e)||0===(e=e.filter(n=>"function"==typeof n)).length)return void(yield*n);let r=new Array;for(const n of e)r.push(n());let t=n[Symbol.iterator](),u=t.next();for(;;){let n=u.done,i=new Array(u);for(let n=0;n<r.length;n++){let t=new Array;for(let u=0;u<i.length;u++){let f=r[n](i[u]);f=Array.isArray(f)?f:[f];for(let r=0;r<f.length;r++){var o,l;if(void 0!==f[r])if(n<e.length-1)t.push(f[r]);else{if(null!=(o=f[r])&&o.done)return;null!=(l=f[r])&&l.hasOwnProperty("value")&&(yield f[r].value)}}}i=t}if(n)break;u=t.next()}}function e(n,e){this.v=n,this.k=e}function r(n){function e(n){if(Object(n)!==n)return Promise.reject(new TypeError(n+" is not an object."));var e=n.done;return Promise.resolve(n.value).then(function(n){return{value:n,done:e}})}return r=function(n){this.s=n,this.n=n.next},r.prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(n){var r=this.s.return;return void 0===r?Promise.resolve({value:n,done:!0}):e(r.apply(this.s,arguments))},throw:function(n){var r=this.s.return;return void 0===r?Promise.reject(n):e(r.apply(this.s,arguments))}},new r(n)}function t(n){return new e(n,0)}function u(n){var r,t;function u(r,t){try{var l=n[r](t),i=l.value,f=i instanceof e;Promise.resolve(f?i.v:i).then(function(e){if(f){var t="return"===r?"return":"next";if(!i.k||e.done)return u(t,e);e=n[t](e).value}o(l.done?"return":"normal",e)},function(n){u("throw",n)})}catch(n){o("throw",n)}}function o(n,e){switch(n){case"return":r.resolve({value:e,done:!0});break;case"throw":r.reject(e);break;default:r.resolve({value:e,done:!1})}(r=r.next)?u(r.key,r.arg):t=null}this._invoke=function(n,e){return new Promise(function(o,l){var i={key:n,arg:e,resolve:o,reject:l,next:null};t?t=t.next=i:(r=t=i,u(n,e))})},"function"!=typeof n.return&&(this.return=void 0)}function o(n){return l.apply(this,arguments)}function l(){var n;return n=function*(n,...u){if(!n||"function"!=typeof n[Symbol.asyncIterator])throw new Error(`Source ${n} not an async iterator!`);if(!Array.isArray(u)||0===u.length)return void(yield*function(n){var r={},t=!1;function u(r,u){return t=!0,u=new Promise(function(e){e(n[r](u))}),{done:!1,value:new e(u,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(n){return t?(t=!1,n):u("next",n)},"function"==typeof n.throw&&(r.throw=function(n){if(t)throw t=!1,n;return u("throw",n)}),"function"==typeof n.return&&(r.return=function(n){return t?(t=!1,n):u("return",n)}),r}(function(n){var e,t,u,o=2;for("undefined"!=typeof Symbol&&(t=Symbol.asyncIterator,u=Symbol.iterator);o--;){if(t&&null!=(e=n[t]))return e.call(n);if(u&&null!=(e=n[u]))return new r(e.call(n));t="@@asyncIterator",u="@@iterator"}throw new TypeError("Object is not async iterable")}(n)));let o=new Array;for(const n of u)o.push(n());let l=n[Symbol.asyncIterator](),i=yield t(l.next());for(;;){let n=i.done,e=new Array(i);for(let n=0;n<o.length;n++){let r=new Array;for(let t=0;t<e.length;t++){let l=o[n](e[t]);l=Array.isArray(l)?l:[l];for(let e=0;e<l.length;e++){var f;if(void 0!==l[e])if(n<u.length-1)r.push(l[e]);else{if(null!=(f=l[e])&&f.done)return;"value"in l[e]&&(yield l[e].value)}}}e=r}if(n)break;i=yield t(l.next())}},l=function(){return new u(n.apply(this,arguments))},l.apply(this,arguments)}u.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},u.prototype.next=function(n){return this._invoke("next",n)},u.prototype.throw=function(n){return this._invoke("throw",n)},u.prototype.return=function(n){return this._invoke("return",n)};const i=n=>({value:n,done:!1}),f=n=>{let e=new Array;for(let r=0;r<n.length;r++)e[r]={value:n[r],done:!1};return e},a=n=>Object({value:n,done:!0}),c=n=>{if(!n||"function"!=typeof n[Symbol.iterator])throw new Error(`Value not a sync iterator: ${n}`)},v=(n,e)=>(n.splice(n.length,0,e),n),d=()=>Number.POSITIVE_INFINITY,y=()=>Number.NEGATIVE_INFINITY;function s(n){return()=>{let e=-1;return r=>(++e,null!=r&&r.done?r:e===n?[r,a()]:void 0)}}function h(){return()=>{let n=0,e=0;return r=>{if(null!=r&&r.done)return 0===n?r:[i(e/n),r];"number"==typeof r.value&&(++n,e+=r.value)}}}function p(n,e){return()=>{let r=new Array;return n="number"==typeof n&&n>1?n:1,e="number"==typeof e&&e>1?e:n,t=>{if(null!=t&&t.done)return r.length>0?[i(r),t]:t;if(r.push(t.value),r.length===n){t.value=new Array(...r);for(let n=0;n<e;n++)r.shift();return t}}}}function w(n){return c(n),()=>e=>null!=e&&e.done?v(f(Array.from(n)),e):e}function b(){return()=>{let n=-1;return e=>{if(++n,null!=e&&e.done)return[i(n),e]}}}function m(n){return()=>{let e=!0;return r=>{if(null!=r&&r.done){if(e)return[i(n),r]}else e=!1;return r}}}function A(n){return c(n),()=>{let e=n instanceof Set?n:new Set(n);return n=>null!=n&&n.done?n:e.has(n.value)?void 0:(e.add(n.value),n)}}function S(n){return n="function"==typeof n?n:(n,e)=>n===e,()=>{let e;return r=>{if(null!=r&&r.done||!n(r.value,e))return e=r.value,r}}}function g(n,e){return e="function"==typeof e?e:(n,e)=>n===e,()=>{let r;return t=>{var u,o;if(null!=t&&t.done||null==(u=t.value)||!u.hasOwnProperty(n)||null==(o=r)||!o.hasOwnProperty(n)||!e(t.value[n],r[n]))return r=t.value,t}}}function I(n){return n="function"==typeof n?n:n=>n,()=>{let e=new Set;return r=>null!=r&&r.done?r:e.has(n(r.value))?void 0:(e.add(n(r.value)),r)}}function x(n){return n="number"==typeof n?n:0,()=>{let e=-1;return r=>(++e,null!=r&&r.done||e>=n?r:void 0)}}const k=s;function P(){return()=>{let n=-1;return e=>(++n,e.done||Array.isArray(e.value)||(e.value=[n,e.value]),e)}}function j(...n){return()=>e=>e.done?v(f(n),e):e}function E(n){return()=>{let e=-1;return r=>(++e,null!=r&&r.done?[i(!0),r]:n(r.value,e)?void 0:[i(!1),a()])}}function N(n,e,r){return e="number"==typeof e?e:0,r="number"==typeof r?r:d(),()=>{let t=-1;return u=>(++t,(null==u||!u.done)&&t>=e&&t<r&&(u.value=n),u)}}function O(n){return()=>{let e=-1;return r=>(++e,null!=r&&r.done||n(r.value,e)?r:void 0)}}function T(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>(++r,null!=t&&t.done?t:r>=e&&n(t.value,r)?[i(r),a()]:void 0)}}function _(n,e){return()=>{let e=-1,r=-1;return t=>{if(++e,null!=t&&t.done)return[i(r),t];n(t.value)&&(r=e)}}}function V(n){return()=>{let e,r=-1;return t=>{if(++r,null!=t&&t.done)return void 0===e?t:[i(e),t];n(t.value,r)&&(e=t.value)}}}function $(n){return()=>{let e=-1;return r=>(++e,null!=r&&r.done?r:n(r.value,e)?[r,a()]:void 0)}}function F(){return()=>n=>null!=n&&n.done?n:[n,a()]}function Y(n){return n="number"==typeof n&&n>=1?n:1,()=>e=>null!=e&&e.done||"function"!=typeof e.value[Symbol.iterator]?e:f(Array.from(e.value).flat(n))}function z(){return()=>n=>{if(null!=n&&n.done)return n}}function G(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>(++r,null!=t&&t.done?[i(!1),t]:r>=e&&t.value===n?[i(!0),a()]:void 0)}}function q(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>(++r,null!=t&&t.done?[i(-1),t]:r>=e&&n===t.value?[i(r),a()]:void 0)}}function B(n){return c(n),()=>{let e=n instanceof Set?n:new Set(n);return n=>null!=n&&n.done?n:e.has(n.value)?(e.delete(n.value),n):void 0}}function C(n){return c(n),()=>{let e=n instanceof Set?n:new Set(n);return n=>null!=n&&n.done?[i(!0),n]:e.has(n.value)?[i(!1),a()]:void 0}}function D(){return()=>n=>null!=n&&n.done?[i(!0),n]:[i(!1),a()]}function H(n){return c(n),()=>{let e=n instanceof Set?n:new Set(n);return n=>null!=n&&n.done?[i(!0),n]:e.has(n.value)?void 0:[i(!1),a()]}}function J(n){return c(n),()=>{let e=n instanceof Set?n:new Set(n),r=0;return n=>{if(null!=n&&n.done)return r===e.size?[i(!0),n]:[i(!1),n];e.has(n.value)&&++r}}}function K(){return()=>{let n=-1;return e=>(++n,null!=e&&e.done||(e.value=Array.isArray(e.value)&&2==e.value.length?e.value[0]:n),e)}}const L=(n,e)=>_(e=>e===n);function M(){return()=>{let n,e=-1;return r=>{if(++e,null!=r&&r.done)return 0===e?r:[i(n),r];n=r.value}}}function Q(n){return()=>e=>(e.value=n,e)}function R(n){return n="function"==typeof n?n:n=>n,()=>{let e=-1;return r=>(++e,null!=r&&r.done||(r.value=n(r.value,e)),r)}}function U(){return()=>{let n=y();return e=>{if(null!=e&&e.done)return n===y()?e:[i(n),e];"number"==typeof e.value&&e.value>n&&(n=e.value)}}}function W(){return()=>{let n=d();return e=>{if(null!=e&&e.done)return n===d()?e:[i(n),e];"number"==typeof e.value&&e.value<n&&(n=e.value)}}}function X(){return()=>{let n;return e=>{if(null!=e&&e.done)return e;let r=n;return n=e,void 0!==n?r:void 0}}}function Z(n,e){return()=>{let r,t=-1;return u=>{if(++t,0===t&&(r=null!=e?e:u.value),null!=u&&u.done)return[i(r),u];r=n(r,u.value,t)}}}function nn(){return()=>{let n=new Array;return e=>{if(null!=e&&e.done)return[...n,e];n.unshift(e)}}}function en(n,e){return()=>{let r,t=-1;return u=>(++t,0===t&&(r=null!=e?e:u.value),null!=u&&u.done||(u.value=r=n(r,u.value,t)),u)}}function rn(){return()=>{let n=-1;return e=>{if(++n,null!=e&&e.done)return[i(n),e]}}}function tn(n){return n="number"==typeof n&&n>0?n:y(),()=>{let e=new Array;return r=>(e.push(r),r.done?r:e.length>n?e.shift():void 0)}}const un=x;function on(n,e){return n="number"==typeof n&&n>=0?n:0,e="number"==typeof e&&e>n?e:Infinity,()=>{let r=-1;return t=>(++r,null!=t&&t.done||r>=n&&r<e?t:r===e?a():void 0)}}function ln(n){return()=>e=>null!=e&&e.done?[i(!1),e]:n(e.value)?[i(!0),a()]:void 0}function fn(n,e,...r){return n="number"==typeof n&&n>=0?n:0,e="number"==typeof e&&e>=0?e:0,()=>{let t=-1;return u=>(++t,t<n||t>=n+e?u:t===n&&Array.isArray(r)?f(r):void 0)}}function an(...n){return()=>{let e=!1;return r=>e?r:(e=!0,v(f(n),r))}}function cn(){return()=>{let n=0;return e=>{if(null!=e&&e.done)return[i(n),e];"number"==typeof e.value&&(n+=e.value)}}}function vn(n){c(n);let e=new Set;return()=>r=>{if(null!=r&&r.done){let t=new Array;for(const r of n)e.has(r)||(e.add(r),t.push(r));return v(f(t),r)}if(!e.has(r.value))return e.add(r.value),r}}function dn(n){return n="number"==typeof n&&n>0?n:d(),()=>{let e=new Array;return r=>{if(null!=r&&r.done)return v(f(e),r);e.length===n&&e.shift(),e.push(r.value)}}}function yn(n,e){return e="boolean"==typeof e&&e,()=>{var r=-1;return t=>(++r,null!=t&&t.done||n(t.value,r)?t:e?[t,a()]:a())}}function sn(n){return n="number"==typeof n&&n>0?n:d(),()=>{var e=-1;return r=>++e>=n?a():r}}function hn(){return()=>{let n=new Array;return e=>{if(null!=e&&e.done)return[i(n),e];n.push(e.value)}}}function pn(){return()=>{let n=new Set;return e=>{if(null!=e&&e.done)return[i(n),e];n.add(e.value)}}}function wn(n){return c(n),()=>{let e=new Set;return r=>{if(null!=r&&r.done){let t=new Array;for(const r of n)e.has(r)||(e.add(r),t.push(r));return v(f(t),r)}if(!e.has(r.value))return e.add(r.value),r}}}function bn(){return()=>n=>(n.done||Array.isArray(n.value)&&2==n.value.length&&(n.value=n.value[1]),n)}export{s as at,h as average,p as bufferCount,w as concat,b as count,m as defaultIfEmpty,A as difference,I as distinct,S as distinctUntilChanged,g as distinctUntilKeyChanged,x as drop,k as elementAt,j as endWith,P as entries,E as every,N as fill,O as filter,$ as find,T as findIndex,V as findLast,_ as findLastIndex,F as first,Y as flat,z as ignoreElements,G as includes,q as indexOf,B as intersection,C as isDisjointFrom,D as isEmpty,H as isSubsetOf,J as isSupersetOf,K as keys,M as last,L as lastIndexOf,R as map,Q as mapTo,U as max,W as min,o as pipeAsync,n as pipeSync,X as pop,Z as reduce,nn as reverse,en as scan,rn as size,un as skip,tn as skipLast,on as slice,ln as some,fn as splice,an as startWith,cn as sum,vn as symmetricDifference,sn as take,dn as takeLast,yn as takeWhile,hn as toArray,pn as toSet,wn as union,bn as values};
//# sourceMappingURL=index.modern.js.map