mout
Version:
Modular Utilities
20 lines (19 loc) • 706 B
JavaScript
;
exports.__esModule = true;
var toString_1 = require("../lang/toString");
/**
* Escape string into unicode sequences
*/
function escapeUnicode(str, shouldEscapePrintable) {
str = toString_1["default"](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);
});
}
exports["default"] = escapeUnicode;