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))
Search Document