From e80fad227e3307a19d9eaa583181120545f7e1e6 Mon Sep 17 00:00:00 2001 From: TheSavageTeddy <51810476+TheSavageTeddy@users.noreply.github.com> Date: Sun, 27 Nov 2022 12:15:42 +0800 Subject: [PATCH] fix formatting --- src/core/operations/URLEncode.mjs | 187 +++++++++++++++--------------- 1 file changed, 93 insertions(+), 94 deletions(-) diff --git a/src/core/operations/URLEncode.mjs b/src/core/operations/URLEncode.mjs index 6e29e6b5..45b64632 100644 --- a/src/core/operations/URLEncode.mjs +++ b/src/core/operations/URLEncode.mjs @@ -4,98 +4,97 @@ * @license Apache-2.0 */ - import Operation from "../Operation.mjs"; +import Operation from "../Operation.mjs"; - /** - * URL Encode operation - */ - class URLEncode extends Operation { - - /** - * URLEncode constructor - */ - constructor() { - super(); - - this.name = "URL Encode"; - this.module = "URL"; - this.description = "Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.

e.g. = becomes %3d"; - this.infoURL = "https://wikipedia.org/wiki/Percent-encoding"; - this.inputType = "string"; - this.outputType = "string"; - this.args = [ - { - "name": "Encode all special chars", - "type": "boolean", - "value": false - }, - { - "name": "Encode all chars", - "type": "boolean", - "value": false - }, - ]; - } - - /** - * @param {string} input - * @param {Object[]} args - * @returns {string} - */ - run(input, args) { - const encodeAll = args[0]; - const encodeAllEvery = args[1]; - return encodeAllEvery ? this.encodeAllEveryChars(input) : encodeAll ? this.encodeAllChars(input) : encodeURI(input); - //return encodeAll ? this.encodeAllChars(input) : encodeURI(input); - } - - /** - * Pads a string from the front to a given length with a given char - * - * @param {string} str - * @returns {string} - */ - frontPad (str, length, char){ - return str.length >= length ? str : (char * (length - str.length)) + str; - } - - /** - * Encode characters in URL outside of encodeURI() function spec - * - * @param {string} str - * @returns {string} - */ - encodeAllChars (str) { - // TODO Do this programmatically - return encodeURIComponent(str) - .replace(/!/g, "%21") - .replace(/#/g, "%23") - .replace(/'/g, "%27") - .replace(/\(/g, "%28") - .replace(/\)/g, "%29") - .replace(/\*/g, "%2A") - .replace(/-/g, "%2D") - .replace(/\./g, "%2E") - .replace(/_/g, "%5F") - .replace(/~/g, "%7E"); - } - - /** - * Encode ALL characters in URL including alphanumeric based on char codes - * - * @param {string} str - * @returns {string} - */ - encodeAllEveryChars (str) { - let encoded = ""; - for (var char of str) { - encoded += "%" + this.frontPad(char.charCodeAt(0).toString(16).toUpperCase(), 2, "0") - } - return encoded; - } - - } - - - export default URLEncode; - \ No newline at end of file +/** + * URL Encode operation + */ +class URLEncode extends Operation { + + /** + * URLEncode constructor + */ + constructor() { + super(); + + this.name = "URL Encode"; + this.module = "URL"; + this.description = "Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.

e.g. = becomes %3d"; + this.infoURL = "https://wikipedia.org/wiki/Percent-encoding"; + this.inputType = "string"; + this.outputType = "string"; + this.args = [ + { + "name": "Encode all special chars", + "type": "boolean", + "value": false + }, + { + "name": "Encode all chars", + "type": "boolean", + "value": false + }, + ]; + } + + /** + * @param {string} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + const encodeAll = args[0]; + const encodeAllEvery = args[1]; + return encodeAllEvery ? this.encodeAllEveryChars(input) : encodeAll ? this.encodeAllChars(input) : encodeURI(input); + //return encodeAll ? this.encodeAllChars(input) : encodeURI(input); + } + + /** + * Pads a string from the front to a given length with a given char + * + * @param {string} str + * @returns {string} + */ + frontPad (str, length, char){ + return str.length >= length ? str : (char * (length - str.length)) + str; + } + + /** + * Encode characters in URL outside of encodeURI() function spec + * + * @param {string} str + * @returns {string} + */ + encodeAllChars (str) { + // TODO Do this programmatically + return encodeURIComponent(str) + .replace(/!/g, "%21") + .replace(/#/g, "%23") + .replace(/'/g, "%27") + .replace(/\(/g, "%28") + .replace(/\)/g, "%29") + .replace(/\*/g, "%2A") + .replace(/-/g, "%2D") + .replace(/\./g, "%2E") + .replace(/_/g, "%5F") + .replace(/~/g, "%7E"); + } + + /** + * Encode ALL characters in URL including alphanumeric based on char codes + * + * @param {string} str + * @returns {string} + */ + encodeAllEveryChars (str) { + let encoded = ""; + for (var char of str) { + encoded += "%" + this.frontPad(char.charCodeAt(0).toString(16).toUpperCase(), 2, "0") + } + return encoded; + } + +} + + +export default URLEncode;