gaia-pipeline / gaia

Build powerful pipelines in any programming language.
Apache License 2.0
5.2k stars 245 forks source link

The providers really should return a concrete type #272

Closed Skarlso closed 4 years ago

Skarlso commented 4 years ago

This is an internal API so changing it is fine, but if this would be a package, returning an interface would make changing things difficult, because an API change would be a breaking change to clients.

Returning a concrete type allows for extensibility without the need to break existing things. Requiring interface should remain. This should be a big problematic change. Also, would be nice if the tests would live next to the providers, but that's another refactor since putting them next to each other results in a cyclic dependency.