Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: collapse multiple mail-send TS signatures #1172

Merged

Conversation

seromenho
Copy link
Contributor

From typescript docs overloads should be used if

...will return two different things based on what the user has passed in

Here is not the case, so we can have one signature only where the first argument can be one thing or the other.

With this we can have a wrapper for the send that will retain all the types and allow both types on the first param.

eg:

const wrap = <T extends Array<any>, U>(fn: (...args: T) => U) => {
  return (...args: T): U => fn(...args)
}

const send = wrap(sgMail.send)

Before this PR and because both signatures had the same number of params I was having troubles (if it's possible) to retain both signatures. It was picking the last one.

Checklist

  • I acknowledge that all my contributions will be made under the project's license
  • I have made a material change to the repo (functionality, testing, spelling, grammar)
  • I have read the Contribution Guidelines and my PR follows them
  • I have titled the PR appropriately
  • I have updated my branch with the main branch
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation about the functionality in the appropriate .md file
  • I have added inline documentation to the code I modified

@thinkingserious thinkingserious added the status: code review request requesting a community code review or review from Twilio label Aug 5, 2020
@childish-sambino childish-sambino changed the title chore: mail.d.ts service send improvement chore: collapse multiple mail-send TS signatures Aug 5, 2020
@childish-sambino childish-sambino merged commit 1929ec8 into sendgrid:main Aug 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: code review request requesting a community code review or review from Twilio
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants