chrono-node 2.9.2 → 2.10.0

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.
Files changed (142) hide show
  1. package/dist/cjs/results.js +15 -9
  2. package/dist/cjs/results.js.map +1 -1
  3. package/dist/esm/results.js +14 -9
  4. package/dist/esm/results.js.map +1 -1
  5. package/package.json +5 -1
  6. package/src/results.ts +40 -9
  7. package/test/calculation_duration.test.ts +0 -165
  8. package/test/calculation_weekdays.test.ts +0 -133
  9. package/test/de/de_casual.test.ts +0 -336
  10. package/test/de/de_dash.test.ts +0 -32
  11. package/test/de/de_month_name_little_endian.test.ts +0 -273
  12. package/test/de/de_time_exp.test.ts +0 -223
  13. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  14. package/test/de/de_time_units_within.test.ts +0 -119
  15. package/test/de/de_weekday.test.ts +0 -158
  16. package/test/de/de_year.test.ts +0 -147
  17. package/test/debugging.test.ts +0 -17
  18. package/test/en/en.test.ts +0 -191
  19. package/test/en/en_casual.test.ts +0 -425
  20. package/test/en/en_inter_std.test.ts +0 -118
  21. package/test/en/en_merging_relative_dates.test.ts +0 -50
  22. package/test/en/en_month.test.ts +0 -339
  23. package/test/en/en_month_name_little_endian.test.ts +0 -448
  24. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  25. package/test/en/en_performance.test.ts +0 -26
  26. package/test/en/en_relative.test.ts +0 -393
  27. package/test/en/en_slash.test.ts +0 -284
  28. package/test/en/en_time_exp.test.ts +0 -535
  29. package/test/en/en_time_units_ago.test.ts +0 -357
  30. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  31. package/test/en/en_time_units_later.test.ts +0 -361
  32. package/test/en/en_time_units_within.test.ts +0 -417
  33. package/test/en/en_timezone_exp.test.ts +0 -410
  34. package/test/en/en_weekday.test.ts +0 -573
  35. package/test/en/en_year.test.ts +0 -138
  36. package/test/en/en_year_month_day.test.ts +0 -101
  37. package/test/en/negative_cases.test.ts +0 -99
  38. package/test/es/es_casual.test.ts +0 -175
  39. package/test/es/es_month_name_little_endian.test.ts +0 -217
  40. package/test/es/es_slash.test.ts +0 -26
  41. package/test/es/es_time_exp.test.ts +0 -175
  42. package/test/es/es_time_units_within.test.ts +0 -119
  43. package/test/fi/fi_casual.test.ts +0 -99
  44. package/test/fi/fi_casual_time.test.ts +0 -56
  45. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  46. package/test/fi/fi_time_exp.test.ts +0 -39
  47. package/test/fi/fi_time_units_ago.test.ts +0 -93
  48. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  49. package/test/fi/fi_time_units_within.test.ts +0 -74
  50. package/test/fi/fi_weekday.test.ts +0 -90
  51. package/test/fr/fr_casual.test.ts +0 -314
  52. package/test/fr/fr_little_endian.test.ts +0 -320
  53. package/test/fr/fr_slash.test.ts +0 -49
  54. package/test/fr/fr_time_exp.test.ts +0 -588
  55. package/test/fr/fr_time_units_ago.test.ts +0 -103
  56. package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
  57. package/test/fr/fr_time_units_within.test.ts +0 -129
  58. package/test/fr/fr_weekday.test.ts +0 -130
  59. package/test/it/it_casual.test.ts +0 -81
  60. package/test/it/it_month_name_little_endian.test.ts +0 -28
  61. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  62. package/test/it/it_time_exp.test.ts +0 -84
  63. package/test/it/it_weekday.test.ts +0 -37
  64. package/test/it/it_year_month_day.test.ts +0 -41
  65. package/test/ja/ja_casual.test.ts +0 -73
  66. package/test/ja/ja_slash_date_format.test.ts +0 -60
  67. package/test/ja/ja_standard.test.ts +0 -235
  68. package/test/ja/ja_time_exp.test.ts +0 -305
  69. package/test/ja/ja_weekday.test.ts +0 -183
  70. package/test/nl/nl_casual.test.ts +0 -408
  71. package/test/nl/nl_month.test.ts +0 -205
  72. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  73. package/test/nl/nl_relative.test.ts +0 -242
  74. package/test/nl/nl_slash.test.ts +0 -206
  75. package/test/nl/nl_time_exp.test.ts +0 -79
  76. package/test/nl/nl_time_units_ago.test.ts +0 -243
  77. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  78. package/test/nl/nl_time_units_later.test.ts +0 -250
  79. package/test/nl/nl_time_units_within.test.ts +0 -225
  80. package/test/nl/nl_weekday.test.ts +0 -216
  81. package/test/pt/pt_casual.test.ts +0 -175
  82. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  83. package/test/pt/pt_slash.test.ts +0 -26
  84. package/test/pt/pt_time_exp.test.ts +0 -175
  85. package/test/result.test.ts +0 -283
  86. package/test/ru/ru_casual.test.ts +0 -159
  87. package/test/ru/ru_month.test.ts +0 -70
  88. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  89. package/test/ru/ru_relative.test.ts +0 -107
  90. package/test/ru/ru_time_exp.test.ts +0 -111
  91. package/test/ru/ru_time_units_ago.test.ts +0 -48
  92. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  93. package/test/ru/ru_time_units_within.test.ts +0 -16
  94. package/test/ru/ru_weekday.test.ts +0 -52
  95. package/test/sv/sv_casual.test.ts +0 -87
  96. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  97. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  98. package/test/sv/sv_weekday.test.ts +0 -68
  99. package/test/system.test.ts +0 -247
  100. package/test/system_timezone.test.ts +0 -284
  101. package/test/test_util.ts +0 -135
  102. package/test/uk/uk_casual.test.ts +0 -153
  103. package/test/uk/uk_month.test.ts +0 -70
  104. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  105. package/test/uk/uk_relative.test.ts +0 -107
  106. package/test/uk/uk_time_exp.test.ts +0 -111
  107. package/test/uk/uk_time_units_ago.test.ts +0 -48
  108. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  109. package/test/uk/uk_time_units_within.test.ts +0 -23
  110. package/test/uk/uk_weekday.test.ts +0 -52
  111. package/test/vi/vi_casual.test.ts +0 -84
  112. package/test/vi/vi_casual_time.test.ts +0 -77
  113. package/test/vi/vi_date_range.test.ts +0 -61
  114. package/test/vi/vi_forward_date.test.ts +0 -45
  115. package/test/vi/vi_month_year.test.ts +0 -40
  116. package/test/vi/vi_negative_cases.test.ts +0 -60
  117. package/test/vi/vi_slash.test.ts +0 -36
  118. package/test/vi/vi_standard.test.ts +0 -86
  119. package/test/vi/vi_strict.test.ts +0 -67
  120. package/test/vi/vi_time_exp.test.ts +0 -99
  121. package/test/vi/vi_time_units_ago.test.ts +0 -56
  122. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  123. package/test/vi/vi_time_units_later.test.ts +0 -43
  124. package/test/vi/vi_time_units_within.test.ts +0 -24
  125. package/test/vi/vi_weekday.test.ts +0 -77
  126. package/test/vi/vi_year.test.ts +0 -42
  127. package/test/zh/hans/zh_hans_ago.test.ts +0 -58
  128. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  129. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  130. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  131. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  132. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  133. package/test/zh/hant/zh_hant_ago.test.ts +0 -58
  134. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  135. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  136. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  137. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  138. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  139. package/test/zh/zh.test.ts +0 -36
  140. package/tsconfig.build.esm.json +0 -8
  141. package/tsconfig.build.json +0 -10
  142. package/tsconfig.json +0 -29
