From 46d40e961dc507f6759d28e2e6ac2f06d8124d69 Mon Sep 17 00:00:00 2001 From: John L Date: Fri, 17 Dec 2021 12:48:51 +0000 Subject: [PATCH] issue#419 --- doc/EscapeSmartCharacters.xlsx | Bin 0 -> 68648 bytes src/core/config/Categories.json | 3 +- src/core/operations/EscapeSmartCharacters.mjs | 146 ++++++++++++++++++ tests/operations/index.mjs | 1 + .../tests/EscapeSmartCharacters.mjs | 22 +++ 5 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 doc/EscapeSmartCharacters.xlsx create mode 100644 src/core/operations/EscapeSmartCharacters.mjs create mode 100644 tests/operations/tests/EscapeSmartCharacters.mjs diff --git a/doc/EscapeSmartCharacters.xlsx b/doc/EscapeSmartCharacters.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cafe9fb149ae46fcb6959fd6b83d131558adc82a GIT binary patch literal 68648 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", + "←": "<--", + "↔": "<->", + "‐": "-", + "‑": "-", + "‒": "-", + "–": "-", + "—": "--", + "―": "--", + "‖": "||", + "‗": "==", + "‘": "'", + "’": "'", + "‚": "'", + "‛": "'", + "“": "\"", + "”": "\"", + "„": "\"", + "‟": "\"", + "•": ".", + "‣": ">", + "․": ".", + "‥": "..", + "…": "...", + "‧": ".", + "‰": "%0", + "‱": "%00", + "′": "'", + "″": "''", + "‴": "'''", + "‵": "''", + "‶": "''", + "‷": "'''", + "‸": "^", + "‹": "<", + "›": ">", + "‼": "!!", + "‽": "?!", + "⁃": "-", + "⁄": "/", + "⁅": "[-", + "⁆": "-]", + "⁇": "??", + "⁈": "?!", + "⁉": "!?", + "⁌": ".", + "⁍": ".", + "⁎": "*", + "⁏": ";", + "⁒": "%", + "⁓": "~", + "⁕": "*", + "⁗": "''''", + "⁢": "*", + "⁤": "+", + }; + + let output, result = ""; + for (const char of input) { + if (Object.keys(ESCAPE_MAP).includes(char)) { + output = ESCAPE_MAP[char]; + } else { + // Do Something Sensible with the rest of the arrows + const charCode = char.charCodeAt(0); + if (charCode >= 8592 && charCode <= 8703) { + output = "->"; + } else { + output = char; + } + } + switch (outArg) { + case "Remove": + break; + case "Replace with '.'": + result += "."; + break; + default: { // Escape & no change are the same + result += output; + } + } + } + return result; + } + +} + +export default EscapeSmartCharacters; diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 9add20b9..cb7e7d43 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -107,6 +107,7 @@ import "./tests/CBORDecode.mjs"; import "./tests/JA3Fingerprint.mjs"; import "./tests/JA3SFingerprint.mjs"; import "./tests/HASSH.mjs"; +import "./tests/EscapeSmartCharacters.mjs"; // Cannot test operations that use the File type yet diff --git a/tests/operations/tests/EscapeSmartCharacters.mjs b/tests/operations/tests/EscapeSmartCharacters.mjs new file mode 100644 index 00000000..aeee315b --- /dev/null +++ b/tests/operations/tests/EscapeSmartCharacters.mjs @@ -0,0 +1,22 @@ +/** + * @author john19696 [john19696@protonmail.com] + * @copyright Crown Copyright 2021 + * @license Apache-2.0 + */ + + import TestRegister from "../../lib/TestRegister.mjs"; + + TestRegister.addTests([ + { + name: "Escape Smart Characters", + input: "“”—‘’ →©…", + expectedOutput: "\"\"--'' -->(C)...", + recipeConfig: [ + { + op: "Escape Smart Characters", + args: ["Escape"], + }, + ], + }, +]); +g \ No newline at end of file