/** * # ComPlainDate * * Date-time utilities that keep timezones on the surface. * * ## Objects * * The {@link ComPlainDate} interface describes plain-date objects that can be * created with the {@link PlainDate} factory. * * The {@link ComPlainTime} interface describes wall-time objects that can be * created with the {@link PlainTime} factory. * * ### Objects extended for convenience * * _Note:_ The extended objects are not tree-shakable, so using them will * increase your bundle size... a lot. They are meant for use in backend code * only — *always use the main objects with utility functions in frontend code!* * * An extended type of plain-date object is described by the * {@link ExtendedPlainDate} interface. * Those objects are created with the {@link ExPlainDate} factory, which also * implements the optional functions of the {@link PlainDateFactory} interface. * * ## Utility functions * * ### Parsing strings into objects * * - {@link parsePlainDate} (extract plain-date from string) * - {@link parsePlainTime} (extract plain-time from string) * * ### Splitting native JS `Date` objects into separate plain-date & plain-time objects * * - {@link splitDateTime} - requires a named timezone * - {@link splitLocalDateTime} * - {@link splitUtcDateTime} * * ### Generating a new plain-date object from an existing one * * - {@link addBusinessDays} * - {@link addDays} * - {@link addMonths} * - {@link addQuarters} * - {@link addYears} * - {@link firstWeekDay} * - {@link startOfBusinessWeek} * - {@link startOfMonth} * - {@link startOfQuarter} * - {@link startOfWeekend} * - {@link startOfYear} * * Also see {@link pipePlainDate} and related type {@link PlainDateMapFn} that * are useful when implementing your own plain-date mapper functions. * * ### Making user interface strings * * - {@link formatPlainDate} * - {@link formatPlainTime} * - {@link formatInstant} * - {@link formatTimezone} * - {@link formatDatetimeLocal} (for HTML datetime-local inputs) * * ### Getting information about a plain-date object * * - {@link daysInMonth} * - {@link daysInYear} * - {@link isBusinessDay} and inverse {@link isWeekendDay} * - {@link isFirstDayOfMonth} and {@link isLastDayOfMonth} * - {@link isFirstDayOfYear} and {@link isLastDayOfYear} * - {@link isLeapYear} * - {@link ordinal} (day of the year) * - {@link quarter} * - {@link weekDayNumber} * * ### Comparing plain-date objects * * - {@link differenceInBusinessDays} * - {@link differenceInDays} * - {@link differenceInMonths} * - {@link differenceInQuarters} * - {@link differenceInYears} * * ### Creating native JS `Date` objects from plain-date & plain-time objects * * - {@link createInstant} - requires a named timezone * - {@link createLocalInstant} * - {@link createUtcInstant} * * ### Generating a new native JS `Date` object from an existing one * * - {@link addTime} * - {@link subtractTime} * * ### Comparing native JS `Date` objects * * - {@link differenceInMilliseconds} * * ### Working with timezone names * * - {@link safeTimezone} - falls back to system timezone * - {@link localTimezone} (operating system timezone) * - {@link supportedCanonicalTimezones} * - {@link isTimezone} * - {@link sanitizeTimezone} (clean up timezone name) * - {@link parseTimezone} (extract timezone name from string) - throws error on failure * * @module() */ export { PlainDate } from "./PlainDate.js"; export type { ComPlainDate, PlainDateFactory } from "./PlainDate.js"; export { PlainTime } from "./PlainTime.js"; export type { ComPlainTime, PlainTimeFactory } from "./PlainTime.js"; export { ExPlainDate } from "./ExPlainDate.js"; export type { ExtendedPlainDate } from "./ExPlainDate.js"; export { BUSINESS_DAYS_IN_WEEK, DAYS_IN_COMMON_YEAR, DAYS_IN_LEAP_YEAR, DAYS_IN_WEEK, HOURS_IN_DAY, Month, MS_IN_HOUR, MS_IN_MINUTE, MS_IN_SECOND, Quarter, WeekDay, } from "./constants.js"; export type { MonthNumber, QuarterNumber, WeekDayNumber } from "./constants.js"; export type { PlainDateMapFn } from "./support/function-signatures.js"; export { parsePlainDate } from "./utils/parsePlainDate.js"; export { parsePlainTime } from "./utils/parsePlainTime.js"; export { splitDateTime } from "./utils/splitDateTime.js"; export { splitLocalDateTime } from "./utils/splitLocalDateTime.js"; export { splitUtcDateTime } from "./utils/splitUtcDateTime.js"; export { pipePlainDate } from "./utils/pipePlainDate.js"; export { addBusinessDays } from "./utils/addBusinessDays.js"; export { addDays } from "./utils/addDays.js"; export { addMonths } from "./utils/addMonths.js"; export { addQuarters } from "./utils/addQuarters.js"; export { addYears } from "./utils/addYears.js"; export { firstWeekDay } from "./utils/firstWeekDay.js"; export { startOfBusinessWeek } from "./utils/startOfBusinessWeek.js"; export { startOfMonth } from "./utils/startOfMonth.js"; export { startOfQuarter } from "./utils/startOfQuarter.js"; export { startOfWeekend } from "./utils/startOfWeekend.js"; export { startOfYear } from "./utils/startOfYear.js"; export { formatDatetimeLocal } from "./utils/formatDatetimeLocal.js"; export { formatPlainDate } from "./utils/formatPlainDate.js"; export { formatPlainTime } from "./utils/formatPlainTime.js"; export { formatInstant } from "./utils/formatInstant.js"; export { formatTimezone } from "./utils/formatTimezone.js"; export { daysInMonth } from "./utils/daysInMonth.js"; export { daysInYear } from "./utils/daysInYear.js"; export { isBusinessDay } from "./utils/isBusinessDay.js"; export { isFirstDayOfMonth } from "./utils/isFirstDayOfMonth.js"; export { isFirstDayOfYear } from "./utils/isFirstDayOfYear.js"; export { isLastDayOfMonth } from "./utils/isLastDayOfMonth.js"; export { isLastDayOfYear } from "./utils/isLastDayOfYear.js"; export { isLeapYear } from "./utils/isLeapYear.js"; export { isWeekendDay } from "./utils/isWeekendDay.js"; export { ordinal } from "./utils/ordinal.js"; export { quarter } from "./utils/quarter.js"; export { weekDayNumber } from "./utils/weekDayNumber.js"; export { differenceInBusinessDays } from "./utils/differenceInBusinessDays.js"; export { differenceInDays } from "./utils/differenceInDays.js"; export { differenceInMonths } from "./utils/differenceInMonths.js"; export { differenceInQuarters } from "./utils/differenceInQuarters.js"; export { differenceInYears } from "./utils/differenceInYears.js"; export { createInstant } from "./utils/createInstant.js"; export { createLocalInstant } from "./utils/createLocalInstant.js"; export { createUtcInstant } from "./utils/createUtcInstant.js"; export { addTime } from "./utils/addTime.js"; export { subtractTime } from "./utils/subtractTime.js"; export { differenceInMilliseconds } from "./utils/differenceInMilliseconds.js"; export { safeTimezone } from "./utils/safeTimezone.js"; export { localTimezone } from "./utils/localTimezone.js"; export { supportedCanonicalTimezones } from "./utils/supportedCanonicalTimezones.js"; export { isTimezone } from "./utils/isTimezone.js"; export { sanitizeTimezone } from "./utils/sanitizeTimezone.js"; export { parseTimezone } from "./utils/parseTimezone.js"; //# sourceMappingURL=mod.d.ts.map