diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/en/ENCasualTimeParser.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/en/ENCasualTimeParser.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/en/ENCasualTimeParser.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/en/ENCasualTimeParser.js new file mode 100644 index 00000000..4c5c15c4 --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/en/ENCasualTimeParser.js @@ -0,0 +1,60 @@ +/* + + +*/ + +var moment = require('moment'); +var Parser = require('../parser').Parser; +var ParsedResult = require('../../result').ParsedResult; + +var PATTERN = /(\W|^)((this)?\s*(morning|afternoon|evening|noon|night))/i; + +var TIME_MATCH = 4; + +exports.Parser = function ENCasualTimeParser(){ + + Parser.apply(this, arguments); + + + this.pattern = function() { return PATTERN; } + + this.extract = function(text, ref, match, opt){ + + var text = match[0].substr(match[1].length); + var index = match.index + match[1].length; + var result = new ParsedResult({ + index: index, + text: text, + ref: ref, + }); + + if(!match[TIME_MATCH]) TIME_MATCH = 3; + + switch (match[TIME_MATCH].toLowerCase()) { + + case 'afternoon': + result.start.imply('meridiem', 1); + result.start.imply('hour', 15); + break; + + case 'evening': + case 'night': + result.start.imply('meridiem', 1); + result.start.imply('hour', 20); + break; + + case 'morning': + result.start.imply('meridiem', 0); + result.start.imply('hour', 6); + break; + + case 'noon': + result.start.imply('meridiem', 0); + result.start.imply('hour', 12); + break; + } + + result.tags['ENCasualTimeParser'] = true; + return result; + }; +}; |