UNPKG

chrono-node

Version:

A natural language date parser in Javascript

37 lines 1.35 kB
export class Filter { refine(context, results) { return results.filter((r) => this.isValid(context, r)); } } export class MergingRefiner { refine(context, results) { if (results.length < 2) { return results; } const mergedResults = []; let curResult = results[0]; let nextResult = null; for (let i = 1; i < results.length; i++) { nextResult = results[i]; const textBetween = context.text.substring(curResult.index + curResult.text.length, nextResult.index); if (!this.shouldMergeResults(textBetween, curResult, nextResult, context)) { mergedResults.push(curResult); curResult = nextResult; } else { const left = curResult; const right = nextResult; const mergedResult = this.mergeResults(textBetween, left, right, context); context.debug(() => { console.log(`${this.constructor.name} merged ${left} and ${right} into ${mergedResult}`); }); curResult = mergedResult; } } if (curResult != null) { mergedResults.push(curResult); } return mergedResults; } } //# sourceMappingURL=abstractRefiners.js.map