diff options
Diffstat (limited to 'node_modules/locutus/php/datetime/strptime.js.map')
-rw-r--r-- | node_modules/locutus/php/datetime/strptime.js.map | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/node_modules/locutus/php/datetime/strptime.js.map b/node_modules/locutus/php/datetime/strptime.js.map new file mode 100644 index 0000000..843cd89 --- /dev/null +++ b/node_modules/locutus/php/datetime/strptime.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../src/php/datetime/strptime.js"],"names":["module","exports","strptime","dateStr","format","setlocale","require","arrayMap","retObj","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","unparsed","i","j","amPmOffset","prevHour","_reset","dateObj","realMday","jan1","o","d","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","Date","UTC","Math","ceil","_date","_NWS","_WS","_aggregates","c","D","F","r","R","T","x","X","_pregQuote","str","replace","$global","window","global","$locutus","locale","php","localeCategories","LC_TIME","lcTime","locales","match","m0","m1","f","_addNext","regex","cb","RegExp","check","slice","exec","testNull","apply","Error","length","_addLocalized","formatChar","category","join","m","search","charAt","literalPos","indexOf","year","parseInt","dayMonth","hour","dayYear","month","minute","test","timestamp","date","second","e"],"mappings":"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","file":"strptime.js","sourcesContent":["module.exports = function strptime (dateStr, format) {\n // discuss at: http://locutus.io/php/strptime/\n // original by: Brett Zamir (http://brett-zamir.me)\n // original by: strftime\n // example 1: strptime('20091112222135', '%Y%m%d%H%M%S') // Return value will depend on date and locale\n // returns 1: {tm_sec: 35, tm_min: 21, tm_hour: 22, tm_mday: 12, tm_mon: 10, tm_year: 109, tm_wday: 4, tm_yday: 315, unparsed: ''}\n // example 2: strptime('2009extra', '%Y')\n // returns 2: {tm_sec:0, tm_min:0, tm_hour:0, tm_mday:0, tm_mon:0, tm_year:109, tm_wday:3, tm_yday: -1, unparsed: 'extra'}\n\n var setlocale = require('../strings/setlocale')\n var arrayMap = require('../array/array_map')\n\n var retObj = {\n tm_sec: 0,\n tm_min: 0,\n tm_hour: 0,\n tm_mday: 0,\n tm_mon: 0,\n tm_year: 0,\n tm_wday: 0,\n tm_yday: 0,\n unparsed: ''\n }\n var i = 0\n var j = 0\n var amPmOffset = 0\n var prevHour = false\n var _reset = function (dateObj, realMday) {\n // realMday is to allow for a value of 0 in return results (but without\n // messing up the Date() object)\n var jan1\n var o = retObj\n var d = dateObj\n o.tm_sec = d.getUTCSeconds()\n o.tm_min = d.getUTCMinutes()\n o.tm_hour = d.getUTCHours()\n o.tm_mday = realMday === 0 ? realMday : d.getUTCDate()\n o.tm_mon = d.getUTCMonth()\n o.tm_year = d.getUTCFullYear() - 1900\n o.tm_wday = realMday === 0 ? (d.getUTCDay() > 0 ? d.getUTCDay() - 1 : 6) : d.getUTCDay()\n jan1 = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n o.tm_yday = Math.ceil((d - jan1) / (1000 * 60 * 60 * 24))\n }\n var _date = function () {\n var o = retObj\n // We set date to at least 1 to ensure year or month doesn't go backwards\n return _reset(new Date(Date.UTC(\n o.tm_year + 1900,\n o.tm_mon,\n o.tm_mday || 1,\n o.tm_hour,\n o.tm_min,\n o.tm_sec\n )),\n o.tm_mday)\n }\n\n var _NWS = /\\S/\n var _WS = /\\s/\n\n var _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n r: 'locale',\n R: '%H:%M',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale'\n }\n\n /* Fix: Locale alternatives are supported though not documented in PHP; see http://linux.die.net/man/3/strptime\n Ec\n EC\n Ex\n EX\n Ey\n EY\n Od or Oe\n OH\n OI\n Om\n OM\n OS\n OU\n Ow\n OW\n Oy\n */\n var _pregQuote = function (str) {\n return (str + '').replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n var locale = $locutus.php.localeCategories.LC_TIME\n var lcTime = $locutus.php.locales[locale].LC_TIME\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (format.match(/%[cDFhnrRtTxX]/)) {\n format = format.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n var f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n var _addNext = function (j, regex, cb) {\n if (typeof regex === 'string') {\n regex = new RegExp('^' + regex, 'i')\n }\n var check = dateStr.slice(j)\n var match = regex.exec(check)\n // Even if the callback returns null after assigning to the\n // return object, the object won't be saved anyways\n var testNull = match ? cb.apply(null, match) : null\n if (testNull === null) {\n throw new Error('No match in string')\n }\n return j + match[0].length\n }\n\n var _addLocalized = function (j, formatChar, category) {\n // Could make each parenthesized instead and pass index to callback:\n return _addNext(j, arrayMap(_pregQuote, lcTime[formatChar]).join('|'),\n function (m) {\n var match = lcTime[formatChar].search(new RegExp('^' + _pregQuote(m) + '$', 'i'))\n if (match) {\n retObj[category] = match[0]\n }\n })\n }\n\n // BEGIN PROCESSING CHARACTERS\n for (i = 0, j = 0; i < format.length; i++) {\n if (format.charAt(i) === '%') {\n var literalPos = ['%', 'n', 't'].indexOf(format.charAt(i + 1))\n if (literalPos !== -1) {\n if (['%', '\\n', '\\t'].indexOf(dateStr.charAt(j)) === literalPos) {\n // a matched literal\n ++i\n // skip beyond\n ++j\n continue\n }\n // Format indicated a percent literal, but not actually present\n return false\n }\n var formatChar = format.charAt(i + 1)\n try {\n switch (formatChar) {\n case 'a':\n case 'A':\n // Sunday-Saturday\n // Changes nothing else\n j = _addLocalized(j, formatChar, 'tm_wday')\n break\n case 'h':\n case 'b':\n // Jan-Dec\n j = _addLocalized(j, 'b', 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'B':\n // January-December\n j = _addLocalized(j, formatChar, 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'C':\n // 0+; century (19 for 20th)\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(j, /^\\d?\\d/,\n\n function (d) {\n var year = (parseInt(d, 10) - 19) * 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'd':\n case 'e':\n // 1-31 day\n j = _addNext(j, formatChar === 'd'\n ? /^(0[1-9]|[1-2]\\d|3[0-1])/\n : /^([1-2]\\d|3[0-1]|[1-9])/,\n function (d) {\n var dayMonth = parseInt(d, 10)\n retObj.tm_mday = dayMonth\n // Also changes w_day, y_day\n _date()\n })\n break\n case 'g':\n // No apparent effect; 2-digit year (see 'V')\n break\n case 'G':\n // No apparent effect; 4-digit year (see 'V')'\n break\n case 'H':\n // 00-23 hours\n j = _addNext(j, /^([0-1]\\d|2[0-3])/, function (d) {\n var hour = parseInt(d, 10)\n retObj.tm_hour = hour\n // Changes nothing else\n })\n break\n case 'l':\n case 'I':\n // 01-12 hours\n j = _addNext(j, formatChar === 'l'\n ? /^([1-9]|1[0-2])/\n : /^(0[1-9]|1[0-2])/,\n function (d) {\n var hour = parseInt(d, 10) - 1 + amPmOffset\n retObj.tm_hour = hour\n // Used for coordinating with am-pm\n prevHour = true\n // Changes nothing else, but affected by prior 'p/P'\n })\n break\n case 'j':\n // 001-366 day of year\n j = _addNext(j, /^(00[1-9]|0[1-9]\\d|[1-2]\\d\\d|3[0-6][0-6])/, function (d) {\n var dayYear = parseInt(d, 10) - 1\n retObj.tm_yday = dayYear\n // Changes nothing else\n // (oddly, since if original by a given year, could calculate other fields)\n })\n break\n case 'm':\n // 01-12 month\n j = _addNext(j, /^(0[1-9]|1[0-2])/, function (d) {\n var month = parseInt(d, 10) - 1\n retObj.tm_mon = month\n // Also sets wday and yday\n _date()\n })\n break\n case 'M':\n // 00-59 minutes\n j = _addNext(j, /^[0-5]\\d/, function (d) {\n var minute = parseInt(d, 10)\n retObj.tm_min = minute\n // Changes nothing else\n })\n break\n case 'P':\n // Seems not to work; AM-PM\n // Could make fall-through instead since supposed to be a synonym despite PHP docs\n return false\n case 'p':\n // am-pm\n j = _addNext(j, /^(am|pm)/i, function (d) {\n // No effect on 'H' since already 24 hours but\n // works before or after setting of l/I hour\n amPmOffset = (/a/)\n .test(d) ? 0 : 12\n if (prevHour) {\n retObj.tm_hour += amPmOffset\n }\n })\n break\n case 's':\n // Unix timestamp (in seconds)\n j = _addNext(j, /^\\d+/, function (d) {\n var timestamp = parseInt(d, 10)\n var date = new Date(Date.UTC(timestamp * 1000))\n _reset(date)\n // Affects all fields, but can't be negative (and initial + not allowed)\n })\n break\n case 'S':\n // 00-59 seconds\n j = _addNext(j, /^[0-5]\\d/, // strptime also accepts 60-61 for some reason\n\n function (d) {\n var second = parseInt(d, 10)\n retObj.tm_sec = second\n // Changes nothing else\n })\n break\n case 'u':\n case 'w':\n // 0 (Sunday)-6(Saturday)\n j = _addNext(j, /^\\d/, function (d) {\n retObj.tm_wday = d - (formatChar === 'u')\n // Changes nothing else apparently\n })\n break\n case 'U':\n case 'V':\n case 'W':\n // Apparently ignored (week of year, from 1st Monday)\n break\n case 'y':\n // 69 (or higher) for 1969+, 68 (or lower) for 2068-\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(j, /^\\d?\\d/,\n\n function (d) {\n d = parseInt(d, 10)\n var year = d >= 69 ? d : d + 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'Y':\n // 2010 (4-digit year)\n // PHP docs say four-digit, but accepts one-digit (four-digit max):\n j = _addNext(j, /^\\d{1,4}/,\n\n function (d) {\n var year = (parseInt(d, 10)) - 1900\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'z':\n // Timezone; on my system, strftime gives -0800,\n // but strptime seems not to alter hour setting\n break\n case 'Z':\n // Timezone; on my system, strftime gives PST, but strptime treats text as unparsed\n break\n default:\n throw new Error('Unrecognized formatting character in strptime()')\n }\n } catch (e) {\n if (e === 'No match in string') {\n // Allow us to exit\n // There was supposed to be a matching format but there wasn't\n return false\n }\n // Calculate skipping beyond initial percent too\n }\n ++i\n } else if (format.charAt(i) !== dateStr.charAt(j)) {\n // If extra whitespace at beginning or end of either, or between formats, no problem\n // (just a problem when between % and format specifier)\n\n // If the string has white-space, it is ok to ignore\n if (dateStr.charAt(j).search(_WS) !== -1) {\n j++\n // Let the next iteration try again with the same format character\n i--\n } else if (format.charAt(i).search(_NWS) !== -1) {\n // Any extra formatting characters besides white-space causes\n // problems (do check after WS though, as may just be WS in string before next character)\n return false\n }\n // Extra WS in format\n // Adjust strings when encounter non-matching whitespace, so they align in future checks above\n // Will check on next iteration (against same (non-WS) string character)\n } else {\n j++\n }\n }\n\n // POST-PROCESSING\n // Will also get extra whitespace; empty string if none\n retObj.unparsed = dateStr.slice(j)\n return retObj\n}\n"]}
\ No newline at end of file |