chrono-node 1.3.5 → 1.3.11

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 (169) hide show
  1. package/README.md +107 -67
  2. package/bower.json +1 -1
  3. package/chrono.js +1249 -1076
  4. package/chrono.map.json +1 -1
  5. package/chrono.min.js +101 -101
  6. package/package.json +11 -15
  7. package/src/chrono.js +2 -3
  8. package/src/options.js +3 -3
  9. package/src/parsers/{DE → de}/DECasualDateParser.js +0 -0
  10. package/src/parsers/{DE → de}/DEDeadlineFormatParser.js +0 -0
  11. package/src/parsers/{DE → de}/DEMonthNameLittleEndianParser.js +0 -0
  12. package/src/parsers/{DE → de}/DEMonthNameParser.js +0 -0
  13. package/src/parsers/{DE → de}/DESlashDateFormatParser.js +0 -0
  14. package/src/parsers/{DE → de}/DETimeAgoFormatParser.js +0 -0
  15. package/src/parsers/{DE → de}/DETimeExpressionParser.js +0 -0
  16. package/src/parsers/{DE → de}/DEWeekdayParser.js +4 -4
  17. package/src/parsers/{EN → en}/ENCasualDateParser.js +0 -0
  18. package/src/parsers/en/ENCasualTimeParser.js +60 -0
  19. package/src/parsers/{EN → en}/ENDeadlineFormatParser.js +6 -6
  20. package/src/parsers/{EN → en}/ENISOFormatParser.js +0 -0
  21. package/src/parsers/{EN → en}/ENMonthNameLittleEndianParser.js +21 -23
  22. package/src/parsers/{EN → en}/ENMonthNameMiddleEndianParser.js +2 -2
  23. package/src/parsers/{EN → en}/ENMonthNameParser.js +1 -1
  24. package/src/parsers/{EN → en}/ENRelativeDateFormatParser.js +40 -2
  25. package/src/parsers/{EN → en}/ENSlashDateFormatParser.js +5 -1
  26. package/src/parsers/{EN → en}/ENSlashDateFormatStartWithYearParser.js +8 -2
  27. package/src/parsers/{EN → en}/ENSlashMonthFormatParser.js +0 -0
  28. package/src/parsers/en/ENTimeAgoFormatParser.js +69 -0
  29. package/src/parsers/{EN → en}/ENTimeExpressionParser.js +24 -11
  30. package/src/parsers/en/ENTimeLaterFormatParser.js +77 -0
  31. package/src/parsers/{EN → en}/ENWeekdayParser.js +0 -0
  32. package/src/parsers/{ES → es}/ESCasualDateParser.js +0 -0
  33. package/src/parsers/{ES → es}/ESDeadlineFormatParser.js +0 -0
  34. package/src/parsers/{ES → es}/ESMonthNameLittleEndianParser.js +2 -2
  35. package/src/parsers/{ES → es}/ESSlashDateFormatParser.js +0 -0
  36. package/src/parsers/{ES → es}/ESTimeAgoFormatParser.js +0 -0
  37. package/src/parsers/{ES → es}/ESTimeExpressionParser.js +0 -0
  38. package/src/parsers/{ES → es}/ESWeekdayParser.js +1 -1
  39. package/src/parsers/{FR → fr}/FRCasualDateParser.js +0 -0
  40. package/src/parsers/{FR → fr}/FRDeadlineFormatParser.js +0 -0
  41. package/src/parsers/{FR → fr}/FRMonthNameLittleEndianParser.js +0 -0
  42. package/src/parsers/{FR → fr}/FRRelativeDateFormatParser.js +0 -0
  43. package/src/parsers/{FR → fr}/FRSlashDateFormatParser.js +41 -11
  44. package/src/parsers/{FR → fr}/FRTimeAgoFormatParser.js +0 -0
  45. package/src/parsers/{FR → fr}/FRTimeExpressionParser.js +0 -0
  46. package/src/parsers/{FR → fr}/FRWeekdayParser.js +1 -1
  47. package/src/parsers/{JP → ja}/JPCasualDateParser.js +0 -0
  48. package/src/parsers/{JP → ja}/JPStandardParser.js +0 -0
  49. package/src/parsers/parser.js +50 -50
  50. package/src/parsers/{ZH-Hant → zh-Hant}/ZHHantCasualDateParser.js +18 -2
  51. package/src/parsers/{ZH-Hant → zh-Hant}/ZHHantDateParser.js +0 -0
  52. package/src/parsers/{ZH-Hant → zh-Hant}/ZHHantDeadlineFormatParser.js +0 -0
  53. package/src/parsers/{ZH-Hant → zh-Hant}/ZHHantTimeExpressionParser.js +36 -4
  54. package/src/parsers/{ZH-Hant → zh-Hant}/ZHHantWeekdayParser.js +1 -1
  55. package/src/refiners/ExtractTimezoneAbbrRefiner.js +19 -10
  56. package/src/refiners/ForwardDateRefiner.js +1 -1
  57. package/src/refiners/{DE → de}/DEMergeDateRangeRefiner.js +1 -1
  58. package/src/refiners/{DE → de}/DEMergeDateTimeRefiner.js +3 -3
  59. package/src/refiners/{EN → en}/ENMergeDateRangeRefiner.js +0 -0
  60. package/src/refiners/{EN → en}/ENMergeDateTimeRefiner.js +15 -2
  61. package/src/refiners/{EN → en}/ENMergeWeekdayRefiner.js +0 -0
  62. package/src/refiners/{EN → en}/ENPrioritizeSpecificDateRefiner.js +0 -0
  63. package/src/refiners/{FR → fr}/FRMergeDateRangeRefiner.js +0 -0
  64. package/src/refiners/{FR → fr}/FRMergeDateTimeRefiner.js +1 -1
  65. package/src/refiners/{JP → ja}/JPMergeDateRangeRefiner.js +1 -1
  66. package/src/refiners/refiner.js +12 -12
  67. package/src/result.js +3 -1
  68. package/src/timezone.js +2 -0
  69. package/src/utils/EN.js +68 -2
  70. package/test/de/de.test.js +51 -0
  71. package/test/de/de_casual.test.js +432 -0
  72. package/test/de/de_dash.test.js +6 -0
  73. package/test/de/de_deadline.test.js +244 -0
  74. package/test/de/de_little_endian.test.js +459 -0
  75. package/test/de/de_time_ago.test.js +313 -0
  76. package/test/de/de_time_exp.test.js +166 -0
  77. package/test/de/de_weekday.test.js +235 -0
  78. package/test/en/en.test.js +250 -0
  79. package/test/en/en_casual.test.js +461 -0
  80. package/test/en/en_dash.test.js +31 -0
  81. package/test/en/en_deadline.test.js +366 -0
  82. package/test/{test_example.js → en/en_example.test.js} +7 -18
  83. package/test/en/en_inter_std.test.js +269 -0
  84. package/test/en/en_little_endian.test.js +566 -0
  85. package/test/en/en_middle_endian.test.js +552 -0
  86. package/test/en/en_month.test.js +113 -0
  87. package/test/en/en_option_forward.test.js +156 -0
  88. package/test/en/en_relative.test.js +228 -0
  89. package/test/en/en_slash.test.js +450 -0
  90. package/test/en/en_time_ago.test.js +374 -0
  91. package/test/en/en_time_exp.test.js +722 -0
  92. package/test/en/en_time_from_now.test.js +371 -0
  93. package/test/en/en_time_later.test.js +95 -0
  94. package/test/en/en_weekday.test.js +301 -0
  95. package/test/es/es_casual.test.js +258 -0
  96. package/test/es/es_dash.test.js +13 -0
  97. package/test/es/es_deadline.test.js +85 -0
  98. package/test/es/es_little_endian.test.js +350 -0
  99. package/test/es/es_slash.test.js +24 -0
  100. package/test/es/es_time_ago.test.js +137 -0
  101. package/test/es/es_time_exp.test.js +240 -0
  102. package/test/fr/fr_casual.test.js +454 -0
  103. package/test/fr/fr_dash.test.js +26 -0
  104. package/test/fr/fr_deadline.test.js +244 -0
  105. package/test/fr/fr_little_endian.test.js +576 -0
  106. package/test/fr/fr_relative.test.js +198 -0
  107. package/test/fr/fr_slash.test.js +62 -0
  108. package/test/fr/fr_time_ago.test.js +194 -0
  109. package/test/fr/fr_time_exp.test.js +960 -0
  110. package/test/fr/fr_weekday.test.js +200 -0
  111. package/test/ja/ja_casual.test.js +51 -0
  112. package/test/ja/ja_standard.test.js +170 -0
  113. package/test/system.test.js +207 -0
  114. package/test/zh/zh_hant_casual.test.js +340 -0
  115. package/test/zh/zh_hant_date.test.js +118 -0
  116. package/test/zh/zh_hant_deadline.test.js +213 -0
  117. package/test/zh/zh_hant_time_exp.test.js +226 -0
  118. package/test/zh/zh_hant_weekday.test.js +160 -0
  119. package/.npmignore +0 -11
  120. package/src/parsers/EN/ENCasualTimeParser.js +0 -53
  121. package/src/parsers/EN/ENTimeAgoFormatParser.js +0 -130
  122. package/src/parsers/EN/ENTimeFromNowFormatParser.js +0 -119
  123. package/test/test_de.js +0 -62
  124. package/test/test_de_casual.js +0 -443
  125. package/test/test_de_dash.js +0 -17
  126. package/test/test_de_deadline.js +0 -255
  127. package/test/test_de_little_endian.js +0 -470
  128. package/test/test_de_time_ago.js +0 -324
  129. package/test/test_de_time_exp.js +0 -177
  130. package/test/test_de_weekday.js +0 -246
  131. package/test/test_en.js +0 -249
  132. package/test/test_en_casual.js +0 -448
  133. package/test/test_en_dash.js +0 -42
  134. package/test/test_en_deadline.js +0 -311
  135. package/test/test_en_inter_std.js +0 -272
  136. package/test/test_en_little_endian.js +0 -529
  137. package/test/test_en_middle_endian.js +0 -563
  138. package/test/test_en_month.js +0 -124
  139. package/test/test_en_option_forward.js +0 -167
  140. package/test/test_en_relative.js +0 -206
  141. package/test/test_en_slash.js +0 -370
  142. package/test/test_en_time_ago.js +0 -385
  143. package/test/test_en_time_exp.js +0 -663
  144. package/test/test_en_time_from_now.js +0 -345
  145. package/test/test_en_weekday.js +0 -312
  146. package/test/test_es_casual.js +0 -269
  147. package/test/test_es_dash.js +0 -24
  148. package/test/test_es_deadline.js +0 -96
  149. package/test/test_es_little_endian.js +0 -361
  150. package/test/test_es_slash.js +0 -35
  151. package/test/test_es_time_ago.js +0 -148
  152. package/test/test_es_time_exp.js +0 -251
  153. package/test/test_fr_casual.js +0 -465
  154. package/test/test_fr_dash.js +0 -37
  155. package/test/test_fr_deadline.js +0 -255
  156. package/test/test_fr_little_endian.js +0 -568
  157. package/test/test_fr_relative.js +0 -209
  158. package/test/test_fr_slash.js +0 -54
  159. package/test/test_fr_time_ago.js +0 -205
  160. package/test/test_fr_time_exp.js +0 -971
  161. package/test/test_fr_weekday.js +0 -211
  162. package/test/test_jp_casual.js +0 -62
  163. package/test/test_jp_standard.js +0 -181
  164. package/test/test_system.js +0 -178
  165. package/test/test_zh_hant_casual.js +0 -329
  166. package/test/test_zh_hant_date.js +0 -129
  167. package/test/test_zh_hant_deadline.js +0 -224
  168. package/test/test_zh_hant_time_exp.js +0 -210
  169. package/test/test_zh_hant_weekday.js +0 -171
