It has become quite clear to me that the library's interface is much too complicated. Create a new refactor branch for v0.3 and use it to change the direction of the library considerably. Take some inspiration from League/Csv but also eliminate the unnecessary complexities from the interface.
[x] Rewrite CSVelte\Flavor to CSVelte\Dialect to be more consistent with CSVW and other csv libraries and "standards"
[x] Rewrite CSVelte\Taster to CSVelte\Sniffer -- try to extract some of the logic into smaller chunks, maybe create some helper classes or something
[x] Get rid of entire Collection aspect and use external library instead
[x] Get rid of autoloader
[x] Up the minimum version to 5.6x
[x] Get rid of all of those unnecessary CSVelte\Exception classes. Use as few as possible
[x] Keep CSVelte\IO but try to simplify, and where you can't simplify, provide facades that make it look that way
[x] I do not like CSVelte\Table - refactor this and get rid of it if need be. At the very least its interface needs to be seriously critiqued and made-over
[x] interfaces - figure out which of these you actually need... nix the rest
[x] traits - figure out which of these you actually need... nix the rest
[x] functions - figure out which of these you actually need... nix the rest
[ ] Rewrite CSVelte base class - only include methods we actually need, create function aliases for the most common of them
[ ] Rewrite documentation / remove docs for stuff no longer in use
It has become quite clear to me that the library's interface is much too complicated. Create a new refactor branch for v0.3 and use it to change the direction of the library considerably. Take some inspiration from League/Csv but also eliminate the unnecessary complexities from the interface.
CSVelte\Flavor
toCSVelte\Dialect
to be more consistent with CSVW and other csv libraries and "standards"CSVelte\Taster
toCSVelte\Sniffer
-- try to extract some of the logic into smaller chunks, maybe create some helper classes or somethingCSVelte\Exception
classes. Use as few as possibleCSVelte\IO
but try to simplify, and where you can't simplify, provide facades that make it look that wayCSVelte\Reader
- simplify, simplify, simplifyCSVelte\Writer
- simplify, simplify, simplifyCSVelte\Table
- refactor this and get rid of it if need be. At the very least its interface needs to be seriously critiqued and made-overCSVelte
base class - only include methods we actually need, create function aliases for the most common of them