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.3.9 to 2.4.1

dist/common/calculation/weekdays.d.ts

9

dist/index.d.ts

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

}
export declare enum Weekday {
SUNDAY = 0,
MONDAY = 1,
TUESDAY = 2,
WEDNESDAY = 3,
THURSDAY = 4,
FRIDAY = 5,
SATURDAY = 6
}
import * as de from "./locales/de";

@@ -34,0 +43,0 @@ import * as fr from "./locales/fr";

12

dist/index.js

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.parseDate = exports.parse = exports.casual = exports.strict = exports.ru = exports.zh = exports.nl = exports.pt = exports.ja = exports.fr = exports.de = exports.Meridiem = exports.Chrono = exports.en = void 0;
exports.parseDate = exports.parse = exports.casual = exports.strict = exports.ru = exports.zh = exports.nl = exports.pt = exports.ja = exports.fr = exports.de = exports.Weekday = exports.Meridiem = exports.Chrono = exports.en = void 0;
const en = __importStar(require("./locales/en"));

@@ -33,2 +33,12 @@ exports.en = en;

})(Meridiem = exports.Meridiem || (exports.Meridiem = {}));
var Weekday;
(function (Weekday) {
Weekday[Weekday["SUNDAY"] = 0] = "SUNDAY";
Weekday[Weekday["MONDAY"] = 1] = "MONDAY";
Weekday[Weekday["TUESDAY"] = 2] = "TUESDAY";
Weekday[Weekday["WEDNESDAY"] = 3] = "WEDNESDAY";
Weekday[Weekday["THURSDAY"] = 4] = "THURSDAY";
Weekday[Weekday["FRIDAY"] = 5] = "FRIDAY";
Weekday[Weekday["SATURDAY"] = 6] = "SATURDAY";
})(Weekday = exports.Weekday || (exports.Weekday = {}));
const de = __importStar(require("./locales/de"));

@@ -35,0 +45,0 @@ exports.de = de;

10

dist/locales/de/parsers/DEWeekdayParser.js

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +

@@ -40,9 +40,3 @@ "(?:a[mn]\\s*?)?" +

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, offset, modifier);
}

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

import { OpUnitType, QUnitType } from "dayjs";
import { TimeUnits } from "../../utils/timeunits";
import { Weekday } from "../../index";
export declare const WEEKDAY_DICTIONARY: {
[word: string]: number;
[word: string]: Weekday;
};

@@ -6,0 +7,0 @@ export declare const FULL_MONTH_NAME_DICTIONARY: {

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +

@@ -24,3 +24,3 @@ "(?:on\\s*?)?" +

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -41,9 +41,3 @@ const postfix = match[POSTFIX_GROUP];

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}

@@ -50,0 +44,0 @@ }

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +

@@ -22,4 +22,4 @@ "(?:(?:ce)\\s*)?" +

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
if (offset === undefined) {
const weekday = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
if (weekday === undefined) {
return null;

@@ -37,9 +37,3 @@ }

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}

@@ -46,0 +40,0 @@ }

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +

@@ -22,3 +22,3 @@ "(?:op\\s*?)?" +

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -39,9 +39,3 @@ const postfix = match[POSTFIX_GROUP];

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}

@@ -48,0 +42,0 @@ }

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +

@@ -23,4 +23,4 @@ "(?:(este|esta|passado|pr[oó]ximo)\\s*)?" +

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
if (offset === undefined) {
const weekday = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
if (weekday === undefined) {
return null;

@@ -42,9 +42,3 @@ }

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}

@@ -51,0 +45,0 @@ }

@@ -48,5 +48,5 @@ "use strict";

январе: 1,
февряль: 2,
февряля: 2,
февряле: 2,
февраль: 2,
февраля: 2,
феврале: 2,
март: 3,

@@ -105,3 +105,3 @@ марта: 3,

восемь: 8,
восемьми: 8,
восьми: 8,
девять: 9,

@@ -262,3 +262,2 @@ девяти: 9,

}
num = num.replace(/(?:st|nd|rd|th)$/i, "");
return parseInt(num);

@@ -265,0 +264,0 @@ }

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

const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
const weeks_1 = require("../../../calculation/weeks");
const weekdays_1 = require("../../../common/calculation/weekdays");
const PATTERN = new RegExp(`(?:(?:,|\\(|()\\s*)?` +

@@ -27,3 +27,3 @@ `(?:в\\s*?)?` +

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = constants_1.WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -47,9 +47,3 @@ const postfix = match[POSTFIX_GROUP];

}
const date = weeks_1.toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return weekdays_1.createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}