@@ -16,7 +16,7 @@ var PATTERN = new RegExp('(\\W|^)' +
16
16
  '(?:(Domingo|Lunes|Martes|Miércoles|Miercoles|Jueves|Viernes|Sábado|Sabado|Dom|Lun|Mar|Mie|Jue|Vie|Sab)\\s*,?\\s*)?' +
17
17
  '([0-9]{1,2})(?:º|ª|°)?' +
18
18
  '(?:\\s*(?:desde|de|\\-|\\–|al?|hasta|\\s)\\s*([0-9]{1,2})(?:º|ª|°)?)?\\s*(?:de)?\\s*' +
19
- '(Ene(?:ro|\\.)?|Feb(?:rero|\\.)?|Mar(?:zo|\\.)?|Abr(?:il|\\.)?|May(?:o|\\.)?|Jun(?:io|\\.)?|Jul(?:io|\\.)?|Ago(?:sto|\\.)?|Sep(?:tiembre|\\.)?|Oct(?:ubre|\\.)?|Nov(?:iembre|\\.)?|Dic(?:iembre|\\.)?)' +
19
+ '(Ene(?:ro|\\.)?|Feb(?:rero|\\.)?|Mar(?:zo|\\.)?|Abr(?:il|\\.)?|May(?:o|\\.)?|Jun(?:io|\\.)?|Jul(?:io|\\.)?|Ago(?:sto|\\.)?|Sep(?:tiembre|\\.)?|Set(?:iembre|\\.)?|Oct(?:ubre|\\.)?|Nov(?:iembre|\\.)?|Dic(?:iembre|\\.)?)' +
20
20
  '(?:\\s*(?:del?)?(\\s*[0-9]{1,4}(?![^\\s]\\d))(\\s*[ad]\\.?\\s*c\\.?|a\\.?\\s*d\\.?)?)?' +
21
21
  '(?=\\W|$)', 'i'
22
22
  );
