| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 'use strict';var $TypeError = require('es-errors/type');var callBound = require('call-bound');var forEach = require('../helpers/forEach');var $charCodeAt = callBound('String.prototype.charCodeAt');var $strSplit = callBound('String.prototype.split');var UnicodeEscape = require('./UnicodeEscape');var hasOwn = require('hasown');// https://262.ecma-international.org/9.0/#sec-quotejsonstringvar escapes = {	'\u0008': '\\b',	'\u0009': '\\t',	'\u000A': '\\n',	'\u000C': '\\f',	'\u000D': '\\r',	'\u0022': '\\"',	'\u005c': '\\\\'};module.exports = function QuoteJSONString(value) {	if (typeof value !== 'string') {		throw new $TypeError('Assertion failed: `value` must be a String');	}	var product = '"';	if (value) {		forEach($strSplit(value, ''), function (C) {			if (hasOwn(escapes, C)) {				product += escapes[C];			} else if ($charCodeAt(C, 0) < 0x20) {				product += UnicodeEscape(C);			} else {				product += C;			}		});	}	product += '"';	return product;};
 |