mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-13 05:55:26 +00:00
update
This commit is contained in:
31
node_modules/clean-css/lib/utils/natural-compare.js
generated
vendored
Normal file
31
node_modules/clean-css/lib/utils/natural-compare.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
// adapted from http://nedbatchelder.com/blog/200712.html#e20071211T054956
|
||||
|
||||
var NUMBER_PATTERN = /([0-9]+)/;
|
||||
|
||||
function naturalCompare(value1, value2) {
|
||||
var keys1 = ('' + value1).split(NUMBER_PATTERN).map(tryParseInt);
|
||||
var keys2 = ('' + value2).split(NUMBER_PATTERN).map(tryParseInt);
|
||||
var key1;
|
||||
var key2;
|
||||
var compareFirst = Math.min(keys1.length, keys2.length);
|
||||
var i, l;
|
||||
|
||||
for (i = 0, l = compareFirst; i < l; i++) {
|
||||
key1 = keys1[i];
|
||||
key2 = keys2[i];
|
||||
|
||||
if (key1 != key2) {
|
||||
return key1 > key2 ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
return keys1.length > keys2.length ? 1 : (keys1.length == keys2.length ? 0 : -1);
|
||||
}
|
||||
|
||||
function tryParseInt(value) {
|
||||
return ('' + parseInt(value)) == value ?
|
||||
parseInt(value) :
|
||||
value;
|
||||
}
|
||||
|
||||
module.exports = naturalCompare;
|
Reference in New Issue
Block a user