chrono-node
Version:
A natural language date parser in Javascript
39 lines • 1.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
class OverlapRemovalRefiner {
refine(context, results) {
if (results.length < 2) {
return results;
}
const filteredResults = [];
let prevResult = results[0];
for (let i = 1; i < results.length; i++) {
const result = results[i];
if (result.index >= prevResult.index + prevResult.text.length) {
filteredResults.push(prevResult);
prevResult = result;
continue;
}
let kept = null;
let removed = null;
if (result.text.length > prevResult.text.length) {
kept = result;
removed = prevResult;
}
else {
kept = prevResult;
removed = result;
}
context.debug(() => {
console.log(`${this.constructor.name} remove ${removed} by ${kept}`);
});
prevResult = kept;
}
if (prevResult != null) {
filteredResults.push(prevResult);
}
return filteredResults;
}
}
exports.default = OverlapRemovalRefiner;
//# sourceMappingURL=OverlapRemovalRefiner.js.map
;