| 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, |  | } | 
 |