@@ -105,4 +105,4 @@ exports.Parser = function ESMonthNameLittleEndianParser(){
105
105
  result.tags['ESMonthNameLittleEndianParser'] = true;
106
106
  return result;
107
107
  };
108
- }
108
+ }
File without changes
File without changes
@@ -5,7 +5,7 @@
5
5
  var moment = require('moment');
6
6
  var Parser = require('../parser').Parser;
7
7
  var ParsedResult = require('../../result').ParsedResult;
8
- var updateParsedComponent = require('../EN/ENWeekdayParser').updateParsedComponent;
8
+ var updateParsedComponent = require('../en/ENWeekdayParser').updateParsedComponent;
9
9
 
10
10
  var DAYS_OFFSET = { 'domingo': 0, 'dom': 0, 'lunes': 1, 'lun': 1, 'martes': 2, 'mar':2, 'miercoles': 3, 'miércoles': 3, 'mie': 3,
11
11
  'jueves': 4, 'jue': 4, 'viernes': 5, 'vier': 5, 'sabado': 6, 'sábado': 6, 'sab': 6,}
File without changes
File without changes
@@ -32,6 +32,7 @@ var WEEKDAY_GROUP = 2;
32
32
  var DAY_GROUP = 3;
33
33
  var MONTH_GROUP = 4;
34
34
  var YEAR_GROUP = 5;
35
+ var YEAR_BE_GROUP = 6;
35
36
 
