@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.86 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import r from"./../utils/define-nonenumerable-read-only-property.js";import e from"./../assert/is-function.js";import t from"./../assert/is-iterator-like.js";import n from"./../assert/has-own-property.js";import o from"./../symbol/iterator.js";import u from"./../utils/linked-list.js";var i=r,a=e,l=t,f=n,s=o,v=u;function p(r,e){for(var t=r.first();t;){if(t.value[0]===e)return t;t=t.next}return null}function m(r,e){for(var t=r.first();t;)t.value[1]<e&&r.remove(t),t=t.next;return r}function d(r){var e,t,n,o,u;for(e=new v,t=r[0];;){if((n=t.next()).done){f(n,"value")&&null===(o=p(e,n.value))&&e.push([n.value,1]);break}null===(o=p(e,n.value))&&e.push([n.value,1])}if(0===e.length)return e;for(u=1;u<r.length;u++){for(t=r[u];;){if((n=t.next()).done){f(n,"value")&&(o=p(e,n.value))&&o.value[1]===u&&(o.value[1]+=1);break}(o=p(e,n.value))&&o.value[1]===u&&(o.value[1]+=1)}if(m(e,u+1),0===e.length)return e}return e}function h(){var r,e,t,n,o,u;if((t=arguments.length)<2)throw new Error("insufficient input arguments. Must provide two or more iterators.");for(r=[],u=0;u<t;u++){if(!l(arguments[u]))throw new TypeError("invalid argument. Must provide an iterator protocol-compliant object. Argument: `"+u+"`. Value: `"+arguments[u]+"`.");r.push(arguments[u])}if(i(n={},"next",f),i(n,"return",v),s){for(u=0;u<t;u++)if(!a(r[u][s])){o=!0;break}o||i(n,s,p)}return o=!1,n;function f(){var t,n;if(o)return{done:!0};if(void 0===e){if(0===(t=d(r)).length)return o=!0,{done:!0};e=t.iterator()}return(n=e.next()).done?(o=!0,n):{value:n.value[0],done:!1}}function v(r){return o=!0,arguments.length?{value:r,done:!0}:{done:!0}}function p(){var e,n;for(e=[],n=0;n<t;n++)e.push(r[n][s]());return h.apply(null,e)}}var c=h;export default c;
//# sourceMappingURL=intersection.js.map