diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/zh-Hant/ZHHantWeekdayParser.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/zh-Hant/ZHHantWeekdayParser.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/zh-Hant/ZHHantWeekdayParser.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/zh-Hant/ZHHantWeekdayParser.js new file mode 100644 index 00000000..43ca07ad --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/parsers/zh-Hant/ZHHantWeekdayParser.js @@ -0,0 +1,59 @@ +/* + + +*/ + +var moment = require('moment'); +var Parser = require('../parser').Parser; +var ParsedResult = require('../../result').ParsedResult; +var updateParsedComponent = require('../en/ENWeekdayParser').updateParsedComponent; + +var util = require('../../utils/ZH-Hant.js'); + +var PATTERN = new RegExp( + '(上|今|下|這|呢)?' + + '(?:個)?' + + '(?:星期|禮拜)' + + '(' + Object.keys(util.WEEKDAY_OFFSET).join('|') + ')' +); + +var PREFIX_GROUP = 1; +var WEEKDAY_GROUP = 2; + +exports.Parser = function ZHHantWeekdayParser() { + + Parser.apply(this, arguments); + + this.pattern = function() { + return PATTERN; + }; + + this.extract = function(text, ref, match, opt) { + var index = match.index; + text = match[0]; + var result = new ParsedResult({ + index: index, + text: text, + ref: ref + }); + + var dayOfWeek = match[WEEKDAY_GROUP]; + var offset = util.WEEKDAY_OFFSET[dayOfWeek]; + if(offset === undefined) return null; + + var modifier = null; + var prefix = match[PREFIX_GROUP]; + + if(prefix == '上') { + modifier = 'last'; + } else if(prefix == '下') { + modifier = 'next'; + } else if(prefix == '今' || prefix == '這' || prefix == '呢') { + modifier = 'this'; + } + + updateParsedComponent(result, ref, offset, modifier); + result.tags['ZHHantWeekdayParser'] = true; + return result; + }; +}; |