Skip to content
ts
enums: {
  COMPASS: Extend<EnumifyType<{
     East: "east";
     North: "north";
     South: "south";
     West: "west";
  }>, string, string>;
  CONFIG: EnumifyType<Index<readonly ["config", "parse", "value", "intl", "store", "discovery", "debug", "catch", "timeZone", "calendar", "locale", "sphere", "timeStamp", "formats", "plugins"]>>;
  DURATION: EnumifyType<{
     day: 86400;
     hour: 3600;
     microsecond: 0.000001;
     millisecond: 0.001;
     minute: 60;
     month: 2628000;
     nanosecond: 1e-9;
     second: 1;
     week: 604800;
     year: 31536000;
  }>;
  DURATIONS: EnumifyType<{
     days: 86400000;
     hours: 3600000;
     microseconds: 0.001;
     milliseconds: 1;
     minutes: 60000;
     months: 2628000000;
     nanoseconds: 0.000001;
     seconds: 1000;
     weeks: 604800000;
     years: 31536000000;
  }>;
  ELEMENT: EnumifyType<{
     dd: "day";
     hh: "hour";
     mi: "minute";
     mm: "month";
     ms: "millisecond";
     ns: "nanosecond";
     ss: "second";
     us: "microsecond";
     ww: "week";
     yy: "year";
  }>;
  FORMAT: Extend<EnumifyType<{
     date: "{yyyy}-{mm}-{dd}";
     dayDate: "{dd}-{mmm}-{yyyy}";
     dayMonth: "{dd}-{mmm}";
     dayTime: "{dd}-{mmm}-{yyyy} {hh}:{mi}:{ss}";
     display: "{www}, {dd} {mmm} {yyyy}";
     logStamp: "{yyyy}{mm}{dd}T{hhmiss}.{ff}";
     sortTime: "{yyyy}-{mm}-{dd} {hh}:{mi}:{ss}";
     time: "{hh}:{mi}:{ss}";
     weekDate: "{www}, {yyyy}-{mmm}-{dd}";
     weekStamp: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}.{ff}";
     weekTime: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}";
     yearMonth: "{yyyy}{mm}";
     yearMonthDay: "{yyyy}{mm}{dd}";
     yearWeek: "{yw}{ww}";
  }>, string, string | number>;
  LIMIT: {
     get maxTempo(): bigint;
     get minTempo(): bigint;
  };
  MODE: EnumifyType<{
     Auto: "auto";
     Defer: "defer";
     Strict: "strict";
  }>;
  MONTH: EnumifyType<Index<readonly ["All", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]>>;
  MONTH_DAY: {
     layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];
     locales: readonly ["en-US", "en-AS"];
     timezones: {
        en-AS: readonly ["Pacific/Pago_Pago"];
        en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
     };
  };
  MONTHS: EnumifyType<Index<readonly ["Every", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]>>;
  MUTATION: EnumifyType<Index<readonly ["yy", "mm", "ww", "dd", "hh", "mi", "ss", "ms", "us", "ns", "event", "period", "clock", "time", "date", "start", "mid", "end"]>>;
  NUMBER: Extend<EnumifyType<{
     eight: 8;
     five: 5;
     four: 4;
     nine: 9;
     one: 1;
     seven: 7;
     six: 6;
     ten: 10;
     three: 3;
     two: 2;
     zero: 0;
  }>, string, number>;
  PARSE: EnumifyType<Index<readonly ["monthDay", "planner", "layoutOrder", "preFilter", "mode", "pivot", "snippet", "layout", "event", "period", "anchor"]>>;
  SEASON: EnumifyType<{
     Autumn: "autumn";
     Spring: "spring";
     Summer: "summer";
     Winter: "winter";
  }>;
  TIMEZONE: Extend<{
     acst: "Australia/Adelaide";
     aest: "Australia/Sydney";
     awst: "Australia/Perth";
     cet: "Europe/Paris";
     cst: "America/Chicago";
     eet: "Europe/Helsinki";
     est: "America/New_York";
     gmt: "Europe/London";
     ist: "Asia/Kolkata";
     jst: "Asia/Tokyo";
     mst: "America/Denver";
     npt: "Asia/Kathmandu";
     nzt: "Pacific/Auckland";
     pst: "America/Los_Angeles";
     utc: "UTC";
  }, string, string>;
  WEEKDAY: EnumifyType<Index<readonly ["All", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]>>;
  WEEKDAYS: EnumifyType<Index<readonly ["Everyday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]>>;
  ZONED_DATE_TIME: EnumifyType<Index<readonly ["value", "timeZoneId", "calendarId", "monthCode", "offset", "timeZone", "calendar", "year", "month", "day", "hour", "minute", "second", "yy", "mm", "ww", "dd", "hh", "mi", "ss", "ms", "us", "ns"]>>;
};

public-reachable enums

Type Declaration

COMPASS

ts
COMPASS: Extend<EnumifyType<{
  East: "east";
  North: "north";
  South: "south";
  West: "west";
}>, string, string>;

cardinal directions

CONFIG

ts
CONFIG: EnumifyType<Index<readonly ["config", "parse", "value", "intl", "store", "discovery", "debug", "catch", "timeZone", "calendar", "locale", "sphere", "timeStamp", "formats", "plugins"]>>;

DURATION

ts
DURATION: EnumifyType<{
  day: 86400;
  hour: 3600;
  microsecond: 0.000001;
  millisecond: 0.001;
  minute: 60;
  month: 2628000;
  nanosecond: 1e-9;
  second: 1;
  week: 604800;
  year: 31536000;
}>;

