UNPKG

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
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 };