mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
 
var $TypeError = require('es-errors/type');
 
var $isNaN = require('../helpers/isNaN');
 
var HourFromTime = require('./HourFromTime');
var MinFromTime = require('./MinFromTime');
var SecFromTime = require('./SecFromTime');
var ToZeroPaddedDecimalString = require('./ToZeroPaddedDecimalString');
 
// https://262.ecma-international.org/13.0/#sec-timestring
 
module.exports = function TimeString(tv) {
    if (typeof tv !== 'number' || $isNaN(tv)) {
        throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number');
    }
 
    var hour = ToZeroPaddedDecimalString(HourFromTime(tv), 2); // step 1
 
    var minute = ToZeroPaddedDecimalString(MinFromTime(tv), 2); // step 2
 
    var second = ToZeroPaddedDecimalString(SecFromTime(tv), 2); // step 3
 
    return hour + ':' + minute + ':' + second + ' GMT'; // step 4
};