pub trait Plugin: Debug {
// Required method
fn name(&self) -> String;
// Provided methods
fn generate(
&self,
schema: CurrentSchemaRef,
args: Value,
) -> Result<Arc<GeneratedSchema>> { ... }
fn transform(
&self,
schema: CurrentSchemaRef,
value: Arc<GeneratedSchema>,
args: Value,
) -> Result<Arc<GeneratedSchema>> { ... }
fn serialize(
&self,
value: &Arc<GeneratedSchema>,
args: Value,
) -> Result<String> { ... }
}