@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.26 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import e from"./../assert/is-function.js";import r from"./../assert/is-array-like-object.js";import t from"./../assert/is-iterator-like.js";import a from"./../assert/has-own-property.js";var o=e,n=r,i=t,l=a;function u(){var e,r,t,a,u,f,s;if(e=arguments[0],arguments.length>1)if(n(arguments[1])){if(a=arguments[1],arguments.length>2){if(!o(t=arguments[2]))throw new TypeError("invalid argument. Callback argument must be a function. Value: `"+t+"`.");r=arguments[3]}}else{if(!o(t=arguments[1]))throw new TypeError("invalid argument. Callback argument must be a function. Value: `"+t+"`.");r=arguments[2]}if(!i(e))throw new TypeError("invalid argument. Iterator argument must be an iterator protocol-compliant object. Value: `"+e+"`.");if(f=-1,void 0===a){if(a=[],t){for(;f+=1,s=e.next(),l(s,"value")&&a.push(t.call(r,s.value,f)),!s.done;);return a}for(;s=e.next(),l(s,"value")&&a.push(s.value),!s.done;);return a}if(u=a.length,t){for(;f<u-1&&(f+=1,s=e.next(),l(s,"value")&&(a[f]=t.call(r,s.value,f)),!s.done););return a}for(;f<u-1&&(f+=1,s=e.next(),l(s,"value")&&(a[f]=s.value),!s.done););return a}var f=u;export default f;
//# sourceMappingURL=from-iterator.js.map