@@ -101,23 +101,39 @@ public function getSortFunction(SortDirection $direction) : mixed {
101101 break ;
102102 case static ::AdditionTime:
103103 if ($ direction === SortDirection::Asc) {
104- return fn ($ a , $ b ) =>
105- datetimecmp ($ a ->added_at , $ b ->added_at )
106- || strnatcasecmp ($ a ->name , $ b ->name );
104+ return function ($ a , $ b ) {
105+ $ result = datetimecmp ($ a ->added_at , $ b ->added_at );
106+ if ($ result == 0 ) {
107+ return strnatcasecmp ($ a ->name , $ b ->name );
108+ }
109+ return $ result ;
110+ };
107111 }
108- return fn ($ a , $ b ) =>
109- -datetimecmp ($ a ->added_at , $ b ->added_at )
110- || -strnatcasecmp ($ a ->name , $ b ->name );
112+ return function ($ a , $ b ) {
113+ $ result = -datetimecmp ($ a ->added_at , $ b ->added_at );
114+ if ($ result == 0 ) {
115+ return -strnatcasecmp ($ a ->name , $ b ->name );
116+ }
117+ return $ result ;
118+ };
111119 break ;
112120 case static ::UpdateTime:
113121 if ($ direction === SortDirection::Asc) {
114- return fn ($ a , $ b ) =>
115- datetimecmp ($ a ->last_updated_at , $ b ->last_updated_at )
116- || strnatcasecmp ($ a ->name , $ b ->name );
122+ return function ($ a , $ b ) {
123+ $ result = datetimecmp ($ a ->last_updated_at , $ b ->last_updated_at );
124+ if ($ result == 0 ) {
125+ return strnatcasecmp ($ a ->name , $ b ->name );
126+ }
127+ return $ result ;
128+ };
117129 }
118- return fn ($ a , $ b ) =>
119- -datetimecmp ($ a ->last_updated_at , $ b ->last_updated_at )
120- || -strnatcasecmp ($ a ->name , $ b ->name );
130+ return function ($ a , $ b ) {
131+ $ result = -datetimecmp ($ a ->last_updated_at , $ b ->last_updated_at );
132+ if ($ result == 0 ) {
133+ return -strnatcasecmp ($ a ->name , $ b ->name );
134+ }
135+ return $ result ;
136+ };
121137 break ;
122138 }
123139 }
0 commit comments