@@ -56,0 +50,0 @@ }

import AbstractMergeDateRangeRefiner from "../../../common/refiners/AbstractMergeDateRangeRefiner";
export default class xf extends AbstractMergeDateRangeRefiner {
export default class RUMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner {
patternBetween(): RegExp;
}

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

const AbstractMergeDateRangeRefiner_1 = __importDefault(require("../../../common/refiners/AbstractMergeDateRangeRefiner"));
class xf extends AbstractMergeDateRangeRefiner_1.default {
class RUMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner_1.default {
patternBetween() {

@@ -13,3 +13,3 @@ return /^\s*(и до|и по|до|по|-)\s*$/i;

}
exports.default = xf;
exports.default = RUMergeDateRangeRefiner;
//# sourceMappingURL=RUMergeDateRangeRefiner.js.map

@@ -7,2 +7,4 @@ import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./index";

constructor(input?: ParsingReference | Date);
getDateWithAdjustedTimezone(): Date;
getSystemTimezoneAdjustmentMinute(date?: Date, overrideTimezoneOffset?: number): number;
}

@@ -32,3 +34,2 @@ export declare class ParsingComponents implements ParsedComponents {

private dateWithoutTimezoneAdjustment;
private getSystemTimezoneAdjustmentMinute;
static createRelativeFromReference(reference: ReferenceWithTimezone, fragments: {

@@ -35,0 +36,0 @@ [c in QUnitType]?: number;

@@ -24,2 +24,14 @@ "use strict";

}
getDateWithAdjustedTimezone() {
return new Date(this.instant.getTime() + this.getSystemTimezoneAdjustmentMinute(this.instant) * 60000);
}
getSystemTimezoneAdjustmentMinute(date, overrideTimezoneOffset) {
var _a;
if (!date || date.getTime() < 0) {
date = new Date();
}
const currentTimezoneOffset = -date.getTimezoneOffset();
const targetTimezoneOffset = (_a = overrideTimezoneOffset !== null && overrideTimezoneOffset !== void 0 ? overrideTimezoneOffset : this.timezoneOffset) !== null && _a !== void 0 ? _a : currentTimezoneOffset;
return currentTimezoneOffset - targetTimezoneOffset;
}
}

@@ -123,3 +135,4 @@ exports.ReferenceWithTimezone = ReferenceWithTimezone;

const date = this.dateWithoutTimezoneAdjustment();
return new Date(date.getTime() + this.getSystemTimezoneAdjustmentMinute(date) * 60000);
const timezoneAdjustment = this.reference.getSystemTimezoneAdjustmentMinute(date, this.get("timezoneOffset"));
return new Date(date.getTime() + timezoneAdjustment * 60000);
}

@@ -131,11 +144,2 @@ dateWithoutTimezoneAdjustment() {

}
getSystemTimezoneAdjustmentMinute(date) {
var _a, _b;
if (!date || date.getTime() < 0) {
date = new Date();
}
const currentTimezoneOffset = -date.getTimezoneOffset();
const targetTimezoneOffset = (_b = (_a = this.get("timezoneOffset")) !== null && _a !== void 0 ? _a : this.reference.timezoneOffset) !== null && _b !== void 0 ? _b : currentTimezoneOffset;
return currentTimezoneOffset - targetTimezoneOffset;
}
static createRelativeFromReference(reference, fragments) {

@@ -142,0 +146,0 @@ let date = dayjs_1.default(reference.instant);

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

"license": "MIT",
"version": "2.3.9",
"version": "2.4.1",
"directories": {

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

@@ -143,3 +143,5 @@ import { ReferenceWithTimezone, ParsingComponents, ParsingResult } from "./results";

// Deprecated. Use reference.instant instead.
/**
* @deprecated. Use reference.instant instead.
*/
readonly refDate: Date;

@@ -146,0 +148,0 @@

@@ -102,2 +102,12 @@ import { DebugHandler, DebugConsume } from "./debugging";

export enum Weekday {
SUNDAY = 0,
MONDAY = 1,
TUESDAY = 2,
WEDNESDAY = 3,
THURSDAY = 4,
FRIDAY = 5,
SATURDAY = 6,
}
// Export all locales

@@ -104,0 +114,0 @@ import * as de from "./locales/de";

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -48,10 +48,4 @@ const PATTERN = new RegExp(

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, offset, modifier);
}
}

@@ -5,4 +5,5 @@ import { OpUnitType, QUnitType } from "dayjs";

import { TimeUnits } from "../../utils/timeunits";
import { Weekday } from "../../index";
export const WEEKDAY_DICTIONARY: { [word: string]: number } = {
export const WEEKDAY_DICTIONARY: { [word: string]: Weekday } = {
sunday: 0,

@@ -9,0 +10,0 @@ sun: 0,

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -31,3 +31,3 @@ const PATTERN = new RegExp(

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -48,10 +48,4 @@ const postfix = match[POSTFIX_GROUP];

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}
}

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -29,4 +29,4 @@ const PATTERN = new RegExp(

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
if (offset === undefined) {
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
if (weekday === undefined) {
return null;

@@ -46,10 +46,4 @@ }

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}
}

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -29,3 +29,3 @@ const PATTERN = new RegExp(

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -46,10 +46,4 @@ const postfix = match[POSTFIX_GROUP];

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}
}

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -30,4 +30,4 @@ const PATTERN = new RegExp(

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
if (offset === undefined) {
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
if (weekday === undefined) {
return null;

@@ -50,10 +50,4 @@ }

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}
}

@@ -50,5 +50,5 @@ import { OpUnitType, QUnitType } from "dayjs";

январе: 1,
февряль: 2,
февряля: 2,
февряле: 2,
февраль: 2,
февраля: 2,
феврале: 2,
март: 3,

@@ -129,3 +129,3 @@ марта: 3,

восемь: 8,
восемьми: 8,
восьми: 8,
девять: 9,

@@ -293,4 +293,2 @@ девяти: 9,

}
num = num.replace(/(?:st|nd|rd|th)$/i, "");
return parseInt(num);

@@ -297,0 +295,0 @@ }

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

