diff --git a/src/core/operations/EscapeUnicodeCharacters.mjs b/src/core/operations/EscapeUnicodeCharacters.mjs deleted file mode 100644 index ad5ef3ea..00000000 --- a/src/core/operations/EscapeUnicodeCharacters.mjs +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @author n1474335 [n1474335@gmail.com] - * @copyright Crown Copyright 2016 - * @license Apache-2.0 - */ - -import Operation from "../Operation.mjs"; - -/** - * Escape Unicode Characters operation - */ -class EscapeUnicodeCharacters extends Operation { - - /** - * EscapeUnicodeCharacters constructor - */ - constructor() { - super(); - - this.name = "Escape Unicode Characters"; - this.module = "Default"; - this.description = "Converts characters to their unicode-escaped notations.

Supports the prefixes:e.g. σου becomes \\u03C3\\u03BF\\u03C5"; - this.inputType = "string"; - this.outputType = "string"; - this.args = [ - { - "name": "Prefix", - "type": "option", - "value": ["\\u", "%u", "U+"] - }, - { - "name": "Encode all chars", - "type": "boolean", - "value": false - }, - { - "name": "Padding", - "type": "number", - "value": 4 - }, - { - "name": "Uppercase hex", - "type": "boolean", - "value": true - } - ]; - this.patterns = [ - { - match: "\\\\u(?:[\\da-f]{4,6})", - flags: "i", - args: ["\\u"] - }, - { - match: "%u(?:[\\da-f]{4,6})", - flags: "i", - args: ["%u"] - }, - { - match: "U\\+(?:[\\da-f]{4,6})", - flags: "i", - args: ["U+"] - }, - ]; - } - - /** - * @param {string} input - * @param {Object[]} args - * @returns {string} - */ - run(input, args) { - const regexWhitelist = /[ -~]/i, - [prefix, encodeAll, padding, uppercaseHex] = args; - - let output = "", - character = ""; - - for (let i = 0; i < input.length; i++) { - character = input[i]; - if (!encodeAll && regexWhitelist.test(character)) { - // It’s a printable ASCII character so don’t escape it. - output += character; - continue; - } - - let cp = character.codePointAt(0).toString(16); - if (uppercaseHex) cp = cp.toUpperCase(); - output += prefix + cp.padStart(padding, "0"); - } - - return output; - } - -} - -export default EscapeUnicodeCharacters;