| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | /*! * time-stamp <https://github.com/jonschlinkert/time-stamp> * * Copyright (c) 2015-2017, Jon Schlinkert. * Released under the MIT License. */'use strict';/** * Parse the given pattern and return a formatted * timestamp. * * @param  {String} `pattern` Date pattern. * @param  {Date} `date` Date object. * @return {String} */module.exports = function(pattern, date) {  if (typeof pattern !== 'string') {    date = pattern;    pattern = 'YYYY:MM:DD';  }  if (!date) date = new Date();  function timestamp() {    var regex = /(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\1([:\/]*)/;    var match = regex.exec(pattern);    if (match) {      var increment = method(match[1]);      var val = '00' + String(date[increment[0]]() + (increment[2] || 0));      var res = val.slice(-increment[1]) + (match[2] || '');      pattern = pattern.replace(match[0], res);      timestamp();    }  }  timestamp(pattern);  return pattern;};function method(key) {  return ({    YYYY: ['getFullYear', 4],    YY: ['getFullYear', 2],    // getMonth is zero-based, thus the extra increment field    MM: ['getMonth', 2, 1],    DD: ['getDate', 2],    HH: ['getHours', 2],    mm: ['getMinutes', 2],    ss: ['getSeconds', 2],    ms: ['getMilliseconds', 3]  })[key];}
 |