Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
27 lines
651 B
Plaintext
27 lines
651 B
Plaintext
'use strict'
|
|
|
|
module.exports = createDate
|
|
|
|
const isValidDate = require('./is-valid-date')
|
|
|
|
/**
|
|
* Constructs a JS Date from a number or string. Accepts any single number
|
|
* or single string argument that is valid for the Date() constructor,
|
|
* or an epoch as a string.
|
|
*
|
|
* @param {string|number} epoch The representation of the Date.
|
|
*
|
|
* @returns {Date} The constructed Date.
|
|
*/
|
|
function createDate (epoch) {
|
|
// If epoch is already a valid argument, return the valid Date
|
|
let date = new Date(epoch)
|
|
if (isValidDate(date)) {
|
|
return date
|
|
}
|
|
|
|
// Convert to a number to permit epoch as a string
|
|
date = new Date(+epoch)
|
|
return date
|
|
}
|