36
37
  exports.Parser = function FRSlashDateFormatParser(argument) {
37
38
  Parser.apply(this, arguments);
@@ -65,13 +66,27 @@ exports.Parser = function FRSlashDateFormatParser(argument) {
65
66
  if(!match[YEAR_GROUP] && match[0].indexOf('/') < 0) return;
66
67
 
67
68
  var date = null;
68
- var year = match[YEAR_GROUP] || moment(ref).year() + '';
69
69
  var month = match[MONTH_GROUP];
70
70
  var day = match[DAY_GROUP];
71
71
 
72
72
  day = parseInt(day);
73
73
  month = parseInt(month);
74
- year = parseInt(year);
74
+
75
+ var year = null;
76
+ if (match[YEAR_GROUP]) {
77
+ year = match[YEAR_GROUP];
78
+ year = parseInt(year);
79
+
80
+ if(match[YEAR_BE_GROUP]){
81
+ if (/a/i.test(match[YEAR_BE_GROUP])) {
82
+ // Ante Christe natum
83
+ year = -year;
84
+ }
85
+ } else if (year < 100){
86
+
87
+ year = year + 2000;
88
+ }
89
+ }
75
90
 
76
91
  if(month < 1 || month > 12) {
77
92
  if(month > 12) {
@@ -88,19 +103,34 @@ exports.Parser = function FRSlashDateFormatParser(argument) {
88
103
  }
89
104
  }
90
105
  }
106
+
91
107
  if(day < 1 || day > 31) return null;
92
108
 
93
- if(year < 100){
94
- if(year > 50){
95
- year = year + 1900;
96
- }else{
97
- year = year + 2000;
109
+ if(year){
110
+ result.start.assign('day', day);
111
+ result.start.assign('month', month);
112
+ result.start.assign('year', year);
113
+ } else {
114
+
115
+ // Find the most appropriated year
116
+ var refMoment = moment(ref);
117
+ refMoment.month(month - 1);
118
+ refMoment.date(day);
119
+ refMoment.year(moment(ref).year());
120
+
121
+ var nextYear = refMoment.clone().add(1, 'y');
122
+ var lastYear = refMoment.clone().add(-1, 'y');
123
+ if( Math.abs(nextYear.diff(moment(ref))) < Math.abs(refMoment.diff(moment(ref))) ){
124
+ refMoment = nextYear;
125
+ }
126
+ else if( Math.abs(lastYear.diff(moment(ref))) < Math.abs(refMoment.diff(moment(ref))) ){
127
+ refMoment = lastYear;
98
128
  }
99
- }
100
129
 
101
- result.start.assign('day', day);
102
- result.start.assign('month', month);
103
- result.start.assign('year', year);
130
+ result.start.assign('day', day);
131
+ result.start.assign('month', month);
132
+ result.start.imply('year', refMoment.year());
133
+ }
104
134
 
105
135
  // Day of week
106
136
  if(match[WEEKDAY_GROUP]) {
File without changes
File without changes
@@ -5,7 +5,7 @@
5
5
  var moment = require('moment');
6
6
  var Parser = require('../parser').Parser;
7
7
  var ParsedResult = require('../../result').ParsedResult;
8
- var updateParsedComponent = require('../EN/ENWeekdayParser').updateParsedComponent;
8
+ var updateParsedComponent = require('../en/ENWeekdayParser').updateParsedComponent;
9
9
 
10
10
  var DAYS_OFFSET = { 'dimanche': 0, 'dim': 0, 'lundi': 1, 'lun': 1,'mardi': 2, 'mar':2, 'mercredi': 3, 'mer': 3,
11
11
  'jeudi': 4, 'jeu':4, 'vendredi': 5, 'ven': 5,'samedi': 6, 'sam': 6};
File without changes
File without changes
@@ -53,53 +53,53 @@ function Parser(config) {
53
53
 
54
54
  exports.Parser = Parser;
55
55
 
56
- exports.ENISOFormatParser = require('./EN/ENISOFormatParser').Parser;
57
- exports.ENDeadlineFormatParser = require('./EN/ENDeadlineFormatParser').Parser;
58
- exports.ENRelativeDateFormatParser = require('./EN/ENRelativeDateFormatParser').Parser;
59
- exports.ENMonthNameLittleEndianParser = require('./EN/ENMonthNameLittleEndianParser').Parser;
60
- exports.ENMonthNameMiddleEndianParser = require('./EN/ENMonthNameMiddleEndianParser').Parser;
61
- exports.ENMonthNameParser = require('./EN/ENMonthNameParser').Parser;
62
- exports.ENSlashDateFormatParser = require('./EN/ENSlashDateFormatParser').Parser;
63
- exports.ENSlashDateFormatStartWithYearParser = require('./EN/ENSlashDateFormatStartWithYearParser').Parser;
64
- exports.ENSlashMonthFormatParser = require('./EN/ENSlashMonthFormatParser').Parser;
65
- exports.ENTimeAgoFormatParser = require('./EN/ENTimeAgoFormatParser').Parser;
66
- exports.ENTimeExpressionParser = require('./EN/ENTimeExpressionParser').Parser;
67
- exports.ENTimeFromNowFormatParser = require('./EN/ENTimeFromNowFormatParser').Parser;
68
- exports.ENWeekdayParser = require('./EN/ENWeekdayParser').Parser;
69
- exports.ENCasualDateParser = require('./EN/ENCasualDateParser').Parser;
70
- exports.ENCasualTimeParser = require('./EN/ENCasualTimeParser').Parser;
71
-
72
- exports.JPStandardParser = require('./JP/JPStandardParser').Parser;
73
- exports.JPCasualDateParser = require('./JP/JPCasualDateParser').Parser;
74
-
75
- exports.ESCasualDateParser = require('./ES/ESCasualDateParser').Parser;
76
- exports.ESDeadlineFormatParser = require('./ES/ESDeadlineFormatParser').Parser;
77
- exports.ESTimeAgoFormatParser = require('./ES/ESTimeAgoFormatParser').Parser;
78
- exports.ESTimeExpressionParser = require('./ES/ESTimeExpressionParser').Parser;
79
- exports.ESWeekdayParser = require('./ES/ESWeekdayParser').Parser;
80
- exports.ESMonthNameLittleEndianParser = require('./ES/ESMonthNameLittleEndianParser').Parser;
81
- exports.ESSlashDateFormatParser = require('./ES/ESSlashDateFormatParser').Parser;
82
-
83
- exports.FRCasualDateParser = require('./FR/FRCasualDateParser').Parser;
84
- exports.FRDeadlineFormatParser = require('./FR/FRDeadlineFormatParser').Parser;
85
- exports.FRMonthNameLittleEndianParser = require('./FR/FRMonthNameLittleEndianParser').Parser;
86
- exports.FRSlashDateFormatParser = require('./FR/FRSlashDateFormatParser').Parser;
87
- exports.FRTimeAgoFormatParser = require('./FR/FRTimeAgoFormatParser').Parser;
88
- exports.FRTimeExpressionParser = require('./FR/FRTimeExpressionParser').Parser;
89
- exports.FRWeekdayParser = require('./FR/FRWeekdayParser').Parser;
90
- exports.FRRelativeDateFormatParser = require('./FR/FRRelativeDateFormatParser').Parser;
91
-
92
- exports.ZHHantDateParser = require('./ZH-Hant/ZHHantDateParser').Parser;
93
- exports.ZHHantWeekdayParser = require('./ZH-Hant/ZHHantWeekdayParser').Parser;
94
- exports.ZHHantTimeExpressionParser = require('./ZH-Hant/ZHHantTimeExpressionParser').Parser;
95
- exports.ZHHantCasualDateParser = require('./ZH-Hant/ZHHantCasualDateParser').Parser;
96
- exports.ZHHantDeadlineFormatParser = require('./ZH-Hant/ZHHantDeadlineFormatParser').Parser;
97
-
98
- exports.DEDeadlineFormatParser = require('./DE/DEDeadlineFormatParser').Parser;
99
- exports.DEMonthNameLittleEndianParser = require('./DE/DEMonthNameLittleEndianParser').Parser;
100
- exports.DEMonthNameParser = require('./DE/DEMonthNameParser').Parser;
101
- exports.DESlashDateFormatParser = require('./DE/DESlashDateFormatParser').Parser;
102
- exports.DETimeAgoFormatParser = require('./DE/DETimeAgoFormatParser').Parser;
103
- exports.DETimeExpressionParser = require('./DE/DETimeExpressionParser').Parser;
104
- exports.DEWeekdayParser = require('./DE/DEWeekdayParser').Parser;
105
- exports.DECasualDateParser = require('./DE/DECasualDateParser').Parser;
56
+ exports.ENISOFormatParser = require('./en/ENISOFormatParser').Parser;
57
+ exports.ENDeadlineFormatParser = require('./en/ENDeadlineFormatParser').Parser;
58
+ exports.ENRelativeDateFormatParser = require('./en/ENRelativeDateFormatParser').Parser;
59
+ exports.ENMonthNameLittleEndianParser = require('./en/ENMonthNameLittleEndianParser').Parser;
60
+ exports.ENMonthNameMiddleEndianParser = require('./en/ENMonthNameMiddleEndianParser').Parser;
61
+ exports.ENMonthNameParser = require('./en/ENMonthNameParser').Parser;
62
+ exports.ENSlashDateFormatParser = require('./en/ENSlashDateFormatParser').Parser;
63
+ exports.ENSlashDateFormatStartWithYearParser = require('./en/ENSlashDateFormatStartWithYearParser').Parser;
64
+ exports.ENSlashMonthFormatParser = require('./en/ENSlashMonthFormatParser').Parser;
65
+ exports.ENTimeAgoFormatParser = require('./en/ENTimeAgoFormatParser').Parser;
66
+ exports.ENTimeExpressionParser = require('./en/ENTimeExpressionParser').Parser;
67
+ exports.ENTimeLaterFormatParser = require('./en/ENTimeLaterFormatParser').Parser;
68
+ exports.ENWeekdayParser = require('./en/ENWeekdayParser').Parser;
69
+ exports.ENCasualDateParser = require('./en/ENCasualDateParser').Parser;
70
+ exports.ENCasualTimeParser = require('./en/ENCasualTimeParser').Parser;
71
+
72
+ exports.JPStandardParser = require('./ja/JPStandardParser').Parser;
73
+ exports.JPCasualDateParser = require('./ja/JPCasualDateParser').Parser;
74
+
75
+ exports.ESCasualDateParser = require('./es/ESCasualDateParser').Parser;
76
+ exports.ESDeadlineFormatParser = require('./es/ESDeadlineFormatParser').Parser;
77
+ exports.ESTimeAgoFormatParser = require('./es/ESTimeAgoFormatParser').Parser;
78
+ exports.ESTimeExpressionParser = require('./es/ESTimeExpressionParser').Parser;
79
+ exports.ESWeekdayParser = require('./es/ESWeekdayParser').Parser;
80
+ exports.ESMonthNameLittleEndianParser = require('./es/ESMonthNameLittleEndianParser').Parser;
81
+ exports.ESSlashDateFormatParser = require('./es/ESSlashDateFormatParser').Parser;
82
+
83
+ exports.FRCasualDateParser = require('./fr/FRCasualDateParser').Parser;
84
+ exports.FRDeadlineFormatParser = require('./fr/FRDeadlineFormatParser').Parser;
85
+ exports.FRMonthNameLittleEndianParser = require('./fr/FRMonthNameLittleEndianParser').Parser;
86
+ exports.FRSlashDateFormatParser = require('./fr/FRSlashDateFormatParser').Parser;
87
+ exports.FRTimeAgoFormatParser = require('./fr/FRTimeAgoFormatParser').Parser;
88
+ exports.FRTimeExpressionParser = require('./fr/FRTimeExpressionParser').Parser;
89
+ exports.FRWeekdayParser = require('./fr/FRWeekdayParser').Parser;
90
+ exports.FRRelativeDateFormatParser = require('./fr/FRRelativeDateFormatParser').Parser;
91
+
92
+ exports.ZHHantDateParser = require('./zh-Hant/ZHHantDateParser').Parser;
93
+ exports.ZHHantWeekdayParser = require('./zh-Hant/ZHHantWeekdayParser').Parser;
94
+ exports.ZHHantTimeExpressionParser = require('./zh-Hant/ZHHantTimeExpressionParser').Parser;
95
+ exports.ZHHantCasualDateParser = require('./zh-Hant/ZHHantCasualDateParser').Parser;
96
+ exports.ZHHantDeadlineFormatParser = require('./zh-Hant/ZHHantDeadlineFormatParser').Parser;
97
+
98
+ exports.DEDeadlineFormatParser = require('./de/DEDeadlineFormatParser').Parser;
99
+ exports.DEMonthNameLittleEndianParser = require('./de/DEMonthNameLittleEndianParser').Parser;
100
+ exports.DEMonthNameParser = require('./de/DEMonthNameParser').Parser;
101
+ exports.DESlashDateFormatParser = require('./de/DESlashDateFormatParser').Parser;
102
+ exports.DETimeAgoFormatParser = require('./de/DETimeAgoFormatParser').Parser;
103
+ exports.DETimeExpressionParser = require('./de/DETimeExpressionParser').Parser;
104
+ exports.DEWeekdayParser = require('./de/DEWeekdayParser').Parser;
105
+ exports.DECasualDateParser = require('./de/DECasualDateParser').Parser;
@@ -9,9 +9,9 @@ var ParsedResult = require('../../result').ParsedResult;
9
9
 
10
10
  var PATTERN = new RegExp(
11
11
  '(而家|立(?:刻|即)|即刻)|' +
12
- '(今|明|聽|昨|尋|琴)(早|朝|晚)|' +
12
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|' +
13
13
  '(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|' +
14
- '(今|明|聽|昨|尋|琴)(?:日|天)' +
14
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)' +
15
15
  '(?:[\\s|,|,]*)' +
16
16
  '(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?', 'i');
17
17
 
@@ -58,6 +58,14 @@ exports.Parser = function ZHHantCasualDateParser() {
58
58
  }
59
59
  } else if (day1 == '昨' || day1 == '尋' || day1 == '琴') {
60
60
  startMoment.add(-1, 'day');
61
+ } else if (day1 == "前"){
62
+ startMoment.add(-2, 'day');
63
+ } else if (day1 == "大前"){
64
+ startMoment.add(-3, 'day');
65
+ } else if ( day1 == "後"){
66
+ startMoment.add(2, 'day');
67
+ } else if (day1 == "大後"){
68
+ startMoment.add(3, 'day');
61
69
  }
62
70
 
63
71
  if (time1 == '早' || time1 == '朝') {
@@ -95,6 +103,14 @@ exports.Parser = function ZHHantCasualDateParser() {
95
103
  }
96
104
  } else if (day3 == '昨' || day3 == '尋' || day3 == '琴') {
97
105
  startMoment.add(-1, 'day');
106
+ } else if (day3 == "前"){
107
+ startMoment.add(-2, 'day');
108
+ } else if (day3 == "大前"){
109
+ startMoment.add(-3, 'day');
110
+ } else if (day3 == "後"){
111
+ startMoment.add(2, 'day');
112
+ } else if (day3 == "大後"){
113
+ startMoment.add(3, 'day');
98
114
  }
99
115
 
100
116
 
@@ -12,9 +12,9 @@ var util = require('../../utils/ZH-Hant.js');
12
12
 
13
13
  var patternString1 = '(?:由|從|自)?' +
14
14
  '(?:' +
15
- '(今|明|聽|昨|尋|琴)(早|朝|晚)|' +
15
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|' +
16
16
  '(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|' +
17
- '(今|明|聽|昨|尋|琴)(?:日|天)' +
17
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)' +
18
18
  '(?:[\\s,,]*)' +
19
19
  '(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?' +
20
20
  ')?' +
@@ -28,9 +28,9 @@ var patternString1 = '(?:由|從|自)?' +
28
28
 
29
29
  var patternString2 = '(?:\\s*(?:到|至|\\-|\\–|\\~|\\〜)\\s*)' +
30
30
  '(?:' +
31
- '(今|明|聽|昨|尋|琴)(早|朝|晚)|' +
31
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|' +
32
32
  '(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|' +
33
- '(今|明|聽|昨|尋|琴)(?:日|天)' +
33
+ '(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)' +
34
34
  '(?:[\\s,,]*)' +
35
35
  '(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?' +
36
36
  ')?' +
@@ -86,6 +86,14 @@ exports.Parser = function ZHHantTimeExpressionParser() {
86
86
  }
87
87
  } else if (day1 == '昨' || day1 == '尋' || day1 == '琴') {
88
88
  startMoment.add(-1, 'day');
89
+ } else if (day1 == "前"){
90
+ startMoment.add(-2, 'day');
91
+ } else if (day1 == "大前"){
92
+ startMoment.add(-3, 'day');
93
+ } else if (day1 == "後"){
94
+ startMoment.add(2, 'day');
95
+ } else if (day1 == "大後"){
96
+ startMoment.add(3, 'day');
89
97
  }
90
98
  result.start.assign('day', startMoment.date());
91
99
  result.start.assign('month', startMoment.month() + 1);
@@ -96,6 +104,14 @@ exports.Parser = function ZHHantTimeExpressionParser() {
96
104
  startMoment.add(1, 'day');
97
105
  } else if (day3 == '昨' || day3 == '尋' || day3 == '琴') {
98
106
  startMoment.add(-1, 'day');
107
+ } else if (day3 == "前"){
108
+ startMoment.add(-2, 'day');
109
+ } else if (day3 == "大前"){
110
+ startMoment.add(-3, 'day');
111
+ } else if (day3 == "後"){
112
+ startMoment.add(2, 'day');
113
+ } else if (day3 == "大後"){
114
+ startMoment.add(3, 'day');
99
115
  }
100
116
  result.start.assign('day', startMoment.date());
101
117
  result.start.assign('month', startMoment.month() + 1);
@@ -237,6 +253,14 @@ exports.Parser = function ZHHantTimeExpressionParser() {
237
253
  }
238
254
  } else if (day1 == '昨' || day1 == '尋' || day1 == '琴') {
239
255
  endMoment.add(-1, 'day');
256
+ } else if (day1 == "前"){
257
+ endMoment.add(-2, 'day');
258
+ } else if (day1 == "大前"){
259
+ endMoment.add(-3, 'day');
260
+ } else if (day1 == "後"){
261
+ endMoment.add(2, 'day');
262
+ } else if (day1 == "大後"){
263
+ endMoment.add(3, 'day');
240
264
  }
