Commit 8a7c3ec
committed
fix(platform): type the project services by the data they accept
IPlatformProjectService declared buildProject, prepareProject and
checkForChanges generic over the build or prepare data, but the type
parameter appeared in one argument position and nowhere else, so it
constrained nothing: the signature accepted any BuildData. Each platform
service narrows that argument to its own platform's shape, which the
interface could not express and no implements clause was there to check.
The parameter moves to the interface, where the correlation actually
lives - a platform's project service handles that platform's data - and
defaults to the base types so every consumer of the bare interface is
unaffected.
iOS also declared a projectData parameter on cleanProject that the
interface, the Android service and both call sites do not have; it was
always received as undefined and never read.1 parent 0783cea commit 8a7c3ec
3 files changed
Lines changed: 121 additions & 110 deletions
0 commit comments