Brick
__tests__/
domain/
domain/index.ts
| 1 | /** |
| 2 | * timekit — pure time zone, recurrence and slot math. |
| 3 | * |
| 4 | * Zero runtime dependencies and zero I/O. Nothing here reads the environment, |
| 5 | * touches a database, or imports a framework, which is what makes it safe to |
| 6 | * copy into any project and what makes its tests fully deterministic. |
| 7 | */ |
| 8 | |
| 9 | export type { |
| 10 | Instant, |
| 11 | Interval, |
| 12 | LocalDate, |
| 13 | LocalDateTime, |
| 14 | LocalTime, |
| 15 | RecurrenceRule, |
| 16 | Slot, |
| 17 | SlotOptions, |
| 18 | TimeZoneId, |
| 19 | WallClockRule, |
| 20 | Weekday, |
| 21 | ZonedResolution, |
| 22 | ZonedResolutionKind, |
| 23 | } from './types'; |
| 24 | |
| 25 | export { |
| 26 | addLocalDays, |
| 27 | assertValidTimeZone, |
| 28 | compareLocalDates, |
| 29 | formatLocalDate, |
| 30 | fromZoned, |
| 31 | instantFromLocal, |
| 32 | localDateOf, |
| 33 | offsetAt, |
| 34 | parseLocalDate, |
| 35 | parseLocalTime, |
| 36 | toZoned, |
| 37 | weekdayOf, |
| 38 | } from './zone'; |
| 39 | |
| 40 | export { |
| 41 | clampIntervals, |
| 42 | intervalsOverlap, |
| 43 | mergeIntervals, |
| 44 | padIntervals, |
| 45 | subtractIntervals, |
| 46 | totalDurationMs, |
| 47 | } from './intervals'; |
| 48 | |
| 49 | export { expandRecurrence, expandRules } from './recurrence'; |
| 50 | |
| 51 | export type { AvailabilityInput } from './slots'; |
| 52 | export { availableSlots, freeIntervals, gridify, gridifyAll } from './slots'; |
| 53 |
Requirements
This brick was written by hand, so it has no spec on file. Its own tests are its requirements — run the gates to check them.