summaryrefslogtreecommitdiff
path: root/src/node_modules/es-abstract/2016/MakeTime.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_modules/es-abstract/2016/MakeTime.js')
-rw-r--r--src/node_modules/es-abstract/2016/MakeTime.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/node_modules/es-abstract/2016/MakeTime.js b/src/node_modules/es-abstract/2016/MakeTime.js
new file mode 100644
index 0000000..e118500
--- /dev/null
+++ b/src/node_modules/es-abstract/2016/MakeTime.js
@@ -0,0 +1,23 @@
+'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 ToInteger = require('./ToInteger');
+
+// 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 = ToInteger(hour);
+ var m = ToInteger(min);
+ var s = ToInteger(sec);
+ var milli = ToInteger(ms);
+ var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli;
+ return t;
+};