241
265
  result.end.assign('day', endMoment.date());
242
266
  result.end.assign('month', endMoment.month() + 1);
@@ -247,6 +271,14 @@ exports.Parser = function ZHHantTimeExpressionParser() {
247
271
  endMoment.add(1, 'day');
248
272
  } else if (day3 == '昨' || day3 == '尋' || day3 == '琴') {
249
273
  endMoment.add(-1, 'day');
274
+ } else if (day3 == "前"){
275
+ endMoment.add(-2, 'day');
276
+ } else if (day3 == "大前"){
277
+ endMoment.add(-3, 'day');
278
+ } else if (day3 == "後"){
279
+ endMoment.add(2, 'day');
280
+ } else if (day3 == "大後"){
281
+ endMoment.add(3, 'day');
250
282
  }
251
283
  result.end.assign('day', endMoment.date());
252
284
  result.end.assign('month', endMoment.month() + 1);
@@ -6,7 +6,7 @@
6
6
  var moment = require('moment');
7
7
  var Parser = require('../parser').Parser;
8
8
  var ParsedResult = require('../../result').ParsedResult;
9
- var updateParsedComponent = require('../EN/ENWeekdayParser').updateParsedComponent;
9
+ var updateParsedComponent = require('../en/ENWeekdayParser').updateParsedComponent;
10
10
 
