atproto_sdl/printer/types
Renders object fields, array shapes/items, and query/procedure
params: everything at “field position” in atproto_lexicon/ast.
printer.gleam reuses print_field/print_fields for record and
object bodies; printer/methods.gleam reuses print_field for
inline objects in body position and print_params_property for
query/procedure/subscription parameters.
Values
pub fn print_field(
name: String,
prop: ast.PropertyType,
req: Bool,
nullable: Bool,
) -> String
pub fn print_fields(
properties: List(#(String, ast.PropertyType)),
required: List(String),
nullable: List(String),
) -> String
pub fn print_inline_object(o: ast.ObjectSchema) -> String
A comma-joined, single-line field list: { a: String!, b: Int }, the
canonical spelling for an inline object in body position.
pub fn print_item_type(
item: ast.ArrayItemType,
) -> #(String, List(String))
pub fn print_params_property(
prop: ast.ParamsPropertyType,
) -> #(String, List(String), option.Option(String))