chrono-node
Version:
A natural language date parser in Javascript
21 lines • 1.12 kB
JavaScript
import { MergingRefiner } from "../abstractRefiners.js";
import { mergeDateTimeResult } from "../../calculation/mergingCalculation.js";
export default class AbstractMergeDateTimeRefiner extends MergingRefiner {
shouldMergeResults(textBetween, currentResult, nextResult) {
const isDateThenTime = currentResult.start.isOnlyDate() && nextResult.start.isOnlyTime();
const isTimeThenDate = currentResult.start.isOnlyTime() && nextResult.start.isOnlyDate();
if (isTimeThenDate && textBetween.trim() === ":") {
return false;
}
return (isDateThenTime || isTimeThenDate) && textBetween.match(this.patternBetween()) != null;
}
mergeResults(textBetween, currentResult, nextResult) {
const result = currentResult.start.isOnlyDate()
? mergeDateTimeResult(currentResult, nextResult)
: mergeDateTimeResult(nextResult, currentResult);
result.index = currentResult.index;
result.text = currentResult.text + textBetween + nextResult.text;
return result;
}
}
//# sourceMappingURL=AbstractMergeDateTimeRefiner.js.map