File tree 3 files changed +13
-4
lines changed
3 files changed +13
-4
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 23
23
var isFunction = require ( '@stdlib/assert-is-function' ) ;
24
24
var isCollection = require ( '@stdlib/assert-is-collection' ) ;
25
25
var isIteratorLike = require ( '@stdlib/assert-is-iterator-like' ) ;
26
- var arraylike2object = require ( '@stdlib/array-base-arraylike2object' ) ;
26
+ var accessorSetter = require ( '@stdlib/array-base-accessor-setter' ) ;
27
+ var setter = require ( '@stdlib/array-base-setter' ) ;
28
+ var dtype = require ( '@stdlib/array-dtype' ) ;
27
29
var format = require ( '@stdlib/string-format' ) ;
28
30
29
31
@@ -57,6 +59,7 @@ function iterator2array() {
57
59
var out ;
58
60
var len ;
59
61
var set ;
62
+ var dt ;
60
63
var i ;
61
64
var v ;
62
65
@@ -106,7 +109,12 @@ function iterator2array() {
106
109
return out ;
107
110
}
108
111
len = out . length ;
109
- set = arraylike2object ( out ) . setter ;
112
+ dt = dtype ( out ) ;
113
+ if ( out . get && out . set ) { // Note: intentional weak check for marginal perf gain
114
+ set = accessorSetter ( dt ) ;
115
+ } else {
116
+ set = setter ( dt ) ;
117
+ }
110
118
if ( fcn ) {
111
119
while ( i < len - 1 ) {
112
120
i += 1 ;
Original file line number Diff line number Diff line change 37
37
"url" : " https://github.com/stdlib-js/stdlib/issues"
38
38
},
39
39
"dependencies" : {
40
- "@stdlib/array-base-arraylike2object" : " ^0.0.x" ,
40
+ "@stdlib/array-base-accessor-setter" : " ^0.0.x" ,
41
+ "@stdlib/array-base-setter" : " ^0.0.x" ,
42
+ "@stdlib/array-dtype" : " ^0.0.x" ,
41
43
"@stdlib/assert-is-collection" : " ^0.0.x" ,
42
44
"@stdlib/assert-is-function" : " ^0.0.x" ,
43
45
"@stdlib/assert-is-iterator-like" : " ^0.0.x" ,
You can’t perform that action at this time.
0 commit comments