UNPKG

mout

Version:

Modular Utilities

20 lines (19 loc) 706 B
"use strict"; 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;