11
11
  var util = require('../../utils/ZH-Hant.js');
12
12
 
@@ -4,28 +4,40 @@
4
4
  var Refiner = require('./refiner').Refiner;
5
5
 
6
6
  // Map ABBR -> Offset in minute
7
- var TIMEZONE_ABBR_MAP = {};
8
7
  var TIMEZONE_NAME_PATTERN = new RegExp("^\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)", 'i');
8
+ var DEFAULT_TIMEZONE_ABBR_MAP = {
9
+ "ACDT":630,"ACST":570,"ADT":-180,"AEDT":660,"AEST":600,"AFT":270,"AKDT":-480,"AKST":-540,"ALMT":360,"AMST":-180,"AMT":-240,"ANAST":720,"ANAT":720,"AQTT":300,"ART":-180,"AST":-240,"AWDT":540,"AWST":480,"AZOST":0,"AZOT":-60,"AZST":300,"AZT":240,"BNT":480,"BOT":-240,"BRST":-120,"BRT":-180,"BST":60,"BTT":360,"CAST":480,"CAT":120,"CCT":390,"CDT":-300,"CEST":120,"CET":60,"CHADT":825,"CHAST":765,"CKT":-600,"CLST":-180,"CLT":-240,"COT":-300,"CST":-360,"CVT":-60,"CXT":420,"ChST":600,"DAVT":420,"EASST":-300,"EAST":-360,"EAT":180,"ECT":-300,"EDT":-240,"EEST":180,"EET":120,"EGST":0,"EGT":-60,"EST":-300,"ET":-300,"FJST":780,"FJT":720,"FKST":-180,"FKT":-240,"FNT":-120,"GALT":-360,"GAMT":-540,"GET":240,"GFT":-180,"GILT":720,"GMT":0,"GST":240,"GYT":-240,"HAA":-180,"HAC":-300,"HADT":-540,"HAE":-240,"HAP":-420,"HAR":-360,"HAST":-600,"HAT":-90,"HAY":-480,"HKT":480,"HLV":-210,"HNA":-240,"HNC":-360,"HNE":-300,"HNP":-480,"HNR":-420,"HNT":-150,"HNY":-540,"HOVT":420,"ICT":420,"IDT":180,"IOT":360,"IRDT":270,"IRKST":540,"IRKT":540,"IRST":210,"IST":330,"JST":540,"KGT":360,"KRAST":480,"KRAT":480,"KST":540,"KUYT":240,"LHDT":660,"LHST":630,"LINT":840,"MAGST":720,"MAGT":720,"MART":-510,"MAWT":300,"MDT":-360,"MESZ":120,"MEZ":60,"MHT":720,"MMT":390,"MSD":240,"MSK":240,"MST":-420,"MUT":240,"MVT":300,"MYT":480,"NCT":660,"NDT":-90,"NFT":690,"NOVST":420,"NOVT":360,"NPT":345,"NST":-150,"NUT":-660,"NZDT":780,"NZST":720,"OMSST":420,"OMST":420,"PDT":-420,"PET":-300,"PETST":720,"PETT":720,"PGT":600,"PHOT":780,"PHT":480,"PKT":300,"PMDT":-120,"PMST":-180,"PONT":660,"PST":-480,"PT":-480,"PWT":540,"PYST":-180,"PYT":-240,"RET":240,"SAMT":240,"SAST":120,"SBT":660,"SCT":240,"SGT":480,"SRT":-180,"SST":-660,"TAHT":-600,"TFT":300,"TJT":300,"TKT":780,"TLT":540,"TMT":300,"TVT":720,"ULAT":480,"UTC":0,"UYST":-120,"UYT":-180,"UZT":300,"VET":-210,"VLAST":660,"VLAT":660,"VUT":660,"WAST":120,"WAT":60,"WEST":60,"WESZ":60,"WET":0,"WEZ":0,"WFT":720,"WGST":-120,"WGT":-180,"WIB":420,"WIT":540,"WITA":480,"WST":780,"WT":0,"YAKST":600,"YAKT":600,"YAPT":600,"YEKST":360,"YEKT":360
10
+ };
9
11
 
