It would sometimes be very useful to do things like:
- adding operations to services
- adding members to shapes
from the outside, just like we can add traits this way. As far as I can tell, this is not possible with apply or anything similar, but it's possible with a projection transformer.
Example usecase:
You're pulling Smithy specs from a company-wide monorepo (our actual usecase). You want to add an undocumented endpoint to an existing service: maybe it's for debugging purposes, or maybe you're just incrementing on a new endpoint locally before you submit a change to the upstream.
It would sometimes be very useful to do things like:
from the outside, just like we can add traits this way. As far as I can tell, this is not possible with
applyor anything similar, but it's possible with a projection transformer.Example usecase:
You're pulling Smithy specs from a company-wide monorepo (our actual usecase). You want to add an undocumented endpoint to an existing service: maybe it's for debugging purposes, or maybe you're just incrementing on a new endpoint locally before you submit a change to the upstream.