Date Utils

GitHub

Date range presets, validation, and boundary helpers for date-based filters.

Installation

bash
pnpm dlx shadcn@latest add @cs/date-utils

Usage

tsx
import { dateRangeOptionToDates } from "@/lib/cs/date-utils";
tsx
const range = dateRangeOptionToDates("last30Days");

API Reference

DATE_RADIO_OPTIONS

Named date-range presets and helpers for date filters.

DateRange

tsx
type DateRange = {
	from: Date
	to: Date
	option: DateRadioOption
}

isDateRange

Parameters

NameTypeDefaultDescription
obj *any | undefined--

Returns: obj is DateRange

tryGetDateRange

tsx
tryGetDateRange(value: any | undefined | null): DateRange
tryGetDateRange(value: any | undefined | null, opt: "nullable"): DateRange | null
tryGetDateRange(value: any | undefined | null, opt?: "nullable"): unknown

Parameters

NameTypeDefaultDescription
value *any | undefined | null--
opt"nullable"--

dateRangeOptionToDates

Parameters

NameTypeDefaultDescription
option *DateRadioOption--
fromDate--
toDate--

Returns: DateRange

isDate

Checking if the string really represents a date.

addDays

Parameters

NameTypeDefaultDescription
date *Date--
days *number--

Returns: unknown

weekStart

Parameters

NameTypeDefaultDescription
date *Date--

Returns: unknown

monthStart

Parameters

NameTypeDefaultDescription
date *Date--
previous *boolean--

Returns: unknown

monthEnd

Parameters

NameTypeDefaultDescription
date *Date--
previous *boolean--

Returns: unknown