@klodianimeri/pipejs
Version:
Pipe functions that provide convenient and efficient ways to work with iterators.
3 lines (2 loc) • 11.8 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);function y(n){return()=>{let e=-1;return r=>null!=r&&r.done?r:(++e,e===n?[r,a()]:void 0)}}function d(){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 s(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=>null!=t&&t.done?r.length>0?[i(r),t]:t:(r.push(t.value),r.length===n?(t.value=new Array(...r),r.splice(0,e),t):void 0)}}function h(n){return c(n),()=>e=>null!=e&&e.done?v(f(Array.from(n)),e):e}function p(){return()=>{let n=-1;return e=>{if(++n,null!=e&&e.done)return[i(n),e]}}}function w(n){return()=>{let e=!0;return r=>{if(null!=r&&r.done){if(e)return[i(n),r]}else e=!1;return r}}}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)?void 0:(e.add(n.value),n)}}function m(n){return n="function"==typeof n?n:(n,e)=>n===e,()=>{let e;return r=>{if(null!=r&&r.done||!n(e,r.value))return e=r.value,r}}}function A(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(r[n],t.value[n]))return r=t.value,t}}}function S(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 g(n){return n="number"==typeof n&&n>0?n:0,()=>{let e=-1;return r=>null!=r&&r.done?r:(++e,e>=n?r:void 0)}}const x=y;function I(){return()=>{let n=-1;return e=>(null!=e&&e.done||(++n,e.value=[n,e.value]),e)}}function k(...n){return()=>e=>e.done?v(f(n),e):e}function P(n){return()=>{let e=-1;return r=>null!=r&&r.done?[i(!0),r]:(++e,n(r.value,e)?void 0:[i(!1),a()])}}function j(n,e,r){return e="number"==typeof e?e:0,r="number"==typeof r?r:Infinity,()=>{let t=-1;return u=>(++t,(null==u||!u.done)&&t>=e&&t<r&&(u.value=n),u)}}function N(n){return()=>{let e=-1;return r=>null!=r&&r.done?r:(++e,n(r.value,e)?r:void 0)}}function O(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>null!=t&&t.done?t:(++r,r>=e&&n(t.value,r)?[i(r),a()]:void 0)}}function E(n,e){return e="number"==typeof e?e:0,()=>{let r=-1,t=-1;return u=>{if(null!=u&&u.done)return[i(t),u];++r,r>=e&&n(u.value,r)&&(t=r)}}}function _(n){return()=>{let e,r=-1;return t=>{if(null!=t&&t.done)return void 0===e?t:[i(e),t];++r,n(t.value,r)&&(e=t.value)}}}function $(n){return()=>{let e=-1;return r=>null!=r&&r.done?r:(++e,n(r.value,e)?[r,a()]:void 0)}}function T(){return()=>n=>null!=n&&n.done?n:[n,a()]}function z(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 V(){return()=>n=>{if(null!=n&&n.done)return n}}function q(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>null!=t&&t.done?[i(!1),t]:(++r,r>=e&&t.value===n?[i(!0),a()]:void 0)}}function B(n,e){return e="number"==typeof e?e:0,()=>{let r=-1;return t=>null!=t&&t.done?[i(-1),t]:(++r,r>=e&&n===t.value?[i(r),a()]:void 0)}}function C(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 D(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 F(){return()=>n=>null!=n&&n.done?[i(!0),n]:[i(!1),a()]}function G(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 H(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 J(){return()=>{let n=-1;return e=>(null!=e&&e.done||(++n,e.value=Array.isArray(e.value)&&2==e.value.length?e.value[0]:n),e)}}const K=(n,e)=>E(e=>e===n,e);function L(){return()=>{let n,e=-1;return r=>{if(++e,null!=r&&r.done)return 0===e?r:[i(n),r];n=r.value}}}function M(n){return()=>e=>(e.value=n,e)}function Q(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 R(){return()=>{let n=-Infinity;return e=>{if(null!=e&&e.done)return-Infinity===n?e:[i(n),e];"number"==typeof e.value&&!isNaN(e.value)&&e.value>n&&(n=e.value)}}}function U(){return()=>{let n=Infinity;return e=>{if(null!=e&&e.done)return Infinity===n?e:[i(n),e];"number"==typeof e.value&&!isNaN(e.value)&&e.value<n&&(n=e.value)}}}function W(){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 X(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 Y(){return()=>{let n=new Array;return e=>{if(null!=e&&e.done)return[...n,e];n.unshift(e)}}}function Z(n,e){return()=>{let r,t=-1;return u=>(null!=u&&u.done||(++t,0===t&&(r=null!=e?e:u.value),u.value=r=n(r,u.value,t)),u)}}function nn(){return()=>{let n=-1;return e=>{if(++n,null!=e&&e.done)return[i(n),e]}}}function en(n){return n="number"==typeof n&&n>0?n:0,()=>{let e=new Array;return r=>null!=r&&r.done?r:(e.push(r),e.length>n?e.shift():void 0)}}const rn=g;function tn(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 un(n){return()=>{let e=-1;return r=>null!=r&&r.done?[i(!1),r]:(e++,n(r.value,e)?[i(!0),a()]:void 0)}}function on(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 ln(...n){return()=>{let e=!1;return r=>e?r:(e=!0,v(f(n),r))}}function fn(){return()=>{let n=0;return e=>{if(null!=e&&e.done)return[i(n),e];"number"!=typeof e.value||isNaN(e.value)||(n+=e.value)}}}function an(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 cn(n){return n="number"==typeof n&&n>0?n:0,()=>{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 vn(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 yn(n){return n="number"==typeof n&&n>0?n:Infinity,()=>{var e=-1;return r=>++e>=n?a():r}}function dn(){return()=>{let n=new Array;return e=>{if(null!=e&&e.done)return[i(n),e];n.push(e.value)}}}function sn(){return()=>{let n=new Set;return e=>{if(null!=e&&e.done)return[i(n),e];n.add(e.value)}}}function hn(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 pn(){return()=>n=>(n.done||Array.isArray(n.value)&&2==n.value.length&&(n.value=n.value[1]),n)}export{y as at,d as average,s as bufferCount,h as concat,p as count,w as defaultIfEmpty,b as difference,S as distinct,m as distinctUntilChanged,A as distinctUntilKeyChanged,g as drop,x as elementAt,k as endWith,I as entries,P as every,j as fill,N as filter,$ as find,O as findIndex,_ as findLast,E as findLastIndex,T as first,z as flat,V as ignoreElements,q as includes,B as indexOf,C as intersection,D as isDisjointFrom,F as isEmpty,G as isSubsetOf,H as isSupersetOf,J as keys,L as last,K as lastIndexOf,Q as map,M as mapTo,R as max,U as min,o as pipeAsync,n as pipeSync,W as pop,X as reduce,Y as reverse,Z as scan,nn as size,rn as skip,en as skipLast,tn as slice,un as some,on as splice,ln as startWith,fn as sum,an as symmetricDifference,yn as take,cn as takeLast,vn as takeWhile,dn as toArray,sn as toSet,hn as union,pn as values};
//# sourceMappingURL=index.modern.js.map