octo-deno/lib/make/time.js

46 lines
952 B
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const make = require('../make')
const random = require('../random')
class time extends make {
static unit () {
return random.pick([
's', 'ms'
])
}
static datetime () {
switch (random.number(2)) {
case 0:
return new Date(new Date().getTime() + random.number())
case 1:
return new Date(new Date().getTime() - random.number())
}
}
static date () {
return time.datetime().toDateString()
}
static time () {
return time.datetime().toTimeString()
}
static iso () {
return time.datetime().toISOString()
}
static epoch () {
return Math.floor(time.datetime() / 1000)
}
static any () {
return make.number.any() + time.unit()
}
}
module.exports = time