UNPKG

mout

Version:

Modular Utilities

20 lines (17 loc) 621 B
import toString from '../lang/toString'; /** * Escape string into unicode sequences */ function escapeUnicode(str, shouldEscapePrintable) { str = toString(str); return str.replace(/[\s\S]/g, function(ch) { // skip printable ASCII chars if we should not escape them if (!shouldEscapePrintable && /[\x20-\x7E]/.test(ch)) { return ch; } // we use "000" and slice(-4) for brevity, need to pad zeros, // unicode escape always have 4 chars after "\u" return `\\u${`000${ch.charCodeAt(0).toString(16)}`.slice(-4)}`; }); } export default escapeUnicode;