UNPKG

chrono-node

Version:

A natural language date parser in Javascript

27 lines 1.01 kB
import { WEEKDAY_OFFSET } from "../constants.js"; import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js"; const PATTERN = new RegExp("((?<prefix>前の|次の|今週))?(?<weekday>" + Object.keys(WEEKDAY_OFFSET).join("|") + ")(?:曜日|曜)", "i"); export default class JPWeekdayParser { pattern() { return PATTERN; } extract(context, match) { const dayOfWeek = match.groups.weekday; const offset = WEEKDAY_OFFSET[dayOfWeek]; if (offset === undefined) return null; const prefix = match.groups.prefix || ""; let modifier = null; if (prefix.match(/前の/)) { modifier = "last"; } else if (prefix.match(/次の/)) { modifier = "next"; } else if (prefix.match(/今週/)) { modifier = "this"; } return createParsingComponentsAtWeekday(context.reference, offset, modifier); } } //# sourceMappingURL=JPWeekdayParser.js.map