mirror of
https://github.com/denoland/deno.git
synced 2024-12-26 00:59:24 -05:00
refactor(ext) Decrease of StringPrototypeReplace recurrent usage (#15058)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
parent
132c761e87
commit
213d831ae3
2 changed files with 24 additions and 32 deletions
|
@ -720,27 +720,20 @@
|
|||
|
||||
// Replace escape sequences that can modify output.
|
||||
function replaceEscapeSequences(string) {
|
||||
const escapeMap = {
|
||||
"\b": "\\b",
|
||||
"\f": "\\f",
|
||||
"\n": "\\n",
|
||||
"\r": "\\r",
|
||||
"\t": "\\t",
|
||||
"\v": "\\v",
|
||||
};
|
||||
|
||||
return StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(string, /[\b]/g, "\\b"),
|
||||
/\f/g,
|
||||
"\\f",
|
||||
),
|
||||
/\n/g,
|
||||
"\\n",
|
||||
),
|
||||
/\r/g,
|
||||
"\\r",
|
||||
),
|
||||
/\t/g,
|
||||
"\\t",
|
||||
),
|
||||
/\v/g,
|
||||
"\\v",
|
||||
string,
|
||||
/([\b\f\n\r\t\v])/g,
|
||||
(c) => escapeMap[c],
|
||||
),
|
||||
// deno-lint-ignore no-control-regex
|
||||
/[\x00-\x1f\x7f-\x9f]/g,
|
||||
|
|
|
@ -271,20 +271,19 @@
|
|||
webidl.configurePrototype(FormData);
|
||||
const FormDataPrototype = FormData.prototype;
|
||||
|
||||
const escape = (str, isFilename) =>
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
StringPrototypeReplace(
|
||||
isFilename ? str : StringPrototypeReplace(str, /\r?\n|\r/g, "\r\n"),
|
||||
/\n/g,
|
||||
"%0A",
|
||||
),
|
||||
/\r/g,
|
||||
"%0D",
|
||||
),
|
||||
/"/g,
|
||||
"%22",
|
||||
const escape = (str, isFilename) => {
|
||||
const escapeMap = {
|
||||
"\n": "%0A",
|
||||
"\r": "%0D",
|
||||
'"': "%22",
|
||||
};
|
||||
|
||||
return StringPrototypeReplace(
|
||||
isFilename ? str : StringPrototypeReplace(str, /\r?\n|\r/g, "\r\n"),
|
||||
/([\n\r"])/g,
|
||||
(c) => escapeMap[c],
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* convert FormData to a Blob synchronous without reading all of the files
|
||||
|
|
Loading…
Reference in a new issue