summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js
diff options
context:
space:
mode:
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js')
-rw-r--r--bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js
new file mode 100644
index 00000000..b5b07e6b
--- /dev/null
+++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js
@@ -0,0 +1,41 @@
+/*
+
+*/
+var Refiner = require('./refiner').Refiner;
+
+exports.Refiner = function OverlapRemovalRefiner() {
+ Refiner.call(this);
+
+
+ this.refine = function(text, results, opt) {
+
+ if (results.length < 2) return results;
+
+ var filteredResults = [];
+ var prevResult = results[0];
+
+ for (var i=1; i<results.length; i++){
+
+ var result = results[i];
+
+ // If overlap, compare the length and discard the shorter one
+ if (result.index < prevResult.index + prevResult.text.length) {
+
+ if (result.text.length > prevResult.text.length){
+ prevResult = result;
+ }
+
+ } else {
+ filteredResults.push(prevResult);
+ prevResult = result;
+ }
+ }
+
+ // The last one
+ if (prevResult != null) {
+ filteredResults.push(prevResult);
+ }
+
+ return filteredResults;
+ }
+} \ No newline at end of file