* If in __DEV__ environment, get console printable message for users hint. * Parameters are separated by ' '. * @usuage * makePrintable('This is an error on', someVar, someObj); * * @param hintInfo anything about the current execution context to hint users. * @throws Er
()
| 7171 | */ |
| 7172 | |
| 7173 | function makePrintable() { |
| 7174 | var hintInfo = []; |
| 7175 | |
| 7176 | for (var _i = 0; _i < arguments.length; _i++) { |
| 7177 | hintInfo[_i] = arguments[_i]; |
| 7178 | } |
| 7179 | |
| 7180 | var msg = ''; |
| 7181 | |
| 7182 | if ("development" !== 'production') { |
| 7183 | // Fuzzy stringify for print. |
| 7184 | // This code only exist in dev environment. |
| 7185 | var makePrintableStringIfPossible_1 = function (val) { |
| 7186 | return val === void 0 ? 'undefined' : val === Infinity ? 'Infinity' : val === -Infinity ? '-Infinity' : eqNaN(val) ? 'NaN' : val instanceof Date ? 'Date(' + val.toISOString() + ')' : isFunction(val) ? 'function () { ... }' : isRegExp(val) ? val + '' : null; |
| 7187 | }; |
| 7188 | |
| 7189 | msg = map(hintInfo, function (arg) { |
| 7190 | if (isString(arg)) { |
| 7191 | // Print without quotation mark for some statement. |
| 7192 | return arg; |
| 7193 | } else { |
| 7194 | var printableStr = makePrintableStringIfPossible_1(arg); |
| 7195 | |
| 7196 | if (printableStr != null) { |
| 7197 | return printableStr; |
| 7198 | } else if (typeof JSON !== 'undefined' && JSON.stringify) { |
| 7199 | try { |
| 7200 | return JSON.stringify(arg, function (n, val) { |
| 7201 | var printableStr = makePrintableStringIfPossible_1(val); |
| 7202 | return printableStr == null ? val : printableStr; |
| 7203 | }); // In most cases the info object is small, so do not line break. |
| 7204 | } catch (err) { |
| 7205 | return '?'; |
| 7206 | } |
| 7207 | } else { |
| 7208 | return '?'; |
| 7209 | } |
| 7210 | } |
| 7211 | }).join(' '); |
| 7212 | } |
| 7213 | |
| 7214 | return msg; |
| 7215 | } |
| 7216 | /** |
| 7217 | * @throws Error |
| 7218 | */ |
no test coverage detected
searching dependent graphs…