Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

chrono-node

Package Overview
Dependencies
Maintainers
1
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chrono-node - npm Package Compare versions

Comparing version 2.7.4 to 2.7.5

2

dist/cjs/index.d.ts

@@ -20,2 +20,2 @@ import * as en from "./locales/en";

export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date | null;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -179,4 +179,5 @@ "use strict";

const SINGLE_TIME_UNIT_NO_ABBR_PATTERN = `(${exports.NUMBER_PATTERN})\\s{0,3}(${pattern_1.matchAnyPattern(exports.TIME_UNIT_DICTIONARY_NO_ABBR)})`;
exports.TIME_UNITS_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
exports.TIME_UNITS_NO_ABBR_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_NO_ABBR_PATTERN);
const TIME_UNIT_CONNECTOR_PATTERN = `\\s{0,5},?(?:\\s*and)?\\s{0,5}`;
exports.TIME_UNITS_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN, TIME_UNIT_CONNECTOR_PATTERN);
exports.TIME_UNITS_NO_ABBR_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_NO_ABBR_PATTERN, TIME_UNIT_CONNECTOR_PATTERN);
function parseTimeUnits(timeunitText) {

@@ -183,0 +184,0 @@ const fragments = {};

@@ -11,3 +11,3 @@ import { Chrono, Parser, Refiner } from "../../chrono";

export declare const GB: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;

@@ -17,3 +17,3 @@ "use strict";

"(?:" +
"(?:-|/|\\s*,?\\s*)" +
`(?:-|/|\\s*,\\s*|\\s+)` +
`(${constants_3.YEAR_PATTERN})` +

@@ -20,0 +20,0 @@ ")?" +

@@ -7,3 +7,3 @@ "use strict";

const PATTERN = new RegExp(`(${constants_1.TIME_UNITS_PATTERN})\\s{0,5}(?:later|after|from now|henceforth|forward|out)` + "(?=(?:\\W|$))", "i");
const STRICT_PATTERN = new RegExp("" + "(" + constants_1.TIME_UNITS_NO_ABBR_PATTERN + ")" + "(later|from now)" + "(?=(?:\\W|$))", "i");
const STRICT_PATTERN = new RegExp(`(${constants_1.TIME_UNITS_NO_ABBR_PATTERN})\\s{0,5}(later|after|from now)(?=\\W|$)`, "i");
const GROUP_NUM_TIMEUNITS = 1;

@@ -10,0 +10,0 @@ class ENTimeUnitLaterFormatParser extends AbstractParserWithWordBoundary_1.AbstractParserWithWordBoundaryChecking {

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(strictMode?: boolean): Configuration;

@@ -10,3 +10,3 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";

export declare function createConfiguration(strictMode: boolean): Configuration;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;

@@ -9,5 +9,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;

@@ -9,5 +9,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../../chrono";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;
declare type DictionaryLike = string[] | {
[word: string]: unknown;
} | Map<string, unknown>;
export declare function repeatedTimeunitPattern(prefix: string, singleTimeunitPattern: string): string;
export declare function repeatedTimeunitPattern(prefix: string, singleTimeunitPattern: string, connectorPattern?: string): string;
export declare function extractTerms(dictionary: DictionaryLike): string[];
export declare function matchAnyPattern(dictionary: DictionaryLike): string;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.matchAnyPattern = exports.extractTerms = exports.repeatedTimeunitPattern = void 0;
function repeatedTimeunitPattern(prefix, singleTimeunitPattern) {
function repeatedTimeunitPattern(prefix, singleTimeunitPattern, connectorPattern = "\\s{0,5},?\\s{0,5}") {
const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:");
return `${prefix}${singleTimeunitPatternNoCapture}\\s{0,5}(?:,?\\s{0,5}${singleTimeunitPatternNoCapture}){0,10}`;
return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`;
}

@@ -8,0 +8,0 @@ exports.repeatedTimeunitPattern = repeatedTimeunitPattern;

@@ -20,2 +20,2 @@ import * as en from "./locales/en/index.js";

export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date | null;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -233,4 +233,5 @@ import { matchAnyPattern, repeatedTimeunitPattern } from "../../utils/pattern.js";

const SINGLE_TIME_UNIT_NO_ABBR_PATTERN = `(${NUMBER_PATTERN})\\s{0,3}(${matchAnyPattern(TIME_UNIT_DICTIONARY_NO_ABBR)})`;
export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
export const TIME_UNITS_NO_ABBR_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_NO_ABBR_PATTERN);
const TIME_UNIT_CONNECTOR_PATTERN = `\\s{0,5},?(?:\\s*and)?\\s{0,5}`;
export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN, TIME_UNIT_CONNECTOR_PATTERN);
export const TIME_UNITS_NO_ABBR_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_NO_ABBR_PATTERN, TIME_UNIT_CONNECTOR_PATTERN);
export function parseTimeUnits(timeunitText) {

@@ -237,0 +238,0 @@ const fragments = {};

@@ -11,3 +11,3 @@ import { Chrono, Parser, Refiner } from "../../chrono.js";

export declare const GB: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;

@@ -15,3 +15,3 @@ import { findYearClosestToRef } from "../../../calculation/years.js";

"(?:" +
"(?:-|/|\\s*,?\\s*)" +
`(?:-|/|\\s*,\\s*|\\s+)` +
`(${YEAR_PATTERN})` +

@@ -18,0 +18,0 @@ ")?" +

@@ -5,3 +5,3 @@ import { parseTimeUnits, TIME_UNITS_NO_ABBR_PATTERN, TIME_UNITS_PATTERN } from "../constants.js";

const PATTERN = new RegExp(`(${TIME_UNITS_PATTERN})\\s{0,5}(?:later|after|from now|henceforth|forward|out)` + "(?=(?:\\W|$))", "i");
const STRICT_PATTERN = new RegExp("" + "(" + TIME_UNITS_NO_ABBR_PATTERN + ")" + "(later|from now)" + "(?=(?:\\W|$))", "i");
const STRICT_PATTERN = new RegExp(`(${TIME_UNITS_NO_ABBR_PATTERN})\\s{0,5}(later|after|from now)(?=\\W|$)`, "i");
const GROUP_NUM_TIMEUNITS = 1;

@@ -8,0 +8,0 @@ export default class ENTimeUnitLaterFormatParser extends AbstractParserWithWordBoundaryChecking {

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;

@@ -8,5 +8,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(strictMode?: boolean): Configuration;

@@ -10,3 +10,3 @@ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";

export declare function createConfiguration(strictMode: boolean): Configuration;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;

@@ -9,5 +9,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;

@@ -9,5 +9,5 @@ import { Chrono, Configuration, Parser, Refiner } from "../../../chrono.js";

export declare const strict: Chrono;
export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
export declare function createCasualConfiguration(): Configuration;
export declare function createConfiguration(): Configuration;
declare type DictionaryLike = string[] | {
[word: string]: unknown;
} | Map<string, unknown>;
export declare function repeatedTimeunitPattern(prefix: string, singleTimeunitPattern: string): string;
export declare function repeatedTimeunitPattern(prefix: string, singleTimeunitPattern: string, connectorPattern?: string): string;
export declare function extractTerms(dictionary: DictionaryLike): string[];
export declare function matchAnyPattern(dictionary: DictionaryLike): string;
export {};

@@ -1,4 +0,4 @@

export function repeatedTimeunitPattern(prefix, singleTimeunitPattern) {
export function repeatedTimeunitPattern(prefix, singleTimeunitPattern, connectorPattern = "\\s{0,5},?\\s{0,5}") {
const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:");
return `${prefix}${singleTimeunitPatternNoCapture}\\s{0,5}(?:,?\\s{0,5}${singleTimeunitPatternNoCapture}){0,10}`;
return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`;
}

@@ -5,0 +5,0 @@ export function extractTerms(dictionary) {

@@ -18,3 +18,3 @@ {

"license": "MIT",
"version": "2.7.4",
"version": "2.7.5",
"directories": {

@@ -21,0 +21,0 @@ "source": "./src",

@@ -42,4 +42,4 @@ import * as en from "./locales/en";

*/
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date | null {
return casual.parseDate(text, ref, option);
}

@@ -25,7 +25,7 @@ import { includeCommonConfiguration } from "../../configurations";

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -32,0 +32,0 @@ }

@@ -267,6 +267,13 @@ import { OpUnitType, QUnitType } from "dayjs";

export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
const TIME_UNIT_CONNECTOR_PATTERN = `\\s{0,5},?(?:\\s*and)?\\s{0,5}`;
export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(
`(?:(?:about|around)\\s{0,3})?`,
SINGLE_TIME_UNIT_PATTERN,
TIME_UNIT_CONNECTOR_PATTERN
);
export const TIME_UNITS_NO_ABBR_PATTERN = repeatedTimeunitPattern(
`(?:(?:about|around)\\s{0,3})?`,
SINGLE_TIME_UNIT_NO_ABBR_PATTERN
SINGLE_TIME_UNIT_NO_ABBR_PATTERN,
TIME_UNIT_CONNECTOR_PATTERN
);

@@ -273,0 +280,0 @@

@@ -36,3 +36,3 @@ /**

*/
export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);

@@ -44,4 +44,4 @@ }

*/
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);
}

@@ -9,2 +9,3 @@ import { ParsingContext } from "../../../chrono";

// prettier-ignore
const PATTERN = new RegExp(

@@ -15,8 +16,8 @@ `(${matchAnyPattern(MONTH_DICTIONARY)})` +

"(?:" +
"(?:to|\\-)\\s*" +
`(${ORDINAL_NUMBER_PATTERN})\\s*` +
"(?:to|\\-)\\s*" +
`(${ORDINAL_NUMBER_PATTERN})\\s*` +
")?" +
"(?:" +
"(?:-|/|\\s*,?\\s*)" +
`(${YEAR_PATTERN})` +
`(?:-|/|\\s*,\\s*|\\s+)` +
`(${YEAR_PATTERN})` +
")?" +

@@ -23,0 +24,0 @@ "(?=\\W|$)(?!\\:\\d)",

@@ -11,6 +11,3 @@ import { ParsingContext } from "../../../chrono";

const STRICT_PATTERN = new RegExp(
"" + "(" + TIME_UNITS_NO_ABBR_PATTERN + ")" + "(later|from now)" + "(?=(?:\\W|$))",
"i"
);
const STRICT_PATTERN = new RegExp(`(${TIME_UNITS_NO_ABBR_PATTERN})\\s{0,5}(later|after|from now)(?=\\W|$)`, "i");
const GROUP_NUM_TIMEUNITS = 1;

@@ -17,0 +14,0 @@

@@ -28,7 +28,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -35,0 +35,0 @@ }

@@ -31,7 +31,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -38,0 +38,0 @@ }

