From b95861ced23ee942a1991fd9157164d8e97487c7 Mon Sep 17 00:00:00 2001 From: "caleb.mabry.15@cnu.edu" Date: Sat, 5 Mar 2022 22:08:07 -0500 Subject: ESLINT fix --- webAO/encoding.js | 97 ++++++++++++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 52 deletions(-) (limited to 'webAO/encoding.js') diff --git a/webAO/encoding.js b/webAO/encoding.js index 04a44e7..21b5aa7 100644 --- a/webAO/encoding.js +++ b/webAO/encoding.js @@ -3,11 +3,11 @@ * @param {string} estring the string to be escaped */ export function escapeChat(estring) { - return estring - .replace(/#/g, "") - .replace(/&/g, "") - .replace(/%/g, "") - .replace(/\$/g, ""); + return estring + .replace(/#/g, '') + .replace(/&/g, '') + .replace(/%/g, '') + .replace(/\$/g, ''); } /** @@ -15,27 +15,26 @@ export function escapeChat(estring) { * @param {string} estring the string to be unescaped */ export function unescapeChat(estring) { - return estring - .replace(//g, "#") - .replace(//g, "&") - .replace(//g, "%") - .replace(//g, "$"); + return estring + .replace(//g, '#') + .replace(//g, '&') + .replace(//g, '%') + .replace(//g, '$'); } /** * Escapes a string to be HTML-safe. - * + * * XXX: This is unnecessary if we use `createTextNode` instead! * @param {string} unsafe an unsanitized string */ export function safe_tags(unsafe) { - if (unsafe) { - return unsafe - .replace(/>/g, '>') - .replace(//g, '>') + .replace(/ `\\u${(`000${ch.charCodeAt().toString(16)}`).slice(-4)}`); + } if (selectedEncoding === 'utf16') { + // Source: https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String + const buffer = new ArrayBuffer(estring.length * 2); + const result = new Uint16Array(buffer); + for (let i = 0, strLen = estring.length; i < strLen; i++) { + result[i] = estring.charCodeAt(i); + } + return String(result); + } + return estring; } /** @@ -68,25 +64,22 @@ export function encodeChat(estring) { * @param {string} estring the string to be decoded */ export function decodeChat(estring) { - const selectedDecoding = document.getElementById("client_decoding").value; - if (selectedDecoding === "unicode") { - // Source: https://stackoverflow.com/questions/7885096/how-do-i-decode-a-string-with-escaped-unicode - return estring.replace(/\\u([\d\w]{1,})/gi, function (match, group) { - return String.fromCharCode(parseInt(group, 16)); - }); - } else if (selectedDecoding === "utf16") { - // Source: https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String - return String.fromCharCode.apply(null, new Uint16Array(estring.split(","))); - } else { - return estring; - } + const selectedDecoding = document.getElementById('client_decoding').value; + if (selectedDecoding === 'unicode') { + // Source: https://stackoverflow.com/questions/7885096/how-do-i-decode-a-string-with-escaped-unicode + return estring.replace(/\\u([\d\w]{1,})/gi, (match, group) => String.fromCharCode(parseInt(group, 16))); + } if (selectedDecoding === 'utf16') { + // Source: https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String + return String.fromCharCode.apply(null, new Uint16Array(estring.split(','))); + } + return estring; } /** * XXX: a nasty hack made by gameboyprinter. - * @param {string} msg chat message to prepare for display + * @param {string} msg chat message to prepare for display */ export function prepChat(msg) { - // TODO: make this less awful - return unescapeChat(decodeChat(msg)); -} \ No newline at end of file + // TODO: make this less awful + return unescapeChat(decodeChat(msg)); +} -- cgit