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