UNPKG

chrono-node

Version:

A natural language date parser in Javascript

47 lines 1.68 kB
import { Filter } from "../abstractRefiners.js"; export default class UnlikelyFormatFilter extends Filter { constructor(strictMode) { super(); this.strictMode = strictMode; } isValid(context, result) { if (result.text.replace(" ", "").match(/^\d*(\.\d*)?$/)) { context.debug(() => { console.log(`Removing unlikely result '${result.text}'`); }); return false; } if (!result.start.isValidDate()) { context.debug(() => { console.log(`Removing invalid result: ${result} (${result.start})`); }); return false; } if (result.end && !result.end.isValidDate()) { context.debug(() => { console.log(`Removing invalid result: ${result} (${result.end})`); }); return false; } if (this.strictMode) { return this.isStrictModeValid(context, result); } return true; } isStrictModeValid(context, result) { if (result.start.isOnlyWeekdayComponent()) { context.debug(() => { console.log(`(Strict) Removing weekday only component: ${result} (${result.end})`); }); return false; } if (result.start.isOnlyTime() && (!result.start.isCertain("hour") || !result.start.isCertain("minute"))) { context.debug(() => { console.log(`(Strict) Removing uncertain time component: ${result} (${result.end})`); }); return false; } return true; } } //# sourceMappingURL=UnlikelyFormatFilter.js.map