bluejay_core/definition/interface_implementation.rs
1use crate::definition::{InterfaceTypeDefinition, SchemaDefinition};
2
3pub trait InterfaceImplementation {
4 type InterfaceTypeDefinition: InterfaceTypeDefinition;
5
6 fn interface<'a, S: SchemaDefinition<InterfaceTypeDefinition = Self::InterfaceTypeDefinition>>(
7 &'a self,
8 schema_definition: &'a S,
9 ) -> &'a Self::InterfaceTypeDefinition;
10
11 fn name(&self) -> &str;
12}