pinafore/src/routes/_utils/sorting.js

25 lines
634 B
JavaScript
Raw Normal View History

import padStart from 'lodash-es/padStart'
2018-01-19 18:18:14 +01:00
export function zeroPad (str, toSize) {
return padStart(str, toSize, '0')
}
2018-01-19 18:18:14 +01:00
export function toPaddedBigInt (id) {
return zeroPad(id, 30)
2018-01-19 18:18:14 +01:00
}
export function toReversePaddedBigInt (id) {
let bigInt = toPaddedBigInt(id)
let res = ''
for (let i = 0; i < bigInt.length; i++) {
res += (9 - parseInt(bigInt.charAt(i), 10)).toString(10)
}
return res
2018-02-09 07:29:29 +01:00
}
2018-03-10 19:54:16 +01:00
export function compareTimelineItemSummaries (left, right) {
let leftPadded = toPaddedBigInt(left.id)
let rightPadded = toPaddedBigInt(right.id)
return leftPadded < rightPadded ? -1 : leftPadded === rightPadded ? 0 : 1
2018-03-10 19:54:16 +01:00
}