chrono-convert
Version:
Effortlessly manipulate and convert time units with Chrono: a fluent, chainable interface for clear and precise time calculations. Perfect for adding time-based logic to your applications with just a few lines of code.
216 lines (213 loc) • 7.34 kB
text/typescript
type Unit = "milliseconds" | "ms" | "seconds" | "minutes" | "hours" | "days" | "weeks" | "months" | "quarters" | "years";
/**
* Class representing a Time Converter.
* @example
* const time = ChronoConvert.minutes(5);
* console.log(time.toSeconds()); // Outputs the equivalent seconds
*/
declare class ChronoConvert {
value: number;
/**
* @private
* @param {number} value - The number of seconds.
*/
private constructor();
/**
* Creates a ChronoConvert instance from milliseconds.
* @param {number} value - The number of milliseconds.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.milliseconds(5000);
* console.log(time.toSeconds()); // Outputs 5
*/
static milliseconds(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from milliseconds.
* @param {number} value - The number of milliseconds.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.ms(5000);
* console.log(time.toSeconds()); // Outputs 5
*/
static ms(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from seconds.
* @param {number} value - The number of seconds.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.seconds(5);
* console.log(time.toSeconds()); // Outputs 5
*/
static seconds(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from minutes.
* @param {number} value - The number of minutes.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.minutes(5);
* console.log(time.toSeconds()); // Outputs 300
*/
static minutes(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from hours.
* @param {number} value - The number of hours.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.hours(5);
* console.log(time.toSeconds()); // Outputs 18000
*/
static hours(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from days.
* @param {number} value - The number of days.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.days(5);
* console.log(time.toSeconds()); // Outputs 432000
*/
static days(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from weeks.
* @param {number} value - The number of weeks.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.weeks(5);
* console.log(time.toSeconds()); // Outputs 3024000
*/
static weeks(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from months.
* @param {number} value - The number of months.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.months(5);
* console.log(time.toSeconds()); // Outputs 13140000
*/
static months(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from quarters.
* @param {number} value - The number of quarters.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.quarters(5);
* console.log(time.toSeconds()); // Outputs 78840000
*/
static quarters(value: number): ChronoConvert;
/**
* Creates a ChronoConvert instance from years.
* @param {number} value - The number of years.
* @returns {ChronoConvert} - New instance of ChronoConvert.
* @example
* const time = ChronoConvert.years(5);
* console.log(time.toSeconds()); // Outputs 157680000
*/
static years(value: number): ChronoConvert;
/**
* @example
* const time = ChronoConvert.from(1500, 'seconds');
* console.log(time.toSeconds()); // Outputs 1500
*/
static from(value: number, unit: Unit): ChronoConvert;
private fixValue;
private static getValueByUnit;
/**
* @example
* const time = ChronoConvert.minutes(5).add(5, 'seconds');
* console.log(time.toSeconds()); // Outputs 305
*/
add(value: number, unit: Unit): ChronoConvert;
/**
* @example
* const time = ChronoConvert.minutes(5).subtract(5, 'seconds');
* console.log(time.toSeconds()); // Outputs 295
*/
subtract(value: number, unit: Unit): ChronoConvert;
/**
* @example
* const time = ChronoConvert.minutes(5).to('seconds');
* console.log(time); // Outputs 300
*/
to(unit: Unit): number;
/**
* Converts the time to milliseconds.
* @returns {number} - The time in milliseconds.
* @example
* const time = ChronoConvert.seconds(2);
* console.log(time.toMilliseconds()); // Outputs 2000
*/
toMilliseconds(): number;
/**
* Converts the time to milliseconds.
* @returns {number} - The time in milliseconds.
* @example
* const time = ChronoConvert.seconds(2);
* console.log(time.toMs()); // Outputs 2000
*/
toMs(): number;
/**
* Converts the time to seconds.
* @returns {number} - The time in seconds.
* @example
* const time = ChronoConvert.minutes(2);
* console.log(time.toSeconds()); // Outputs 120
*/
toSeconds(): number;
/**
* Converts the time to minutes.
* @returns {number} - The time in minutes.
* @example
* const time = ChronoConvert.seconds(120);
* console.log(time.toMinutes()); // Outputs 2
*/
toMinutes(): number;
/**
* Converts the time to hours.
* @returns {number} - The time in hours.
* @example
* const time = ChronoConvert.seconds(7200);
* console.log(time.toHours()); // Outputs 2
*/
toHours(): number;
/**
* Converts the time to days.
* @returns {number} - The time in days.
* @example
* const time = ChronoConvert.seconds(172800);
* console.log(time.toDays()); // Outputs 2
*/
toDays(): number;
/**
* Converts the time to weeks.
* @returns {number} - The time in weeks.
* @example
* const time = ChronoConvert.seconds(1209600);
* console.log(time.toWeeks()); // Outputs 2
*/
toWeeks(): number;
/**
* Converts the time to months.
* @returns {number} - The time in months.
* @example
* const time = ChronoConvert.seconds(5256000);
* console.log(time.toMonths()); // Outputs 2
*/
toMonths(): number;
/**
* Converts the time to quarters.
* @returns {number} - The time in quarters.
* @example
* const time = ChronoConvert.seconds(15768000);
* console.log(time.toQuarters()); // Outputs 2
*/
toQuarters(): number;
/**
* Converts the time to years.
* @returns {number} - The time in years.
* @example
* const time = ChronoConvert.seconds(63072000);
* console.log(time.toYears()); // Outputs 2
*/
toYears(): number;
toString(): string;
}
export { Unit as ChronoConvertUnit, ChronoConvert as default };