Skip to content

Commit 122fd13

Browse files
committed
Auto-generated commit
1 parent a76120d commit 122fd13

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

.github/.keepalive

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/main.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ var isFunction = require( '@stdlib/assert-is-function' );
2525
var isCollection = require( '@stdlib/assert-is-collection' );
2626
var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;
2727
var 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' );
2931
var 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
/**

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@
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",

0 commit comments

Comments
 (0)