escapeJson.js 437 B

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const internals = {};
  3. module.exports = function (input) {
  4. if (!input) {
  5. return '';
  6. }
  7. return input.replace(/[<>&\u2028\u2029]/g, internals.escape);
  8. };
  9. internals.escape = function (char) {
  10. return internals.replacements.get(char);
  11. };
  12. internals.replacements = new Map([
  13. ['<', '\\u003c'],
  14. ['>', '\\u003e'],
  15. ['&', '\\u0026'],
  16. ['\u2028', '\\u2028'],
  17. ['\u2029', '\\u2029']
  18. ]);