use serde::Serialize;
use crate::common::{FieldName, IndexName};
use super::{ContentHash, Mapping};
#[derive(Debug, Clone, Serialize)]
pub struct IndexMapping {
pub index: IndexName,
pub hash: ContentHash,
pub fields: Vec<ResolvedField>,
}
#[derive(Debug, Clone, Serialize)]
pub struct ResolvedField {
pub name: FieldName,
pub mapping: Mapping,
pub nullable: bool,
#[serde(default, skip_serializing_if = "std::ops::Not::not")]
pub array: bool,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub children: Vec<ResolvedField>,
}