thebespokepixel/time

View on GitHub
src/index.js

Summary

Maintainability
A
0 mins
Test Coverage
/*
    @thebespokepixel/date
    A collection of utilities for the Date object.
*/

import dateformat from 'dateformat'
import moment from 'moment'
import {DateTime, Interval, Duration} from 'luxon'

const SECOND_SECONDS = 1
const SECOND_MILLIS = 1000

const MINUTE_MINUTES = 1
const MINUTE_SECONDS = 60
const MINUTE_MILLIS = SECOND_MILLIS * MINUTE_SECONDS

const HOUR_HOURS = 1
const HOUR_MINUTES = 60
const HOUR_SECONDS = MINUTE_SECONDS * HOUR_MINUTES
const HOUR_MILLIS = MINUTE_MILLIS * HOUR_MINUTES

const DAY_DAYS = 1
const DAY_HOURS = 24
const DAY_MINUTES = HOUR_MINUTES * DAY_HOURS
const DAY_SECONDS = HOUR_SECONDS * DAY_HOURS
const DAY_MILLIS = HOUR_MILLIS * DAY_HOURS

const WEEK_WEEKS = 1
const WEEK_DAYS = 7
const WEEK_HOURS = DAY_HOURS * WEEK_DAYS
const WEEK_MINUTES = DAY_MINUTES * WEEK_DAYS
const WEEK_SECONDS = DAY_SECONDS * WEEK_DAYS
const WEEK_MILLIS = DAY_MILLIS * WEEK_DAYS

const STANDARD_MONTH_DAYS = 30
const STANDARD_MONTH_HOURS = DAY_HOURS * STANDARD_MONTH_DAYS
const STANDARD_MONTH_MINUTES = DAY_MINUTES * STANDARD_MONTH_DAYS
const STANDARD_MONTH_SECONDS = DAY_SECONDS * STANDARD_MONTH_DAYS
const STANDARD_MONTH_MILLIS = DAY_MILLIS * STANDARD_MONTH_DAYS

const MONTH_MONTHS = 1
const MONTH_WEEKS = 5
const MONTH_DAYS = 35
const MONTH_HOURS = DAY_HOURS * MONTH_DAYS
const MONTH_MINUTES = DAY_MINUTES * MONTH_DAYS
const MONTH_SECONDS = DAY_SECONDS * MONTH_DAYS
const MONTH_MILLIS = DAY_MILLIS * MONTH_DAYS

const QUARTER_QUARTERS = 1
const QUARTER_MONTHS = 3
const QUARTER_WEEKS = 12
const QUARTER_DAYS = 84
const QUARTER_HOURS = DAY_HOURS * QUARTER_DAYS
const QUARTER_MINUTES = DAY_MINUTES * QUARTER_DAYS
const QUARTER_SECONDS = DAY_SECONDS * QUARTER_DAYS
const QUARTER_MILLIS = DAY_MILLIS * QUARTER_DAYS

const YEAR_YEARS = 1
const YEAR_QUARTERS = 4
const YEAR_MONTHS = 12
const YEAR_WEEKS = 52
const YEAR_DAYS = 364
const YEAR_HOURS = DAY_HOURS * YEAR_DAYS
const YEAR_MINUTES = DAY_MINUTES * YEAR_DAYS
const YEAR_SECONDS = DAY_SECONDS * YEAR_DAYS
const YEAR_MILLIS = DAY_MILLIS * YEAR_DAYS

// Reverse
const HOUR_DAYS = DAY_DAYS / DAY_HOURS
const MINUTE_DAYS = DAY_DAYS / DAY_MINUTES

const bespokeTime = moment
const bespokeTimeFormat = dateformat

export {
    dateformat, bespokeTimeFormat,
    moment, bespokeTime,
    DateTime, Interval, Duration,
    SECOND_SECONDS, SECOND_MILLIS,
    MINUTE_MINUTES, MINUTE_DAYS, MINUTE_SECONDS, MINUTE_MILLIS,
    HOUR_HOURS, HOUR_DAYS, HOUR_MINUTES, HOUR_SECONDS, HOUR_MILLIS,
    DAY_DAYS, DAY_HOURS, DAY_MINUTES, DAY_SECONDS, DAY_MILLIS,
    WEEK_WEEKS, WEEK_DAYS, WEEK_HOURS, WEEK_MINUTES, WEEK_SECONDS, WEEK_MILLIS,
    STANDARD_MONTH_DAYS, STANDARD_MONTH_HOURS, STANDARD_MONTH_MINUTES, STANDARD_MONTH_SECONDS, STANDARD_MONTH_MILLIS,
    MONTH_MONTHS, MONTH_WEEKS, MONTH_DAYS, MONTH_HOURS, MONTH_MINUTES, MONTH_SECONDS, MONTH_MILLIS,
    QUARTER_QUARTERS, QUARTER_MONTHS, QUARTER_WEEKS, QUARTER_DAYS, QUARTER_HOURS, QUARTER_MINUTES, QUARTER_SECONDS, QUARTER_MILLIS,
    YEAR_YEARS, YEAR_QUARTERS, YEAR_MONTHS, YEAR_WEEKS, YEAR_DAYS, YEAR_HOURS, YEAR_MINUTES, YEAR_SECONDS, YEAR_MILLIS
}