UNPKG

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
"use strict"; 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)); } }