src/index.js
/*
@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
}