chrono-node 2.9.1 → 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 (211) hide show
  1. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +7 -0
  2. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  3. package/dist/cjs/locales/en/configuration.js +2 -0
  4. package/dist/cjs/locales/en/configuration.js.map +1 -1
  5. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  6. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  7. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  8. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js +31 -0
  9. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  10. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js +7 -0
  11. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  12. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  13. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  14. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  15. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  16. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +5 -0
  17. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  18. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  19. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  20. package/dist/cjs/locales/zh/hans/index.js +2 -0
  21. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  22. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  23. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +80 -0
  24. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  25. package/dist/cjs/locales/zh/hant/index.js +2 -0
  26. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  27. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  28. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +80 -0
  29. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  30. package/dist/cjs/results.js +15 -9
  31. package/dist/cjs/results.js.map +1 -1
  32. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +7 -0
  33. package/dist/esm/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  34. package/dist/esm/locales/en/configuration.js +2 -0
  35. package/dist/esm/locales/en/configuration.js.map +1 -1
  36. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  37. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  38. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  39. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js +28 -0
  40. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  41. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js +7 -0
  42. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  43. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  44. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  45. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  46. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  47. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +5 -0
  48. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  49. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  50. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  51. package/dist/esm/locales/zh/hans/index.js +2 -0
  52. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  53. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  54. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +77 -0
  55. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  56. package/dist/esm/locales/zh/hant/index.js +2 -0
  57. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  58. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  59. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +77 -0
  60. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  61. package/dist/esm/results.js +14 -9
  62. package/dist/esm/results.js.map +1 -1
  63. package/package.json +5 -1
  64. package/src/locales/de/parsers/DECasualTimeParser.ts +7 -0
  65. package/src/locales/en/configuration.ts +2 -0
  66. package/src/locales/en/parsers/ENMonthNameLittleEndianParser.ts +1 -1
  67. package/src/locales/en/parsers/ENYearMonthNameParser.ts +38 -0
  68. package/src/locales/fi/parsers/FICasualTimeParser.ts +7 -0
  69. package/src/locales/fr/parsers/FRCasualTimeParser.ts +5 -0
  70. package/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts +2 -1
  71. package/src/locales/it/parsers/ITCasualTimeParser.ts +5 -0
  72. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +1 -1
  73. package/src/locales/zh/hans/index.ts +2 -0
  74. package/src/locales/zh/hans/parsers/ZHHansAgoFormatParser.ts +87 -0
  75. package/src/locales/zh/hant/index.ts +2 -0
  76. package/src/locales/zh/hant/parsers/ZHHantAgoFormatParser.ts +87 -0
  77. package/src/results.ts +40 -9
  78. package/test/calculation_duration.test.ts +0 -165
  79. package/test/calculation_weekdays.test.ts +0 -133
  80. package/test/de/de_casual.test.ts +0 -322
  81. package/test/de/de_dash.test.ts +0 -32
  82. package/test/de/de_month_name_little_endian.test.ts +0 -273
  83. package/test/de/de_time_exp.test.ts +0 -223
  84. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  85. package/test/de/de_time_units_within.test.ts +0 -119
  86. package/test/de/de_weekday.test.ts +0 -158
  87. package/test/de/de_year.test.ts +0 -147
  88. package/test/debugging.test.ts +0 -17
  89. package/test/en/en.test.ts +0 -191
  90. package/test/en/en_casual.test.ts +0 -425
  91. package/test/en/en_inter_std.test.ts +0 -118
  92. package/test/en/en_merging_relative_dates.test.ts +0 -50
  93. package/test/en/en_month.test.ts +0 -295
  94. package/test/en/en_month_name_little_endian.test.ts +0 -448
  95. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  96. package/test/en/en_performance.test.ts +0 -26
  97. package/test/en/en_relative.test.ts +0 -393
  98. package/test/en/en_slash.test.ts +0 -284
  99. package/test/en/en_time_exp.test.ts +0 -535
  100. package/test/en/en_time_units_ago.test.ts +0 -357
  101. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  102. package/test/en/en_time_units_later.test.ts +0 -361
  103. package/test/en/en_time_units_within.test.ts +0 -417
  104. package/test/en/en_timezone_exp.test.ts +0 -410
  105. package/test/en/en_weekday.test.ts +0 -573
  106. package/test/en/en_year.test.ts +0 -138
  107. package/test/en/en_year_month_day.test.ts +0 -101
  108. package/test/en/negative_cases.test.ts +0 -99
  109. package/test/es/es_casual.test.ts +0 -175
  110. package/test/es/es_month_name_little_endian.test.ts +0 -217
  111. package/test/es/es_slash.test.ts +0 -26
  112. package/test/es/es_time_exp.test.ts +0 -175
  113. package/test/es/es_time_units_within.test.ts +0 -119
  114. package/test/fi/fi_casual.test.ts +0 -85
  115. package/test/fi/fi_casual_time.test.ts +0 -56
  116. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  117. package/test/fi/fi_time_exp.test.ts +0 -39
  118. package/test/fi/fi_time_units_ago.test.ts +0 -93
  119. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  120. package/test/fi/fi_time_units_within.test.ts +0 -74
  121. package/test/fi/fi_weekday.test.ts +0 -90
  122. package/test/fr/fr_casual.test.ts +0 -300
  123. package/test/fr/fr_little_endian.test.ts +0 -320
  124. package/test/fr/fr_slash.test.ts +0 -49
  125. package/test/fr/fr_time_exp.test.ts +0 -588
  126. package/test/fr/fr_time_units_ago.test.ts +0 -103
  127. package/test/fr/fr_time_units_casual_relative.test.ts +0 -108
  128. package/test/fr/fr_time_units_within.test.ts +0 -129
  129. package/test/fr/fr_weekday.test.ts +0 -130
  130. package/test/it/it_casual.test.ts +0 -44
  131. package/test/it/it_month_name_little_endian.test.ts +0 -28
  132. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  133. package/test/it/it_time_exp.test.ts +0 -84
  134. package/test/it/it_weekday.test.ts +0 -37
  135. package/test/it/it_year_month_day.test.ts +0 -41
  136. package/test/ja/ja_casual.test.ts +0 -73
  137. package/test/ja/ja_slash_date_format.test.ts +0 -60
  138. package/test/ja/ja_standard.test.ts +0 -235
  139. package/test/ja/ja_time_exp.test.ts +0 -305
  140. package/test/ja/ja_weekday.test.ts +0 -183
  141. package/test/nl/nl_casual.test.ts +0 -408
  142. package/test/nl/nl_month.test.ts +0 -205
  143. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  144. package/test/nl/nl_relative.test.ts +0 -242
  145. package/test/nl/nl_slash.test.ts +0 -206
  146. package/test/nl/nl_time_exp.test.ts +0 -79
  147. package/test/nl/nl_time_units_ago.test.ts +0 -243
  148. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  149. package/test/nl/nl_time_units_later.test.ts +0 -250
  150. package/test/nl/nl_time_units_within.test.ts +0 -225
  151. package/test/nl/nl_weekday.test.ts +0 -216
  152. package/test/pt/pt_casual.test.ts +0 -175
  153. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  154. package/test/pt/pt_slash.test.ts +0 -26
  155. package/test/pt/pt_time_exp.test.ts +0 -175
  156. package/test/result.test.ts +0 -283
  157. package/test/ru/ru_casual.test.ts +0 -159
  158. package/test/ru/ru_month.test.ts +0 -70
  159. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  160. package/test/ru/ru_relative.test.ts +0 -107
  161. package/test/ru/ru_time_exp.test.ts +0 -111
  162. package/test/ru/ru_time_units_ago.test.ts +0 -48
  163. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  164. package/test/ru/ru_time_units_within.test.ts +0 -16
  165. package/test/ru/ru_weekday.test.ts +0 -52
  166. package/test/sv/sv_casual.test.ts +0 -87
  167. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  168. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  169. package/test/sv/sv_weekday.test.ts +0 -68
  170. package/test/system.test.ts +0 -247
  171. package/test/system_timezone.test.ts +0 -284
  172. package/test/test_util.ts +0 -135
  173. package/test/uk/uk_casual.test.ts +0 -153
  174. package/test/uk/uk_month.test.ts +0 -70
  175. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  176. package/test/uk/uk_relative.test.ts +0 -107
  177. package/test/uk/uk_time_exp.test.ts +0 -111
  178. package/test/uk/uk_time_units_ago.test.ts +0 -48
  179. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  180. package/test/uk/uk_time_units_within.test.ts +0 -16
  181. package/test/uk/uk_weekday.test.ts +0 -52
  182. package/test/vi/vi_casual.test.ts +0 -84
  183. package/test/vi/vi_casual_time.test.ts +0 -77
  184. package/test/vi/vi_date_range.test.ts +0 -61
  185. package/test/vi/vi_forward_date.test.ts +0 -45
  186. package/test/vi/vi_month_year.test.ts +0 -40
  187. package/test/vi/vi_negative_cases.test.ts +0 -60
  188. package/test/vi/vi_slash.test.ts +0 -36
  189. package/test/vi/vi_standard.test.ts +0 -86
  190. package/test/vi/vi_strict.test.ts +0 -67
  191. package/test/vi/vi_time_exp.test.ts +0 -99
  192. package/test/vi/vi_time_units_ago.test.ts +0 -56
  193. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  194. package/test/vi/vi_time_units_later.test.ts +0 -43
  195. package/test/vi/vi_time_units_within.test.ts +0 -24
  196. package/test/vi/vi_weekday.test.ts +0 -77
  197. package/test/vi/vi_year.test.ts +0 -42
  198. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  199. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  200. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  201. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  202. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  203. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  204. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  205. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  206. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  207. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  208. package/test/zh/zh.test.ts +0 -36
  209. package/tsconfig.build.esm.json +0 -8
  210. package/tsconfig.build.json +0 -10
  211. 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
- }