mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00: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
|
@ -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…
Add table
Add a link
Reference in a new issue