nhb-toolbox
Version:
A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.
42 lines (41 loc) • 2.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGreeting = getGreeting;
const guards_1 = require("./guards");
const utils_1 = require("./utils");
function getGreeting(configs) {
const { morningEnds = '11:59', noonEnds = '12:59', afternoonEnds = '17:59', eveningEnds = '23:59', midnightEnds = '02:59', currentTime, appendToMsg = '', prependToMsg = '', morningMessage = 'Good Morning!', noonMessage = 'Good Noon!', afternoonMessage = 'Good Afternoon!', eveningMessage = 'Good Evening!', midnightMessage = 'Hello, Night Owl!', defaultMessage = 'Greetings!', } = configs || {};
let hour;
let minute;
if (currentTime && (0, guards_1.isValidTime)(currentTime)) {
[hour, minute] = (0, utils_1.extractHourMinute)(currentTime);
}
else {
hour = (0, utils_1.getCurrentDateTime)().getHours();
minute = (0, utils_1.getCurrentDateTime)().getMinutes();
}
const currentTotalMinutes = hour * 60 + minute;
const morningEndMinutes = (0, utils_1.getTotalMinutes)(morningEnds);
const noonEndMinutes = (0, utils_1.getTotalMinutes)(noonEnds);
const afternoonEndMinutes = (0, utils_1.getTotalMinutes)(afternoonEnds);
const eveningEndMinutes = (0, utils_1.getTotalMinutes)(eveningEnds);
const midnightEndMinutes = (0, utils_1.getTotalMinutes)(midnightEnds);
if (currentTotalMinutes <= midnightEndMinutes) {
return prependToMsg.concat(midnightMessage.concat(appendToMsg));
}
else if (currentTotalMinutes <= morningEndMinutes) {
return prependToMsg.concat(morningMessage.concat(appendToMsg));
}
else if (currentTotalMinutes <= noonEndMinutes) {
return prependToMsg.concat(noonMessage.concat(appendToMsg));
}
else if (currentTotalMinutes <= afternoonEndMinutes) {
return prependToMsg.concat(afternoonMessage.concat(appendToMsg));
}
else if (currentTotalMinutes <= eveningEndMinutes) {
return prependToMsg.concat(eveningMessage.concat(appendToMsg));
}
else {
return prependToMsg.concat(defaultMessage.concat(appendToMsg));
}
}