Open gfaugere opened 1 year ago
Hi, as I don't use this library I'm not sure if this breaking change will impact a lot of people or not, I would like some feedback from other users if you don't mind 🙂
Howdy @gfaugere !
I was just about to create a fork to do exactly this. While you may have been relatively new to Go in January of last year, I'll go as far as to say that the only thing that would hold me back from merging this (if I had that capability) would be changes to the documentation and examples.
From a usability standpoint, I don't even see this as a breaking change, really. In my mind, it seems like modifying the delimiter that your CSV writer uses in-situ is a pretty bad idea from the jump, so this would truly make it a Safe CSVWriter :grin:
Using the interface instead of the encoding/csv.Writer allows users to use truly custom writers, or to add their own wrappers in the writer chain.
We have a use case where we want to transform our fields before writing, and allowing us to wrap the writer while keeping the lib provided SafeCSVWriter would be quite cool!
This is a breaking change as it changes the contract of type SafeCSVWriter (props from the csv.Writer can no longer be accessed from it), but I think it would be better to decouple these two? Let me know if you think there is any downside to this? I don't see any but I am quite new with Go