anux-common
Version:
[](https://travis-ci.com/Anupheaus/anux-common) [](https://www.codacy.com/app/Anuphea
44 lines (43 loc) • 1.43 kB
TypeScript
import moment from 'moment';
import 'moment/locale/en-gb';
import { TimeUnits } from '../models';
import './object';
export { moment };
declare global {
interface IDateExtents {
from: number;
to: number;
}
interface IDatePeriod {
from: number;
to: number;
fraction?: number;
}
interface IFromPeriodsResult {
joinedPeriods: IDatePeriod[];
activePeriods: IDatePeriod[];
inactivePeriods: IDatePeriod[];
extents: IDateExtents;
}
interface DateConstructor {
periods: {
from(activePeriods: IDatePeriod[]): IFromPeriodsResult;
from(activePeriods: IDatePeriod[], toTimeUnits: TimeUnits): IFromPeriodsResult;
extents(periods: IDatePeriod[]): IDateExtents;
doOverlap(period1: IDatePeriod, period2: IDatePeriod): boolean;
};
random(): Date;
random(from: Date): Date;
random(from: Date, to: Date): Date;
min(...dates: Date[]): Date;
toNumber(date: string): number;
format(date: number): string;
hasExpired(date: number): boolean;
createExpiry(minutes: number): number;
timeTaken(timeStarted: number): number;
timeSince(time: number, unit: moment.unitOfTime.Diff): number;
}
interface Date {
relationToNow(template?: string): string;
}
}