UNPKG

caldate

Version:
62 lines (54 loc) 1.22 kB
'use strict'; function objectToString (o) { return Object.prototype.toString.call(o) } function isObject (arg) { return typeof arg === 'object' && arg !== null } function isDate (d) { return isObject(d) && objectToString(d) === '[object Date]' } /** * pad number with `0` * @param {number} number * @param {number} [len] - length * @return {string} padded string */ function pad0 (number, len) { len = len || 2; number = Array(len).join('0') + number.toString(); return number.substr(number.length - len, len) } /** * convert string to number * @private * @param {String} str * @return {Number} converted number or undefined */ function toNumber (str) { const num = parseInt(str, 10); if (!isNaN(num)) { return num } } /** * extract or set year * @private * @param {Number|Date|String} year * @return {Number} year */ function toYear (year) { if (!year) { year = new Date().getFullYear(); } else if (isDate(year)) { year = year.getFullYear(); } else if (typeof year === 'string') { year = toNumber(year); } return year } exports.isDate = isDate; exports.isObject = isObject; exports.pad0 = pad0; exports.toNumber = toNumber; exports.toYear = toYear;