mod default;
mod enumerator;
mod id;
mod index;
mod index_field;
mod model;
mod relation_field;
mod scalar_field;
mod view;
pub(crate) use default::{DefaultKind, DefaultValuePair};
pub(crate) use enumerator::EnumPair;
pub(crate) use id::IdPair;
pub(crate) use index::IndexPair;
pub(crate) use index_field::{IndexFieldPair, IndexOps};
pub(crate) use model::ModelPair;
pub(crate) use relation_field::{RelationFieldDirection, RelationFieldPair};
pub(crate) use scalar_field::ScalarFieldPair;
pub(crate) use view::ViewPair;
use crate::introspection::datamodel_calculator::DatamodelCalculatorContext;
#[derive(Clone, Copy)]
pub(crate) struct IntrospectionPair<'a, T, U>
where
T: Copy,
U: Copy,
{
previous: T,
next: U,
context: &'a DatamodelCalculatorContext<'a>,
}
impl<'a, T, U> IntrospectionPair<'a, T, U>
where
T: Copy,
U: Copy,
{
pub(crate) fn new(context: &'a DatamodelCalculatorContext<'a>, previous: T, next: U) -> Self {
Self {
context,
previous,
next,
}
}
}