@metrik/meridiem
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

⏰ meridiem

Meridiem is a simple, lightweight and fast library written in TypeScript for parsing natural language time ranges (in the past) and converting them to a simple object. Powered by some simple RegEx patterns and the built-in new Date() parser. Inspired by chrono and this tweet from @JohnPhamous about the new Vercel date range selector.

Has troubles with very large time ranges. Will work best if kept within 2-3 years of provided currentDate or the current date.

Compatible with Node, the browser, Deno and Bun. Only dependency is date-fns.

Installation

# npm
npm install @metrik/meridiem
 
# yarn
yarn add @metrik/meridiem

# pnpm
pnpm add @metrik/meridiem

Usage

import { parse } from "@metrik/meridiem"

// You can pass a string to parse
const basicResult = parse("last week")

// {
//   start: 2023-03-10T00:00:00.000Z,
//   end: 2023-03-17T00:00:00.000Z
// }

// You can also pass a date to parse relative to
const relativeResult = parse("last week", new Date("January 1, 2023"))

// {
//   start: 2023-12-25T00:00:00.000Z,
//   end: 2023-01-01T00:00:00.000Z
// }

// If the date range is invalid, null is returned
const invalidResult = parse("invalid date range") // null

Readme

Keywords

none

Package Sidebar

Install

npm i @metrik/meridiem

Weekly Downloads

18

Version

1.0.0

License

MIT

Unpacked Size

10.5 kB

Total Files

6

Last publish

Collaborators

  • cursecode