import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
import { toDayJSWeekday } from "../../../calculation/weeks";
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";

@@ -35,3 +35,3 @@ const PATTERN = new RegExp(

const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
const prefix = match[PREFIX_GROUP];

@@ -57,10 +57,4 @@ const postfix = match[POSTFIX_GROUP];

const date = toDayJSWeekday(context.refDate, offset, modifier);
return context
.createParsingComponents()
.assign("weekday", offset)
.imply("day", date.date())
.imply("month", date.month() + 1)
.imply("year", date.year());
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
}
}

@@ -9,3 +9,3 @@ import AbstractMergeDateRangeRefiner from "../../../common/refiners/AbstractMergeDateRangeRefiner";

*/
export default class xf extends AbstractMergeDateRangeRefiner {
export default class RUMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner {
patternBetween(): RegExp {

@@ -12,0 +12,0 @@ return /^\s*(и до|и по|до|по|-)\s*$/i;

@@ -22,2 +22,27 @@ import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./index";

}
/**
* Returns a JS date (system timezone) with the { year, month, day, hour, minute, second } equal to the reference.
* The output's instant is NOT the reference's instant when the reference's and system's timezone are different.
*/
getDateWithAdjustedTimezone() {
return new Date(this.instant.getTime() + this.getSystemTimezoneAdjustmentMinute(this.instant) * 60000);
}
/**
* Returns the number minutes difference between the JS date's timezone and the reference timezone.
* @param date
* @param overrideTimezoneOffset
*/
getSystemTimezoneAdjustmentMinute(date?: Date, overrideTimezoneOffset?: number): number {
if (!date || date.getTime() < 0) {
// Javascript date timezone calculation got effect when the time epoch < 0
// e.g. new Date('Tue Feb 02 1300 00:00:00 GMT+0900 (JST)') => Tue Feb 02 1300 00:18:59 GMT+0918 (JST)
date = new Date();
}
const currentTimezoneOffset = -date.getTimezoneOffset();
const targetTimezoneOffset = overrideTimezoneOffset ?? this.timezoneOffset ?? currentTimezoneOffset;
return currentTimezoneOffset - targetTimezoneOffset;
}
}

@@ -145,3 +170,4 @@

const date = this.dateWithoutTimezoneAdjustment();
return new Date(date.getTime() + this.getSystemTimezoneAdjustmentMinute(date) * 60000);
const timezoneAdjustment = this.reference.getSystemTimezoneAdjustmentMinute(date, this.get("timezoneOffset"));
return new Date(date.getTime() + timezoneAdjustment * 60000);
}

