UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 1.64 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import e from"./../../../utils/define-nonenumerable-read-only-property.js";import r from"./../../../assert/is-function.js";import o from"./../../../assert/is-number.js";import t from"./../../../assert/is-iterator-like.js";import n from"./../../../assert/has-own-property.js";import u from"./../../../symbol/iterator.js";var i=e,a=r,f=o.isPrimitive,s=t,l=n,p=u;function m(){var e,r,o,t,n,u;if((o=arguments.length)<2)throw new Error("insufficient input arguments. Must provide two or more iterators.");for(e=[],r=[],u=0;u<o;u++)if(e.push(arguments[u]),s(arguments[u]))r.push(1);else{if(!f(arguments[u]))throw new TypeError("invalid argument. Must provide an iterator protocol-compliant object or a number. Argument: `"+u+"`. Value: `"+arguments[u]+"`.");r.push(0)}if(i(t={},"next",v),i(t,"return",d),p){for(u=0;u<o;u++)if(r[u]&&!a(e[u][p])){n=!0;break}n||i(t,p,b)}return n=0,u=0,t;function v(){var t,u,i;if(n)return{done:!0};if(n=0,r[0])if((u=e[0].next()).done){if(n+=1,!l(u,"value"))return{done:!0};t="number"==typeof u.value?u.value:NaN}else t="number"==typeof u.value?u.value:NaN;else t=e[0];for(i=1;i<o;i++)if(r[i]){if((u=e[i].next()).done){if(n+=1,l(u,"value")){"number"==typeof u.value?t%=u.value:t=NaN;continue}return{done:!0}}"number"==typeof u.value?t%=u.value:t=NaN}else t%=e[i];return{value:t,done:!1}}function d(e){return n=1,arguments.length?{value:e,done:!0}:{done:!0}}function b(){var t,n;for(t=[],n=0;n<o;n++)r[n]?t.push(e[n][p]()):t.push(e[n]);return m.apply(null,t)}}var v=m;export default v; //# sourceMappingURL=mod.js.map