Skip to main content

register_dispatcher

Macro register_dispatcher 

Source
macro_rules! register_dispatcher {
    ($label:expr, $enum_ty:ty) => { ... };
}
Expand description

Register a #[derive(TypedDispatcher)] enum into the fleet-wide dispatcher catalog. Place at module scope; one call per enum.

use gen_platform::register_dispatcher;

#[derive(serde::Serialize, gen_platform::TypedDispatcher)]
#[serde(tag = "kind", rename_all = "kebab-case")]
enum MyMigration { AddColumn { table: String }, DropIndex { name: String } }

register_dispatcher!("shinka.migration", MyMigration);

After registration, gen dispatchers catalog lists the entry

  • substrate emitters can produce the matching Nix dispatch skeleton without naming MyMigration directly.