@@ -501,92 +501,6 @@ function factory( dtype ) { // eslint-disable-line max-lines-per-function, stdli
501501 return this . _buffer [ GETTER ] ( idx * BYTES_PER_ELEMENT , this . _isLE ) ;
502502 } ) ;
503503
504- /**
505- * Returns an iterator for iterating over each index key in a typed array.
506- *
507- * @private
508- * @name keys
509- * @memberof TypedArray.prototype
510- * @type {Function }
511- * @throws {TypeError } `this` must be a typed array instance
512- * @returns {Iterator } Iterator
513- */
514- setReadOnly ( TypedArray . prototype , 'keys' , function keys ( ) {
515- var self ;
516- var iter ;
517- var len ;
518- var FLG ;
519- var i ;
520- if ( ! isTypedArray ( this ) ) {
521- throw new TypeError ( format ( 'invalid invocation. `this` is not %s %s.' , CHAR2ARTICLE [ dtype [ 0 ] ] , CTOR_NAME ) ) ;
522- }
523-
524- self = this ;
525- len = this . _length ;
526-
527- // Initialize an iteration index:
528- i = - 1 ;
529-
530- // Create an iterator protocol-compliant object:
531- iter = { } ;
532- setReadOnly ( iter , 'next' , next ) ;
533- setReadOnly ( iter , 'return' , end ) ;
534-
535- if ( ITERATOR_SYMBOL ) {
536- setReadOnly ( iter , ITERATOR_SYMBOL , factory ) ;
537- }
538- return iter ;
539-
540- /**
541- * Returns an iterator protocol-compliant object containing the next iterated value.
542- *
543- * @private
544- * @returns {Object } iterator protocol-compliant object
545- */
546- function next ( ) {
547- i += 1 ;
548- if ( FLG || i >= len ) {
549- return {
550- 'done' : true
551- } ;
552- }
553- return {
554- 'value' : i ,
555- 'done' : false
556- } ;
557- }
558-
559- /**
560- * Finishes an iterator.
561- *
562- * @private
563- * @param {* } [value] - value to return
564- * @returns {Object } iterator protocol-compliant object
565- */
566- function end ( value ) {
567- FLG = true ;
568- if ( arguments . length ) {
569- return {
570- 'value' : value ,
571- 'done' : true
572- } ;
573- }
574- return {
575- 'done' : true
576- } ;
577- }
578-
579- /**
580- * Returns a new iterator.
581- *
582- * @private
583- * @returns {Iterator } iterator
584- */
585- function factory ( ) {
586- return self . keys ( ) ;
587- }
588- } ) ;
589-
590504 /**
591505 * Pointer to the underlying data buffer.
592506 *
@@ -1161,6 +1075,92 @@ function factory( dtype ) { // eslint-disable-line max-lines-per-function, stdli
11611075 return out . join ( sep ) ;
11621076 } ) ;
11631077
1078+ /**
1079+ * Returns an iterator for iterating over each index key in a typed array.
1080+ *
1081+ * @private
1082+ * @name keys
1083+ * @memberof TypedArray.prototype
1084+ * @type {Function }
1085+ * @throws {TypeError } `this` must be a typed array instance
1086+ * @returns {Iterator } Iterator
1087+ */
1088+ setReadOnly ( TypedArray . prototype , 'keys' , function keys ( ) {
1089+ var self ;
1090+ var iter ;
1091+ var len ;
1092+ var FLG ;
1093+ var i ;
1094+ if ( ! isTypedArray ( this ) ) {
1095+ throw new TypeError ( format ( 'invalid invocation. `this` is not %s %s.' , CHAR2ARTICLE [ dtype [ 0 ] ] , CTOR_NAME ) ) ;
1096+ }
1097+
1098+ self = this ;
1099+ len = this . _length ;
1100+
1101+ // Initialize an iteration index:
1102+ i = - 1 ;
1103+
1104+ // Create an iterator protocol-compliant object:
1105+ iter = { } ;
1106+ setReadOnly ( iter , 'next' , next ) ;
1107+ setReadOnly ( iter , 'return' , end ) ;
1108+
1109+ if ( ITERATOR_SYMBOL ) {
1110+ setReadOnly ( iter , ITERATOR_SYMBOL , factory ) ;
1111+ }
1112+ return iter ;
1113+
1114+ /**
1115+ * Returns an iterator protocol-compliant object containing the next iterated value.
1116+ *
1117+ * @private
1118+ * @returns {Object } iterator protocol-compliant object
1119+ */
1120+ function next ( ) {
1121+ i += 1 ;
1122+ if ( FLG || i >= len ) {
1123+ return {
1124+ 'done' : true
1125+ } ;
1126+ }
1127+ return {
1128+ 'value' : i ,
1129+ 'done' : false
1130+ } ;
1131+ }
1132+
1133+ /**
1134+ * Finishes an iterator.
1135+ *
1136+ * @private
1137+ * @param {* } [value] - value to return
1138+ * @returns {Object } iterator protocol-compliant object
1139+ */
1140+ function end ( value ) {
1141+ FLG = true ;
1142+ if ( arguments . length ) {
1143+ return {
1144+ 'value' : value ,
1145+ 'done' : true
1146+ } ;
1147+ }
1148+ return {
1149+ 'done' : true
1150+ } ;
1151+ }
1152+
1153+ /**
1154+ * Returns a new iterator.
1155+ *
1156+ * @private
1157+ * @returns {Iterator } iterator
1158+ */
1159+ function factory ( ) {
1160+ return self . keys ( ) ;
1161+ }
1162+ } ) ;
1163+
11641164 return TypedArray ;
11651165
11661166 /**
0 commit comments