@@ -1,136 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "五日內我地有d野做", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("五日內");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2012);
11
- expect(result.start.get("month")).toBe(8);
12
- expect(result.start.get("day")).toBe(15);
13
-
14
- const resultDate = result.start.date();
15
- const expectDate = new Date(2012, 8 - 1, 15, 12);
16
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
17
- });
18
-
19
- testSingleCase(chrono.zh.hant, "5日之內我地有d野做", new Date(2012, 7, 10), (result) => {
20
- expect(result.index).toBe(0);
21
- expect(result.text).toBe("5日之內");
22
-
23
- expect(result.start).not.toBeNull();
24
- expect(result.start.get("year")).toBe(2012);
25
- expect(result.start.get("month")).toBe(8);
26
- expect(result.start.get("day")).toBe(15);
27
-
28
- const resultDate = result.start.date();
29
- const expectDate = new Date(2012, 8 - 1, 15, 12);
30
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
31
- });
32
-
33
- testSingleCase(chrono.zh.hant, "十日內我地有d野做", new Date(2012, 7, 10), (result) => {
34
- expect(result.index).toBe(0);
35
- expect(result.text).toBe("十日內");
36
-
37
- expect(result.start).not.toBeNull();
38
- expect(result.start.get("year")).toBe(2012);
39
- expect(result.start.get("month")).toBe(8);
40
- expect(result.start.get("day")).toBe(20);
41
-
42
- const resultDate = result.start.date();
43
- const expectDate = new Date(2012, 8 - 1, 20, 12);
44
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
45
- });
46
-
47
- testSingleCase(chrono.zh.hant, "五分鐘後", new Date(2012, 7, 10, 12, 14), (result) => {
48
- expect(result.index).toBe(0);
49
- expect(result.text).toBe("五分鐘後");
50
-
51
- const resultDate = result.start.date();
52
- const expectDate = new Date(2012, 7, 10, 12, 19);
53
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
54
- });
55
-
56
- testSingleCase(chrono.zh.hant, "一個鐘之內", new Date(2012, 7, 10, 12, 14), (result) => {
57
- expect(result.index).toBe(0);
58
- expect(result.text).toBe("一個鐘之內");
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2012, 7, 10, 13, 14);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- });
64
-
65
- testSingleCase(chrono.zh.hant, "5分鐘之後我就收皮", new Date(2012, 7, 10, 12, 14), (result) => {
66
- expect(result.index).toBe(0);
67
- expect(result.text).toBe("5分鐘之後");
68
-
69
- const resultDate = result.start.date();
70
- const expectDate = new Date(2012, 7, 10, 12, 19);
71
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
72
- });
73
-
74
- testSingleCase(chrono.zh.hant, "係5秒之後你就會收皮", new Date(2012, 7, 10, 12, 14), (result) => {
75
- expect(result.index).toBe(1);
76
- expect(result.text).toBe("5秒之後");
77
-
78
- const resultDate = result.start.date();
79
- const expectDate = new Date(2012, 7, 10, 12, 14, 5);
80
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
81
- });
82
-
83
- testSingleCase(chrono.zh.hant, "半小時之內", new Date(2012, 7, 10, 12, 14), (result) => {
84
- expect(result.index).toBe(0);
85
- expect(result.text).toBe("半小時之內");
86
-
87
- const resultDate = result.start.date();
88
- const expectDate = new Date(2012, 7, 10, 12, 44);
89
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
90
- });
91
-
92
- testSingleCase(chrono.zh.hant, "兩個禮拜內答覆我", new Date(2012, 7, 10, 12, 14), (result) => {
93
- expect(result.index).toBe(0);
94
- expect(result.text).toBe("兩個禮拜內");
95
-
96
- const resultDate = result.start.date();
97
- const expectDate = new Date(2012, 7, 24, 12);
98
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
99
- });
100
-
101
- testSingleCase(chrono.zh.hant, "1個月之內答覆我", new Date(2012, 7, 10, 12, 14), (result) => {
102
- expect(result.index).toBe(0);
103
- expect(result.text).toBe("1個月之內");
104
-
105
- const resultDate = result.start.date();
106
- const expectDate = new Date(2012, 8, 10, 12);
107
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
108
- });
109
-
110
- testSingleCase(chrono.zh.hant, "幾個月之內答覆我", new Date(2012, 7, 10, 12, 14), (result) => {
111
- expect(result.index).toBe(0);
112
- expect(result.text).toBe("幾個月之內");
113
-
114
- const resultDate = result.start.date();
115
- const expectDate = new Date(2012, 10, 10, 12);
116
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
117
- });
118
-
119
- testSingleCase(chrono.zh.hant, "一年內答覆我", new Date(2012, 7, 10, 12, 14), (result) => {
120
- expect(result.index).toBe(0);
121
- expect(result.text).toBe("一年內");
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2013, 7, 10, 12);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hant, "1年之內答覆我", new Date(2012, 7, 10, 12, 14), (result) => {
129
- expect(result.index).toBe(0);
130
- expect(result.text).toBe("1年之內");
131
-
132
- const resultDate = result.start.date();
133
- const expectDate = new Date(2013, 7, 10, 12);
134
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
135
- });
136
- });
@@ -1,226 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "雞上午6點13分全部都係雞", new Date(2012, 7, 10), (result) => {
6
- expect(result.index).toBe(1);
7
- expect(result.text).toBe("上午6點13分");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("hour")).toBe(6);
11
- expect(result.start.get("minute")).toBe(13);
12
-
13
- const resultDate = result.start.date();
14
- const expectDate = new Date(2012, 7, 10, 6, 13);
15
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
16
- });
17
-
18
- testSingleCase(chrono.zh.hant, "雞後天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
19
- expect(result.index).toBe(1);
20
- expect(result.text).toBe("後天凌晨");
21
-
22
- const resultDate = result.start.date();
23
- const expectDate = new Date(2012, 7, 12, 0, 0);
24
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
25
- });
26
-
27
- testSingleCase(chrono.zh.hant, "雞大前天凌晨全部都係雞", new Date(2012, 7, 10, 0, 0), (result) => {
28
- expect(result.index).toBe(1);
29
- expect(result.text).toBe("大前天凌晨");
30
-
31
- const resultDate = result.start.date();
32
- const expectDate = new Date(2012, 7, 7, 0, 0);
33
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
34
- });
35
-
36
- testSingleCase(chrono.zh.hant, "我明天上午8點要打遊戲", new Date(2012, 7, 10, 12), (result) => {
37
- expect(result.index).toBe(1);
38
- expect(result.text).toBe("明天上午8點");
39
- expect(result.start).not.toBeNull();
40
- expect(result.start.get("year")).toBe(2012);
41
- expect(result.start.get("month")).toBe(8);
42
- expect(result.start.get("day")).toBe(11);
43
- expect(result.start.get("hour")).toBe(8);
44
-
45
- const resultDate = result.start.date();
46
- const expectDate = new Date(2012, 7, 11, 8);
47
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
48
- });
49
- });
50
-
51
- test("Test - Range Expression", function () {
52
- testSingleCase(chrono.zh.hant, "雞由今朝八點十分至下午11點32分全部都係雞", new Date(2012, 7, 10), (result) => {
53
- expect(result.index).toBe(1);
54
- expect(result.text).toBe("由今朝八點十分至下午11點32分");
55
-
56
- expect(result.start).not.toBeNull();
57
- expect(result.start.get("hour")).toBe(8);
58
- expect(result.start.get("minute")).toBe(10);
59
-
60
- expect(result.start.isCertain("day")).toBe(true);
61
- expect(result.start.isCertain("month")).toBe(true);
62
- expect(result.start.isCertain("year")).toBe(true);
63
- expect(result.start.isCertain("hour")).toBe(true);
64
- expect(result.start.isCertain("minute")).toBe(true);
65
- expect(result.start.isCertain("second")).toBe(false);
66
- expect(result.start.isCertain("millisecond")).toBe(false);
67
-
68
- var resultDate = result.start.date();
69
- var expectDate = new Date(2012, 7, 10, 8, 10);
70
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
71
-
72
- expect(result.end).not.toBeNull();
73
- expect(result.end.get("hour")).toBe(23);
74
- expect(result.end.get("minute")).toBe(32);
75
-
76
- expect(result.end.isCertain("day")).toBe(false);
77
- expect(result.end.isCertain("month")).toBe(false);
78
- expect(result.end.isCertain("year")).toBe(false);
79
- expect(result.end.isCertain("hour")).toBe(true);
80
- expect(result.end.isCertain("minute")).toBe(true);
81
- expect(result.end.isCertain("second")).toBe(false);
82
- expect(result.end.isCertain("millisecond")).toBe(false);
83
-
84
- var resultDate = result.end.date();
85
- var expectDate = new Date(2012, 7, 10, 23, 32);
86
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
87
- });
88
-
89
- testSingleCase(chrono.zh.hant, "6點30pm-11點pm", new Date(2012, 7, 10), (result) => {
90
- expect(result.index).toBe(0);
91
- expect(result.text).toBe("6點30pm-11點pm");
92
-
93
- expect(result.start).not.toBeNull();
94
- expect(result.start.get("hour")).toBe(18);
95
- expect(result.start.get("minute")).toBe(30);
96
- expect(result.start.get("meridiem")).toBe(1);
97
-
98
- var resultDate = result.start.date();
99
- var expectDate = new Date(2012, 7, 10, 18, 30);
100
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
101
-
102
- expect(result.end).not.toBeNull();
103
- expect(result.end.get("hour")).toBe(23);
104
- expect(result.end.get("minute")).toBe(0);
105
- expect(result.end.get("meridiem")).toBe(1);
106
-
107
- var resultDate = result.end.date();
108
- var expectDate = new Date(2012, 7, 10, 23, 0);
109
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
110
- });
111
- });
112
-
113
- test("Test - Date + Time Expression", function () {
114
- testSingleCase(
115
- chrono.zh.hant,
116
- "雞二零一八年十一月廿六日下午三時半五十九秒全部都係雞",
117
- new Date(2012, 7, 10),
118
- (result) => {
119
- expect(result.index).toBe(1);
120
- expect(result.text).toBe("二零一八年十一月廿六日下午三時半五十九秒");
121
-
122
- expect(result.start.get("year")).toBe(2018);
123
- expect(result.start.get("month")).toBe(11);
124
- expect(result.start.get("day")).toBe(26);
125
- expect(result.start.get("hour")).toBe(15);
126
- expect(result.start.get("minute")).toBe(30);
127
- expect(result.start.get("second")).toBe(59);
128
- expect(result.start.get("millisecond")).toBe(0);
129
- expect(result.start.isCertain("millisecond")).toBe(false);
130
-
131
- const resultDate = result.start.date();
132
- const expectDate = new Date(2018, 11 - 1, 26, 15, 30, 59);
133
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
134
- }
135
- );
136
- });
137
-
138
- test("Test - Time Expression's Meridiem imply", function () {
139
- testSingleCase(chrono.zh.hant, "1點pm到3點", new Date(2012, 7, 10), (result) => {
140
- expect(result.index).toBe(0);
141
- expect(result.text).toBe("1點pm到3點");
142
-
143
- expect(result.start.get("year")).toBe(2012);
144
- expect(result.start.get("month")).toBe(8);
145
- expect(result.start.get("day")).toBe(10);
146
- expect(result.start.get("hour")).toBe(13);
147
- expect(result.start.get("minute")).toBe(0);
148
- expect(result.start.get("second")).toBe(0);
149
- expect(result.start.get("millisecond")).toBe(0);
150
- expect(result.start.get("meridiem")).toBe(1);
151
- expect(result.start.isCertain("meridiem")).toBe(true);
152
-
153
- expect(result.end.get("year")).toBe(2012);
154
- expect(result.end.get("month")).toBe(8);
155
- expect(result.end.get("day")).toBe(11);
156
- expect(result.end.get("hour")).toBe(3);
157
- expect(result.end.get("minute")).toBe(0);
158
- expect(result.end.get("second")).toBe(0);
159
- expect(result.end.get("millisecond")).toBe(0);
160
- expect(result.end.isCertain("meridiem")).toBe(false);
161
- });
162
- });
163
-
164
- test("Test - Cantonese Combined Expressions", function () {
165
- testSingleCase(chrono.zh.hant, "大後日下晝5點", new Date(2012, 7, 10, 12), (result) => {
166
- expect(result.index).toBe(0);
167
- expect(result.text).toBe("大後日下晝5點");
168
-
169
- expect(result.start.get("year")).toBe(2012);
170
- expect(result.start.get("month")).toBe(8);
171
- expect(result.start.get("day")).toBe(13);
172
- expect(result.start.get("hour")).toBe(17);
173
- expect(result.start.get("minute")).toBe(0);
174
- });
175
-
176
- testSingleCase(chrono.zh.hant, "聽晚10點到聽晚11點", new Date(2012, 7, 10, 12), (result) => {
177
- expect(result.index).toBe(0);
178
- expect(result.text).toBe("聽晚10點到聽晚11點");
179
-
180
- expect(result.start.get("year")).toBe(2012);
181
- expect(result.start.get("month")).toBe(8);
182
- expect(result.start.get("day")).toBe(11);
183
- expect(result.start.get("hour")).toBe(22);
184
- expect(result.start.get("minute")).toBe(0);
185
-
186
- expect(result.end.get("year")).toBe(2012);
187
- expect(result.end.get("month")).toBe(8);
188
- expect(result.end.get("day")).toBe(11);
189
- expect(result.end.get("hour")).toBe(23);
190
- expect(result.end.get("minute")).toBe(0);
191
- });
192
- });
193
-
194
- test("Test - Random date + time expression", function () {
195
- testSingleCase(chrono.zh.hant, "2014年, 3月5日晏晝 6 點至 7 點", new Date(2012, 7, 10), (result) => {
196
- expect(result.text).toBe("2014年, 3月5日晏晝 6 點至 7 點");
197
- });
198
-
199
- testSingleCase(chrono.zh.hant, "下星期六凌晨1點30分廿九秒", new Date(2012, 7, 10), (result) => {
200
- expect(result.text).toBe("下星期六凌晨1點30分廿九秒");
201
- });
202
-
203
- testSingleCase(chrono.zh.hant, "尋日朝早六點正", new Date(2012, 7, 10), (result) => {
204
- expect(result.text).toBe("尋日朝早六點正");
205
- });
206
-
207
- testSingleCase(chrono.zh.hant, "六月四日3:00am", new Date(2012, 7, 10), (result) => {
208
- expect(result.text).toBe("六月四日3:00am");
209
- });
210
-
211
- testSingleCase(chrono.zh.hant, "上個禮拜五16時", new Date(2012, 7, 10), (result) => {
212
- expect(result.text).toBe("上個禮拜五16時");
213
- });
214
-
215
- testSingleCase(chrono.zh.hant, "3月17日 20點15", new Date(2012, 7, 10), (result) => {
216
- expect(result.text).toBe("3月17日 20點15");
217
- });
218
-
219
- testSingleCase(chrono.zh.hant, "10點", new Date(2012, 7, 10), (result) => {
220
- expect(result.text).toBe("10點");
221
- });
222
-
223
- testSingleCase(chrono.zh.hant, "中午12點", new Date(2012, 7, 10), (result) => {
224
- expect(result.start.get("hour")).toBe(12);
225
- });
226
- });
@@ -1,175 +0,0 @@
1
- import * as chrono from "../../../src";
2
- import { testSingleCase } from "../../test_util";
3
-
4
- test("Test - Single Expression", function () {
5
- testSingleCase(chrono.zh.hant, "星期四", new Date(2016, 9 - 1, 2), (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("星期四");
8
-
9
- expect(result.start).not.toBeNull();
10
- expect(result.start.get("year")).toBe(2016);
11
- expect(result.start.get("month")).toBe(9);
12
- expect(result.start.get("day")).toBe(1);
13
- expect(result.start.get("weekday")).toBe(4);
14
-
15
- expect(result.start.isCertain("day")).toBe(false);
16
- expect(result.start.isCertain("month")).toBe(false);
17
- expect(result.start.isCertain("year")).toBe(false);
18
- expect(result.start.isCertain("weekday")).toBe(true);
19
-
20
- const resultDate = result.start.date();
21
- const expectDate = new Date(2016, 9 - 1, 1, 12);
22
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
23
- });
24
-
25
- testSingleCase(chrono.zh.hant, "我週一要打遊戲", new Date(2012, 7, 10), (result) => {
26
- expect(result.index).toBe(1);
27
- expect(result.text).toBe("週一");
28
-
29
- expect(result.start).not.toBeNull();
30
- expect(result.start.get("year")).toBe(2012);
31
- expect(result.start.get("month")).toBe(8);
32
- expect(result.start.get("day")).toBe(13);
33
- expect(result.start.get("weekday")).toBe(1);
34
-
35
- const resultDate = result.start.date();
36
- const expectDate = new Date(2012, 7, 13, 12);
37
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
38
- });
39
-
40
- testSingleCase(
41
- chrono.zh.hant,
42
- "禮拜四 (forward dates only)",
43
- new Date(2016, 9 - 1, 2),
44
- { forwardDate: true },
45
- (result) => {
46
- expect(result.index).toBe(0);
47
- expect(result.text).toBe("禮拜四");
48
-
49
- expect(result.start).not.toBeNull();
50
- expect(result.start.get("year")).toBe(2016);
51
- expect(result.start.get("month")).toBe(9);
52
- expect(result.start.get("day")).toBe(8);
53
- expect(result.start.get("weekday")).toBe(4);
54
-
55
- expect(result.start.isCertain("day")).toBe(false);
56
- expect(result.start.isCertain("month")).toBe(false);
57
- expect(result.start.isCertain("year")).toBe(false);
58
- expect(result.start.isCertain("weekday")).toBe(true);
59
-
60
- const resultDate = result.start.date();
61
- const expectDate = new Date(2016, 9 - 1, 8, 12);
62
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
63
- }
64
- );
65
-
66
- testSingleCase(chrono.zh.hant, "禮拜日", new Date(2016, 9 - 1, 2), (result) => {
67
- expect(result.index).toBe(0);
68
- expect(result.text).toBe("禮拜日");
69
-
70
- expect(result.start).not.toBeNull();
71
- expect(result.start.get("year")).toBe(2016);
72
- expect(result.start.get("month")).toBe(9);
73
- expect(result.start.get("day")).toBe(4);
74
- expect(result.start.get("weekday")).toBe(0);
75
-
76
- const resultDate = result.start.date();
77
- const expectDate = new Date(2016, 9 - 1, 4, 12);
78
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
79
- });
80
-
81
- testSingleCase(chrono.zh.hant, "雞上個禮拜三全部都係雞", new Date(2016, 9 - 1, 2), (result) => {
82
- expect(result.index).toBe(1);
83
- expect(result.text).toBe("上個禮拜三");
84
-
85
- expect(result.start).not.toBeNull();
86
- expect(result.start.get("year")).toBe(2016);
87
- expect(result.start.get("month")).toBe(8);
88
- expect(result.start.get("day")).toBe(24);
89
- expect(result.start.get("weekday")).toBe(3);
90
-
91
- const resultDate = result.start.date();
92
- const expectDate = new Date(2016, 8 - 1, 24, 12);
93
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
94
- });
95
-
96
- testSingleCase(chrono.zh.hant, "雞下星期天全部都係雞", new Date(2016, 9 - 1, 2), (result) => {
97
- expect(result.index).toBe(1);
98
- expect(result.text).toBe("下星期天");
99
-
100
- expect(result.start).not.toBeNull();
101
- expect(result.start.get("year")).toBe(2016);
102
- expect(result.start.get("month")).toBe(9);
103
- expect(result.start.get("day")).toBe(4);
104
- expect(result.start.get("weekday")).toBe(0);
105
-
106
- const resultDate = result.start.date();
107
- const expectDate = new Date(2016, 9 - 1, 4, 12);
108
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
109
- });
110
- });
111
-
112
- test("Test - 'this' week", function () {
113
- testSingleCase(chrono.zh.hant, "我這個星期一要打遊戲", new Date(2012, 7, 10), (result) => {
114
- expect(result.index).toBe(1);
115
- expect(result.text).toBe("這個星期一");
116
-
117
- expect(result.start).not.toBeNull();
118
- expect(result.start.get("year")).toBe(2012);
119
- expect(result.start.get("month")).toBe(8);
120
- expect(result.start.get("day")).toBe(6);
121
- expect(result.start.get("weekday")).toBe(1);
122
-
123
- const resultDate = result.start.date();
124
- const expectDate = new Date(2012, 7, 6, 12);
125
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
126
- });
127
-
128
- testSingleCase(chrono.zh.hant, "星期一", new Date(2012, 7, 10), (result) => {
129
- expect(result.start.get("year")).toBe(2012);
130
- expect(result.start.get("month")).toBe(8);
131
- expect(result.start.get("day")).toBe(13);
132
- expect(result.start.get("weekday")).toBe(1);
133
-
134
- const resultDate = result.start.date();
135
- const expectDate = new Date(2012, 8 - 1, 13, 12);
136
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
137
- });
138
- });
139
-
140
- test("Test - forward dates only option", function () {
141
- testSingleCase(chrono.zh.hant, "星期六-星期一", new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
142
- expect(result.index).toBe(0);
143
- expect(result.text).toBe("星期六-星期一");
144
-
145
- expect(result.start).not.toBeNull();
146
- expect(result.start.get("year")).toBe(2016);
147
- expect(result.start.get("month")).toBe(9);
148
- expect(result.start.get("day")).toBe(3);
149
- expect(result.start.get("weekday")).toBe(6);
150
-
151
- expect(result.start.isCertain("day")).toBe(false);
152
- expect(result.start.isCertain("month")).toBe(false);
153
- expect(result.start.isCertain("year")).toBe(false);
154
- expect(result.start.isCertain("weekday")).toBe(true);
155
-
156
- var resultDate = result.start.date();
157
- var expectDate = new Date(2016, 9 - 1, 3, 12);
158
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
159
-
160
- expect(result.end).not.toBeNull();
161
- expect(result.end.get("year")).toBe(2016);
162
- expect(result.end.get("month")).toBe(9);
163
- expect(result.end.get("day")).toBe(5);
164
- expect(result.end.get("weekday")).toBe(1);
165
-
166
- expect(result.end.isCertain("day")).toBe(false);
167
- expect(result.end.isCertain("month")).toBe(false);
168
- expect(result.end.isCertain("year")).toBe(false);
169
- expect(result.end.isCertain("weekday")).toBe(true);
170
-
171
- var resultDate = result.end.date();
172
- var expectDate = new Date(2016, 9 - 1, 5, 12);
173
- expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
174
- });
175
- });
@@ -1,36 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - International compatible", () => {
5
- testSingleCase(chrono.zh, "1994-11-05T08:15:30-05:30", new Date(2012, 7, 8), (result) => {
6
- expect(result.start).not.toBeNull();
7
- expect(result.start.get("year")).toBe(1994);
8
- expect(result.start.get("month")).toBe(11);
9
- expect(result.start.get("day")).toBe(5);
10
- expect(result.start.get("hour")).toBe(8);
11
- expect(result.start.get("minute")).toBe(15);
12
- expect(result.start.get("second")).toBe(30);
13
- expect(result.start.get("timezoneOffset")).toBe(-330);
14
- expect(result.text).toBe("1994-11-05T08:15:30-05:30");
15
-
16
- expect(result.start).toBeDate(new Date(784043130000));
17
- });
18
- });
19
-
20
- test("Test - Default Zh setting combine both hans/hant", () => {
21
- testSingleCase(chrono.zh, "明天早上8点", new Date(2012, 8 - 1, 8, 12), (result) => {
22
- expect(result.text).toBe("明天早上8点");
23
- expect(result.start.get("year")).toBe(2012);
24
- expect(result.start.get("month")).toBe(8);
25
- expect(result.start.get("day")).toBe(9);
26
- expect(result.start.get("hour")).toBe(8);
27
- });
28
-
29
- testSingleCase(chrono.zh, "明天早上8點", new Date(2012, 8 - 1, 8, 12), (result) => {
30
- expect(result.text).toBe("明天早上8點");
31
- expect(result.start.get("year")).toBe(2012);
32
- expect(result.start.get("month")).toBe(8);
33
- expect(result.start.get("day")).toBe(9);
34
- expect(result.start.get("hour")).toBe(8);
35
- });
36
- });
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig.build.json",
3
- "compilerOptions": {
4
- "module": "ESNext",
5
- "target": "ESNext",
6
- "outDir": "dist/esm"
7
- }
8
- }
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "include": [
4
- "src"
5
- ],
6
- "compilerOptions": {
7
- "outDir": "dist/cjs",
8
- "module": "commonjs"
9
- }
10
- }
package/tsconfig.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "sourceMap": true,
4
- "inlineSources": false,
5
- "inlineSourceMap": false,
6
- "noEmit": false,
7
- "declaration": true,
8
- "stripInternal": true,
9
- "downlevelIteration": true,
10
- "esModuleInterop": true,
11
- "importHelpers": false,
12
- "moduleResolution": "node",
13
- "noFallthroughCasesInSwitch": true,
14
- "removeComments": true,
15
- "target": "es6"
16
- },
17
- "include": [
18
- "src",
19
- "test"
20
- ],
21
- "typedocOptions": {
22
- "entryPoints": ["src/index.ts"],
23
- "out": "docs",
24
- "name": "Chrono",
25
- "readme": "none",
26
- "includeVersion": true,
27
- "theme": "default"
28
- }
29
- }