| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent f152adf commit 72fb281
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,39 +9,48 @@ const isError = internalUtil.isError; | |||
| 9 | 9 | ||
| 10 | 10 | var Debug; | |
| 11 | 11 | ||
| 12 | + function tryStringify(arg) { | ||
| 13 | + try { | ||
| 14 | + return JSON.stringify(arg); | ||
| 15 | + } catch (_) { | ||
| 16 | + return '[Circular]'; | ||
| 17 | + } | ||
| 18 | + } | ||
| 19 | + | ||
| 12 | 20 | const formatRegExp = /%[sdj%]/g; | |
| 13 | 21 | exports.format = function(f) { | |
| 14 | 22 | if (typeof f !== 'string') { | |
| 15 | - var objects = []; | ||
| 23 | + const objects = new Array(arguments.length); | ||
| 16 | 24 | for (var index = 0; index < arguments.length; index++) { | |
| 17 | - objects.push(inspect(arguments[index])); | ||
| 25 | + objects[index] = inspect(arguments[index]); | ||
| 18 | 26 | } | |
| 19 | 27 | return objects.join(' '); | |
| 20 | 28 | } | |
| 21 | 29 | ||
| 22 | 30 | if (arguments.length === 1) return f; | |
| 23 | 31 | ||
| 24 | - var i = 1; | ||
| 25 | - var args = arguments; | ||
| 26 | - var len = args.length; | ||
| 27 | - var str = String(f).replace(formatRegExp, function(x) { | ||
| 32 | + const len = arguments.length; | ||
| 33 | + const args = new Array(len); | ||
| 34 | + var i; | ||
| 35 | + for (i = 0; i < len; i++) { | ||
| 36 | + args[i] = arguments[i]; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + i = 1; | ||
| 40 | + var str = f.replace(formatRegExp, function(x) { | ||
| 28 | 41 | if (x === '%%') return '%'; | |
| 29 | 42 | if (i >= len) return x; | |
| 30 | 43 | switch (x) { | |
| 31 | 44 | case '%s': return String(args[i++]); | |
| 32 | 45 | case '%d': return Number(args[i++]); | |
| 33 | - case '%j': | ||
| 34 | - try { | ||
| 35 | - return JSON.stringify(args[i++]); | ||
| 36 | - } catch (_) { | ||
| 37 | - return '[Circular]'; | ||
| 38 | - } | ||
| 46 | + case '%j': return tryStringify(args[i++]); | ||
| 39 | 47 | // falls through | |
| 40 | 48 | default: | |
| 41 | 49 | return x; | |
| 42 | 50 | } | |
| 43 | 51 | }); | |
| 44 | - for (var x = args[i]; i < len; x = args[++i]) { | ||
| 52 | + while (i < len) { | ||
| 53 | + const x = args[i++]; | ||
| 45 | 54 | if (x === null || (typeof x !== 'object' && typeof x !== 'symbol')) { | |
| 46 | 55 | str += ' ' + x; | |
| 47 | 56 | } else { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments