refactor: move encode HTML function into separate module (#4591)

Co-authored-by: Alexandr <qwerty541zxc@gmail.com>
This commit is contained in:
Alexandr Garbuzov
2025-10-25 20:29:24 +02:00
committed by martin-mfg
co-authored by Alexandr
parent aef861ec08
commit 8c754e3aec
9 changed files with 30 additions and 24 deletions
+1 -17
View File
@@ -2,6 +2,7 @@
import { SECONDARY_ERROR_MESSAGES, TRY_AGAIN_LATER } from "./error.js";
import { getCardColors } from "./color.js";
import { encodeHTML } from "./html.js";
const OWNER_AFFILIATIONS = ["OWNER", "COLLABORATOR", "ORGANIZATION_MEMBER"];
@@ -90,22 +91,6 @@ const buildSearchFilter = (repos = [], owners = []) => {
// Script parameters.
const ERROR_CARD_LENGTH = 576.5;
/**
* Encode string as HTML.
*
* @see https://stackoverflow.com/a/48073476/10629172
*
* @param {string} str String to encode.
* @returns {string} Encoded string.
*/
const encodeHTML = (str) => {
return str
.replace(/[\u00A0-\u9999<>&](?!#)/gim, (i) => {
return "&#" + i.charCodeAt(0) + ";";
})
.replace(/\u0008/gim, "");
};
const UPSTREAM_API_ERRORS = [
TRY_AGAIN_LATER,
SECONDARY_ERROR_MESSAGES.MAX_RETRY,
@@ -252,7 +237,6 @@ export {
renderError,
createLanguageNode,
iconWithLabel,
encodeHTML,
buildSearchFilter,
flexLayout,
OWNER_AFFILIATIONS,