Skip to content

Year

Integer year value object with leap-year helpers.

Import

typescript
import { Year } from '@haskou/value-objects';

Signature

typescript
class Year extends Integer

Constructor

typescript
constructor(value: number | NumberValueObject)

Validation

Uses Integer validation. The current implementation accepts negative years and zero because no calendar range is enforced.

Methods

MethodDescription
isLeapYear()Returns true when getNumberOfDays() is 366.
getNumberOfDays()Returns 365 or 366 using Gregorian leap-year rules.

Example

typescript
import { Year } from '@haskou/value-objects';

const year = new Year(2024);

year.isLeapYear(); // true
year.getNumberOfDays(); // 366

Notes

  • Years divisible by 4 are leap years unless divisible by 100, except years divisible by 400.
  • Year inherits number comparison helpers from Integer and NumberValueObject.

Released under the MIT License.