Skip to content

Conversation

@uWynell
Copy link

@uWynell uWynell commented Feb 17, 2022

  1. Added %v and %q options to format in CodeBuilder.buildLine. Why? When I implemented Rust's Reqwest target (I'll make the corresponding Pull Request after this one), I noticed the problem of escaping characters. For example, my chrome browser generates sec-ch-ua header, that contains quotes, and some of the targets do not escape them, which results in broken code. And also I'm using it in the mentioned Reqwest target.
  2. Added indent, unindent and reindent methods to CodeBuilder, as it allows to control indentation more conveniently.

How do %v and %q options work?

Right from the comments I made to the new format function:

Wraps the util.format function and adds the %q and %v format options, where %q - escape tricky characters, like newline or quotes and %v - JSON-stringify-if-necessary

Examples:

format('foo("%q")', { bar: 'baz' })
// output: foo("{\"bar\":\"baz\"}")

format('foo("%q")', `
`)
// output: foo("\n")

format('foo(%v)', { bar: 'baz' })
// output: foo({"bar":"baz"})

format('foo(%s)', { bar: 'baz' })
// output: foo({ bar: 'baz' })

@CLAassistant
Copy link

CLAassistant commented Feb 17, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ uWynell
❌ eeWynell
You have signed the CLA already but the status is still pending? Let us recheck it.

@uWynell
Copy link
Author

uWynell commented Feb 18, 2022

Sorry, I didn't notice that I accidentally changed package-lock when I didn't have to

@dimitropoulos
Copy link
Contributor

hey @uWynell! sorry that I didn't see this sooner, but in #248 we did a bit of a total overhaul and vastly simplified this stuff (in a slightly different way). I'm going to close this PR for now in part also because we removed the utils package usages from the entire package and won't be adding it back or expanding upon it.

Really appreciate your PR, truly, and hope to see more in the future! If I mixed something up please let me know!

@uWynell uWynell deleted the feature-upgrade-codebuilder branch July 13, 2022 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants