WIP - add extractor, generate snippet_data
This commit is contained in:
29
node_modules/underscore.string/naturalCmp.js
generated
vendored
Normal file
29
node_modules/underscore.string/naturalCmp.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
module.exports = function naturalCmp(str1, str2) {
|
||||
if (str1 == str2) return 0;
|
||||
if (!str1) return -1;
|
||||
if (!str2) return 1;
|
||||
|
||||
var cmpRegex = /(\.\d+|\d+|\D+)/g,
|
||||
tokens1 = String(str1).match(cmpRegex),
|
||||
tokens2 = String(str2).match(cmpRegex),
|
||||
count = Math.min(tokens1.length, tokens2.length);
|
||||
|
||||
for (var i = 0; i < count; i++) {
|
||||
var a = tokens1[i],
|
||||
b = tokens2[i];
|
||||
|
||||
if (a !== b) {
|
||||
var num1 = +a;
|
||||
var num2 = +b;
|
||||
if (num1 === num1 && num2 === num2) {
|
||||
return num1 > num2 ? 1 : -1;
|
||||
}
|
||||
return a < b ? -1 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (tokens1.length != tokens2.length)
|
||||
return tokens1.length - tokens2.length;
|
||||
|
||||
return str1 < str2 ? -1 : 1;
|
||||
};
|
||||
Reference in New Issue
Block a user