chrono-node
Version:
A natural language date parser in Javascript
24 lines • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const abstractRefiners_1 = require("../abstractRefiners");
const mergingCalculation_1 = require("../../calculation/mergingCalculation");
class AbstractMergeDateTimeRefiner extends abstractRefiners_1.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()
? (0, mergingCalculation_1.mergeDateTimeResult)(currentResult, nextResult)
: (0, mergingCalculation_1.mergeDateTimeResult)(nextResult, currentResult);
result.index = currentResult.index;
result.text = currentResult.text + textBetween + nextResult.text;
return result;
}
}
exports.default = AbstractMergeDateTimeRefiner;
//# sourceMappingURL=AbstractMergeDateTimeRefiner.js.map