| Server IP : 157.230.181.24 / Your IP : 216.73.217.11 Web Server : Apache/2.4.58 (Ubuntu) System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/vhosts/convo/node_modules/es5-ext/object/ |
Upload File : |
'use strict';
var strCompare = require('../string/#/case-insensitive-compare')
, isObject = require('./is-object')
, resolve, typeMap;
typeMap = {
undefined: 0,
object: 1,
boolean: 2,
string: 3,
number: 4
};
resolve = function (a) {
if (isObject(a)) {
if (typeof a.valueOf !== 'function') return NaN;
a = a.valueOf();
if (isObject(a)) {
if (typeof a.toString !== 'function') return NaN;
a = a.toString();
if (typeof a !== 'string') return NaN;
}
}
return a;
};
module.exports = function (a, b) {
if (a === b) return 0; // Same
a = resolve(a);
b = resolve(b);
if (a == b) return typeMap[typeof a] - typeMap[typeof b]; //jslint: ignore
if (a == null) return -1;
if (b == null) return 1;
if ((typeof a === 'string') || (typeof b === 'string')) {
return strCompare.call(a, b);
}
if ((a !== a) && (b !== b)) return 0; //jslint: ignore
return Number(a) - Number(b);
};