@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.45 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 o from"./../assert/has-own-property.js";import n from"./../symbol/iterator.js";var u=r,i=e,a=t,s=o,p=n;function f(){var r,e,t,o,n,l,m,v;if(i(arguments[(t=arguments.length)-1])||(e=arguments[t-=1]),!i(o=arguments[t-=1]))throw new TypeError("invalid argument. Callback argument must be a function. Value: `"+o+"`.");if(t<2)throw new Error("insufficient input arguments. Must provide two or more iterators.");for(r=[],v=0;v<t;v++){if(!a(arguments[v]))throw new TypeError("invalid argument. Must provide an iterator protocol-compliant object. Argument: `"+v+"`. Value: `"+arguments[v]+"`.");r.push(arguments[v])}if(u(n={},"next",d),u(n,"return",h),p){for(v=0;v<t;v++)if(!i(r[v][p])){l=!0;break}l||u(n,p,c)}return m=-1,l=0,v=0,n;function d(){var n,u,i;if(l)return{done:!0};for(n=[],m+=1,l=0,i=0;i<t;i++){if((u=r[i].next()).done){if(l+=1,s(u,"value")){n.push(u.value);continue}return{done:!0}}n.push(u.value)}return n.push(m),{value:o.apply(e,n),done:!1}}function h(r){return l=1,arguments.length?{value:r,done:!0}:{done:!0}}function c(){var n,u;for(n=[],u=0;u<t;u++)n.push(r[u][p]());return n.push(o),n.push(e),f.apply(null,n)}}var l=f;export default l;
//# sourceMappingURL=mapn.js.map