number of seconds in a time unit

DURATIONS

ts
DURATIONS: EnumifyType<{
  days: 86400000;
  hours: 3600000;
  microseconds: 0.001;
  milliseconds: 1;
  minutes: 60000;
  months: 2628000000;
  nanoseconds: 0.000001;
  seconds: 1000;
  weeks: 604800000;
  years: 31536000000;
}>;

number of milliseconds in a time unit

ELEMENT

ts
ELEMENT: EnumifyType<{
  dd: "day";
  hh: "hour";
  mi: "minute";
  mm: "month";
  ms: "millisecond";
  ns: "nanosecond";
  ss: "second";
  us: "microsecond";
  ww: "week";
  yy: "year";
}>;

FORMAT

ts
FORMAT: Extend<EnumifyType<{
  date: "{yyyy}-{mm}-{dd}";
  dayDate: "{dd}-{mmm}-{yyyy}";
  dayMonth: "{dd}-{mmm}";
  dayTime: "{dd}-{mmm}-{yyyy} {hh}:{mi}:{ss}";
  display: "{www}, {dd} {mmm} {yyyy}";
  logStamp: "{yyyy}{mm}{dd}T{hhmiss}.{ff}";
  sortTime: "{yyyy}-{mm}-{dd} {hh}:{mi}:{ss}";
  time: "{hh}:{mi}:{ss}";
  weekDate: "{www}, {yyyy}-{mmm}-{dd}";
  weekStamp: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}.{ff}";
  weekTime: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}";
  yearMonth: "{yyyy}{mm}";
  yearMonthDay: "{yyyy}{mm}{dd}";
  yearWeek: "{yw}{ww}";
}>, string, string | number>;

common format aliases

LIMIT

ts
LIMIT: {
  get maxTempo(): bigint;
  get minTempo(): bigint;
};

LIMIT.maxTempo

Get Signature
ts
get maxTempo(): bigint;

Tempo(31-Dec-9999.23:59:59).ns

Returns

bigint

LIMIT.minTempo

Get Signature
ts
get minTempo(): bigint;

Tempo(01-Jan-1000.00:00:00).ns

Returns

bigint

MODE

ts
MODE: EnumifyType<{
  Auto: "auto";
  Defer: "defer";
  Strict: "strict";
}>;

initialization strategies

MONTH

ts
MONTH: EnumifyType<Index<readonly ["All", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]>>;

Gregorian calendar months (short-form)

MONTH_DAY

ts
MONTH_DAY: {
  layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];
  locales: readonly ["en-US", "en-AS"];
  timezones: {
     en-AS: readonly ["Pacific/Pago_Pago"];
     en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
  };
};

regional month-day-year parsing settings

MONTH_DAY.layouts

ts
readonly layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];

MONTH_DAY.locales

ts
readonly locales: readonly ["en-US", "en-AS"];

MONTH_DAY.timezones

ts
readonly timezones: {
  en-AS: readonly ["Pacific/Pago_Pago"];
  en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
};

MONTH_DAY.timezones.en-AS

ts
readonly en-AS: readonly ["Pacific/Pago_Pago"];

MONTH_DAY.timezones.en-US

ts
readonly en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];

MONTHS

ts
MONTHS: EnumifyType<Index<readonly ["Every", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]>>;

Gregorian calendar months (long-form)

MUTATION

ts
MUTATION: EnumifyType<Index<readonly ["yy", "mm", "ww", "dd", "hh", "mi", "ss", "ms", "us", "ns", "event", "period", "clock", "time", "date", "start", "mid", "end"]>>;

NUMBER

ts
NUMBER: Extend<EnumifyType<{
  eight: 8;
  five: 5;
  four: 4;
  nine: 9;
  one: 1;
  seven: 7;
  six: 6;
  ten: 10;
  three: 3;
  two: 2;
  zero: 0;
}>, string, number>;

number names (0-10)

PARSE

ts
PARSE: EnumifyType<Index<readonly ["monthDay", "planner", "layoutOrder", "preFilter", "mode", "pivot", "snippet", "layout", "event", "period", "anchor"]>>;

SEASON

ts
SEASON: EnumifyType<{
  Autumn: "autumn";
  Spring: "spring";
  Summer: "summer";
  Winter: "winter";
}>;

calendar seasons

TIMEZONE

ts
TIMEZONE: Extend<{
  acst: "Australia/Adelaide";
  aest: "Australia/Sydney";
  awst: "Australia/Perth";
  cet: "Europe/Paris";
  cst: "America/Chicago";
  eet: "Europe/Helsinki";
  est: "America/New_York";
  gmt: "Europe/London";
  ist: "Asia/Kolkata";
  jst: "Asia/Tokyo";
  mst: "America/Denver";
  npt: "Asia/Kathmandu";
  nzt: "Pacific/Auckland";
  pst: "America/Los_Angeles";
  utc: "UTC";
}, string, string>;

common time-zone aliases

WEEKDAY

ts
WEEKDAY: EnumifyType<Index<readonly ["All", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]>>;

Gregorian calendar week-days (short-form)

WEEKDAYS

ts
WEEKDAYS: EnumifyType<Index<readonly ["Everyday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]>>;

Gregorian calendar week-days (long-form)

ZONED_DATE_TIME

ts
ZONED_DATE_TIME: EnumifyType<Index<readonly ["value", "timeZoneId", "calendarId", "monthCode", "offset", "timeZone", "calendar", "year", "month", "day", "hour", "minute", "second", "yy", "mm", "ww", "dd", "hh", "mi", "ss", "ms", "us", "ns"]>>;

Released under the MIT License.