@@ -164,16 +190,2 @@

private getSystemTimezoneAdjustmentMinute(date?: Date) {
if (!date || date.getTime() < 0) {
// Javascript date timezone calculation got effect when the time epoch < 0
// e.g. new Date('Tue Feb 02 1300 00:00:00 GMT+0900 (JST)') => Tue Feb 02 1300 00:18:59 GMT+0918 (JST)
date = new Date();
}
const currentTimezoneOffset = -date.getTimezoneOffset();
const targetTimezoneOffset =
this.get("timezoneOffset") ?? this.reference.timezoneOffset ?? currentTimezoneOffset;
return currentTimezoneOffset - targetTimezoneOffset;
}
static createRelativeFromReference(

@@ -180,0 +192,0 @@ reference: ReferenceWithTimezone,

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

testSingleCase(chrono.casual, "Let's have a meeting on Friday next week", new Date(2015, 3, 18), (result) => {
testSingleCase(chrono.casual, "Let's have a meeting on Friday next week", new Date("Sat Apr 18 2015"), (result) => {
expect(result.index).toBe(21);

@@ -108,2 +108,117 @@ expect(result.text).toBe("on Friday next week");

test("Test - Weekday casual `This` guessing", function () {
testSingleCase(chrono.casual, "This Saturday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(6);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "This Sunday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(7);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "This Wednesday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(3);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "This Saturday", new Date("Sun Aug 7 2022"), (result) => {
expect(result.start.get("day")).toBe(13);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "This Sunday", new Date("Sun Aug 7 2022"), (result) => {
expect(result.start.get("day")).toBe(7);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "This Wednesday", new Date("Sun Aug 7 2022"), (result) => {
expect(result.start.get("day")).toBe(10);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
});
test("Test - Weekday casual `Last` guessing", function () {
testSingleCase(chrono.casual, "Last Saturday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(30);
expect(result.start.get("month")).toBe(7);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Last Sunday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(31);
expect(result.start.get("month")).toBe(7);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Last Wednesday", new Date("Tue Aug 2 2022"), (result) => {
expect(result.start.get("day")).toBe(27);
expect(result.start.get("month")).toBe(7);
expect(result.start.get("year")).toBe(2022);
});
});
test("Test - Weekday casual `Next` guessing", function () {
{
const refDate = new Date("Tue Aug 2 2022");
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
expect(result.start.get("day")).toBe(13);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
expect(result.start.get("day")).toBe(14);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
expect(result.start.get("day")).toBe(10);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
}
{
const refDate = new Date("Saturday Aug 6 2022");
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
expect(result.start.get("day")).toBe(13);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
expect(result.start.get("day")).toBe(14);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
expect(result.start.get("day")).toBe(10);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
}
{
const refDate = new Date("Sun Aug 7 2022");
testSingleCase(chrono.casual, "Next Saturday", refDate, (result) => {
expect(result.start.get("day")).toBe(13);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Sunday", refDate, (result) => {
expect(result.start.get("day")).toBe(14);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
testSingleCase(chrono.casual, "Next Wednesday", refDate, (result) => {
expect(result.start.get("day")).toBe(10);
expect(result.start.get("month")).toBe(8);
expect(result.start.get("year")).toBe(2022);
});
}
});
test("Test - Weekday With Casual Time", function () {

@@ -110,0 +225,0 @@ testSingleCase(chrono.casual, "Lets meet on Tuesday morning", new Date(2015, 3, 18), (result) => {

import * as chrono from "../../src";
import { testSingleCase, testUnexpectedResult } from "../test_util";
import ENTimeExpressionParser from "../../src/locales/en/parsers/ENTimeExpressionParser";
import { Meridiem } from "../../src";

@@ -98,2 +99,11 @@ test("Test - Date + Time Expression", function () {

});
testSingleCase(chrono, "03-27-2022, 02:00 AM", new Date(2017, 7 - 1, 7), (result) => {
expect(result.text).toBe("03-27-2022, 02:00 AM");
expect(result.start.get("day")).toBe(27);
expect(result.start.get("month")).toBe(3);
expect(result.start.get("year")).toBe(2022);
expect(result.start.get("hour")).toBe(2);
expect(result.start.get("meridiem")).toBe(Meridiem.AM);
});
});

@@ -100,0 +110,0 @@

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