refactor(ext) Decrease of StringPrototypeReplace recurrent usage (#15058)

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
This commit is contained in:
sevenwithawp 2022-07-09 21:28:02 +03:00 committed by GitHub
parent 132c761e87
commit 213d831ae3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 32 deletions

View file

@ -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