Files
Christian Medina d0e8d36c33
Some checks failed
Deploy to Firebase Hosting on merge / build_and_deploy (push) Has been cancelled
latest changes before server transfer
2025-08-05 15:42:36 -04:00

24 lines
410 B
JavaScript

const numeric = /^[0-9]+$/
const compareIdentifiers = (a, b) => {
const anum = numeric.test(a)
const bnum = numeric.test(b)
if (anum && bnum) {
a = +a
b = +b
}
return a === b ? 0
: (anum && !bnum) ? -1
: (bnum && !anum) ? 1
: a < b ? -1
: 1
}
const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
module.exports = {
compareIdentifiers,
rcompareIdentifiers,
}