10
- exports.Refiner = function ExtractTimezoneAbbrRefiner() {
11
- Refiner.call(this);
12
+ exports.Refiner = function ExtractTimezoneAbbrRefiner(config) {
13
+ Refiner.call(this, arguments);
12
14
 
13
15
  this.refine = function(text, results, opt) {
14
16
 
17
+ var timezones = new Object(DEFAULT_TIMEZONE_ABBR_MAP);
18
+ if (opt.timezones) {
19
+ for (var name in opt.timezones) {
20
+ timezones[name] = opt.timezones[name];
21
+ }
22
+ }
23
+
15
24
  results.forEach(function(result) {
16
25
 
17
- if (!result.tags['ENTimeExpressionParser'] && !result.tags['ZHTimeExpressionParser'] && !result.tags['FRTimeExpressionParser'] && !result.tags['DETimeExpressionParser']) {
26
+ if (!result.tags['ENTimeExpressionParser'] &&
27
+ !result.tags['ZHTimeExpressionParser'] &&
28
+ !result.tags['FRTimeExpressionParser'] &&
29
+ !result.tags['DETimeExpressionParser']) {
18
30
  return;
19
31
  }
20
32
 
21
33
  var match = TIMEZONE_NAME_PATTERN.exec(text.substring(result.index + result.text.length));
22
34
  if (match) {
23
35
  var timezoneAbbr = match[1].toUpperCase();
24
- if (TIMEZONE_ABBR_MAP[timezoneAbbr] === undefined) {
36
+ if (timezones[timezoneAbbr] === undefined) {
25
37
  return;
26
38
  }
27
39
 
28
- var timezoneOffset = TIMEZONE_ABBR_MAP[timezoneAbbr];
40
+ var timezoneOffset = timezones[timezoneAbbr];
29
41
  if (!result.start.isCertain('timezoneOffset')) {
30
42
  result.start.assign('timezoneOffset', timezoneOffset);
31
43
  }
@@ -41,7 +53,4 @@ exports.Refiner = function ExtractTimezoneAbbrRefiner() {
41
53
 
42
54
  return results;
43
55
  }
44
- }
45
-
46
- // TODO: Move this to some configuration
47
- TIMEZONE_ABBR_MAP = {"ACDT":630,"ACST":570,"ADT":-180,"AEDT":660,"AEST":600,"AFT":270,"AKDT":-480,"AKST":-540,"ALMT":360,"AMST":-180,"AMT":-240,"ANAST":720,"ANAT":720,"AQTT":300,"ART":-180,"AST":-240,"AWDT":540,"AWST":480,"AZOST":0,"AZOT":-60,"AZST":300,"AZT":240,"BNT":480,"BOT":-240,"BRST":-120,"BRT":-180,"BST":60,"BTT":360,"CAST":480,"CAT":120,"CCT":390,"CDT":-300,"CEST":120,"CET":60,"CHADT":825,"CHAST":765,"CKT":-600,"CLST":-180,"CLT":-240,"COT":-300,"CST":-360,"CVT":-60,"CXT":420,"ChST":600,"DAVT":420,"EASST":-300,"EAST":-360,"EAT":180,"ECT":-300,"EDT":-240,"EEST":180,"EET":120,"EGST":0,"EGT":-60,"EST":-300,"ET":-300,"FJST":780,"FJT":720,"FKST":-180,"FKT":-240,"FNT":-120,"GALT":-360,"GAMT":-540,"GET":240,"GFT":-180,"GILT":720,"GMT":0,"GST":240,"GYT":-240,"HAA":-180,"HAC":-300,"HADT":-540,"HAE":-240,"HAP":-420,"HAR":-360,"HAST":-600,"HAT":-90,"HAY":-480,"HKT":480,"HLV":-210,"HNA":-240,"HNC":-360,"HNE":-300,"HNP":-480,"HNR":-420,"HNT":-150,"HNY":-540,"HOVT":420,"ICT":420,"IDT":180,"IOT":360,"IRDT":270,"IRKST":540,"IRKT":540,"IRST":210,"IST":60,"JST":540,"KGT":360,"KRAST":480,"KRAT":480,"KST":540,"KUYT":240,"LHDT":660,"LHST":630,"LINT":840,"MAGST":720,"MAGT":720,"MART":-510,"MAWT":300,"MDT":-360,"MESZ":120,"MEZ":60,"MHT":720,"MMT":390,"MSD":240,"MSK":240,"MST":-420,"MUT":240,"MVT":300,"MYT":480,"NCT":660,"NDT":-90,"NFT":690,"NOVST":420,"NOVT":360,"NPT":345,"NST":-150,"NUT":-660,"NZDT":780,"NZST":720,"OMSST":420,"OMST":420,"PDT":-420,"PET":-300,"PETST":720,"PETT":720,"PGT":600,"PHOT":780,"PHT":480,"PKT":300,"PMDT":-120,"PMST":-180,"PONT":660,"PST":-480,"PT":-480,"PWT":540,"PYST":-180,"PYT":-240,"RET":240,"SAMT":240,"SAST":120,"SBT":660,"SCT":240,"SGT":480,"SRT":-180,"SST":-660,"TAHT":-600,"TFT":300,"TJT":300,"TKT":780,"TLT":540,"TMT":300,"TVT":720,"ULAT":480,"UTC":0,"UYST":-120,"UYT":-180,"UZT":300,"VET":-210,"VLAST":660,"VLAT":660,"VUT":660,"WAST":120,"WAT":60,"WEST":60,"WESZ":60,"WET":0,"WEZ":0,"WFT":720,"WGST":-120,"WGT":-180,"WIB":420,"WIT":540,"WITA":480,"WST":780,"WT":0,"YAKST":600,"YAKT":600,"YAPT":600,"YEKST":360,"YEKT":360}
56
+ };
@@ -11,7 +11,7 @@ exports.Refiner = function ForwardDateRefiner() {
11
11
 
12
12
  this.refine = function(text, results, opt) {
13
13
 
14
- if (!opt['forwardDate'] && !opt['forwardDatesOnly']) {
14
+ if (!opt['forwardDate']) {
15
15
  return results;
16
16
  }
17
17
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
 
3
3
  */
4
- var ENMergeDateRangeRefiner = require('../EN/ENMergeDateRangeRefiner').Refiner;
4
+ var ENMergeDateRangeRefiner = require('../en/ENMergeDateRangeRefiner').Refiner;
5
5
 
6
6
  exports.Refiner = function DEMergeDateRangeRefiner() {
7
7
  ENMergeDateRangeRefiner.call(this);
@@ -4,9 +4,9 @@
4
4
  var ParsedComponents = require('../../result').ParsedComponents;
5
5
  var Refiner = require('../refiner').Refiner;
6
6
 
7
- var mergeDateTimeComponent = require('../EN/ENMergeDateTimeRefiner').mergeDateTimeComponent;
8
- var isDateOnly = require('../EN/ENMergeDateTimeRefiner').isDateOnly;
9
- var isTimeOnly = require('../EN/ENMergeDateTimeRefiner').isTimeOnly;
7
+ var mergeDateTimeComponent = require('../en/ENMergeDateTimeRefiner').mergeDateTimeComponent;
8
+ var isDateOnly = require('../en/ENMergeDateTimeRefiner').isDateOnly;
9
+ var isTimeOnly = require('../en/ENMergeDateTimeRefiner').isTimeOnly;
10
10
 
11
11
  var PATTERN = new RegExp("^\\s*(T|um|am|,|-)?\\s*$");
12
12
 
@@ -25,14 +25,27 @@ var mergeDateTimeComponent = exports.mergeDateTimeComponent = function(dateCompo
25
25
  if (timeComponent.isCertain('hour')) {
26
26
  dateTimeComponent.assign('hour', timeComponent.get('hour'));
27
27
  dateTimeComponent.assign('minute', timeComponent.get('minute'));
28
- dateTimeComponent.assign('second', timeComponent.get('second'));
28
+
29
+ if (timeComponent.isCertain('second')) {
30
+ dateTimeComponent.assign('second', timeComponent.get('second'));
31
+
32
+ if (timeComponent.isCertain('millisecond')) {
33
+ dateTimeComponent.assign('millisecond', timeComponent.get('millisecond'));
34
+ } else {
35
+ dateTimeComponent.imply('millisecond', timeComponent.get('millisecond'));
36
+ }
37
+ } else {
38
+ dateTimeComponent.imply('second', timeComponent.get('second'));
39
+ dateTimeComponent.imply('millisecond', timeComponent.get('millisecond'));
40
+ }
41
+
29
42
  } else {
30
43
  dateTimeComponent.imply('hour', timeComponent.get('hour'));
31
44
  dateTimeComponent.imply('minute', timeComponent.get('minute'));
32
45
  dateTimeComponent.imply('second', timeComponent.get('second'));
46
+ dateTimeComponent.imply('millisecond', timeComponent.get('millisecond'));
33
47
  }
34
48
 
35
-
36
49
  if (timeComponent.isCertain('meridiem')) {
37
50
  dateTimeComponent.assign('meridiem', timeComponent.get('meridiem'));
38
51
  } else if (
File without changes
@@ -3,7 +3,7 @@
3
3
  */
4
4
  var ParsedComponents = require('../../result').ParsedComponents;
5
5
  var Refiner = require('../refiner').Refiner;
6
- var mergeDateTimeComponent = require('../EN/ENMergeDateTimeRefiner').mergeDateTimeComponent;
6
+ var mergeDateTimeComponent = require('../en/ENMergeDateTimeRefiner').mergeDateTimeComponent;
7
7
 
8
8
  var PATTERN = new RegExp("^\\s*(T|à|a|vers|de|,|-)?\\s*$");
9
9
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
 
3
3
  */
4
- var ENMergeDateRangeRefiner = require('../EN/ENMergeDateRangeRefiner').Refiner;
4
+ var ENMergeDateRangeRefiner = require('../en/ENMergeDateRangeRefiner').Refiner;
5
5
 
6
6
  exports.Refiner = function JPMergeDateRangeRefiner() {
7
7
  ENMergeDateRangeRefiner.call(this);
@@ -32,18 +32,18 @@ exports.ExtractTimezoneAbbrRefiner = require('./ExtractTimezoneAbbrRefiner').Ref
32
32
  exports.ForwardDateRefiner = require('./ForwardDateRefiner').Refiner;
33
33
  exports.UnlikelyFormatFilter = require('./UnlikelyFormatFilter').Refiner;
34
34
 
35
- // EN refiners
36
- exports.ENMergeDateTimeRefiner = require('./EN/ENMergeDateTimeRefiner').Refiner;
37
- exports.ENMergeDateRangeRefiner = require('./EN/ENMergeDateRangeRefiner').Refiner;
38
- exports.ENPrioritizeSpecificDateRefiner = require('./EN/ENPrioritizeSpecificDateRefiner').Refiner;
35
+ // en refiners
36
+ exports.ENMergeDateTimeRefiner = require('./en/ENMergeDateTimeRefiner').Refiner;
37
+ exports.ENMergeDateRangeRefiner = require('./en/ENMergeDateRangeRefiner').Refiner;
38
+ exports.ENPrioritizeSpecificDateRefiner = require('./en/ENPrioritizeSpecificDateRefiner').Refiner;
39
39
 
40
- // JP refiners
41
- exports.JPMergeDateRangeRefiner = require('./JP/JPMergeDateRangeRefiner').Refiner;
40
+ // ja refiners
41
+ exports.JPMergeDateRangeRefiner = require('./ja/JPMergeDateRangeRefiner').Refiner;
42
42
 
43
- // FR refiners
44
- exports.FRMergeDateRangeRefiner = require('./FR/FRMergeDateRangeRefiner').Refiner;
45
- exports.FRMergeDateTimeRefiner = require('./FR/FRMergeDateTimeRefiner').Refiner;
43
+ // fr refiners
44
+ exports.FRMergeDateRangeRefiner = require('./fr/FRMergeDateRangeRefiner').Refiner;
45
+ exports.FRMergeDateTimeRefiner = require('./fr/FRMergeDateTimeRefiner').Refiner;
46
46
 
47
- // DE refiners
48
- exports.DEMergeDateRangeRefiner = require('./DE/DEMergeDateRangeRefiner').Refiner;
49
- exports.DEMergeDateTimeRefiner = require('./DE/DEMergeDateTimeRefiner').Refiner;
47
+ // de refiners
48
+ exports.DEMergeDateRangeRefiner = require('./de/DEMergeDateRangeRefiner').Refiner;
49
+ exports.DEMergeDateTimeRefiner = require('./de/DEMergeDateTimeRefiner').Refiner;
package/src/result.js CHANGED
@@ -21,6 +21,8 @@ ParsedResult.prototype.clone = function() {
21
21
  if (this.end) {
22
22
  result.end = this.end.clone();
23
23
  }
24
+
25
+ return result
24
26
  }
25
27
 
26
28
  ParsedResult.prototype.hasPossibleDates = function() {
@@ -112,7 +114,7 @@ ParsedComponents.prototype.moment = function() {
112
114
 
113
115
  // Javascript Date Object return minus timezone offset
114
116
  var currentTimezoneOffset = dateMoment.utcOffset();
115
- var targetTimezoneOffset = this.isCertain('timezoneOffset') ?
117
+ var targetTimezoneOffset = this.get('timezoneOffset') !== undefined ?
116
118
  this.get('timezoneOffset') : currentTimezoneOffset;
117
119
 
118
120
  var adjustTimezoneOffset = targetTimezoneOffset - currentTimezoneOffset;