@@ -301,16 +301,7 @@ var $Sequence = Sequence;
301
301
return this . map ( mapper , thisArg ) . flatten ( ) ;
302
302
} ,
303
303
reverse : function ( ) {
304
- var sequence = this ;
305
- var reversedSequence = sequence . __makeSequence ( ) ;
306
- reversedSequence . reverse = ( function ( ) {
307
- return sequence ;
308
- } ) ;
309
- reversedSequence . length = sequence . length ;
310
- reversedSequence . __iterateUncached = ( function ( fn , reverse ) {
311
- return sequence . __iterate ( fn , ! reverse ) ;
312
- } ) ;
313
- return reversedSequence ;
304
+ return reverseFactory ( this , true ) ;
314
305
} ,
315
306
keySeq : function ( ) {
316
307
return this . flip ( ) . valueSeq ( ) ;
@@ -657,20 +648,7 @@ var $IndexedSequence = IndexedSequence;
657
648
return concatFactory ( this , values , false ) ;
658
649
} ,
659
650
reverse : function ( ) {
660
- var sequence = this ;
661
- var reversedSequence = sequence . __makeSequence ( ) ;
662
- reversedSequence . reverse = ( function ( ) {
663
- return sequence ;
664
- } ) ;
665
- reversedSequence . length = sequence . length ;
666
- reversedSequence . __iterateUncached = function ( fn , reverse , reverseIndices ) {
667
- var $__0 = this ;
668
- var i = reverseIndices ? this . length : 0 ;
669
- return sequence . __iterate ( ( function ( v ) {
670
- return fn ( v , reverseIndices ? -- i : i ++ , $__0 ) !== false ;
671
- } ) , ! reverse ) ;
672
- } ;
673
- return reversedSequence ;
651
+ return reverseFactory ( this , false ) ;
674
652
} ,
675
653
filter : function ( predicate , thisArg ) {
676
654
return filterFactory ( this , predicate , thisArg , false ) ;
@@ -884,6 +862,21 @@ function returnTrue() {
884
862
function returnThis ( ) {
885
863
return this ;
886
864
}
865
+ function reverseFactory ( sequence , useKeys ) {
866
+ var reversedSequence = sequence . __makeSequence ( ) ;
867
+ reversedSequence . reverse = ( function ( ) {
868
+ return sequence ;
869
+ } ) ;
870
+ reversedSequence . length = sequence . length ;
871
+ reversedSequence . __iterateUncached = function ( fn , reverse , reverseIndices ) {
872
+ var $__0 = this ;
873
+ var i = reverseIndices ? this . length : 0 ;
874
+ return sequence . __iterate ( ( function ( v , k ) {
875
+ return fn ( v , useKeys ? k : reverseIndices ? -- i : i ++ , $__0 ) ;
876
+ } ) , ! reverse ) ;
877
+ } ;
878
+ return reversedSequence ;
879
+ }
887
880
function filterFactory ( sequence , predicate , context , useKeys ) {
888
881
var filterSequence = sequence . __makeSequence ( ) ;
889
882
filterSequence . __iterateUncached = function ( fn , reverse , reverseIndices ) {
0 commit comments