chrono-node
Version:
A natural language date parser in Javascript
76 lines (75 loc) • 2.23 kB
TypeScript
import * as en from "./locales/en";
import { Chrono, Parser, Refiner } from "./chrono";
import type { ParsingResult } from "./results";
export { en, Chrono, Parser, Refiner, ParsingResult };
export interface ParsingOption {
forwardDate?: boolean;
timezones?: TimezoneAbbrMap;
}
export interface AmbiguousTimezoneMap {
timezoneOffsetDuringDst: number;
timezoneOffsetNonDst: number;
dstStart: (year: number) => Date;
dstEnd: (year: number) => Date;
}
export declare type TimezoneAbbrMap = {
[key: string]: number | AmbiguousTimezoneMap;
};
export interface ParsingReference {
instant?: Date;
timezone?: string | number;
}
export interface ParsedResult {
readonly refDate: Date;
readonly index: number;
readonly text: string;
readonly start: ParsedComponents;
readonly end?: ParsedComponents;
date(): Date;
}
export interface ParsedComponents {
isCertain(component: Component): boolean;
get(component: Component): number | null;
date(): Date;
}
export declare type Component = "year" | "month" | "day" | "weekday" | "hour" | "minute" | "second" | "millisecond" | "meridiem" | "timezoneOffset";
export declare enum Meridiem {
AM = 0,
PM = 1
}
export declare enum Weekday {
SUNDAY = 0,
MONDAY = 1,
TUESDAY = 2,
WEDNESDAY = 3,
THURSDAY = 4,
FRIDAY = 5,
SATURDAY = 6
}
export declare enum Month {
JANUARY = 1,
FEBRUARY = 2,
MARCH = 3,
APRIL = 4,
MAY = 5,
JUNE = 6,
JULY = 7,
AUGUST = 8,
SEPTEMBER = 9,
OCTOBER = 10,
NOVEMBER = 11,
DECEMBER = 12
}
import * as de from "./locales/de";
import * as fr from "./locales/fr";
import * as ja from "./locales/ja";
import * as pt from "./locales/pt";
import * as nl from "./locales/nl";
import * as zh from "./locales/zh";
import * as ru from "./locales/ru";
import * as es from "./locales/es";
export { de, fr, ja, pt, nl, zh, ru, es };
export declare const strict: Chrono;
export declare const casual: Chrono;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;