@@ -22,7 +22,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -29,0 +29,0 @@ }

@@ -36,7 +36,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -43,0 +43,0 @@ }

@@ -27,7 +27,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -34,0 +34,0 @@ }

@@ -43,3 +43,3 @@ /**

*/
export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);

@@ -51,3 +51,3 @@ }

*/
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -54,0 +54,0 @@ }

@@ -81,3 +81,3 @@ /**

*/
export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);

@@ -89,4 +89,4 @@ }

*/
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);
}

@@ -28,7 +28,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -35,0 +35,0 @@ }

@@ -29,7 +29,7 @@ /**

export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
export function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[] {
return casual.parse(text, ref, option);
}
export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
export function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date {
return casual.parseDate(text, ref, option);

@@ -36,0 +36,0 @@ }

type DictionaryLike = string[] | { [word: string]: unknown } | Map<string, unknown>;
export function repeatedTimeunitPattern(prefix: string, singleTimeunitPattern: string): string {
export function repeatedTimeunitPattern(
prefix: string,
singleTimeunitPattern: string,
connectorPattern = "\\s{0,5},?\\s{0,5}"
): string {
const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:");
return `${prefix}${singleTimeunitPatternNoCapture}\\s{0,5}(?:,?\\s{0,5}${singleTimeunitPatternNoCapture}){0,10}`;
return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`;
}

@@ -7,0 +11,0 @@

@@ -384,2 +384,4 @@ import * as chrono from "../../src";

testUnexpectedResult(chrono.strict, "February 29", new Date(2014, 7, 10));
testUnexpectedResult(chrono.strict, "February 151998", new Date(2014, 7, 10));
});

@@ -73,5 +73,10 @@ import * as chrono from "../../src";

testSingleCase(chrono, "Statement of comprehensive income for the year ended Dec. 2021", (result) => {
expect(result.text).toBe("Dec. 2021");
expect(result.start.get("year")).toBe(2021);
expect(result.start.get("month")).toBe(12);
expect(result.text).toBe("Dec. 2021");
expect(result.start.isCertain("year")).toBe(true);
expect(result.start.isCertain("month")).toBe(true);
expect(result.start.isCertain("day")).toBe(false);
});

@@ -78,0 +83,0 @@ });

@@ -252,3 +252,5 @@ import * as chrono from "../../src/";

});
});
test("Test - The later expression with multiple time units", function () {
testSingleCase(chrono, "in 1d 2hr 5min", new Date(2012, 7, 10, 12, 40), (result) => {

@@ -263,2 +265,12 @@ expect(result.index).toBe(0);

});
testSingleCase(chrono, "in 1d, 2hr, and 5min", new Date(2012, 7, 10, 12, 40), (result) => {
expect(result.index).toBe(0);
expect(result.text).toBe("in 1d, 2hr, and 5min");
expect(result.start.get("day")).toBe(11);
expect(result.start.get("hour")).toBe(14);
expect(result.start.get("minute")).toBe(45);
expect(result.start).toBeDate(new Date(2012, 7, 11, 14, 45));
});
});

@@ -265,0 +277,0 @@

@@ -177,2 +177,44 @@ import * as chrono from "../../src";

test("Test - The within expression with multiple time units", function () {
testSingleCase(chrono, "set a timer for 5 minutes 30 seconds", new Date(2012, 7, 10, 12, 14), (result) => {
expect(result.index).toBe(12);
expect(result.text).toBe("for 5 minutes 30 seconds");
expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19, 30));
});
testSingleCase(chrono, "set a timer for 5 minutes, 30 seconds", new Date(2012, 7, 10, 12, 14), (result) => {
expect(result.index).toBe(12);
expect(result.text).toBe("for 5 minutes, 30 seconds");
expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19, 30));
});
testSingleCase(chrono, "set a timer for 1 hour, 5 minutes, 30 seconds", new Date(2012, 7, 10, 12, 14), (result) => {
expect(result.index).toBe(12);
expect(result.text).toBe("for 1 hour, 5 minutes, 30 seconds");
expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 19, 30));
});
testSingleCase(chrono, "set a timer for 5 minutes and 30 seconds", new Date(2012, 7, 10, 12, 14), (result) => {
expect(result.index).toBe(12);
expect(result.text).toBe("for 5 minutes and 30 seconds");
expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 19, 30));
});
testSingleCase(
chrono,
"set a timer for 1 hour, 5 minutes, and 30 seconds",
new Date(2012, 7, 10, 12, 14),
(result) => {
expect(result.index).toBe(12);
expect(result.text).toBe("for 1 hour, 5 minutes, and 30 seconds");
expect(result.start).toBeDate(new Date(2012, 7, 10, 13, 19, 30));
}
);
});
test("Test - The within expression with certain keywords", () => {

@@ -179,0 +221,0 @@ testSingleCase(chrono, "In about 5 hours", new Date(2012, 8 - 1, 10, 12, 49), (result, text) => {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc