@stdlib/array-to-sparse-iterator
Version:
Create an iterator from a sparse array-like object.
6 lines (5 loc) • 1.36 kB
JavaScript
;var p=function(e,n){return function(){return n||e((n={exports:{}}).exports,n),n.exports}};var m=p(function(T,g){
var l=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),w=require('@stdlib/assert-is-function/dist'),x=require('@stdlib/assert-is-collection/dist'),b=require('@stdlib/array-base-assert-is-accessor-array/dist'),s=require('@stdlib/symbol-iterator/dist'),A=require('@stdlib/array-base-accessor-getter/dist'),F=require('@stdlib/array-base-getter/dist'),E=require('@stdlib/array-dtype/dist'),d=require('@stdlib/error-tools-fmtprodmsg/dist');function f(e){var n,a,o,u,i,v,r;if(!x(e))throw new TypeError(d('01f2O',e));if(arguments.length>1){if(u=arguments[1],!w(u))throw new TypeError(d('01f2H',u));n=arguments[2]}return r=-1,a={},u?l(a,"next",q):l(a,"next",h),l(a,"return",y),s&&l(a,s,c),v=E(e),b(e)?i=A(v):i=F(v),a;function q(){var t;if(o)return{done:!0};for(t=e.length,r+=1;r<t&&i(e,r)===void 0;)r+=1;return r>=t?(o=!0,{done:!0}):{value:u.call(n,i(e,r),r,e),done:!1}}function h(){var t;if(o)return{done:!0};for(t=e.length,r+=1;r<t&&i(e,r)===void 0;)r+=1;return r>=t?(o=!0,{done:!0}):{value:i(e,r),done:!1}}function y(t){return o=!0,arguments.length?{value:t,done:!0}:{done:!0}}function c(){return u?f(e,u,n):f(e)}}g.exports=f
});var G=m();module.exports=G;
/** @license Apache-2.0 */
//# sourceMappingURL=index.js.map