"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isExists; /** * @name isExists * @category Common Helpers * @summary Is the given date exists? * * @description * Checks if the given arguments convert to an existing date. * * @param {Number} year of the date to check * @param {Number} month of the date to check * @param {Number} day of the date to check * @returns {Boolean} the date exists * @throws {TypeError} 3 arguments required * * @example * // For the valid date: * const result = isExists(2018, 0, 31) * //=> true * * @example * // For the invalid date: * const result = isExists(2018, 1, 31) * //=> false */ function isExists(year, month, day) { if (arguments.length < 3) { throw new TypeError('3 argument required, but only ' + arguments.length + ' present'); } var date = new Date(year, month, day); return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day; } module.exports = exports.default;