1234567891011121314151617181920212223242526272829 |
- "use strict";
-
- var safeToString = require("./safe-to-string");
-
- var reNewLine = /[\n\r\u2028\u2029]/g;
-
- module.exports = function (value) {
- var string = safeToString(value);
- if (string === null) return "<Non-coercible to string value>";
- // Trim if too long
- if (string.length > 100) string = string.slice(0, 99) + "…";
- // Replace eventual new lines
- string = string.replace(reNewLine, function (char) {
- switch (char) {
- case "\n":
- return "\\n";
- case "\r":
- return "\\r";
- case "\u2028":
- return "\\u2028";
- case "\u2029":
- return "\\u2029";
- /* istanbul ignore next */
- default:
- throw new Error("Unexpected character");
- }
- });
- return string;
- };
|