UNPKG

@stdlib/array-to-sparse-iterator-right

Version:

Create an iterator from a sparse array-like object, iterating from right to left.

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