File tree Expand file tree Collapse file tree 3 files changed +13
-5
lines changed
Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Load Diff This file was deleted.
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 /**
Original file line number Diff line number Diff line change 3737 "url" : " https://github.com/stdlib-js/stdlib/issues"
3838 },
3939 "dependencies" : {
40- "@stdlib/array-base-arraylike2object" : " ^0.0.x" ,
40+ "@stdlib/array-base-accessor-getter" : " ^0.0.x" ,
41+ "@stdlib/array-base-getter" : " ^0.0.x" ,
42+ "@stdlib/array-dtype" : " ^0.0.x" ,
4143 "@stdlib/assert-is-collection" : " ^0.0.x" ,
4244 "@stdlib/assert-is-function" : " ^0.0.x" ,
4345 "@stdlib/assert-is-integer" : " ^0.0.x" ,
You can’t perform that action at this time.
0 commit comments