- Registrar wants to add a migration to every registry item.
Specific example: Author of
Embeddableapi wants to migrate baseEmbeddableInput. - Enhancer wants to add a migration to every registry item.
Specific example: Author of
EnhancedEmbeddableDrilldownswants to migrateEnhancedEmbeddableInput. - Registrator wants to add a migration to it's specific registry item.
Example: Author of
Visualizeplugin wants to migrateVisualizeEmbeddableInput
Solve for:
Base state:
interface EmbeddableInput {
defaultTitle: string
}
Extended state:
interface VisualizeEmbeddableInput extends EmbeddableInput {
title: string
}
Embeddable plugin wishes to migrate defaultTitle to title. It shouldn't have to know about VisualizeEmbeddableInput
to do so safely (third party developers are out there that we can't collaborate with).