Pathologic was missing because of a .git folder inside.
[yaffs-website] / node_modules / underscore.string / naturalCmp.js
1 module.exports = function naturalCmp(str1, str2) {
2   if (str1 == str2) return 0;
3   if (!str1) return -1;
4   if (!str2) return 1;
5
6   var cmpRegex = /(\.\d+|\d+|\D+)/g,
7     tokens1 = String(str1).match(cmpRegex),
8     tokens2 = String(str2).match(cmpRegex),
9     count = Math.min(tokens1.length, tokens2.length);
10
11   for (var i = 0; i < count; i++) {
12     var a = tokens1[i],
13       b = tokens2[i];
14
15     if (a !== b) {
16       var num1 = +a;
17       var num2 = +b;
18       if (num1 === num1 && num2 === num2) {
19         return num1 > num2 ? 1 : -1;
20       }
21       return a < b ? -1 : 1;
22     }
23   }
24
25   if (tokens1.length != tokens2.length)
26     return tokens1.length - tokens2.length;
27
28   return str1 < str2 ? -1 : 1;
29 };