chrono-node
Version:
A natural language date parser in Javascript
28 lines • 1.05 kB
JavaScript
import { YEAR_PATTERN, parseYear } from "../constants.js";
const YEAR_SUFFIX_PATTERN = new RegExp(`^\\s*(${YEAR_PATTERN})`, "i");
const YEAR_GROUP = 1;
export default class ENExtractYearSuffixRefiner {
refine(context, results) {
results.forEach(function (result) {
if (!result.start.isDateWithUnknownYear()) {
return;
}
const suffix = context.text.substring(result.index + result.text.length);
const match = YEAR_SUFFIX_PATTERN.exec(suffix);
if (!match) {
return;
}
context.debug(() => {
console.log(`Extracting year: '${match[0]}' into : ${result}`);
});
const year = parseYear(match[YEAR_GROUP]);
if (result.end != null) {
result.end.assign("year", year);
}
result.start.assign("year", year);
result.text += match[0];
});
return results;
}
}
//# sourceMappingURL=ENExtractYearSuffixRefiner.js.map