summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js88
1 files changed, 88 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js
new file mode 100644
index 00000000..a8225125
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/chrono.js
@@ -0,0 +1,88 @@
+
+var options = exports.options = require('./options');
+
+exports.parser = require('./parsers/parser');
+exports.refiner = require('./refiners/refiner');
+
+exports.Parser = exports.parser.Parser;
+exports.Refiner = exports.refiner.Refiner;
+exports.Filter = exports.refiner.Filter;
+
+exports.ParsedResult = require('./result').ParsedResult;
+exports.ParsedComponents = require('./result').ParsedComponents;
+
+var Chrono = function(option) {
+
+ option = option || exports.options.casualOption();
+ this.parsers = new Object(option.parsers);
+ this.refiners = new Object(option.refiners);
+};
+
+
+Chrono.prototype.parse = function(text, refDate, opt) {
+
+ refDate = refDate || new Date();
+ opt = opt || {};
+ opt.forwardDate = opt.forwardDate || opt.forwardDate;
+
+ var allResults = [];
+
+ this.parsers.forEach(function (parser) {
+ var results = parser.execute(text, refDate, opt);
+ allResults = allResults.concat(results);
+ });
+
+ allResults.sort(function(a, b) {
+ return a.index - b.index;
+ });
+
+ this.refiners.forEach(function (refiner) {
+ allResults = refiner.refine(text, allResults, opt);
+ });
+
+ return allResults;
+};
+
+
+Chrono.prototype.parseDate = function(text, refDate, opt) {
+ var results = this.parse(text, refDate, opt);
+ if (results.length > 0) {
+ return results[0].start.date();
+ }
+ return null;
+};
+
+exports.Chrono = Chrono;
+exports.strict = new Chrono( options.strictOption() );
+exports.casual = new Chrono( options.casualOption() );
+
+exports.en = new Chrono( options.mergeOptions([
+ options.en.casual, options.commonPostProcessing]));
+
+exports.en_GB = new Chrono( options.mergeOptions([
+ options.en_GB.casual, options.commonPostProcessing]));
+
+exports.de = new Chrono( options.mergeOptions([
+ options.de.casual, options.en, options.commonPostProcessing]));
+
+exports.es = new Chrono( options.mergeOptions([
+ options.es.casual, options.en, options.commonPostProcessing]));
+
+exports.fr = new Chrono( options.mergeOptions([
+ options.fr.casual, options.en, options.commonPostProcessing]));
+
+exports.ja = new Chrono( options.mergeOptions([
+ options.ja.casual, options.en, options.commonPostProcessing]));
+
+
+exports.parse = function () {
+ return exports.casual.parse.apply(exports.casual, arguments);
+};
+
+exports.parseDate = function () {
+ return exports.casual.parseDate.apply(exports.casual, arguments);
+};
+
+
+
+