use wdl_ast::SyntaxKind;
use crate::Config;
use crate::PreToken;
use crate::TokenStream;
use crate::Writable as _;
use crate::element::FormatElement;
pub fn format_primitive_type(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("primitive type children") {
(&child).write(stream, config);
}
}
pub fn format_array_type(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("array type children") {
(&child).write(stream, config);
}
}
pub fn format_map_type(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("map type children") {
(&child).write(stream, config);
if child.element().kind() == SyntaxKind::Comma {
stream.end_word();
}
}
}
pub fn format_object_type(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("object type children") {
(&child).write(stream, config);
}
}
pub fn format_pair_type(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("pair type children") {
(&child).write(stream, config);
if child.element().kind() == SyntaxKind::Comma {
stream.end_word();
}
}
}
pub fn format_type_ref(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("type ref children") {
(&child).write(stream, config);
}
}
pub fn format_unbound_decl(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("unbound decl children") {
(&child).write(stream, config);
stream.end_word();
}
stream.end_line();
}
pub fn format_bound_decl(
element: &FormatElement,
stream: &mut TokenStream<PreToken>,
config: &Config,
) {
for child in element.children().expect("bound decl children") {
(&child).write(stream, config);
stream.end_word();
}
stream.end_line();
}