summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/datetime/strftime.js.map
blob: b0f8d0fca0cff2ebbcbd11c13f3e06b3bd11be0f (plain) (blame)
1
{"version":3,"sources":["../../../src/php/datetime/strftime.js"],"names":["module","exports","strftime","fmt","timestamp","setlocale","require","$global","window","global","$locutus","_xPad","x","pad","r","parseInt","toString","locale","php","localeCategories","LC_TIME","lcTime","locales","_formats","a","d","getDay","A","b","getMonth","B","C","getFullYear","e","g","G","y","V","W","H","I","getHours","j","ms","Date","getTimezoneOffset","doy","k","l","m","M","p","P","s","parse","S","u","dow","U","rdow","woy","dow11","idow","w","Y","z","o","Math","abs","Z","replace","_date","_aggregates","c","D","F","h","n","R","t","T","X","match","m0","m1","f","str"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,CAAmBC,GAAnB,EAAwBC,SAAxB,EAAmC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,YAAYC,QAAQ,sBAAR,CAAhB;;AAEA,MAAIC,UAAW,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAAxD;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAIA,WAAWH,QAAQG,QAAvB;;AAEA;AACAL,YAAU,QAAV,EAAoB,CAApB;;AAEA,MAAIM,QAAQ,SAARA,KAAQ,CAAUC,CAAV,EAAaC,GAAb,EAAkBC,CAAlB,EAAqB;AAC/B,QAAI,OAAOA,CAAP,KAAa,WAAjB,EAA8B;AAC5BA,UAAI,EAAJ;AACD;AACD,WAAOC,SAASH,CAAT,EAAY,EAAZ,IAAkBE,CAAlB,IAAuBA,IAAI,CAAlC,EAAqCA,KAAK,EAA1C,EAA8C;AAC5CF,UAAIC,IAAIG,QAAJ,KAAiBJ,CAArB;AACD;AACD,WAAOA,EAAEI,QAAF,EAAP;AACD,GARD;;AAUA,MAAIC,SAASP,SAASQ,GAAT,CAAaC,gBAAb,CAA8BC,OAA3C;AACA,MAAIC,SAASX,SAASQ,GAAT,CAAaI,OAAb,CAAqBL,MAArB,EAA6BG,OAA1C;;AAEA,MAAIG,WAAW;AACbC,OAAG,WAAUC,CAAV,EAAa;AACd,aAAOJ,OAAOG,CAAP,CAASC,EAAEC,MAAF,EAAT,CAAP;AACD,KAHY;AAIbC,OAAG,WAAUF,CAAV,EAAa;AACd,aAAOJ,OAAOM,CAAP,CAASF,EAAEC,MAAF,EAAT,CAAP;AACD,KANY;AAObE,OAAG,WAAUH,CAAV,EAAa;AACd,aAAOJ,OAAOO,CAAP,CAASH,EAAEI,QAAF,EAAT,CAAP;AACD,KATY;AAUbC,OAAG,WAAUL,CAAV,EAAa;AACd,aAAOJ,OAAOS,CAAP,CAASL,EAAEI,QAAF,EAAT,CAAP;AACD,KAZY;AAabE,OAAG,WAAUN,CAAV,EAAa;AACd,aAAOd,MAAMI,SAASU,EAAEO,WAAF,KAAkB,GAA3B,EAAgC,EAAhC,CAAN,EAA2C,CAA3C,CAAP;AACD,KAfY;AAgBbP,OAAG,CAAC,SAAD,EAAY,GAAZ,CAhBU;AAiBbQ,OAAG,CAAC,SAAD,EAAY,GAAZ,CAjBU;AAkBbC,OAAG,WAAUT,CAAV,EAAa;AACd,aAAOd,MAAMI,SAAS,KAAKoB,CAAL,CAAOV,CAAP,IAAY,GAArB,EAA0B,EAA1B,CAAN,EAAqC,CAArC,CAAP;AACD,KApBY;AAqBbU,OAAG,WAAUV,CAAV,EAAa;AACd,UAAIW,IAAIX,EAAEO,WAAF,EAAR;AACA,UAAIK,IAAItB,SAASQ,SAASc,CAAT,CAAWZ,CAAX,CAAT,EAAwB,EAAxB,CAAR;AACA,UAAIa,IAAIvB,SAASQ,SAASe,CAAT,CAAWb,CAAX,CAAT,EAAwB,EAAxB,CAAR;;AAEA,UAAIa,IAAID,CAAR,EAAW;AACTD;AACD,OAFD,MAEO,IAAIE,MAAM,CAAN,IAAWD,KAAK,EAApB,EAAwB;AAC7BD;AACD;;AAED,aAAOA,CAAP;AACD,KAjCY;AAkCbG,OAAG,CAAC,UAAD,EAAa,GAAb,CAlCU;AAmCbC,OAAG,WAAUf,CAAV,EAAa;AACd,UAAIe,IAAIf,EAAEgB,QAAF,KAAe,EAAvB;AACA,aAAO9B,MAAM6B,MAAM,CAAN,GAAU,EAAV,GAAeA,CAArB,EAAwB,CAAxB,CAAP;AACD,KAtCY;AAuCbE,OAAG,WAAUjB,CAAV,EAAa;AACd,UAAIkB,KAAKlB,IAAI,IAAImB,IAAJ,CAAS,KAAKnB,EAAEO,WAAF,EAAL,GAAuB,UAAhC,CAAb;AACA;AACA;AACAW,YAAMlB,EAAEoB,iBAAF,KAAwB,KAA9B;AACA,UAAIC,MAAM/B,SAAS4B,KAAK,KAAL,GAAa,EAAb,GAAkB,EAA3B,EAA+B,EAA/B,IAAqC,CAA/C;AACA,aAAOhC,MAAMmC,GAAN,EAAW,CAAX,EAAc,GAAd,CAAP;AACD,KA9CY;AA+CbC,OAAG,CAAC,UAAD,EAAa,GAAb,CA/CU;AAgDb;AACAC,OAAG,WAAUvB,CAAV,EAAa;AACd,UAAIuB,IAAIvB,EAAEgB,QAAF,KAAe,EAAvB;AACA,aAAO9B,MAAMqC,MAAM,CAAN,GAAU,EAAV,GAAeA,CAArB,EAAwB,GAAxB,CAAP;AACD,KApDY;AAqDbC,OAAG,WAAUxB,CAAV,EAAa;AACd,aAAOd,MAAMc,EAAEI,QAAF,KAAe,CAArB,EAAwB,CAAxB,CAAP;AACD,KAvDY;AAwDbqB,OAAG,CAAC,YAAD,EAAe,GAAf,CAxDU;AAyDbC,OAAG,WAAU1B,CAAV,EAAa;AACd,aAAOJ,OAAO8B,CAAP,CAAS1B,EAAEgB,QAAF,MAAgB,EAAhB,GAAqB,CAArB,GAAyB,CAAlC,CAAP;AACD,KA3DY;AA4DbW,OAAG,WAAU3B,CAAV,EAAa;AACd,aAAOJ,OAAO+B,CAAP,CAAS3B,EAAEgB,QAAF,MAAgB,EAAhB,GAAqB,CAArB,GAAyB,CAAlC,CAAP;AACD,KA9DY;AA+DbY,OAAG,WAAU5B,CAAV,EAAa;AACd;AACA,aAAOmB,KAAKU,KAAL,CAAW7B,CAAX,IAAgB,IAAvB;AACD,KAlEY;AAmEb8B,OAAG,CAAC,YAAD,EAAe,GAAf,CAnEU;AAoEbC,OAAG,WAAU/B,CAAV,EAAa;AACd,UAAIgC,MAAMhC,EAAEC,MAAF,EAAV;AACA,aAAS+B,QAAQ,CAAT,GAAc,CAAd,GAAkBA,GAA1B;AACD,KAvEY;AAwEbC,OAAG,WAAUjC,CAAV,EAAa;AACd,UAAIqB,MAAM/B,SAASQ,SAASmB,CAAT,CAAWjB,CAAX,CAAT,EAAwB,EAAxB,CAAV;AACA,UAAIkC,OAAO,IAAIlC,EAAEC,MAAF,EAAf;AACA,UAAIkC,MAAM7C,SAAS,CAAC+B,MAAMa,IAAP,IAAe,CAAxB,EAA2B,EAA3B,CAAV;AACA,aAAOhD,MAAMiD,GAAN,EAAW,CAAX,CAAP;AACD,KA7EY;AA8EbvB,OAAG,WAAUZ,CAAV,EAAa;AACd,UAAImC,MAAM7C,SAASQ,SAASe,CAAT,CAAWb,CAAX,CAAT,EAAwB,EAAxB,CAAV;AACA,UAAIoC,QAAS,IAAIjB,IAAJ,CAAS,KAAKnB,EAAEO,WAAF,EAAL,GAAuB,MAAhC,CAAD,CAA0CN,MAA1C,EAAZ;AACA;AACA;AACA;AACA;AACA;AACA,UAAIoC,OAAOF,OAAOC,QAAQ,CAAR,IAAaA,SAAS,CAAtB,GAA0B,CAA1B,GAA8B,CAArC,CAAX;AACA,UAAIC,SAAS,EAAT,IAAgB,IAAIlB,IAAJ,CAAS,KAAKnB,EAAEO,WAAF,EAAL,GAAuB,QAAhC,CAAD,CAA4CN,MAA5C,KAAuD,CAA1E,EAA6E;AAC3EoC,eAAO,CAAP;AACD,OAFD,MAEO,IAAIA,SAAS,CAAb,EAAgB;AACrBA,eAAOvC,SAASc,CAAT,CAAW,IAAIO,IAAJ,CAAS,MAAMnB,EAAEO,WAAF,KAAkB,CAAxB,IAA6B,QAAtC,CAAX,CAAP;AACD;AACD,aAAOrB,MAAMmD,IAAN,EAAY,CAAZ,CAAP;AACD,KA7FY;AA8FbC,OAAG,QA9FU;AA+FbzB,OAAG,WAAUb,CAAV,EAAa;AACd,UAAIqB,MAAM/B,SAASQ,SAASmB,CAAT,CAAWjB,CAAX,CAAT,EAAwB,EAAxB,CAAV;AACA,UAAIkC,OAAO,IAAIpC,SAASiC,CAAT,CAAW/B,CAAX,CAAf;AACA,UAAImC,MAAM7C,SAAS,CAAC+B,MAAMa,IAAP,IAAe,CAAxB,EAA2B,EAA3B,CAAV;AACA,aAAOhD,MAAMiD,GAAN,EAAW,CAAX,EAAc,EAAd,CAAP;AACD,KApGY;AAqGbxB,OAAG,WAAUX,CAAV,EAAa;AACd,aAAOd,MAAMc,EAAEO,WAAF,KAAkB,GAAxB,EAA6B,CAA7B,CAAP;AACD,KAvGY;AAwGbgC,OAAG,aAxGU;AAyGbC,OAAG,WAAUxC,CAAV,EAAa;AACd,UAAIyC,IAAIzC,EAAEoB,iBAAF,EAAR;AACA,UAAIN,IAAI5B,MAAMI,SAASoD,KAAKC,GAAL,CAASF,IAAI,EAAb,CAAT,EAA2B,EAA3B,CAAN,EAAsC,CAAtC,CAAR;AACA,UAAIhB,IAAIvC,MAAMuD,IAAI,EAAV,EAAc,CAAd,CAAR;AACA,aAAO,CAACA,IAAI,CAAJ,GAAQ,GAAR,GAAc,GAAf,IAAsB3B,CAAtB,GAA0BW,CAAjC;AACD,KA9GY;AA+GbmB,OAAG,WAAU5C,CAAV,EAAa;AACd,aAAOA,EAAET,QAAF,GAAasD,OAAb,CAAqB,iBAArB,EAAwC,IAAxC,CAAP;AACD,KAjHY;AAkHb,SAAK,WAAU7C,CAAV,EAAa;AAChB,aAAO,GAAP;AACD;AApHY,GAAf;;AAuHA,MAAI8C,QAAS,OAAOnE,SAAP,KAAqB,WAAtB,GACR,IAAIwC,IAAJ,EADQ,GAEPxC,qBAAqBwC,IAAtB,GACE,IAAIA,IAAJ,CAASxC,SAAT,CADF,GAEE,IAAIwC,IAAJ,CAASxC,YAAY,IAArB,CAJN;;AAMA,MAAIoE,cAAc;AAChBC,OAAG,QADa;AAEhBC,OAAG,UAFa;AAGhBC,OAAG,UAHa;AAIhBC,OAAG,IAJa;AAKhBC,OAAG,IALa;AAMhB/D,OAAG,QANa;AAOhBgE,OAAG,OAPa;AAQhBC,OAAG,IARa;AAShBC,OAAG,UATa;AAUhBpE,OAAG,QAVa;AAWhBqE,OAAG;AAXa,GAAlB;;AAcA;AACA,SAAO9E,IAAI+E,KAAJ,CAAU,gBAAV,CAAP,EAAoC;AAClC/E,UAAMA,IAAImE,OAAJ,CAAY,mBAAZ,EAAiC,UAAUa,EAAV,EAAcC,EAAd,EAAkB;AACvD,UAAIC,IAAIb,YAAYY,EAAZ,CAAR;AACA,aAAQC,MAAM,QAAN,GAAiBhE,OAAO+D,EAAP,CAAjB,GAA8BC,CAAtC;AACD,KAHK,CAAN;AAID;;AAED;AACA,MAAIC,MAAMnF,IAAImE,OAAJ,CAAY,sCAAZ,EAAoD,UAAUa,EAAV,EAAcC,EAAd,EAAkB;AAC9E,QAAIC,IAAI9D,SAAS6D,EAAT,CAAR;AACA,QAAI,OAAOC,CAAP,KAAa,QAAjB,EAA2B;AACzB,aAAOd,MAAMc,CAAN,GAAP;AACD,KAFD,MAEO,IAAI,OAAOA,CAAP,KAAa,UAAjB,EAA6B;AAClC,aAAOA,EAAEd,KAAF,CAAP;AACD,KAFM,MAEA,IAAI,QAAOc,CAAP,yCAAOA,CAAP,OAAa,QAAb,IAAyB,OAAOA,EAAE,CAAF,CAAP,KAAgB,QAA7C,EAAuD;AAC5D,aAAO1E,MAAM4D,MAAMc,EAAE,CAAF,CAAN,GAAN,EAAqBA,EAAE,CAAF,CAArB,CAAP;AACD,KAFM,MAEA;AACL;AACA,aAAOD,EAAP;AACD;AACF,GAZS,CAAV;;AAcA,SAAOE,GAAP;AACD,CApMD","file":"strftime.js","sourcesContent":["module.exports = function strftime (fmt, timestamp) {\n  //       discuss at: http://locutus.io/php/strftime/\n  //      original by: Blues (http://tech.bluesmoon.info/)\n  // reimplemented by: Brett Zamir (http://brett-zamir.me)\n  //         input by: Alex\n  //      bugfixed by: Brett Zamir (http://brett-zamir.me)\n  //      improved by: Brett Zamir (http://brett-zamir.me)\n  //           note 1: Uses global: locutus to store locale info\n  //        example 1: strftime(\"%A\", 1062462400); // Return value will depend on date and locale\n  //        returns 1: 'Tuesday'\n\n  var setlocale = require('../strings/setlocale')\n\n  var $global = (typeof window !== 'undefined' ? window : global)\n  $global.$locutus = $global.$locutus || {}\n  var $locutus = $global.$locutus\n\n  // ensure setup of localization variables takes place\n  setlocale('LC_ALL', 0)\n\n  var _xPad = function (x, pad, r) {\n    if (typeof r === 'undefined') {\n      r = 10\n    }\n    for (; parseInt(x, 10) < r && r > 1; r /= 10) {\n      x = pad.toString() + x\n    }\n    return x.toString()\n  }\n\n  var locale = $locutus.php.localeCategories.LC_TIME\n  var lcTime = $locutus.php.locales[locale].LC_TIME\n\n  var _formats = {\n    a: function (d) {\n      return lcTime.a[d.getDay()]\n    },\n    A: function (d) {\n      return lcTime.A[d.getDay()]\n    },\n    b: function (d) {\n      return lcTime.b[d.getMonth()]\n    },\n    B: function (d) {\n      return lcTime.B[d.getMonth()]\n    },\n    C: function (d) {\n      return _xPad(parseInt(d.getFullYear() / 100, 10), 0)\n    },\n    d: ['getDate', '0'],\n    e: ['getDate', ' '],\n    g: function (d) {\n      return _xPad(parseInt(this.G(d) / 100, 10), 0)\n    },\n    G: function (d) {\n      var y = d.getFullYear()\n      var V = parseInt(_formats.V(d), 10)\n      var W = parseInt(_formats.W(d), 10)\n\n      if (W > V) {\n        y++\n      } else if (W === 0 && V >= 52) {\n        y--\n      }\n\n      return y\n    },\n    H: ['getHours', '0'],\n    I: function (d) {\n      var I = d.getHours() % 12\n      return _xPad(I === 0 ? 12 : I, 0)\n    },\n    j: function (d) {\n      var ms = d - new Date('' + d.getFullYear() + '/1/1 GMT')\n      // Line differs from Yahoo implementation which would be\n      // equivalent to replacing it here with:\n      ms += d.getTimezoneOffset() * 60000\n      var doy = parseInt(ms / 60000 / 60 / 24, 10) + 1\n      return _xPad(doy, 0, 100)\n    },\n    k: ['getHours', '0'],\n    // not in PHP, but implemented here (as in Yahoo)\n    l: function (d) {\n      var l = d.getHours() % 12\n      return _xPad(l === 0 ? 12 : l, ' ')\n    },\n    m: function (d) {\n      return _xPad(d.getMonth() + 1, 0)\n    },\n    M: ['getMinutes', '0'],\n    p: function (d) {\n      return lcTime.p[d.getHours() >= 12 ? 1 : 0]\n    },\n    P: function (d) {\n      return lcTime.P[d.getHours() >= 12 ? 1 : 0]\n    },\n    s: function (d) {\n      // Yahoo uses return parseInt(d.getTime()/1000, 10);\n      return Date.parse(d) / 1000\n    },\n    S: ['getSeconds', '0'],\n    u: function (d) {\n      var dow = d.getDay()\n      return ((dow === 0) ? 7 : dow)\n    },\n    U: function (d) {\n      var doy = parseInt(_formats.j(d), 10)\n      var rdow = 6 - d.getDay()\n      var woy = parseInt((doy + rdow) / 7, 10)\n      return _xPad(woy, 0)\n    },\n    V: function (d) {\n      var woy = parseInt(_formats.W(d), 10)\n      var dow11 = (new Date('' + d.getFullYear() + '/1/1')).getDay()\n      // First week is 01 and not 00 as in the case of %U and %W,\n      // so we add 1 to the final result except if day 1 of the year\n      // is a Monday (then %W returns 01).\n      // We also need to subtract 1 if the day 1 of the year is\n      // Friday-Sunday, so the resulting equation becomes:\n      var idow = woy + (dow11 > 4 || dow11 <= 1 ? 0 : 1)\n      if (idow === 53 && (new Date('' + d.getFullYear() + '/12/31')).getDay() < 4) {\n        idow = 1\n      } else if (idow === 0) {\n        idow = _formats.V(new Date('' + (d.getFullYear() - 1) + '/12/31'))\n      }\n      return _xPad(idow, 0)\n    },\n    w: 'getDay',\n    W: function (d) {\n      var doy = parseInt(_formats.j(d), 10)\n      var rdow = 7 - _formats.u(d)\n      var woy = parseInt((doy + rdow) / 7, 10)\n      return _xPad(woy, 0, 10)\n    },\n    y: function (d) {\n      return _xPad(d.getFullYear() % 100, 0)\n    },\n    Y: 'getFullYear',\n    z: function (d) {\n      var o = d.getTimezoneOffset()\n      var H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n      var M = _xPad(o % 60, 0)\n      return (o > 0 ? '-' : '+') + H + M\n    },\n    Z: function (d) {\n      return d.toString().replace(/^.*\\(([^)]+)\\)$/, '$1')\n    },\n    '%': function (d) {\n      return '%'\n    }\n  }\n\n  var _date = (typeof timestamp === 'undefined')\n    ? new Date()\n    : (timestamp instanceof Date)\n      ? new Date(timestamp)\n      : new Date(timestamp * 1000)\n\n  var _aggregates = {\n    c: 'locale',\n    D: '%m/%d/%y',\n    F: '%y-%m-%d',\n    h: '%b',\n    n: '\\n',\n    r: 'locale',\n    R: '%H:%M',\n    t: '\\t',\n    T: '%H:%M:%S',\n    x: 'locale',\n    X: 'locale'\n  }\n\n  // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n  while (fmt.match(/%[cDFhnrRtTxX]/)) {\n    fmt = fmt.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n      var f = _aggregates[m1]\n      return (f === 'locale' ? lcTime[m1] : f)\n    })\n  }\n\n  // Now replace formats - we need a closure so that the date object gets passed through\n  var str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n    var f = _formats[m1]\n    if (typeof f === 'string') {\n      return _date[f]()\n    } else if (typeof f === 'function') {\n      return f(_date)\n    } else if (typeof f === 'object' && typeof f[0] === 'string') {\n      return _xPad(_date[f[0]](), f[1])\n    } else {\n      // Shouldn't reach here\n      return m1\n    }\n  })\n\n  return str\n}\n"]}