1use wdl_ast::SyntaxKind;
4
5use crate::PreToken;
6use crate::TokenStream;
7use crate::Writable as _;
8use crate::element::FormatElement;
9
10pub fn format_primitive_type(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
16 for child in element.children().expect("primitive type children") {
17 (&child).write(stream);
18 }
19}
20
21pub fn format_array_type(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
27 for child in element.children().expect("array type children") {
28 (&child).write(stream);
29 }
30}
31
32pub fn format_map_type(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
38 for child in element.children().expect("map type children") {
39 (&child).write(stream);
40 if child.element().kind() == SyntaxKind::Comma {
41 stream.end_word();
42 }
43 }
44}
45
46pub fn format_object_type(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
52 for child in element.children().expect("object type children") {
53 (&child).write(stream);
54 }
55}
56
57pub fn format_pair_type(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
63 for child in element.children().expect("pair type children") {
64 (&child).write(stream);
65 if child.element().kind() == SyntaxKind::Comma {
66 stream.end_word();
67 }
68 }
69}
70
71pub fn format_type_ref(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
77 for child in element.children().expect("type ref children") {
78 (&child).write(stream);
79 }
80}
81
82pub fn format_unbound_decl(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
88 for child in element.children().expect("unbound decl children") {
89 (&child).write(stream);
90 stream.end_word();
91 }
92 stream.end_line();
93}
94
95pub fn format_bound_decl(element: &FormatElement, stream: &mut TokenStream<PreToken>) {
101 for child in element.children().expect("bound decl children") {
102 (&child).write(stream);
103 stream.end_word();
104 }
105 stream.end_line();
106}