react-image-file-resizer
react-image-file-resizer copied to clipboard
TypeScript + API rewrite proposition
Hi @onurzorluer, for starters I would like to thank you for the lovely library 👍
Is your feature request related to a problem? Please describe. I have two issues that I would like to address and can even create a PR with it 🙂
- Currently,
imageSizeResizermethod has too many parameters, and it's not the best developer experience you can imagine. - Also, any changes in the method API needs to be also manually changed in types definitions.
Describe the solution you'd like
- Refactor
imageSizeResizerto take one object argument. It would be easier for developers to use it because they wouldn't need to check the order of the arguments that they need to pass. The exported method would look like this:
export default imageFileResizer: ({
file,
maxWidth,
maxHeight,
compressFormat,
quality,
rotation,
responseUriFunc,
outputType,
minWidth,
minHeight,
}) {}
- Rewrite solution with typescript. Implementation would stay the same, only with added types, which would be automatically generated in build time, so you don't need to worry about changing them only for the exports. Any changes would come naturally because it would be closer to the library logic.
Please let me know what do you think about the solutions and my contribution towards it.
Hello @miszo, Thanks for your support! We are open to all kinds of contributions.
I know too many parameters is not best case but I could not decide how I solve this. If you want to make PR for this issues, I would be very pleased.
Hi @onurzorluer, I hope that I get some time this weekend to do it. I'll send you a PR with this issues addressed :)
@onurzorluer vscode has a quick action for doing exactly that refactor BTW.