2015-07-09 01:18:03 +08:00
|
|
|
/*
|
2016-01-07 12:06:39 +08:00
|
|
|
Copyright 2015, 2016 OpenMarket Ltd
|
2015-07-09 01:18:03 +08:00
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
function tsOfNewestEvent(room) {
|
2015-09-16 20:48:24 +08:00
|
|
|
if (room.timeline.length) {
|
|
|
|
return room.timeline[room.timeline.length - 1].getTs();
|
2017-07-01 21:50:22 +08:00
|
|
|
} else {
|
2015-09-16 20:48:24 +08:00
|
|
|
return Number.MAX_SAFE_INTEGER;
|
|
|
|
}
|
2015-07-09 01:18:03 +08:00
|
|
|
}
|
|
|
|
|
2015-07-09 01:21:57 +08:00
|
|
|
function mostRecentActivityFirst(roomList) {
|
2017-01-20 22:22:27 +08:00
|
|
|
return roomList.sort(function(a, b) {
|
2015-07-09 01:18:03 +08:00
|
|
|
return tsOfNewestEvent(b) - tsOfNewestEvent(a);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
2017-07-01 21:50:22 +08:00
|
|
|
mostRecentActivityFirst,
|
2015-07-09 01:18:03 +08:00
|
|
|
};
|