1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| 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
| }
|
|