chrono-node
Version:
A natural language date parser in Javascript
141 lines • 5.73 kB
JavaScript
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
;