| Server IP : 82.148.16.210 / Your IP : 216.73.217.46 Web Server : nginx/1.29.5 System : Linux mail.sarafai.ru 6.1.0-43-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.162-1 (2026-02-08) x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/projects/env4/src/dev/frontend3/node_modules/table/node_modules/compare-func/ |
Upload File : |
'use strict';
var arrayify = require('array-ify');
var dotPropGet = require('dot-prop').get;
function compareFunc(prop) {
return function(a, b) {
var ret = 0;
arrayify(prop).some(function(el) {
var x;
var y;
if (typeof el === 'function') {
x = el(a);
y = el(b);
} else if (typeof el === 'string') {
x = dotPropGet(a, el);
y = dotPropGet(b, el);
} else {
x = a;
y = b;
}
if (x === y) {
ret = 0;
return;
}
if (typeof x === 'string' && typeof y === 'string') {
ret = x.localeCompare(y);
return ret !== 0;
}
ret = x < y ? -1 : 1;
return true;
});
return ret;
};
}
module.exports = compareFunc;