UNPKG

@sap_oss/wdio-qmate-service

Version:

[![REUSE status](https://api.reuse.software/badge/github.com/SAP/wdio-qmate-service)](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[![Node.js CI](https://github.com/SAP/wdio-qmate-service/actions/workflows/node.js.yml/badge.svg)](http

174 lines 8.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateModule = void 0; const date_constants_1 = require("./constants/date.constants"); const formatter_constants_1 = require("../util/constants/formatter.constants"); const verboseLogger_1 = require("../../helper/verboseLogger"); /** * @class date * @memberof common */ class DateModule { constructor() { this.vlf = new verboseLogger_1.VerboseLoggerFactory("common", "date"); } // =================================== GET DATES =================================== /** * @function getToday * @memberOf common.date * @description Returns the current day in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getToday("mm/dd/yyyy"); */ getToday(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getToday); const date = new Date(); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getTomorrow * @memberOf common.date * @description Returns tomorrows date in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getTomorrow("mm/dd/yyyy"); */ getTomorrow(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getTomorrow); const date = new Date(); date.setDate(date.getDate() + 1); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getNextMonth * @memberOf common.date * @description Returns the current day one month later in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getNextMonth("mm/dd/yyyy"); */ getNextMonth(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getTomorrow); const date = new Date(); date.setMonth(date.getMonth() + 1); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getPreviousMonth * @memberOf common.date * @description Returns the current day one month before in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getPreviousMonth("mm/dd/yyyy"); */ getPreviousMonth(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getPreviousMonth); const date = new Date(); date.setMonth(date.getMonth() - 1); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getNextYear * @memberOf common.date * @description Returns the current day one year later in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getNextYear("mm/dd/yyyy"); */ getNextYear(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getNextYear); const date = new Date(); date.setFullYear(date.getFullYear() + 1); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getPreviousYear * @memberOf common.date * @description Returns the current day one year before in the given format. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getPreviousYear("mm/dd/yyyy"); */ getPreviousYear(format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getPreviousYear); const date = new Date(); date.setFullYear(date.getFullYear() - 1); vl.log(date.toISOString()); return util.formatter.formatDate(date, format); } /** * @function getSpecific * @memberOf common.date * @description Returns a specific date in the given format. * @param {String} date - A specific date string. * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "datetime", "object"). * @returns {String} The date in the given format. * @example const date = await common.date.getSpecific("2020, 0, 17", "mm/dd/yyyy"); */ getSpecific(date, format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.getSpecific); if (!date) { throw new Error("Function 'getSpecific' failed: Please provide a date string ('2020, 0, 17') as first argument."); } const parsedDate = Date.parse(date); const dateObject = new Date(parsedDate); vl.log(dateObject.toISOString()); return util.formatter.formatDate(dateObject, format); } /** * @function calculate * @memberOf common.date * @description Calculates the date based on the input parameter and returns it in the given format. * @param {String} [date="today"] - Supported values: today, tomorrow, nextMonth, previousMonth, nextYear, previousYear * @param {String} [format="object"] - The expected format ("mm/dd/yyyy", "dd.mm.yyyy", "dd/mm/yyyy", "yyyymmdd", "yyyy/mm/dd", "mmm dd, yyyy", "mmm d, yyyy", "datetime", "object"). * @returns {String} The calculated date in the given format. * @example const date = await common.date.calculate("today", "mm/dd/yyyy"); */ calculate(date = date_constants_1.CalculateDates.TODAY, format = formatter_constants_1.DateFormats.OBJECT) { const vl = this.vlf.initLog(this.calculate); if (date === null) { date = date_constants_1.CalculateDates.TODAY; } if (format === null) { format = formatter_constants_1.DateFormats.OBJECT; } let calculatedDate; switch (date) { case date_constants_1.CalculateDates.TODAY: calculatedDate = this.getToday(format); break; case date_constants_1.CalculateDates.TOMORROW: calculatedDate = this.getTomorrow(format); break; case date_constants_1.CalculateDates.NEXT_MONTH: calculatedDate = this.getNextMonth(format); break; case date_constants_1.CalculateDates.PREVIOUS_MONTH: calculatedDate = this.getPreviousMonth(format); break; case date_constants_1.CalculateDates.NEXT_YEAR: calculatedDate = this.getNextYear(format); break; case date_constants_1.CalculateDates.PREVIOUS_YEAR: calculatedDate = this.getPreviousYear(format); break; default: try { calculatedDate = this.getSpecific(date, format); } catch (error) { throw new Error("Function 'calculate' failed: Please provide a valid date string as first argument."); } } return calculatedDate; } } exports.DateModule = DateModule; exports.default = new DateModule(); //# sourceMappingURL=date.js.map