Function: isDateObjectUnits()
ts
function isDateObjectUnits(value: unknown): value is DateObjectUnits;Type guard to check if a value is a valid Luxon DateObjectUnits object.
This function validates that the input is a plain object containing only valid Luxon date/time unit properties with numeric values. It ensures type safety when working with objects that should represent date/time units for Luxon operations.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | unknown | The value to check for DateObjectUnits compatibility |
Returns
value is DateObjectUnits
True if the value is a valid DateObjectUnits object, false otherwise
Example
typescript
// Valid DateObjectUnits objects
const validUnits1 = { year: 2023, month: 12, day: 25 };
const validUnits2 = { hour: 14, minute: 30, second: 45 };
const validUnits3 = { weekYear: 2023, weekNumber: 52 };
console.log(isDateObjectUnits(validUnits1)); // true
console.log(isDateObjectUnits(validUnits2)); // true
console.log(isDateObjectUnits(validUnits3)); // true
// Invalid cases
console.log(isDateObjectUnits({})); // false (empty object)
console.log(isDateObjectUnits({ year: "2023" })); // false (string value)
console.log(isDateObjectUnits({ invalid: 123 })); // false (invalid property)
console.log(isDateObjectUnits(null)); // false
console.log(isDateObjectUnits([])); // falseRemarks
The function validates against all supported Luxon DateObjectUnits properties:
- Time units: year, month, day, ordinal
- Week-based units: weekYear, localWeekYear, weekNumber, localWeekNumber, weekday, localWeekday
- Time of day units: hour, minute, second, millisecond
All property values must be numbers or undefined. The object must contain at least one property.