1
|
{"version":3,"sources":["../../../src/php/math/min.js"],"names":["module","exports","min","ar","retVal","i","n","argv","arguments","argc","length","_obj2Array","obj","Object","prototype","toString","call","hasOwnProperty","push","_compare","current","next","tmp","nl","cl","isNaN","Error"],"mappings":"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","file":"min.js","sourcesContent":["module.exports = function min () {\n // discuss at: http://locutus.io/php/min/\n // original by: Onno Marsman (https://twitter.com/onnomarsman)\n // revised by: Onno Marsman (https://twitter.com/onnomarsman)\n // improved by: Jack\n // note 1: Long code cause we're aiming for maximum PHP compatibility\n // example 1: min(1, 3, 5, 6, 7)\n // returns 1: 1\n // example 2: min([2, 4, 5])\n // returns 2: 2\n // example 3: min(0, 'hello')\n // returns 3: 0\n // example 4: min('hello', 0)\n // returns 4: 'hello'\n // example 5: min(-1, 'hello')\n // returns 5: -1\n // example 6: min([2, 4, 8], [2, 5, 7])\n // returns 6: [2, 4, 8]\n\n var ar\n var retVal\n var i = 0\n var n = 0\n var argv = arguments\n var argc = argv.length\n var _obj2Array = function (obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n return obj\n }\n var ar = []\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ar.push(obj[i])\n }\n }\n return ar\n }\n\n var _compare = function (current, next) {\n var i = 0\n var n = 0\n var tmp = 0\n var nl = 0\n var cl = 0\n\n if (current === next) {\n return 0\n } else if (typeof current === 'object') {\n if (typeof next === 'object') {\n current = _obj2Array(current)\n next = _obj2Array(next)\n cl = current.length\n nl = next.length\n if (nl > cl) {\n return 1\n } else if (nl < cl) {\n return -1\n }\n for (i = 0, n = cl; i < n; ++i) {\n tmp = _compare(current[i], next[i])\n if (tmp === 1) {\n return 1\n } else if (tmp === -1) {\n return -1\n }\n }\n return 0\n }\n return -1\n } else if (typeof next === 'object') {\n return 1\n } else if (isNaN(next) && !isNaN(current)) {\n if (current === 0) {\n return 0\n }\n return (current < 0 ? 1 : -1)\n } else if (isNaN(current) && !isNaN(next)) {\n if (next === 0) {\n return 0\n }\n return (next > 0 ? 1 : -1)\n }\n\n if (next === current) {\n return 0\n }\n\n return (next > current ? 1 : -1)\n }\n\n if (argc === 0) {\n throw new Error('At least one value should be passed to min()')\n } else if (argc === 1) {\n if (typeof argv[0] === 'object') {\n ar = _obj2Array(argv[0])\n } else {\n throw new Error('Wrong parameter count for min()')\n }\n\n if (ar.length === 0) {\n throw new Error('Array must contain at least one element for min()')\n }\n } else {\n ar = argv\n }\n\n retVal = ar[0]\n\n for (i = 1, n = ar.length; i < n; ++i) {\n if (_compare(retVal, ar[i]) === -1) {\n retVal = ar[i]\n }\n }\n\n return retVal\n}\n"]}
|