UNPKG

@burglekitt/gmt

Version:

Temporal-based date and time utilities with timezone support and polyfill integration

33 lines (32 loc) 1.09 kB
/** * Return true when `unit` is a valid DateTimeUnit. * * - Valid units are: "year", "month", "week", "day", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond". * - Accepts any input type and returns false for non-string values. * - Uses type assertion to narrow the type. * * @param unit candidate value of any type * @returns boolean indicating validity * * @example isValidDateTimeUnit("year") // true * @example isValidDateTimeUnit("month") // true * @example isValidDateTimeUnit("weeks") // false * @example isValidDateTimeUnit("invalid") // false * @example isValidDateTimeUnit(123) // false * @example isValidDateTimeUnit(null) // false */ export function isValidDateTimeUnit(unit) { if (typeof unit !== "string") { return false; } return (unit === "year" || unit === "month" || unit === "week" || unit === "day" || unit === "hour" || unit === "minute" || unit === "second" || unit === "millisecond" || unit === "microsecond" || unit === "nanosecond"); }