File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
lib/node_modules/@stdlib/array/to-view-iterator-right/lib Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,9 @@ var isFunction = require( '@stdlib/assert/is-function' );
2525var isCollection = require ( '@stdlib/assert/is-collection' ) ;
2626var isInteger = require ( '@stdlib/assert/is-integer' ) . isPrimitive ;
2727var iteratorSymbol = require ( '@stdlib/symbol/iterator' ) ;
28- var arraylike2object = require ( '@stdlib/array/base/arraylike2object' ) ;
28+ var accessorGetter = require ( '@stdlib/array/base/accessor-getter' ) ;
29+ var getter = require ( '@stdlib/array/base/getter' ) ;
30+ var dtype = require ( '@stdlib/array/dtype' ) ;
2931var format = require ( '@stdlib/string/format' ) ;
3032
3133
@@ -66,6 +68,7 @@ function arrayview2iteratorRight( src ) {
6668 var fcn ;
6769 var end ;
6870 var get ;
71+ var dt ;
6972 var i ;
7073 if ( ! isCollection ( src ) ) {
7174 throw new TypeError ( format ( 'invalid argument. First argument must be an array-like object. Value: `%s`.' , src ) ) ;
@@ -141,8 +144,12 @@ function arrayview2iteratorRight( src ) {
141144 setReadOnly ( iter , iteratorSymbol , factory ) ;
142145 }
143146 // Resolve an accessor for retrieving array elements (e.g., to accommodate `Complex64Array`, etc):
144- get = arraylike2object ( src ) . getter ;
145-
147+ dt = dtype ( src ) ;
148+ if ( src . get && src . set ) { // Note: intentional weak check for marginal perf gain
149+ get = accessorGetter ( dt ) ;
150+ } else {
151+ get = getter ( dt ) ;
152+ }
146153 return iter ;
147154
148155 /**
You can’t perform that action at this time.
0 commit comments