UNPKG

chrono-node

Version:

A natural language date parser in Javascript

141 lines 5.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.noon = exports.afternoon = exports.morning = exports.midnight = exports.yesterdayEvening = exports.evening = exports.lastNight = exports.tonight = exports.theDayAfter = exports.tomorrow = exports.theDayBefore = exports.yesterday = exports.today = exports.now = void 0; const results_1 = require("../results"); const dayjs_1 = __importDefault(require("dayjs")); const dayjs_2 = require("../utils/dayjs"); const types_1 = require("../types"); function now(reference) { const targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); dayjs_2.assignSimilarDate(component, targetDate); dayjs_2.assignSimilarTime(component, targetDate); if (reference.timezoneOffset !== null) { component.assign("timezoneOffset", targetDate.utcOffset()); } component.addTag("casualReference/now"); return component; } exports.now = now; function today(reference) { const targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); dayjs_2.assignSimilarDate(component, targetDate); dayjs_2.implySimilarTime(component, targetDate); component.addTag("casualReference/today"); return component; } exports.today = today; function yesterday(reference) { return theDayBefore(reference, 1).addTag("casualReference/yesterday"); } exports.yesterday = yesterday; function theDayBefore(reference, numDay) { return theDayAfter(reference, -numDay); } exports.theDayBefore = theDayBefore; function tomorrow(reference) { return theDayAfter(reference, 1).addTag("casualReference/tomorrow"); } exports.tomorrow = tomorrow; function theDayAfter(reference, nDays) { let targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); targetDate = targetDate.add(nDays, "day"); dayjs_2.assignSimilarDate(component, targetDate); dayjs_2.implySimilarTime(component, targetDate); return component; } exports.theDayAfter = theDayAfter; function tonight(reference, implyHour = 22) { const targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); dayjs_2.assignSimilarDate(component, targetDate); component.imply("hour", implyHour); component.imply("meridiem", types_1.Meridiem.PM); component.addTag("casualReference/tonight"); return component; } exports.tonight = tonight; function lastNight(reference, implyHour = 0) { let targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); if (targetDate.hour() < 6) { targetDate = targetDate.add(-1, "day"); } dayjs_2.assignSimilarDate(component, targetDate); component.imply("hour", implyHour); return component; } exports.lastNight = lastNight; function evening(reference, implyHour = 20) { const component = new results_1.ParsingComponents(reference, {}); component.imply("meridiem", types_1.Meridiem.PM); component.imply("hour", implyHour); component.addTag("casualReference/evening"); return component; } exports.evening = evening; function yesterdayEvening(reference, implyHour = 20) { let targetDate = dayjs_1.default(reference.instant); const component = new results_1.ParsingComponents(reference, {}); targetDate = targetDate.add(-1, "day"); dayjs_2.assignSimilarDate(component, targetDate); component.imply("hour", implyHour); component.imply("meridiem", types_1.Meridiem.PM); component.addTag("casualReference/yesterday"); component.addTag("casualReference/evening"); return component; } exports.yesterdayEvening = yesterdayEvening; function midnight(reference) { const component = new results_1.ParsingComponents(reference, {}); const targetDate = dayjs_1.default(reference.instant); if (targetDate.hour() > 2) { dayjs_2.implyTheNextDay(component, targetDate); } component.assign("hour", 0); component.imply("minute", 0); component.imply("second", 0); component.imply("millisecond", 0); component.addTag("casualReference/midnight"); return component; } exports.midnight = midnight; function morning(reference, implyHour = 6) { const component = new results_1.ParsingComponents(reference, {}); component.imply("meridiem", types_1.Meridiem.AM); component.imply("hour", implyHour); component.imply("minute", 0); component.imply("second", 0); component.imply("millisecond", 0); component.addTag("casualReference/morning"); return component; } exports.morning = morning; function afternoon(reference, implyHour = 15) { const component = new results_1.ParsingComponents(reference, {}); component.imply("meridiem", types_1.Meridiem.PM); component.imply("hour", implyHour); component.imply("minute", 0); component.imply("second", 0); component.imply("millisecond", 0); component.addTag("casualReference/afternoon"); return component; } exports.afternoon = afternoon; function noon(reference) { const component = new results_1.ParsingComponents(reference, {}); component.imply("meridiem", types_1.Meridiem.AM); component.imply("hour", 12); component.imply("minute", 0); component.imply("second", 0); component.imply("millisecond", 0); component.addTag("casualReference/noon"); return component; } exports.noon = noon; //# sourceMappingURL=casualReferences.js.map