| 'use strict'; |
| |
| var $isFinite = require('../helpers/isFinite'); |
| var timeConstants = require('../helpers/timeConstants'); |
| var msPerSecond = timeConstants.msPerSecond; |
| var msPerMinute = timeConstants.msPerMinute; |
| var msPerHour = timeConstants.msPerHour; |
| |
| var ToIntegerOrInfinity = require('./ToIntegerOrInfinity'); |
| |
| // https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.11 |
| |
| module.exports = function MakeTime(hour, min, sec, ms) { |
| if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) { |
| return NaN; |
| } |
| var h = ToIntegerOrInfinity(hour); |
| var m = ToIntegerOrInfinity(min); |
| var s = ToIntegerOrInfinity(sec); |
| var milli = ToIntegerOrInfinity(ms); |
| var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli; |
| return t; |
| }; |