You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

to-short-string.js 686B

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. var safeToString = require("./safe-to-string");
  3. var reNewLine = /[\n\r\u2028\u2029]/g;
  4. module.exports = function (value) {
  5. var string = safeToString(value);
  6. if (string === null) return "<Non-coercible to string value>";
  7. // Trim if too long
  8. if (string.length > 100) string = string.slice(0, 99) + "…";
  9. // Replace eventual new lines
  10. string = string.replace(reNewLine, function (char) {
  11. switch (char) {
  12. case "\n":
  13. return "\\n";
  14. case "\r":
  15. return "\\r";
  16. case "\u2028":
  17. return "\\u2028";
  18. case "\u2029":
  19. return "\\u2029";
  20. /* istanbul ignore next */
  21. default:
  22. throw new Error("Unexpected character");
  23. }
  24. });
  25. return string;
  26. };