@wouterj true it was a mistake of mine when I changed the architecture from horizontal to vertical dependencies I should have also move the interfaces at that moment 🤷
@kboyd@cam if you do that then you make package A dependent of package B which is not what you want ... the end goal is to reduce package B dependencies to package A not to enforce tight coupling
@alessandrolai I have an easy way out I can bump package A to the next major and keep B in it's current version and move the class there effectively embracing the BC break BUT it makes my monorepo ugly to work with until I bump package B to the same version as package A and I need in the meantime fin a good git-split tool able to handle 2 majors release ... that's the complex part
I know that ship has already sailed but it would have been nice if the spread operator on iterable did follow the semantic of iterator_to_array with the preserve keys argument being true #php#controversialthoughtoftheweek
@zimzat I get the reasoning behind but would have been "cool" nice to have the iterator_to_array behaviour when working with iterator it seems more appropriate
@Crell I already avoid callable as this type is a new addition in my list of thing not to type with ... the current signature is fine by me but might not be for end users unless they know what they are doing which is not guarantee but it is the least evil. I'm not sure if adding an interface will do TBH. I may settle with the current signature. Good sleep and being away of the code for a while might convince that this is the best solution at the moment in PHP land
@Crell opt to remove any method on the enum and used good old classes. The implementation feels a bit more natural IMHO and is usable outside League\CSV enum are still present but the usage is a bit "hidden"
Everything is defined under League\Csv\Constraint
@derflocki there are a couple reasons why I do not use SQLite. First the package needs no dependencies, two, the feature was already present in the package like 7 years ago I only updated the UX around it and last but not least I seldom encounter CSV that adheres fully to the draft/informal RDC. Hence using the SQLite extension would not solve CSV parsing in real world IMHO.