27 lines
568 B
JavaScript
27 lines
568 B
JavaScript
|
'use strict';
|
||
|
|
||
|
const jsesc = require('jsesc');
|
||
|
|
||
|
/**
|
||
|
Escape string and wrap the result in quotes.
|
||
|
|
||
|
@param {string} string - The string to be quoted.
|
||
|
@param {string} [quote] - The quote character.
|
||
|
@returns {string} - The quoted and escaped string.
|
||
|
*/
|
||
|
module.exports = (string, quote = '\'') => {
|
||
|
/* c8 ignore start */
|
||
|
if (typeof string !== 'string') {
|
||
|
throw new TypeError('Unexpected string.');
|
||
|
}
|
||
|
/* c8 ignore end */
|
||
|
|
||
|
return jsesc(string, {
|
||
|
quotes: quote === '"' ? 'double' : 'single',
|
||
|
wrap: true,
|
||
|
es6: true,
|
||
|
minimal: true,
|
||
|
lowercaseHex: false,
|
||
|
});
|
||
|
};
|