blob: 330d3bdbcefb8d4a40e3ba2b841f59f96d9f8652 [file] [log] [blame]
'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;
};