chrono-node 2.7.3 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/common/refiners/OverlapRemovalRefiner.js +16 -6
- package/dist/cjs/common/refiners/OverlapRemovalRefiner.js.map +1 -1
- package/dist/cjs/locales/en/configuration.js +13 -8
- package/dist/cjs/locales/en/configuration.js.map +1 -1
- package/dist/cjs/locales/en/constants.d.ts +1 -1
- package/dist/cjs/locales/en/constants.js +1 -1
- package/dist/cjs/locales/en/constants.js.map +1 -1
- package/dist/cjs/locales/en/index.d.ts +2 -0
- package/dist/cjs/locales/en/index.js +5 -5
- package/dist/cjs/locales/en/index.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +2 -0
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js +13 -2
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js +1 -0
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js +3 -0
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.d.ts +6 -0
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +30 -0
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js.map +1 -0
- package/dist/cjs/locales/en/refiners/{ENMergeRelativeDateRefiner.d.ts → ENMergeRelativeFollowByDateRefiner.d.ts} +1 -1
- package/dist/cjs/locales/en/refiners/{ENMergeRelativeDateRefiner.js → ENMergeRelativeFollowByDateRefiner.js} +3 -3
- package/dist/cjs/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -0
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js +3 -3
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +6 -4
- package/dist/cjs/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/common/refiners/OverlapRemovalRefiner.js +16 -6
- package/dist/esm/common/refiners/OverlapRemovalRefiner.js.map +1 -1
- package/dist/esm/locales/en/configuration.js +13 -8
- package/dist/esm/locales/en/configuration.js.map +1 -1
- package/dist/esm/locales/en/constants.d.ts +1 -1
- package/dist/esm/locales/en/constants.js +1 -1
- package/dist/esm/locales/en/constants.js.map +1 -1
- package/dist/esm/locales/en/index.d.ts +2 -0
- package/dist/esm/locales/en/index.js +4 -4
- package/dist/esm/locales/en/index.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +2 -0
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js +13 -2
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +3 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.d.ts +6 -0
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +27 -0
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js.map +1 -0
- package/dist/esm/locales/en/refiners/{ENMergeRelativeDateRefiner.d.ts → ENMergeRelativeFollowByDateRefiner.d.ts} +1 -1
- package/dist/esm/locales/en/refiners/{ENMergeRelativeDateRefiner.js → ENMergeRelativeFollowByDateRefiner.js} +2 -2
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -0
- package/dist/esm/locales/nl/parsers/NLRelativeDateFormatParser.js +3 -3
- package/dist/esm/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +6 -4
- package/dist/esm/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/package.json +1 -1
- package/src/common/refiners/OverlapRemovalRefiner.ts +16 -7
- package/src/locales/en/configuration.ts +15 -8
- package/src/locales/en/constants.ts +1 -1
- package/src/locales/en/index.ts +4 -4
- package/src/locales/en/parsers/ENMonthNameMiddleEndianParser.ts +20 -5
- package/src/locales/en/parsers/ENMonthNameParser.ts +1 -0
- package/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts +5 -0
- package/src/locales/en/refiners/ENMergeRelativeAfterDateRefiner.ts +46 -0
- package/src/locales/en/refiners/{ENMergeRelativeDateRefiner.ts → ENMergeRelativeFollowByDateRefiner.ts} +4 -4
- package/src/locales/nl/parsers/NLRelativeDateFormatParser.ts +3 -3
- package/src/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.ts +10 -4
- package/test/en/en_month.test.ts +6 -0
- package/test/en/en_month_name_middle_endian.test.ts +23 -0
- package/test/en/en_time_units_later.test.ts +22 -0
- package/test/en/negative_cases.test.ts +4 -0
- package/test/nl/nl_relative.test.ts +16 -2
- package/dist/cjs/locales/en/refiners/ENMergeRelativeDateRefiner.js.map +0 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeDateRefiner.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as chrono from "../../src";
|
|
2
2
|
import { testSingleCase, testWithExpectedDate, testUnexpectedResult } from "../test_util";
|
|
3
|
+
import { configuration } from "../../src/locales/en";
|
|
3
4
|
|
|
4
5
|
test("Test - Single Expression", () => {
|
|
5
6
|
testSingleCase(chrono, "She is getting married soon (July 2017).", (result) => {
|
|
@@ -153,6 +154,13 @@ test("Test - Single Expression", () => {
|
|
|
153
154
|
expect(result.start.get("month")).toBe(1);
|
|
154
155
|
expect(result.start.get("day")).toBe(20);
|
|
155
156
|
});
|
|
157
|
+
|
|
158
|
+
testSingleCase(chrono, "Dec. 21", new Date(2012, 7, 10), (result) => {
|
|
159
|
+
expect(result.text).toBe("Dec. 21");
|
|
160
|
+
expect(result.start.get("year")).toBe(2012);
|
|
161
|
+
expect(result.start.get("month")).toBe(12);
|
|
162
|
+
expect(result.start.get("day")).toBe(21);
|
|
163
|
+
});
|
|
156
164
|
});
|
|
157
165
|
|
|
158
166
|
test("Test - Single expression with separators", () => {
|
|
@@ -350,6 +358,21 @@ test("Test - year 90's parsing", () => {
|
|
|
350
358
|
});
|
|
351
359
|
});
|
|
352
360
|
|
|
361
|
+
test("Test - Skip year-like on little-endian configuration", () => {
|
|
362
|
+
const chronoMiddleEndian = new chrono.Chrono(chrono.en.configuration.createCasualConfiguration(false));
|
|
363
|
+
testSingleCase(chronoMiddleEndian, "Dec. 21", new Date(2023, 12, 10), (result) => {
|
|
364
|
+
expect(result.start.get("year")).toBe(2023);
|
|
365
|
+
expect(result.start.get("month")).toBe(12);
|
|
366
|
+
expect(result.start.get("day")).toBe(21);
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
const chronoLittleEndian = new chrono.Chrono(chrono.en.configuration.createCasualConfiguration(true));
|
|
370
|
+
testSingleCase(chronoLittleEndian, "Dec. 21", new Date(2023, 12, 10), (result) => {
|
|
371
|
+
expect(result.start.get("year")).toBe(2021);
|
|
372
|
+
expect(result.start.get("month")).toBe(12);
|
|
373
|
+
});
|
|
374
|
+
});
|
|
375
|
+
|
|
353
376
|
test("Test - Impossible Dates (Strict Mode)", () => {
|
|
354
377
|
testUnexpectedResult(chrono.strict, "August 32, 2014");
|
|
355
378
|
|
|
@@ -320,3 +320,25 @@ test("Test - After with reference", () => {
|
|
|
320
320
|
expect(result.start.get("day")).toBe(18);
|
|
321
321
|
});
|
|
322
322
|
});
|
|
323
|
+
|
|
324
|
+
test("Test - Plus after reference", () => {
|
|
325
|
+
testSingleCase(chrono, "next tuesday +10 days", new Date(2023, 12 - 1, 29), (result) => {
|
|
326
|
+
expect(result.start.get("year")).toBe(2024);
|
|
327
|
+
expect(result.start.get("month")).toBe(1);
|
|
328
|
+
expect(result.start.get("day")).toBe(12);
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
testSingleCase(chrono, "2023-12-29 -10days", new Date(2023, 12 - 1, 29), (result) => {
|
|
332
|
+
expect(result.start.get("year")).toBe(2023);
|
|
333
|
+
expect(result.start.get("month")).toBe(12);
|
|
334
|
+
expect(result.start.get("day")).toBe(19);
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
testSingleCase(chrono, "now + 40minutes", new Date(2023, 12 - 1, 29, 8, 30), (result) => {
|
|
338
|
+
expect(result.start.get("year")).toBe(2023);
|
|
339
|
+
expect(result.start.get("month")).toBe(12);
|
|
340
|
+
expect(result.start.get("day")).toBe(29);
|
|
341
|
+
expect(result.start.get("hour")).toBe(9);
|
|
342
|
+
expect(result.start.get("minute")).toBe(10);
|
|
343
|
+
});
|
|
344
|
+
});
|
|
@@ -75,6 +75,10 @@ test("Test - Skip version number pattern", () => {
|
|
|
75
75
|
testUnexpectedResult(chrono, "Version: 1.10.30");
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
+
test("Test - Skip incorrect reference", () => {
|
|
79
|
+
testUnexpectedResult(chrono, "for the year");
|
|
80
|
+
});
|
|
81
|
+
|
|
78
82
|
test("Test - Date with version number pattern", () => {
|
|
79
83
|
testSingleCase(chrono.en, "1.5.3 - 2015-09-24", (result) => {
|
|
80
84
|
expect(result.text).toBe("2015-09-24");
|
|
@@ -71,7 +71,7 @@ test("Test - Past relative expressions", () => {
|
|
|
71
71
|
|
|
72
72
|
test("Test - Future relative expressions", () => {
|
|
73
73
|
// next hour
|
|
74
|
-
testSingleCase(chrono.nl, "
|
|
74
|
+
testSingleCase(chrono.nl, "komend uur", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
75
75
|
expect(result.text).toBe(text);
|
|
76
76
|
expect(result.start.get("year")).toBe(2016);
|
|
77
77
|
expect(result.start.get("month")).toBe(10);
|
|
@@ -111,6 +111,20 @@ test("Test - Future relative expressions", () => {
|
|
|
111
111
|
expect(result.start.isCertain("hour")).toBe(false);
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
+
// next month
|
|
115
|
+
testSingleCase(chrono.nl, "aankomende maand", new Date(2016, 10 - 1, 1, 12), (result, text) => {
|
|
116
|
+
expect(result.text).toBe(text);
|
|
117
|
+
expect(result.start.get("year")).toBe(2016);
|
|
118
|
+
expect(result.start.get("month")).toBe(11);
|
|
119
|
+
expect(result.start.get("day")).toBe(1);
|
|
120
|
+
expect(result.start.get("hour")).toBe(12);
|
|
121
|
+
|
|
122
|
+
expect(result.start.isCertain("year")).toBe(true);
|
|
123
|
+
expect(result.start.isCertain("month")).toBe(true);
|
|
124
|
+
expect(result.start.isCertain("day")).toBe(false);
|
|
125
|
+
expect(result.start.isCertain("hour")).toBe(false);
|
|
126
|
+
});
|
|
127
|
+
|
|
114
128
|
// next year
|
|
115
129
|
testSingleCase(chrono.nl, "volgend jaar", new Date(2020, 11 - 1, 22, 12, 11, 32, 6), (result, text) => {
|
|
116
130
|
expect(result.text).toBe(text);
|
|
@@ -137,7 +151,7 @@ test("Test - Relative date components' certainty", () => {
|
|
|
137
151
|
const refDate = new Date(2016, 10 - 1, 7, 12);
|
|
138
152
|
|
|
139
153
|
// next hour
|
|
140
|
-
testSingleCase(chrono.nl, "
|
|
154
|
+
testSingleCase(chrono.nl, "komend uur", refDate, (result, text) => {
|
|
141
155
|
expect(result.text).toBe(text);
|
|
142
156
|
expect(result.start.get("year")).toBe(2016);
|
|
143
157
|
expect(result.start.get("month")).toBe(10);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ENMergeRelativeDateRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/en/refiners/ENMergeRelativeDateRefiner.ts"],"names":[],"mappings":";;AAAA,uEAAkE;AAClE,8CAA2F;AAC3F,4CAA8C;AAC9C,wDAA4D;AAE5D,SAAS,8BAA8B,CAAC,MAAqB;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAOD,MAAqB,0BAA2B,SAAQ,iCAAc;IAClE,cAAc;QACV,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QAE3F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QAID,IAAI,CAAC,8BAA8B,CAAC,aAAa,CAAC,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAAE;YAChG,OAAO,KAAK,CAAC;SAChB;QAGD,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QACrF,IAAI,SAAS,GAAG,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,8BAA8B,CAAC,aAAa,CAAC,EAAE;YAC/C,SAAS,GAAG,4BAAgB,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,MAAM,UAAU,GAAG,2BAAiB,CAAC,2BAA2B,CAC5D,IAAI,+BAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAClD,SAAS,CACZ,CAAC;QAEF,OAAO,IAAI,uBAAa,CACpB,UAAU,CAAC,SAAS,EACpB,aAAa,CAAC,KAAK,EACnB,GAAG,aAAa,CAAC,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,EACvD,UAAU,CACb,CAAC;IACN,CAAC;CACJ;AAvCD,6CAuCC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ENMergeRelativeDateRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/en/refiners/ENMergeRelativeDateRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,SAAS,8BAA8B,CAAC,MAAqB;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAOD,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,cAAc;IAClE,cAAc;QACV,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QAE3F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QAID,IAAI,CAAC,8BAA8B,CAAC,aAAa,CAAC,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAAE;YAChG,OAAO,KAAK,CAAC;SAChB;QAGD,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QACrF,IAAI,SAAS,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,8BAA8B,CAAC,aAAa,CAAC,EAAE;YAC/C,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;SAC3C;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,2BAA2B,CAC5D,IAAI,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAClD,SAAS,CACZ,CAAC;QAEF,OAAO,IAAI,aAAa,CACpB,UAAU,CAAC,SAAS,EACpB,aAAa,CAAC,KAAK,EACnB,GAAG,aAAa,CAAC,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,EACvD,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}
|