JavaScript date utility library for Temporal API inspired by date-fns.
- Contains only pure functions, supports tree-shaking by default.
- Supports every types of Temporal API (
Instant
,ZonedDateTime
,PlainDate
...) with strict TypeScript definition. - Handles timezones and calendars strictly.
- Works fine with any polyfills. You don't have to even load a polyfill globally.
npm install vremel
# or from JSR
deno add @fabon/vremel
import { compareDesc } from "vremel";
import { isEqual } from "vremel/duration"; // utility functions for Temporal.Duration
[
Temporal.PlainDate.from("2024-01-01"),
Temporal.PlainDate.from("2024-02-01"),
Temporal.PlainDate.from("2023-11-30"),
]
.sort(compareDesc)
.map((d) => d.toString()); // [ '2024-02-01', '2024-01-01', '2023-11-30' ]
isEqual(
Temporal.Duration.from({ hours: 3 }),
Temporal.Duration.from({ hours: 3 }),
); // true
vremel
works fine with any polyfills. Also it works even if Temporal
doesn't exist in the global scope.
import { Temporal } from "temporal-polyfill";
// or
import { Temporal } from "@js-temporal/polyfill";
import { isAfter } from "vremel";
isAfter(
Temporal.PlainDate.from("2024-01-01"),
Temporal.PlainDate.from("2024-02-01"),
); // false