locutus 2.0.15 → 2.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/stdio/sprintf.js.map +1 -1
- package/package.json +1 -1
- package/php/array/array_shift.js +0 -19
- package/php/array/array_shift.js.map +1 -1
- package/php/datetime/date.js.map +1 -1
- package/php/datetime/getdate.js.map +1 -1
- package/php/datetime/gmdate.js.map +1 -1
- package/php/datetime/microtime.js +1 -1
- package/php/datetime/microtime.js.map +1 -1
- package/php/datetime/strftime.js +2 -3
- package/php/datetime/strftime.js.map +1 -1
- package/php/datetime/strptime.js +19 -20
- package/php/datetime/strptime.js.map +1 -1
- package/php/filesystem/pathinfo.js +2 -3
- package/php/filesystem/pathinfo.js.map +1 -1
- package/php/info/version_compare.js +10 -11
- package/php/info/version_compare.js.map +1 -1
- package/php/json/json_encode.js.map +1 -1
- package/php/net-gopher/gopher_parsedir.js +2 -3
- package/php/net-gopher/gopher_parsedir.js.map +1 -1
- package/php/strings/ltrim.js.map +1 -1
- package/php/strings/money_format.js.map +1 -1
- package/php/strings/rtrim.js.map +1 -1
- package/php/strings/setlocale.js +2 -3
- package/php/strings/setlocale.js.map +1 -1
- package/php/strings/sscanf.js +1 -1
- package/php/strings/sscanf.js.map +1 -1
- package/php/var/var_export.js +1 -1
- package/php/var/var_export.js.map +1 -1
- package/php/xdiff/xdiff_string_patch.js +2 -3
- package/php/xdiff/xdiff_string_patch.js.map +1 -1
- package/python/string/punctuation.js +10 -0
- package/python/string/punctuation.js.map +1 -0
package/c/stdio/sprintf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/c/stdio/sprintf.js"],"names":["pad","str","minLength","padChar","leftJustify","diff","length","padStr","repeat","Math","max","module","exports","sprintf","format","args","placeholderRegex","index","replace","match","param","flags","width","prec","modifier","includes","split","reduce","pc","c","positiveSign","minWidth","precision","Error","arg","undefined","isNaN","String","number","trunc","abs","prefix","toString","op","Number","prototype","toExponential","toFixed","toPrecision","indexOf","toLowerCase","tr","toUpperCase","isSpecial","isFinite","substr","call","intVal","base","chr","charAt","fromCharCode"],"mappings":";;AAAA,SAASA,GAAT,CAAcC,GAAd,EAAmBC,SAAnB,EAA8BC,OAA9B,EAAuCC,WAAvC,EAAoD;AAClD,MAAMC,OAAOH,YAAYD,IAAIK,MAA7B;AACA,MAAMC,SAASJ,QAAQK,MAAR,CAAeC,KAAKC,GAAL,CAAS,CAAT,EAAYL,IAAZ,CAAf,CAAf;;AAEA,SAAOD,cAAcH,MAAMM,MAApB,GAA6BA,SAASN,GAA7C;AACD;;AAEDU,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,MAAlB,EAAmC;AAAA,oCAANC,IAAM;AAANA,QAAM;AAAA;;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,0DAAzB;;AAEA,MAAIC,QAAQ,CAAZ;;AAEA,SAAOH,OAAOI,OAAP,CAAeF,gBAAf,EAAiC,UAAUG,KAAV,EAAiBC,KAAjB,EAAwBC,KAAxB,EAA+BC,KAA/B,EAAsCC,IAAtC,EAA4CC,QAA5C,EAAsD;AAC5F,QAAMpB,cAAciB,MAAMI,QAAN,CAAe,GAAf,CAApB;;AAEA;AACA,QAAMtB,UAAUC,
|
|
1
|
+
{"version":3,"sources":["../../../src/c/stdio/sprintf.js"],"names":["pad","str","minLength","padChar","leftJustify","diff","length","padStr","repeat","Math","max","module","exports","sprintf","format","args","placeholderRegex","index","replace","match","param","flags","width","prec","modifier","includes","split","reduce","pc","c","positiveSign","minWidth","precision","Error","arg","undefined","isNaN","String","number","trunc","abs","prefix","toString","op","Number","prototype","toExponential","toFixed","toPrecision","indexOf","toLowerCase","tr","toUpperCase","isSpecial","isFinite","substr","call","intVal","base","chr","charAt","fromCharCode"],"mappings":"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","file":"sprintf.js","sourcesContent":["function pad (str, minLength, padChar, leftJustify) {\n const diff = minLength - str.length\n const padStr = padChar.repeat(Math.max(0, diff))\n\n return leftJustify ? str + padStr : padStr + str\n}\n\nmodule.exports = function sprintf (format, ...args) {\n // original by: Rafał Kukawski\n // bugfixed by: Param Siddharth\n // example 1: sprintf('%+10.*d', 5, 1)\n // returns 1: ' +00001'\n // example 2: sprintf('%s is a %d%% %s %s.', 'Param', 90, 'good', 'boy')\n // returns 2: 'Param is a 90% good boy.'\n const placeholderRegex = /%(?:(\\d+)\\$)?([-+#0 ]*)(\\*|\\d+)?(?:\\.(\\*|\\d*))?([\\s\\S])/g\n\n let index = 0\n\n return format.replace(placeholderRegex, function (match, param, flags, width, prec, modifier) {\n const leftJustify = flags.includes('-')\n\n // flag '0' is ignored when flag '-' is present\n const padChar = leftJustify\n ? ' '\n : flags.split('').reduce((pc, c) => [' ', '0'].includes(c) ? c : pc, ' ')\n\n const positiveSign = flags.includes('+') ? '+' : flags.includes(' ') ? ' ' : ''\n\n const minWidth = width === '*' ? args[index++] : +width || 0\n let precision = prec === '*' ? args[index++] : +prec\n\n if (param && !+param) {\n throw Error('Param index must be greater than 0')\n }\n\n if (param && +param > args.length) {\n throw Error('Too few arguments')\n }\n\n // compiling with default clang params, mixed positional and non-positional params\n // give only a warning\n const arg = param ? args[param - 1] : args[index]\n\n if (modifier !== '%') {\n index++\n }\n\n if (precision === undefined || isNaN(precision)) {\n precision = 'eEfFgG'.includes(modifier) ? 6 : (modifier === 's' ? String(arg).length : undefined)\n }\n\n switch (modifier) {\n case '%':\n return '%'\n case 'd':\n case 'i': {\n const number = Math.trunc(+arg || 0)\n const abs = Math.abs(number)\n const prefix = number < 0 ? '-' : positiveSign\n\n const str = pad(abs.toString(), precision || 0, '0', false)\n\n if (padChar === '0') {\n return prefix + pad(str, minWidth - prefix.length, padChar, leftJustify)\n }\n\n return pad(prefix + str, minWidth, padChar, leftJustify)\n }\n case 'e':\n case 'E':\n case 'f':\n case 'F':\n case 'g':\n case 'G': {\n const number = +arg\n const abs = Math.abs(number)\n const prefix = number < 0 ? '-' : positiveSign\n\n const op = [\n Number.prototype.toExponential,\n Number.prototype.toFixed,\n Number.prototype.toPrecision\n ]['efg'.indexOf(modifier.toLowerCase())]\n\n const tr = [\n String.prototype.toLowerCase,\n String.prototype.toUpperCase\n ]['eEfFgG'.indexOf(modifier) % 2]\n\n const isSpecial = isNaN(abs) || !isFinite(abs)\n\n const str = isSpecial ? abs.toString().substr(0, 3) : op.call(abs, precision)\n\n if (padChar === '0' && !isSpecial) {\n return prefix + pad(tr.call(str), minWidth - prefix.length, padChar, leftJustify)\n }\n\n return pad(tr.call(prefix + str), minWidth, isSpecial ? ' ' : padChar, leftJustify)\n }\n case 'b':\n case 'o':\n case 'u':\n case 'x':\n case 'X': {\n const number = +arg || 0\n const intVal = Math.trunc(number) + (number < 0 ? 0xFFFFFFFF + 1 : 0)\n const base = [2, 8, 10, 16, 16]['bouxX'.indexOf(modifier)]\n const prefix = intVal && flags.includes('#') ? ['', '0', '', '0x', '0X']['bouxXX'.indexOf(modifier)] : ''\n\n if (padChar === '0' && prefix) {\n return prefix + pad(pad(intVal.toString(base), precision, '0', false), minWidth - prefix.length, padChar, leftJustify)\n }\n\n return pad(prefix + pad(intVal.toString(base), precision, '0', false), minWidth, padChar, leftJustify)\n }\n case 'p':\n case 'n': {\n throw Error(`'${modifier}' modifier not supported`)\n }\n case 's': {\n return pad(String(arg).substr(0, precision), minWidth, padChar, leftJustify)\n }\n case 'c': {\n // extension, if arg is string, take first char\n const chr = typeof arg === 'string' ? arg.charAt(0) : String.fromCharCode(+arg)\n return pad(chr, minWidth, padChar, leftJustify)\n }\n case 'a':\n case 'A':\n throw Error(`'${modifier}' modifier not yet implemented`)\n default:\n // for unknown modifiers, return the modifier char\n return modifier\n }\n })\n}\n"]}
|
package/package.json
CHANGED
package/php/array/array_shift.js
CHANGED
|
@@ -9,25 +9,6 @@ module.exports = function array_shift(inputArr) {
|
|
|
9
9
|
// example 1: array_shift(['Kevin', 'van', 'Zonneveld'])
|
|
10
10
|
// returns 1: 'Kevin'
|
|
11
11
|
|
|
12
|
-
var _checkToUpIndices = function _checkToUpIndices(arr, ct, key) {
|
|
13
|
-
// Deal with situation, e.g., if encounter index 4 and try
|
|
14
|
-
// to set it to 0, but 0 exists later in loop (need to
|
|
15
|
-
// increment all subsequent (skipping current key, since
|
|
16
|
-
// we need its value below) until find unused)
|
|
17
|
-
if (arr[ct] !== undefined) {
|
|
18
|
-
var tmp = ct;
|
|
19
|
-
ct += 1;
|
|
20
|
-
if (ct === key) {
|
|
21
|
-
ct += 1;
|
|
22
|
-
}
|
|
23
|
-
ct = _checkToUpIndices(arr, ct, key);
|
|
24
|
-
arr[ct] = arr[tmp];
|
|
25
|
-
delete arr[tmp];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return ct;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
12
|
if (inputArr.length === 0) {
|
|
32
13
|
return null;
|
|
33
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/array/array_shift.js"],"names":["module","exports","array_shift","inputArr","
|
|
1
|
+
{"version":3,"sources":["../../../src/php/array/array_shift.js"],"names":["module","exports","array_shift","inputArr","length","shift"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,QAAtB,EAAgC;AAAE;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,SAASC,MAAT,KAAoB,CAAxB,EAA2B;AACzB,WAAO,IAAP;AACD;AACD,MAAID,SAASC,MAAT,GAAkB,CAAtB,EAAyB;AACvB,WAAOD,SAASE,KAAT,EAAP;AACD;AACF,CAdD","file":"array_shift.js","sourcesContent":["module.exports = function array_shift (inputArr) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/array_shift/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Martijn Wieringa\n // note 1: Currently does not handle objects\n // example 1: array_shift(['Kevin', 'van', 'Zonneveld'])\n // returns 1: 'Kevin'\n\n if (inputArr.length === 0) {\n return null\n }\n if (inputArr.length > 0) {\n return inputArr.shift()\n }\n}\n"]}
|
package/php/datetime/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/date.js"],"names":["module","exports","date","format","timestamp","jsdate","f","txtWords","formatChr","formatChrCb","t","s","_pad","n","c","String","length","d","j","D","l","slice","getDate","w","N","S","i","parseInt","getDay","z","a","Date","Y","b","Math","round","W","getFullYear","F","m","M","getMonth","L","o","y","toString","getHours","A","toUpperCase","B","H","getUTCHours","getUTCMinutes","getUTCSeconds","floor","g","G","h","getMinutes","getSeconds","u","getMilliseconds","e","msg","Error","I","UTC","O","tzo","getTimezoneOffset","abs","P","substr","T","Z","replace","r","U","_date","undefined"],"mappings":"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","file":"date.js","sourcesContent":["module.exports = function date (format, timestamp) {\n // discuss at: https://locutus.io/php/date/\n // original by: Carlos R. L. Rodrigues (https://www.jsfromhell.com)\n // original by: gettimeofday\n // parts by: Peter-Paul Koch (https://www.quirksmode.org/js/beat.html)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: MeEtc (https://yass.meetcweb.com)\n // improved by: Brad Touesnard\n // improved by: Tim Wiel\n // improved by: Bryan Elliott\n // improved by: David Randall\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Thomas Beaucourt (https://www.webapp.fr)\n // improved by: JT\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Rafał Kukawski (https://blog.kukawski.pl)\n // improved by: Theriault (https://github.com/Theriault)\n // input by: Brett Zamir (https://brett-zamir.me)\n // input by: majak\n // input by: Alex\n // input by: Martin\n // input by: Alex Wilson\n // input by: Haravikk\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: majak\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: omid (https://locutus.io/php/380:380#comment_137122)\n // bugfixed by: Chris (https://www.devotis.nl/)\n // note 1: Uses global: locutus to store the default timezone\n // note 1: Although the function potentially allows timezone info\n // note 1: (see notes), it currently does not set\n // note 1: per a timezone specified by date_default_timezone_set(). Implementers might use\n // note 1: $locutus.currentTimezoneOffset and\n // note 1: $locutus.currentTimezoneDST set by that function\n // note 1: in order to adjust the dates in this function\n // note 1: (or our other date functions!) accordingly\n // example 1: date('H:m:s \\\\m \\\\i\\\\s \\\\m\\\\o\\\\n\\\\t\\\\h', 1062402400)\n // returns 1: '07:09:40 m is month'\n // example 2: date('F j, Y, g:i a', 1062462400)\n // returns 2: 'September 2, 2003, 12:26 am'\n // example 3: date('Y W o', 1062462400)\n // returns 3: '2003 36 2003'\n // example 4: var $x = date('Y m d', (new Date()).getTime() / 1000)\n // example 4: $x = $x + ''\n // example 4: var $result = $x.length // 2009 01 09\n // returns 4: 10\n // example 5: date('W', 1104534000)\n // returns 5: '52'\n // example 6: date('B t', 1104534000)\n // returns 6: '999 31'\n // example 7: date('W U', 1293750000.82); // 2010-12-31\n // returns 7: '52 1293750000'\n // example 8: date('W', 1293836400); // 2011-01-01\n // returns 8: '52'\n // example 9: date('W Y-m-d', 1293974054); // 2011-01-02\n // returns 9: '52 2011-01-02'\n // test: skip-1 skip-2 skip-5\n\n let jsdate, f\n // Keep this here (works, but for code commented-out below for file size reasons)\n // var tal= [];\n const txtWords = [\n 'Sun', 'Mon', 'Tues', 'Wednes', 'Thurs', 'Fri', 'Satur',\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n ]\n // trailing backslash -> (dropped)\n // a backslash followed by any character (including backslash) -> the character\n // empty string -> empty string\n const formatChr = /\\\\?(.?)/gi\n const formatChrCb = function (t, s) {\n return f[t] ? f[t]() : s\n }\n const _pad = function (n, c) {\n n = String(n)\n while (n.length < c) {\n n = '0' + n\n }\n return n\n }\n f = {\n // Day\n d: function () {\n // Day of month w/leading 0; 01..31\n return _pad(f.j(), 2)\n },\n D: function () {\n // Shorthand day name; Mon...Sun\n return f.l()\n .slice(0, 3)\n },\n j: function () {\n // Day of month; 1..31\n return jsdate.getDate()\n },\n l: function () {\n // Full day name; Monday...Sunday\n return txtWords[f.w()] + 'day'\n },\n N: function () {\n // ISO-8601 day of week; 1[Mon]..7[Sun]\n return f.w() || 7\n },\n S: function () {\n // Ordinal suffix for day of month; st, nd, rd, th\n const j = f.j()\n let i = j % 10\n if (i <= 3 && parseInt((j % 100) / 10, 10) === 1) {\n i = 0\n }\n return ['st', 'nd', 'rd'][i - 1] || 'th'\n },\n w: function () {\n // Day of week; 0[Sun]..6[Sat]\n return jsdate.getDay()\n },\n z: function () {\n // Day of year; 0..365\n const a = new Date(f.Y(), f.n() - 1, f.j())\n const b = new Date(f.Y(), 0, 1)\n return Math.round((a - b) / 864e5)\n },\n\n // Week\n W: function () {\n // ISO-8601 week number\n const a = new Date(f.Y(), f.n() - 1, f.j() - f.N() + 3)\n const b = new Date(a.getFullYear(), 0, 4)\n return _pad(1 + Math.round((a - b) / 864e5 / 7), 2)\n },\n\n // Month\n F: function () {\n // Full month name; January...December\n return txtWords[6 + f.n()]\n },\n m: function () {\n // Month w/leading 0; 01...12\n return _pad(f.n(), 2)\n },\n M: function () {\n // Shorthand month name; Jan...Dec\n return f.F()\n .slice(0, 3)\n },\n n: function () {\n // Month; 1...12\n return jsdate.getMonth() + 1\n },\n t: function () {\n // Days in month; 28...31\n return (new Date(f.Y(), f.n(), 0))\n .getDate()\n },\n\n // Year\n L: function () {\n // Is leap year?; 0 or 1\n const j = f.Y()\n return j % 4 === 0 & j % 100 !== 0 | j % 400 === 0\n },\n o: function () {\n // ISO-8601 year\n const n = f.n()\n const W = f.W()\n const Y = f.Y()\n return Y + (n === 12 && W < 9 ? 1 : n === 1 && W > 9 ? -1 : 0)\n },\n Y: function () {\n // Full year; e.g. 1980...2010\n return jsdate.getFullYear()\n },\n y: function () {\n // Last two digits of year; 00...99\n return f.Y()\n .toString()\n .slice(-2)\n },\n\n // Time\n a: function () {\n // am or pm\n return jsdate.getHours() > 11 ? 'pm' : 'am'\n },\n A: function () {\n // AM or PM\n return f.a()\n .toUpperCase()\n },\n B: function () {\n // Swatch Internet time; 000..999\n const H = jsdate.getUTCHours() * 36e2\n // Hours\n const i = jsdate.getUTCMinutes() * 60\n // Minutes\n // Seconds\n const s = jsdate.getUTCSeconds()\n return _pad(Math.floor((H + i + s + 36e2) / 86.4) % 1e3, 3)\n },\n g: function () {\n // 12-Hours; 1..12\n return f.G() % 12 || 12\n },\n G: function () {\n // 24-Hours; 0..23\n return jsdate.getHours()\n },\n h: function () {\n // 12-Hours w/leading 0; 01..12\n return _pad(f.g(), 2)\n },\n H: function () {\n // 24-Hours w/leading 0; 00..23\n return _pad(f.G(), 2)\n },\n i: function () {\n // Minutes w/leading 0; 00..59\n return _pad(jsdate.getMinutes(), 2)\n },\n s: function () {\n // Seconds w/leading 0; 00..59\n return _pad(jsdate.getSeconds(), 2)\n },\n u: function () {\n // Microseconds; 000000-999000\n return _pad(jsdate.getMilliseconds() * 1000, 6)\n },\n\n // Timezone\n e: function () {\n // Timezone identifier; e.g. Atlantic/Azores, ...\n // The following works, but requires inclusion of the very large\n // timezone_abbreviations_list() function.\n /* return that.date_default_timezone_get();\n */\n const msg = 'Not supported (see source code of date() for timezone on how to add support)'\n throw new Error(msg)\n },\n I: function () {\n // DST observed?; 0 or 1\n // Compares Jan 1 minus Jan 1 UTC to Jul 1 minus Jul 1 UTC.\n // If they are not equal, then DST is observed.\n const a = new Date(f.Y(), 0)\n // Jan 1\n const c = Date.UTC(f.Y(), 0)\n // Jan 1 UTC\n const b = new Date(f.Y(), 6)\n // Jul 1\n // Jul 1 UTC\n const d = Date.UTC(f.Y(), 6)\n return ((a - c) !== (b - d)) ? 1 : 0\n },\n O: function () {\n // Difference to GMT in hour format; e.g. +0200\n const tzo = jsdate.getTimezoneOffset()\n const a = Math.abs(tzo)\n return (tzo > 0 ? '-' : '+') + _pad(Math.floor(a / 60) * 100 + a % 60, 4)\n },\n P: function () {\n // Difference to GMT w/colon; e.g. +02:00\n const O = f.O()\n return (O.substr(0, 3) + ':' + O.substr(3, 2))\n },\n T: function () {\n // The following works, but requires inclusion of the very\n // large timezone_abbreviations_list() function.\n /* var abbr, i, os, _default;\n if (!tal.length) {\n tal = that.timezone_abbreviations_list();\n }\n if ($locutus && $locutus.default_timezone) {\n _default = $locutus.default_timezone;\n for (abbr in tal) {\n for (i = 0; i < tal[abbr].length; i++) {\n if (tal[abbr][i].timezone_id === _default) {\n return abbr.toUpperCase();\n }\n }\n }\n }\n for (abbr in tal) {\n for (i = 0; i < tal[abbr].length; i++) {\n os = -jsdate.getTimezoneOffset() * 60;\n if (tal[abbr][i].offset === os) {\n return abbr.toUpperCase();\n }\n }\n }\n */\n return 'UTC'\n },\n Z: function () {\n // Timezone offset in seconds (-43200...50400)\n return -jsdate.getTimezoneOffset() * 60\n },\n\n // Full Date/Time\n c: function () {\n // ISO-8601 date.\n return 'Y-m-d\\\\TH:i:sP'.replace(formatChr, formatChrCb)\n },\n r: function () {\n // RFC 2822\n return 'D, d M Y H:i:s O'.replace(formatChr, formatChrCb)\n },\n U: function () {\n // Seconds since UNIX epoch\n return jsdate / 1000 | 0\n }\n }\n\n const _date = function (format, timestamp) {\n jsdate = (timestamp === undefined ? new Date() // Not provided\n : (timestamp instanceof Date) ? new Date(timestamp) // JS Date()\n : new Date(timestamp * 1000) // UNIX timestamp (auto-convert to int)\n )\n return format.replace(formatChr, formatChrCb)\n }\n\n return _date(format, timestamp)\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/date.js"],"names":["module","exports","date","format","timestamp","jsdate","f","txtWords","formatChr","formatChrCb","t","s","_pad","n","c","String","length","d","j","D","l","slice","getDate","w","N","S","i","parseInt","getDay","z","a","Date","Y","b","Math","round","W","getFullYear","F","m","M","getMonth","L","o","y","toString","getHours","A","toUpperCase","B","H","getUTCHours","getUTCMinutes","getUTCSeconds","floor","g","G","h","getMinutes","getSeconds","u","getMilliseconds","e","msg","Error","I","UTC","O","tzo","getTimezoneOffset","abs","P","substr","T","Z","replace","r","U","_date","undefined"],"mappings":"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","file":"date.js","sourcesContent":["module.exports = function date (format, timestamp) {\n // discuss at: https://locutus.io/php/date/\n // original by: Carlos R. L. Rodrigues (https://www.jsfromhell.com)\n // original by: gettimeofday\n // parts by: Peter-Paul Koch (https://www.quirksmode.org/js/beat.html)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: MeEtc (https://yass.meetcweb.com)\n // improved by: Brad Touesnard\n // improved by: Tim Wiel\n // improved by: Bryan Elliott\n // improved by: David Randall\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Thomas Beaucourt (https://www.webapp.fr)\n // improved by: JT\n // improved by: Theriault (https://github.com/Theriault)\n // improved by: Rafał Kukawski (https://blog.kukawski.pl)\n // improved by: Theriault (https://github.com/Theriault)\n // input by: Brett Zamir (https://brett-zamir.me)\n // input by: majak\n // input by: Alex\n // input by: Martin\n // input by: Alex Wilson\n // input by: Haravikk\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: majak\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: omid (https://locutus.io/php/380:380#comment_137122)\n // bugfixed by: Chris (https://www.devotis.nl/)\n // note 1: Uses global: locutus to store the default timezone\n // note 1: Although the function potentially allows timezone info\n // note 1: (see notes), it currently does not set\n // note 1: per a timezone specified by date_default_timezone_set(). Implementers might use\n // note 1: $locutus.currentTimezoneOffset and\n // note 1: $locutus.currentTimezoneDST set by that function\n // note 1: in order to adjust the dates in this function\n // note 1: (or our other date functions!) accordingly\n // example 1: date('H:m:s \\\\m \\\\i\\\\s \\\\m\\\\o\\\\n\\\\t\\\\h', 1062402400)\n // returns 1: '07:09:40 m is month'\n // example 2: date('F j, Y, g:i a', 1062462400)\n // returns 2: 'September 2, 2003, 12:26 am'\n // example 3: date('Y W o', 1062462400)\n // returns 3: '2003 36 2003'\n // example 4: var $x = date('Y m d', (new Date()).getTime() / 1000)\n // example 4: $x = $x + ''\n // example 4: var $result = $x.length // 2009 01 09\n // returns 4: 10\n // example 5: date('W', 1104534000)\n // returns 5: '52'\n // example 6: date('B t', 1104534000)\n // returns 6: '999 31'\n // example 7: date('W U', 1293750000.82); // 2010-12-31\n // returns 7: '52 1293750000'\n // example 8: date('W', 1293836400); // 2011-01-01\n // returns 8: '52'\n // example 9: date('W Y-m-d', 1293974054); // 2011-01-02\n // returns 9: '52 2011-01-02'\n // test: skip-1 skip-2 skip-5\n\n let jsdate, f\n // Keep this here (works, but for code commented-out below for file size reasons)\n // var tal= [];\n const txtWords = [\n 'Sun', 'Mon', 'Tues', 'Wednes', 'Thurs', 'Fri', 'Satur',\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n ]\n // trailing backslash -> (dropped)\n // a backslash followed by any character (including backslash) -> the character\n // empty string -> empty string\n const formatChr = /\\\\?(.?)/gi\n const formatChrCb = function (t, s) {\n return f[t] ? f[t]() : s\n }\n const _pad = function (n, c) {\n n = String(n)\n while (n.length < c) {\n n = '0' + n\n }\n return n\n }\n f = {\n // Day\n d: function () {\n // Day of month w/leading 0; 01..31\n return _pad(f.j(), 2)\n },\n D: function () {\n // Shorthand day name; Mon...Sun\n return f.l()\n .slice(0, 3)\n },\n j: function () {\n // Day of month; 1..31\n return jsdate.getDate()\n },\n l: function () {\n // Full day name; Monday...Sunday\n return txtWords[f.w()] + 'day'\n },\n N: function () {\n // ISO-8601 day of week; 1[Mon]..7[Sun]\n return f.w() || 7\n },\n S: function () {\n // Ordinal suffix for day of month; st, nd, rd, th\n const j = f.j()\n let i = j % 10\n if (i <= 3 && parseInt((j % 100) / 10, 10) === 1) {\n i = 0\n }\n return ['st', 'nd', 'rd'][i - 1] || 'th'\n },\n w: function () {\n // Day of week; 0[Sun]..6[Sat]\n return jsdate.getDay()\n },\n z: function () {\n // Day of year; 0..365\n const a = new Date(f.Y(), f.n() - 1, f.j())\n const b = new Date(f.Y(), 0, 1)\n return Math.round((a - b) / 864e5)\n },\n\n // Week\n W: function () {\n // ISO-8601 week number\n const a = new Date(f.Y(), f.n() - 1, f.j() - f.N() + 3)\n const b = new Date(a.getFullYear(), 0, 4)\n return _pad(1 + Math.round((a - b) / 864e5 / 7), 2)\n },\n\n // Month\n F: function () {\n // Full month name; January...December\n return txtWords[6 + f.n()]\n },\n m: function () {\n // Month w/leading 0; 01...12\n return _pad(f.n(), 2)\n },\n M: function () {\n // Shorthand month name; Jan...Dec\n return f.F()\n .slice(0, 3)\n },\n n: function () {\n // Month; 1...12\n return jsdate.getMonth() + 1\n },\n t: function () {\n // Days in month; 28...31\n return (new Date(f.Y(), f.n(), 0))\n .getDate()\n },\n\n // Year\n L: function () {\n // Is leap year?; 0 or 1\n const j = f.Y()\n return j % 4 === 0 & j % 100 !== 0 | j % 400 === 0\n },\n o: function () {\n // ISO-8601 year\n const n = f.n()\n const W = f.W()\n const Y = f.Y()\n return Y + (n === 12 && W < 9 ? 1 : n === 1 && W > 9 ? -1 : 0)\n },\n Y: function () {\n // Full year; e.g. 1980...2010\n return jsdate.getFullYear()\n },\n y: function () {\n // Last two digits of year; 00...99\n return f.Y()\n .toString()\n .slice(-2)\n },\n\n // Time\n a: function () {\n // am or pm\n return jsdate.getHours() > 11 ? 'pm' : 'am'\n },\n A: function () {\n // AM or PM\n return f.a()\n .toUpperCase()\n },\n B: function () {\n // Swatch Internet time; 000..999\n const H = jsdate.getUTCHours() * 36e2\n // Hours\n const i = jsdate.getUTCMinutes() * 60\n // Minutes\n // Seconds\n const s = jsdate.getUTCSeconds()\n return _pad(Math.floor((H + i + s + 36e2) / 86.4) % 1e3, 3)\n },\n g: function () {\n // 12-Hours; 1..12\n return f.G() % 12 || 12\n },\n G: function () {\n // 24-Hours; 0..23\n return jsdate.getHours()\n },\n h: function () {\n // 12-Hours w/leading 0; 01..12\n return _pad(f.g(), 2)\n },\n H: function () {\n // 24-Hours w/leading 0; 00..23\n return _pad(f.G(), 2)\n },\n i: function () {\n // Minutes w/leading 0; 00..59\n return _pad(jsdate.getMinutes(), 2)\n },\n s: function () {\n // Seconds w/leading 0; 00..59\n return _pad(jsdate.getSeconds(), 2)\n },\n u: function () {\n // Microseconds; 000000-999000\n return _pad(jsdate.getMilliseconds() * 1000, 6)\n },\n\n // Timezone\n e: function () {\n // Timezone identifier; e.g. Atlantic/Azores, ...\n // The following works, but requires inclusion of the very large\n // timezone_abbreviations_list() function.\n /* return that.date_default_timezone_get();\n */\n const msg = 'Not supported (see source code of date() for timezone on how to add support)'\n throw new Error(msg)\n },\n I: function () {\n // DST observed?; 0 or 1\n // Compares Jan 1 minus Jan 1 UTC to Jul 1 minus Jul 1 UTC.\n // If they are not equal, then DST is observed.\n const a = new Date(f.Y(), 0)\n // Jan 1\n const c = Date.UTC(f.Y(), 0)\n // Jan 1 UTC\n const b = new Date(f.Y(), 6)\n // Jul 1\n // Jul 1 UTC\n const d = Date.UTC(f.Y(), 6)\n return ((a - c) !== (b - d)) ? 1 : 0\n },\n O: function () {\n // Difference to GMT in hour format; e.g. +0200\n const tzo = jsdate.getTimezoneOffset()\n const a = Math.abs(tzo)\n return (tzo > 0 ? '-' : '+') + _pad(Math.floor(a / 60) * 100 + a % 60, 4)\n },\n P: function () {\n // Difference to GMT w/colon; e.g. +02:00\n const O = f.O()\n return (O.substr(0, 3) + ':' + O.substr(3, 2))\n },\n T: function () {\n // The following works, but requires inclusion of the very\n // large timezone_abbreviations_list() function.\n /* var abbr, i, os, _default;\n if (!tal.length) {\n tal = that.timezone_abbreviations_list();\n }\n if ($locutus && $locutus.default_timezone) {\n _default = $locutus.default_timezone;\n for (abbr in tal) {\n for (i = 0; i < tal[abbr].length; i++) {\n if (tal[abbr][i].timezone_id === _default) {\n return abbr.toUpperCase();\n }\n }\n }\n }\n for (abbr in tal) {\n for (i = 0; i < tal[abbr].length; i++) {\n os = -jsdate.getTimezoneOffset() * 60;\n if (tal[abbr][i].offset === os) {\n return abbr.toUpperCase();\n }\n }\n }\n */\n return 'UTC'\n },\n Z: function () {\n // Timezone offset in seconds (-43200...50400)\n return -jsdate.getTimezoneOffset() * 60\n },\n\n // Full Date/Time\n c: function () {\n // ISO-8601 date.\n return 'Y-m-d\\\\TH:i:sP'.replace(formatChr, formatChrCb)\n },\n r: function () {\n // RFC 2822\n return 'D, d M Y H:i:s O'.replace(formatChr, formatChrCb)\n },\n U: function () {\n // Seconds since UNIX epoch\n return jsdate / 1000 | 0\n }\n }\n\n const _date = function (format, timestamp) {\n jsdate = (timestamp === undefined\n ? new Date() // Not provided\n : (timestamp instanceof Date)\n ? new Date(timestamp) // JS Date()\n : new Date(timestamp * 1000) // UNIX timestamp (auto-convert to int)\n )\n return format.replace(formatChr, formatChrCb)\n }\n\n return _date(format, timestamp)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/getdate.js"],"names":["module","exports","getdate","timestamp","_w","_m","d","Date","w","getDay","m","getMonth","y","getFullYear","r","seconds","getSeconds","minutes","getMinutes","hours","getHours","mday","getDate","wday","mon","year","yday","Math","floor","weekday","month","parseInt","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,SAAlB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAK,CACT,KADS,EAET,KAFS,EAGT,MAHS,EAIT,QAJS,EAKT,OALS,EAMT,KANS,EAOT,OAPS,CAAX;AASA,MAAMC,KAAK,CACT,SADS,EAET,UAFS,EAGT,OAHS,EAIT,OAJS,EAKT,KALS,EAMT,MANS,EAOT,MAPS,EAQT,QARS,EAST,WATS,EAUT,SAVS,EAWT,UAXS,EAYT,UAZS,CAAX;AAcA,MAAMC,IAAM,OAAOH,SAAP,KAAqB,WAAtB,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/getdate.js"],"names":["module","exports","getdate","timestamp","_w","_m","d","Date","w","getDay","m","getMonth","y","getFullYear","r","seconds","getSeconds","minutes","getMinutes","hours","getHours","mday","getDate","wday","mon","year","yday","Math","floor","weekday","month","parseInt","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,SAAlB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAK,CACT,KADS,EAET,KAFS,EAGT,MAHS,EAIT,QAJS,EAKT,OALS,EAMT,KANS,EAOT,OAPS,CAAX;AASA,MAAMC,KAAK,CACT,SADS,EAET,UAFS,EAGT,OAHS,EAIT,OAJS,EAKT,KALS,EAMT,MANS,EAOT,MAPS,EAQT,QARS,EAST,WATS,EAUT,SAVS,EAWT,UAXS,EAYT,UAZS,CAAX;AAcA,MAAMC,IAAM,OAAOH,SAAP,KAAqB,WAAtB,GACP,IAAII,IAAJ,EADO,GAENJ,qBAAqBI,IAAtB,GACI,IAAIA,IAAJ,CAASJ,SAAT,CADJ,CACwB;AADxB,IAEI,IAAII,IAAJ,CAASJ,YAAY,IAArB,CAJF,CAI6B;AAJnC;AAMA,MAAMK,IAAIF,EAAEG,MAAF,EAAV;AACA,MAAMC,IAAIJ,EAAEK,QAAF,EAAV;AACA,MAAMC,IAAIN,EAAEO,WAAF,EAAV;AACA,MAAMC,IAAI,EAAV;;AAEAA,IAAEC,OAAF,GAAYT,EAAEU,UAAF,EAAZ;AACAF,IAAEG,OAAF,GAAYX,EAAEY,UAAF,EAAZ;AACAJ,IAAEK,KAAF,GAAUb,EAAEc,QAAF,EAAV;AACAN,IAAEO,IAAF,GAASf,EAAEgB,OAAF,EAAT;AACAR,IAAES,IAAF,GAASf,CAAT;AACAM,IAAEU,GAAF,GAAQd,IAAI,CAAZ;AACAI,IAAEW,IAAF,GAASb,CAAT;AACAE,IAAEY,IAAF,GAASC,KAAKC,KAAL,CAAW,CAACtB,IAAK,IAAIC,IAAJ,CAASK,CAAT,EAAY,CAAZ,EAAe,CAAf,CAAN,IAA4B,QAAvC,CAAT;AACAE,IAAEe,OAAF,GAAYzB,GAAGI,CAAH,IAAQ,KAApB;AACAM,IAAEgB,KAAF,GAAUzB,GAAGK,CAAH,CAAV;AACAI,IAAE,GAAF,IAASiB,SAASzB,EAAE0B,OAAF,KAAc,IAAvB,EAA6B,EAA7B,CAAT;;AAEA,SAAOlB,CAAP;AACD,CAvDD","file":"getdate.js","sourcesContent":["module.exports = function getdate (timestamp) {\n // discuss at: https://locutus.io/php/getdate/\n // original by: Paulo Freitas\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // example 1: getdate(1055901520)\n // returns 1: {'seconds': 40, 'minutes': 58, 'hours': 1, 'mday': 18, 'wday': 3, 'mon': 6, 'year': 2003, 'yday': 168, 'weekday': 'Wednesday', 'month': 'June', '0': 1055901520}\n\n const _w = [\n 'Sun',\n 'Mon',\n 'Tues',\n 'Wednes',\n 'Thurs',\n 'Fri',\n 'Satur'\n ]\n const _m = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ]\n const d = ((typeof timestamp === 'undefined')\n ? new Date()\n : (timestamp instanceof Date)\n ? new Date(timestamp) // Not provided\n : new Date(timestamp * 1000) // Javascript Date() // UNIX timestamp (auto-convert to int)\n )\n const w = d.getDay()\n const m = d.getMonth()\n const y = d.getFullYear()\n const r = {}\n\n r.seconds = d.getSeconds()\n r.minutes = d.getMinutes()\n r.hours = d.getHours()\n r.mday = d.getDate()\n r.wday = w\n r.mon = m + 1\n r.year = y\n r.yday = Math.floor((d - (new Date(y, 0, 1))) / 86400000)\n r.weekday = _w[w] + 'day'\n r.month = _m[m]\n r['0'] = parseInt(d.getTime() / 1000, 10)\n\n return r\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/gmdate.js"],"names":["module","exports","gmdate","format","timestamp","date","require","dt","Date","parse","toUTCString","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,MAAjB,EAAyBC,SAAzB,EAAoC;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,OAAOC,QAAQ,kBAAR,CAAb;;AAEA,MAAMC,KAAK,OAAOH,SAAP,KAAqB,WAArB,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/gmdate.js"],"names":["module","exports","gmdate","format","timestamp","date","require","dt","Date","parse","toUTCString","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,MAAjB,EAAyBC,SAAzB,EAAoC;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,OAAOC,QAAQ,kBAAR,CAAb;;AAEA,MAAMC,KAAK,OAAOH,SAAP,KAAqB,WAArB,GACP,IAAII,IAAJ,EADO,CACI;AADJ,IAEPJ,qBAAqBI,IAArB,GACE,IAAIA,IAAJ,CAASJ,SAAT,CADF,CACsB;AADtB,IAEE,IAAII,IAAJ,CAASJ,YAAY,IAArB,CAJN,CAVmD,CAclB;;AAEjCA,cAAYI,KAAKC,KAAL,CAAWF,GAAGG,WAAH,GAAiBC,KAAjB,CAAuB,CAAvB,EAA0B,CAAC,CAA3B,CAAX,IAA4C,IAAxD;;AAEA,SAAON,KAAKF,MAAL,EAAaC,SAAb,CAAP;AACD,CAnBD","file":"gmdate.js","sourcesContent":["module.exports = function gmdate (format, timestamp) {\n // discuss at: https://locutus.io/php/gmdate/\n // original by: Brett Zamir (https://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // example 1: gmdate('H:m:s \\\\m \\\\i\\\\s \\\\m\\\\o\\\\n\\\\t\\\\h', 1062402400); // Return will depend on your timezone\n // returns 1: '07:09:40 m is month'\n\n const date = require('../datetime/date')\n\n const dt = typeof timestamp === 'undefined'\n ? new Date() // Not provided\n : timestamp instanceof Date\n ? new Date(timestamp) // Javascript Date()\n : new Date(timestamp * 1000) // UNIX timestamp (auto-convert to int)\n\n timestamp = Date.parse(dt.toUTCString().slice(0, -4)) / 1000\n\n return date(format, timestamp)\n}\n"]}
|
|
@@ -12,7 +12,7 @@ module.exports = function microtime(getAsFloat) {
|
|
|
12
12
|
|
|
13
13
|
var s = void 0;
|
|
14
14
|
var now = void 0;
|
|
15
|
-
if (typeof performance !== 'undefined' && performance.now) {
|
|
15
|
+
if (typeof performance !== 'undefined' && performance.now && performance.timing) {
|
|
16
16
|
now = (performance.now() + performance.timing.navigationStart) / 1e3;
|
|
17
17
|
if (getAsFloat) {
|
|
18
18
|
return now;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/microtime.js"],"names":["module","exports","microtime","getAsFloat","s","now","performance","timing","navigationStart","Math","round","Date","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,UAApB,EAAgC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAJ;AACA,MAAIC,YAAJ;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/microtime.js"],"names":["module","exports","microtime","getAsFloat","s","now","performance","timing","navigationStart","Math","round","Date","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,UAApB,EAAgC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAJ;AACA,MAAIC,YAAJ;AACA,MACE,OAAOC,WAAP,KAAuB,WAAvB,IACAA,YAAYD,GADZ,IAEAC,YAAYC,MAHd,EAIE;AACAF,UAAM,CAACC,YAAYD,GAAZ,KAAoBC,YAAYC,MAAZ,CAAmBC,eAAxC,IAA2D,GAAjE;AACA,QAAIL,UAAJ,EAAgB;AACd,aAAOE,GAAP;AACD;;AAED;AACAD,QAAIC,MAAM,CAAV;;AAEA,WAAQI,KAAKC,KAAL,CAAW,CAACL,MAAMD,CAAP,IAAY,GAAvB,IAA8B,GAA/B,GAAsC,GAAtC,GAA4CA,CAAnD;AACD,GAdD,MAcO;AACLC,UAAM,CAACM,KAAKN,GAAL,GAAWM,KAAKN,GAAL,EAAX,GAAwB,IAAIM,IAAJ,GAAWC,OAAX,EAAzB,IAAiD,GAAvD;AACA,QAAIT,UAAJ,EAAgB;AACd,aAAOE,GAAP;AACD;;AAED;AACAD,QAAIC,MAAM,CAAV;;AAEA,WAAQI,KAAKC,KAAL,CAAW,CAACL,MAAMD,CAAP,IAAY,GAAvB,IAA8B,GAA/B,GAAsC,GAAtC,GAA4CA,CAAnD;AACD;AACF,CArCD","file":"microtime.js","sourcesContent":["module.exports = function microtime (getAsFloat) {\n // discuss at: https://locutus.io/php/microtime/\n // original by: Paulo Freitas\n // improved by: Dumitru Uzun (https://duzun.me)\n // example 1: var $timeStamp = microtime(true)\n // example 1: $timeStamp > 1000000000 && $timeStamp < 2000000000\n // returns 1: true\n // example 2: /^0\\.[0-9]{1,6} [0-9]{10,10}$/.test(microtime())\n // returns 2: true\n\n let s\n let now\n if (\n typeof performance !== 'undefined' &&\n performance.now &&\n performance.timing\n ) {\n now = (performance.now() + performance.timing.navigationStart) / 1e3\n if (getAsFloat) {\n return now\n }\n\n // Math.round(now)\n s = now | 0\n\n return (Math.round((now - s) * 1e6) / 1e6) + ' ' + s\n } else {\n now = (Date.now ? Date.now() : new Date().getTime()) / 1e3\n if (getAsFloat) {\n return now\n }\n\n // Math.round(now)\n s = now | 0\n\n return (Math.round((now - s) * 1e3) / 1e3) + ' ' + s\n }\n}\n"]}
|
package/php/datetime/strftime.js
CHANGED
|
@@ -168,10 +168,9 @@ module.exports = function strftime(fmt, timestamp) {
|
|
|
168
168
|
T: '%H:%M:%S',
|
|
169
169
|
x: 'locale',
|
|
170
170
|
X: 'locale'
|
|
171
|
-
};
|
|
172
171
|
|
|
173
|
-
|
|
174
|
-
while (fmt.match(/%[cDFhnrRtTxX]/)) {
|
|
172
|
+
// First replace aggregates (run in a loop because an agg may be made up of other aggs)
|
|
173
|
+
};while (fmt.match(/%[cDFhnrRtTxX]/)) {
|
|
175
174
|
fmt = fmt.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {
|
|
176
175
|
var f = _aggregates[m1];
|
|
177
176
|
return f === 'locale' ? lcTime[m1] : f;
|
|
@@ -1 +1 @@
|
|
|
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":"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","file":"strftime.js","sourcesContent":["module.exports = function strftime (fmt, timestamp) {\n // discuss at: https://locutus.io/php/strftime/\n // original by: Blues (https://tech.bluesmoon.info/)\n // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://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 const setlocale = require('../strings/setlocale')\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const _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 const locale = $locutus.php.localeCategories.LC_TIME\n const 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 let y = d.getFullYear()\n const V = parseInt(_formats.V(d), 10)\n const 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 const I = d.getHours() % 12\n return _xPad(I === 0 ? 12 : I, 0)\n },\n j: function (d) {\n let 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 const 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 const 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 const dow = d.getDay()\n return ((dow === 0) ? 7 : dow)\n },\n U: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 6 - d.getDay()\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0)\n },\n V: function (d) {\n const woy = parseInt(_formats.W(d), 10)\n const 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 let 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 const doy = parseInt(_formats.j(d), 10)\n const rdow = 7 - _formats.u(d)\n const 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 const o = d.getTimezoneOffset()\n const H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n const 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 const _date = (typeof timestamp === 'undefined')\n ? new Date()\n : (timestamp instanceof Date)\n ? new Date(timestamp)\n : new Date(timestamp * 1000)\n\n const _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 const 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 const str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n const 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"]}
|
|
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":"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","file":"strftime.js","sourcesContent":["module.exports = function strftime (fmt, timestamp) {\n // discuss at: https://locutus.io/php/strftime/\n // original by: Blues (https://tech.bluesmoon.info/)\n // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://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 const setlocale = require('../strings/setlocale')\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const _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 const locale = $locutus.php.localeCategories.LC_TIME\n const 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 let y = d.getFullYear()\n const V = parseInt(_formats.V(d), 10)\n const 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 const I = d.getHours() % 12\n return _xPad(I === 0 ? 12 : I, 0)\n },\n j: function (d) {\n let 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 const 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 const 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 const dow = d.getDay()\n return ((dow === 0) ? 7 : dow)\n },\n U: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 6 - d.getDay()\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0)\n },\n V: function (d) {\n const woy = parseInt(_formats.W(d), 10)\n const 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 let 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 const doy = parseInt(_formats.j(d), 10)\n const rdow = 7 - _formats.u(d)\n const 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 const o = d.getTimezoneOffset()\n const H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n const 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 const _date = (typeof timestamp === 'undefined')\n ? new Date()\n : (timestamp instanceof Date)\n ? new Date(timestamp)\n : new Date(timestamp * 1000)\n\n const _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 const 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 const str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n const 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"]}
|
package/php/datetime/strptime.js
CHANGED
|
@@ -61,27 +61,26 @@ module.exports = function strptime(dateStr, format) {
|
|
|
61
61
|
T: '%H:%M:%S',
|
|
62
62
|
x: 'locale',
|
|
63
63
|
X: 'locale'
|
|
64
|
-
};
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var _pregQuote = function _pregQuote(str) {
|
|
65
|
+
/* Fix: Locale alternatives are supported though not documented in PHP; see https://linux.die.net/man/3/strptime
|
|
66
|
+
Ec
|
|
67
|
+
EC
|
|
68
|
+
Ex
|
|
69
|
+
EX
|
|
70
|
+
Ey
|
|
71
|
+
EY
|
|
72
|
+
Od or Oe
|
|
73
|
+
OH
|
|
74
|
+
OI
|
|
75
|
+
Om
|
|
76
|
+
OM
|
|
77
|
+
OS
|
|
78
|
+
OU
|
|
79
|
+
Ow
|
|
80
|
+
OW
|
|
81
|
+
Oy
|
|
82
|
+
*/
|
|
83
|
+
};var _pregQuote = function _pregQuote(str) {
|
|
85
84
|
return (str + '').replace(/([\\.+*?[^\]$(){}=!<>|:])/g, '\\$1');
|
|
86
85
|
};
|
|
87
86
|
|
|
@@ -1 +1 @@
|
|
|
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: https://locutus.io/php/strptime/\n // original by: Brett Zamir (https://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 const setlocale = require('../strings/setlocale')\n const arrayMap = require('../array/array_map')\n\n const 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 let i = 0\n let j = 0\n let amPmOffset = 0\n let prevHour = false\n const _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 let jan1\n const o = retObj\n const 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 const _date = function () {\n const 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 const _NWS = /\\S/\n const _WS = /\\s/\n\n const _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 https://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 const _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 const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n const locale = $locutus.php.localeCategories.LC_TIME\n const 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 const f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n const _addNext = function (j, regex, cb) {\n if (typeof regex === 'string') {\n regex = new RegExp('^' + regex, 'i')\n }\n const check = dateStr.slice(j)\n const 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 const 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 const _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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const timestamp = parseInt(d, 10)\n const 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 const 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 const 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 const 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"]}
|
|
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: https://locutus.io/php/strptime/\n // original by: Brett Zamir (https://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 const setlocale = require('../strings/setlocale')\n const arrayMap = require('../array/array_map')\n\n const 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 let i = 0\n let j = 0\n let amPmOffset = 0\n let prevHour = false\n const _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 let jan1\n const o = retObj\n const 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 const _date = function () {\n const 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 const _NWS = /\\S/\n const _WS = /\\s/\n\n const _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 https://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 const _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 const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n const locale = $locutus.php.localeCategories.LC_TIME\n const 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 const f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n const _addNext = function (j, regex, cb) {\n if (typeof regex === 'string') {\n regex = new RegExp('^' + regex, 'i')\n }\n const check = dateStr.slice(j)\n const 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 const 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 const _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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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/.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 const timestamp = parseInt(d, 10)\n const 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 const 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 const 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 const 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"]}
|
|
@@ -63,9 +63,8 @@ module.exports = function pathinfo(path, options) {
|
|
|
63
63
|
PATHINFO_EXTENSION: 4,
|
|
64
64
|
PATHINFO_FILENAME: 8,
|
|
65
65
|
PATHINFO_ALL: 0
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
for (optName in OPTS) {
|
|
66
|
+
// PATHINFO_ALL sums up all previously defined PATHINFOs (could just pre-calculate)
|
|
67
|
+
};for (optName in OPTS) {
|
|
69
68
|
if (OPTS.hasOwnProperty(optName)) {
|
|
70
69
|
OPTS.PATHINFO_ALL = OPTS.PATHINFO_ALL | OPTS[optName];
|
|
71
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/pathinfo.js"],"names":["module","exports","pathinfo","path","options","basename","require","opt","realOpt","optName","optTemp","tmpArr","cnt","i","haveBasename","haveExtension","haveFilename","OPTS","PATHINFO_DIRNAME","PATHINFO_BASENAME","PATHINFO_EXTENSION","PATHINFO_FILENAME","PATHINFO_ALL","hasOwnProperty","concat","length","_getExt","str","dotP","lastIndexOf","substr","dirName","replace","dirname","extension","slice","filename"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,CAAmBC,IAAnB,EAAyBC,OAAzB,EAAkC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,WAAWC,QAAQ,wBAAR,CAAjB;AACA,MAAIC,MAAM,EAAV;AACA,MAAIC,UAAU,EAAd;AACA,MAAIC,UAAU,EAAd;AACA,MAAIC,UAAU,CAAd;AACA,MAAMC,SAAS,EAAf;AACA,MAAIC,MAAM,CAAV;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,eAAe,KAAnB;AACA,MAAIC,gBAAgB,KAApB;AACA,MAAIC,eAAe,KAAnB;;AAEA;AACA,MAAI,CAACb,IAAL,EAAW;AACT,WAAO,KAAP;AACD;AACD,MAAI,CAACC,OAAL,EAAc;AACZA,cAAU,cAAV;AACD;;AAED;AACA;AACA,MAAMa,OAAO;AACXC,sBAAkB,CADP;AAEXC,uBAAmB,CAFR;AAGXC,wBAAoB,CAHT;AAIXC,uBAAmB,CAJR;AAKXC,kBAAc;
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/pathinfo.js"],"names":["module","exports","pathinfo","path","options","basename","require","opt","realOpt","optName","optTemp","tmpArr","cnt","i","haveBasename","haveExtension","haveFilename","OPTS","PATHINFO_DIRNAME","PATHINFO_BASENAME","PATHINFO_EXTENSION","PATHINFO_FILENAME","PATHINFO_ALL","hasOwnProperty","concat","length","_getExt","str","dotP","lastIndexOf","substr","dirName","replace","dirname","extension","slice","filename"],"mappings":"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","file":"pathinfo.js","sourcesContent":["module.exports = function pathinfo (path, options) {\n // discuss at: https://locutus.io/php/pathinfo/\n // original by: Nate\n // revised by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Dmitry Gorelenkov\n // input by: Timo\n // note 1: Inspired by actual PHP source: php5-5.2.6/ext/standard/string.c line #1559\n // note 1: The way the bitwise arguments are handled allows for greater flexibility\n // note 1: & compatability. We might even standardize this\n // note 1: code and use a similar approach for\n // note 1: other bitwise PHP functions\n // note 1: Locutus tries very hard to stay away from a core.js\n // note 1: file with global dependencies, because we like\n // note 1: that you can just take a couple of functions and be on your way.\n // note 1: But by way we implemented this function,\n // note 1: if you want you can still declare the PATHINFO_*\n // note 1: yourself, and then you can use:\n // note 1: pathinfo('/www/index.html', PATHINFO_BASENAME | PATHINFO_EXTENSION);\n // note 1: which makes it fully compliant with PHP syntax.\n // example 1: pathinfo('/www/htdocs/index.html', 1)\n // returns 1: '/www/htdocs'\n // example 2: pathinfo('/www/htdocs/index.html', 'PATHINFO_BASENAME')\n // returns 2: 'index.html'\n // example 3: pathinfo('/www/htdocs/index.html', 'PATHINFO_EXTENSION')\n // returns 3: 'html'\n // example 4: pathinfo('/www/htdocs/index.html', 'PATHINFO_FILENAME')\n // returns 4: 'index'\n // example 5: pathinfo('/www/htdocs/index.html', 2 | 4)\n // returns 5: {basename: 'index.html', extension: 'html'}\n // example 6: pathinfo('/www/htdocs/index.html', 'PATHINFO_ALL')\n // returns 6: {dirname: '/www/htdocs', basename: 'index.html', extension: 'html', filename: 'index'}\n // example 7: pathinfo('/www/htdocs/index.html')\n // returns 7: {dirname: '/www/htdocs', basename: 'index.html', extension: 'html', filename: 'index'}\n\n const basename = require('../filesystem/basename')\n let opt = ''\n let realOpt = ''\n let optName = ''\n let optTemp = 0\n const tmpArr = {}\n let cnt = 0\n let i = 0\n let haveBasename = false\n let haveExtension = false\n let haveFilename = false\n\n // Input defaulting & sanitation\n if (!path) {\n return false\n }\n if (!options) {\n options = 'PATHINFO_ALL'\n }\n\n // Initialize binary arguments. Both the string & integer (constant) input is\n // allowed\n const OPTS = {\n PATHINFO_DIRNAME: 1,\n PATHINFO_BASENAME: 2,\n PATHINFO_EXTENSION: 4,\n PATHINFO_FILENAME: 8,\n PATHINFO_ALL: 0\n }\n // PATHINFO_ALL sums up all previously defined PATHINFOs (could just pre-calculate)\n for (optName in OPTS) {\n if (OPTS.hasOwnProperty(optName)) {\n OPTS.PATHINFO_ALL = OPTS.PATHINFO_ALL | OPTS[optName]\n }\n }\n if (typeof options !== 'number') {\n // Allow for a single string or an array of string flags\n options = [].concat(options)\n for (i = 0; i < options.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[options[i]]) {\n optTemp = optTemp | OPTS[options[i]]\n }\n }\n options = optTemp\n }\n\n // Internal Functions\n const _getExt = function (path) {\n const str = path + ''\n const dotP = str.lastIndexOf('.') + 1\n return !dotP ? false : dotP !== str.length ? str.substr(dotP) : ''\n }\n\n // Gather path infos\n if (options & OPTS.PATHINFO_DIRNAME) {\n const dirName = path\n .replace(/\\\\/g, '/')\n .replace(/\\/[^/]*\\/?$/, '') // dirname\n tmpArr.dirname = dirName === path ? '.' : dirName\n }\n\n if (options & OPTS.PATHINFO_BASENAME) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n tmpArr.basename = haveBasename\n }\n\n if (options & OPTS.PATHINFO_EXTENSION) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n if (haveExtension === false) {\n haveExtension = _getExt(haveBasename)\n }\n if (haveExtension !== false) {\n tmpArr.extension = haveExtension\n }\n }\n\n if (options & OPTS.PATHINFO_FILENAME) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n if (haveExtension === false) {\n haveExtension = _getExt(haveBasename)\n }\n if (haveFilename === false) {\n haveFilename = haveBasename.slice(0, haveBasename.length - (haveExtension\n ? haveExtension.length + 1\n : haveExtension === false\n ? 0\n : 1\n )\n )\n }\n\n tmpArr.filename = haveFilename\n }\n\n // If array contains only 1 element: return string\n cnt = 0\n for (opt in tmpArr) {\n if (tmpArr.hasOwnProperty(opt)) {\n cnt++\n realOpt = opt\n }\n }\n if (cnt === 1) {\n return tmpArr[realOpt]\n }\n\n // Return full-blown array\n return tmpArr\n}\n"]}
|