@@ -1043,8 +1043,30 @@ if (typeof define === 'function' && define.amd)
10431043 semver = { }
10441044) ;
10451045
1046- ; angular . module ( 'semverSort' , [ ] ) . filter ( 'semverSort' , [
1047- '$window' , '$log' , function ( $window , $log ) {
1046+ ; angular . module ( 'semverSort' , [ ] ) . factory ( 'semverSortArrayHelpers' , function ( ) {
1047+ 'use strict' ;
1048+
1049+ var sortAlphabetically = function ( collection , prop ) {
1050+ var items = collection . slice ( 0 ) ;
1051+ return ! prop ? items . sort ( ) : items . sort ( function ( A , B ) {
1052+ var a = A [ prop ] , b = B [ prop ] ;
1053+ if ( a > b ) return 1 ;
1054+ if ( a < b ) return - 1 ;
1055+ return 0 ;
1056+ } ) ;
1057+ } ;
1058+
1059+ var reverse = function ( collection ) {
1060+ return collection . slice ( 0 ) . reverse ( ) ;
1061+ } ;
1062+
1063+ return {
1064+ sortAlphabetically : sortAlphabetically ,
1065+ reverse : reverse
1066+ } ;
1067+
1068+ } ) . filter ( 'semverSort' , [
1069+ '$window' , '$log' , 'semverSortArrayHelpers' , function ( $window , $log , _ ) {
10481070 'use strict' ;
10491071
10501072 var semver = $window . semver ;
@@ -1053,19 +1075,9 @@ if (typeof define === 'function' && define.amd)
10531075 var WARNING_UNAVAILABLE = 'Semver library is unvailable. ' + WARNING_FALLBACK ;
10541076 var WARNING_NONSEMVER = 'This collection contains non-semver strings. ' + WARNING_FALLBACK ;
10551077
1056- var sortAlphabetically = function ( collection , prop ) {
1057- var items = collection . slice ( 0 ) ;
1058- return ! prop ? items . sort ( ) : items . sort ( function ( A , B ) {
1059- var a = A [ prop ] , b = B [ prop ] ;
1060- if ( a > b ) return 1 ;
1061- if ( a < b ) return - 1 ;
1062- return 0 ;
1063- } ) ;
1064- } ;
1065-
10661078 if ( ! ( semver && 'SEMVER_SPEC_VERSION' in semver ) ) {
10671079 $log . warn ( WARNING_UNAVAILABLE ) ;
1068- return sortAlphabetically ;
1080+ return _ . sortAlphabetically ;
10691081 }
10701082
10711083 var areItemsValid = function ( collection , prop ) {
@@ -1080,7 +1092,7 @@ if (typeof define === 'function' && define.amd)
10801092 return function ( collection , prop ) {
10811093 if ( ! areItemsValid ( collection , prop ) ) {
10821094 $log . warn ( WARNING_NONSEMVER ) ;
1083- return sortAlphabetically ( collection , prop ) ;
1095+ return _ . sortAlphabetically ( collection , prop ) ;
10841096 }
10851097
10861098 var items = collection . slice ( 0 ) ;
@@ -1090,9 +1102,11 @@ if (typeof define === 'function' && define.amd)
10901102 } ;
10911103 }
10921104] ) . filter ( 'semverReverseSort' , [
1093- '$filter' , function ( $filter ) {
1105+ '$filter' , 'semverSortArrayHelpers' , function ( $filter , _ ) {
1106+ 'use strict' ;
1107+
10941108 return function ( collection , prop ) {
1095- return $filter ( 'semverSort' ) ( collection , prop ) . slice ( 0 ) . reverse ( ) ;
1109+ return _ . reverse ( $filter ( 'semverSort' ) ( collection , prop ) ) ;
10961110 } ;
10971111 }
10981112] ) ;
0 commit comments